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,
/** 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,
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
};
wxControl *GetControl() const;
wxToolBarBase *GetToolBar() const;
- // style/kind
bool IsStretchable() const;
bool IsButton() const;
bool IsControl() const;
wxItemKind GetKind() const;
void MakeStretchable();
- // state
bool IsEnabled() const;
bool IsToggled() const;
bool CanBeToggled() const;
- // attributes
const wxBitmap& GetNormalBitmap() const;
const wxBitmap& GetDisabledBitmap() const;
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);
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;
};
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
@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
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.
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);
//@}
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()
};