diff --git a/include/nana/config.hpp b/include/nana/config.hpp index 0969af25..47ab4e4a 100644 --- a/include/nana/config.hpp +++ b/include/nana/config.hpp @@ -25,7 +25,11 @@ #include "c++defines.hpp" -//The basic configurations are ignored when NANA_IGNORE_CONF is defined. +//This marco is defined since 1.4 and until 1.5 for deprecating frame widget. +//This marco and class frame will be removed in version 1.5 +#define WIDGET_FRAME_DEPRECATED + +//The following basic configurations are ignored when NANA_IGNORE_CONF is defined. //The NANA_IGNORE_CONF may be specified by CMake generated makefile. #ifndef NANA_IGNORE_CONF @@ -93,10 +97,6 @@ #endif #endif -//This marco is defined since 1.4 and until 1.5 for deprecating frame widget. -//This marco and class frame will be removed in version 1.5 -#define WIDGET_FRAME_DEPRECATED - /////////////////// // Support for NANA_AUTOMATIC_GUI_TESTING // Will cause the program to self-test the GUI. A default automatic GUI test diff --git a/include/nana/gui/detail/basic_window.hpp b/include/nana/gui/detail/basic_window.hpp index 5a2763c5..280d015b 100644 --- a/include/nana/gui/detail/basic_window.hpp +++ b/include/nana/gui/detail/basic_window.hpp @@ -212,18 +212,11 @@ namespace detail struct attr_root_tag { - attr_root_tag(const attr_root_tag&) = delete; - attr_root_tag(attr_root_tag&&) = delete; #ifndef WIDGET_FRAME_DEPRECATED container frames; ///< initialization is null, it will be created while creating a frame widget. Refer to WindowManager::create_frame #endif - //Following p_xxx pointers are used for debugging - container * p_tabstop; - std::vector * p_effects; - std::function * p_draw_through; - - container& tabstop; - std::vector& effects_edge_nimbus; + container tabstop; + std::vector effects_edge_nimbus; basic_window* focus{nullptr}; basic_window* menubar{nullptr}; bool ime_enabled{false}; @@ -233,18 +226,7 @@ namespace detail cursor state_cursor{nana::cursor::arrow}; basic_window* state_cursor_window{ nullptr }; - std::function& draw_through; ///< A draw through renderer for root widgets. - - attr_root_tag(): - p_tabstop(new container), - p_effects(new std::vector), - p_draw_through(new std::function), - tabstop(*p_tabstop), - effects_edge_nimbus(*p_effects), - draw_through(*p_draw_through) - {} - - ~attr_root_tag(); + std::function draw_through; ///< A draw through renderer for root widgets. }; const category::flags category; @@ -262,7 +244,6 @@ namespace detail }attribute; other_tag(category::flags); - ~other_tag(); }other; native_window_type root; ///< root Window handle diff --git a/source/gui/detail/basic_window.cpp b/source/gui/detail/basic_window.cpp index 5856952f..faf0b553 100644 --- a/source/gui/detail/basic_window.cpp +++ b/source/gui/detail/basic_window.cpp @@ -13,8 +13,6 @@ #include #include -#include //debug travis - namespace nana { namespace detail @@ -209,34 +207,33 @@ namespace nana //end class caret //struct basic_window - basic_window::other_tag::attr_root_tag::~attr_root_tag() - { - std::cout<<"~attr_root_tag "<effects_edge_nimbus.size()<