#include "wx/defs.h"
#include "wx/event.h"
+#include "wx/font.h"
+#include "wx/gdicmn.h"
class WXDLLEXPORT wxMenuItem;
class WXDLLEXPORT wxMenuBar;
bool Checked(int id) const;
inline bool IsChecked(int id) const { return IsChecked(id); };
+ // Client data
+ inline void SetClientData(void* clientData) { m_clientData = clientData; }
+ inline void* GetClientData() const { return m_clientData; }
+
// item properties
// title
void SetTitle(const wxString& label);
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;
wxList m_menuItems;
wxEvtHandler * m_parent;
wxEvtHandler * m_eventHandler;
+ void* m_clientData;
//// Motif-specific
int m_numColumns;
wxMenu* m_topLevelMenu ;
wxMenu* m_menuParent;
bool m_ownedByMenuBar;
+ wxColour m_foregroundColour;
+ wxColour m_backgroundColour;
+ wxFont m_font;
};
// ----------------------------------------------------------------------------
inline WXWidget GetMainWidget() const { return m_mainWidget; }
inline void SetMainWidget(WXWidget widget) { m_mainWidget = widget; }
+ // Create menubar
+ bool CreateMenuBar(wxFrame* frame);
+
+ // 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;
//// Motif-specific
WXWidget m_mainWidget;
+ wxColour m_foregroundColour;
+ wxColour m_backgroundColour;
+ wxFont m_font;
};
#endif // _WX_MENU_H_