improve dockpane caption

This commit is contained in:
Jinhao
2015-09-21 23:43:00 +08:00
parent c04751ac1a
commit 8dcd730715
10 changed files with 132 additions and 42 deletions

View File

@@ -29,6 +29,13 @@ namespace nana
/// Traits for widget classes
template<typename Widget>
struct widget_traits
{
using event_type = typename Widget::event_type;
using scheme_type = typename Widget::scheme_type;
};
template<>
struct widget_traits<widget>
{
using event_type = ::nana::general_events;
using scheme_type = ::nana::widget_colors;

View File

@@ -229,7 +229,8 @@ namespace nana
nana::any * _m_anyobj(std::size_t pos, bool alloc_if_empty) const override;
};
namespace dev
/*
namespace dev //deprecated
{
template<>
struct widget_traits<combox>
@@ -238,5 +239,6 @@ namespace nana
using scheme_type = ::nana::widgets::skeletons::text_editor_scheme;
};
}
*/
}
#endif

View File

@@ -664,14 +664,16 @@ By \a clicking on one header the list get \a reordered, first up, and then down
void _m_erase_key(nana::detail::key_interface*);
};
/*
namespace dev
{
template<>
struct widget_traits<listbox>
struct widget_traits<listbox> //deprecated
{
using event_type = drawerbase::listbox::listbox_events;
using scheme_type = drawerbase::listbox::scheme;
};
}
*/
}//end namespace nana
#endif

View File

@@ -110,15 +110,17 @@ namespace nana
void _m_caption(::nana::string&&);
}; //end class spinbox
/*
namespace dev
{
template<>
struct widget_traits<spinbox>
struct widget_traits<spinbox> //deprecated
{
using event_type = drawerbase::spinbox::spinbox_events;
using scheme_type = ::nana::widgets::skeletons::text_editor_scheme;
};
}
*/
}//end namespace nana
#endif //NANA_GUI_WIDGET_SPINBOX_HPP

View File

@@ -336,13 +336,19 @@ namespace nana
namespace nana
{
{
namespace drawerbase
{
namespace tabbar_lite
{
class model;
struct events
: public general_events
{
basic_event<event_arg> selected;
};
class driver
: public drawer_trigger
{
@@ -364,25 +370,39 @@ namespace nana
}
}//end namespace drawerbase
class tabbar_lite
: public widget_object<category::widget_tag, drawerbase::tabbar_lite::driver>
class tabbar_lite
: public widget_object<category::widget_tag, drawerbase::tabbar_lite::driver, drawerbase::tabbar_lite::events>
{
public:
tabbar_lite() = default;
tabbar_lite(window, bool visible = true, const::nana::rectangle& = {});
public: //capacity
std::size_t length() const;
public: //modifiers
void attach(std::size_t pos, window);
window attach(std::size_t pos) const;
void push_back(std::string text, ::nana::any par = {});
void push_front(std::string text, ::nana::any par = {});
std::size_t selected() const;
void erase(std::size_t pos, bool close_attached = true);
};
/*
namespace dev
{
/// Traits for widget classes
template<>
struct widget_traits<tabbar_lite> //deprecated
{
public:
tabbar_lite() = default;
tabbar_lite(window, bool visible = true, const::nana::rectangle& = {});
public: //capacity
std::size_t length() const;
public: //modifiers
void attach(std::size_t pos, window);
void push_back(std::string text, ::nana::any par = {});
void push_front(std::string text, ::nana::any par = {});
std::size_t selected() const;
void erase(std::size_t pos, bool close_attached = true);
using event_type = drawerbase::tabbar_lite::events;
using scheme_type = ::nana::widget_colors;
};
}
*/
}
#endif

View File

@@ -195,15 +195,17 @@ namespace nana
void _m_typeface(const paint::font&) override;
};
/*
namespace dev
{
/// Traits for widget classes
template<>
struct widget_traits<textbox>
struct widget_traits<textbox> //deprecated
{
using event_type = drawerbase::textbox::textbox_events;
using scheme_type = ::nana::widgets::skeletons::text_editor_scheme;
};
}
*/
}//end namespace nana
#endif

View File

@@ -134,7 +134,8 @@ namespace nana
protected:
typedef DrawerTrigger drawer_trigger_t;
public:
using scheme_type = Scheme;
using scheme_type = Scheme;
using event_type = Events;
widget_object()
: events_{ std::make_shared<Events>() },
@@ -147,7 +148,7 @@ namespace nana
API::close_window(handle_);
}
Events& events() const
event_type& events() const
{
return *events_;
}
@@ -228,6 +229,7 @@ namespace nana
typedef DrawerTrigger drawer_trigger_t;
public:
using scheme_type = Scheme;
using event_type = Events;
widget_object()
: events_{ std::make_shared<Events>() }, scheme_{ API::dev::make_scheme<scheme_type>() }
@@ -239,7 +241,7 @@ namespace nana
API::close_window(handle_);
}
Events& events() const
event_type& events() const
{
return *events_;
}
@@ -297,6 +299,7 @@ namespace nana
typedef DrawerTrigger drawer_trigger_t;
public:
using scheme_type = Scheme;
using event_type = Events;
widget_object()
{
@@ -322,7 +325,7 @@ namespace nana
API::close_window(handle_);
}
Events& events() const
event_type& events() const
{
return *events_;
}
@@ -451,6 +454,7 @@ namespace nana
typedef int drawer_trigger_t;
public:
using scheme_type = Scheme;
using event_type = Events;
widget_object()
: events_{ std::make_shared<Events>() }, scheme_{ API::dev::make_scheme<scheme_type>() }
@@ -462,7 +466,7 @@ namespace nana
API::close_window(handle_);
}
Events& events() const
event_type& events() const
{
return *events_;
}