\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
+\wxheading{Include files}
+
+<wx/toolbar.h> (to allow wxWindows to select an appropriate toolbar class)\\
+<wx/tbarbase.h> (the base class)\\
+<wx/tbarmsw.h> (the non-Windows 95 Windows toolbar class)\\
+<wx/tbar95.h> (the Windows 95/98 toolbar class)\\
+<wx/tbarsmpl.h> (the generic simple toolbar class)
+
\wxheading{Remarks}
You may also create a toolbar that is managed by the frame, by
calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
{\bf wxToolBar95:} Note that this toolbar paints tools to reflect user-selected colours.
-The toolbar orientation must always be {\bf wxVERTICAL}.
+The toolbar orientation must always be {\bf wxHORIZONTAL}.
+
+{\bf wxToolBarGtk:} The toolbar orientation is ignored and is always {\bf wxHORIZONTAL}.
\wxheading{Window styles}
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
-\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look ('coolbar' or 'flatbar' style). Windows 95 only.}
+\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look ('coolbar' or 'flatbar' style). Windows 95 and GTK 1.2 only.}
+\twocolitem{\windowstyle{wxTB\_DOCKABLE}}{Makes the toolbar floatable and dockable. GTK only.}
\twocolitem{\windowstyle{wxTB\_HORIZONTAL}}{Specifies horizontal layout.}
-\twocolitem{\windowstyle{wxTB\_VERTICAL}}{Specifies vertical layout (not available for the Windows 95
+\twocolitem{\windowstyle{wxTB\_VERTICAL}}{Specifies vertical layout (not available for the GTK and Windows 95
toolbar).}
\twocolitem{\windowstyle{wxTB\_3DBUTTONS}}{Gives wxToolBarSimple a mild 3D look to its buttons.}
\end{twocollist}
This is because the id may be -1 when the mouse moves off a tool, and -1 is not
allowed as an identifier in the event system.
+Note that tool commands (and UI update events for tools) are first sent to
+the focus window within the frame that contains the toolbar. If no window within the frame has the focus,
+then the events are sent directly to the toolbar (and up the hierarchy to the
+frame, depending on where the application has put its event handlers). This allows command and UI update
+handling to be processed by specific windows and controls, and not necessarily
+by the application frame.
+
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
\docparam{bitmap1}{The primary tool bitmap for toggle and button tools.}
\docparam{bitmap2}{The second bitmap specifies the on-state bitmap for a toggle
-tool. If this is NULL, either an inverted version of the primary bitmap is
+tool. If this is wxNullBitmap, either an inverted version of the primary bitmap is
used for the on-state of a toggle tool (monochrome displays) or a black
-border is drawn around the tool (colour displays). Note that to pass a NULL value,
-you need to cast it to (wxBitmap *) so that C++ can construct an appropriate temporary
-wxBitmap object.}
+border is drawn around the tool (colour displays) or the pixmap is shown
+as a pressed button (GTK). }
\docparam{xPos}{Specifies the x position of the tool if automatic layout is not suitable.}
\membersection{wxToolBar::GetMaxSize}\label{wxtoolbargetmaxsize}
-\constfunc{void}{GetMaxSize}{\param{float*}{ w}, \param{float*}{ h}}
+\constfunc{wxSize}{GetMaxSize}{\void}
Gets the maximum size taken up by the tools after layout, including margins.
This can be used to size a frame around the toolbar window.
-\wxheading{Parameters}
-
-\docparam{w}{Receives the maximum horizontal size.}
-
-\docparam{h}{Receives the maximum vertical size.}
-
\membersection{wxToolBar::GetToolClientData}\label{wxtoolbargettoolclientdata}
\constfunc{wxObject*}{GetToolClientData}{\param{int }{toolIndex}}
\func{void}{ToggleTool}{\param{int }{toolIndex}, \param{const bool}{ toggle}}
-Toggles a tool on or off.
+Toggles a tool on or off. This does not cause any event to get emitted.
\wxheading{Parameters}