]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/menu.h
Implement support for wxRIBBON_PANEL_EXT_BUTTON wxRibbonPanel style.
[wxWidgets.git] / include / wx / motif / menu.h
index c50ae7865331f4d1c0616259574b2bcdb2ae9437..a48c219af04a68b37b6e250f6ae108bde42ba8d3 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        menu.h
+// Name:        wx/motif/menu.h
 // Purpose:     wxMenu, wxMenuBar classes
 // Author:      Julian Smart
 // Modified by:
 #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_FWD_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
@@ -135,12 +126,12 @@ public:
     virtual wxMenu *Remove(size_t pos);
 
     virtual int FindMenuItem(const wxString& menuString,
-                             const wxString& itemString) const;
+        const wxString& itemString) const;
     virtual wxMenuItem* FindItem( int id, wxMenu **menu = NULL ) const;
 
     virtual void EnableTop( size_t pos, bool flag );
-    virtual void SetLabelTop( size_t pos, const wxString& label );
-    virtual wxString GetLabelTop( size_t pos ) const;
+    virtual void SetMenuLabel( size_t pos, const wxString& label );
+    virtual wxString GetMenuLabel( size_t pos ) const;
 
     // implementation only from now on
     // -------------------------------
@@ -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