Update menu event documentation and sample

Update the documentation to reflect change to the GetMenu event
working for all 3 menu events. Also update the sample to give the
menu for the highlight event.
This commit is contained in:
Ian McInerney 2019-08-25 16:25:55 +02:00
parent 65a21a5393
commit d846b24450
2 changed files with 21 additions and 16 deletions

View File

@ -3295,7 +3295,7 @@ public:
@class wxDisplayChangedEvent @class wxDisplayChangedEvent
A display changed event is sent to top-level windows when the display resolution has changed. A display changed event is sent to top-level windows when the display resolution has changed.
This event is currently emitted under Windows only. This event is currently emitted under Windows only.
@beginEventTable{wxDisplayChangedEvent} @beginEventTable{wxDisplayChangedEvent}
@ -3309,7 +3309,7 @@ public:
@category{events} @category{events}
@see wxDisplay @see wxDisplay
*/ */
class wxDisplayChangedEvent : public wxEvent class wxDisplayChangedEvent : public wxEvent
{ {
@ -4445,13 +4445,16 @@ public:
wxMenuEvent(wxEventType type = wxEVT_NULL, int id = 0, wxMenu* menu = NULL); wxMenuEvent(wxEventType type = wxEVT_NULL, int id = 0, wxMenu* menu = NULL);
/** /**
Returns the menu which is being opened or closed. Returns the menu which is being opened or closed, or the menu containing
the highlighted item.
This method can only be used with the @c OPEN and @c CLOSE events.
Note that the returned value can be @NULL if the menu being opened Note that the returned value can be @NULL if the menu being opened
doesn't have a corresponding wxMenu, e.g. this happens when opening the doesn't have a corresponding wxMenu, e.g. this happens when opening the
system menu in wxMSW port. system menu in wxMSW port.
@remarks Since 3.1.3 this function can be used with @c OPEN, @c CLOSE
and @c HIGHLIGHT events. Before 3.1.3, this method can only be used
with the @c OPEN and @c CLOSE events.
*/ */
wxMenu* GetMenu() const; wxMenu* GetMenu() const;

View File

@ -1235,19 +1235,21 @@ void MyFrame::LogMenuOpenCloseOrHighlight(const wxMenuEvent& event, const wxStri
if ( event.GetEventType() == wxEVT_MENU_HIGHLIGHT ) if ( event.GetEventType() == wxEVT_MENU_HIGHLIGHT )
{ {
msg << " (id=" << event.GetId() << ")"; msg << " (id=" << event.GetId() << " in ";
} }
else // wxEVT_MENU_{OPEN,CLOSE} else
{ {
wxMenu* const menu = event.GetMenu(); msg << " (";
if ( menu ) }
{
msg << " (menu with title \"" << menu->GetTitle() << "\")"; wxMenu* const menu = event.GetMenu();
} if ( menu )
else {
{ msg << "menu with title \"" << menu->GetTitle() << "\")";
msg << " (no menu)"; }
} else
{
msg << "no menu provided)";
} }
msg << "."; msg << ".";