]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/toolbar.tex
1. wxGetOsDescription() function added
[wxWidgets.git] / docs / latex / wx / toolbar.tex
CommitLineData
81d66cf3 1\section{\class{wxToolBar}}\label{wxtoolbar}
a660d684 2
81d66cf3
JS
3The name wxToolBar is defined to be a synonym for one of the following classes:
4
5\begin{itemize}\itemsep=0pt
6\item {\bf wxToolBar95} The native Windows 95 toolbar. Used on Windows 95, NT 4 and above.
7\item {\bf wxToolBarMSW} A Windows implementation. Used on 16-bit Windows.
8\item {\bf wxToolBarGTK} The GTK toolbar.
9\item {\bf wxToolBarSimple} A simple implementation, with scrolling.
10Used on platforms with no native toolbar control, or where scrolling is required.
11\end{itemize}
12
13Note that the base class {\bf wxToolBarBase} defines
5f445b31 14automatic scrolling management functionality which is similar
81d66cf3
JS
15to \helpref{wxScrolledWindow}{wxscrolledwindow}, so please refer to this class also.
16Not all toolbars support scrolling, but wxToolBarSimple does.
a660d684
KB
17
18\wxheading{Derived from}
19
81d66cf3 20wxToolBarBase\\
a660d684
KB
21\helpref{wxControl}{wxcontrol}\\
22\helpref{wxWindow}{wxwindow}\\
23\helpref{wxEvtHandler}{wxevthandler}\\
24\helpref{wxObject}{wxobject}
25
954b8ae6
JS
26\wxheading{Include files}
27
28<wx/toolbar.h> (to allow wxWindows to select an appropriate toolbar class)\\
29<wx/tbarbase.h> (the base class)\\
30<wx/tbarmsw.h> (the non-Windows 95 Windows toolbar class)\\
31<wx/tbar95.h> (the Windows 95/98 toolbar class)\\
32<wx/tbarsmpl.h> (the generic simple toolbar class)
33
a660d684
KB
34\wxheading{Remarks}
35
81d66cf3
JS
36You may also create a toolbar that is managed by the frame, by
37calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
38
5f445b31
RR
39Due to the use of native toolbars on the various platforms, certain adaptions will
40often have to be made in order to get optimal look on all platforms as some platforms
41ignore the values for explicit placement and use their own layout and the meaning
42of a "separator" is a vertical line under Windows95 vs. simple space under GTK etc.
43
81d66cf3 44{\bf wxToolBar95:} Note that this toolbar paints tools to reflect user-selected colours.
85eb36c2
RR
45The toolbar orientation must always be {\bf wxHORIZONTAL}.
46
5f445b31 47{\bf wxToolBarGtk:} The toolbar orientation is ignored and is always {\bf wxHORIZONTAL}.
81d66cf3
JS
48
49\wxheading{Window styles}
50
51\twocolwidtha{5cm}
52\begin{twocollist}\itemsep=0pt
85eb36c2
RR
53\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look ('coolbar' or 'flatbar' style). Windows 95 and GTK 1.2 only.}
54\twocolitem{\windowstyle{wxTB\_DOCKABLE}}{Makes the toolbar floatable and dockable. GTK only.}
81d66cf3 55\twocolitem{\windowstyle{wxTB\_HORIZONTAL}}{Specifies horizontal layout.}
85eb36c2 56\twocolitem{\windowstyle{wxTB\_VERTICAL}}{Specifies vertical layout (not available for the GTK and Windows 95
81d66cf3
JS
57toolbar).}
58\twocolitem{\windowstyle{wxTB\_3DBUTTONS}}{Gives wxToolBarSimple a mild 3D look to its buttons.}
59\end{twocollist}
60
61See also \helpref{window styles overview}{windowstyles}.
a660d684
KB
62
63\wxheading{Event handling}
64
81d66cf3
JS
65The toolbar class emits menu commands in the same was that a frame menubar does,
66so you can use one EVT\_MENU macro for both a menu item and a toolbar button.
67The event handler functions take a wxCommandEvent argument. For most event macros,
68the identifier of the tool is passed, but for EVT\_TOOL\_ENTER the toolbar
69window is passed and the tool id is retrieved from the wxCommandEvent.
70This is because the id may be -1 when the mouse moves off a tool, and -1 is not
71allowed as an identifier in the event system.
a660d684 72
e702ff0f
JS
73Note that tool commands (and UI update events for tools) are first sent to
74the focus window within the frame that contains the toolbar. If no window within the frame has the focus,
75then the events are sent directly to the toolbar (and up the hierarchy to the
76frame, depending on where the application has put its event handlers). This allows command and UI update
77handling to be processed by specific windows and controls, and not necessarily
78by the application frame.
79
81d66cf3
JS
80\twocolwidtha{7cm}
81\begin{twocollist}\itemsep=0pt
82\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
83(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.}
84\twocolitem{{\bf EVT\_MENU(id, func)}}{The same as EVT\_TOOL.}
85\twocolitem{{\bf EVT\_TOOL\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
86for a range id identifiers. Pass the ids of the tools.}
87\twocolitem{{\bf EVT\_MENU\_RANGE(id1, id2, func)}}{The same as EVT\_TOOL\_RANGE.}
88
89\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event.
90Pass the id of the tool.}
91\twocolitem{{\bf EVT\_TOOL\_RCLICKED\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event
92for a range of ids. Pass the ids of the tools.}
93\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER event.
94Pass 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.}
95\end{twocollist}
a660d684
KB
96
97\wxheading{See also}
98
99\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
a660d684
KB
100\helpref{wxScrolledWindow}{wxscrolledwindow}
101
102\latexignore{\rtfignore{\wxheading{Members}}}
103
81d66cf3 104\membersection{wxToolBar::wxToolBar}\label{wxtoolbarconstr}
a660d684 105
81d66cf3 106\func{}{wxToolBar}{\void}
a660d684
KB
107
108Default constructor.
109
81d66cf3
JS
110\func{}{wxToolBar}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},
111 \param{const wxPoint\& }{pos = wxDefaultPosition},
112 \param{const wxSize\& }{size = wxDefaultSize},
113 \param{long }{style = wxTB\_HORIZONTAL \pipe wxNO\_BORDER},
114 \param{const wxString\& }{name = wxPanelNameStr}}
115
116Constructs a toolbar.
117
118\wxheading{Parameters}
119
120\docparam{parent}{Pointer to a parent window.}
a660d684 121
81d66cf3
JS
122\docparam{id}{Window identifier. If -1, will automatically create an identifier.}
123
124\docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxWindows
125should generate a default position for the window. If using the wxWindow class directly, supply
126an actual position.}
127
128\docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxWindows
129should generate a default size for the window.}
130
131\docparam{style}{Window style. See \helpref{wxToolBar}{wxtoolbar} for details.}
132
133\docparam{name}{Window name.}
134
135\wxheading{Remarks}
136
137After a toolbar is created, you use \helpref{wxToolBar::AddTool}{wxtoolbaraddtool} and
138perhaps \helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator}, and then you
139must call \helpref{wxToolBar::Realize}{wxtoolbarrealize} to construct and display the toolbar
140tools.
141
142You may also create a toolbar that is managed by the frame, by
143calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
144
145\membersection{wxToolBar::\destruct{wxToolBar}}
146
147\func{void}{\destruct{wxToolBar}}{\void}
a660d684
KB
148
149Toolbar destructor.
150
5f445b31
RR
151\membersection{wxToolBar::AddControl}\label{wxtoolbaraddcontrol}
152
153\func{bool}{AddControl}{\param{wxControl*}{ control}}
154
155Adds any control to the toolbar, typically e.g. a combobox.
156
157\docparam{control}{The control to be added.}
158
81d66cf3 159\membersection{wxToolBar::AddSeparator}\label{wxtoolbaraddseparator}
a660d684
KB
160
161\func{void}{AddSeparator}{\void}
162
163Adds a separator for spacing groups of tools.
164
165\wxheading{See also}
166
81d66cf3 167\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::SetToolSeparation}{wxtoolbarsettoolseparation}
a660d684 168
81d66cf3 169\membersection{wxToolBar::AddTool}\label{wxtoolbaraddtool}
a660d684 170
81d66cf3
JS
171\func{wxToolBarTool*}{AddTool}{\param{int}{ toolIndex}, \param{const wxBitmap\&}{ bitmap1},\rtfsp
172\param{const wxBitmap\&}{ bitmap2 = wxNullBitmap}, \param{bool}{ isToggle = FALSE},\rtfsp
173\param{long}{ xPos = -1}, \param{long}{ yPos = -1},\rtfsp
174\param{wxObject* }{clientData = NULL}, \param{const wxString\& }{shortHelpString = ""}, \param{const wxString\& }{longHelpString = ""}}
a660d684
KB
175
176Adds a tool to the toolbar.
177
178\wxheading{Parameters}
179
180\docparam{toolIndex}{An integer by which
181the tool may be identified in subsequent operations.}
182
183\docparam{isToggle}{Specifies whether the tool is a toggle or not: a toggle tool may be in
184two states, whereas a non-toggle tool is just a button.}
185
186\docparam{bitmap1}{The primary tool bitmap for toggle and button tools.}
187
188\docparam{bitmap2}{The second bitmap specifies the on-state bitmap for a toggle
85eb36c2 189tool. If this is wxNullBitmap, either an inverted version of the primary bitmap is
a660d684 190used for the on-state of a toggle tool (monochrome displays) or a black
85eb36c2
RR
191border is drawn around the tool (colour displays) or the pixmap is shown
192as a pressed button (GTK). }
a660d684
KB
193
194\docparam{xPos}{Specifies the x position of the tool if automatic layout is not suitable.}
195
196\docparam{yPos}{Specifies the y position of the tool if automatic layout is not suitable.}
197
198\docparam{clientData}{An optional pointer to client data which can be
81d66cf3 199retrieved later using \helpref{wxToolBar::GetToolClientData}{wxtoolbargettoolclientdata}.}
a660d684
KB
200
201\docparam{shortHelpString}{Used for displaying a tooltip for the tool in the
202Windows 95 implementation of wxButtonBar. Pass the empty string if this is not required.}
203
204\docparam{longHelpString}{Used to displayer longer help, such as status line help.
205Pass the empty string if this is not required.}
206
81d66cf3 207\wxheading{Remarks}
a660d684 208
81d66cf3
JS
209After you have added tools to a toolbar, you must call \helpref{wxToolBar::Realize}{wxtoolbarrealize} in
210order to have the tools appear.
a660d684 211
81d66cf3 212\wxheading{See also}
a660d684 213
81d66cf3
JS
214\helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator},
215\helpref{wxToolBar::Realize}{wxtoolbarrealize},
a660d684 216
81d66cf3 217\membersection{wxToolBar::CreateTools}\label{wxtoolbarcreatetools}
a660d684 218
81d66cf3 219\func{bool}{CreateTools}{\void}
a660d684 220
81d66cf3
JS
221This function is implemented for some toolbar classes to create the tools and display them.
222The portable way of calling it is to call \helpref{wxToolBar::Realize}{wxtoolbarrealize} after
223you have added tools and separators.
a660d684
KB
224
225\wxheading{See also}
226
81d66cf3 227\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::Realize}{wxtoolbarrealize}
a660d684 228
81d66cf3 229\membersection{wxToolBar::DrawTool}\label{wxtoolbardrawtool}
a660d684 230
81d66cf3 231\func{void}{DrawTool}{\param{wxMemoryDC\& }{memDC}, \param{wxToolBarTool* }{tool}}
a660d684 232
fe604ccd 233Draws the specified tool onto the window using the given memory device context.
a660d684
KB
234
235\wxheading{Parameters}
236
237\docparam{memDC}{A memory DC to be used for drawing the tool.}
238
239\docparam{tool}{Tool to be drawn.}
240
241\wxheading{Remarks}
242
243For internal use only.
244
81d66cf3 245\membersection{wxToolBar::EnableTool}\label{wxtoolbarenabletool}
a660d684 246
eaaa6a06 247\func{void}{EnableTool}{\param{int }{toolIndex}, \param{const bool}{ enable}}
a660d684
KB
248
249Enables or disables the tool.
250
251\wxheading{Parameters}
252
253\docparam{toolIndex}{Tool to enable or disable.}
254
255\docparam{enable}{If TRUE, enables the tool, otherwise disables it.}
256
257\wxheading{Remarks}
258
f7bd2698 259For wxToolBarSimple, does nothing. Some other implementations
a660d684
KB
260will change the visible state of the tool to indicate that it is disabled.
261
262\wxheading{See also}
263
81d66cf3
JS
264\helpref{wxToolBar::GetToolEnabled}{wxtoolbargettoolenabled},\rtfsp
265%\helpref{wxToolBar::SetToolState}{wxtoolbarsettoolstate},\rtfsp
266\helpref{wxToolBar::ToggleTool}{wxtoolbartoggletool}
a660d684 267
81d66cf3 268\membersection{wxToolBar::FindToolForPosition}\label{wxtoolbarfindtoolforposition}
a660d684 269
81d66cf3 270\constfunc{wxToolBarTool*}{FindToolForPosition}{\param{const float}{ x}, \param{const float}{ y}}
a660d684
KB
271
272Finds a tool for the given mouse position.
273
274\wxheading{Parameters}
275
276\docparam{x}{X position.}
277
278\docparam{y}{Y position.}
279
280\wxheading{Return value}
281
282A pointer to a tool if a tool is found, or NULL otherwise.
283
284\wxheading{Remarks}
285
286Used internally, and should not need to be used by the programmer.
287
81d66cf3 288\membersection{wxToolBar::GetToolSize}\label{wxtoolbargettoolsize}
a660d684 289
81d66cf3 290\func{wxSize}{GetToolSize}{\void}
a660d684
KB
291
292Returns the size of a whole button, which is usually larger than a tool bitmap because
293of added 3D effects.
294
295\wxheading{See also}
296
81d66cf3
JS
297\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp
298\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize}
a660d684 299
81d66cf3 300\membersection{wxToolBar::GetToolBitmapSize}\label{wxtoolbargettoolbitmapsize}
a660d684 301
81d66cf3 302\func{wxSize}{GetToolBitmapSize}{\void}
a660d684
KB
303
304Returns the size of bitmap that the toolbar expects to have. The default bitmap size is 16 by 15 pixels.
305
306\wxheading{Remarks}
307
81d66cf3 308Note that this is the size of the bitmap you pass to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool},
a660d684
KB
309and not the eventual size of the tool button.
310
311\wxheading{See also}
312
81d66cf3
JS
313\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp
314\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
a660d684 315
81d66cf3 316\membersection{wxToolBar::GetMargins}\label{wxtoolbargetmargins}
a660d684
KB
317
318\constfunc{wxSize}{GetMargins}{\void}
319
320Returns the left/right and top/bottom margins, which are also used for inter-toolspacing.
321
322\wxheading{See also}
323
81d66cf3 324\helpref{wxToolBar::SetMargins}{wxtoolbarsetmargins}
a660d684 325
81d66cf3 326\membersection{wxToolBar::GetMaxSize}\label{wxtoolbargetmaxsize}
a660d684 327
bdcbd8a7 328\constfunc{wxSize}{GetMaxSize}{\void}
a660d684
KB
329
330Gets the maximum size taken up by the tools after layout, including margins.
fe604ccd 331This can be used to size a frame around the toolbar window.
a660d684 332
81d66cf3 333\membersection{wxToolBar::GetToolClientData}\label{wxtoolbargettoolclientdata}
a660d684 334
eaaa6a06 335\constfunc{wxObject*}{GetToolClientData}{\param{int }{toolIndex}}
a660d684
KB
336
337Get any client data associated with the tool.
338
339\wxheading{Parameters}
340
81d66cf3 341\docparam{toolIndex}{Index of the tool, as passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
a660d684
KB
342
343\wxheading{Return value}
344
345Client data, or NULL if there is none.
346
81d66cf3 347\membersection{wxToolBar::GetToolEnabled}\label{wxtoolbargettoolenabled}
a660d684 348
eaaa6a06 349\constfunc{bool}{GetToolEnabled}{\param{int }{toolIndex}}
a660d684
KB
350
351Called to determine whether a tool is enabled (responds to user input).
352
353\wxheading{Parameters}
354
355\docparam{toolIndex}{Index of the tool in question.}
356
357\wxheading{Return value}
358
359TRUE if the tool is enabled, FALSE otherwise.
360
361%\wxheading{See also}
362%
81d66cf3 363%\helpref{wxToolBar::SetToolEnabled}{wxtoolbarsettoolenabled}
a660d684 364%
81d66cf3 365\membersection{wxToolBar::GetToolLongHelp}\label{wxtoolbargettoollonghelp}
a660d684 366
eaaa6a06 367\constfunc{wxString}{GetToolLongHelp}{\param{int }{toolIndex}}
a660d684
KB
368
369Returns the long help for the given tool.
370
371\wxheading{Parameters}
372
373\docparam{toolIndex}{The tool in question.}
374
375\wxheading{See also}
376
81d66cf3
JS
377\helpref{wxToolBar::SetToolLongHelp}{wxtoolbarsettoollonghelp},\rtfsp
378\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp
a660d684 379
81d66cf3 380\membersection{wxToolBar::GetToolPacking}\label{wxtoolbargettoolpacking}
a660d684
KB
381
382\constfunc{int}{GetToolPacking}{\void}
383
384Returns the value used for packing tools.
385
386\wxheading{See also}
387
81d66cf3 388\helpref{wxToolBar::SetToolPacking}{wxtoolbarsettoolpacking}
a660d684 389
81d66cf3 390\membersection{wxToolBar::GetToolSeparation}\label{wxtoolbargettoolseparation}
a660d684
KB
391
392\constfunc{int}{GetToolSeparation}{\void}
393
394Returns the default separator size.
395
396\wxheading{See also}
397
81d66cf3 398\helpref{wxToolBar::SetToolSeparation}{wxtoolbarsettoolseparation}
a660d684 399
81d66cf3 400\membersection{wxToolBar::GetToolShortHelp}\label{wxtoolbargettoolshorthelp}
a660d684 401
eaaa6a06 402\constfunc{wxString}{GetToolShortHelp}{\param{int }{toolIndex}}
a660d684
KB
403
404Returns the short help for the given tool.
405
406Returns the long help for the given tool.
407
408\wxheading{Parameters}
409
410\docparam{toolIndex}{The tool in question.}
411
412\wxheading{See also}
413
81d66cf3
JS
414\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp
415\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp
a660d684 416
81d66cf3 417\membersection{wxToolBar::GetToolState}\label{wxtoolbargettoolstate}
a660d684 418
eaaa6a06 419\constfunc{bool}{GetToolState}{\param{int }{toolIndex}}
a660d684
KB
420
421Gets the on/off state of a toggle tool.
422
423\wxheading{Parameters}
424
425\docparam{toolIndex}{The tool in question.}
426
427\wxheading{Return value}
428
429TRUE if the tool is toggled on, FALSE otherwise.
430
431%\wxheading{See also}
432%
81d66cf3 433%\helpref{wxToolBar::SetToolState}{wxtoolbarsettoolstate}
a660d684 434%
81d66cf3 435\membersection{wxToolBar::Layout}\label{wxtoolbarlayout}
a660d684
KB
436
437\func{void}{Layout}{\void}
438
439Called by the application after the tools have been added to
fe604ccd 440automatically lay the tools out on the window. If you have given
a660d684
KB
441absolute positions when adding the tools, do not call this.
442
81d66cf3
JS
443This function is only implemented for some toolbar classes.
444The portable way of calling it is to call \helpref{wxToolBar::Realize}{wxtoolbarrealize} after
445you have added tools and separators.
446
447\wxheading{See also}
448
449\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::Realize}{wxtoolbarrealize}
450
451\membersection{wxToolBar::OnLeftClick}\label{wxtoolbaronleftclick}
a660d684
KB
452
453\func{bool}{OnLeftClick}{\param{int}{ toolIndex}, \param{bool}{ toggleDown}}
454
81d66cf3
JS
455Called when the user clicks on a tool with the left mouse button.
456
457This is the old way of detecting tool clicks; although it will still work,
458you should use the EVT\_MENU or EVT\_TOOL macro instead.
a660d684
KB
459
460\wxheading{Parameters}
461
81d66cf3 462\docparam{toolIndex}{The identifier passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
a660d684
KB
463
464\docparam{toggleDown}{TRUE if the tool is a toggle and the toggle is down, otherwise is FALSE.}
465
466\wxheading{Return value}
467
468If the tool is a toggle and this function returns FALSE, the toggle
469toggle state (internal and visual) will not be changed. This provides a way of
470specifying that toggle operations are not permitted in some circumstances.
471
472\wxheading{See also}
473
81d66cf3
JS
474\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp
475\helpref{wxToolBar::OnRightClick}{wxtoolbaronrightclick}
a660d684 476
81d66cf3 477\membersection{wxToolBar::OnMouseEnter}\label{wxtoolbaronmouseenter}
a660d684
KB
478
479\func{void}{OnMouseEnter}{\param{int}{ toolIndex}}
480
481This is called when the mouse cursor moves into a tool or out of
482the toolbar.
483
81d66cf3
JS
484This is the old way of detecting mouse enter events; although it will still work,
485you should use the EVT\_TOOL\_ENTER macro instead.
486
a660d684
KB
487\wxheading{Parameters}
488
489\docparam{toolIndex}{Greater than -1 if the mouse cursor has moved into the tool,
490or -1 if the mouse cursor has moved. The
491programmer can override this to provide extra information about the tool,
492such as a short description on the status line.}
493
494\wxheading{Remarks}
495
496With some derived toolbar classes, if the mouse moves quickly out of the toolbar, wxWindows may not be able to
497detect it. Therefore this function may not always be called when expected.
498
81d66cf3 499\membersection{wxToolBar::OnRightClick}\label{wxtoolbaronrightclick}
a660d684
KB
500
501\func{void}{OnRightClick}{\param{int}{ toolIndex}, \param{float}{ x}, \param{float}{ y}}
502
503Called when the user clicks on a tool with the right mouse button. The
504programmer should override this function to detect right tool clicks.
505
81d66cf3
JS
506This is the old way of detecting tool right clicks; although it will still work,
507you should use the EVT\_TOOL\_RCLICKED macro instead.
508
a660d684
KB
509\wxheading{Parameters}
510
81d66cf3 511\docparam{toolIndex}{The identifier passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
a660d684
KB
512
513\docparam{x}{The x position of the mouse cursor.}
514
515\docparam{y}{The y position of the mouse cursor.}
516
517\wxheading{Remarks}
518
519A typical use of this member might be to pop up a menu.
520
521\wxheading{See also}
522
81d66cf3
JS
523\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp
524\helpref{wxToolBar::OnLeftClick}{wxtoolbaronleftclick}
525
526\membersection{wxToolBar::Realize}\label{wxtoolbarrealize}
527
528\func{bool}{Realize}{\void}
529
530This function should be called after you have added tools. It
531calls, according to the implementation,
532either \helpref{wxToolBar::CreateTools}{wxtoolbarcreatetools} or
533 \helpref{wxToolBar::Layout}{wxtoolbarlayout}.
534
535If you are using absolute positions for your tools when using a wxToolBarSimple object,
536do not call this function. You must call it at all other times.
a660d684 537
81d66cf3 538\membersection{wxToolBar::SetToolBitmapSize}\label{wxtoolbarsettoolbitmapsize}
a660d684 539
81d66cf3 540\func{void}{SetToolBitmapSize}{\param{const wxSize\&}{ size}}
a660d684
KB
541
542Sets the default size of each tool bitmap. The default bitmap size is 16 by 15 pixels.
543
544\wxheading{Parameters}
545
546\docparam{size}{The size of the bitmaps in the toolbar.}
547
548\wxheading{Remarks}
549
550This should be called to tell the toolbar what the tool bitmap size is. Call
551it before you add tools.
552
81d66cf3 553Note that this is the size of the bitmap you pass to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool},
a660d684
KB
554and not the eventual size of the tool button.
555
556\wxheading{See also}
557
81d66cf3
JS
558\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize},\rtfsp
559\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
a660d684 560
81d66cf3 561\membersection{wxToolBar::SetMargins}\label{wxtoolbarsetmargins}
a660d684
KB
562
563\func{void}{SetMargins}{\param{const wxSize\&}{ size}}
564
eaaa6a06 565\func{void}{SetMargins}{\param{int}{ x}, \param{int}{ y}}
a660d684
KB
566
567Set the values to be used as margins for the toolbar.
568
569\wxheading{Parameters}
570
571\docparam{size}{Margin size.}
572
573\docparam{x}{Left margin, right margin and inter-tool separation value.}
574
575\docparam{y}{Top margin, bottom margin and inter-tool separation value.}
576
577\wxheading{Remarks}
578
579This must be called before the tools are added if absolute positioning is to be used, and the
580default (zero-size) margins are to be overridden.
581
582\wxheading{See also}
583
81d66cf3 584\helpref{wxToolBar::GetMargins}{wxtoolbargetmargins}, \helpref{wxSize}{wxsize}
a660d684 585
81d66cf3 586\membersection{wxToolBar::SetToolLongHelp}\label{wxtoolbarsettoollonghelp}
a660d684
KB
587
588\func{void}{SetToolLongHelp}{\param{int }{toolIndex}, \param{const wxString\& }{helpString}}
589
590Sets the long help for the given tool.
591
592\wxheading{Parameters}
593
594\docparam{toolIndex}{The tool in question.}
595
596\docparam{helpString}{A string for the long help.}
597
598\wxheading{Remarks}
599
600You might use the long help for displaying the tool purpose on the status line.
601
602\wxheading{See also}
603
81d66cf3
JS
604\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp
605\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp},\rtfsp
a660d684 606
81d66cf3 607\membersection{wxToolBar::SetToolPacking}\label{wxtoolbarsettoolpacking}
a660d684 608
eaaa6a06 609\func{void}{SetToolPacking}{\param{int}{ packing}}
a660d684
KB
610
611Sets the value used for spacing tools. The default value is 1.
612
613\wxheading{Parameters}
614
615\docparam{packing}{The value for packing.}
616
617\wxheading{Remarks}
618
619The packing is used for spacing in the vertical direction if the toolbar is horizontal,
620and for spacing in the horizontal direction if the toolbar is vertical.
621
622\wxheading{See also}
623
81d66cf3 624\helpref{wxToolBar::GetToolPacking}{wxtoolbargettoolpacking}
a660d684 625
81d66cf3 626\membersection{wxToolBar::SetToolShortHelp}\label{wxtoolbarsettoolshorthelp}
a660d684 627
eaaa6a06 628\func{void}{SetToolShortHelp}{\param{int }{toolIndex}, \param{const wxString\& }{helpString}}
a660d684
KB
629
630Sets the short help for the given tool.
631
632\wxheading{Parameters}
633
634\docparam{toolIndex}{The tool in question.}
635
636\docparam{helpString}{The string for the short help.}
637
638\wxheading{Remarks}
639
640An application might use short help for identifying the tool purpose in a tooltip.
641
642\wxheading{See also}
643
81d66cf3 644\helpref{wxToolBar::GetToolShortHelp}{wxtoolbargettoolshorthelp}, \helpref{wxToolBar::SetToolLongHelp}{wxtoolbarsettoollonghelp}
a660d684 645
81d66cf3 646\membersection{wxToolBar::SetToolSeparation}\label{wxtoolbarsettoolseparation}
a660d684 647
eaaa6a06 648\func{void}{SetToolSeparation}{\param{int}{ separation}}
a660d684
KB
649
650Sets the default separator size. The default value is 5.
651
652\wxheading{Parameters}
653
654\docparam{separation}{The separator size.}
655
656\wxheading{See also}
657
81d66cf3 658\helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator}
a660d684 659
81d66cf3 660\membersection{wxToolBar::ToggleTool}\label{wxtoolbartoggletool}
a660d684 661
eaaa6a06 662\func{void}{ToggleTool}{\param{int }{toolIndex}, \param{const bool}{ toggle}}
a660d684 663
41bf0eb3 664Toggles a tool on or off. This does not cause any event to get emitted.
a660d684
KB
665
666\wxheading{Parameters}
667
668\docparam{toolIndex}{Tool in question.}
669
670\docparam{toggle}{If TRUE, toggles the tool on, otherwise toggles it off.}
671
672\wxheading{Remarks}
673
674Only applies to a tool that has been specified as a toggle tool.
675
676\wxheading{See also}
677
81d66cf3 678\helpref{wxToolBar::GetToolState}{wxtoolbargettoolstate}
a660d684
KB
679
680