]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/menu.h
Keep wxPalmOS buildable after changes in wxConvAuto.
[wxWidgets.git] / include / wx / motif / menu.h
index 50af6f378102d70aa6f2aba1252ea4afde5f83f1..16ecaa5557df0e7d732de0e7cf7bf19331b4b327 100644 (file)
 #ifndef _WX_MOTIF_MENU_H_
 #define _WX_MOTIF_MENU_H_
 
-#ifdef __GNUG__
-#pragma interface "menu.h"
-#endif
-
 #include "wx/colour.h"
 #include "wx/font.h"
+#include "wx/arrstr.h"
 
-class wxFrame;
+class WXDLLIMPEXP_CORE wxFrame;
 
 // ----------------------------------------------------------------------------
 // Menu
 // ----------------------------------------------------------------------------
 
-class wxMenu : public wxMenuBase
+class WXDLLIMPEXP_CORE wxMenu : public wxMenuBase
 {
 public:
     // ctors & dtor
@@ -37,9 +34,9 @@ public:
     virtual ~wxMenu();
     
     // implement base class virtuals
-    virtual bool DoAppend(wxMenuItem *item);
-    virtual bool DoInsert(size_t pos, wxMenuItem *item);
-    virtual wxMenuItem *DoRemove(wxMenuItem *item);
+    virtual wxMenuItem* DoAppend(wxMenuItem *item);
+    virtual wxMenuItem* DoInsert(size_t pos, wxMenuItem *item);
+    virtual wxMenuItemDoRemove(wxMenuItem *item);
     
     virtual void Break();
     
@@ -47,14 +44,6 @@ public:
     
     bool ProcessCommand(wxCommandEvent& event);
     
-    wxMenu(const wxString& title, const wxFunction func)
-        : wxMenuBase(title)
-    {
-        Init();
-        
-        Callback(func);
-    }
-    
     //// Motif-specific
     WXWidget GetButtonWidget() const { return m_buttonWidget; }
     void SetButtonWidget(WXWidget buttonWidget) { m_buttonWidget = buttonWidget; }
@@ -73,8 +62,8 @@ public:
     void HidePopup();
     
     WXWidget CreateMenu(wxMenuBar *menuBar, WXWidget parent, wxMenu *topMenu,
-        const wxString& title = wxEmptyString,
-        bool isPulldown = FALSE);
+        size_t index, const wxString& title = wxEmptyString,
+        bool isPulldown = false);
     
     // For popups, need to destroy, then recreate menu for a different (or
     // possibly same) window, since the parent may change.
@@ -88,12 +77,13 @@ public:
     void SetBackgroundColour(const wxColour& colour);
     void SetForegroundColour(const wxColour& colour);
     void SetFont(const wxFont& colour);
-    void ChangeFont(bool keepOriginalSize = FALSE);
+    void ChangeFont(bool keepOriginalSize = false);
     
     WXWidget GetHandle() const { return m_menuWidget; }
     
     bool IsTearOff() const { return (m_style & wxMENU_TEAROFF) != 0; }
-    
+
+    void DestroyWidgetAndDetach();
 public:
     // Motif-specific data
     int               m_numColumns;
@@ -118,12 +108,13 @@ private:
 // Menu Bar
 // ----------------------------------------------------------------------------
 
-class wxMenuBar : public wxMenuBarBase
+class WXDLLIMPEXP_CORE wxMenuBar : public wxMenuBarBase
 {
 public:
     wxMenuBar() { Init(); }
     wxMenuBar(long WXUNUSED(style)) { Init(); }
-    wxMenuBar(int n, wxMenu *menus[], const wxString titles[]);
+    wxMenuBar(size_t n, wxMenu *menus[], const wxString titles[], long style = 0);
+    wxMenuBar(size_t n, wxMenu *menus[], const wxArrayString& titles, long style = 0);
     virtual ~wxMenuBar();
     
     // implement base class (pure) virtuals
@@ -163,7 +154,7 @@ public:
     virtual bool SetBackgroundColour(const wxColour& colour);
     virtual bool SetForegroundColour(const wxColour& colour);
     virtual bool SetFont(const wxFont& colour);
-    void ChangeFont(bool keepOriginalSize = FALSE);
+    void ChangeFont(bool keepOriginalSize = false);
     
 public:
     // common part of all ctors