X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a660d684eda27638bca0384b2058911a31c8e845..4346581b7c6548fdef1486564787154d20a401df:/docs/latex/wx/toolbar.tex diff --git a/docs/latex/wx/toolbar.tex b/docs/latex/wx/toolbar.tex index 7601e65627..bb7f8ada0b 100644 --- a/docs/latex/wx/toolbar.tex +++ b/docs/latex/wx/toolbar.tex @@ -1,71 +1,204 @@ -\section{\class{wxToolBarBase}}\label{wxtoolbarbase} +\section{\class{wxToolBar}}\label{wxtoolbar} -{\bf wxToolBarBase} is the base class for a number of toolbar classes. The most portable -one of these is the generic \helpref{wxToolBarSimple}{wxtoolbarsimple} class. {\bf wxToolBarBase} defines -automatic scrolling management functionality which is identical to \helpref{wxScrolledWindow}{wxscrolledwindow}, -so please refer to this class also. +The name wxToolBar is defined to be a synonym for one of the following classes: + +\begin{itemize}\itemsep=0pt +\item {\bf wxToolBar95} The native Windows 95 toolbar. Used on Windows 95, NT 4 and above. +\item {\bf wxToolBarMSW} A Windows implementation. Used on 16-bit Windows. +\item {\bf wxToolBarGTK} The GTK toolbar. +\end{itemize} \wxheading{Derived from} +wxToolBarBase\\ \helpref{wxControl}{wxcontrol}\\ \helpref{wxWindow}{wxwindow}\\ \helpref{wxEvtHandler}{wxevthandler}\\ \helpref{wxObject}{wxobject} +\wxheading{Include files} + + (to allow wxWidgets to select an appropriate toolbar class)\\ + (the base class) + \wxheading{Remarks} -Because there is a variety of toolbar classes, you may wish to choose which class -is best for your application on each platform, and define {\bf wxToolBar} appropriately. For example: +You may also create a toolbar that is managed by the frame, by +calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}. Under Pocket PC, +you should \arg{always} use this function for creating the toolbar +to be managed by the frame, so that wxWidgets can use a combined +menubar and toolbar. Where you manage your own toolbars, create a wxToolBar +as usual. + +The meaning of a "separator" is a vertical line under Windows and simple space under GTK+. + +{\bf wxToolBar95:} Note that this toolbar paints tools to reflect system-wide colours. +If you use more than 16 colours in your tool bitmaps, you may wish to suppress +this behaviour, otherwise system colours in your bitmaps will inadvertently be +mapped to system colours. To do this, set the {\tt msw.remap} system option +before creating the toolbar: + +\begin{verbatim} + wxSystemOptions::SetOption(wxT("msw.remap"), 0); +\end{verbatim} + +If you wish to use 32-bit images (which include an alpha channel for transparency) +use: \begin{verbatim} -#if WIN95 -class wxToolBar: public wxToolBar95 -#elif defined(wx_msw) -class wxToolBar: public wxToolBarMSW -#else -class wxToolBar: public wxToolBarSimple -#endif -{ -}; + wxSystemOptions::SetOption(wxT("msw.remap"), 2); \end{verbatim} -TODO: maybe change the confusing names: GetDefaultSize becomes GetToolBitmapSize, and -GetDefaultButtonSize becomes GetToolSize. Document SetRows for wxToolBar95, and make it -part of the base API? +then colour remapping is switched off, and a transparent background used. But only +use this option under Windows XP with true colour: + +\begin{verbatim} + (wxTheApp->GetComCtl32Version() >= 600 && ::wxDisplayDepth() >= 32) +\end{verbatim} + +\wxheading{Window styles} + +\twocolwidtha{5cm} +\begin{twocollist}\itemsep=0pt +\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look (Windows and GTK only).} +\twocolitem{\windowstyle{wxTB\_DOCKABLE}}{Makes the toolbar floatable and dockable (GTK only).} +\twocolitem{\windowstyle{wxTB\_HORIZONTAL}}{Specifies horizontal layout (default).} +\twocolitem{\windowstyle{wxTB\_VERTICAL}}{Specifies vertical layout.} +\twocolitem{\windowstyle{wxTB\_TEXT}}{Shows the text in the toolbar buttons; by default only icons are shown.} +\twocolitem{\windowstyle{wxTB\_NOICONS}}{Specifies no icons in the toolbar buttons; by default they are shown.} +\twocolitem{\windowstyle{wxTB\_NODIVIDER}}{Specifies no divider (border) above the toolbar (Windows only).} +\twocolitem{\windowstyle{wxTB\_NOALIGN}}{Specifies no alignment with the parent window (Windows only, not very useful).} +\twocolitem{\windowstyle{wxTB\_HORZ\_LAYOUT}}{Shows the text and the icons alongside, not vertically stacked (Windows and GTK +2 only). This style must be used with wxTB\_TEXT.} +\twocolitem{\windowstyle{wxTB\_HORZ\_TEXT}}{Combination of wxTB\_HORZ\_LAYOUT and wxTB\_TEXT.} +\twocolitem{\windowstyle{wxTB\_NO\_TOOLTIPS}}{Don't show the short help tooltips for the tools when the mouse hovers over them.} +\twocolitem{\windowstyle{wxTB\_BOTTOM}}{Align the toolbar at the bottom of parent window.} +\twocolitem{\windowstyle{wxTB\_RIGHT}}{Align the toolbar at the right side of parent window.} +\end{twocollist} + +See also \helpref{window styles overview}{windowstyles}. Note that the Win32 +native toolbar ignores {\tt wxTB\_NOICONS} style. Also, toggling the +{\tt wxTB\_TEXT} works only if the style was initially on. \wxheading{Event handling} -Derive a new class from an existing toolbar class, and override appropriate virtual functions. +The toolbar class emits menu commands in the same way that a frame menubar does, +so you can use one EVT\_MENU macro for both a menu item and a toolbar button. +The event handler functions take a wxCommandEvent argument. For most event macros, +the identifier of the tool is passed, but for EVT\_TOOL\_ENTER the toolbar +window identifier is passed and the tool identifier is retrieved from the wxCommandEvent. +This is because the identifier may be -1 when the mouse moves off a tool, and -1 is not +allowed as an identifier in the event system. -TODO: make consistent with other event handling; have wxToolBarEvent and appropriate macros. +\twocolwidtha{7cm} +\begin{twocollist}\itemsep=0pt +\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event +(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.} +\twocolitem{{\bf EVT\_MENU(id, func)}}{The same as EVT\_TOOL.} +\twocolitem{{\bf EVT\_TOOL\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event +for a range of identifiers. Pass the ids of the tools.} +\twocolitem{{\bf EVT\_MENU\_RANGE(id1, id2, func)}}{The same as EVT\_TOOL\_RANGE.} +\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event. +Pass the id of the tool.} +\twocolitem{{\bf EVT\_TOOL\_RCLICKED\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event +for a range of ids. Pass the ids of the tools.} +\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_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.} +\twocolitem{{\bf EVT\_TOOL\_DROPDOWN(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_DROPDOWN\_CLICKED event. If unhandled, displays the default dropdown menu set using \helpref{wxToolBar::SetDropdownMenu}{wxtoolbarsetdropdownmenu}.} +\end{twocollist} + +\wxheading{wxItemKind} + +There are several different types of tools you can add to a toolbar. These +types are controlled by the wxItemKind enumeration which has the following +values: +\twocolwidtha{5cm} +\begin{twocollist}\itemsep=0pt +\twocolitem{{\bf wxITEM\_NORMAL}}{Normal tool button} +\twocolitem{{\bf wxITEM\_CHECK}}{Check (or toggle) tool button.} +\twocolitem{{\bf wxITEM\_NORMAL}}{Radio tool button. See \helpref{wxToolBar::AddRadioTool}{wxtoolbaraddradiotool} for details} +\twocolitem{{\bf wxITEM\_DROPDOWN}}{Normal tool button with a dropdown arrow +next to it. Clicking the dropdown arrow sends a wxEVT\_COMMAND\_TOOL\_DROPDOWN\_CLICKED +event and may also display the menu previously associated with the item with +\helpref{wxToolBar::SetDropdownMenu}{wxtoolbarsetdropdownmenu}. Currently this +type of tools is supported under MSW and GTK.} +\end{twocollist} \wxheading{See also} \overview{Toolbar overview}{wxtoolbaroverview},\rtfsp -\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp -\helpref{wxToolBarMSW}{wxtoolbarmsw},\rtfsp -\helpref{wxToolBar95}{wxtoolbar95},\rtfsp \helpref{wxScrolledWindow}{wxscrolledwindow} \latexignore{\rtfignore{\wxheading{Members}}} -\membersection{wxToolBarBase::wxToolBarBase}\label{wxtoolbarbaseconstr} -\func{}{wxToolBarBase}{\void} +\membersection{wxToolBar::wxToolBar}\label{wxtoolbarconstr} + +\func{}{wxToolBar}{\void} Default constructor. -%\wxheading{See also} -% -%\helpref{wxToolBarBase::Create}{wxtoolbarbasecreate} -% -\membersection{wxToolBarBase::\destruct{wxToolBarBase}} +\func{}{wxToolBar}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, + \param{const wxPoint\& }{pos = wxDefaultPosition}, + \param{const wxSize\& }{size = wxDefaultSize}, + \param{long }{style = wxTB\_HORIZONTAL \pipe wxBORDER\_NONE}, + \param{const wxString\& }{name = wxPanelNameStr}} -\func{void}{\destruct{wxToolBarBase}}{\void} +Constructs a toolbar. + +\wxheading{Parameters} + +\docparam{parent}{Pointer to a parent window.} + +\docparam{id}{Window identifier. If -1, will automatically create an identifier.} + +\docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxWidgets +should generate a default position for the window. If using the wxWindow class directly, supply +an actual position.} + +\docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxWidgets +should generate a default size for the window.} + +\docparam{style}{Window style. See \helpref{wxToolBar}{wxtoolbar} for details.} + +\docparam{name}{Window name.} + +\wxheading{Remarks} + +After a toolbar is created, you use \helpref{wxToolBar::AddTool}{wxtoolbaraddtool} and +perhaps \helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator}, and then you +must call \helpref{wxToolBar::Realize}{wxtoolbarrealize} to construct and display the toolbar +tools. + +You may also create a toolbar that is managed by the frame, by +calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}. + + +\membersection{wxToolBar::\destruct{wxToolBar}}\label{wxtoolbardtor} + +\func{void}{\destruct{wxToolBar}}{\void} Toolbar destructor. -\membersection{wxToolBarBase::AddSeparator}\label{wxtoolbarbaseaddseparator} + +\membersection{wxToolBar::AddControl}\label{wxtoolbaraddcontrol} + +\func{bool}{AddControl}{\param{wxControl*}{ control}, \param{const wxString&}{ label = ""}} + +Adds any control to the toolbar, typically e.g. a combobox. + +\docparam{control}{The control to be added.} + +\docparam{label}{Text to be displayed near the control.} + +\wxheading{Remarks} + +wxMSW: the label is only displayed if there is enough space available below the embedded control. + +wxMac: labels are only displayed if wxWidgets is built with wxMAC\_USE\_NATIVE\_TOOLBAR set to 1 + + +\membersection{wxToolBar::AddSeparator}\label{wxtoolbaraddseparator} \func{void}{AddSeparator}{\void} @@ -73,109 +206,192 @@ Adds a separator for spacing groups of tools. \wxheading{See also} -\helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}, \helpref{wxToolBarBase::SetToolSeparation}{wxtoolbarbasesettoolseparation} +\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::SetToolSeparation}{wxtoolbarsettoolseparation} + + +\membersection{wxToolBar::AddTool}\label{wxtoolbaraddtool} -\membersection{wxToolBarBase::AddTool}\label{wxtoolbarbaseaddtool} +\func{wxToolBarToolBase*}{AddTool}{\param{int}{ toolId},\rtfsp +\param{const wxString\&}{ label},\rtfsp +\param{const wxBitmap\&}{ bitmap1},\rtfsp +\param{const wxString\& }{shortHelpString = ""},\rtfsp +\param{wxItemKind}{ kind = wxITEM\_NORMAL}} -\func{wxToolBarBaseTool*}{AddTool}{\param{const int}{ toolIndex}, \param{const wxBitmap\&}{ bitmap1},\rtfsp -\param{const wxBitmap\&}{ bitmap2 = (wxBitmap *)NULL}, \param{const bool}{ isToggle = FALSE},\rtfsp -\param{const float}{ xPos = -1}, \param{const float}{ yPos = -1},\rtfsp -\param{wxObject *}{clientData = NULL}, \param{const wxString\& }{shortHelpString = ""}, \param{const wxString\& }{longHelpString = ""}} +\func{wxToolBarToolBase*}{AddTool}{\param{int}{ toolId},\rtfsp +\param{const wxString\&}{ label},\rtfsp +\param{const wxBitmap\&}{ bitmap1},\rtfsp +\param{const wxBitmap\&}{ bitmap2 = wxNullBitmap},\rtfsp +\param{wxItemKind}{ kind = wxITEM\_NORMAL},\rtfsp +\param{const wxString\& }{shortHelpString = ""}, +\param{const wxString\& }{longHelpString = ""},\rtfsp +\param{wxObject* }{clientData = \NULL}} -Adds a tool to the toolbar. +\func{wxToolBarToolBase*}{AddTool}{\param{wxToolBarToolBase* }{tool}} + +Adds a tool to the toolbar. The first (short and most commonly used) version +has fewer parameters than the full version at the price of not being able to +specify some of the more rarely used button features. The last version allows +you to add an existing tool. \wxheading{Parameters} -\docparam{toolIndex}{An integer by which +\docparam{toolId}{An integer by which the tool may be identified in subsequent operations.} -\docparam{isToggle}{Specifies whether the tool is a toggle or not: a toggle tool may be in -two states, whereas a non-toggle tool is just a button.} +\docparam{kind}{May be wxITEM\_NORMAL for a normal button (default), +wxITEM\_CHECK for a checkable tool (such tool stays pressed after it had been +toggled) or wxITEM\_RADIO for a checkable tool which makes part of a radio +group of tools each of which is automatically unchecked whenever another button +in the group is checked} -\docparam{bitmap1}{The primary tool bitmap for toggle and button tools.} +\docparam{bitmap1}{The primary tool bitmap.} -\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 -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.} +\docparam{bitmap2}{The bitmap used when the tool is disabled. If it is equal to +wxNullBitmap, the disabled bitmap is automatically generated by greing the +normal one.} -\docparam{xPos}{Specifies the x position of the tool if automatic layout is not suitable.} +\docparam{shortHelpString}{This string is used for the tools tooltip} -\docparam{yPos}{Specifies the y position of the tool if automatic layout is not suitable.} +\docparam{longHelpString}{This string is shown in the statusbar (if any) of the +parent frame when the mouse pointer is inside the tool} \docparam{clientData}{An optional pointer to client data which can be -retrieved later using \helpref{wxToolBarBase::GetToolClientData}{wxtoolbarbasegettoolclientdata}.} +retrieved later using \helpref{wxToolBar::GetToolClientData}{wxtoolbargettoolclientdata}.} -\docparam{shortHelpString}{Used for displaying a tooltip for the tool in the -Windows 95 implementation of wxButtonBar. Pass the empty string if this is not required.} +\docparam{tool}{The tool to be added.} -\docparam{longHelpString}{Used to displayer longer help, such as status line help. -Pass the empty string if this is not required.} +\wxheading{Remarks} + +After you have added tools to a toolbar, you must call \helpref{wxToolBar::Realize}{wxtoolbarrealize} in +order to have the tools appear. \wxheading{See also} -\helpref{wxToolBarBase::AddSeparator}{wxtoolbarbaseaddseparator} +\helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator},\rtfsp +\helpref{wxToolBar::AddCheckTool}{wxtoolbaraddchecktool},\rtfsp +\helpref{wxToolBar::AddRadioTool}{wxtoolbaraddradiotool},\rtfsp +\helpref{wxToolBar::InsertTool}{wxtoolbarinserttool},\rtfsp +\helpref{wxToolBar::DeleteTool}{wxtoolbardeletetool},\rtfsp +\helpref{wxToolBar::Realize}{wxtoolbarrealize} -\membersection{wxToolBarBase::CreateTools}\label{wxtoolbarbasecreatetools} -\func{bool}{CreateTools}{\void} +\membersection{wxToolBar::AddCheckTool}\label{wxtoolbaraddchecktool} -Call this function after all tools have been added to the toolbar, to actually -create the tools. +\func{wxToolBarToolBase*}{AddCheckTool}{\param{int}{ toolId},\rtfsp +\param{const wxString\&}{ label},\rtfsp +\param{const wxBitmap\&}{ bitmap1},\rtfsp +\param{const wxBitmap\&}{ bitmap2},\rtfsp +\param{const wxString\& }{shortHelpString = ""},\rtfsp +\param{const wxString\& }{longHelpString = ""},\rtfsp +\param{wxObject* }{clientData = \NULL}} -\wxheading{Remarks} +Adds a new check (or toggle) tool to the toolbar. The parameters are the same +as in \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}. + +\wxheading{See also} -Strictly speaking, this is required only for the Windows 95 version of wxButtonBar, -but for portability it should be called anyway. +\helpref{wxToolBar::AddTool}{wxtoolbaraddtool} + + +\membersection{wxToolBar::AddRadioTool}\label{wxtoolbaraddradiotool} + +\func{wxToolBarToolBase*}{AddRadioTool}{\param{int}{ toolId},\rtfsp +\param{const wxString\&}{ label},\rtfsp +\param{const wxBitmap\&}{ bitmap1},\rtfsp +\param{const wxBitmap\&}{ bitmap2},\rtfsp +\param{const wxString\& }{shortHelpString = ""},\rtfsp +\param{const wxString\& }{longHelpString = ""},\rtfsp +\param{wxObject* }{clientData = \NULL}} + +Adds a new radio tool to the toolbar. Consecutive radio tools form a radio +group such that exactly one button in the group is pressed at any moment, in +other words whenever a button in the group is pressed the previously pressed +button is automatically released. You should avoid having the radio groups of +only one element as it would be impossible for the user to use such button. + +By default, the first button in the radio group is initially pressed, the +others are not. \wxheading{See also} -\helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool} +\helpref{wxToolBar::AddTool}{wxtoolbaraddtool} -\membersection{wxToolBarBase::DrawTool}\label{wxtoolbarbasedrawtool} +\membersection{wxToolBar::ClearTools}\label{wxtoolbarcleartools} -\func{void}{DrawTool}{\param{wxMemoryDC\& }{memDC}, \param{wxToolBarBaseTool* }{tool}} +\func{void}{ClearTools}{\void} -Draws the specified tool onto the canvas using the given memory device context. +Deletes all the tools in the toolbar. -\wxheading{Parameters} +\membersection{wxToolBar::DeleteTool}\label{wxtoolbardeletetool} -\docparam{memDC}{A memory DC to be used for drawing the tool.} +\func{bool}{DeleteTool}{\param{int }{toolId}} -\docparam{tool}{Tool to be drawn.} +Removes the specified tool from the toolbar and deletes it. If you don't want +to delete the tool, but just to remove it from the toolbar (to possibly add it +back later), you may use \helpref{RemoveTool}{wxtoolbarremovetool} instead. -\wxheading{Remarks} +Note that it is unnecessary to call \helpref{Realize}{wxtoolbarrealize} for the +change to take place, it will happen immediately. + +Returns true if the tool was deleted, false otherwise. -For internal use only. +\wxheading{See also} + +\helpref{DeleteToolByPos}{wxtoolbardeletetoolbypos} + + +\membersection{wxToolBar::DeleteToolByPos}\label{wxtoolbardeletetoolbypos} + +\func{bool}{DeleteToolByPos}{\param{size\_t }{pos}} -\membersection{wxToolBarBase::EnableTool}\label{wxtoolbarbaseenabletool} +This function behaves like \helpref{DeleteTool}{wxtoolbardeletetool} but it +deletes the tool at the specified position and not the one with the given id. -\func{void}{EnableTool}{\param{const int }{toolIndex}, \param{const bool}{ enable}} + +\membersection{wxToolBar::EnableTool}\label{wxtoolbarenabletool} + +\func{void}{EnableTool}{\param{int }{toolId}, \param{bool}{ enable}} Enables or disables the tool. \wxheading{Parameters} -\docparam{toolIndex}{Tool to enable or disable.} +\docparam{toolId}{Tool to enable or disable.} -\docparam{enable}{If TRUE, enables the tool, otherwise disables it.} +\docparam{enable}{If true, enables the tool, otherwise disables it.} + +{\bf NB:} This function should only be called after +\helpref{Realize}{wxtoolbarrealize}. \wxheading{Remarks} -For \helpref{wxToolBarSimple}{wxtoolbarsimple}, does nothing. Some other implementations -will change the visible state of the tool to indicate that it is disabled. +Some implementations will change the visible state of the tool to indicate that it is disabled. \wxheading{See also} -\helpref{wxToolBarBase::GetToolEnabled}{wxtoolbarbasegettoolenabled},\rtfsp -%\helpref{wxToolBarBase::SetToolState}{wxtoolbarbasesettoolstate},\rtfsp -\helpref{wxToolBarBase::ToggleTool}{wxtoolbarbasetoggletool} +\helpref{wxToolBar::GetToolEnabled}{wxtoolbargettoolenabled},\rtfsp +\helpref{wxToolBar::ToggleTool}{wxtoolbartoggletool} + -\membersection{wxToolBarBase::FindToolForPosition}\label{wxtoolbarbasefindtoolforposition} +\membersection{wxToolBar::FindById}\label{wxtoolbarfindbyid} -\constfunc{wxToolBarBaseTool*}{FindToolForPosition}{\param{const float}{ x}, \param{const float}{ y}} +\func{wxToolBarToolBase*}{FindById}{\param{int }{id}} + +Returns a pointer to the tool identified by \arg{id} or +\NULL if no corresponding tool is found. + + +\membersection{wxToolBar::FindControl}\label{wxtoolbarfindcontrol} + +\func{wxControl*}{FindControl}{\param{int }{id}} + +Returns a pointer to the control identified by \arg{id} or +\NULL if no corresponding control is found. + + +\membersection{wxToolBar::FindToolForPosition}\label{wxtoolbarfindtoolforposition} + +\constfunc{wxToolBarToolBase*}{FindToolForPosition}{\param{wxCoord }{x}, \param{wxCoord }{y}} Finds a tool for the given mouse position. @@ -187,41 +403,51 @@ Finds a tool for the given mouse position. \wxheading{Return value} -A pointer to a tool if a tool is found, or NULL otherwise. +A pointer to a tool if a tool is found, or \NULL otherwise. \wxheading{Remarks} -Used internally, and should not need to be used by the programmer. +Currently not implemented in wxGTK (always returns \NULL there). + -\membersection{wxToolBarBase::GetDefaultButtonSize}\label{wxtoolbarbasegetdefaultbuttonsize} +\membersection{wxToolBar::GetToolsCount}\label{wxtoolbargettoolscount} -\func{wxSize}{GetDefaultButtonSize}{\void} +\constfunc{int}{GetToolsCount}{\void} + +Returns the number of tools in the toolbar. + + +\membersection{wxToolBar::GetToolSize}\label{wxtoolbargettoolsize} + +\func{wxSize}{GetToolSize}{\void} Returns the size of a whole button, which is usually larger than a tool bitmap because of added 3D effects. \wxheading{See also} -\helpref{wxToolBarBase::SetDefaultSize}{wxtoolbarbasesetdefaultsize},\rtfsp -\helpref{wxToolBarBase::GetDefaultSize}{wxtoolbarbasegetdefaultsize} +\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp +\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize} + -\membersection{wxToolBarBase::GetDefaultSize}\label{wxtoolbarbasegetdefaultsize} +\membersection{wxToolBar::GetToolBitmapSize}\label{wxtoolbargettoolbitmapsize} -\func{wxSize}{GetDefaultSize}{\void} +\func{wxSize}{GetToolBitmapSize}{\void} Returns the size of bitmap that the toolbar expects to have. The default bitmap size is 16 by 15 pixels. \wxheading{Remarks} -Note that this is the size of the bitmap you pass to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}, +Note that this is the size of the bitmap you pass to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, and not the eventual size of the tool button. \wxheading{See also} -\helpref{wxToolBarBase::SetDefaultSize}{wxtoolbarbasesetdefaultsize},\rtfsp -\helpref{wxToolBarBase::GetDefaultButtonSize}{wxtoolbarbasegetdefaultbuttonsize} +\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp +\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize} -\membersection{wxToolBarBase::GetMargins}\label{wxtoolbarbasegetmargins} + +\membersection{wxToolBar::GetMargins}\label{wxtoolbargetmargins} \constfunc{wxSize}{GetMargins}{\void} @@ -229,69 +455,60 @@ Returns the left/right and top/bottom margins, which are also used for inter-too \wxheading{See also} -\helpref{wxToolBarBase::SetMargins}{wxtoolbarbasesetmargins} - -\membersection{wxToolBarBase::GetMaxSize}\label{wxtoolbarbasegetmaxsize} - -\constfunc{void}{GetMaxSize}{\param{float*}{ w}, \param{float*}{ h}} - -Gets the maximum size taken up by the tools after layout, including margins. -This can be used to size a frame around the toolbar canvas. +\helpref{wxToolBar::SetMargins}{wxtoolbarsetmargins} -\wxheading{Parameters} - -\docparam{w}{Receives the maximum horizontal size.} - -\docparam{h}{Receives the maximum vertical size.} -\membersection{wxToolBarBase::GetToolClientData}\label{wxtoolbarbasegettoolclientdata} +\membersection{wxToolBar::GetToolClientData}\label{wxtoolbargettoolclientdata} -\constfunc{wxObject*}{GetToolClientData}{\param{const int }{toolIndex}} +\constfunc{wxObject*}{GetToolClientData}{\param{int }{toolId}} Get any client data associated with the tool. \wxheading{Parameters} -\docparam{toolIndex}{Index of the tool, as passed to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.} +\docparam{toolId}{Id of the tool, as passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.} \wxheading{Return value} -Client data, or NULL if there is none. +Client data, or \NULL if there is none. -\membersection{wxToolBarBase::GetToolEnabled}\label{wxtoolbarbasegettoolenabled} -\constfunc{bool}{GetToolEnabled}{\param{const int }{toolIndex}} +\membersection{wxToolBar::GetToolEnabled}\label{wxtoolbargettoolenabled} + +\constfunc{bool}{GetToolEnabled}{\param{int }{toolId}} Called to determine whether a tool is enabled (responds to user input). \wxheading{Parameters} -\docparam{toolIndex}{Index of the tool in question.} +\docparam{toolId}{Id of the tool in question.} \wxheading{Return value} -TRUE if the tool is enabled, FALSE otherwise. +true if the tool is enabled, false otherwise. -%\wxheading{See also} -% -%\helpref{wxToolBarBase::SetToolEnabled}{wxtoolbarbasesettoolenabled} -% -\membersection{wxToolBarBase::GetToolLongHelp}\label{wxtoolbarbasegettoollonghelp} +\wxheading{See also} -\constfunc{wxString}{GetToolLongHelp}{\param{const int }{toolIndex}} +\helpref{wxToolBar::EnableTool}{wxtoolbarenabletool} + + +\membersection{wxToolBar::GetToolLongHelp}\label{wxtoolbargettoollonghelp} + +\constfunc{wxString}{GetToolLongHelp}{\param{int }{toolId}} Returns the long help for the given tool. \wxheading{Parameters} -\docparam{toolIndex}{The tool in question.} +\docparam{toolId}{The tool in question.} \wxheading{See also} -\helpref{wxToolBarBase::SetToolLongHelp}{wxtoolbarbasesettoollonghelp},\rtfsp -\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp}\rtfsp +\helpref{wxToolBar::SetToolLongHelp}{wxtoolbarsettoollonghelp},\rtfsp +\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp + -\membersection{wxToolBarBase::GetToolPacking}\label{wxtoolbarbasegettoolpacking} +\membersection{wxToolBar::GetToolPacking}\label{wxtoolbargettoolpacking} \constfunc{int}{GetToolPacking}{\void} @@ -299,9 +516,17 @@ Returns the value used for packing tools. \wxheading{See also} -\helpref{wxToolBarBase::SetToolPacking}{wxtoolbarbasesettoolpacking} +\helpref{wxToolBar::SetToolPacking}{wxtoolbarsettoolpacking} -\membersection{wxToolBarBase::GetToolSeparation}\label{wxtoolbarbasegettoolseparation} + +\membersection{wxToolBar::GetToolPos}\label{wxtoolbargettoolpos} + +\constfunc{int}{GetToolPos}{\param{int }{toolId}} + +Returns the tool position in the toolbar, or {\tt wxNOT\_FOUND} if the tool is not found. + + +\membersection{wxToolBar::GetToolSeparation}\label{wxtoolbargettoolseparation} \constfunc{int}{GetToolSeparation}{\void} @@ -309,462 +534,385 @@ Returns the default separator size. \wxheading{See also} -\helpref{wxToolBarBase::SetToolSeparation}{wxtoolbarbasesettoolseparation} +\helpref{wxToolBar::SetToolSeparation}{wxtoolbarsettoolseparation} -\membersection{wxToolBarBase::GetToolShortHelp}\label{wxtoolbarbasegettoolshorthelp} -\constfunc{wxString}{GetToolShortHelp}{\param{const int }{toolIndex}} +\membersection{wxToolBar::GetToolShortHelp}\label{wxtoolbargettoolshorthelp} -Returns the short help for the given tool. +\constfunc{wxString}{GetToolShortHelp}{\param{int }{toolId}} -Returns the long help for the given tool. +Returns the short help for the given tool. \wxheading{Parameters} -\docparam{toolIndex}{The tool in question.} +\docparam{toolId}{The tool in question.} \wxheading{See also} -\helpref{wxToolBarBase::GetToolLongHelp}{wxtoolbarbasegettoollonghelp},\rtfsp -\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp}\rtfsp +\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp +\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp + -\membersection{wxToolBarBase::GetToolState}\label{wxtoolbarbasegettoolstate} +\membersection{wxToolBar::GetToolState}\label{wxtoolbargettoolstate} -\constfunc{bool}{GetToolState}{\param{const int }{toolIndex}} +\constfunc{bool}{GetToolState}{\param{int }{toolId}} Gets the on/off state of a toggle tool. \wxheading{Parameters} -\docparam{toolIndex}{The tool in question.} +\docparam{toolId}{The tool in question.} \wxheading{Return value} -TRUE if the tool is toggled on, FALSE otherwise. +true if the tool is toggled on, false otherwise. -%\wxheading{See also} -% -%\helpref{wxToolBarBase::SetToolState}{wxtoolbarbasesettoolstate} -% -\membersection{wxToolBarBase::Layout}\label{wxtoolbarbaselayout} - -\func{void}{Layout}{\void} - -Called by the application after the tools have been added to -automatically lay the tools out on the canvas. If you have given -absolute positions when adding the tools, do not call this. - -\membersection{wxToolBarBase::OnLeftClick}\label{wxtoolbarbaseonleftclick} +\wxheading{See also} -\func{bool}{OnLeftClick}{\param{int}{ toolIndex}, \param{bool}{ toggleDown}} +\helpref{wxToolBar::ToggleTool}{wxtoolbartoggletool} -Called when the user clicks on a tool with the left mouse button. The -programmer should override this function to detect left tool clicks. -\wxheading{Parameters} +\membersection{wxToolBar::InsertControl}\label{wxtoolbarinsertcontrol} -\docparam{toolIndex}{The identifier passed to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.} +\func{wxToolBarToolBase *}{InsertControl}{\param{size\_t }{pos}, \param{wxControl *}{control}} -\docparam{toggleDown}{TRUE if the tool is a toggle and the toggle is down, otherwise is FALSE.} +Inserts the control into the toolbar at the given position. -\wxheading{Return value} - -If the tool is a toggle and this function returns FALSE, the toggle -toggle state (internal and visual) will not be changed. This provides a way of -specifying that toggle operations are not permitted in some circumstances. +You must call \helpref{Realize}{wxtoolbarrealize} for the change to take place. \wxheading{See also} -\helpref{wxToolBarBase::OnMouseEnter}{wxtoolbarbaseonmouseenter},\rtfsp -\helpref{wxToolBarBase::OnRightClick}{wxtoolbarbaseonrightclick} +\helpref{AddControl}{wxtoolbaraddcontrol},\\ +\helpref{InsertTool}{wxtoolbarinserttool} -\membersection{wxToolBarBase::OnMouseEnter}\label{wxtoolbarbaseonmouseenter} -\func{void}{OnMouseEnter}{\param{int}{ toolIndex}} +\membersection{wxToolBar::InsertSeparator}\label{wxtoolbarinsertseparator} -This is called when the mouse cursor moves into a tool or out of -the toolbar. +\func{wxToolBarToolBase *}{InsertSeparator}{\param{size\_t }{pos}} -\wxheading{Parameters} +Inserts the separator into the toolbar at the given position. -\docparam{toolIndex}{Greater than -1 if the mouse cursor has moved into the tool, -or -1 if the mouse cursor has moved. The -programmer can override this to provide extra information about the tool, -such as a short description on the status line.} - -\wxheading{Remarks} +You must call \helpref{Realize}{wxtoolbarrealize} for the change to take place. -With some derived toolbar classes, if the mouse moves quickly out of the toolbar, wxWindows may not be able to -detect it. Therefore this function may not always be called when expected. +\wxheading{See also} -\membersection{wxToolBarBase::OnRightClick}\label{wxtoolbarbaseonrightclick} +\helpref{AddSeparator}{wxtoolbaraddseparator},\\ +\helpref{InsertTool}{wxtoolbarinserttool} -\func{void}{OnRightClick}{\param{int}{ toolIndex}, \param{float}{ x}, \param{float}{ y}} -Called when the user clicks on a tool with the right mouse button. The -programmer should override this function to detect right tool clicks. +\membersection{wxToolBar::InsertTool}\label{wxtoolbarinserttool} -\wxheading{Parameters} +\func{wxToolBarToolBase *}{InsertTool}{\param{size\_t }{pos},\rtfsp +\param{int}{ toolId}, \param{const wxBitmap\&}{ bitmap1},\rtfsp +\param{const wxBitmap\&}{ bitmap2 = wxNullBitmap}, \param{bool}{ isToggle = false},\rtfsp +\param{wxObject* }{clientData = \NULL}, \param{const wxString\& }{shortHelpString = ""}, \param{const wxString\& }{longHelpString = ""}} -\docparam{toolIndex}{The identifier passed to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.} +\func{wxToolBarToolBase *}{InsertTool}{\param{size\_t }{pos},\rtfsp +\param{wxToolBarToolBase* }{tool}} -\docparam{x}{The x position of the mouse cursor.} +Inserts the tool with the specified attributes into the toolbar at the given +position. -\docparam{y}{The y position of the mouse cursor.} +You must call \helpref{Realize}{wxtoolbarrealize} for the change to take place. -\wxheading{Remarks} +\wxheading{See also} -A typical use of this member might be to pop up a menu. +\helpref{AddTool}{wxtoolbaraddtool},\\ +\helpref{InsertControl}{wxtoolbarinsertcontrol},\\ +\helpref{InsertSeparator}{wxtoolbarinsertseparator} -\wxheading{See also} -\helpref{wxToolBarBase::OnMouseEnter}{wxtoolbarbaseonmouseenter},\rtfsp -\helpref{wxToolBarBase::OnLeftClick}{wxtoolbarbaseonleftclick} +\membersection{wxToolBar::OnLeftClick}\label{wxtoolbaronleftclick} -\membersection{wxToolBarBase::SetDefaultSize}\label{wxtoolbarbasesetdefaultsize} +\func{bool}{OnLeftClick}{\param{int}{ toolId}, \param{bool}{ toggleDown}} -\func{void}{SetDefaultSize}{\param{const wxSize\&}{ size}} +Called when the user clicks on a tool with the left mouse button. -Sets the default size of each tool bitmap. The default bitmap size is 16 by 15 pixels. +This is the old way of detecting tool clicks; although it will still work, +you should use the EVT\_MENU or EVT\_TOOL macro instead. \wxheading{Parameters} -\docparam{size}{The size of the bitmaps in the toolbar.} +\docparam{toolId}{The identifier passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.} -\wxheading{Remarks} +\docparam{toggleDown}{true if the tool is a toggle and the toggle is down, otherwise is false.} -This should be called to tell the toolbar what the tool bitmap size is. Call -it before you add tools. +\wxheading{Return value} -Note that this is the size of the bitmap you pass to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}, -and not the eventual size of the tool button. +If the tool is a toggle and this function returns false, the toggle +toggle state (internal and visual) will not be changed. This provides a way of +specifying that toggle operations are not permitted in some circumstances. \wxheading{See also} -\helpref{wxToolBarBase::GetDefaultSize}{wxtoolbarbasegetdefaultsize},\rtfsp -\helpref{wxToolBarBase::GetDefaultButtonSize}{wxtoolbarbasegetdefaultbuttonsize} +\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp +\helpref{wxToolBar::OnRightClick}{wxtoolbaronrightclick} -\membersection{wxToolBarBase::SetMargins}\label{wxtoolbarbasesetmargins} -\func{void}{SetMargins}{\param{const wxSize\&}{ size}} +\membersection{wxToolBar::OnMouseEnter}\label{wxtoolbaronmouseenter} -\func{void}{SetMargins}{\param{const int}{ x}, \param{const int}{ y}} - -Set the values to be used as margins for the toolbar. +\func{void}{OnMouseEnter}{\param{int}{ toolId}} -\wxheading{Parameters} +This is called when the mouse cursor moves into a tool or out of +the toolbar. -\docparam{size}{Margin size.} +This is the old way of detecting mouse enter events; although it will still work, +you should use the EVT\_TOOL\_ENTER macro instead. -\docparam{x}{Left margin, right margin and inter-tool separation value.} +\wxheading{Parameters} -\docparam{y}{Top margin, bottom margin and inter-tool separation value.} +\docparam{toolId}{Greater than -1 if the mouse cursor has moved into the tool, +or -1 if the mouse cursor has moved. The +programmer can override this to provide extra information about the tool, +such as a short description on the status line.} \wxheading{Remarks} -This must be called before the tools are added if absolute positioning is to be used, and the -default (zero-size) margins are to be overridden. +With some derived toolbar classes, if the mouse moves quickly out of the toolbar, wxWidgets may not be able to +detect it. Therefore this function may not always be called when expected. -\wxheading{See also} -\helpref{wxToolBarBase::GetMargins}{wxtoolbarbasegetmargins}, \helpref{wxSize}{wxsize} +\membersection{wxToolBar::OnRightClick}\label{wxtoolbaronrightclick} -\membersection{wxToolBarBase::SetToolLongHelp}\label{wxtoolbarbasesettoollonghelp} +\func{void}{OnRightClick}{\param{int}{ toolId}, \param{float}{ x}, \param{float}{ y}} -\func{void}{SetToolLongHelp}{\param{int }{toolIndex}, \param{const wxString\& }{helpString}} +Called when the user clicks on a tool with the right mouse button. The +programmer should override this function to detect right tool clicks. -Sets the long help for the given tool. +This is the old way of detecting tool right clicks; although it will still work, +you should use the EVT\_TOOL\_RCLICKED macro instead. \wxheading{Parameters} -\docparam{toolIndex}{The tool in question.} +\docparam{toolId}{The identifier passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.} -\docparam{helpString}{A string for the long help.} +\docparam{x}{The x position of the mouse cursor.} + +\docparam{y}{The y position of the mouse cursor.} \wxheading{Remarks} -You might use the long help for displaying the tool purpose on the status line. +A typical use of this member might be to pop up a menu. \wxheading{See also} -\helpref{wxToolBarBase::GetToolLongHelp}{wxtoolbarbasegettoollonghelp},\rtfsp -\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp},\rtfsp +\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp +\helpref{wxToolBar::OnLeftClick}{wxtoolbaronleftclick} -\membersection{wxToolBarBase::SetToolPacking}\label{wxtoolbarbasesettoolpacking} -\func{void}{SetToolPacking}{\param{const int}{ packing}} +\membersection{wxToolBar::Realize}\label{wxtoolbarrealize} -Sets the value used for spacing tools. The default value is 1. +\func{bool}{Realize}{\void} -\wxheading{Parameters} +This function should be called after you have added tools. -\docparam{packing}{The value for packing.} -\wxheading{Remarks} +\membersection{wxToolBar::RemoveTool}\label{wxtoolbarremovetool} -The packing is used for spacing in the vertical direction if the toolbar is horizontal, -and for spacing in the horizontal direction if the toolbar is vertical. +\func{wxToolBarToolBase *}{RemoveTool}{\param{int }{id}} + +Removes the given tool from the toolbar but doesn't delete it. This allows to +insert/add this tool back to this (or another) toolbar later. + +Note that it is unnecessary to call \helpref{Realize}{wxtoolbarrealize} for the +change to take place, it will happen immediately. \wxheading{See also} -\helpref{wxToolBarBase::GetToolPacking}{wxtoolbarbasegettoolpacking} +\helpref{DeleteTool}{wxtoolbardeletetool} -\membersection{wxToolBarBase::SetToolShortHelp}\label{wxtoolbarbasesettoolshorthelp} -\func{void}{SetToolShortHelp}{\param{const int }{toolIndex}, \param{const wxString\& }{helpString}} +\membersection{wxToolBar::SetBitmapResource}\label{wxtoolbarsetbitmapresource} -Sets the short help for the given tool. +\func{void}{SetBitmapResource}{\param{int }{resourceId}} -\wxheading{Parameters} +Sets the bitmap resource identifier for specifying tool bitmaps as indices +into a custom bitmap. Windows CE only. -\docparam{toolIndex}{The tool in question.} -\docparam{helpString}{The string for the short help.} +\membersection{wxToolBar::SetMargins}\label{wxtoolbarsetmargins} -\wxheading{Remarks} +\func{void}{SetMargins}{\param{const wxSize\&}{ size}} -An application might use short help for identifying the tool purpose in a tooltip. +\func{void}{SetMargins}{\param{int}{ x}, \param{int}{ y}} -\wxheading{See also} +Set the values to be used as margins for the toolbar. -\helpref{wxToolBarBase::GetToolShortHelp}{wxtoolbarbasegettoolshorthelp}, \helpref{wxToolBarBase::SetToolLongHelp}{wxtoolbarbasesettoollonghelp} +\wxheading{Parameters} -\membersection{wxToolBarBase::SetToolSeparation}\label{wxtoolbarbasesettoolseparation} +\docparam{size}{Margin size.} -\func{void}{SetToolSeparation}{\param{const int}{ separation}} +\docparam{x}{Left margin, right margin and inter-tool separation value.} -Sets the default separator size. The default value is 5. +\docparam{y}{Top margin, bottom margin and inter-tool separation value.} -\wxheading{Parameters} +\wxheading{Remarks} -\docparam{separation}{The separator size.} +This must be called before the tools are added if absolute positioning is to be used, and the +default (zero-size) margins are to be overridden. \wxheading{See also} -\helpref{wxToolBarBase::AddSeparator}{wxtoolbarbaseaddseparator} +\helpref{wxToolBar::GetMargins}{wxtoolbargetmargins}, \helpref{wxSize}{wxsize} -\membersection{wxToolBarBase::ToggleTool}\label{wxtoolbarbasetoggletool} -\func{void}{ToggleTool}{\param{const int }{toolIndex}, \param{const bool}{ toggle}} +\membersection{wxToolBar::SetDropdownMenu}\label{wxtoolbarsetdropdownmenu} -Toggles a tool on or off. +\func{bool}{SetDropdownMenu}{\param{int }{id}, \param{wxMenu* }{menu}} -\wxheading{Parameters} - -\docparam{toolIndex}{Tool in question.} +Sets the dropdown menu for the tool given by its \arg{id}. The tool itself will +delete the menu when it's no longer needed. -\docparam{toggle}{If TRUE, toggles the tool on, otherwise toggles it off.} +If you define a EVT\_TOOL\_DROPDOWN handler in your program, you must call +\helpref{wxEvent::Skip()}{wxeventskip} from it or the menu won't be displayed. -\wxheading{Remarks} -Only applies to a tool that has been specified as a toggle tool. +\membersection{wxToolBar::SetToolBitmapSize}\label{wxtoolbarsettoolbitmapsize} -\wxheading{See also} +\func{void}{SetToolBitmapSize}{\param{const wxSize\&}{ size}} -\helpref{wxToolBarBase::GetToolState}{wxtoolbarbasegettoolstate} +Sets the default size of each tool bitmap. The default bitmap size is 16 by 15 pixels. -\section{\class{wxToolBar95}}\label{wxtoolbar95} +\wxheading{Parameters} -This class should be used when a 3D-effect toolbar is required under Windows 95. -It uses the native toolbar control. +\docparam{size}{The size of the bitmaps in the toolbar.} -\wxheading{Derived from} +\wxheading{Remarks} -\helpref{wxToolBarBase}{wxtoolbarbase}\\ -\helpref{wxControl}{wxcontrol}\\ -\helpref{wxWindow}{wxwindow}\\ -\helpref{wxEvtHandler}{wxevthandler}\\ -\helpref{wxObject}{wxobject} +This should be called to tell the toolbar what the tool bitmap size is. Call +it before you add tools. -\wxheading{Window styles} +Note that this is the size of the bitmap you pass to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, +and not the eventual size of the tool button. -There are no specific styles for this class. +\wxheading{See also} -See also \helpref{window styles overview}{windowstyles}. +\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize},\rtfsp +\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize} -\wxheading{Remarks} -Note that this toolbar paints tools to reflect user-selected colours. -The toolbar orientation must always be {\bf wxVERTICAL}. +\membersection{wxToolBar::SetToolClientData}\label{wxtoolbarsettoolclientdata} -For member functions, see the documentation for \helpref{wxToolBarBase}{wxtoolbarbase}. +\func{void}{SetToolClientData}{\param{int }{id}, \param{wxObject* }{clientData}} -\wxheading{See also} +Sets the client data associated with the tool. -\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp -\helpref{wxToolBarBase}{wxtoolbarbase},\rtfsp -\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp -\helpref{wxToolBarMSW}{wxtoolbarmsw} -\latexignore{\rtfignore{\wxheading{Members}}} +\membersection{wxToolBar::SetToolDisabledBitmap}\label{wxtoolbarsettooldisabledbitmap} -\membersection{wxToolBar95::wxToolBar95}\label{wxtoolbar95constr} +\func{void}{SetToolDisabledBitmap}{\param{int }{id}, \param{const wxBitmap\& }{bitmap}} -\func{}{wxToolBar95}{\param{wxWindow*}{ parent}, \param{const wxWindowID }{id},\rtfsp -\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp -\param{const long }{style = 0}, \param{const int }{orientation = wxVERTICAL},\rtfsp -\param{const int }{nRowsOrColumns = 1}, \param{const wxString\& }{name = ``toolBar"}} +Sets the bitmap to be used by the tool with the given ID when the tool +is in a disabled state. This can only be used on Button tools, not +controls. NOTE: The native toolbar classes on the main platforms all +synthesize the disabled bitmap from the normal bitmap, so this +function will have no effect on those platforms. -Constructs a toolbar. -\wxheading{Parameters} +\membersection{wxToolBar::SetToolLongHelp}\label{wxtoolbarsettoollonghelp} -\docparam{parent}{Parent window. Must not be NULL.} +\func{void}{SetToolLongHelp}{\param{int }{toolId}, \param{const wxString\& }{helpString}} -\docparam{id}{Window identifier. A value of -1 indicates a default value.} +Sets the long help for the given tool. -\docparam{pos}{Window position. If the position (-1, -1) is specified then a default position is chosen.} +\wxheading{Parameters} -\docparam{size}{Window size. If the default size (-1, -1) is specified then a default size is chosen.} +\docparam{toolId}{The tool in question.} -\docparam{orientation}{Specifies a wxVERTICAL or wxHORIZONTAL orientation for laying out -the toolbar.} +\docparam{helpString}{A string for the long help.} -\docparam{nRowsOrColumns}{Specifies the number of rows or -columns, whose meaning depends on {\it orientation}. If laid out -vertically, {\it nRowsOrColumns} specifies the number of rows to draw -before the next column is started; if horizontal, it refers to the -number of columns to draw before the next row is started.} +\wxheading{Remarks} -\docparam{style}{Window style. See \helpref{wxToolBar95}{wxtoolbar95}.} +You might use the long help for displaying the tool purpose on the status line. -\docparam{name}{Window name.} +\wxheading{See also} -\section{\class{wxToolBarMSW}}\label{wxtoolbarmsw} +\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp +\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp},\rtfsp -This class should be used when a 3D-effect toolbar is required for Windows versions earlier -than Windows 95. -\wxheading{Derived from} +\membersection{wxToolBar::SetToolPacking}\label{wxtoolbarsettoolpacking} -\helpref{wxToolBarBase}{wxtoolbarbase}\\ -\helpref{wxControl}{wxcontrol}\\ -\helpref{wxWindow}{wxwindow}\\ -\helpref{wxEvtHandler}{wxevthandler}\\ -\helpref{wxObject}{wxobject} +\func{void}{SetToolPacking}{\param{int}{ packing}} -\wxheading{Window styles} +Sets the value used for spacing tools. The default value is 1. -There are no specific styles for this class. +\wxheading{Parameters} -See also \helpref{window styles overview}{windowstyles}. +\docparam{packing}{The value for packing.} \wxheading{Remarks} -Note that this toolbar does not paint tools to reflect user-selected colours: grey shading is used. - -For member functions, see the documentation for \helpref{wxToolBarBase}{wxtoolbarbase}. +The packing is used for spacing in the vertical direction if the toolbar is horizontal, +and for spacing in the horizontal direction if the toolbar is vertical. \wxheading{See also} -\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp -\helpref{wxToolBarBase}{wxtoolbarbase},\rtfsp -\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp -\helpref{wxToolBar95}{wxtoolbar95} +\helpref{wxToolBar::GetToolPacking}{wxtoolbargettoolpacking} -\latexignore{\rtfignore{\wxheading{Members}}} -\membersection{wxToolBarMSW::wxToolBarMSW}\label{wxtoolbarmswconstr} +\membersection{wxToolBar::SetToolShortHelp}\label{wxtoolbarsettoolshorthelp} -\func{}{wxToolBarMSW}{\param{wxWindow*}{ parent}, \param{const wxWindowID }{id},\rtfsp -\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp -\param{const long }{style = 0}, \param{const int }{orientation = wxVERTICAL},\rtfsp -\param{const int }{nRowsOrColumns = 1}, \param{const wxString\& }{name = ``toolBar"}} +\func{void}{SetToolShortHelp}{\param{int }{toolId}, \param{const wxString\& }{helpString}} -Constructs a toolbar. +Sets the short help for the given tool. \wxheading{Parameters} -\docparam{parent}{Parent window. Must not be NULL.} +\docparam{toolId}{The tool in question.} -\docparam{id}{Window identifier. A value of -1 indicates a default value.} +\docparam{helpString}{The string for the short help.} -\docparam{pos}{Window position. If the position (-1, -1) is specified then a default position is chosen.} +\wxheading{Remarks} -\docparam{size}{Window size. If the default size (-1, -1) is specified then a default size is chosen.} +An application might use short help for identifying the tool purpose in a tooltip. -\docparam{orientation}{Specifies a wxVERTICAL or wxHORIZONTAL orientation for laying out -the toolbar.} +\wxheading{See also} -\docparam{nRowsOrColumns}{Specifies the number of rows or -columns, whose meaning depends on {\it orientation}. If laid out -vertically, {\it nRowsOrColumns} specifies the number of rows to draw -before the next column is started; if horizontal, it refers to the -number of columns to draw before the next row is started.} +\helpref{wxToolBar::GetToolShortHelp}{wxtoolbargettoolshorthelp}, \helpref{wxToolBar::SetToolLongHelp}{wxtoolbarsettoollonghelp} -\docparam{style}{Window style. See \helpref{wxToolBarMSW}{wxtoolbarmsw}.} -\docparam{name}{Window name.} +\membersection{wxToolBar::SetToolNormalBitmap}\label{wxtoolbarsettoolnormalbitmap} +\func{void}{SetToolNormalBitmap}{\param{int }{id}, \param{const wxBitmap\& }{bitmap}} -\section{\class{wxToolBarSimple}}\label{wxtoolbarsimple} +Sets the bitmap to be used by the tool with the given ID. This can +only be used on Button tools, not controls. -This is the generic toolbar class which has an identical appearance -on all platforms. -\wxheading{Derived from} -\helpref{wxToolBarBase}{wxtoolbarbase}\\ -\helpref{wxControl}{wxcontrol}\\ -\helpref{wxWindow}{wxwindow}\\ -\helpref{wxEvtHandler}{wxevthandler}\\ -\helpref{wxObject}{wxobject} +\membersection{wxToolBar::SetToolSeparation}\label{wxtoolbarsettoolseparation} -\wxheading{Window styles} +\func{void}{SetToolSeparation}{\param{int}{ separation}} -\twocolwidtha{5cm} -\begin{twocollist}\itemsep=0pt -\twocolitem{\windowstyle{wxTB\_3DBUTTONS}}{Gives the simple toolbar a mild 3D look to its buttons.} -\end{twocollist} - -See also \helpref{window styles overview}{windowstyles}. - -\wxheading{Remarks} +Sets the default separator size. The default value is 5. -In this class, disabling a toolbar tool does not change its appearance. +\wxheading{Parameters} -For member functions, see the documentation for \helpref{wxToolBarBase}{wxtoolbarbase}. +\docparam{separation}{The separator size.} \wxheading{See also} -\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp -\helpref{wxToolBarBase}{wxtoolbarbase},\rtfsp -\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp -\helpref{wxToolBar95}{wxtoolbar95} +\helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator} -\latexignore{\rtfignore{\wxheading{Members}}} -\membersection{wxToolBarSimple::wxToolBarSimple}\label{wxtoolbarsimpleconstr} +\membersection{wxToolBar::ToggleTool}\label{wxtoolbartoggletool} -\func{}{wxToolBarSimple}{\param{wxWindow*}{ parent}, \param{const wxWindowID }{id},\rtfsp -\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp -\param{const long }{style = 0}, \param{const int }{orientation = wxVERTICAL},\rtfsp -\param{const int }{nRowsOrColumns = 1}, \param{const wxString\& }{name = ``toolBar"}} +\func{void}{ToggleTool}{\param{int }{toolId}, \param{bool}{ toggle}} -Constructs a toolbar. +Toggles a tool on or off. This does not cause any event to get emitted. \wxheading{Parameters} -\docparam{parent}{Parent window. Must not be NULL.} +\docparam{toolId}{Tool in question.} -\docparam{id}{Window identifier. A value of -1 indicates a default value.} +\docparam{toggle}{If true, toggles the tool on, otherwise toggles it off.} -\docparam{pos}{Window position. If the position (-1, -1) is specified then a default position is chosen.} - -\docparam{size}{Window size. If the default size (-1, -1) is specified then a default size is chosen.} - -\docparam{orientation}{Specifies a wxVERTICAL or wxHORIZONTAL orientation for laying out -the toolbar.} - -\docparam{nRowsOrColumns}{Specifies the number of rows or -columns, whose meaning depends on {\it orientation}. If laid out -vertically, {\it nRowsOrColumns} specifies the number of rows to draw -before the next column is started; if horizontal, it refers to the -number of columns to draw before the next row is started.} - -\docparam{style}{Window style. See \helpref{wxToolBarSimple}{wxtoolbarsimple}.} +\wxheading{Remarks} -\docparam{name}{Window name.} +Only applies to a tool that has been specified as a toggle tool. +\wxheading{See also} +\helpref{wxToolBar::GetToolState}{wxtoolbargettoolstate}