X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a3622daa901777a33969d8bc04e2d62dee14d164..9018abe3ef28d237b0421c8d96987907adbe5532:/include/wx/msw/menu.h?ds=sidebyside diff --git a/include/wx/msw/menu.h b/include/wx/msw/menu.h index f2ced3f6d4..33c6701ca6 100644 --- a/include/wx/msw/menu.h +++ b/include/wx/msw/menu.h @@ -9,8 +9,8 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// -#ifndef __MENUH__ -#define __MENUH__ +#ifndef _WX_MENU_H_ +#define _WX_MENU_H_ #ifdef __GNUG__ #pragma interface "menu.h" @@ -19,9 +19,9 @@ #include "wx/defs.h" #include "wx/event.h" -class wxMenuItem; -class wxMenuBar; -class wxMenu; +class WXDLLEXPORT wxMenuItem; +class WXDLLEXPORT wxMenuBar; +class WXDLLEXPORT wxMenu; WXDLLEXPORT_DATA(extern const char*) wxEmptyString; @@ -45,7 +45,7 @@ public: void Append(int id, const wxString& Label, const wxString& helpString = wxEmptyString, bool checkable = FALSE); // a submenu - void Append(int id, const wxString& Label, wxMenu *SubMenu, + void Append(int id, const wxString& Label, wxMenu *SubMenu, const wxString& helpString = wxEmptyString); // the most generic form (create wxMenuItem first and use it's functions) void Append(wxMenuItem *pItem); @@ -54,6 +54,10 @@ public: // delete an item void Delete(int id); /* If it's a submenu, menu is not destroyed. VZ: why? */ + // Client data + inline void SetClientData(void* clientData) { m_clientData = clientData; } + inline void* GetClientData() const { return m_clientData; } + // menu item control void Enable(int id, bool Flag); bool Enabled(int id) const; @@ -65,7 +69,7 @@ public: // item properties // title void SetTitle(const wxString& label); - const wxString& GetTitle() const; + const wxString GetTitle() const; // label void SetLabel(int id, const wxString& label); wxString GetLabel(int id) const; @@ -74,11 +78,17 @@ public: virtual wxString GetHelpString(int id) const ; // find item - // Finds the item id matching the given string, NOT_FOUND if not found. + // Finds the item id matching the given string, wxNOT_FOUND if not found. virtual int FindItem(const wxString& itemString) const ; // 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; } @@ -120,18 +130,20 @@ public: wxEvtHandler * m_parent; wxEvtHandler * m_eventHandler; wxWindow *m_pInvokingWindow; + void* m_clientData; }; // ---------------------------------------------------------------------------- // Menu Bar (a la Windows) // ---------------------------------------------------------------------------- -class wxFrame; +class WXDLLEXPORT wxFrame; class WXDLLEXPORT wxMenuBar: public wxEvtHandler { DECLARE_DYNAMIC_CLASS(wxMenuBar) public: wxMenuBar(); + wxMenuBar( long style ); wxMenuBar(int n, wxMenu *menus[], const wxString titles[]); ~wxMenuBar(); @@ -162,9 +174,6 @@ public: // menu too if itemMenu is non-NULL. wxMenuItem *FindItemForId(int itemId, wxMenu **menuForItem = NULL) const ; - int GetMenuCount() const { return m_menuCount; } - wxMenu *GetMenu(int n) const { return m_menus[n]; } - inline void SetEventHandler(wxEvtHandler *handler) { m_eventHandler = handler; } inline wxEvtHandler *GetEventHandler() { return m_eventHandler; } @@ -180,4 +189,4 @@ public: WXHMENU m_hMenu; }; -#endif // __MENUH__ +#endif // _WX_MENU_H_