]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/toolbar.h
Applied patch #15286: documentation and col/rowspan demo by dghart
[wxWidgets.git] / interface / wx / toolbar.h
index e0afc16cd95d31e6d9fe095eadd181075a58bfb2..014a77f00941160e915799567ea81c6cf6702d55 100644 (file)
@@ -18,12 +18,12 @@ enum wxToolBarToolStyle
 enum
 {
     /** lay out the toolbar horizontally */
-    wxTB_HORIZONTAL,
-    wxTB_TOP,
+    wxTB_HORIZONTAL  = wxHORIZONTAL,
+    wxTB_TOP         = wxTB_HORIZONTAL,
 
     /** lay out the toolbar vertically */
-    wxTB_VERTICAL,
-    wxTB_LEFT,
+    wxTB_VERTICAL    = wxVERTICAL,
+    wxTB_LEFT        = wxTB_VERTICAL,
 
     /** show 3D buttons (wxToolBarSimple only) */
     wxTB_3DBUTTONS,
@@ -48,7 +48,7 @@ enum
 
     /** show the text and the icons alongside, not vertically stacked (Win32/GTK) */
     wxTB_HORZ_LAYOUT,
-    wxTB_HORZ_TEXT,
+    wxTB_HORZ_TEXT   = wxTB_HORZ_LAYOUT | wxTB_TEXT,
 
     /** don't show the toolbar short help tooltips */
     wxTB_NO_TOOLTIPS,
@@ -57,7 +57,10 @@ enum
     wxTB_BOTTOM,
 
     /** lay out toolbar at the right edge of the window */
-    wxTB_RIGHT
+    wxTB_RIGHT,
+
+    /** flags that are closest to the native look*/
+    wxTB_DEFAULT_STYLE = wxTB_HORIZONTAL | wxTB_FLAT
 };
 
 
@@ -98,7 +101,6 @@ public:
     wxControl *GetControl() const;
     wxToolBarBase *GetToolBar() const;
 
-    // style/kind
     bool IsStretchable() const;
     bool IsButton() const;
     bool IsControl() const;
@@ -108,12 +110,10 @@ public:
     wxItemKind GetKind() const;
     void MakeStretchable();
 
-    // state
     bool IsEnabled() const;
     bool IsToggled() const;
     bool CanBeToggled() const;
 
-    // attributes
     const wxBitmap& GetNormalBitmap() const;
     const wxBitmap& GetDisabledBitmap() const;
 
@@ -125,7 +125,6 @@ public:
 
     wxObject *GetClientData() const;
 
-    // modifiers: return true if the state really changed
     virtual bool Enable(bool enable);
     virtual bool Toggle(bool toggle);
     virtual bool SetToggle(bool toggle);
@@ -137,14 +136,11 @@ public:
     virtual void SetLabel(const wxString& label);
     void SetClientData(wxObject *clientData);
     
-    // add tool to/remove it from a toolbar
     virtual void Detach();
     virtual void Attach(wxToolBarBase *tbar);
 
-    // 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; }
+    wxMenu *GetDropdownMenu() const;
 };
 
 
@@ -223,6 +219,9 @@ public:
         Align the toolbar at the bottom of parent window.
     @style{wxTB_RIGHT}
         Align the toolbar at the right side of parent window.
+    @style{wxTB_DEFAULT_STYLE}
+        Combination of @c wxTB_HORIZONTAL and @c wxTB_FLAT. This style is new
+        since wxWidgets 2.9.5.
     @endStyleTable
 
     See also @ref overview_windowstyles. Note that the wxMSW native toolbar
@@ -231,27 +230,27 @@ public:
 
     @beginEventEmissionTable{wxCommandEvent}
     @event{EVT_TOOL(id, func)}
-        Process a @c wxEVT_COMMAND_TOOL_CLICKED event (a synonym for @c
-        wxEVT_COMMAND_MENU_SELECTED). Pass the id of the tool.
+        Process a @c wxEVT_TOOL event (a synonym for @c
+        wxEVT_MENU). Pass the id of the tool.
     @event{EVT_MENU(id, func)}
         The same as EVT_TOOL().
     @event{EVT_TOOL_RANGE(id1, id2, func)}
-        Process a @c wxEVT_COMMAND_TOOL_CLICKED event for a range of
+        Process a @c wxEVT_TOOL event for a range of
         identifiers. Pass the ids of the tools.
     @event{EVT_MENU_RANGE(id1, id2, func)}
         The same as EVT_TOOL_RANGE().
     @event{EVT_TOOL_RCLICKED(id, func)}
-        Process a @c wxEVT_COMMAND_TOOL_RCLICKED event. Pass the id of the
+        Process a @c wxEVT_TOOL_RCLICKED event. Pass the id of the
         tool.  (Not available on wxOSX.)
     @event{EVT_TOOL_RCLICKED_RANGE(id1, id2, func)}
-        Process a @c wxEVT_COMMAND_TOOL_RCLICKED event for a range of ids. Pass
+        Process a @c wxEVT_TOOL_RCLICKED event for a range of ids. Pass
         the ids of the tools.  (Not available on wxOSX.)
     @event{EVT_TOOL_ENTER(id, func)}
-        Process a @c wxEVT_COMMAND_TOOL_ENTER event. Pass the id of the toolbar
+        Process a @c wxEVT_TOOL_ENTER event. Pass the id of the toolbar
         itself. The value of wxCommandEvent::GetSelection() is the tool id, or
         -1 if the mouse cursor has moved off a tool.  (Not available on wxOSX.)
     @event{EVT_TOOL_DROPDOWN(id, func)}
-        Process a @c wxEVT_COMMAND_TOOL_DROPDOWN_CLICKED event. If unhandled,
+        Process a @c wxEVT_TOOL_DROPDOWN event. If unhandled,
         displays the default dropdown menu set using
         wxToolBar::SetDropdownMenu().
     @endEventTable
@@ -326,7 +325,7 @@ public:
                                     wxObject* clientData = NULL);
 
     /**
-        Adds any control to the toolbar, typically e.g. a wxComboBox.
+        Adds any control to the toolbar, typically e.g.\ a wxComboBox.
 
         @param control
             The control to be added.
@@ -724,13 +723,16 @@ public:
             the overload taking @a tool parameter the caller is responsible for
             deleting the tool in the latter case.
     */
-    wxToolBarToolBase* InsertTool(size_t pos, int toolId,
-                                  const wxBitmap& bitmap1,
-                                  const wxBitmap& bitmap2 = wxNullBitmap,
-                                  bool isToggle = false,
-                                  wxObject* clientData = NULL,
-                                  const wxString& shortHelpString = wxEmptyString,
-                                  const wxString& longHelpString = wxEmptyString);
+    wxToolBarToolBase* InsertTool(  size_t pos,
+                                    int toolId,
+                                    const wxString& label,
+                                    const wxBitmap& bitmap,
+                                    const wxBitmap& bmpDisabled = wxNullBitmap,
+                                    wxItemKind kind = wxITEM_NORMAL,
+                                    const wxString& shortHelp = wxEmptyString,
+                                    const wxString& longHelp = wxEmptyString,
+                                    wxObject *clientData = NULL);
+
     wxToolBarToolBase* InsertTool(size_t pos,
                                   wxToolBarToolBase* tool);
     //@}
@@ -976,5 +978,28 @@ public:
             tool.
     */
     virtual void ToggleTool(int toolId, bool toggle);
+
+
+    /**
+       Factory function to create a new toolbar tool.
+    */
+    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);
+    /**
+       Factory function to create a new control toolbar tool.
+    */
+    virtual wxToolBarToolBase *CreateTool(wxControl *control,
+                                          const wxString& label);
+
+    /**
+       Factory function to create a new separator toolbar tool.
+    */
+    wxToolBarToolBase *CreateSeparator()
 };