X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/621793f45e003588e32f7a6ca10cd238f7c96fe6..29f538cea2cfcbb272ca724f8dbf778207530033:/include/wx/motif/menu.h?ds=inline diff --git a/include/wx/motif/menu.h b/include/wx/motif/menu.h index f9ebc22090..22ddece86e 100644 --- a/include/wx/motif/menu.h +++ b/include/wx/motif/menu.h @@ -18,6 +18,8 @@ #include "wx/defs.h" #include "wx/event.h" +#include "wx/font.h" +#include "wx/gdicmn.h" class WXDLLEXPORT wxMenuItem; class WXDLLEXPORT wxMenuBar; @@ -83,6 +85,12 @@ public: // Find wxMenuItem by ID, and item's menu too if itemMenu is !NULL. wxMenuItem *FindItemForId(int itemId, wxMenu **itemMenu = NULL) const; + // Updates the UI for a menu and all submenus recursively. + // source is the object that has the update event handlers + // defined for it. If NULL, the menu or associated window + // will be used. + void UpdateUI(wxEvtHandler* source = (wxEvtHandler*) NULL); + void ProcessCommand(wxCommandEvent& event); inline void Callback(const wxFunction func) { m_callback = func; } @@ -92,6 +100,9 @@ public: inline wxList& GetItems() const { return (wxList&) m_menuItems; } + void SetInvokingWindow(wxWindow *pWin) { m_pInvokingWindow = pWin; } + wxWindow *GetInvokingWindow() const { return m_pInvokingWindow; } + //// Motif-specific inline WXWidget GetButtonWidget() const { return m_buttonWidget; } inline void SetButtonWidget(WXWidget buttonWidget) { m_buttonWidget = buttonWidget; } @@ -115,6 +126,15 @@ public: void DestroyMenu(bool full); WXWidget FindMenuItem(int id, wxMenuItem **it = NULL) const; + const wxColour& GetBackgroundColour() const { return m_backgroundColour; } + const wxColour& GetForegroundColour() const { return m_foregroundColour; } + const wxFont& GetFont() const { return m_font; } + + void SetBackgroundColour(const wxColour& colour); + void SetForegroundColour(const wxColour& colour); + void SetFont(const wxFont& colour); + void ChangeFont(bool keepOriginalSize = FALSE); + public: wxFunction m_callback; @@ -125,6 +145,7 @@ public: wxEvtHandler * m_parent; wxEvtHandler * m_eventHandler; void* m_clientData; + wxWindow* m_pInvokingWindow; //// Motif-specific int m_numColumns; @@ -135,6 +156,9 @@ public: wxMenu* m_topLevelMenu ; wxMenu* m_menuParent; bool m_ownedByMenuBar; + wxColour m_foregroundColour; + wxColour m_backgroundColour; + wxFont m_font; }; // ---------------------------------------------------------------------------- @@ -145,6 +169,7 @@ class WXDLLEXPORT wxMenuBar: public wxEvtHandler { DECLARE_DYNAMIC_CLASS(wxMenuBar) + wxMenuBar( long style ); wxMenuBar(); wxMenuBar(int n, wxMenu *menus[], const wxString titles[]); ~wxMenuBar(); @@ -194,6 +219,15 @@ class WXDLLEXPORT wxMenuBar: public wxEvtHandler // Destroy menubar, but keep data structures intact so we can recreate it. bool DestroyMenuBar(); + const wxColour& GetBackgroundColour() const { return m_backgroundColour; } + const wxColour& GetForegroundColour() const { return m_foregroundColour; } + const wxFont& GetFont() const { return m_font; } + + void SetBackgroundColour(const wxColour& colour); + void SetForegroundColour(const wxColour& colour); + void SetFont(const wxFont& colour); + void ChangeFont(bool keepOriginalSize = FALSE); + public: wxEvtHandler * m_eventHandler; int m_menuCount; @@ -204,6 +238,9 @@ class WXDLLEXPORT wxMenuBar: public wxEvtHandler //// Motif-specific WXWidget m_mainWidget; + wxColour m_foregroundColour; + wxColour m_backgroundColour; + wxFont m_font; }; #endif // _WX_MENU_H_