]>
Commit | Line | Data |
---|---|---|
499b2ed8 JS |
1 | % |
2 | % automatically generated by HelpGen $Revision$ from | |
4cbc57f0 | 3 | % controlbar.h at 21/Jan/02 21:14:13 |
499b2ed8 JS |
4 | % |
5 | ||
6 | ||
7 | \section{\class{wxFrameLayout}}\label{wxframelayout} | |
8 | ||
9 | ||
4cbc57f0 JS |
10 | wxFrameLayout manages containment and docking of control bars, |
11 | which can be docked along the top, bottom, right, or left side of the | |
12 | parent frame. | |
13 | ||
499b2ed8 JS |
14 | \wxheading{Derived from} |
15 | ||
16 | \helpref{wxEvtHandler}{wxevthandler} | |
17 | ||
4cbc57f0 JS |
18 | \wxheading{Include files} |
19 | ||
20 | <controlbar.h> | |
21 | ||
499b2ed8 JS |
22 | \wxheading{Data structures} |
23 | ||
24 | \latexignore{\rtfignore{\wxheading{Members}}} | |
25 | ||
26 | ||
27 | \membersection{wxFrameLayout::wxFrameLayout}\label{wxframelayoutwxframelayout} | |
28 | ||
29 | \func{}{wxFrameLayout}{\param{wxWindow* }{pParentFrame}, \param{wxWindow* }{pFrameClient = NULL}, \param{bool }{activateNow = TRUE}} | |
30 | ||
4cbc57f0 JS |
31 | Constructor, taking parent window, the (MDI) client of the parent if there |
32 | is one, and flag specifying whether to activate the layout. | |
33 | ||
499b2ed8 JS |
34 | |
35 | \func{}{wxFrameLayout}{\void} | |
36 | ||
4cbc57f0 | 37 | Default constructor, used only for serialization. |
499b2ed8 JS |
38 | |
39 | ||
40 | \membersection{wxFrameLayout::\destruct{wxFrameLayout}}\label{wxframelayoutdtor} | |
41 | ||
42 | \func{}{\destruct{wxFrameLayout}}{\void} | |
43 | ||
4cbc57f0 | 44 | Destructor. It does not destroy the bar windows. |
499b2ed8 JS |
45 | |
46 | ||
47 | \membersection{wxFrameLayout::Activate}\label{wxframelayoutactivate} | |
48 | ||
49 | \func{void}{Activate}{\void} | |
50 | ||
4cbc57f0 JS |
51 | Activate can be called after some other layout has been deactivated, |
52 | and this one must take over the current contents of the frame window. | |
53 | Effectively hooks itself to the frame window, re-displays all non-hidden | |
54 | bar windows and repaints the decorations. | |
499b2ed8 JS |
55 | |
56 | ||
57 | \membersection{wxFrameLayout::AddBar}\label{wxframelayoutaddbar} | |
58 | ||
59 | \func{void}{AddBar}{\param{wxWindow* }{pBarWnd}, \param{const cbDimInfo\& }{dimInfo}, \param{int }{alignment = FL\_ALIGN\_TOP}, \param{int }{rowNo = 0}, \param{int }{columnPos = 0}, \param{const wxString\& }{name = "bar"}, \param{bool }{spyEvents = FALSE}, \param{int }{state = wxCBAR\_DOCKED\_HORIZONTALLY}} | |
60 | ||
4cbc57f0 JS |
61 | Adds bar information to the frame layout. The appearance of the layout is not refreshed |
62 | immediately; RefreshNow() can be called if necessary. | |
63 | Notes: the argument pBarWnd can by NULL, resulting in bar decorations to be drawn | |
499b2ed8 | 64 | around the empty rectangle (filled with default background colour). |
4cbc57f0 JS |
65 | Argument dimInfo can be reused for adding any number of bars, since |
66 | it is not used directly - instead its members are copied. If the dimensions | |
67 | handler is present, its instance is shared (reference counted). The dimension | |
68 | handler should always be allocated on the heap. | |
69 | pBarWnd is the window to be managed. | |
70 | dimInfo contains dimension information. | |
71 | alignment is a value such as FL\_ALIGN\_TOP. | |
72 | rowNo is the vertical position or row in the pane (if in docked state). | |
73 | columnPos is the horizontal position within the row in pixels (if in docked state). | |
74 | name is a name by which the bar can be referred in layout customization dialogs. | |
75 | If spyEvents is TRUE, input events for the bar should be "spyed" in order | |
76 | to forward unhandled mouse clicks to the frame layout, for example to enable | |
77 | easy draggablity of toolbars just by clicking on their interior regions. | |
78 | For widgets like text/tree control this value should be FALSE, | |
79 | since there's no certain way to detect whether the event was actually handled. | |
80 | state is the initial state, such as wxCBAR\_DOCKED\_HORIZONTALLY, | |
81 | wxCBAR\_FLOATING, wxCBAR\_HIDDEN. | |
499b2ed8 JS |
82 | |
83 | ||
84 | \membersection{wxFrameLayout::AddPlugin}\label{wxframelayoutaddplugin} | |
85 | ||
86 | \func{void}{AddPlugin}{\param{wxClassInfo* }{pPlInfo}, \param{int }{paneMask = wxALL\_PANES}} | |
87 | ||
4cbc57f0 JS |
88 | An advanced methods for plugin configuration using their |
89 | dynamic class information, for example CLASSINFO(pluginClass). | |
90 | First checks if the plugin of the given class is already "hooked up". | |
91 | If not, adds it to the top of the plugins chain. | |
499b2ed8 JS |
92 | |
93 | ||
94 | \membersection{wxFrameLayout::AddPluginBefore}\label{wxframelayoutaddpluginbefore} | |
95 | ||
96 | \func{void}{AddPluginBefore}{\param{wxClassInfo* }{pNextPlInfo}, \param{wxClassInfo* }{pPlInfo}, \param{int }{paneMask = wxALL\_PANES}} | |
97 | ||
4cbc57f0 JS |
98 | First checks if the plugin of the given class is already hooked. |
99 | If so, removes it, and then inserts it into the chain | |
100 | before the plugin of the class given by pNextPlInfo. | |
101 | Note: this method is handy in some cases where the order | |
102 | of the plugin-chain could be important, for example when one plugin overrides | |
103 | some functionality of another already-hooked plugin, | |
104 | so that the former plugin should be hooked before the one | |
105 | whose functionality is being overridden. | |
499b2ed8 JS |
106 | |
107 | ||
108 | \membersection{wxFrameLayout::ApplyBarProperties}\label{wxframelayoutapplybarproperties} | |
109 | ||
110 | \func{void}{ApplyBarProperties}{\param{cbBarInfo* }{pBar}} | |
111 | ||
4cbc57f0 JS |
112 | Reflects changes in bar information structure visually. |
113 | For example, moves the bar, changes its dimension information, | |
114 | or changes the pane to which it is docked. | |
499b2ed8 JS |
115 | |
116 | ||
117 | \membersection{wxFrameLayout::CanReparent}\label{wxframelayoutcanreparent} | |
118 | ||
119 | \func{bool}{CanReparent}{\void} | |
120 | ||
4cbc57f0 JS |
121 | Returns TRUE if the platform allows reparenting. This may not return TRUE |
122 | for all platforms. Reparenting allows control bars to be floated. | |
499b2ed8 JS |
123 | |
124 | ||
125 | \membersection{wxFrameLayout::CaptureEventsForPane}\label{wxframelayoutcaptureeventsforpane} | |
126 | ||
127 | \func{void}{CaptureEventsForPane}{\param{cbDockPane* }{toPane}} | |
128 | ||
4cbc57f0 | 129 | Called by plugins; also captures the mouse in the parent frame. |
499b2ed8 JS |
130 | |
131 | ||
132 | \membersection{wxFrameLayout::CaptureEventsForPlugin}\label{wxframelayoutcaptureeventsforplugin} | |
133 | ||
134 | \func{void}{CaptureEventsForPlugin}{\param{cbPluginBase* }{pPlugin}} | |
135 | ||
4cbc57f0 JS |
136 | Captures user input events for the given plugin. |
137 | Input events are: mouse movement, mouse clicks, keyboard input. | |
499b2ed8 JS |
138 | |
139 | ||
140 | \membersection{wxFrameLayout::CreateCursors}\label{wxframelayoutcreatecursors} | |
141 | ||
142 | \func{void}{CreateCursors}{\void} | |
143 | ||
4cbc57f0 JS |
144 | Creates the cursors. |
145 | ||
499b2ed8 JS |
146 | |
147 | \membersection{wxFrameLayout::CreateUpdatesManager}\label{wxframelayoutcreateupdatesmanager} | |
148 | ||
149 | \func{cbUpdatesManagerBase*}{CreateUpdatesManager}{\void} | |
150 | ||
4cbc57f0 | 151 | Returns a new cbGCUpdatesMgr object. |
499b2ed8 JS |
152 | |
153 | ||
154 | \membersection{wxFrameLayout::Deactivate}\label{wxframelayoutdeactivate} | |
155 | ||
156 | \func{void}{Deactivate}{\void} | |
157 | ||
4cbc57f0 JS |
158 | Deactivate unhooks itself from frame window, and hides all non-hidden windows. |
159 | Note: two frame layouts should not be active at the same time in the | |
160 | same frame window, since it would cause messy overlapping of bar windows | |
161 | from both layouts. | |
499b2ed8 JS |
162 | |
163 | ||
164 | \membersection{wxFrameLayout::DestroyBarWindows}\label{wxframelayoutdestroybarwindows} | |
165 | ||
166 | \func{void}{DestroyBarWindows}{\void} | |
167 | ||
4cbc57f0 JS |
168 | Destroys the bar windows. |
169 | ||
499b2ed8 JS |
170 | |
171 | \membersection{wxFrameLayout::DoSetBarState}\label{wxframelayoutdosetbarstate} | |
172 | ||
173 | \func{void}{DoSetBarState}{\param{cbBarInfo* }{pBar}} | |
174 | ||
4cbc57f0 JS |
175 | Applies the state to the window objects. |
176 | ||
499b2ed8 JS |
177 | |
178 | \membersection{wxFrameLayout::EnableFloating}\label{wxframelayoutenablefloating} | |
179 | ||
180 | \func{void}{EnableFloating}{\param{bool }{enable = TRUE}} | |
181 | ||
4cbc57f0 | 182 | Enables floating behaviour. By default floating of control bars is on. |
499b2ed8 JS |
183 | |
184 | ||
185 | \membersection{wxFrameLayout::FindBarByName}\label{wxframelayoutfindbarbyname} | |
186 | ||
187 | \func{cbBarInfo*}{FindBarByName}{\param{const wxString\& }{name}} | |
188 | ||
4cbc57f0 | 189 | Finds the bar in the framelayout, by name. |
499b2ed8 JS |
190 | |
191 | ||
192 | \membersection{wxFrameLayout::FindBarByWindow}\label{wxframelayoutfindbarbywindow} | |
193 | ||
194 | \func{cbBarInfo*}{FindBarByWindow}{\param{const wxWindow* }{pWnd}} | |
195 | ||
4cbc57f0 JS |
196 | Finds the bar in the framelayout, by window. |
197 | ||
499b2ed8 JS |
198 | |
199 | \membersection{wxFrameLayout::FindPlugin}\label{wxframelayoutfindplugin} | |
200 | ||
201 | \func{cbPluginBase*}{FindPlugin}{\param{wxClassInfo* }{pPlInfo}} | |
202 | ||
4cbc57f0 JS |
203 | Finds a plugin with the given class, or returns NULL if a plugin of the given |
204 | class is not hooked. | |
499b2ed8 JS |
205 | |
206 | ||
207 | \membersection{wxFrameLayout::FirePluginEvent}\label{wxframelayoutfirepluginevent} | |
208 | ||
209 | \func{void}{FirePluginEvent}{\param{cbPluginEvent\& }{event}} | |
210 | ||
4cbc57f0 JS |
211 | This function should be used instead of passing the event to the ProcessEvent method |
212 | of the top-level plugin directly. This method checks if events are currently | |
499b2ed8 JS |
213 | captured and ensures that plugin-event is routed correctly. |
214 | ||
215 | ||
216 | \membersection{wxFrameLayout::ForwardMouseEvent}\label{wxframelayoutforwardmouseevent} | |
217 | ||
218 | \func{void}{ForwardMouseEvent}{\param{wxMouseEvent\& }{event}, \param{cbDockPane* }{pToPane}, \param{int }{eventType}} | |
219 | ||
4cbc57f0 | 220 | Delegated from "bar-spy". |
499b2ed8 JS |
221 | |
222 | ||
223 | \membersection{wxFrameLayout::GetBarPane}\label{wxframelayoutgetbarpane} | |
224 | ||
225 | \func{cbDockPane*}{GetBarPane}{\param{cbBarInfo* }{pBar}} | |
226 | ||
4cbc57f0 | 227 | Returns the pane to which the given bar belongs. |
499b2ed8 JS |
228 | |
229 | ||
230 | \membersection{wxFrameLayout::GetBars}\label{wxframelayoutgetbars} | |
231 | ||
232 | \func{BarArrayT\&}{GetBars}{\void} | |
233 | ||
4cbc57f0 JS |
234 | Gets an array of bars. |
235 | ||
499b2ed8 JS |
236 | |
237 | \membersection{wxFrameLayout::GetClientHeight}\label{wxframelayoutgetclientheight} | |
238 | ||
239 | \func{int}{GetClientHeight}{\void} | |
240 | ||
4cbc57f0 JS |
241 | Returns the client height. |
242 | ||
499b2ed8 JS |
243 | |
244 | \membersection{wxFrameLayout::GetClientRect}\label{wxframelayoutgetclientrect} | |
245 | ||
246 | \func{wxRect\&}{GetClientRect}{\void} | |
247 | ||
4cbc57f0 JS |
248 | Returns the client's rectangle. |
249 | ||
499b2ed8 JS |
250 | |
251 | \membersection{wxFrameLayout::GetClientWidth}\label{wxframelayoutgetclientwidth} | |
252 | ||
253 | \func{int}{GetClientWidth}{\void} | |
254 | ||
4cbc57f0 JS |
255 | Returns the client width. |
256 | ||
499b2ed8 JS |
257 | |
258 | \membersection{wxFrameLayout::GetFrameClient}\label{wxframelayoutgetframeclient} | |
259 | ||
260 | \func{wxWindow*}{GetFrameClient}{\void} | |
261 | ||
4cbc57f0 JS |
262 | Returns the frame client, or NULL if not present. |
263 | ||
499b2ed8 JS |
264 | |
265 | \membersection{wxFrameLayout::GetPane}\label{wxframelayoutgetpane} | |
266 | ||
267 | \func{cbDockPane*}{GetPane}{\param{int }{alignment}} | |
268 | ||
4cbc57f0 | 269 | Returns a pane for the given alignment. See pane alignment types. |
499b2ed8 JS |
270 | |
271 | ||
272 | \membersection{wxFrameLayout::GetPaneProperties}\label{wxframelayoutgetpaneproperties} | |
273 | ||
274 | \func{void}{GetPaneProperties}{\param{cbCommonPaneProperties\& }{props}, \param{int }{alignment = FL\_ALIGN\_TOP}} | |
275 | ||
4cbc57f0 | 276 | Gets the pane properties for the given alignment. |
499b2ed8 JS |
277 | |
278 | ||
279 | \membersection{wxFrameLayout::GetPanesArray}\label{wxframelayoutgetpanesarray} | |
280 | ||
281 | \func{cbDockPane**}{GetPanesArray}{\void} | |
282 | ||
4cbc57f0 | 283 | Returns an array of panes. Used by update managers. |
499b2ed8 JS |
284 | |
285 | ||
286 | \membersection{wxFrameLayout::GetParentFrame}\label{wxframelayoutgetparentframe} | |
287 | ||
288 | \func{wxWindow\&}{GetParentFrame}{\void} | |
289 | ||
4cbc57f0 JS |
290 | Returns the parent frame. |
291 | ||
499b2ed8 JS |
292 | |
293 | \membersection{wxFrameLayout::GetPrevClientRect}\label{wxframelayoutgetprevclientrect} | |
294 | ||
295 | \func{wxRect\&}{GetPrevClientRect}{\void} | |
296 | ||
4cbc57f0 JS |
297 | Returns the previous client window rectangle. |
298 | ||
499b2ed8 JS |
299 | |
300 | \membersection{wxFrameLayout::GetTopPlugin}\label{wxframelayoutgettopplugin} | |
301 | ||
302 | \func{cbPluginBase\&}{GetTopPlugin}{\void} | |
303 | ||
4cbc57f0 JS |
304 | Returns the current top-level plugin (the one that receives events first, |
305 | except if input events are currently captured by some other plugin). | |
499b2ed8 JS |
306 | |
307 | ||
308 | \membersection{wxFrameLayout::GetUpdatesManager}\label{wxframelayoutgetupdatesmanager} | |
309 | ||
310 | \func{cbUpdatesManagerBase\&}{GetUpdatesManager}{\void} | |
311 | ||
4cbc57f0 JS |
312 | Returns a reference to the updates manager. |
313 | Note: in future, the updates manager will become a normal plugin. | |
499b2ed8 JS |
314 | |
315 | ||
316 | \membersection{wxFrameLayout::HasTopPlugin}\label{wxframelayouthastopplugin} | |
317 | ||
318 | \func{bool}{HasTopPlugin}{\void} | |
319 | ||
4cbc57f0 JS |
320 | Returns true if there is a top plugin. |
321 | ||
499b2ed8 JS |
322 | |
323 | \membersection{wxFrameLayout::HideBarWindows}\label{wxframelayouthidebarwindows} | |
324 | ||
325 | \func{void}{HideBarWindows}{\void} | |
326 | ||
4cbc57f0 | 327 | Hides the bar windows, and also the client window if present. |
499b2ed8 JS |
328 | |
329 | ||
330 | \membersection{wxFrameLayout::HitTestPane}\label{wxframelayouthittestpane} | |
331 | ||
332 | \func{bool}{HitTestPane}{\param{cbDockPane* }{pPane}, \param{int }{x}, \param{int }{y}} | |
333 | ||
4cbc57f0 JS |
334 | Returns TRUE if the position is within the given pane. |
335 | ||
499b2ed8 JS |
336 | |
337 | \membersection{wxFrameLayout::HitTestPanes}\label{wxframelayouthittestpanes} | |
338 | ||
339 | \func{cbDockPane*}{HitTestPanes}{\param{const wxRect\& }{rect}, \param{cbDockPane* }{pCurPane}} | |
340 | ||
4cbc57f0 JS |
341 | Returns the pane for which the rectangle hit test succeeds, giving |
342 | preference to the given pane if supplied. | |
343 | ||
499b2ed8 JS |
344 | |
345 | \membersection{wxFrameLayout::HookUpToFrame}\label{wxframelayouthookuptoframe} | |
346 | ||
347 | \func{void}{HookUpToFrame}{\void} | |
348 | ||
4cbc57f0 JS |
349 | Hooks the layout up to the frame (pushes the layout onto the |
350 | frame's event handler stack). | |
351 | ||
499b2ed8 JS |
352 | |
353 | \membersection{wxFrameLayout::InverseVisibility}\label{wxframelayoutinversevisibility} | |
354 | ||
355 | \func{void}{InverseVisibility}{\param{cbBarInfo* }{pBar}} | |
356 | ||
4cbc57f0 JS |
357 | Toggles the bar between visible and hidden. |
358 | ||
499b2ed8 JS |
359 | |
360 | \membersection{wxFrameLayout::LocateBar}\label{wxframelayoutlocatebar} | |
361 | ||
362 | \func{bool}{LocateBar}{\param{cbBarInfo* }{pBarInfo}, \param{cbRowInfo** }{ppRow}, \param{cbDockPane** }{ppPane}} | |
363 | ||
4cbc57f0 JS |
364 | The purpose of this function is unknown. |
365 | ||
499b2ed8 JS |
366 | |
367 | \membersection{wxFrameLayout::OnActivate}\label{wxframelayoutonactivate} | |
368 | ||
369 | \func{void}{OnActivate}{\param{wxActivateEvent\& }{event}} | |
370 | ||
4cbc57f0 JS |
371 | Handles activation events. Currently does nothing. |
372 | ||
499b2ed8 JS |
373 | |
374 | \membersection{wxFrameLayout::OnEraseBackground}\label{wxframelayoutonerasebackground} | |
375 | ||
376 | \func{void}{OnEraseBackground}{\param{wxEraseEvent\& }{event}} | |
377 | ||
4cbc57f0 JS |
378 | Handles background erase events. Currently does nothing. |
379 | ||
499b2ed8 JS |
380 | |
381 | \membersection{wxFrameLayout::OnIdle}\label{wxframelayoutonidle} | |
382 | ||
383 | \func{void}{OnIdle}{\param{wxIdleEvent\& }{event}} | |
384 | ||
4cbc57f0 JS |
385 | Handles idle events. |
386 | ||
499b2ed8 JS |
387 | |
388 | \membersection{wxFrameLayout::OnKillFocus}\label{wxframelayoutonkillfocus} | |
389 | ||
390 | \func{void}{OnKillFocus}{\param{wxFocusEvent\& }{event}} | |
391 | ||
4cbc57f0 JS |
392 | Handles focus kill events. Currently does nothing. |
393 | ||
499b2ed8 JS |
394 | |
395 | \membersection{wxFrameLayout::OnLButtonDown}\label{wxframelayoutonlbuttondown} | |
396 | ||
397 | \func{void}{OnLButtonDown}{\param{wxMouseEvent\& }{event}} | |
398 | ||
4cbc57f0 JS |
399 | Event handler for a left down button event. |
400 | ||
499b2ed8 JS |
401 | |
402 | \membersection{wxFrameLayout::OnLButtonUp}\label{wxframelayoutonlbuttonup} | |
403 | ||
404 | \func{void}{OnLButtonUp}{\param{wxMouseEvent\& }{event}} | |
405 | ||
4cbc57f0 JS |
406 | Event handler for a left button up event. |
407 | ||
499b2ed8 JS |
408 | |
409 | \membersection{wxFrameLayout::OnLDblClick}\label{wxframelayoutonldblclick} | |
410 | ||
411 | \func{void}{OnLDblClick}{\param{wxMouseEvent\& }{event}} | |
412 | ||
4cbc57f0 JS |
413 | Event handler for a left doubleclick button event. |
414 | ||
499b2ed8 JS |
415 | |
416 | \membersection{wxFrameLayout::OnMouseMove}\label{wxframelayoutonmousemove} | |
417 | ||
418 | \func{void}{OnMouseMove}{\param{wxMouseEvent\& }{event}} | |
419 | ||
4cbc57f0 JS |
420 | Event handler for a mouse move event. |
421 | ||
499b2ed8 JS |
422 | |
423 | \membersection{wxFrameLayout::OnPaint}\label{wxframelayoutonpaint} | |
424 | ||
425 | \func{void}{OnPaint}{\param{wxPaintEvent\& }{event}} | |
426 | ||
4cbc57f0 JS |
427 | Handles paint events, calling PaintPane for each pane. |
428 | ||
499b2ed8 JS |
429 | |
430 | \membersection{wxFrameLayout::OnRButtonDown}\label{wxframelayoutonrbuttondown} | |
431 | ||
432 | \func{void}{OnRButtonDown}{\param{wxMouseEvent\& }{event}} | |
433 | ||
4cbc57f0 JS |
434 | Event handler for a right button down event. |
435 | ||
499b2ed8 JS |
436 | |
437 | \membersection{wxFrameLayout::OnRButtonUp}\label{wxframelayoutonrbuttonup} | |
438 | ||
439 | \func{void}{OnRButtonUp}{\param{wxMouseEvent\& }{event}} | |
440 | ||
4cbc57f0 JS |
441 | Event handler for a right button up event. |
442 | ||
499b2ed8 JS |
443 | |
444 | \membersection{wxFrameLayout::OnSetFocus}\label{wxframelayoutonsetfocus} | |
445 | ||
446 | \func{void}{OnSetFocus}{\param{wxFocusEvent\& }{event}} | |
447 | ||
4cbc57f0 JS |
448 | Handles focus set events. Currently does nothing. |
449 | ||
499b2ed8 JS |
450 | |
451 | \membersection{wxFrameLayout::OnSize}\label{wxframelayoutonsize} | |
452 | ||
453 | \func{void}{OnSize}{\param{wxSizeEvent\& }{event}} | |
454 | ||
4cbc57f0 | 455 | Event handler for a size event. |
499b2ed8 JS |
456 | |
457 | ||
458 | \membersection{wxFrameLayout::PopAllPlugins}\label{wxframelayoutpopallplugins} | |
459 | ||
460 | \func{void}{PopAllPlugins}{\void} | |
461 | ||
4cbc57f0 JS |
462 | Pop all plugins. |
463 | ||
499b2ed8 JS |
464 | |
465 | \membersection{wxFrameLayout::PopPlugin}\label{wxframelayoutpopplugin} | |
466 | ||
467 | \func{void}{PopPlugin}{\void} | |
468 | ||
4cbc57f0 JS |
469 | Similar to wxWindow's "push/pop-event-handler" methods, execept |
470 | that the plugin is deleted upon "popping". | |
471 | ||
499b2ed8 JS |
472 | |
473 | \membersection{wxFrameLayout::PositionClientWindow}\label{wxframelayoutpositionclientwindow} | |
474 | ||
475 | \func{void}{PositionClientWindow}{\void} | |
476 | ||
4cbc57f0 | 477 | Called to apply the calculated layout to window objects. |
499b2ed8 JS |
478 | |
479 | ||
480 | \membersection{wxFrameLayout::PositionPanes}\label{wxframelayoutpositionpanes} | |
481 | ||
482 | \func{void}{PositionPanes}{\void} | |
483 | ||
4cbc57f0 JS |
484 | Called to apply the calculated layout to window objects. |
485 | ||
499b2ed8 JS |
486 | |
487 | \membersection{wxFrameLayout::PushDefaultPlugins}\label{wxframelayoutpushdefaultplugins} | |
488 | ||
489 | \func{void}{PushDefaultPlugins}{\void} | |
490 | ||
4cbc57f0 JS |
491 | Adds the default plugins. These are cbPaneDrawPlugin, cbRowLayoutPlugin, cbBarDragPlugin, |
492 | cbAntiflickerPlugin, cbSimpleCustomizePlugin. | |
493 | This method is automatically invoked if no plugins were found upon | |
494 | firing of the first plugin-event, i.e. when wxFrameLayout configures itself. | |
499b2ed8 JS |
495 | |
496 | ||
497 | \membersection{wxFrameLayout::PushPlugin}\label{wxframelayoutpushplugin} | |
498 | ||
499 | \func{void}{PushPlugin}{\param{cbPluginBase* }{pPugin}} | |
500 | ||
4cbc57f0 JS |
501 | Similar to wxWindow's "push/pop-event-handler" methods, execept |
502 | that the plugin is deleted upon "popping". | |
499b2ed8 JS |
503 | |
504 | ||
505 | \membersection{wxFrameLayout::RecalcLayout}\label{wxframelayoutrecalclayout} | |
506 | ||
507 | \func{void}{RecalcLayout}{\param{bool }{repositionBarsNow = FALSE}} | |
508 | ||
4cbc57f0 | 509 | Recalculates the layout of panes, and all bars/rows in each pane. |
499b2ed8 JS |
510 | |
511 | ||
512 | \membersection{wxFrameLayout::RedockBar}\label{wxframelayoutredockbar} | |
513 | ||
514 | \func{bool}{RedockBar}{\param{cbBarInfo* }{pBar}, \param{const wxRect\& }{shapeInParent}, \param{cbDockPane* }{pToPane = NULL}, \param{bool }{updateNow = TRUE}} | |
515 | ||
4cbc57f0 | 516 | ReddockBar can be used for repositioning existing bars. The given bar is first removed |
499b2ed8 | 517 | from the pane it currently belongs to, and inserted into the pane, which "matches" |
4cbc57f0 JS |
518 | the given rectangular area. If pToPane is not NULL, the bar is docked to this given pane. |
519 | To dock a bar which is floating, use the wxFrameLayout::DockBar method. | |
499b2ed8 JS |
520 | |
521 | ||
522 | \membersection{wxFrameLayout::RefreshNow}\label{wxframelayoutrefreshnow} | |
523 | ||
524 | \func{void}{RefreshNow}{\param{bool }{recalcLayout = TRUE}} | |
525 | ||
4cbc57f0 | 526 | Recalculates layout and performs on-screen update of all panes. |
499b2ed8 JS |
527 | |
528 | ||
529 | \membersection{wxFrameLayout::ReleaseEventsFromPane}\label{wxframelayoutreleaseeventsfrompane} | |
530 | ||
531 | \func{void}{ReleaseEventsFromPane}{\param{cbDockPane* }{fromPane}} | |
532 | ||
4cbc57f0 JS |
533 | Called by plugins; also releases mouse in the parent frame. |
534 | ||
499b2ed8 JS |
535 | |
536 | \membersection{wxFrameLayout::ReleaseEventsFromPlugin}\label{wxframelayoutreleaseeventsfromplugin} | |
537 | ||
538 | \func{void}{ReleaseEventsFromPlugin}{\param{cbPluginBase* }{pPlugin}} | |
539 | ||
4cbc57f0 JS |
540 | Releases user input events for the given plugin. |
541 | Input events are: mouse movement, mouse clicks, keyboard input | |
542 | ||
499b2ed8 JS |
543 | |
544 | \membersection{wxFrameLayout::RemoveBar}\label{wxframelayoutremovebar} | |
545 | ||
546 | \func{void}{RemoveBar}{\param{cbBarInfo* }{pBar}} | |
547 | ||
4cbc57f0 | 548 | Removes the bar from the layout permanently, and hides its corresponding window if present. |
499b2ed8 JS |
549 | |
550 | ||
551 | \membersection{wxFrameLayout::RemovePlugin}\label{wxframelayoutremoveplugin} | |
552 | ||
553 | \func{void}{RemovePlugin}{\param{wxClassInfo* }{pPlInfo}} | |
554 | ||
4cbc57f0 JS |
555 | Checks if the plugin of the given class is hooked, and removes |
556 | it if found. | |
499b2ed8 JS |
557 | |
558 | ||
559 | \membersection{wxFrameLayout::ReparentWindow}\label{wxframelayoutreparentwindow} | |
560 | ||
561 | \func{void}{ReparentWindow}{\param{wxWindow* }{pChild}, \param{wxWindow* }{pNewParent}} | |
562 | ||
4cbc57f0 JS |
563 | Reparents pChild to have parent pNewParent. |
564 | ||
499b2ed8 JS |
565 | |
566 | \membersection{wxFrameLayout::RepositionFloatedBar}\label{wxframelayoutrepositionfloatedbar} | |
567 | ||
568 | \func{void}{RepositionFloatedBar}{\param{cbBarInfo* }{pBar}} | |
569 | ||
4cbc57f0 JS |
570 | Applies the calculated layout to a floating bar. |
571 | ||
499b2ed8 JS |
572 | |
573 | \membersection{wxFrameLayout::RouteMouseEvent}\label{wxframelayoutroutemouseevent} | |
574 | ||
575 | \func{void}{RouteMouseEvent}{\param{wxMouseEvent\& }{event}, \param{int }{pluginEvtType}} | |
576 | ||
4cbc57f0 JS |
577 | Routes the mouse event to the appropriate pane. |
578 | ||
499b2ed8 JS |
579 | |
580 | \membersection{wxFrameLayout::SetBarState}\label{wxframelayoutsetbarstate} | |
581 | ||
582 | \func{void}{SetBarState}{\param{cbBarInfo* }{pBar}, \param{int }{newStatem}, \param{bool }{updateNow}} | |
583 | ||
4cbc57f0 | 584 | Changes the bar's docking state (see possible control bar states). |
499b2ed8 JS |
585 | |
586 | ||
587 | \membersection{wxFrameLayout::SetFrameClient}\label{wxframelayoutsetframeclient} | |
588 | ||
589 | \func{void}{SetFrameClient}{\param{wxWindow* }{pFrameClient}} | |
590 | ||
4cbc57f0 | 591 | Passes the client window (e.g. MDI client window) to be controlled by |
499b2ed8 | 592 | frame layout, the size and position of which should be adjusted to be |
4cbc57f0 JS |
593 | surrounded by controlbar panes, whenever the frame is resized or the dimensions |
594 | of control panes change. | |
499b2ed8 JS |
595 | |
596 | ||
597 | \membersection{wxFrameLayout::SetMargins}\label{wxframelayoutsetmargins} | |
598 | ||
599 | \func{void}{SetMargins}{\param{int }{top}, \param{int }{bottom}, \param{int }{left}, \param{int }{right}, \param{int }{paneMask = wxALL\_PANES}} | |
600 | ||
4cbc57f0 JS |
601 | Sets the margins for the given panes. |
602 | The margins should go into cbCommonPaneProperties in the future. | |
603 | Note: this method should be called before any custom plugins are attached. | |
499b2ed8 JS |
604 | |
605 | ||
606 | \membersection{wxFrameLayout::SetPaneBackground}\label{wxframelayoutsetpanebackground} | |
607 | ||
608 | \func{void}{SetPaneBackground}{\param{const wxColour\& }{colour}} | |
609 | ||
4cbc57f0 JS |
610 | Sets the pane background colour. |
611 | ||
499b2ed8 JS |
612 | |
613 | \membersection{wxFrameLayout::SetPaneProperties}\label{wxframelayoutsetpaneproperties} | |
614 | ||
615 | \func{void}{SetPaneProperties}{\param{const cbCommonPaneProperties\& }{props}, \param{int }{paneMask = wxALL\_PANES}} | |
616 | ||
4cbc57f0 JS |
617 | Sets the pane properties for the given alignment. |
618 | Note: changing properties of panes does not result immediate on-screen update. | |
619 | ||
499b2ed8 JS |
620 | |
621 | \membersection{wxFrameLayout::SetTopPlugin}\label{wxframelayoutsettopplugin} | |
622 | ||
623 | \func{void}{SetTopPlugin}{\param{cbPluginBase* }{pPlugin}} | |
624 | ||
4cbc57f0 JS |
625 | Hooking custom plugins to frame layout. |
626 | Note: when hooking one plugin on top of the other, | |
627 | use SetNextHandler or similar methods | |
499b2ed8 JS |
628 | of wxEvtHandler class to compose the chain of plugins, |
629 | than pass the left-most handler in this chain to | |
630 | the above methods (assuming that events are delegated | |
4cbc57f0 JS |
631 | from left-most towards right-most handler). |
632 | This secenario is very inconvenient and "low-level", | |
633 | so use the Add/Push/PopPlugin methods instead. | |
499b2ed8 JS |
634 | |
635 | ||
636 | \membersection{wxFrameLayout::SetUpdatesManager}\label{wxframelayoutsetupdatesmanager} | |
637 | ||
638 | \func{void}{SetUpdatesManager}{\param{cbUpdatesManagerBase* }{pUMgr}} | |
639 | ||
4cbc57f0 | 640 | Destroys the previous manager if any, and sets the new one. |
499b2ed8 JS |
641 | |
642 | ||
643 | \membersection{wxFrameLayout::ShowFloatedWindows}\label{wxframelayoutshowfloatedwindows} | |
644 | ||
645 | \func{void}{ShowFloatedWindows}{\param{bool }{show}} | |
646 | ||
4cbc57f0 JS |
647 | Shows all floated windows. |
648 | ||
499b2ed8 JS |
649 | |
650 | \membersection{wxFrameLayout::UnhookFromFrame}\label{wxframelayoutunhookfromframe} | |
651 | ||
652 | \func{void}{UnhookFromFrame}{\void} | |
653 | ||
4cbc57f0 JS |
654 | Unhooks the layout from the frame. |
655 |