X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cc26010927f5bb12825a32487949d063e6c605fc..14619f10b0bdb630206607abd0ce0319d45e095a:/include/wx/tbarbase.h?ds=inline

diff --git a/include/wx/tbarbase.h b/include/wx/tbarbase.h
index 451fb1a1e4..709b7c53ea 100644
--- a/include/wx/tbarbase.h
+++ b/include/wx/tbarbase.h
@@ -199,10 +199,12 @@ public:
     virtual void Detach() { m_tbar = NULL; }
     virtual void Attach(wxToolBarBase *tbar) { m_tbar = tbar; }
 
+#if wxUSE_MENUS
     // these methods are only for tools of wxITEM_DROPDOWN kind (but even such
     // tools can have a NULL associated menu)
     virtual void SetDropdownMenu(wxMenu *menu);
     wxMenu *GetDropdownMenu() const { return m_dropdownMenu; }
+#endif
 
 protected:
     // common part of all ctors
@@ -222,7 +224,10 @@ protected:
         m_toggled = false;
         m_enabled = true;
 
+#if wxUSE_MENUS
         m_dropdownMenu = NULL;
+#endif
+
     }
 
     wxToolBarBase *m_tbar;  // the toolbar to which we belong (may be NULL)
@@ -257,7 +262,9 @@ protected:
     wxString m_shortHelpString;
     wxString m_longHelpString;
 
+#if wxUSE_MENUS
     wxMenu *m_dropdownMenu;
+#endif
 
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxToolBarToolBase)
 };
@@ -466,7 +473,7 @@ public:
         { return GetToolBitmapSize(); }
 
     // returns a (non separator) tool containing the point (x, y) or NULL if
-    // there is no tool at this point (corrdinates are client)
+    // there is no tool at this point (coordinates are client)
     virtual wxToolBarToolBase *FindToolForPosition(wxCoord x,
                                                    wxCoord y) const = 0;
 
@@ -476,6 +483,10 @@ public:
     // return true if this is a vertical toolbar, otherwise false
     bool IsVertical() const;
 
+    // these methods allow to access tools by their index in the toolbar
+    size_t GetToolsCount() const { return m_tools.GetCount(); }
+    const wxToolBarToolBase *GetToolByPos(int pos) const { return m_tools[pos]; }
+
 #if WXWIN_COMPATIBILITY_2_8
     // the old versions of the various methods kept for compatibility
     // don't use in the new code!
@@ -556,21 +567,51 @@ public:
     // use GetToolMargins() instead
     wxSize GetMargins() const { return GetToolMargins(); }
 
+    // Tool factories,
+    // helper functions to create toolbar tools
+    // -------------------------
+    virtual wxToolBarToolBase *CreateTool(int toolid,
+                                          const wxString& label,
+                                          const wxBitmap& bmpNormal,
+                                          const wxBitmap& bmpDisabled = wxNullBitmap,
+                                          wxItemKind kind = wxITEM_NORMAL,
+                                          wxObject *clientData = NULL,
+                                          const wxString& shortHelp = wxEmptyString,
+                                          const wxString& longHelp = wxEmptyString) = 0;
+
+    virtual wxToolBarToolBase *CreateTool(wxControl *control,
+                                          const wxString& label) = 0;
+
+    // this one is not virtual but just a simple helper/wrapper around
+    // CreateTool() for separators
+    wxToolBarToolBase *CreateSeparator()
+    {
+        return CreateTool(wxID_SEPARATOR,
+                          wxEmptyString,
+                          wxNullBitmap, wxNullBitmap,
+                          wxITEM_SEPARATOR, NULL,
+                          wxEmptyString, wxEmptyString);
+    }
+
+    
     // implementation only from now on
     // -------------------------------
 
-    size_t GetToolsCount() const { return m_tools.GetCount(); }
-
     // Do the toolbar button updates (check for EVT_UPDATE_UI handlers)
     virtual void UpdateWindowUI(long flags = wxUPDATE_UI_NONE) ;
 
     // don't want toolbars to accept the focus
     virtual bool AcceptsFocus() const { return false; }
 
+#if wxUSE_MENUS
     // Set dropdown menu
     bool SetDropdownMenu(int toolid, wxMenu *menu);
+#endif
 
 protected:
+    // choose the default border for this window
+    virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
+
     // to implement in derived classes
     // -------------------------------
 
@@ -607,29 +648,6 @@ protected:
     // called when the tools "can be toggled" flag changes
     virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle) = 0;
 
-    // the functions to create toolbar tools
-    virtual wxToolBarToolBase *CreateTool(int toolid,
-                                          const wxString& label,
-                                          const wxBitmap& bmpNormal,
-                                          const wxBitmap& bmpDisabled,
-                                          wxItemKind kind,
-                                          wxObject *clientData,
-                                          const wxString& shortHelp,
-                                          const wxString& longHelp) = 0;
-
-    virtual wxToolBarToolBase *CreateTool(wxControl *control,
-                                          const wxString& label) = 0;
-
-    // this one is not virtual but just a simple helper/wrapper around
-    // CreateTool() for separators
-    wxToolBarToolBase *CreateSeparator()
-    {
-        return CreateTool(wxID_SEPARATOR,
-                          wxEmptyString,
-                          wxNullBitmap, wxNullBitmap,
-                          wxITEM_SEPARATOR, NULL,
-                          wxEmptyString, wxEmptyString);
-    }
 
     // helper functions
     // ----------------