]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/menu.h
added WX_CLEAR_ARRAY() macro to delete all the elements of an array
[wxWidgets.git] / include / wx / motif / menu.h
index f89f733d11f5ec8bdcd188a84c8b615e5991b398..d29ae23ac40278bcb066f7b2ba49c425df6a74b8 100644 (file)
@@ -18,6 +18,8 @@
 
 #include "wx/defs.h"
 #include "wx/event.h"
 
 #include "wx/defs.h"
 #include "wx/event.h"
+#include "wx/font.h"
+#include "wx/gdicmn.h"
 
 class WXDLLEXPORT wxMenuItem;
 class WXDLLEXPORT wxMenuBar;
 
 class WXDLLEXPORT wxMenuItem;
 class WXDLLEXPORT wxMenuBar;
@@ -62,6 +64,10 @@ public:
   bool Checked(int id) const;
   inline bool IsChecked(int id) const { return IsChecked(id); };
 
   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);
   // item properties
     // title
   void SetTitle(const wxString& label);
@@ -111,6 +117,15 @@ public:
   void DestroyMenu(bool full);
   WXWidget FindMenuItem(int id, wxMenuItem **it = NULL) const;
 
   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;
 
 public:
   wxFunction        m_callback;
 
@@ -120,6 +135,7 @@ public:
   wxList            m_menuItems;
   wxEvtHandler *    m_parent;
   wxEvtHandler *    m_eventHandler;
   wxList            m_menuItems;
   wxEvtHandler *    m_parent;
   wxEvtHandler *    m_eventHandler;
+  void*             m_clientData;
 
   //// Motif-specific
   int               m_numColumns;
 
   //// Motif-specific
   int               m_numColumns;
@@ -130,6 +146,9 @@ public:
   wxMenu*           m_topLevelMenu ;
   wxMenu*           m_menuParent;
   bool              m_ownedByMenuBar;
   wxMenu*           m_topLevelMenu ;
   wxMenu*           m_menuParent;
   bool              m_ownedByMenuBar;
+  wxColour          m_foregroundColour;
+  wxColour          m_backgroundColour;
+  wxFont            m_font;
 };
 
 // ----------------------------------------------------------------------------
 };
 
 // ----------------------------------------------------------------------------
@@ -183,6 +202,21 @@ class WXDLLEXPORT wxMenuBar: public wxEvtHandler
   inline WXWidget GetMainWidget() const { return m_mainWidget; }
   inline void SetMainWidget(WXWidget widget) { m_mainWidget = widget; }
 
   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;
  public:
   wxEvtHandler *            m_eventHandler;
   int                       m_menuCount;
@@ -193,6 +227,9 @@ class WXDLLEXPORT wxMenuBar: public wxEvtHandler
   //// Motif-specific
   WXWidget                  m_mainWidget;
 
   //// Motif-specific
   WXWidget                  m_mainWidget;
 
+  wxColour                  m_foregroundColour;
+  wxColour                  m_backgroundColour;
+  wxFont                    m_font;
 };
 
 #endif // _WX_MENU_H_
 };
 
 #endif // _WX_MENU_H_