X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1ea9acd9aa1b0e5fa3f7bef3db4eca77822bfe35..d23bf09c7fbbe4f026d61043e55c81cfc4a6bef2:/include/wx/frame.h?ds=sidebyside diff --git a/include/wx/frame.h b/include/wx/frame.h index 915fd88724..0f65132d71 100644 --- a/include/wx/frame.h +++ b/include/wx/frame.h @@ -81,6 +81,11 @@ public: #if wxUSE_MENUS virtual void SetMenuBar(wxMenuBar *menubar); virtual wxMenuBar *GetMenuBar() const { return m_frameMenuBar; } + + // find the item by id in the frame menu bar: this is an internal function + // and exists mainly in order to be overridden in the MDI parent frame + // which also looks at its active child menu bar + virtual const wxMenuItem *FindItemInMenuBar(int menuId) const; #endif // wxUSE_MENUS // process menu command: returns true if processed @@ -168,9 +173,12 @@ public: { return false; } #endif // no wxTopLevelWindowNative - // show help text (typically in the statusbar); show is false - // if you are hiding the help, true otherwise +#if wxUSE_MENUS || wxUSE_TOOLBAR + // show help text for the currently selected menu or toolbar item + // (typically in the status bar) or hide it and restore the status bar text + // originally shown before the menu was opened if show == false virtual void DoGiveHelp(const wxString& text, bool show); +#endif protected: // the frame main menu/status/tool bars @@ -182,6 +190,10 @@ protected: // test whether this window makes part of the frame virtual bool IsOneOfBars(const wxWindow *win) const; + virtual bool IsClientAreaChild(const wxWindow *child) const + { + return !IsOneOfBars(child) && wxTopLevelWindow::IsClientAreaChild(child); + } #if wxUSE_MENUS // override to update menu bar position when the frame size changes @@ -196,21 +208,22 @@ protected: virtual void AttachMenuBar(wxMenuBar *menubar); wxMenuBar *m_frameMenuBar; +#endif // wxUSE_MENUS -#if wxUSE_STATUSBAR +#if wxUSE_STATUSBAR && (wxUSE_MENUS || wxUSE_TOOLBAR) // the saved status bar text overwritten by DoGiveHelp() wxString m_oldStatusText; -#endif // wxUSE_STATUSBAR -#endif // wxUSE_MENUS +#endif #if wxUSE_STATUSBAR // override to update status bar position (or anything else) when // something changes virtual void PositionStatusBar() { } - // show the help string for this menu item in the given status bar: the - // status bar pointer can be NULL; return true if help was shown - bool ShowMenuHelp(wxStatusBar *statbar, int helpid); + // show the help string for the given menu item using DoGiveHelp() if the + // given item does have a help string (as determined by FindInMenuBar()), + // return false if there is no help for such item + bool ShowMenuHelp(int helpid); wxStatusBar *m_frameStatusBar; #endif // wxUSE_STATUSBAR