#pragma hdrstop
#endif
-#include "wx/ribbon/bar.h"
-
#if wxUSE_RIBBON
+#include "wx/ribbon/bar.h"
#include "wx/ribbon/art.h"
#include "wx/dcbuffer.h"
#include "wx/arrimpl.cpp"
-WX_DEFINE_USER_EXPORTED_OBJARRAY(wxRibbonPageTabInfoArray);
+WX_DEFINE_USER_EXPORTED_OBJARRAY(wxRibbonPageTabInfoArray)
wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGED, wxRibbonBarEvent);
wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGING, wxRibbonBarEvent);
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_UP, wxRibbonBarEvent);
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK, wxRibbonBarEvent);
IMPLEMENT_CLASS(wxRibbonBar, wxRibbonControl)
IMPLEMENT_DYNAMIC_CLASS(wxRibbonBarEvent, wxNotifyEvent)
EVT_PAINT(wxRibbonBar::OnPaint)
EVT_RIGHT_DOWN(wxRibbonBar::OnMouseRightDown)
EVT_RIGHT_UP(wxRibbonBar::OnMouseRightUp)
+ EVT_LEFT_DCLICK(wxRibbonBar::OnMouseDoubleClick)
EVT_SIZE(wxRibbonBar::OnSize)
END_EVENT_TABLE()
if(m_tab_scroll_buttons_shown)
{
#define SET_FLAG(variable, flag) \
- { if(((variable) & (flag)) != (flag)) variable |= (flag), refresh_tabs = true; }
+ { if(((variable) & (flag)) != (flag)) { variable |= (flag); refresh_tabs = true; }}
#define UNSET_FLAG(variable, flag) \
- { if((variable) & (flag)) variable &= ~(flag), refresh_tabs = true; }
+ { if((variable) & (flag)) { variable &= ~(flag); refresh_tabs = true; }}
if(m_tab_scroll_left_button_rect.Contains(x, y))
SET_FLAG(m_tab_scroll_left_button_state, wxRIBBON_SCROLL_BTN_HOVERED)
DoMouseButtonCommon(evt, wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP);
}
+void wxRibbonBar::OnMouseDoubleClick(wxMouseEvent& evt)
+{
+ DoMouseButtonCommon(evt, wxEVT_COMMAND_RIBBONBAR_TAB_LEFT_DCLICK);
+}
+
void wxRibbonBar::DoMouseButtonCommon(wxMouseEvent& evt, wxEventType tab_event_type)
{
wxRibbonPageTabInfo *tab = HitTestTabs(evt.GetPosition());