X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/db51298a741c46719a70884f750befc3b5749036..044388d13fb138fb202f1dd9afab511efd68ad5f:/interface/wx/toolbar.h diff --git a/interface/wx/toolbar.h b/interface/wx/toolbar.h index e0afc16cd9..08bcaa1ca9 100644 --- a/interface/wx/toolbar.h +++ b/interface/wx/toolbar.h @@ -2,7 +2,6 @@ // Name: toolbar.h // Purpose: interface of wxToolBar // Author: wxWidgets team -// RCS-ID: $Id$ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -18,12 +17,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 +47,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 +56,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 +100,6 @@ public: wxControl *GetControl() const; wxToolBarBase *GetToolBar() const; - // style/kind bool IsStretchable() const; bool IsButton() const; bool IsControl() const; @@ -108,12 +109,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 +124,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 +135,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 +218,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 +229,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 +324,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 +722,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); //@} @@ -882,6 +883,8 @@ public: @param id ID of the tool in question, as passed to AddTool(). + @param clientData + The client data to use. */ virtual void SetToolClientData(int id, wxObject* clientData); @@ -892,6 +895,8 @@ public: @param id ID of the tool in question, as passed to AddTool(). + @param bitmap + Bitmap to use for disabled tools. @note The native toolbar classes on the main platforms all synthesize the disabled bitmap from the normal bitmap, so this function will @@ -921,6 +926,8 @@ public: @param id ID of the tool in question, as passed to AddTool(). + @param bitmap + Bitmap to use for normals tools. */ virtual void SetToolNormalBitmap(int id, const wxBitmap& bitmap); @@ -976,5 +983,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() };