Add EVT_RIBBONGALLERY_CLICKED event.

This event is sent whenever an item is clicked, even if it's already selected,
unlike the existing EVT_RIBBONGALLERY_SELECTED.

Closes #12128.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2010-07-24 12:27:25 +00:00
parent 9899a70bc0
commit 1aff4201c3
4 changed files with 45 additions and 28 deletions

View File

@@ -412,6 +412,7 @@ All (GUI):
- wxAUI: support auto-orientable toolbars (wsu).
- wxHTML: render in RTL order inside RTL window (Richard Bullington-McGuire).
- wxRibbon: added EVT_RIBBONGALLERY_CLICKED event (John Roberts).
- Add support for CP-866 encoding to wxEncodingConverter (madnut).

View File

@@ -159,6 +159,7 @@ private:
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED, wxRibbonGalleryEvent);
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONGALLERY_SELECTED, wxRibbonGalleryEvent);
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONGALLERY_CLICKED, wxRibbonGalleryEvent);
typedef void (wxEvtHandler::*wxRibbonGalleryEventFunction)(wxRibbonGalleryEvent&);
@@ -169,6 +170,8 @@ typedef void (wxEvtHandler::*wxRibbonGalleryEventFunction)(wxRibbonGalleryEvent&
wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED, winid, wxRibbonGalleryEventHandler(fn))
#define EVT_RIBBONGALLERY_SELECTED(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONGALLERY_SELECTED, winid, wxRibbonGalleryEventHandler(fn))
#define EVT_RIBBONGALLERY_CLICKED(winid, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONGALLERY_CLICKED, winid, wxRibbonGalleryEventHandler(fn))
#else
// wxpython/swig event work
@@ -179,7 +182,7 @@ typedef void (wxEvtHandler::*wxRibbonGalleryEventFunction)(wxRibbonGalleryEvent&
EVT_RIBBONGALLERY_HOVER_CHANGED = wx.PyEventBinder( wxEVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED, 1 )
EVT_RIBBONGALLERY_SELECTED = wx.PyEventBinder( wxEVT_COMMAND_RIBBONGALLERY_SELECTED, 1 )
}
#endif
#endif // SWIG
#endif // wxUSE_RIBBON

View File

@@ -30,6 +30,11 @@ enum wxRibbonGalleryButtonState
@event{EVT_RIBBONGALLERY_SELECTED(id, func)}
Triggered when the user selects an item from the gallery. Note that the
ID is that of the gallery, not of the item.
@event{EVT_RIBBONGALLERY_CLICKED(id, func)}
Similar to EVT_RIBBONGALLERY_SELECTED but triggered every time a
gallery item is clicked, even if it is already selected. Note that the
ID of the event is that of the gallery, not of the item, just as above.
This event is available since wxWidgets 2.9.2.
@event{EVT_RIBBONGALLERY_HOVER_CHANGED(id, func)}
Triggered when the item being hovered over by the user changes. The
item in the event will be the new item being hovered, or NULL if there

View File

@@ -32,6 +32,7 @@
wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED, wxRibbonGalleryEvent);
wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONGALLERY_SELECTED, wxRibbonGalleryEvent);
wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONGALLERY_CLICKED, wxRibbonGalleryEvent);
IMPLEMENT_DYNAMIC_CLASS(wxRibbonGalleryEvent, wxCommandEvent)
IMPLEMENT_CLASS(wxRibbonGallery, wxRibbonControl)
@@ -356,6 +357,13 @@ void wxRibbonGallery::OnMouseUp(wxMouseEvent& evt)
notification.SetGalleryItem(m_selected_item);
ProcessWindowEvent(notification);
}
wxRibbonGalleryEvent notification(
wxEVT_COMMAND_RIBBONGALLERY_CLICKED, GetId());
notification.SetEventObject(this);
notification.SetGallery(this);
notification.SetGalleryItem(m_selected_item);
ProcessWindowEvent(notification);
}
}
m_mouse_active_rect = NULL;