Add expand/collapse button to wxRibbonBar.
This allows the user to toggle the ribbon bar visibility. Closes #14530. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -534,6 +534,7 @@ All:
|
|||||||
All (GUI):
|
All (GUI):
|
||||||
|
|
||||||
- Add possibility to hide and show again wxRibbonBar pages (wxBen).
|
- Add possibility to hide and show again wxRibbonBar pages (wxBen).
|
||||||
|
- Add expand/collapse button to wxRibbonBar (rakeshthp).
|
||||||
- Fix item data access in wxDataViewListCtrl (Kry).
|
- Fix item data access in wxDataViewListCtrl (Kry).
|
||||||
|
|
||||||
wxGTK:
|
wxGTK:
|
||||||
|
@@ -103,6 +103,10 @@ enum wxRibbonArtSetting
|
|||||||
wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_GRADIENT_COLOUR,
|
wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_GRADIENT_COLOUR,
|
||||||
wxRIBBON_ART_PANEL_BUTTON_FACE_COLOUR,
|
wxRIBBON_ART_PANEL_BUTTON_FACE_COLOUR,
|
||||||
wxRIBBON_ART_PANEL_BUTTON_HOVER_FACE_COLOUR,
|
wxRIBBON_ART_PANEL_BUTTON_HOVER_FACE_COLOUR,
|
||||||
|
|
||||||
|
wxRIBBON_ART_PAGE_TOGGLE_FACE_COLOUR,
|
||||||
|
wxRIBBON_ART_PAGE_TOGGLE_HOVER_FACE_COLOUR,
|
||||||
|
|
||||||
wxRIBBON_ART_PAGE_BORDER_COLOUR,
|
wxRIBBON_ART_PAGE_BORDER_COLOUR,
|
||||||
wxRIBBON_ART_PAGE_BACKGROUND_TOP_COLOUR,
|
wxRIBBON_ART_PAGE_BACKGROUND_TOP_COLOUR,
|
||||||
wxRIBBON_ART_PAGE_BACKGROUND_TOP_GRADIENT_COLOUR,
|
wxRIBBON_ART_PAGE_BACKGROUND_TOP_GRADIENT_COLOUR,
|
||||||
@@ -185,6 +189,7 @@ enum wxRibbonGalleryButtonState
|
|||||||
wxRIBBON_GALLERY_BUTTON_DISABLED
|
wxRIBBON_GALLERY_BUTTON_DISABLED
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class wxRibbonBar;
|
||||||
class wxRibbonPage;
|
class wxRibbonPage;
|
||||||
class wxRibbonPanel;
|
class wxRibbonPanel;
|
||||||
class wxRibbonGallery;
|
class wxRibbonGallery;
|
||||||
@@ -297,6 +302,12 @@ public:
|
|||||||
wxRibbonButtonKind kind,
|
wxRibbonButtonKind kind,
|
||||||
long state) = 0;
|
long state) = 0;
|
||||||
|
|
||||||
|
virtual void DrawToggleButton(
|
||||||
|
wxDC& dc,
|
||||||
|
wxRibbonBar* wnd,
|
||||||
|
const wxRect& rect,
|
||||||
|
bool upBitmap) = 0;
|
||||||
|
|
||||||
virtual void GetBarTabWidth(
|
virtual void GetBarTabWidth(
|
||||||
wxDC& dc,
|
wxDC& dc,
|
||||||
wxWindow* wnd,
|
wxWindow* wnd,
|
||||||
@@ -380,6 +391,10 @@ public:
|
|||||||
bool is_first,
|
bool is_first,
|
||||||
bool is_last,
|
bool is_last,
|
||||||
wxRect* dropdown_region) = 0;
|
wxRect* dropdown_region) = 0;
|
||||||
|
|
||||||
|
virtual wxRect GetBarToggleButtonArea(wxDC& dc,
|
||||||
|
const wxRibbonBar* wnd,
|
||||||
|
wxRect rect)= 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
class WXDLLIMPEXP_RIBBON wxRibbonMSWArtProvider : public wxRibbonArtProvider
|
class WXDLLIMPEXP_RIBBON wxRibbonMSWArtProvider : public wxRibbonArtProvider
|
||||||
@@ -491,6 +506,12 @@ public:
|
|||||||
wxRibbonButtonKind kind,
|
wxRibbonButtonKind kind,
|
||||||
long state);
|
long state);
|
||||||
|
|
||||||
|
void DrawToggleButton(
|
||||||
|
wxDC& dc,
|
||||||
|
wxRibbonBar* wnd,
|
||||||
|
const wxRect& rect,
|
||||||
|
bool upBitmap);
|
||||||
|
|
||||||
void GetBarTabWidth(
|
void GetBarTabWidth(
|
||||||
wxDC& dc,
|
wxDC& dc,
|
||||||
wxWindow* wnd,
|
wxWindow* wnd,
|
||||||
@@ -570,6 +591,10 @@ public:
|
|||||||
bool is_last,
|
bool is_last,
|
||||||
wxRect* dropdown_region);
|
wxRect* dropdown_region);
|
||||||
|
|
||||||
|
wxRect GetBarToggleButtonArea(wxDC& dc,
|
||||||
|
const wxRibbonBar* wnd,
|
||||||
|
wxRect rect);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void ReallyDrawTabSeparator(wxWindow* wnd, const wxRect& rect, double visibility);
|
void ReallyDrawTabSeparator(wxWindow* wnd, const wxRect& rect, double visibility);
|
||||||
void DrawPartialPageBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect,
|
void DrawPartialPageBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect,
|
||||||
@@ -605,6 +630,8 @@ protected:
|
|||||||
wxBitmap m_gallery_extension_bitmap[4];
|
wxBitmap m_gallery_extension_bitmap[4];
|
||||||
wxBitmap m_toolbar_drop_bitmap;
|
wxBitmap m_toolbar_drop_bitmap;
|
||||||
wxBitmap m_panel_extension_bitmap[2];
|
wxBitmap m_panel_extension_bitmap[2];
|
||||||
|
wxBitmap m_ribbon_toggle_up_bitmap[2];
|
||||||
|
wxBitmap m_ribbon_toggle_down_bitmap[2];
|
||||||
|
|
||||||
wxColour m_primary_scheme_colour;
|
wxColour m_primary_scheme_colour;
|
||||||
wxColour m_secondary_scheme_colour;
|
wxColour m_secondary_scheme_colour;
|
||||||
@@ -629,6 +656,8 @@ protected:
|
|||||||
wxColour m_panel_active_background_top_gradient_colour;
|
wxColour m_panel_active_background_top_gradient_colour;
|
||||||
wxColour m_panel_button_face_colour;
|
wxColour m_panel_button_face_colour;
|
||||||
wxColour m_panel_button_hover_face_colour;
|
wxColour m_panel_button_hover_face_colour;
|
||||||
|
wxColour m_page_toggle_face_colour;
|
||||||
|
wxColour m_page_toggle_hover_face_colour;
|
||||||
wxColour m_page_background_colour;
|
wxColour m_page_background_colour;
|
||||||
wxColour m_page_background_gradient_colour;
|
wxColour m_page_background_gradient_colour;
|
||||||
wxColour m_page_background_top_colour;
|
wxColour m_page_background_top_colour;
|
||||||
@@ -681,6 +710,7 @@ protected:
|
|||||||
wxBrush m_gallery_button_hover_background_top_brush;
|
wxBrush m_gallery_button_hover_background_top_brush;
|
||||||
wxBrush m_gallery_button_active_background_top_brush;
|
wxBrush m_gallery_button_active_background_top_brush;
|
||||||
wxBrush m_gallery_button_disabled_background_top_brush;
|
wxBrush m_gallery_button_disabled_background_top_brush;
|
||||||
|
wxBrush m_ribbon_toggle_brush;
|
||||||
|
|
||||||
wxFont m_tab_label_font;
|
wxFont m_tab_label_font;
|
||||||
wxFont m_panel_label_font;
|
wxFont m_panel_label_font;
|
||||||
@@ -698,6 +728,7 @@ protected:
|
|||||||
wxPen m_gallery_border_pen;
|
wxPen m_gallery_border_pen;
|
||||||
wxPen m_gallery_item_border_pen;
|
wxPen m_gallery_item_border_pen;
|
||||||
wxPen m_toolbar_border_pen;
|
wxPen m_toolbar_border_pen;
|
||||||
|
wxPen m_ribbon_toggle_pen;
|
||||||
|
|
||||||
double m_cached_tab_separator_visibility;
|
double m_cached_tab_separator_visibility;
|
||||||
long m_flags;
|
long m_flags;
|
||||||
|
@@ -28,10 +28,12 @@ enum wxRibbonBarOption
|
|||||||
wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS = 1 << 3,
|
wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS = 1 << 3,
|
||||||
wxRIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS = 1 << 4,
|
wxRIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS = 1 << 4,
|
||||||
wxRIBBON_BAR_ALWAYS_SHOW_TABS = 1 << 5,
|
wxRIBBON_BAR_ALWAYS_SHOW_TABS = 1 << 5,
|
||||||
|
wxRIBBON_BAR_SHOW_TOGGLE_BUTTON = 1 << 6,
|
||||||
|
|
||||||
wxRIBBON_BAR_DEFAULT_STYLE = wxRIBBON_BAR_FLOW_HORIZONTAL
|
wxRIBBON_BAR_DEFAULT_STYLE = wxRIBBON_BAR_FLOW_HORIZONTAL
|
||||||
| wxRIBBON_BAR_SHOW_PAGE_LABELS
|
| wxRIBBON_BAR_SHOW_PAGE_LABELS
|
||||||
| wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS,
|
| wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS
|
||||||
|
| wxRIBBON_BAR_SHOW_TOGGLE_BUTTON,
|
||||||
|
|
||||||
wxRIBBON_BAR_FOLDBAR_STYLE = wxRIBBON_BAR_FLOW_VERTICAL
|
wxRIBBON_BAR_FOLDBAR_STYLE = wxRIBBON_BAR_FLOW_VERTICAL
|
||||||
| wxRIBBON_BAR_SHOW_PAGE_ICONS
|
| wxRIBBON_BAR_SHOW_PAGE_ICONS
|
||||||
@@ -135,12 +137,16 @@ public:
|
|||||||
long GetWindowStyleFlag() const;
|
long GetWindowStyleFlag() const;
|
||||||
virtual bool Realize();
|
virtual bool Realize();
|
||||||
|
|
||||||
|
// Implementation only.
|
||||||
|
bool IsToggleButtonHovered() const { return m_toggle_button_hovered; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
friend class wxRibbonPage;
|
friend class wxRibbonPage;
|
||||||
|
|
||||||
virtual wxSize DoGetBestSize() const;
|
virtual wxSize DoGetBestSize() const;
|
||||||
wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
|
wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
|
||||||
wxRibbonPageTabInfo* HitTestTabs(wxPoint position, int* index = NULL);
|
wxRibbonPageTabInfo* HitTestTabs(wxPoint position, int* index = NULL);
|
||||||
|
void HitTestToggleButton(wxPoint position);
|
||||||
|
|
||||||
void CommonInit(long style);
|
void CommonInit(long style);
|
||||||
void AddPage(wxRibbonPage *page);
|
void AddPage(wxRibbonPage *page);
|
||||||
@@ -168,6 +174,7 @@ protected:
|
|||||||
wxRibbonPageTabInfoArray m_pages;
|
wxRibbonPageTabInfoArray m_pages;
|
||||||
wxRect m_tab_scroll_left_button_rect;
|
wxRect m_tab_scroll_left_button_rect;
|
||||||
wxRect m_tab_scroll_right_button_rect;
|
wxRect m_tab_scroll_right_button_rect;
|
||||||
|
wxRect m_toggle_button_rect;
|
||||||
long m_flags;
|
long m_flags;
|
||||||
int m_tabs_total_width_ideal;
|
int m_tabs_total_width_ideal;
|
||||||
int m_tabs_total_width_minimum;
|
int m_tabs_total_width_minimum;
|
||||||
@@ -181,6 +188,8 @@ protected:
|
|||||||
int m_tab_scroll_right_button_state;
|
int m_tab_scroll_right_button_state;
|
||||||
bool m_tab_scroll_buttons_shown;
|
bool m_tab_scroll_buttons_shown;
|
||||||
bool m_arePanelsShown;
|
bool m_arePanelsShown;
|
||||||
|
bool m_bar_hovered;
|
||||||
|
bool m_toggle_button_hovered;
|
||||||
|
|
||||||
#ifndef SWIG
|
#ifndef SWIG
|
||||||
DECLARE_CLASS(wxRibbonBar)
|
DECLARE_CLASS(wxRibbonBar)
|
||||||
@@ -197,6 +206,7 @@ wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_
|
|||||||
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN, wxRibbonBarEvent);
|
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN, wxRibbonBarEvent);
|
||||||
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP, wxRibbonBarEvent);
|
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP, wxRibbonBarEvent);
|
||||||
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK, wxRibbonBarEvent);
|
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK, wxRibbonBarEvent);
|
||||||
|
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_TOGGLED, wxRibbonBarEvent);
|
||||||
|
|
||||||
typedef void (wxEvtHandler::*wxRibbonBarEventFunction)(wxRibbonBarEvent&);
|
typedef void (wxEvtHandler::*wxRibbonBarEventFunction)(wxRibbonBarEvent&);
|
||||||
|
|
||||||
@@ -217,6 +227,8 @@ typedef void (wxEvtHandler::*wxRibbonBarEventFunction)(wxRibbonBarEvent&);
|
|||||||
wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP, winid, wxRibbonBarEventHandler(fn))
|
wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP, winid, wxRibbonBarEventHandler(fn))
|
||||||
#define EVT_RIBBONBAR_TAB_LEFT_DCLICK(winid, fn) \
|
#define EVT_RIBBONBAR_TAB_LEFT_DCLICK(winid, fn) \
|
||||||
wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK, winid, wxRibbonBarEventHandler(fn))
|
wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK, winid, wxRibbonBarEventHandler(fn))
|
||||||
|
#define EVT_RIBBONBAR_TOGGLED(winid, fn) \
|
||||||
|
wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBAR_TOGGLED, winid, wxRibbonBarEventHandler(fn))
|
||||||
#else
|
#else
|
||||||
|
|
||||||
// wxpython/swig event work
|
// wxpython/swig event work
|
||||||
@@ -227,6 +239,7 @@ typedef void (wxEvtHandler::*wxRibbonBarEventFunction)(wxRibbonBarEvent&);
|
|||||||
%constant wxEventType wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN;
|
%constant wxEventType wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN;
|
||||||
%constant wxEventType wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP;
|
%constant wxEventType wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP;
|
||||||
%constant wxEventType wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK;
|
%constant wxEventType wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK;
|
||||||
|
%constant wxEventType wxEVT_COMMAND_RIBBONBAR_TOGGLED;
|
||||||
|
|
||||||
%pythoncode {
|
%pythoncode {
|
||||||
EVT_RIBBONBAR_PAGE_CHANGED = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGED, 1 )
|
EVT_RIBBONBAR_PAGE_CHANGED = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGED, 1 )
|
||||||
@@ -236,6 +249,7 @@ typedef void (wxEvtHandler::*wxRibbonBarEventFunction)(wxRibbonBarEvent&);
|
|||||||
EVT_RIBBONBAR_TAB_RIGHT_DOWN = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN, 1 )
|
EVT_RIBBONBAR_TAB_RIGHT_DOWN = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN, 1 )
|
||||||
EVT_RIBBONBAR_TAB_RIGHT_UP = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP, 1 )
|
EVT_RIBBONBAR_TAB_RIGHT_UP = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP, 1 )
|
||||||
EVT_RIBBONBAR_TAB_LEFT_DCLICK = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK, 1 )
|
EVT_RIBBONBAR_TAB_LEFT_DCLICK = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK, 1 )
|
||||||
|
EVT_RIBBONBAR_TOGGLED = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_TOGGLED, 1 )
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -64,7 +64,8 @@ public:
|
|||||||
@beginStyleTable
|
@beginStyleTable
|
||||||
@style{wxRIBBON_BAR_DEFAULT_STYLE}
|
@style{wxRIBBON_BAR_DEFAULT_STYLE}
|
||||||
Defined as wxRIBBON_BAR_FLOW_HORIZONTAL |
|
Defined as wxRIBBON_BAR_FLOW_HORIZONTAL |
|
||||||
wxRIBBON_BAR_SHOW_PAGE_LABELS | wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS
|
wxRIBBON_BAR_SHOW_PAGE_LABELS | wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS |
|
||||||
|
wxRIBBON_BAR_SHOW_TOGGLE_BUTTON.
|
||||||
@style{wxRIBBON_BAR_FOLDBAR_STYLE}
|
@style{wxRIBBON_BAR_FOLDBAR_STYLE}
|
||||||
Defined as wxRIBBON_BAR_FLOW_VERTICAL | wxRIBBON_BAR_SHOW_PAGE_ICONS
|
Defined as wxRIBBON_BAR_FLOW_VERTICAL | wxRIBBON_BAR_SHOW_PAGE_ICONS
|
||||||
| wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS |
|
| wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS |
|
||||||
@@ -83,6 +84,9 @@ public:
|
|||||||
@style{wxRIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS}
|
@style{wxRIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS}
|
||||||
Causes minimise buttons to be shown on panels (where the panel has
|
Causes minimise buttons to be shown on panels (where the panel has
|
||||||
such a button).
|
such a button).
|
||||||
|
@style{wxRIBBON_BAR_SHOW_TOGGLE_BUTTON}
|
||||||
|
Causes a toggle button to appear on the ribbon bar at top-right corner.
|
||||||
|
This style is new since wxWidgets 2.9.5.
|
||||||
@endStyleTable
|
@endStyleTable
|
||||||
|
|
||||||
|
|
||||||
@@ -103,6 +107,9 @@ public:
|
|||||||
Triggered when the right mouse button is released on a tab.
|
Triggered when the right mouse button is released on a tab.
|
||||||
@event{EVT_RIBBONBAR_TAB_LEFT_DCLICK(id, func)}
|
@event{EVT_RIBBONBAR_TAB_LEFT_DCLICK(id, func)}
|
||||||
Triggered when the left mouse button is double clicked on a tab.
|
Triggered when the left mouse button is double clicked on a tab.
|
||||||
|
@event{EVT_RIBBONBAR_TOGGLE_BUTTON_CLICK(id, func)}
|
||||||
|
Triggered when the button triggering the ribbon bar is clicked. This
|
||||||
|
event is new since wxWidgets 2.9.5.
|
||||||
@endEventTable
|
@endEventTable
|
||||||
|
|
||||||
@library{wxribbon}
|
@library{wxribbon}
|
||||||
|
@@ -134,6 +134,7 @@ public:
|
|||||||
void OnHidePages(wxRibbonButtonBarEvent& evt);
|
void OnHidePages(wxRibbonButtonBarEvent& evt);
|
||||||
void OnShowPages(wxRibbonButtonBarEvent& evt);
|
void OnShowPages(wxRibbonButtonBarEvent& evt);
|
||||||
void OnTogglePanels(wxCommandEvent& evt);
|
void OnTogglePanels(wxCommandEvent& evt);
|
||||||
|
void OnRibbonBarToggled(wxRibbonBarEvent& evt);
|
||||||
|
|
||||||
void OnExtButton(wxRibbonPanelEvent& evt);
|
void OnExtButton(wxRibbonPanelEvent& evt);
|
||||||
|
|
||||||
@@ -234,6 +235,7 @@ EVT_RIBBONPANEL_EXTBUTTON_ACTIVATED(wxID_ANY, MyFrame::OnExtButton)
|
|||||||
EVT_RIBBONBUTTONBAR_CLICKED(ID_REMOVE_PAGE, MyFrame::OnRemovePage)
|
EVT_RIBBONBUTTONBAR_CLICKED(ID_REMOVE_PAGE, MyFrame::OnRemovePage)
|
||||||
EVT_RIBBONBUTTONBAR_CLICKED(ID_HIDE_PAGES, MyFrame::OnHidePages)
|
EVT_RIBBONBUTTONBAR_CLICKED(ID_HIDE_PAGES, MyFrame::OnHidePages)
|
||||||
EVT_RIBBONBUTTONBAR_CLICKED(ID_SHOW_PAGES, MyFrame::OnShowPages)
|
EVT_RIBBONBUTTONBAR_CLICKED(ID_SHOW_PAGES, MyFrame::OnShowPages)
|
||||||
|
EVT_RIBBONBAR_TOGGLED(wxID_ANY, MyFrame::OnRibbonBarToggled)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
#include "align_center.xpm"
|
#include "align_center.xpm"
|
||||||
@@ -262,10 +264,7 @@ END_EVENT_TABLE()
|
|||||||
MyFrame::MyFrame()
|
MyFrame::MyFrame()
|
||||||
: wxFrame(NULL, wxID_ANY, wxT("wxRibbon Sample Application"), wxDefaultPosition, wxSize(800, 600), wxDEFAULT_FRAME_STYLE)
|
: wxFrame(NULL, wxID_ANY, wxT("wxRibbon Sample Application"), wxDefaultPosition, wxSize(800, 600), wxDEFAULT_FRAME_STYLE)
|
||||||
{
|
{
|
||||||
m_ribbon = new wxRibbonBar(this, wxID_ANY,
|
m_ribbon = new wxRibbonBar(this);
|
||||||
wxDefaultPosition, wxDefaultSize,
|
|
||||||
wxRIBBON_BAR_DEFAULT_STYLE |
|
|
||||||
wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS);
|
|
||||||
|
|
||||||
{
|
{
|
||||||
wxRibbonPage* home = new wxRibbonPage(m_ribbon, wxID_ANY, wxT("Examples"), ribbon_xpm);
|
wxRibbonPage* home = new wxRibbonPage(m_ribbon, wxID_ANY, wxT("Examples"), ribbon_xpm);
|
||||||
@@ -1008,3 +1007,11 @@ void MyFrame::OnShowPages(wxRibbonButtonBarEvent& WXUNUSED(evt))
|
|||||||
m_ribbon->ShowPage(3);
|
m_ribbon->ShowPage(3);
|
||||||
m_ribbon->Realize();
|
m_ribbon->Realize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MyFrame::OnRibbonBarToggled(wxRibbonBarEvent& WXUNUSED(evt))
|
||||||
|
{
|
||||||
|
AddText(wxString::Format("Ribbon bar %s.",
|
||||||
|
m_ribbon->ArePanelsShown()
|
||||||
|
? "expanded"
|
||||||
|
: "collapsed"));
|
||||||
|
}
|
||||||
|
@@ -94,6 +94,34 @@ static const char* const panel_extension_xpm[] = {
|
|||||||
"x xxx",
|
"x xxx",
|
||||||
" xxxx"};
|
" xxxx"};
|
||||||
|
|
||||||
|
static const char* const panel_toggle_down_xpm[] = {
|
||||||
|
"7 9 2 1",
|
||||||
|
" c None",
|
||||||
|
"x c #FF00FF",
|
||||||
|
" ",
|
||||||
|
"x x",
|
||||||
|
"xx xx",
|
||||||
|
" xx xx ",
|
||||||
|
"x xxx x",
|
||||||
|
"xx x xx",
|
||||||
|
" xx xx ",
|
||||||
|
" xxx ",
|
||||||
|
" x ",};
|
||||||
|
|
||||||
|
static const char* const panel_toggle_up_xpm[] = {
|
||||||
|
"7 9 2 1",
|
||||||
|
" c None",
|
||||||
|
"x c #FF00FF",
|
||||||
|
" x ",
|
||||||
|
" xxx ",
|
||||||
|
" xx xx ",
|
||||||
|
"xx x xx",
|
||||||
|
"x xxx x",
|
||||||
|
" xx xx ",
|
||||||
|
"xx xx",
|
||||||
|
"x x",
|
||||||
|
" ",};
|
||||||
|
|
||||||
wxRibbonMSWArtProvider::wxRibbonMSWArtProvider(bool set_colour_scheme)
|
wxRibbonMSWArtProvider::wxRibbonMSWArtProvider(bool set_colour_scheme)
|
||||||
{
|
{
|
||||||
m_flags = 0;
|
m_flags = 0;
|
||||||
@@ -233,6 +261,11 @@ void wxRibbonMSWArtProvider::SetColourScheme(
|
|||||||
SetColour(wxRIBBON_ART_PANEL_BUTTON_FACE_COLOUR, LikePrimary(1.4, -0.21, -0.23));
|
SetColour(wxRIBBON_ART_PANEL_BUTTON_FACE_COLOUR, LikePrimary(1.4, -0.21, -0.23));
|
||||||
SetColour(wxRIBBON_ART_PANEL_BUTTON_HOVER_FACE_COLOUR, LikePrimary(1.5, -0.24, -0.29));
|
SetColour(wxRIBBON_ART_PANEL_BUTTON_HOVER_FACE_COLOUR, LikePrimary(1.5, -0.24, -0.29));
|
||||||
|
|
||||||
|
m_ribbon_toggle_brush = LikeSecondary(-0.9, 0.16, -0.07);
|
||||||
|
m_ribbon_toggle_pen = LikeSecondary(-3.9, -0.16, -0.14);
|
||||||
|
SetColour(wxRIBBON_ART_PAGE_TOGGLE_FACE_COLOUR, LikePrimary(1.7, -0.20, -0.15));
|
||||||
|
SetColour(wxRIBBON_ART_PAGE_TOGGLE_HOVER_FACE_COLOUR, LikePrimary(1.8, -0.23, -0.21));
|
||||||
|
|
||||||
m_gallery_button_disabled_background_colour = LikePrimary(-2.8, -0.46, 0.09);
|
m_gallery_button_disabled_background_colour = LikePrimary(-2.8, -0.46, 0.09);
|
||||||
m_gallery_button_disabled_background_top_brush = LikePrimary(-2.8, -0.36, 0.15);
|
m_gallery_button_disabled_background_top_brush = LikePrimary(-2.8, -0.36, 0.15);
|
||||||
m_gallery_hover_background_brush = LikePrimary(-0.8, 0.05, 0.15);
|
m_gallery_hover_background_brush = LikePrimary(-0.8, 0.05, 0.15);
|
||||||
@@ -308,6 +341,8 @@ void wxRibbonMSWArtProvider::CloneTo(wxRibbonMSWArtProvider* copy) const
|
|||||||
for(i = 0; i < 2; ++i)
|
for(i = 0; i < 2; ++i)
|
||||||
{
|
{
|
||||||
copy->m_panel_extension_bitmap[i] = m_panel_extension_bitmap[i];
|
copy->m_panel_extension_bitmap[i] = m_panel_extension_bitmap[i];
|
||||||
|
copy->m_ribbon_toggle_up_bitmap[i] = m_ribbon_toggle_up_bitmap[i];
|
||||||
|
copy->m_ribbon_toggle_down_bitmap[i] = m_ribbon_toggle_down_bitmap[i];
|
||||||
}
|
}
|
||||||
copy->m_toolbar_drop_bitmap = m_toolbar_drop_bitmap;
|
copy->m_toolbar_drop_bitmap = m_toolbar_drop_bitmap;
|
||||||
|
|
||||||
@@ -315,6 +350,9 @@ void wxRibbonMSWArtProvider::CloneTo(wxRibbonMSWArtProvider* copy) const
|
|||||||
copy->m_secondary_scheme_colour = m_secondary_scheme_colour;
|
copy->m_secondary_scheme_colour = m_secondary_scheme_colour;
|
||||||
copy->m_tertiary_scheme_colour = m_tertiary_scheme_colour;
|
copy->m_tertiary_scheme_colour = m_tertiary_scheme_colour;
|
||||||
|
|
||||||
|
copy->m_page_toggle_face_colour = m_page_toggle_face_colour;
|
||||||
|
copy->m_page_toggle_hover_face_colour = m_page_toggle_hover_face_colour;
|
||||||
|
|
||||||
copy->m_button_bar_label_colour = m_button_bar_label_colour;
|
copy->m_button_bar_label_colour = m_button_bar_label_colour;
|
||||||
copy->m_tab_label_colour = m_tab_label_colour;
|
copy->m_tab_label_colour = m_tab_label_colour;
|
||||||
copy->m_tab_separator_colour = m_tab_separator_colour;
|
copy->m_tab_separator_colour = m_tab_separator_colour;
|
||||||
@@ -372,6 +410,7 @@ void wxRibbonMSWArtProvider::CloneTo(wxRibbonMSWArtProvider* copy) const
|
|||||||
copy->m_gallery_button_hover_background_top_brush = m_gallery_button_hover_background_top_brush;
|
copy->m_gallery_button_hover_background_top_brush = m_gallery_button_hover_background_top_brush;
|
||||||
copy->m_gallery_button_active_background_top_brush = m_gallery_button_active_background_top_brush;
|
copy->m_gallery_button_active_background_top_brush = m_gallery_button_active_background_top_brush;
|
||||||
copy->m_gallery_button_disabled_background_top_brush = m_gallery_button_disabled_background_top_brush;
|
copy->m_gallery_button_disabled_background_top_brush = m_gallery_button_disabled_background_top_brush;
|
||||||
|
copy->m_ribbon_toggle_brush = m_ribbon_toggle_brush;
|
||||||
|
|
||||||
copy->m_tab_label_font = m_tab_label_font;
|
copy->m_tab_label_font = m_tab_label_font;
|
||||||
copy->m_button_bar_label_font = m_button_bar_label_font;
|
copy->m_button_bar_label_font = m_button_bar_label_font;
|
||||||
@@ -389,6 +428,7 @@ void wxRibbonMSWArtProvider::CloneTo(wxRibbonMSWArtProvider* copy) const
|
|||||||
copy->m_button_bar_active_border_pen = m_button_bar_active_border_pen;
|
copy->m_button_bar_active_border_pen = m_button_bar_active_border_pen;
|
||||||
copy->m_gallery_item_border_pen = m_gallery_item_border_pen;
|
copy->m_gallery_item_border_pen = m_gallery_item_border_pen;
|
||||||
copy->m_toolbar_border_pen = m_toolbar_border_pen;
|
copy->m_toolbar_border_pen = m_toolbar_border_pen;
|
||||||
|
copy->m_ribbon_toggle_pen = m_ribbon_toggle_pen;
|
||||||
|
|
||||||
copy->m_flags = m_flags;
|
copy->m_flags = m_flags;
|
||||||
copy->m_tab_separation_size = m_tab_separation_size;
|
copy->m_tab_separation_size = m_tab_separation_size;
|
||||||
@@ -705,6 +745,10 @@ wxColour wxRibbonMSWArtProvider::GetColour(int id) const
|
|||||||
return m_toolbar_border_pen.GetColour();
|
return m_toolbar_border_pen.GetColour();
|
||||||
case wxRIBBON_ART_TOOLBAR_FACE_COLOUR:
|
case wxRIBBON_ART_TOOLBAR_FACE_COLOUR:
|
||||||
return m_tool_face_colour;
|
return m_tool_face_colour;
|
||||||
|
case wxRIBBON_ART_PAGE_TOGGLE_FACE_COLOUR:
|
||||||
|
return m_page_toggle_face_colour;
|
||||||
|
case wxRIBBON_ART_PAGE_TOGGLE_HOVER_FACE_COLOUR:
|
||||||
|
return m_page_toggle_hover_face_colour;
|
||||||
default:
|
default:
|
||||||
wxFAIL_MSG(wxT("Invalid Metric Ordinal"));
|
wxFAIL_MSG(wxT("Invalid Metric Ordinal"));
|
||||||
break;
|
break;
|
||||||
@@ -975,6 +1019,16 @@ void wxRibbonMSWArtProvider::SetColour(int id, const wxColor& colour)
|
|||||||
m_tool_face_colour = colour;
|
m_tool_face_colour = colour;
|
||||||
m_toolbar_drop_bitmap = wxRibbonLoadPixmap(gallery_down_xpm, colour);
|
m_toolbar_drop_bitmap = wxRibbonLoadPixmap(gallery_down_xpm, colour);
|
||||||
break;
|
break;
|
||||||
|
case wxRIBBON_ART_PAGE_TOGGLE_FACE_COLOUR:
|
||||||
|
m_page_toggle_face_colour = colour;
|
||||||
|
m_ribbon_toggle_down_bitmap[0] = wxRibbonLoadPixmap(panel_toggle_down_xpm, colour);
|
||||||
|
m_ribbon_toggle_up_bitmap[0] = wxRibbonLoadPixmap(panel_toggle_up_xpm, colour);
|
||||||
|
break;
|
||||||
|
case wxRIBBON_ART_PAGE_TOGGLE_HOVER_FACE_COLOUR:
|
||||||
|
m_page_toggle_hover_face_colour = colour;
|
||||||
|
m_ribbon_toggle_down_bitmap[1] = wxRibbonLoadPixmap(panel_toggle_down_xpm, colour);
|
||||||
|
m_ribbon_toggle_up_bitmap[1] = wxRibbonLoadPixmap(panel_toggle_up_xpm, colour);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
wxFAIL_MSG(wxT("Invalid Metric Ordinal"));
|
wxFAIL_MSG(wxT("Invalid Metric Ordinal"));
|
||||||
break;
|
break;
|
||||||
@@ -2424,6 +2478,36 @@ void wxRibbonMSWArtProvider::DrawTool(
|
|||||||
bg_rect.y + (bg_rect.height - bitmap.GetHeight()) / 2, true);
|
bg_rect.y + (bg_rect.height - bitmap.GetHeight()) / 2, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
wxRibbonMSWArtProvider::DrawToggleButton(wxDC& dc,
|
||||||
|
wxRibbonBar* wnd,
|
||||||
|
const wxRect& rect,
|
||||||
|
bool upBitmap)
|
||||||
|
{
|
||||||
|
DrawPartialPageBackground(dc, wnd, rect, false);
|
||||||
|
|
||||||
|
dc.DestroyClippingRegion();
|
||||||
|
dc.SetClippingRegion(rect);
|
||||||
|
|
||||||
|
if(wnd->IsToggleButtonHovered())
|
||||||
|
{
|
||||||
|
dc.SetPen(m_ribbon_toggle_pen);
|
||||||
|
dc.SetBrush(m_ribbon_toggle_brush);
|
||||||
|
dc.DrawRoundedRectangle(rect.GetX(), rect.GetY(), 12, 12, 1.0);
|
||||||
|
if(upBitmap)
|
||||||
|
dc.DrawBitmap(m_ribbon_toggle_up_bitmap[1], rect.GetX()+2, rect.GetY()+2, true);
|
||||||
|
else
|
||||||
|
dc.DrawBitmap(m_ribbon_toggle_down_bitmap[1], rect.GetX()+2, rect.GetY()+2, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(upBitmap)
|
||||||
|
dc.DrawBitmap(m_ribbon_toggle_up_bitmap[0], rect.GetX()+2, rect.GetY()+2, true);
|
||||||
|
else
|
||||||
|
dc.DrawBitmap(m_ribbon_toggle_down_bitmap[0], rect.GetX()+2, rect.GetY()+2, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void wxRibbonMSWArtProvider::GetBarTabWidth(
|
void wxRibbonMSWArtProvider::GetBarTabWidth(
|
||||||
wxDC& dc,
|
wxDC& dc,
|
||||||
wxWindow* WXUNUSED(wnd),
|
wxWindow* WXUNUSED(wnd),
|
||||||
@@ -2878,4 +2962,13 @@ wxSize wxRibbonMSWArtProvider::GetToolSize(
|
|||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxRect
|
||||||
|
wxRibbonMSWArtProvider::GetBarToggleButtonArea(wxDC& WXUNUSED(dc),
|
||||||
|
const wxRibbonBar* WXUNUSED(wnd),
|
||||||
|
wxRect rect)
|
||||||
|
{
|
||||||
|
rect = wxRect(rect.GetWidth()-30, 6, 12, 12);
|
||||||
|
return rect;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // wxUSE_RIBBON
|
#endif // wxUSE_RIBBON
|
||||||
|
@@ -40,6 +40,7 @@ wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_UP, wxRibbonBarEvent);
|
|||||||
wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN, wxRibbonBarEvent);
|
wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN, wxRibbonBarEvent);
|
||||||
wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP, wxRibbonBarEvent);
|
wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP, wxRibbonBarEvent);
|
||||||
wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK, wxRibbonBarEvent);
|
wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK, wxRibbonBarEvent);
|
||||||
|
wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TOGGLED, wxRibbonBarEvent);
|
||||||
|
|
||||||
IMPLEMENT_CLASS(wxRibbonBar, wxRibbonControl)
|
IMPLEMENT_CLASS(wxRibbonBar, wxRibbonControl)
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxRibbonBarEvent, wxNotifyEvent)
|
IMPLEMENT_DYNAMIC_CLASS(wxRibbonBarEvent, wxNotifyEvent)
|
||||||
@@ -243,6 +244,7 @@ void wxRibbonBar::OnMouseMove(wxMouseEvent& evt)
|
|||||||
{
|
{
|
||||||
RefreshTabBar();
|
RefreshTabBar();
|
||||||
}
|
}
|
||||||
|
HitTestToggleButton(evt.GetPosition());
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxRibbonBar::OnMouseLeave(wxMouseEvent& WXUNUSED(evt))
|
void wxRibbonBar::OnMouseLeave(wxMouseEvent& WXUNUSED(evt))
|
||||||
@@ -270,6 +272,12 @@ void wxRibbonBar::OnMouseLeave(wxMouseEvent& WXUNUSED(evt))
|
|||||||
{
|
{
|
||||||
RefreshTabBar();
|
RefreshTabBar();
|
||||||
}
|
}
|
||||||
|
if(m_toggle_button_hovered)
|
||||||
|
{
|
||||||
|
m_bar_hovered = false;
|
||||||
|
m_toggle_button_hovered = false;
|
||||||
|
Refresh(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wxRibbonPage* wxRibbonBar::GetPage(int n)
|
wxRibbonPage* wxRibbonBar::GetPage(int n)
|
||||||
@@ -720,6 +728,9 @@ void wxRibbonBar::CommonInit(long style)
|
|||||||
SetArtProvider(new wxRibbonDefaultArtProvider);
|
SetArtProvider(new wxRibbonDefaultArtProvider);
|
||||||
}
|
}
|
||||||
SetBackgroundStyle(wxBG_STYLE_CUSTOM);
|
SetBackgroundStyle(wxBG_STYLE_CUSTOM);
|
||||||
|
|
||||||
|
m_toggle_button_hovered = false;
|
||||||
|
m_bar_hovered = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxRibbonBar::SetArtProvider(wxRibbonArtProvider* art)
|
void wxRibbonBar::SetArtProvider(wxRibbonArtProvider* art)
|
||||||
@@ -757,6 +768,8 @@ void wxRibbonBar::OnPaint(wxPaintEvent& WXUNUSED(evt))
|
|||||||
|
|
||||||
DoEraseBackground(dc);
|
DoEraseBackground(dc);
|
||||||
|
|
||||||
|
m_toggle_button_rect = m_art->GetBarToggleButtonArea(dc, this, GetSize());
|
||||||
|
|
||||||
size_t numtabs = m_pages.GetCount();
|
size_t numtabs = m_pages.GetCount();
|
||||||
double sep_visibility = 0.0;
|
double sep_visibility = 0.0;
|
||||||
bool draw_sep = false;
|
bool draw_sep = false;
|
||||||
@@ -830,6 +843,9 @@ void wxRibbonBar::OnPaint(wxPaintEvent& WXUNUSED(evt))
|
|||||||
m_art->DrawScrollButton(dc, this, m_tab_scroll_right_button_rect, wxRIBBON_SCROLL_BTN_RIGHT | m_tab_scroll_right_button_state | wxRIBBON_SCROLL_BTN_FOR_TABS);
|
m_art->DrawScrollButton(dc, this, m_tab_scroll_right_button_rect, wxRIBBON_SCROLL_BTN_RIGHT | m_tab_scroll_right_button_state | wxRIBBON_SCROLL_BTN_FOR_TABS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
wxRect rect(GetClientSize().GetWidth() - 30, 6, 12, 12);
|
||||||
|
if ( m_flags & wxRIBBON_BAR_SHOW_TOGGLE_BUTTON )
|
||||||
|
m_art->DrawToggleButton(dc, this, rect, ArePanelsShown());
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxRibbonBar::OnEraseBackground(wxEraseEvent& WXUNUSED(evt))
|
void wxRibbonBar::OnEraseBackground(wxEraseEvent& WXUNUSED(evt))
|
||||||
@@ -927,6 +943,23 @@ void wxRibbonBar::OnMouseLeftDown(wxMouseEvent& evt)
|
|||||||
RefreshTabBar();
|
RefreshTabBar();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxPoint position = evt.GetPosition();
|
||||||
|
|
||||||
|
if(position.x >= 0 && position.y >= 0)
|
||||||
|
{
|
||||||
|
wxSize size = GetSize();
|
||||||
|
if(position.x < size.GetWidth() && position.y < size.GetHeight())
|
||||||
|
{
|
||||||
|
if(m_toggle_button_rect.Contains(position))
|
||||||
|
{
|
||||||
|
ShowPanels(!ArePanelsShown());
|
||||||
|
wxRibbonBarEvent event(wxEVT_COMMAND_RIBBONBAR_TOGGLED, GetId());
|
||||||
|
event.SetEventObject(this);
|
||||||
|
ProcessWindowEvent(event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxRibbonBar::OnMouseLeftUp(wxMouseEvent& WXUNUSED(evt))
|
void wxRibbonBar::OnMouseLeftUp(wxMouseEvent& WXUNUSED(evt))
|
||||||
@@ -1110,4 +1143,29 @@ wxSize wxRibbonBar::DoGetBestSize() const
|
|||||||
return best;
|
return best;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxRibbonBar::HitTestToggleButton(wxPoint position)
|
||||||
|
{
|
||||||
|
bool hovered = false, toggle_button_hovered = false;
|
||||||
|
if(position.x >= 0 && position.y >= 0)
|
||||||
|
{
|
||||||
|
wxSize size = GetSize();
|
||||||
|
if(position.x < size.GetWidth() && position.y < size.GetHeight())
|
||||||
|
{
|
||||||
|
hovered = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(hovered)
|
||||||
|
{
|
||||||
|
toggle_button_hovered = (m_flags & wxRIBBON_BAR_SHOW_TOGGLE_BUTTON) &&
|
||||||
|
m_toggle_button_rect.Contains(position);
|
||||||
|
|
||||||
|
if(hovered != m_bar_hovered || toggle_button_hovered != m_toggle_button_hovered)
|
||||||
|
{
|
||||||
|
m_bar_hovered = hovered;
|
||||||
|
m_toggle_button_hovered = toggle_button_hovered;
|
||||||
|
Refresh(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif // wxUSE_RIBBON
|
#endif // wxUSE_RIBBON
|
||||||
|
Reference in New Issue
Block a user