--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% dyntbar.h at 05/Jan/02 22:50:56
+%
+
+
+\section{\class{BagLayout}}\label{baglayout}
+
+
+layouts items in left-to-right order from
+top towards bottom
+
+\wxheading{Derived from}
+
+\helpref{LayoutManagerBase}{layoutmanagerbase}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{BagLayout::Layout}\label{baglayoutlayout}
+
+\func{void}{Layout}{\param{const wxSize\& }{parentDim}, \param{wxSize\& }{resultingDim}, \param{wxLayoutItemArrayT\& }{items}, \param{int }{horizGap}, \param{int }{vertGap}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:59
+%
+
+
+\section{\class{wxBarIterator}}\label{wxbariterator}
+
+
+used for traversing through all bars of all rows in the pane
+
+\wxheading{Derived from}
+
+No base class
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxBarIterator::wxBarIterator}\label{wxbariteratorwxbariterator}
+
+\func{}{wxBarIterator}{\param{RowArrayT\& }{rows}}
+
+
+\membersection{wxBarIterator::BarInfo}\label{wxbariteratorbarinfo}
+
+\func{cbBarInfo\&}{BarInfo}{\void}
+
+
+\membersection{wxBarIterator::Next}\label{wxbariteratornext}
+
+\func{bool}{Next}{\void}
+
+TRUE, if next bar is available
+
+
+\membersection{wxBarIterator::Reset}\label{wxbariteratorreset}
+
+\func{void}{Reset}{\void}
+
+
+\membersection{wxBarIterator::RowInfo}\label{wxbariteratorrowinfo}
+
+\func{cbRowInfo\&}{RowInfo}{\void}
+
+returns reference to currently traversed row
+
--- /dev/null
+\chapter{Introduction}\label{introduction}
+\pagenumbering{arabic}%
+\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+\section{What is FL?}
+
+This manual describes FL (Frame Layout), a
+class library for managing sophisticated window layout,
+including docking panes.
+
--- /dev/null
+\chapter{Classes by category}\label{classesbycat}
+\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+A classification of FL classes by category.
+\twocolwidtha{5cm}
+
+\begin{comment}
+{\large {\bf Service classes}}
+
+\overview{wxMPService class overview}{wxmpserviceoverview}
+
+Service classes reduce the diversity of PMF classes, by making
+them comply to a common interface. A service class serves as an interface (or
+mix-in class in C++ terms), which cannot itself represent an
+independent object. It should be inherited as a second (or
+third) base class.
+
+Derived services classes all derive from wxEvtHandler as well as
+wxPMService.
+
+\begin{twocollist}\itemsep=0pt
+\twocolitem{\helpref{wxPMService}{wxpmservice}}{Base class}
+\twocolitem{\helpref{wxPMBootstrapService}{wxpmbootstrapservice}}{Boot strap service}
+\twocolitem{\helpref{wxPMLAlgorithm}{wxpmlalgorithm}}{Layout algorithm service}
+\twocolitem{\helpref{wxPMSashLayoutAlgorithm}{wxpmsashlayoutalgorithm}}{Sash layout algorithm service}
+\twocolitem{\helpref{wxPMPane}{wxpmpane}}{Base class for panes lying outside the MDI client area}
+\end{twocollist}
+\end{comment}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% antiflickpl.h at 05/Jan/02 22:50:56
+%
+
+
+\section{\class{cbAntiflickerPlugin}}\label{cbantiflickerplugin}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginBase}{cbpluginbase}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbAntiflickerPlugin::cbAntiflickerPlugin}\label{cbantiflickerplugincbantiflickerplugin}
+
+\func{}{cbAntiflickerPlugin}{\void}
+
+
+\func{}{cbAntiflickerPlugin}{\param{wxFrameLayout* }{pPanel}, \param{int }{paneMask = wxALL\_PANES}}
+
+
+\membersection{cbAntiflickerPlugin::\destruct{cbAntiflickerPlugin}}\label{cbantiflickerplugindtor}
+
+\func{}{\destruct{cbAntiflickerPlugin}}{\void}
+
+
+\membersection{cbAntiflickerPlugin::AllocNewBuffer}\label{cbantiflickerpluginallocnewbuffer}
+
+\func{wxDC*}{AllocNewBuffer}{\param{const wxRect\& }{forArea}}
+
+
+\membersection{cbAntiflickerPlugin::FindSuitableBuffer}\label{cbantiflickerpluginfindsuitablebuffer}
+
+\func{wxDC*}{FindSuitableBuffer}{\param{const wxRect\& }{forArea}}
+
+returns NULL, if sutable buffer is not present
+
+
+\membersection{cbAntiflickerPlugin::GetClientDC}\label{cbantiflickerplugingetclientdc}
+
+\func{wxDC\&}{GetClientDC}{\void}
+
+
+\membersection{cbAntiflickerPlugin::GetWindowDC}\label{cbantiflickerplugingetwindowdc}
+
+\func{wxDC\&}{GetWindowDC}{\void}
+
+
+\membersection{cbAntiflickerPlugin::OnFinishDrawInArea}\label{cbantiflickerpluginonfinishdrawinarea}
+
+\func{void}{OnFinishDrawInArea}{\param{cbFinishDrawInAreaEvent\& }{event}}
+
+
+\membersection{cbAntiflickerPlugin::OnStartDrawInArea}\label{cbantiflickerpluginonstartdrawinarea}
+
+\func{void}{OnStartDrawInArea}{\param{cbStartDrawInAreaEvent\& }{event}}
+
+handlers for plugin events
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:58
+%
+
+
+\section{\class{cbBarDimHandlerBase}}\label{cbbardimhandlerbase}
+
+
+Abstract interface for bar-size handler classes.
+ These objects receive notifications, whenever the docking
+ state of the bar is changed, thus they have a possibility
+ to adjust the values in cbDimInfo::mSizes accordingly.
+ Specific handlers can be hooked to specific types of bars.
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbBarDimHandlerBase::cbBarDimHandlerBase}\label{cbbardimhandlerbasecbbardimhandlerbase}
+
+\func{}{cbBarDimHandlerBase}{\void}
+
+to multiple bars, it's instance is
+reference-counted
+initial reference count is 0, since handler is not used, until the
+first invocation of AddRef()
+
+
+\membersection{cbBarDimHandlerBase::AddRef}\label{cbbardimhandlerbaseaddref}
+
+\func{void}{AddRef}{\void}
+
+
+\membersection{cbBarDimHandlerBase::OnChangeBarState}\label{cbbardimhandlerbaseonchangebarstate}
+
+\func{void}{OnChangeBarState}{\param{cbBarInfo* }{pBar}, \param{int }{newState}}
+
+"bar-state-changes" notification
+
+
+\membersection{cbBarDimHandlerBase::OnResizeBar}\label{cbbardimhandlerbaseonresizebar}
+
+\func{void}{OnResizeBar}{\param{cbBarInfo* }{pBar}, \param{const wxSize\& }{given}, \param{wxSize\& }{preferred}}
+
+
+\membersection{cbBarDimHandlerBase::RemoveRef}\label{cbbardimhandlerbaseremoveref}
+
+\func{void}{RemoveRef}{\void}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% bardragpl.h at 05/Jan/02 22:50:56
+%
+
+
+\section{\class{cbBarDragPlugin}}\label{cbbardragplugin}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginBase}{cbpluginbase}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbBarDragPlugin::cbBarDragPlugin}\label{cbbardragplugincbbardragplugin}
+
+\func{}{cbBarDragPlugin}{\void}
+
+
+\func{}{cbBarDragPlugin}{\param{wxFrameLayout* }{pPanel}, \param{int }{paneMask = wxALL\_PANES}}
+
+
+\membersection{cbBarDragPlugin::\destruct{cbBarDragPlugin}}\label{cbbardragplugindtor}
+
+\func{}{\destruct{cbBarDragPlugin}}{\void}
+
+
+\membersection{cbBarDragPlugin::AdjustHintRect}\label{cbbardragpluginadjusthintrect}
+
+\func{void}{AdjustHintRect}{\param{wxPoint\& }{mousePos}}
+
+the thicker rectangle is drawn using hatched brush,
+the default border width for this rectangle is 8 pix.
+
+
+\membersection{cbBarDragPlugin::CalcOnScreenDims}\label{cbbardragplugincalconscreendims}
+
+\func{void}{CalcOnScreenDims}{\param{wxRect\& }{rect}}
+
+
+\membersection{cbBarDragPlugin::ClipPosInFrame}\label{cbbardragpluginclipposinframe}
+
+\func{void}{ClipPosInFrame}{\param{wxPoint\& }{pos}}
+
+
+\membersection{cbBarDragPlugin::ClipRectInFrame}\label{cbbardragplugincliprectinframe}
+
+\func{void}{ClipRectInFrame}{\param{wxRect\& }{rect}}
+
+
+\membersection{cbBarDragPlugin::DoDrawHintRect}\label{cbbardragplugindodrawhintrect}
+
+\func{void}{DoDrawHintRect}{\param{wxRect\& }{rect}, \param{bool }{isInClientRect}}
+
+
+\membersection{cbBarDragPlugin::DrawHintRect}\label{cbbardragplugindrawhintrect}
+
+\func{void}{DrawHintRect}{\param{wxRect\& }{rect}, \param{bool }{isInClientRect}}
+
+
+\membersection{cbBarDragPlugin::EraseHintRect}\label{cbbardragpluginerasehintrect}
+
+\func{void}{EraseHintRect}{\param{wxRect\& }{rect}, \param{bool }{isInClientRect}}
+
+
+\membersection{cbBarDragPlugin::FinishTracking}\label{cbbardragpluginfinishtracking}
+
+\func{void}{FinishTracking}{\void}
+
+
+\membersection{cbBarDragPlugin::GetBarHeightInPane}\label{cbbardragplugingetbarheightinpane}
+
+\func{int}{GetBarHeightInPane}{\param{cbDockPane* }{pPane}}
+
+
+\membersection{cbBarDragPlugin::GetBarWidthInPane}\label{cbbardragplugingetbarwidthinpane}
+
+\func{int}{GetBarWidthInPane}{\param{cbDockPane* }{pPane}}
+
+
+\membersection{cbBarDragPlugin::GetDistanceToPane}\label{cbbardragplugingetdistancetopane}
+
+\func{int}{GetDistanceToPane}{\param{cbDockPane* }{pPane}, \param{wxPoint\& }{mousePos}}
+
+
+\membersection{cbBarDragPlugin::HitTestPanes}\label{cbbardragpluginhittestpanes}
+
+\func{cbDockPane*}{HitTestPanes}{\param{wxRect\& }{rect}}
+
+
+\func{cbDockPane*}{HitTestPanes}{\param{wxPoint\& }{pos}}
+
+
+\membersection{cbBarDragPlugin::HitsPane}\label{cbbardragpluginhitspane}
+
+\func{bool}{HitsPane}{\param{cbDockPane* }{pPane}, \param{wxRect\& }{rect}}
+
+
+\membersection{cbBarDragPlugin::IsInClientArea}\label{cbbardragpluginisinclientarea}
+
+\func{bool}{IsInClientArea}{\param{wxPoint\& }{mousePos}}
+
+
+\func{bool}{IsInClientArea}{\param{wxRect\& }{rect}}
+
+
+\membersection{cbBarDragPlugin::IsInOtherPane}\label{cbbardragpluginisinotherpane}
+
+\func{bool}{IsInOtherPane}{\param{wxPoint\& }{mousePos}}
+
+
+\membersection{cbBarDragPlugin::OnDrawHintRect}\label{cbbardragpluginondrawhintrect}
+
+\func{void}{OnDrawHintRect}{\param{cbDrawHintRectEvent\& }{event}}
+
+handles event, which oriniates from itself
+
+
+\membersection{cbBarDragPlugin::OnLButtonDown}\label{cbbardragpluginonlbuttondown}
+
+\func{void}{OnLButtonDown}{\param{cbLeftDownEvent\& }{event}}
+
+
+\membersection{cbBarDragPlugin::OnLButtonUp}\label{cbbardragpluginonlbuttonup}
+
+\func{void}{OnLButtonUp}{\param{cbLeftUpEvent\& }{event}}
+
+
+\membersection{cbBarDragPlugin::OnLDblClick}\label{cbbardragpluginonldblclick}
+
+\func{void}{OnLDblClick}{\param{cbLeftDClickEvent\& }{event}}
+
+
+\membersection{cbBarDragPlugin::OnMouseMove}\label{cbbardragpluginonmousemove}
+
+\func{void}{OnMouseMove}{\param{cbMotionEvent\& }{event}}
+
+handlers for plugin events
+
+
+\membersection{cbBarDragPlugin::OnStartBarDragging}\label{cbbardragpluginonstartbardragging}
+
+\func{void}{OnStartBarDragging}{\param{cbStartBarDraggingEvent\& }{event}}
+
+
+\membersection{cbBarDragPlugin::RectToScr}\label{cbbardragpluginrecttoscr}
+
+\func{void}{RectToScr}{\param{wxRect\& }{frameRect}, \param{wxRect\& }{scrRect}}
+
+
+\membersection{cbBarDragPlugin::ShowHint}\label{cbbardragpluginshowhint}
+
+\func{void}{ShowHint}{\param{bool }{prevWasInClient}}
+
+
+\membersection{cbBarDragPlugin::StartTracking}\label{cbbardragpluginstarttracking}
+
+\func{void}{StartTracking}{\void}
+
+on-screen hint-tracking related methods
+
+
+\membersection{cbBarDragPlugin::StickToPane}\label{cbbardragpluginsticktopane}
+
+\func{void}{StickToPane}{\param{cbDockPane* }{pPane}, \param{wxPoint\& }{mousePos}}
+
+
+\membersection{cbBarDragPlugin::UnstickFromPane}\label{cbbardragpluginunstickfrompane}
+
+\func{void}{UnstickFromPane}{\param{cbDockPane* }{pPane}, \param{wxPoint\& }{mousePos}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% barhintspl.h at 05/Jan/02 22:50:56
+%
+
+
+\section{\class{cbBarHintsPlugin}}\label{cbbarhintsplugin}
+
+
+Intercepts bar-decoration and sizing events, draws 3d-hints
+ around fixed and flexible bars, similar to those in Microsoft DevStudio 6.x
+
+\wxheading{Derived from}
+
+\helpref{cbPluginBase}{cbpluginbase}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbBarHintsPlugin::cbBarHintsPlugin}\label{cbbarhintsplugincbbarhintsplugin}
+
+\func{}{cbBarHintsPlugin}{\void}
+
+
+\func{}{cbBarHintsPlugin}{\param{wxFrameLayout* }{pLayout}, \param{int }{paneMask = wxALL\_PANES}}
+
+
+\membersection{cbBarHintsPlugin::\destruct{cbBarHintsPlugin}}\label{cbbarhintsplugindtor}
+
+\func{}{\destruct{cbBarHintsPlugin}}{\void}
+
+
+\membersection{cbBarHintsPlugin::CreateBoxes}\label{cbbarhintsplugincreateboxes}
+
+\func{void}{CreateBoxes}{\void}
+
+
+\membersection{cbBarHintsPlugin::DoDrawHint}\label{cbbarhintsplugindodrawhint}
+
+\func{void}{DoDrawHint}{\param{wxDC\& }{dc}, \param{wxRect\& }{rect}, \param{int }{pos}, \param{int }{boxOfs}, \param{int }{grooveOfs}, \param{bool }{isFixed}}
+
+
+\membersection{cbBarHintsPlugin::Draw3DBox}\label{cbbarhintsplugindraw3dbox}
+
+\func{void}{Draw3DBox}{\param{wxDC\& }{dc}, \param{const wxPoint\& }{pos}, \param{bool }{pressed}}
+
+drawing helpers
+
+
+\membersection{cbBarHintsPlugin::DrawCloseBox}\label{cbbarhintsplugindrawclosebox}
+
+\func{void}{DrawCloseBox}{\param{wxDC\& }{dc}, \param{const wxPoint\& }{pos}, \param{bool }{pressed}}
+
+
+\membersection{cbBarHintsPlugin::DrawCollapseBox}\label{cbbarhintsplugindrawcollapsebox}
+
+\func{void}{DrawCollapseBox}{\param{wxDC\& }{dc}, \param{const wxPoint\& }{pos}, \param{bool }{atLeft}, \param{bool }{disabled}, \param{bool }{pressed}}
+
+
+\membersection{cbBarHintsPlugin::DrawGrooves}\label{cbbarhintsplugindrawgrooves}
+
+\func{void}{DrawGrooves}{\param{wxDC\& }{dc}, \param{const wxPoint\& }{pos}, \param{int }{length}}
+
+
+\membersection{cbBarHintsPlugin::ExcludeHints}\label{cbbarhintspluginexcludehints}
+
+\func{void}{ExcludeHints}{\param{wxRect\& }{rect}, \param{cbBarInfo\& }{info}}
+
+
+\membersection{cbBarHintsPlugin::GetHintsLayout}\label{cbbarhintsplugingethintslayout}
+
+\func{void}{GetHintsLayout}{\param{wxRect\& }{rect}, \param{cbBarInfo\& }{info}, \param{int\& }{boxOfs}, \param{int\& }{grooveOfs}, \param{int\& }{pos}}
+
+
+\membersection{cbBarHintsPlugin::HitTestHints}\label{cbbarhintspluginhittesthints}
+
+\func{int}{HitTestHints}{\param{cbBarInfo\& }{info}, \param{const wxPoint\& }{pos}}
+
+
+\membersection{cbBarHintsPlugin::OnDrawBarDecorations}\label{cbbarhintspluginondrawbardecorations}
+
+\func{void}{OnDrawBarDecorations}{\param{cbDrawBarDecorEvent\& }{event}}
+
+
+\membersection{cbBarHintsPlugin::OnInitPlugin}\label{cbbarhintspluginoninitplugin}
+
+\func{void}{OnInitPlugin}{\void}
+
+
+\membersection{cbBarHintsPlugin::OnLeftDown}\label{cbbarhintspluginonleftdown}
+
+\func{void}{OnLeftDown}{\param{cbLeftDownEvent\& }{event}}
+
+
+\membersection{cbBarHintsPlugin::OnLeftUp}\label{cbbarhintspluginonleftup}
+
+\func{void}{OnLeftUp}{\param{cbLeftUpEvent\& }{event}}
+
+
+\membersection{cbBarHintsPlugin::OnMotion}\label{cbbarhintspluginonmotion}
+
+\func{void}{OnMotion}{\param{cbMotionEvent\& }{event}}
+
+
+\membersection{cbBarHintsPlugin::OnSizeBarWindow}\label{cbbarhintspluginonsizebarwindow}
+
+\func{void}{OnSizeBarWindow}{\param{cbSizeBarWndEvent\& }{event}}
+
+handlers of plugin-events
+
+
+\membersection{cbBarHintsPlugin::SetGrooveCount}\label{cbbarhintspluginsetgroovecount}
+
+\func{void}{SetGrooveCount}{\param{int }{nGrooves}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:59
+%
+
+
+\section{\class{cbBarInfo}}\label{cbbarinfo}
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbBarInfo::cbBarInfo}\label{cbbarinfocbbarinfo}
+
+\func{}{cbBarInfo}{\void}
+
+
+\membersection{cbBarInfo::\destruct{cbBarInfo}}\label{cbbarinfodtor}
+
+\func{}{\destruct{cbBarInfo}}{\void}
+
+
+\membersection{cbBarInfo::IsExpanded}\label{cbbarinfoisexpanded}
+
+\constfunc{bool}{IsExpanded}{\void}
+
+
+\membersection{cbBarInfo::IsFixed}\label{cbbarinfoisfixed}
+
+\constfunc{bool}{IsFixed}{\void}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:59
+%
+
+
+\section{\class{cbBarShapeData}}\label{cbbarshapedata}
+
+
+used for storing original bar's postions in the row, when the "non-destructive-friction"
+option is turned ON
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:58
+%
+
+
+\section{\class{cbBarSpy}}\label{cbbarspy}
+
+
+FIXME:: somehow in debug v. originall wxASSERT's are not compiled in...
+\#undef wxASSERT
+\#define wxASSERT(x) if ( !(x) ) throw;
+helper class, used for spying for not-handled mouse events on control-bars
+and forwarding them to the frame layout
+
+\wxheading{Derived from}
+
+\helpref{wxEvtHandler}{wxevthandler}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbBarSpy::cbBarSpy}\label{cbbarspycbbarspy}
+
+\func{}{cbBarSpy}{\param{wxFrameLayout* }{pPanel}}
+
+
+\func{}{cbBarSpy}{\void}
+
+
+\membersection{cbBarSpy::ProcessEvent}\label{cbbarspyprocessevent}
+
+\func{bool}{ProcessEvent}{\param{wxEvent\& }{event}}
+
+overriden
+
+
+\membersection{cbBarSpy::SetBarWindow}\label{cbbarspysetbarwindow}
+
+\func{void}{SetBarWindow}{\param{wxWindow* }{pWnd}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% toolwnd.h at 05/Jan/02 22:50:58
+%
+
+
+\section{\class{cbCloseBox}}\label{cbclosebox}
+
+
+classes specific to wxFrameLayout engine (FOR NOW in here...)
+
+\wxheading{Derived from}
+
+\helpref{cbMiniButton}{cbminibutton}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbCloseBox::Draw}\label{cbcloseboxdraw}
+
+\func{void}{Draw}{\param{wxDC\& }{dc}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% toolwnd.h at 05/Jan/02 22:50:58
+%
+
+
+\section{\class{cbCollapseBox}}\label{cbcollapsebox}
+
+\wxheading{Derived from}
+
+\helpref{cbMiniButton}{cbminibutton}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbCollapseBox::Draw}\label{cbcollapseboxdraw}
+
+\func{void}{Draw}{\param{wxDC\& }{dc}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:59
+%
+
+
+\section{\class{cbCommonPaneProperties}}\label{cbcommonpaneproperties}
+
+
+structure holds configuration options,
+ which are usually the same for all panes in
+ frame layout
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:01
+%
+
+
+\section{\class{cbCustomizeBarEvent}}\label{cbcustomizebarevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbCustomizeBarEvent::cbCustomizeBarEvent}\label{cbcustomizebareventcbcustomizebarevent}
+
+\func{}{cbCustomizeBarEvent}{\param{cbBarInfo* }{pBar}, \param{const wxPoint\& }{clickPos}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:01
+%
+
+
+\section{\class{cbCustomizeLayoutEvent}}\label{cbcustomizelayoutevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbCustomizeLayoutEvent::cbCustomizeLayoutEvent}\label{cbcustomizelayouteventcbcustomizelayoutevent}
+
+\func{}{cbCustomizeLayoutEvent}{\param{const wxPoint\& }{clickPos}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:59
+%
+
+
+\section{\class{cbDimInfo}}\label{cbdiminfo}
+
+
+helper classes (used internally by wxFrameLayout class) holds and manages information about bar dimensions
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbDimInfo::cbDimInfo}\label{cbdiminfocbdiminfo}
+
+\func{}{cbDimInfo}{\param{cbBarDimHandlerBase* }{pDimHandler}, \param{bool }{isFixed}}
+
+
+\func{}{cbDimInfo}{\param{int }{dh\_x}, \param{int }{dh\_y}, \param{int }{dv\_x}, \param{int }{dv\_y}, \param{int }{f\_x}, \param{int }{f\_y}, \param{bool }{isFixed = TRUE}, \param{int }{horizGap = 6}, \param{int }{vertGap = 6}, \param{cbBarDimHandlerBase* }{pDimHandler = NULL}}
+
+dims when docked horizontally
+
+
+\func{}{cbDimInfo}{\param{int }{x}, \param{int }{y}, \param{bool }{isFixed = TRUE}, \param{int }{gap = 6}, \param{cbBarDimHandlerBase* }{pDimHandler = NULL}}
+
+
+\func{}{cbDimInfo}{\void}
+
+
+\membersection{cbDimInfo::\destruct{cbDimInfo}}\label{cbdiminfodtor}
+
+\func{}{\destruct{cbDimInfo}}{\void}
+
+destroys handler automatically, if present
+
+
+\membersection{cbDimInfo::GetDimHandler}\label{cbdiminfogetdimhandler}
+
+\func{cbBarDimHandlerBase*}{GetDimHandler}{\void}
+
+
+\membersection{cbDimInfo::operator=}\label{cbdiminfooperatorassign}
+
+\func{const cbDimInfo\& operator}{operator=}{\param{const cbDimInfo\& }{other}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% toolwnd.h at 05/Jan/02 22:50:58
+%
+
+
+\section{\class{cbDockBox}}\label{cbdockbox}
+
+\wxheading{Derived from}
+
+\helpref{cbMiniButton}{cbminibutton}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbDockBox::Draw}\label{cbdockboxdraw}
+
+\func{void}{Draw}{\param{wxDC\& }{dc}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:59
+%
+
+
+\section{\class{cbDockPane}}\label{cbdockpane}
+
+
+class manages containment and control of control-bars
+ along one of the four edges of the parent frame
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbDockPane::cbDockPane}\label{cbdockpanecbdockpane}
+
+\func{}{cbDockPane}{\param{int }{alignment}, \param{wxFrameLayout* }{pPanel}}
+
+
+\func{}{cbDockPane}{\void}
+
+public members
+
+\membersection{cbDockPane::\destruct{cbDockPane}}\label{cbdockpanedtor}
+
+\func{}{\destruct{cbDockPane}}{\void}
+
+
+\membersection{cbDockPane::BarPresent}\label{cbdockpanebarpresent}
+
+\func{bool}{BarPresent}{\param{cbBarInfo* }{pBar}}
+
+TRUE, if the given bar node presents in this pane
+
+
+\membersection{cbDockPane::CalcLengthRatios}\label{cbdockpanecalclengthratios}
+
+\func{void}{CalcLengthRatios}{\param{cbRowInfo* }{pInRow}}
+
+
+\membersection{cbDockPane::ContractBar}\label{cbdockpanecontractbar}
+
+\func{void}{ContractBar}{\param{cbBarInfo* }{pBar}}
+
+
+\membersection{cbDockPane::DoInsertBar}\label{cbdockpanedoinsertbar}
+
+\func{void}{DoInsertBar}{\param{cbBarInfo* }{pBar}, \param{int }{rowNo}}
+
+
+\membersection{cbDockPane::DrawHorizHandle}\label{cbdockpanedrawhorizhandle}
+
+\func{void}{DrawHorizHandle}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}, \param{int }{width}}
+
+
+\membersection{cbDockPane::DrawVertHandle}\label{cbdockpanedrawverthandle}
+
+\func{void}{DrawVertHandle}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}, \param{int }{height}}
+
+protected really (accessed only by plugins) row/bar resizing related helper-methods
+
+
+\membersection{cbDockPane::ExpandBar}\label{cbdockpaneexpandbar}
+
+\func{void}{ExpandBar}{\param{cbBarInfo* }{pBar}}
+
+
+\membersection{cbDockPane::FinishDrawInArea}\label{cbdockpanefinishdrawinarea}
+
+\func{void}{FinishDrawInArea}{\param{const wxRect\& }{area}}
+
+
+\membersection{cbDockPane::FrameToPane}\label{cbdockpaneframetopane}
+
+\func{void}{FrameToPane}{\param{wxRect* }{pRect}}
+
+
+\func{void}{FrameToPane}{\param{int* }{x}, \param{int* }{y}}
+
+coordinate translation between parent's frame and this pane
+
+
+\membersection{cbDockPane::GetAlignment}\label{cbdockpanegetalignment}
+
+\func{int}{GetAlignment}{\void}
+
+
+\membersection{cbDockPane::GetBarInfoByWindow}\label{cbdockpanegetbarinfobywindow}
+
+\func{cbBarInfo*}{GetBarInfoByWindow}{\param{wxWindow* }{pBarWnd}}
+
+
+\membersection{cbDockPane::GetBarResizeRange}\label{cbdockpanegetbarresizerange}
+
+\func{void}{GetBarResizeRange}{\param{cbBarInfo* }{pBar}, \param{int* }{from}, \param{int* }{till}, \param{bool }{forLeftHandle}}
+
+
+\membersection{cbDockPane::GetDockingState}\label{cbdockpanegetdockingstate}
+
+\func{int}{GetDockingState}{\void}
+
+
+\membersection{cbDockPane::GetFirstRow}\label{cbdockpanegetfirstrow}
+
+\func{cbRowInfo*}{GetFirstRow}{\void}
+
+convenience method
+
+
+\membersection{cbDockPane::GetMinimalRowHeight}\label{cbdockpanegetminimalrowheight}
+
+\func{int}{GetMinimalRowHeight}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbDockPane::GetNotFixedBarsCount}\label{cbdockpanegetnotfixedbarscount}
+
+\func{int}{GetNotFixedBarsCount}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbDockPane::GetPaneHeight}\label{cbdockpanegetpaneheight}
+
+\func{int}{GetPaneHeight}{\void}
+
+retuns height, in pane's coordinates
+
+
+\membersection{cbDockPane::GetRealRect}\label{cbdockpanegetrealrect}
+
+\func{wxRect\&}{GetRealRect}{\void}
+
+
+\membersection{cbDockPane::GetRow}\label{cbdockpanegetrow}
+
+\func{cbRowInfo*}{GetRow}{\param{int }{row}}
+
+protected really (accessed only by plugins)
+
+\membersection{cbDockPane::GetRowAt}\label{cbdockpanegetrowat}
+
+\func{int}{GetRowAt}{\param{int }{upperY}, \param{int }{lowerY}}
+
+
+\func{int}{GetRowAt}{\param{int }{paneY}}
+
+return -1, if row is not present at given vertical position
+
+
+\membersection{cbDockPane::GetRowIndex}\label{cbdockpanegetrowindex}
+
+\func{int}{GetRowIndex}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbDockPane::GetRowList}\label{cbdockpanegetrowlist}
+
+\func{RowArrayT\&}{GetRowList}{\void}
+
+used by updates-managers
+
+
+\membersection{cbDockPane::GetRowResizeRange}\label{cbdockpanegetrowresizerange}
+
+\func{void}{GetRowResizeRange}{\param{cbRowInfo* }{pRow}, \param{int* }{from}, \param{int* }{till}, \param{bool }{forUpperHandle}}
+
+
+\membersection{cbDockPane::GetRowShapeData}\label{cbdockpanegetrowshapedata}
+
+\func{void}{GetRowShapeData}{\param{cbRowInfo* }{pRow}, \param{wxList* }{pLst}}
+
+cbBarShapeData objects will be placed to given pLst (see comments on cbBarShapeData)
+
+
+\membersection{cbDockPane::GetRowWidth}\label{cbdockpanegetrowwidth}
+
+\func{int}{GetRowWidth}{\param{wxList* }{pRow}}
+
+
+\membersection{cbDockPane::GetRowY}\label{cbdockpanegetrowy}
+
+\func{int}{GetRowY}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbDockPane::HasNotFixedBarsLeft}\label{cbdockpanehasnotfixedbarsleft}
+
+\func{bool}{HasNotFixedBarsLeft}{\param{cbBarInfo* }{pBar}}
+
+
+\membersection{cbDockPane::HasNotFixedBarsRight}\label{cbdockpanehasnotfixedbarsright}
+
+\func{bool}{HasNotFixedBarsRight}{\param{cbBarInfo* }{pBar}}
+
+
+\membersection{cbDockPane::HasNotFixedRowsAbove}\label{cbdockpanehasnotfixedrowsabove}
+
+\func{bool}{HasNotFixedRowsAbove}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbDockPane::HasNotFixedRowsBelow}\label{cbdockpanehasnotfixedrowsbelow}
+
+\func{bool}{HasNotFixedRowsBelow}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbDockPane::HasPoint}\label{cbdockpanehaspoint}
+
+\func{bool}{HasPoint}{\param{const wxPoint\& }{pos}, \param{int }{x}, \param{int }{y}, \param{int }{width}, \param{int }{height}}
+
+
+\membersection{cbDockPane::HitTestPaneItems}\label{cbdockpanehittestpaneitems}
+
+\func{int}{HitTestPaneItems}{\param{const wxPoint\& }{pos}, \param{cbRowInfo** }{ppRow}, \param{cbBarInfo** }{ppBar}}
+
+returns result of hit-testing items in the pane,
+see CB\_HITTEST\_RESULTS enumeration
+position in pane's coordinates
+
+
+\membersection{cbDockPane::InitLinksForRow}\label{cbdockpaneinitlinksforrow}
+
+\func{void}{InitLinksForRow}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbDockPane::InitLinksForRows}\label{cbdockpaneinitlinksforrows}
+
+\func{void}{InitLinksForRows}{\void}
+
+
+\membersection{cbDockPane::InsertBar}\label{cbdockpaneinsertbar}
+
+\func{void}{InsertBar}{\param{cbBarInfo* }{pBar}, \param{const wxRect\& }{atRect}}
+
+rect given in the parent frame's coordinates
+
+
+\func{void}{InsertBar}{\param{cbBarInfo* }{pBar}, \param{cbRowInfo* }{pIntoRow}}
+
+inserts bar into the given row, with dimensions and position
+stored in pBarInfo->mBounds. Returns the node of inserted bar
+
+
+\func{void}{InsertBar}{\param{cbBarInfo* }{pBarInfo}}
+
+inserts bar, sets its position according to the preferred settings
+given in (*pBarInfo) structure
+
+
+\membersection{cbDockPane::InsertRow}\label{cbdockpaneinsertrow}
+
+\func{void}{InsertRow}{\param{cbRowInfo* }{pRow}, \param{cbRowInfo* }{pBeforeRow}}
+
+does not refresh the inserted row immediately,
+if pBeforeRowNode arg. is NULL, row is appended to the end of pane's row list
+
+
+\membersection{cbDockPane::IsFixedSize}\label{cbdockpaneisfixedsize}
+
+\func{bool}{IsFixedSize}{\param{cbBarInfo* }{pInfo}}
+
+layout "AI" helpers:
+
+
+\membersection{cbDockPane::IsHorizontal}\label{cbdockpaneishorizontal}
+
+\func{bool}{IsHorizontal}{\void}
+
+
+\membersection{cbDockPane::MatchesMask}\label{cbdockpanematchesmask}
+
+\func{bool}{MatchesMask}{\param{int }{paneMask}}
+
+
+\membersection{cbDockPane::PaintBar}\label{cbdockpanepaintbar}
+
+\func{void}{PaintBar}{\param{cbBarInfo* }{pBar}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbDockPane::PaintBarDecorations}\label{cbdockpanepaintbardecorations}
+
+\func{void}{PaintBarDecorations}{\param{cbBarInfo* }{pBar}, \param{wxDC\& }{dc}}
+
+protected really (accessed only by plugins) methods for incramental on-screen refreshing of the pane
+(simply, they are wrappers around corresponding plugin-events)
+
+
+\membersection{cbDockPane::PaintBarHandles}\label{cbdockpanepaintbarhandles}
+
+\func{void}{PaintBarHandles}{\param{cbBarInfo* }{pBar}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbDockPane::PaintPane}\label{cbdockpanepaintpane}
+
+\func{void}{PaintPane}{\param{wxDC\& }{dc}}
+
+
+\membersection{cbDockPane::PaintPaneBackground}\label{cbdockpanepaintpanebackground}
+
+\func{void}{PaintPaneBackground}{\param{wxDC\& }{dc}}
+
+
+\membersection{cbDockPane::PaintPaneDecorations}\label{cbdockpanepaintpanedecorations}
+
+\func{void}{PaintPaneDecorations}{\param{wxDC\& }{dc}}
+
+
+\membersection{cbDockPane::PaintRow}\label{cbdockpanepaintrow}
+
+\func{void}{PaintRow}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbDockPane::PaintRowBackground}\label{cbdockpanepaintrowbackground}
+
+\func{void}{PaintRowBackground}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbDockPane::PaintRowDecorations}\label{cbdockpanepaintrowdecorations}
+
+\func{void}{PaintRowDecorations}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbDockPane::PaintRowHandles}\label{cbdockpanepaintrowhandles}
+
+\func{void}{PaintRowHandles}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbDockPane::PaneToFrame}\label{cbdockpanepanetoframe}
+
+\func{void}{PaneToFrame}{\param{wxRect* }{pRect}}
+
+
+\func{void}{PaneToFrame}{\param{int* }{x}, \param{int* }{y}}
+
+
+\membersection{cbDockPane::RecalcLayout}\label{cbdockpanerecalclayout}
+
+\func{void}{RecalcLayout}{\void}
+
+
+\membersection{cbDockPane::RecalcRowLayout}\label{cbdockpanerecalcrowlayout}
+
+\func{void}{RecalcRowLayout}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbDockPane::RemoveBar}\label{cbdockpaneremovebar}
+
+\func{void}{RemoveBar}{\param{cbBarInfo* }{pBar}}
+
+does not destroys the info bar , only removes it's reference
+from this pane
+
+
+\membersection{cbDockPane::RemoveRow}\label{cbdockpaneremoverow}
+
+\func{void}{RemoveRow}{\param{cbRowInfo* }{pRow}}
+
+does not destroy the row object, only removes the corresponding
+node from this pane
+
+
+\membersection{cbDockPane::ResizeBar}\label{cbdockpaneresizebar}
+
+\func{void}{ResizeBar}{\param{cbBarInfo* }{pBar}, \param{int }{ofs}, \param{bool }{forLeftHandle}}
+
+
+\membersection{cbDockPane::ResizeRow}\label{cbdockpaneresizerow}
+
+\func{void}{ResizeRow}{\param{cbRowInfo* }{pRow}, \param{int }{ofs}, \param{bool }{forUpperHandle}}
+
+
+\membersection{cbDockPane::SetBoundsInParent}\label{cbdockpanesetboundsinparent}
+
+\func{void}{SetBoundsInParent}{\param{const wxRect\& }{rect}}
+
+set the position and dims. of the pane in parent frame's coordinates
+
+
+\membersection{cbDockPane::SetMargins}\label{cbdockpanesetmargins}
+
+\func{void}{SetMargins}{\param{int }{top}, \param{int }{bottom}, \param{int }{left}, \param{int }{right}}
+
+sets pane's margins in frame's coordinate orientations
+
+
+\membersection{cbDockPane::SetPaneWidth}\label{cbdockpanesetpanewidth}
+
+\func{void}{SetPaneWidth}{\param{int }{width}}
+
+sets pane's width in pane's coordinates (including margins)
+
+
+\membersection{cbDockPane::SetRowHeight}\label{cbdockpanesetrowheight}
+
+\func{void}{SetRowHeight}{\param{cbRowInfo* }{pRow}, \param{int }{newHeight}}
+
+given row height includes height of row handles, if present
+
+
+\membersection{cbDockPane::SetRowShapeData}\label{cbdockpanesetrowshapedata}
+
+\func{void}{SetRowShapeData}{\param{cbRowInfo* }{pRowNode}, \param{wxList* }{pLst}}
+
+sets the shape to the given row, using the data provided in pLst
+
+
+\membersection{cbDockPane::SizeBar}\label{cbdockpanesizebar}
+
+\func{void}{SizeBar}{\param{cbBarInfo* }{pBar}}
+
+
+\membersection{cbDockPane::SizePaneObjects}\label{cbdockpanesizepaneobjects}
+
+\func{void}{SizePaneObjects}{\void}
+
+
+\membersection{cbDockPane::SizeRowObjects}\label{cbdockpanesizerowobjects}
+
+\func{void}{SizeRowObjects}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbDockPane::StartDrawInArea}\label{cbdockpanestartdrawinarea}
+
+\func{wxDC*}{StartDrawInArea}{\param{const wxRect\& }{area}}
+
+
+\membersection{cbDockPane::SyncRowFlags}\label{cbdockpanesyncrowflags}
+
+\func{void}{SyncRowFlags}{\param{cbRowInfo* }{pRow}}
+
+re-setups flags in the row-information structure, so that
+the would match the changed state of row-items correctly
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbDrawBarDecorEvent}}\label{cbdrawbardecorevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbDrawBarDecorEvent::cbDrawBarDecorEvent}\label{cbdrawbardecoreventcbdrawbardecorevent}
+
+\func{}{cbDrawBarDecorEvent}{\param{cbBarInfo* }{pBar}, \param{wxDC\& }{dc}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:01
+%
+
+
+\section{\class{cbDrawBarHandlesEvent}}\label{cbdrawbarhandlesevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbDrawBarHandlesEvent::cbDrawBarHandlesEvent}\label{cbdrawbarhandleseventcbdrawbarhandlesevent}
+
+\func{}{cbDrawBarHandlesEvent}{\param{cbBarInfo* }{pBar}, \param{wxDC\& }{dc}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:01
+%
+
+
+\section{\class{cbDrawHintRectEvent}}\label{cbdrawhintrectevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbDrawHintRectEvent::cbDrawHintRectEvent}\label{cbdrawhintrecteventcbdrawhintrectevent}
+
+\func{}{cbDrawHintRectEvent}{\param{const wxRect\& }{rect}, \param{bool }{isInClient}, \param{bool }{eraseRect}, \param{bool }{lastTime}}
+
+e.g. with fat/hatched border
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:01
+%
+
+
+\section{\class{cbDrawPaneBkGroundEvent}}\label{cbdrawpanebkgroundevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbDrawPaneBkGroundEvent::cbDrawPaneBkGroundEvent}\label{cbdrawpanebkgroundeventcbdrawpanebkgroundevent}
+
+\func{}{cbDrawPaneBkGroundEvent}{\param{wxDC\& }{dc}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:01
+%
+
+
+\section{\class{cbDrawPaneDecorEvent}}\label{cbdrawpanedecorevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbDrawPaneDecorEvent::cbDrawPaneDecorEvent}\label{cbdrawpanedecoreventcbdrawpanedecorevent}
+
+\func{}{cbDrawPaneDecorEvent}{\param{wxDC\& }{dc}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:01
+%
+
+
+\section{\class{cbDrawRowBkGroundEvent}}\label{cbdrawrowbkgroundevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbDrawRowBkGroundEvent::cbDrawRowBkGroundEvent}\label{cbdrawrowbkgroundeventcbdrawrowbkgroundevent}
+
+\func{}{cbDrawRowBkGroundEvent}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbDrawRowDecorEvent}}\label{cbdrawrowdecorevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbDrawRowDecorEvent::cbDrawRowDecorEvent}\label{cbdrawrowdecoreventcbdrawrowdecorevent}
+
+\func{}{cbDrawRowDecorEvent}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:01
+%
+
+
+\section{\class{cbDrawRowHandlesEvent}}\label{cbdrawrowhandlesevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbDrawRowHandlesEvent::cbDrawRowHandlesEvent}\label{cbdrawrowhandleseventcbdrawrowhandlesevent}
+
+\func{}{cbDrawRowHandlesEvent}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% dyntbarhnd.h at 05/Jan/02 22:50:56
+%
+
+
+\section{\class{cbDynToolBarDimHandler}}\label{cbdyntoolbardimhandler}
+
+\wxheading{Derived from}
+
+\helpref{cbBarDimHandlerBase}{cbbardimhandlerbase}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbDynToolBarDimHandler::OnChangeBarState}\label{cbdyntoolbardimhandleronchangebarstate}
+
+\func{void}{OnChangeBarState}{\param{cbBarInfo* }{pBar}, \param{int }{newState}}
+
+
+\membersection{cbDynToolBarDimHandler::OnResizeBar}\label{cbdyntoolbardimhandleronresizebar}
+
+\func{void}{OnResizeBar}{\param{cbBarInfo* }{pBar}, \param{const wxSize\& }{given}, \param{wxSize\& }{preferred}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:01
+%
+
+
+\section{\class{cbFinishDrawInAreaEvent}}\label{cbfinishdrawinareaevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbFinishDrawInAreaEvent::cbFinishDrawInAreaEvent}\label{cbfinishdrawinareaeventcbfinishdrawinareaevent}
+
+\func{}{cbFinishDrawInAreaEvent}{\param{const wxRect\& }{area}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% toolwnd.h at 05/Jan/02 22:50:58
+%
+
+
+\section{\class{cbFloatedBarWindow}}\label{cbfloatedbarwindow}
+
+\wxheading{Derived from}
+
+\helpref{wxToolWindow}{wxtoolwindow}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbFloatedBarWindow::cbFloatedBarWindow}\label{cbfloatedbarwindowcbfloatedbarwindow}
+
+\func{}{cbFloatedBarWindow}{\void}
+
+
+\membersection{cbFloatedBarWindow::GetBar}\label{cbfloatedbarwindowgetbar}
+
+\func{cbBarInfo*}{GetBar}{\void}
+
+
+\membersection{cbFloatedBarWindow::GetPreferredSize}\label{cbfloatedbarwindowgetpreferredsize}
+
+\func{wxSize}{GetPreferredSize}{\param{const wxSize\& }{given}}
+
+overriden methods of wxToolWindow
+
+
+\membersection{cbFloatedBarWindow::HandleTitleClick}\label{cbfloatedbarwindowhandletitleclick}
+
+\func{bool}{HandleTitleClick}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{cbFloatedBarWindow::OnDblClick}\label{cbfloatedbarwindowondblclick}
+
+\func{void}{OnDblClick}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{cbFloatedBarWindow::OnMiniButtonClicked}\label{cbfloatedbarwindowonminibuttonclicked}
+
+\func{void}{OnMiniButtonClicked}{\param{int }{btnIdx}}
+
+
+\membersection{cbFloatedBarWindow::PositionFloatedWnd}\label{cbfloatedbarwindowpositionfloatedwnd}
+
+\func{void}{PositionFloatedWnd}{\param{int }{scrX}, \param{int }{scrY}, \param{int }{width}, \param{int }{height}}
+
+given coordinates are those of the bar itself
+floated container window's position and size
+are ajusted accordingly
+
+
+\membersection{cbFloatedBarWindow::SetBar}\label{cbfloatedbarwindowsetbar}
+
+\func{void}{SetBar}{\param{cbBarInfo* }{pBar}}
+
+
+\membersection{cbFloatedBarWindow::SetLayout}\label{cbfloatedbarwindowsetlayout}
+
+\func{void}{SetLayout}{\param{wxFrameLayout* }{pLayout}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% gcupdatesmgr.h at 05/Jan/02 22:50:57
+%
+
+
+\section{\class{cbGCUpdatesMgr}}\label{cbgcupdatesmgr}
+
+
+class implements optimized logic for refreshing
+ areas of frame layout - which actually need to be updated.
+ Is used as default updates-manager by wxFrameLayout.
+
+ it is called "Garbage Collecting" u.mgr for it's implementation
+ tries to find out dependencies between bars, and to order
+ them ito "hierarchy", this hierarchical sorting resembles
+ implemenation of heap-garbage collectors, which resolve
+ dependencies between references.
+
+ Example: there are situations where the order of moving
+ the windows does matter:
+
+ case 1)
+ ------ ---
+ | A | |B|
+ ------ ---> | |
+ --- --- ------
+ |B| | A |
+ | | ------
+ ---
+ (future)
+ (past)
+
+ past/future positions of A and B windows completely overlapp, i.e.
+ depend on each other, and there is not solution for
+ moving the windows witout refreshing both of them,
+ -- we have cyclic dependency here. The gc. alg will
+ find this cyclic dependecy and will force "refresh"
+ after movement.
+
+ case 2)
+
+ ------
+ | A |
+ ------ --->
+ ---
+ |B| ------
+ | | | A |
+ --- ------
+ ---
+ |B|
+ | |
+ ---
+
+ (future)
+ (past)
+
+ in this case past/future positions do not overlapp, thus
+ it's enough only to move windows, without refreshing them.
+ GC will "notice" it.
+
+ there is also third case, when overlapping is partial
+ in this case the refershing can be also avoided by
+ moving windows in the order of "most-dependant" towards the
+ "least-dependent". GC handles this automatically, by
+ sorting windows by their dependency-level (or "hierarchy")
+
+ See garbagec.h for more details of this method, garbagec.h/cpp
+ implement sorting of generic-dependencies (does not deal
+ with graphical objects directly)
+
+ Summary: improves performance when complex/large windows are
+ moved around, by reducing number of repaints. Also helps
+ to avoid dirty non-client areas of moved windows
+ in some special cases of "overlapping anomalies"
+
+\wxheading{Derived from}
+
+\helpref{cbSimpleUpdatesMgr}{cbsimpleupdatesmgr}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbGCUpdatesMgr::cbGCUpdatesMgr}\label{cbgcupdatesmgrcbgcupdatesmgr}
+
+\func{}{cbGCUpdatesMgr}{\void}
+
+
+\func{}{cbGCUpdatesMgr}{\param{wxFrameLayout* }{pPanel}}
+
+
+\membersection{cbGCUpdatesMgr::AddItem}\label{cbgcupdatesmgradditem}
+
+\func{void}{AddItem}{\param{wxList\& }{itemList}, \param{cbBarInfo* }{pBar}, \param{cbDockPane* }{pPane}, \param{wxRect\& }{curBounds}, \param{wxRect\& }{prevBounds}}
+
+
+\membersection{cbGCUpdatesMgr::DoRepositionItems}\label{cbgcupdatesmgrdorepositionitems}
+
+\func{void}{DoRepositionItems}{\param{wxList\& }{items}}
+
+
+\membersection{cbGCUpdatesMgr::OnStartChanges}\label{cbgcupdatesmgronstartchanges}
+
+\func{void}{OnStartChanges}{\void}
+
+notificiactions received from Frame Layout :
+
+
+\membersection{cbGCUpdatesMgr::UpdateNow}\label{cbgcupdatesmgrupdatenow}
+
+\func{void}{UpdateNow}{\void}
+
+refreshes parts of the frame layout, which need an update
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% rowdragpl.h at 05/Jan/02 22:50:57
+%
+
+
+\section{\class{cbHiddenBarInfo}}\label{cbhiddenbarinfo}
+
+
+internal helper-class
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% hintanimpl.h at 05/Jan/02 22:50:57
+%
+
+
+\section{\class{cbHintAnimationPlugin}}\label{cbhintanimationplugin}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginBase}{cbpluginbase}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbHintAnimationPlugin::cbHintAnimationPlugin}\label{cbhintanimationplugincbhintanimationplugin}
+
+\func{}{cbHintAnimationPlugin}{\void}
+
+
+\func{}{cbHintAnimationPlugin}{\param{wxFrameLayout* }{pPanel}, \param{int }{paneMask = wxALL\_PANES}}
+
+
+\membersection{cbHintAnimationPlugin::\destruct{cbHintAnimationPlugin}}\label{cbhintanimationplugindtor}
+
+\func{}{\destruct{cbHintAnimationPlugin}}{\void}
+
+
+\membersection{cbHintAnimationPlugin::DoDrawHintRect}\label{cbhintanimationplugindodrawhintrect}
+
+\func{void}{DoDrawHintRect}{\param{wxRect\& }{rect}, \param{bool }{isInClientRect}}
+
+
+\membersection{cbHintAnimationPlugin::DrawHintRect}\label{cbhintanimationplugindrawhintrect}
+
+\func{void}{DrawHintRect}{\param{wxRect\& }{rect}, \param{bool }{isInClientRect}}
+
+
+\membersection{cbHintAnimationPlugin::EraseHintRect}\label{cbhintanimationpluginerasehintrect}
+
+\func{void}{EraseHintRect}{\param{wxRect\& }{rect}, \param{bool }{isInClientRect}}
+
+
+\membersection{cbHintAnimationPlugin::FinishTracking}\label{cbhintanimationpluginfinishtracking}
+
+\func{void}{FinishTracking}{\void}
+
+
+\membersection{cbHintAnimationPlugin::OnDrawHintRect}\label{cbhintanimationpluginondrawhintrect}
+
+\func{void}{OnDrawHintRect}{\param{cbDrawHintRectEvent\& }{event}}
+
+
+\membersection{cbHintAnimationPlugin::RectToScr}\label{cbhintanimationpluginrecttoscr}
+
+\func{void}{RectToScr}{\param{wxRect\& }{frameRect}, \param{wxRect\& }{scrRect}}
+
+
+\membersection{cbHintAnimationPlugin::StartTracking}\label{cbhintanimationpluginstarttracking}
+
+\func{void}{StartTracking}{\void}
+
+speed is constant. Default: TRUE
+TBD:: get/set methods for above members
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% hintanimpl.h at 05/Jan/02 22:50:57
+%
+
+
+\section{\class{cbHintAnimTimer}}\label{cbhintanimtimer}
+
+\wxheading{Derived from}
+
+\helpref{wxTimer}{wxtimer}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbHintAnimTimer::cbHintAnimTimer}\label{cbhintanimtimercbhintanimtimer}
+
+\func{}{cbHintAnimTimer}{\void}
+
+
+\membersection{cbHintAnimTimer::Init}\label{cbhintanimtimerinit}
+
+\func{bool}{Init}{\param{cbHintAnimationPlugin* }{pAnimPl}, \param{bool }{reinit}}
+
+
+\membersection{cbHintAnimTimer::MorphPoint}\label{cbhintanimtimermorphpoint}
+
+\func{void}{MorphPoint}{\param{wxPoint\& }{origin}, \param{MorphInfoT\& }{info}, \param{wxPoint\& }{point}}
+
+
+\membersection{cbHintAnimTimer::Notify}\label{cbhintanimtimernotify}
+
+\func{void}{Notify}{\void}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbInsertBarEvent}}\label{cbinsertbarevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbInsertBarEvent::cbInsertBarEvent}\label{cbinsertbareventcbinsertbarevent}
+
+\func{}{cbInsertBarEvent}{\param{cbBarInfo* }{pBar}, \param{cbRowInfo* }{pIntoRow}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbLayoutRowEvent}}\label{cblayoutrowevent}
+
+
+bar/row events category
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbLayoutRowEvent::cbLayoutRowEvent}\label{cblayoutroweventcblayoutrowevent}
+
+\func{}{cbLayoutRowEvent}{\param{cbRowInfo* }{pRow}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbLayoutRowsEvent}}\label{cblayoutrowsevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbLayoutRowsEvent::cbLayoutRowsEvent}\label{cblayoutrowseventcblayoutrowsevent}
+
+\func{}{cbLayoutRowsEvent}{\param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbLeftDClickEvent}}\label{cbleftdclickevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbLeftDClickEvent::cbLeftDClickEvent}\label{cbleftdclickeventcbleftdclickevent}
+
+\func{}{cbLeftDClickEvent}{\param{const wxPoint\& }{pos}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:59
+%
+
+
+\section{\class{cbLeftDownEvent}}\label{cbleftdownevent}
+
+
+event classes, for each corresponding event type (24 currnetly...uhh) **mouse-events category
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbLeftDownEvent::cbLeftDownEvent}\label{cbleftdowneventcbleftdownevent}
+
+\func{}{cbLeftDownEvent}{\param{const wxPoint\& }{pos}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:59
+%
+
+
+\section{\class{cbLeftUpEvent}}\label{cbleftupevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbLeftUpEvent::cbLeftUpEvent}\label{cbleftupeventcbleftupevent}
+
+\func{}{cbLeftUpEvent}{\param{const wxPoint\& }{pos}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% toolwnd.h at 05/Jan/02 22:50:58
+%
+
+
+\section{\class{cbMiniButton}}\label{cbminibutton}
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbMiniButton::cbMiniButton}\label{cbminibuttoncbminibutton}
+
+\func{}{cbMiniButton}{\void}
+
+
+\membersection{cbMiniButton::Draw}\label{cbminibuttondraw}
+
+\func{void}{Draw}{\param{wxDC\& }{dc}}
+
+
+\membersection{cbMiniButton::Enable}\label{cbminibuttonenable}
+
+\func{void}{Enable}{\param{bool }{enable}}
+
+
+\membersection{cbMiniButton::HitTest}\label{cbminibuttonhittest}
+
+\func{bool}{HitTest}{\param{const wxPoint\& }{pos}}
+
+
+\membersection{cbMiniButton::IsPressed}\label{cbminibuttonispressed}
+
+\func{bool}{IsPressed}{\void}
+
+
+\membersection{cbMiniButton::OnLeftDown}\label{cbminibuttononleftdown}
+
+\func{void}{OnLeftDown}{\param{const wxPoint\& }{pos}}
+
+
+\membersection{cbMiniButton::OnLeftUp}\label{cbminibuttononleftup}
+
+\func{void}{OnLeftUp}{\param{const wxPoint\& }{pos}}
+
+
+\membersection{cbMiniButton::OnMotion}\label{cbminibuttononmotion}
+
+\func{void}{OnMotion}{\param{const wxPoint\& }{pos}}
+
+
+\membersection{cbMiniButton::Refresh}\label{cbminibuttonrefresh}
+
+\func{void}{Refresh}{\void}
+
+
+\membersection{cbMiniButton::Reset}\label{cbminibuttonreset}
+
+\func{void}{Reset}{\void}
+
+
+\membersection{cbMiniButton::SetPos}\label{cbminibuttonsetpos}
+
+\func{void}{SetPos}{\param{const wxPoint\& }{pos}}
+
+
+\membersection{cbMiniButton::WasClicked}\label{cbminibuttonwasclicked}
+
+\func{bool}{WasClicked}{\void}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbMotionEvent}}\label{cbmotionevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbMotionEvent::cbMotionEvent}\label{cbmotioneventcbmotionevent}
+
+\func{}{cbMotionEvent}{\param{const wxPoint\& }{pos}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% panedrawpl.h at 05/Jan/02 22:50:57
+%
+
+
+\section{\class{cbPaneDrawPlugin}}\label{cbpanedrawplugin}
+
+
+Simple, but all-in-one plugin implementation. Resembles look \& feel of
+ to MFC control-bars. Handles painting of pane and items in it.
+ Fires bar/layout customization event, when user right-clicks bar/pane.
+ Hooking an instance of this and row-layouting plugins per each pane,
+ would be enough for the frame layout to function properly.
+ (they are plugged in autimatically by wxFrameLayout class)
+
+\wxheading{Derived from}
+
+\helpref{cbPluginBase}{cbpluginbase}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbPaneDrawPlugin::cbPaneDrawPlugin}\label{cbpanedrawplugincbpanedrawplugin}
+
+\func{}{cbPaneDrawPlugin}{\param{wxFrameLayout* }{pPanel}, \param{int }{paneMask = wxALL\_PANES}}
+
+
+\func{}{cbPaneDrawPlugin}{\void}
+
+
+\membersection{cbPaneDrawPlugin::\destruct{cbPaneDrawPlugin}}\label{cbpanedrawplugindtor}
+
+\func{}{\destruct{cbPaneDrawPlugin}}{\void}
+
+
+\membersection{cbPaneDrawPlugin::Clone}\label{cbpanedrawpluginclone}
+
+\func{cbPluginBase*}{Clone}{\void}
+
+
+\membersection{cbPaneDrawPlugin::DrawBarInnerShadeRect}\label{cbpanedrawplugindrawbarinnershaderect}
+
+\func{void}{DrawBarInnerShadeRect}{\param{cbBarInfo* }{pBar}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbPaneDrawPlugin::DrawDraggedHandle}\label{cbpanedrawplugindrawdraggedhandle}
+
+\func{void}{DrawDraggedHandle}{\param{const wxPoint\& }{pos}, \param{cbDockPane\& }{pane}}
+
+helpers
+
+
+\membersection{cbPaneDrawPlugin::DrawLowerRowHandle}\label{cbpanedrawplugindrawlowerrowhandle}
+
+\func{void}{DrawLowerRowHandle}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbPaneDrawPlugin::DrawLowerRowShades}\label{cbpanedrawplugindrawlowerrowshades}
+
+\func{void}{DrawLowerRowShades}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}, \param{int }{level}}
+
+
+\membersection{cbPaneDrawPlugin::DrawPaneShade}\label{cbpanedrawplugindrawpaneshade}
+
+\func{void}{DrawPaneShade}{\param{wxDC\& }{dc}, \param{int }{alignment}}
+
+
+\membersection{cbPaneDrawPlugin::DrawPaneShadeForRow}\label{cbpanedrawplugindrawpaneshadeforrow}
+
+\func{void}{DrawPaneShadeForRow}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbPaneDrawPlugin::DrawShade}\label{cbpanedrawplugindrawshade}
+
+\func{void}{DrawShade}{\param{int }{level}, \param{wxRect\& }{rect}, \param{int }{alignment}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbPaneDrawPlugin::DrawShade1}\label{cbpanedrawplugindrawshade1}
+
+\func{void}{DrawShade1}{\param{int }{level}, \param{wxRect\& }{rect}, \param{int }{alignment}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbPaneDrawPlugin::DrawUpperRowHandle}\label{cbpanedrawplugindrawupperrowhandle}
+
+\func{void}{DrawUpperRowHandle}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbPaneDrawPlugin::DrawUpperRowShades}\label{cbpanedrawplugindrawupperrowshades}
+
+\func{void}{DrawUpperRowShades}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}, \param{int }{level}}
+
+
+\membersection{cbPaneDrawPlugin::OnDrawBarDecorations}\label{cbpanedrawpluginondrawbardecorations}
+
+\func{void}{OnDrawBarDecorations}{\param{cbDrawBarDecorEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnDrawBarHandles}\label{cbpanedrawpluginondrawbarhandles}
+
+\func{void}{OnDrawBarHandles}{\param{cbDrawBarHandlesEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnDrawPaneBackground}\label{cbpanedrawpluginondrawpanebackground}
+
+\func{void}{OnDrawPaneBackground}{\param{cbDrawPaneBkGroundEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnDrawPaneDecorations}\label{cbpanedrawpluginondrawpanedecorations}
+
+\func{void}{OnDrawPaneDecorations}{\param{cbDrawPaneDecorEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnDrawRowBackground}\label{cbpanedrawpluginondrawrowbackground}
+
+\func{void}{OnDrawRowBackground}{\param{cbDrawRowBkGroundEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnDrawRowDecorations}\label{cbpanedrawpluginondrawrowdecorations}
+
+\func{void}{OnDrawRowDecorations}{\param{cbDrawRowDecorEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnDrawRowHandles}\label{cbpanedrawpluginondrawrowhandles}
+
+\func{void}{OnDrawRowHandles}{\param{cbDrawRowHandlesEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnFinishDrawInArea}\label{cbpanedrawpluginonfinishdrawinarea}
+
+\func{void}{OnFinishDrawInArea}{\param{cbFinishDrawInAreaEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnLButtonDown}\label{cbpanedrawpluginonlbuttondown}
+
+\func{void}{OnLButtonDown}{\param{cbLeftDownEvent\& }{event}}
+
+handlers for plugin-events
+
+
+\membersection{cbPaneDrawPlugin::OnLButtonUp}\label{cbpanedrawpluginonlbuttonup}
+
+\func{void}{OnLButtonUp}{\param{cbLeftUpEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnLDblClick}\label{cbpanedrawpluginonldblclick}
+
+\func{void}{OnLDblClick}{\param{cbLeftDClickEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnMouseMove}\label{cbpanedrawpluginonmousemove}
+
+\func{void}{OnMouseMove}{\param{cbMotionEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnRButtonUp}\label{cbpanedrawpluginonrbuttonup}
+
+\func{void}{OnRButtonUp}{\param{cbRightUpEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnSizeBarWindow}\label{cbpanedrawpluginonsizebarwindow}
+
+\func{void}{OnSizeBarWindow}{\param{cbSizeBarWndEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::OnStartDrawInArea}\label{cbpanedrawpluginonstartdrawinarea}
+
+\func{void}{OnStartDrawInArea}{\param{cbStartDrawInAreaEvent\& }{event}}
+
+
+\membersection{cbPaneDrawPlugin::SetDarkPixel}\label{cbpanedrawpluginsetdarkpixel}
+
+\func{void}{SetDarkPixel}{\param{int }{x}, \param{int }{y}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbPaneDrawPlugin::SetLightPixel}\label{cbpanedrawpluginsetlightpixel}
+
+\func{void}{SetLightPixel}{\param{int }{x}, \param{int }{y}, \param{wxDC\& }{dc}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:59
+%
+
+
+\section{\class{cbPluginBase}}\label{cbpluginbase}
+
+
+abstract base class for all control-bar related plugins
+
+\wxheading{Derived from}
+
+\helpref{wxEvtHandler}{wxevthandler}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbPluginBase::cbPluginBase}\label{cbpluginbasecbpluginbase}
+
+\func{}{cbPluginBase}{\param{wxFrameLayout* }{pPanel}, \param{int }{paneMask = wxALL\_PANES}}
+
+
+\func{}{cbPluginBase}{\void}
+
+
+\membersection{cbPluginBase::\destruct{cbPluginBase}}\label{cbpluginbasedtor}
+
+\func{}{\destruct{cbPluginBase}}{\void}
+
+NOTE:: pointer positions of mouse-events sent to plugins
+are always in pane's coordinates (pane's to which
+this plugin is hooked)
+destroys the whole plugin chain of connected plagins
+
+
+\membersection{cbPluginBase::GetPaneMask}\label{cbpluginbasegetpanemask}
+
+\func{int}{GetPaneMask}{\void}
+
+
+\membersection{cbPluginBase::IsReady}\label{cbpluginbaseisready}
+
+\func{bool}{IsReady}{\void}
+
+
+\membersection{cbPluginBase::OnInitPlugin}\label{cbpluginbaseoninitplugin}
+
+\func{void}{OnInitPlugin}{\void}
+
+override this method to do plugin-specific initialization
+(at this point plugin is already attached to the frame layout,
+and pane masks are set)
+
+
+\membersection{cbPluginBase::ProcessEvent}\label{cbpluginbaseprocessevent}
+
+\func{bool}{ProcessEvent}{\param{wxEvent\& }{event}}
+
+overriden, to determine whether the target pane specified in the
+event, matches the pane mask of this plugin (specific plugins
+do not override this method)
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:59
+%
+
+
+\section{\class{cbPluginEvent}}\label{cbpluginevent}
+
+
+------------------------------------------------------------
+ "API" for developing custom plugins of Frame Layout Engine
+ TODO:: documentation
+ ------------------------------------------------------------
+ base class for all control-bar plugin events
+
+\wxheading{Derived from}
+
+\helpref{wxEvent}{wxevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbPluginEvent::cbPluginEvent}\label{cbplugineventcbpluginevent}
+
+\func{}{cbPluginEvent}{\param{wxEventType }{eventType}, \param{cbDockPane* }{pPane}}
+
+
+\membersection{cbPluginEvent::Clone}\label{cbplugineventclone}
+
+\constfunc{wxEvent*}{Clone}{\void}
+
+OLD STUFF::
+ // FOR NOW FOR NOW:: all-in-one plugin event structure
+ wxNode* mpObjNode;
+ wxNode* mpObjNodeAux;
+ wxPoint mPos;
+ wxSize mSize;
+ wxDC* mpDC;
+ bool mAuxBoolVal;
+ Not used, but required
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbRemoveBarEvent}}\label{cbremovebarevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbRemoveBarEvent::cbRemoveBarEvent}\label{cbremovebareventcbremovebarevent}
+
+\func{}{cbRemoveBarEvent}{\param{cbBarInfo* }{pBar}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbResizeBarEvent}}\label{cbresizebarevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbResizeBarEvent::cbResizeBarEvent}\label{cbresizebareventcbresizebarevent}
+
+\func{}{cbResizeBarEvent}{\param{cbBarInfo* }{pBar}, \param{cbRowInfo* }{pRow}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbResizeRowEvent}}\label{cbresizerowevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbResizeRowEvent::cbResizeRowEvent}\label{cbresizeroweventcbresizerowevent}
+
+\func{}{cbResizeRowEvent}{\param{cbRowInfo* }{pRow}, \param{int }{handleOfs}, \param{bool }{forUpperHandle}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbRightDownEvent}}\label{cbrightdownevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbRightDownEvent::cbRightDownEvent}\label{cbrightdowneventcbrightdownevent}
+
+\func{}{cbRightDownEvent}{\param{const wxPoint\& }{pos}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbRightUpEvent}}\label{cbrightupevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbRightUpEvent::cbRightUpEvent}\label{cbrightupeventcbrightupevent}
+
+\func{}{cbRightUpEvent}{\param{const wxPoint\& }{pos}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% rowdragpl.h at 05/Jan/02 22:50:57
+%
+
+
+\section{\class{cbRowDragPlugin}}\label{cbrowdragplugin}
+
+
+Plugin adds row-dragging fuctionality to the pane.
+ Handles mouse/movement and pane-background erasing plugin-events.
+ Behaviour and appearence resembles drag \& drop posotioning
+ of the toolbar-rows int Netscape Comunicator 4.xx.
+
+\wxheading{Derived from}
+
+\helpref{cbPluginBase}{cbpluginbase}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbRowDragPlugin::cbRowDragPlugin}\label{cbrowdragplugincbrowdragplugin}
+
+\func{}{cbRowDragPlugin}{\param{wxFrameLayout* }{pLayout}, \param{int }{paneMask = wxALL\_PANES}}
+
+
+\func{}{cbRowDragPlugin}{\void}
+
+
+\membersection{cbRowDragPlugin::\destruct{cbRowDragPlugin}}\label{cbrowdragplugindtor}
+
+\func{}{\destruct{cbRowDragPlugin}}{\void}
+
+
+\membersection{cbRowDragPlugin::CaptureDCArea}\label{cbrowdragplugincapturedcarea}
+
+\func{wxBitmap*}{CaptureDCArea}{\param{wxDC\& }{dc}, \param{wxRect\& }{area}}
+
+
+\membersection{cbRowDragPlugin::CheckPrevItemInFocus}\label{cbrowdragplugincheckpreviteminfocus}
+
+\func{void}{CheckPrevItemInFocus}{\param{cbRowInfo* }{pRow}, \param{int }{iconIdx}}
+
+
+\membersection{cbRowDragPlugin::Clone}\label{cbrowdragpluginclone}
+
+\func{cbPluginBase*}{Clone}{\void}
+
+
+\membersection{cbRowDragPlugin::CollapseRow}\label{cbrowdragplugincollapserow}
+
+\func{void}{CollapseRow}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbRowDragPlugin::Draw3DPattern}\label{cbrowdragplugindraw3dpattern}
+
+\func{void}{Draw3DPattern}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbRowDragPlugin::Draw3DRect}\label{cbrowdragplugindraw3drect}
+
+\func{void}{Draw3DRect}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}, \param{wxBrush\& }{bkBrush}}
+
+
+\membersection{cbRowDragPlugin::DrawCollapsedRowIcon}\label{cbrowdragplugindrawcollapsedrowicon}
+
+\func{void}{DrawCollapsedRowIcon}{\param{int }{index}, \param{wxDC\& }{dc}, \param{bool }{isHighlighted}}
+
+overridables (appearence-depedent)
+
+
+\membersection{cbRowDragPlugin::DrawCollapsedRowsBorder}\label{cbrowdragplugindrawcollapsedrowsborder}
+
+\func{void}{DrawCollapsedRowsBorder}{\param{wxDC\& }{dc}}
+
+
+\membersection{cbRowDragPlugin::DrawEmptyRow}\label{cbrowdragplugindrawemptyrow}
+
+\func{void}{DrawEmptyRow}{\param{wxDC\& }{dc}, \param{wxRect\& }{rowBounds}}
+
+
+\membersection{cbRowDragPlugin::DrawOrtoRomb}\label{cbrowdragplugindrawortoromb}
+
+\func{void}{DrawOrtoRomb}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}, \param{wxBrush\& }{bkBrush}}
+
+
+\membersection{cbRowDragPlugin::DrawRectShade}\label{cbrowdragplugindrawrectshade}
+
+\func{void}{DrawRectShade}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}, \param{int }{level}, \param{wxPen\& }{upperPen}, \param{wxPen\& }{lowerPen}}
+
+
+\membersection{cbRowDragPlugin::DrawRomb}\label{cbrowdragplugindrawromb}
+
+\func{void}{DrawRomb}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}, \param{wxBrush\& }{bkBrush}}
+
+
+\membersection{cbRowDragPlugin::DrawRombShades}\label{cbrowdragplugindrawrombshades}
+
+\func{void}{DrawRombShades}{\param{wxPoint\& }{p1}, \param{wxPoint\& }{p2}, \param{wxPoint\& }{p3}, \param{wxPoint\& }{p4}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbRowDragPlugin::DrawRowDragHint}\label{cbrowdragplugindrawrowdraghint}
+
+\func{void}{DrawRowDragHint}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}, \param{bool }{isHighlighted}}
+
+
+\membersection{cbRowDragPlugin::DrawRowsDragHintsBorder}\label{cbrowdragplugindrawrowsdraghintsborder}
+
+\func{void}{DrawRowsDragHintsBorder}{\param{wxDC\& }{dc}}
+
+
+\membersection{cbRowDragPlugin::DrawTrianDown}\label{cbrowdragplugindrawtriandown}
+
+\func{void}{DrawTrianDown}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbRowDragPlugin::DrawTrianRight}\label{cbrowdragplugindrawtrianright}
+
+\func{void}{DrawTrianRight}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}}
+
+
+\membersection{cbRowDragPlugin::DrawTrianUp}\label{cbrowdragplugindrawtrianup}
+
+\func{void}{DrawTrianUp}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}}
+
+"hard-coded metafile" for NN-look
+
+
+\membersection{cbRowDragPlugin::ExpandRow}\label{cbrowdragpluginexpandrow}
+
+\func{void}{ExpandRow}{\param{int }{collapsedIconIdx}}
+
+
+\membersection{cbRowDragPlugin::FinishOnScreenDraw}\label{cbrowdragpluginfinishonscreendraw}
+
+\func{void}{FinishOnScreenDraw}{\void}
+
+
+\membersection{cbRowDragPlugin::GetCollapsedIconsPos}\label{cbrowdragplugingetcollapsediconspos}
+
+\func{int}{GetCollapsedIconsPos}{\void}
+
+
+\membersection{cbRowDragPlugin::GetCollapsedInconRect}\label{cbrowdragplugingetcollapsedinconrect}
+
+\func{void}{GetCollapsedInconRect}{\param{int }{iconIdx}, \param{wxRect\& }{rect}}
+
+
+\membersection{cbRowDragPlugin::GetCollapsedRowIconHeight}\label{cbrowdragplugingetcollapsedrowiconheight}
+
+\func{int}{GetCollapsedRowIconHeight}{\void}
+
+
+\membersection{cbRowDragPlugin::GetFirstRow}\label{cbrowdragplugingetfirstrow}
+
+\func{cbRowInfo*}{GetFirstRow}{\void}
+
+
+\membersection{cbRowDragPlugin::GetHRowsCountForPane}\label{cbrowdragplugingethrowscountforpane}
+
+\func{int}{GetHRowsCountForPane}{\param{cbDockPane* }{pPane}}
+
+helpers for drag\&drop
+
+
+\membersection{cbRowDragPlugin::GetRowDragHintWidth}\label{cbrowdragplugingetrowdraghintwidth}
+
+\func{int}{GetRowDragHintWidth}{\void}
+
+
+\membersection{cbRowDragPlugin::GetRowHintRect}\label{cbrowdragplugingetrowhintrect}
+
+\func{void}{GetRowHintRect}{\param{cbRowInfo* }{pRow}, \param{wxRect\& }{rect}}
+
+
+\membersection{cbRowDragPlugin::HitTestCollapsedRowIcon}\label{cbrowdragpluginhittestcollapsedrowicon}
+
+\func{bool}{HitTestCollapsedRowIcon}{\param{int }{iconIdx}, \param{const wxPoint\& }{pos}}
+
+
+\membersection{cbRowDragPlugin::HitTestRowDragHint}\label{cbrowdragpluginhittestrowdraghint}
+
+\func{bool}{HitTestRowDragHint}{\param{cbRowInfo* }{pRow}, \param{const wxPoint\& }{pos}}
+
+
+\membersection{cbRowDragPlugin::InsertDraggedRowBefore}\label{cbrowdragplugininsertdraggedrowbefore}
+
+\func{void}{InsertDraggedRowBefore}{\param{cbRowInfo* }{pBeforeRow}}
+
+
+\membersection{cbRowDragPlugin::ItemIsInFocus}\label{cbrowdragpluginitemisinfocus}
+
+\func{bool}{ItemIsInFocus}{\void}
+
+
+\membersection{cbRowDragPlugin::OnDrawPaneBackground}\label{cbrowdragpluginondrawpanebackground}
+
+\func{void}{OnDrawPaneBackground}{\param{cbDrawPaneDecorEvent\& }{event}}
+
+
+\membersection{cbRowDragPlugin::OnInitPlugin}\label{cbrowdragpluginoninitplugin}
+
+\func{void}{OnInitPlugin}{\void}
+
+
+\membersection{cbRowDragPlugin::OnLButtonDown}\label{cbrowdragpluginonlbuttondown}
+
+\func{void}{OnLButtonDown}{\param{cbLeftDownEvent\& }{event}}
+
+
+\membersection{cbRowDragPlugin::OnLButtonUp}\label{cbrowdragpluginonlbuttonup}
+
+\func{void}{OnLButtonUp}{\param{cbLeftUpEvent\& }{event}}
+
+
+\membersection{cbRowDragPlugin::OnMouseMove}\label{cbrowdragpluginonmousemove}
+
+\func{void}{OnMouseMove}{\param{cbMotionEvent\& }{event}}
+
+handlers for plugin events (appearence-independent logic)
+
+
+\membersection{cbRowDragPlugin::PrepareForRowDrag}\label{cbrowdragpluginprepareforrowdrag}
+
+\func{void}{PrepareForRowDrag}{\void}
+
+
+\membersection{cbRowDragPlugin::SetMouseCapture}\label{cbrowdragpluginsetmousecapture}
+
+\func{void}{SetMouseCapture}{\param{bool }{captureOn}}
+
+
+\membersection{cbRowDragPlugin::SetPaneMargins}\label{cbrowdragpluginsetpanemargins}
+
+\func{void}{SetPaneMargins}{\void}
+
+
+\membersection{cbRowDragPlugin::ShowDraggedRow}\label{cbrowdragpluginshowdraggedrow}
+
+\func{void}{ShowDraggedRow}{\param{int }{offset}}
+
+
+\membersection{cbRowDragPlugin::ShowPaneImage}\label{cbrowdragpluginshowpaneimage}
+
+\func{void}{ShowPaneImage}{\void}
+
+
+\membersection{cbRowDragPlugin::UnhiglightItemInFocus}\label{cbrowdragpluginunhiglightiteminfocus}
+
+\func{void}{UnhiglightItemInFocus}{\void}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:59
+%
+
+
+\section{\class{cbRowInfo}}\label{cbrowinfo}
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbRowInfo::cbRowInfo}\label{cbrowinfocbrowinfo}
+
+\func{}{cbRowInfo}{\void}
+
+
+\membersection{cbRowInfo::\destruct{cbRowInfo}}\label{cbrowinfodtor}
+
+\func{}{\destruct{cbRowInfo}}{\void}
+
+
+\membersection{cbRowInfo::GetFirstBar}\label{cbrowinfogetfirstbar}
+
+\func{cbBarInfo*}{GetFirstBar}{\void}
+
+convenience method
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% rowlayoutpl.h at 05/Jan/02 22:50:58
+%
+
+
+\section{\class{cbRowLayoutPlugin}}\label{cbrowlayoutplugin}
+
+
+Simple implementation of plugin, which handles row-layouting
+ requests sent from Frame Layout
+
+\wxheading{Derived from}
+
+\helpref{cbPluginBase}{cbpluginbase}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbRowLayoutPlugin::cbRowLayoutPlugin}\label{cbrowlayoutplugincbrowlayoutplugin}
+
+\func{}{cbRowLayoutPlugin}{\param{wxFrameLayout* }{pPanel}, \param{int }{paneMask = wxALL\_PANES}}
+
+
+\func{}{cbRowLayoutPlugin}{\void}
+
+
+\membersection{cbRowLayoutPlugin::AdjustLengthOfInserted}\label{cbrowlayoutpluginadjustlengthofinserted}
+
+\func{void}{AdjustLengthOfInserted}{\param{cbRowInfo* }{pRow}, \param{cbBarInfo* }{pTheBar}}
+
+
+\membersection{cbRowLayoutPlugin::ApplyLengthRatios}\label{cbrowlayoutpluginapplylengthratios}
+
+\func{void}{ApplyLengthRatios}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbRowLayoutPlugin::CalcRowHeight}\label{cbrowlayoutplugincalcrowheight}
+
+\func{int}{CalcRowHeight}{\param{cbRowInfo\& }{row}}
+
+row-layouting helpers (simulate "bar-friction")
+
+
+\membersection{cbRowLayoutPlugin::CheckIfAtTheBoundary}\label{cbrowlayoutplugincheckifattheboundary}
+
+\func{void}{CheckIfAtTheBoundary}{\param{cbBarInfo* }{pTheBar}, \param{cbRowInfo\& }{rowInfo}}
+
+
+\membersection{cbRowLayoutPlugin::DetectBarHandles}\label{cbrowlayoutplugindetectbarhandles}
+
+\func{void}{DetectBarHandles}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbRowLayoutPlugin::DoInsertBar}\label{cbrowlayoutplugindoinsertbar}
+
+\func{void}{DoInsertBar}{\param{cbBarInfo* }{pTheBar}, \param{cbRowInfo\& }{row}}
+
+
+\membersection{cbRowLayoutPlugin::ExpandNotFixedBars}\label{cbrowlayoutpluginexpandnotfixedbars}
+
+\func{void}{ExpandNotFixedBars}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbRowLayoutPlugin::FitBarsToRange}\label{cbrowlayoutpluginfitbarstorange}
+
+\func{void}{FitBarsToRange}{\param{int }{from}, \param{int }{till}, \param{cbBarInfo* }{pTheBar}, \param{cbRowInfo* }{pRow}}
+
+not-fixed-bars layouting related helpers
+
+
+\membersection{cbRowLayoutPlugin::GetRowFreeSpace}\label{cbrowlayoutplugingetrowfreespace}
+
+\func{int}{GetRowFreeSpace}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbRowLayoutPlugin::InsertBefore}\label{cbrowlayoutplugininsertbefore}
+
+\func{void}{InsertBefore}{\param{cbBarInfo* }{pBeforeBar}, \param{cbBarInfo* }{pTheBar}, \param{cbRowInfo\& }{row}}
+
+
+\membersection{cbRowLayoutPlugin::LayoutItemsVertically}\label{cbrowlayoutpluginlayoutitemsvertically}
+
+\func{void}{LayoutItemsVertically}{\param{cbRowInfo\& }{row}}
+
+
+\membersection{cbRowLayoutPlugin::MinimzeNotFixedBars}\label{cbrowlayoutpluginminimzenotfixedbars}
+
+\func{void}{MinimzeNotFixedBars}{\param{cbRowInfo* }{pRow}, \param{cbBarInfo* }{pBarToPreserve}}
+
+
+\membersection{cbRowLayoutPlugin::OnInsertBar}\label{cbrowlayoutpluginoninsertbar}
+
+\func{void}{OnInsertBar}{\param{cbInsertBarEvent\& }{event}}
+
+
+\membersection{cbRowLayoutPlugin::OnLayoutRow}\label{cbrowlayoutpluginonlayoutrow}
+
+\func{void}{OnLayoutRow}{\param{cbLayoutRowEvent\& }{event}}
+
+
+\membersection{cbRowLayoutPlugin::OnLayoutRows}\label{cbrowlayoutpluginonlayoutrows}
+
+\func{void}{OnLayoutRows}{\param{cbLayoutRowsEvent\& }{event}}
+
+
+\membersection{cbRowLayoutPlugin::OnRemoveBar}\label{cbrowlayoutpluginonremovebar}
+
+\func{void}{OnRemoveBar}{\param{cbRemoveBarEvent\& }{event}}
+
+
+\membersection{cbRowLayoutPlugin::OnResizeRow}\label{cbrowlayoutpluginonresizerow}
+
+\func{void}{OnResizeRow}{\param{cbResizeRowEvent\& }{event}}
+
+event handlers
+
+
+\membersection{cbRowLayoutPlugin::RecalcLengthRatios}\label{cbrowlayoutpluginrecalclengthratios}
+
+\func{void}{RecalcLengthRatios}{\param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbRowLayoutPlugin::RelayoutNotFixedBarsAround}\label{cbrowlayoutpluginrelayoutnotfixedbarsaround}
+
+\func{void}{RelayoutNotFixedBarsAround}{\param{cbBarInfo* }{pTheBar}, \param{cbRowInfo* }{pRow}}
+
+
+\membersection{cbRowLayoutPlugin::ShiftLeftTrashold}\label{cbrowlayoutpluginshiftlefttrashold}
+
+\func{void}{ShiftLeftTrashold}{\param{cbBarInfo* }{pTheBar}, \param{cbRowInfo\& }{row}}
+
+
+\membersection{cbRowLayoutPlugin::ShiftRightTrashold}\label{cbrowlayoutpluginshiftrighttrashold}
+
+\func{void}{ShiftRightTrashold}{\param{cbBarInfo* }{pTheBar}, \param{cbRowInfo\& }{row}}
+
+
+\membersection{cbRowLayoutPlugin::SlideLeftSideBars}\label{cbrowlayoutpluginslideleftsidebars}
+
+\func{void}{SlideLeftSideBars}{\param{cbBarInfo* }{pTheBar}}
+
+
+\membersection{cbRowLayoutPlugin::SlideRightSideBars}\label{cbrowlayoutpluginsliderightsidebars}
+
+\func{void}{SlideRightSideBars}{\param{cbBarInfo* }{pTheBar}}
+
+
+\membersection{cbRowLayoutPlugin::StickRightSideBars}\label{cbrowlayoutpluginstickrightsidebars}
+
+\func{void}{StickRightSideBars}{\param{cbBarInfo* }{pToBar}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% cbcustom.h at 05/Jan/02 22:50:56
+%
+
+
+\section{\class{cbSimpleCustomizationPlugin}}\label{cbsimplecustomizationplugin}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginBase}{cbpluginbase}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbSimpleCustomizationPlugin::cbSimpleCustomizationPlugin}\label{cbsimplecustomizationplugincbsimplecustomizationplugin}
+
+\func{}{cbSimpleCustomizationPlugin}{\param{wxFrameLayout* }{pPanel}, \param{int }{paneMask = wxALL\_PANES}}
+
+
+\func{}{cbSimpleCustomizationPlugin}{\void}
+
+
+\membersection{cbSimpleCustomizationPlugin::OnCustomizeBar}\label{cbsimplecustomizationpluginoncustomizebar}
+
+\func{void}{OnCustomizeBar}{\param{cbCustomizeBarEvent\& }{event}}
+
+plugin-event handlers
+
+
+\membersection{cbSimpleCustomizationPlugin::OnCustomizeLayout}\label{cbsimplecustomizationpluginoncustomizelayout}
+
+\func{void}{OnCustomizeLayout}{\param{cbCustomizeLayoutEvent\& }{event}}
+
+
+\membersection{cbSimpleCustomizationPlugin::OnMenuItemSelected}\label{cbsimplecustomizationpluginonmenuitemselected}
+
+\func{void}{OnMenuItemSelected}{\param{wxCommandEvent\& }{event}}
+
+menu-event handler
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% updatesmgr.h at 05/Jan/02 22:50:58
+%
+
+
+\section{\class{cbSimpleUpdatesMgr}}\label{cbsimpleupdatesmgr}
+
+
+class implements slightly optimized logic for refreshing
+ areas of frame layout - which actually need to be updated.
+
+\wxheading{Derived from}
+
+\helpref{cbUpdatesManagerBase}{cbupdatesmanagerbase}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbSimpleUpdatesMgr::cbSimpleUpdatesMgr}\label{cbsimpleupdatesmgrcbsimpleupdatesmgr}
+
+\func{}{cbSimpleUpdatesMgr}{\void}
+
+
+\func{}{cbSimpleUpdatesMgr}{\param{wxFrameLayout* }{pPanel}}
+
+
+\membersection{cbSimpleUpdatesMgr::OnBarWillChange}\label{cbsimpleupdatesmgronbarwillchange}
+
+\func{void}{OnBarWillChange}{\param{cbBarInfo* }{pBar}, \param{cbRowInfo* }{pInRow}, \param{cbDockPane* }{pInPane}}
+
+
+\membersection{cbSimpleUpdatesMgr::OnFinishChanges}\label{cbsimpleupdatesmgronfinishchanges}
+
+\func{void}{OnFinishChanges}{\void}
+
+
+\membersection{cbSimpleUpdatesMgr::OnPaneMarginsWillChange}\label{cbsimpleupdatesmgronpanemarginswillchange}
+
+\func{void}{OnPaneMarginsWillChange}{\param{cbDockPane* }{pPane}}
+
+
+\membersection{cbSimpleUpdatesMgr::OnPaneWillChange}\label{cbsimpleupdatesmgronpanewillchange}
+
+\func{void}{OnPaneWillChange}{\param{cbDockPane* }{pPane}}
+
+
+\membersection{cbSimpleUpdatesMgr::OnRowWillChange}\label{cbsimpleupdatesmgronrowwillchange}
+
+\func{void}{OnRowWillChange}{\param{cbRowInfo* }{pRow}, \param{cbDockPane* }{pInPane}}
+
+
+\membersection{cbSimpleUpdatesMgr::OnStartChanges}\label{cbsimpleupdatesmgronstartchanges}
+
+\func{void}{OnStartChanges}{\void}
+
+notificiactions received from Frame Layout (in the order, in which
+they usually would be invoked)
+
+
+\membersection{cbSimpleUpdatesMgr::UpdateNow}\label{cbsimpleupdatesmgrupdatenow}
+
+\func{void}{UpdateNow}{\void}
+
+refreshes parts of the frame layout, which need an update
+
+
+\membersection{cbSimpleUpdatesMgr::WasChanged}\label{cbsimpleupdatesmgrwaschanged}
+
+\func{bool}{WasChanged}{\param{cbUpdateMgrData\& }{data}, \param{wxRect\& }{currentBounds}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:00
+%
+
+
+\section{\class{cbSizeBarWndEvent}}\label{cbsizebarwndevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbSizeBarWndEvent::cbSizeBarWndEvent}\label{cbsizebarwndeventcbsizebarwndevent}
+
+\func{}{cbSizeBarWndEvent}{\param{cbBarInfo* }{pBar}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:01
+%
+
+
+\section{\class{cbStartBarDraggingEvent}}\label{cbstartbardraggingevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbStartBarDraggingEvent::cbStartBarDraggingEvent}\label{cbstartbardraggingeventcbstartbardraggingevent}
+
+\func{}{cbStartBarDraggingEvent}{\param{cbBarInfo* }{pBar}, \param{const wxPoint\& }{pos}, \param{cbDockPane* }{pPane}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:51:01
+%
+
+
+\section{\class{cbStartDrawInAreaEvent}}\label{cbstartdrawinareaevent}
+
+\wxheading{Derived from}
+
+\helpref{cbPluginEvent}{cbpluginevent}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbStartDrawInAreaEvent::cbStartDrawInAreaEvent}\label{cbstartdrawinareaeventcbstartdrawinareaevent}
+
+\func{}{cbStartDrawInAreaEvent}{\param{const wxRect\& }{area}, \param{wxDC** }{ppDCForArea}, \param{cbDockPane* }{pPane}}
+
+to the obtained buffer-context should be placed
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:58
+%
+
+
+\section{\class{cbUpdateMgrData}}\label{cbupdatemgrdata}
+
+
+structure, which is present in each item of layout,
+ it used by any specific updates-manager to store
+ auxilary information to be used by it's specific
+ updating algorithm
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbUpdateMgrData::cbUpdateMgrData}\label{cbupdatemgrdatacbupdatemgrdata}
+
+\func{}{cbUpdateMgrData}{\void}
+
+is-dirty flag is set TRUE initially
+
+
+\membersection{cbUpdateMgrData::IsDirty}\label{cbupdatemgrdataisdirty}
+
+\func{bool}{IsDirty}{\void}
+
+
+\membersection{cbUpdateMgrData::SetCustomData}\label{cbupdatemgrdatasetcustomdata}
+
+\func{void}{SetCustomData}{\param{wxObject* }{pCustomData}}
+
+
+\membersection{cbUpdateMgrData::SetDirty}\label{cbupdatemgrdatasetdirty}
+
+\func{void}{SetDirty}{\param{bool }{isDirty = TRUE}}
+
+
+\membersection{cbUpdateMgrData::StoreItemState}\label{cbupdatemgrdatastoreitemstate}
+
+\func{void}{StoreItemState}{\param{const wxRect\& }{boundsInParent}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:59
+%
+
+
+\section{\class{cbUpdatesManagerBase}}\label{cbupdatesmanagerbase}
+
+
+class declares abstract interface for optimized logic, which should refresh
+ areas of frame layout - that actually need to be updated. Should be extended,
+ to implement custom updating strategy
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{cbUpdatesManagerBase::cbUpdatesManagerBase}\label{cbupdatesmanagerbasecbupdatesmanagerbase}
+
+\func{}{cbUpdatesManagerBase}{\param{wxFrameLayout* }{pPanel}}
+
+
+\func{}{cbUpdatesManagerBase}{\void}
+
+
+\membersection{cbUpdatesManagerBase::\destruct{cbUpdatesManagerBase}}\label{cbupdatesmanagerbasedtor}
+
+\func{}{\destruct{cbUpdatesManagerBase}}{\void}
+
+
+\membersection{cbUpdatesManagerBase::OnBarWillChange}\label{cbupdatesmanagerbaseonbarwillchange}
+
+\func{void}{OnBarWillChange}{\param{cbBarInfo* }{pBar}, \param{cbRowInfo* }{pInRow}, \param{cbDockPane* }{pInPane}}
+
+
+\membersection{cbUpdatesManagerBase::OnFinishChanges}\label{cbupdatesmanagerbaseonfinishchanges}
+
+\func{void}{OnFinishChanges}{\void}
+
+
+\membersection{cbUpdatesManagerBase::OnPaneMarginsWillChange}\label{cbupdatesmanagerbaseonpanemarginswillchange}
+
+\func{void}{OnPaneMarginsWillChange}{\param{cbDockPane* }{pPane}}
+
+
+\membersection{cbUpdatesManagerBase::OnPaneWillChange}\label{cbupdatesmanagerbaseonpanewillchange}
+
+\func{void}{OnPaneWillChange}{\param{cbDockPane* }{pPane}}
+
+
+\membersection{cbUpdatesManagerBase::OnRowWillChange}\label{cbupdatesmanagerbaseonrowwillchange}
+
+\func{void}{OnRowWillChange}{\param{cbRowInfo* }{pRow}, \param{cbDockPane* }{pInPane}}
+
+
+\membersection{cbUpdatesManagerBase::OnStartChanges}\label{cbupdatesmanagerbaseonstartchanges}
+
+\func{void}{OnStartChanges}{\void}
+
+notificiactions received from frame-layout (in the order, in which
+they usually would be invoked). Custom updates-managers may utilize
+these notifications to implement more "fine-grained" updating strategy
+
+
+\membersection{cbUpdatesManagerBase::SetLayout}\label{cbupdatesmanagerbasesetlayout}
+
+\func{void}{SetLayout}{\param{wxFrameLayout* }{pLayout}}
+
+
+\membersection{cbUpdatesManagerBase::UpdateNow}\label{cbupdatesmanagerbaseupdatenow}
+
+\func{void}{UpdateNow}{\void}
+
+refreshes parts of the frame layout, which need an update
+
--- /dev/null
+\chapter{Alphabetical class reference}\label{classref}
+\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+% NB: the files should be in alphabetic order of the classes documented in
+% them and *not* in alphabetic order of the file names!
+
+\input baglayout.tex
+\input bariterator.tex
+\input cbantiflickerplugin.tex
+\input cbbardimhandlerbase.tex
+\input cbbardragplugin.tex
+\input cbbarhintsplugin.tex
+\input cbbarinfo.tex
+\input cbbarshapedata.tex
+\input cbbarspy.tex
+\input cbclosebox.tex
+\input cbcollapsebox.tex
+\input cbcommonpaneproperties.tex
+\input cbcustomizebarevent.tex
+\input cbcustomizelayoutevent.tex
+\input cbdiminfo.tex
+\input cbdockbox.tex
+\input cbdockpane.tex
+\input cbdrawbardecorevent.tex
+\input cbdrawbarhandlesevent.tex
+\input cbdrawhintrectevent.tex
+\input cbdrawpanebkgroundevent.tex
+\input cbdrawpanedecorevent.tex
+\input cbdrawrowbkgroundevent.tex
+\input cbdrawrowdecorevent.tex
+\input cbdrawrowhandlesevent.tex
+\input cbdyntoolbardimhandler.tex
+\input cbfinishdrawinareaevent.tex
+\input cbfloatedbarwindow.tex
+\input cbgcupdatesmgr.tex
+\input cbhiddenbarinfo.tex
+\input cbhintanimationplugin.tex
+\input cbhintanimtimer.tex
+\input cbinsertbarevent.tex
+\input cblayoutrowevent.tex
+\input cblayoutrowsevent.tex
+\input cbleftdclickevent.tex
+\input cbleftdownevent.tex
+\input cbleftupevent.tex
+\input cbminibutton.tex
+\input cbmotionevent.tex
+\input cbpanedrawplugin.tex
+\input cbpluginbase.tex
+\input cbpluginevent.tex
+\input cbremovebarevent.tex
+\input cbresizebarevent.tex
+\input cbresizerowevent.tex
+\input cbrightdownevent.tex
+\input cbrightupevent.tex
+\input cbrowdragplugin.tex
+\input cbrowinfo.tex
+\input cbrowlayoutplugin.tex
+\input cbsimplecustomizationplugin.tex
+\input cbsimpleupdatesmgr.tex
+\input cbsizebarwndevent.tex
+\input cbstartbardraggingevent.tex
+\input cbstartdrawinareaevent.tex
+\input cbupdatemgrdata.tex
+\input cbupdatesmanagerbase.tex
+\input dynamictoolbar.tex
+\input dyntoolinfo.tex
+\input framelayout.tex
+\input framemanager.tex
+\input frameview.tex
+\input garbagecollector.tex
+\input gcitem.tex
+\input layoutmanagerbase.tex
+\input morphinfot.tex
+\input newbitmapbutton.tex
+\input toollayoutitem.tex
+\input toolwindow.tex
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% dyntbar.h at 05/Jan/02 22:50:56
+%
+
+
+\section{\class{wxDynamicToolBar}}\label{wxdynamictoolbar}
+
+
+class manages containment and layouting of tool-windows
+
+\wxheading{Derived from}
+
+\helpref{wxToolBarBase}{wxtoolbarbase}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxDynamicToolBar::wxDynamicToolBar}\label{wxdynamictoolbarwxdynamictoolbar}
+
+\func{}{wxDynamicToolBar}{\void}
+
+
+\func{}{wxDynamicToolBar}{\param{wxWindow* }{parent}, \param{const wxWindowID }{id}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{const long }{style = wxNO\_BORDER}, \param{const int }{orientation = wxVERTICAL}, \param{const int }{RowsOrColumns = 1}, \param{const wxString\& }{name = wxToolBarNameStr}}
+
+
+\membersection{wxDynamicToolBar::\destruct{wxDynamicToolBar}}\label{wxdynamictoolbardtor}
+
+\func{}{\destruct{wxDynamicToolBar}}{\void}
+
+
+\membersection{wxDynamicToolBar::AddSeparator}\label{wxdynamictoolbaraddseparator}
+
+\func{void}{AddSeparator}{\param{wxWindow* }{pSepartorWnd = NULL}}
+
+
+\membersection{wxDynamicToolBar::AddTool}\label{wxdynamictoolbaraddtool}
+
+\func{void}{AddTool}{\param{int }{toolIndex}, \param{wxWindow* }{pToolWindow}, \param{const wxSize\& }{size = wxDefaultSize}}
+
+overridables
+
+
+\func{void}{AddTool}{\param{int }{toolIndex}, \param{const wxString\& }{imageFileName}, \param{wxBitmapType }{imageFileType = wxBITMAP\_TYPE\_BMP}, \param{const wxString\& }{labelText = ""}, \param{bool }{alignTextRight = FALSE}, \param{bool }{isFlat = TRUE}}
+
+
+\func{void}{AddTool}{\param{int }{toolIndex}, \param{wxBitmap }{labelBmp}, \param{const wxString\& }{labelText = ""}, \param{bool }{alignTextRight = FALSE}, \param{bool }{isFlat = TRUE}}
+
+
+\func{wxToolBarToolBase*}{AddTool}{\param{const int }{toolIndex}, \param{const wxBitmap\& }{bitmap}, \param{const wxBitmap\& }{pushedBitmap = wxNullBitmap}, \param{const bool }{toggle = FALSE}, \param{const long }{xPos = -1}, \param{const long }{yPos = -1}, \param{wxObject* }{clientData = NULL}, \param{const wxString\& }{helpString1 = ""}, \param{const wxString\& }{helpString2 = ""}}
+
+method from wxToolBarBase (for compatibility), only
+first two arguments are valid
+
+
+\membersection{wxDynamicToolBar::Create}\label{wxdynamictoolbarcreate}
+
+\func{bool}{Create}{\param{wxWindow* }{parent}, \param{const wxWindowID }{id}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{const long }{style = wxNO\_BORDER}, \param{const int }{orientation = wxVERTICAL}, \param{const int }{RowsOrColumns = 1}, \param{const wxString\& }{name = wxToolBarNameStr}}
+
+
+\membersection{wxDynamicToolBar::CreateDefaulLayout}\label{wxdynamictoolbarcreatedefaullayout}
+
+\func{LayoutManagerBase*}{CreateDefaulLayout}{\void}
+
+
+\membersection{wxDynamicToolBar::CreateTool}\label{wxdynamictoolbarcreatetool}
+
+\func{wxToolBarToolBase*}{CreateTool}{\param{wxControl* }{control}}
+
+
+\func{wxToolBarToolBase*}{CreateTool}{\param{int }{id}, \param{const wxBitmap\& }{bitmap1}, \param{const wxBitmap\& }{bitmap2}, \param{bool }{toggle}, \param{wxObject* }{clientData}, \param{const wxString\& }{shortHelpString}, \param{const wxString\& }{longHelpString}}
+
+the functions to create toolbar tools
+
+
+\membersection{wxDynamicToolBar::DoDeleteTool}\label{wxdynamictoolbardodeletetool}
+
+\func{bool}{DoDeleteTool}{\param{size\_t }{pos}, \param{wxToolBarToolBase* }{tool}}
+
+the tool is still in m\_tools list when this function is called, it will
+only be deleted from it if it succeeds
+
+
+\membersection{wxDynamicToolBar::DoEnableTool}\label{wxdynamictoolbardoenabletool}
+
+\func{void}{DoEnableTool}{\param{wxToolBarToolBase* }{tool}, \param{bool }{enable}}
+
+called when the tools enabled flag changes
+
+
+\membersection{wxDynamicToolBar::DoInsertTool}\label{wxdynamictoolbardoinserttool}
+
+\func{bool}{DoInsertTool}{\param{size\_t }{pos}, \param{wxToolBarToolBase* }{tool}}
+
+
+\membersection{wxDynamicToolBar::DoSetToggle}\label{wxdynamictoolbardosettoggle}
+
+\func{void}{DoSetToggle}{\param{wxToolBarToolBase* }{tool}, \param{bool }{toggle}}
+
+called when the tools "can be toggled" flag changes
+
+
+\membersection{wxDynamicToolBar::DoToggleTool}\label{wxdynamictoolbardotoggletool}
+
+\func{void}{DoToggleTool}{\param{wxToolBarToolBase* }{tool}, \param{bool }{toggle}}
+
+called when the tool is toggled
+
+
+\membersection{wxDynamicToolBar::DrawSeparator}\label{wxdynamictoolbardrawseparator}
+
+\func{void}{DrawSeparator}{\param{wxDynToolInfo\& }{info}, \param{wxDC\& }{dc}}
+
+the default implementation draws shaded line
+
+
+\membersection{wxDynamicToolBar::EnableTool}\label{wxdynamictoolbarenabletool}
+
+\func{void}{EnableTool}{\param{const int }{toolIndex}, \param{const bool }{enable = TRUE}}
+
+
+\membersection{wxDynamicToolBar::FindToolForPosition}\label{wxdynamictoolbarfindtoolforposition}
+
+\constfunc{wxToolBarToolBase*}{FindToolForPosition}{\param{wxCoord }{x}, \param{wxCoord }{y}}
+
+stuff from the 2.1.15
+
+
+\membersection{wxDynamicToolBar::GetPreferredDim}\label{wxdynamictoolbargetpreferreddim}
+
+\func{void}{GetPreferredDim}{\param{const wxSize\& }{givenDim}, \param{wxSize\& }{prefDim}}
+
+
+\membersection{wxDynamicToolBar::GetToolInfo}\label{wxdynamictoolbargettoolinfo}
+
+\func{wxDynToolInfo*}{GetToolInfo}{\param{int }{toolIndex}}
+
+
+\membersection{wxDynamicToolBar::Layout}\label{wxdynamictoolbarlayout}
+
+\func{bool}{Layout}{\void}
+
+see definitions of orientation types
+
+
+\membersection{wxDynamicToolBar::OnEraseBackground}\label{wxdynamictoolbaronerasebackground}
+
+\func{void}{OnEraseBackground}{\param{wxEraseEvent\& }{event}}
+
+
+\membersection{wxDynamicToolBar::OnPaint}\label{wxdynamictoolbaronpaint}
+
+\func{void}{OnPaint}{\param{wxPaintEvent\& }{event}}
+
+
+\membersection{wxDynamicToolBar::OnSize}\label{wxdynamictoolbaronsize}
+
+\func{void}{OnSize}{\param{wxSizeEvent\& }{event}}
+
+event handlers
+
+
+\membersection{wxDynamicToolBar::Realize}\label{wxdynamictoolbarrealize}
+
+\func{bool}{Realize}{\void}
+
+overriden from wxToolBarBase
+
+
+\membersection{wxDynamicToolBar::RemveTool}\label{wxdynamictoolbarremvetool}
+
+\func{void}{RemveTool}{\param{int }{toolIndex}}
+
+
+\membersection{wxDynamicToolBar::SetLayout}\label{wxdynamictoolbarsetlayout}
+
+\func{void}{SetLayout}{\param{LayoutManagerBase* }{pLayout}}
+
+
+\membersection{wxDynamicToolBar::SizeToolWindows}\label{wxdynamictoolbarsizetoolwindows}
+
+\func{void}{SizeToolWindows}{\void}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% dyntbar.h at 05/Jan/02 22:50:56
+%
+
+
+\section{\class{wxDynToolInfo}}\label{wxdyntoolinfo}
+
+\wxheading{Derived from}
+
+\helpref{wxToolLayoutItem}{wxtoollayoutitem}
+
+\wxheading{Data structures}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% controlbar.h at 05/Jan/02 22:50:58
+%
+
+
+\section{\class{wxFrameLayout}}\label{wxframelayout}
+
+
+wxFrameLayout manages containment and docking of control bars.
+ which can be docked along top, bottom, righ, or left side of the
+ parent frame
+
+\wxheading{Derived from}
+
+\helpref{wxEvtHandler}{wxevthandler}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxFrameLayout::wxFrameLayout}\label{wxframelayoutwxframelayout}
+
+\func{}{wxFrameLayout}{\param{wxWindow* }{pParentFrame}, \param{wxWindow* }{pFrameClient = NULL}, \param{bool }{activateNow = TRUE}}
+
+
+\func{}{wxFrameLayout}{\void}
+
+used only while serializing
+
+
+\membersection{wxFrameLayout::\destruct{wxFrameLayout}}\label{wxframelayoutdtor}
+
+\func{}{\destruct{wxFrameLayout}}{\void}
+
+(doesn't destroy bar windows)
+
+
+\membersection{wxFrameLayout::Activate}\label{wxframelayoutactivate}
+
+\func{void}{Activate}{\void}
+
+Can be called after some other layout has been deactivated,
+and this one must "take over" the current contents of frame window.
+Effectively hooks itself to the frame window, re-displays all not-hidden
+bar-windows and repaints decorations
+
+
+\membersection{wxFrameLayout::AddBar}\label{wxframelayoutaddbar}
+
+\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}}
+
+Adds bar information to frame-layout, appearence of layout is not refreshed
+immediately, RefreshNow() can be called if necessary.
+NOTES:: argument pBarWnd can by NULL, resulting bar decorations to be drawn
+around the empty rectangle (filled with default background colour).
+Argument dimInfo, can be re-used for adding any number of bars, since
+it is not used directly, instead it's members are copied. If dimensions-
+handler is present, it's instance shared (reference counted). Dimension
+handler should always be allocated on the heap!)
+
+
+\membersection{wxFrameLayout::AddPlugin}\label{wxframelayoutaddplugin}
+
+\func{void}{AddPlugin}{\param{wxClassInfo* }{pPlInfo}, \param{int }{paneMask = wxALL\_PANES}}
+
+"Advanced" methods for plugin-configuration using their dynamic class information (e.g. CLASSINFO(pluginClass) ) first checks if plugin of the given class is already "hooked up",
+if not, adds it to the top of plugins chain
+
+
+\membersection{wxFrameLayout::AddPluginBefore}\label{wxframelayoutaddpluginbefore}
+
+\func{void}{AddPluginBefore}{\param{wxClassInfo* }{pNextPlInfo}, \param{wxClassInfo* }{pPlInfo}, \param{int }{paneMask = wxALL\_PANES}}
+
+first checks if plugin of the givne class already hooked,
+if so, removes it, and then inserts it to the chain
+before plugin of the class given by "pNextPlInfo"
+NOTE:: this method is "handy" in some cases, where the order
+of plugin-chain could be important, e.g. one plugin overrides
+some functionallity of the other already hooked plugin,
+thefore the former should be hooked before the one
+who's functionality is being overriden
+
+
+\membersection{wxFrameLayout::ApplyBarProperties}\label{wxframelayoutapplybarproperties}
+
+\func{void}{ApplyBarProperties}{\param{cbBarInfo* }{pBar}}
+
+reflects changes in bar information structure visually
+(e.g. moves bar, changes it's dimension info, pane to which it is docked)
+
+
+\membersection{wxFrameLayout::CanReparent}\label{wxframelayoutcanreparent}
+
+\func{bool}{CanReparent}{\void}
+
+NOTE:: reparenting of windows may NOT work on all platforms
+(reparenting allows control-bars to be floated)
+
+
+\membersection{wxFrameLayout::CaptureEventsForPane}\label{wxframelayoutcaptureeventsforpane}
+
+\func{void}{CaptureEventsForPane}{\param{cbDockPane* }{toPane}}
+
+called by plugins ( also captures/releases mouse in parent frame)
+
+
+\membersection{wxFrameLayout::CaptureEventsForPlugin}\label{wxframelayoutcaptureeventsforplugin}
+
+\func{void}{CaptureEventsForPlugin}{\param{cbPluginBase* }{pPlugin}}
+
+captures/releases user-input event's for the given plugin
+Input events are: mouse movement, mouse clicks, keyboard input
+
+
+\membersection{wxFrameLayout::CreateCursors}\label{wxframelayoutcreatecursors}
+
+\func{void}{CreateCursors}{\void}
+
+
+\membersection{wxFrameLayout::CreateUpdatesManager}\label{wxframelayoutcreateupdatesmanager}
+
+\func{cbUpdatesManagerBase*}{CreateUpdatesManager}{\void}
+
+factory method
+
+
+\membersection{wxFrameLayout::Deactivate}\label{wxframelayoutdeactivate}
+
+\func{void}{Deactivate}{\void}
+
+unhooks itself from frame window, and hides all not-hidden windows
+NOTE:: two frame-layouts should not be active at the same time in the
+same frame window, it would cause messy overlapping of bar windows
+from both layouts
+
+
+\membersection{wxFrameLayout::DestroyBarWindows}\label{wxframelayoutdestroybarwindows}
+
+\func{void}{DestroyBarWindows}{\void}
+
+
+\membersection{wxFrameLayout::DoSetBarState}\label{wxframelayoutdosetbarstate}
+
+\func{void}{DoSetBarState}{\param{cbBarInfo* }{pBar}}
+
+
+\membersection{wxFrameLayout::EnableFloating}\label{wxframelayoutenablefloating}
+
+\func{void}{EnableFloating}{\param{bool }{enable = TRUE}}
+
+(by default floating of control-bars is ON)
+
+
+\membersection{wxFrameLayout::FindBarByName}\label{wxframelayoutfindbarbyname}
+
+\func{cbBarInfo*}{FindBarByName}{\param{const wxString\& }{name}}
+
+methods for access and modification of bars in frame layout
+
+
+\membersection{wxFrameLayout::FindBarByWindow}\label{wxframelayoutfindbarbywindow}
+
+\func{cbBarInfo*}{FindBarByWindow}{\param{const wxWindow* }{pWnd}}
+
+
+\membersection{wxFrameLayout::FindPlugin}\label{wxframelayoutfindplugin}
+
+\func{cbPluginBase*}{FindPlugin}{\param{wxClassInfo* }{pPlInfo}}
+
+returns NULL, if plugin of the given class is not hooked
+
+
+\membersection{wxFrameLayout::FirePluginEvent}\label{wxframelayoutfirepluginevent}
+
+\func{void}{FirePluginEvent}{\param{cbPluginEvent\& }{event}}
+
+plugin-related methods **should be used, instead of passing the event to ProcessEvent(..) method
+of the top-plugin directly. This method checks if events are currently
+captured and ensures that plugin-event is routed correctly.
+
+
+\membersection{wxFrameLayout::ForwardMouseEvent}\label{wxframelayoutforwardmouseevent}
+
+\func{void}{ForwardMouseEvent}{\param{wxMouseEvent\& }{event}, \param{cbDockPane* }{pToPane}, \param{int }{eventType}}
+
+delegated from "bar-spy"
+
+
+\membersection{wxFrameLayout::GetBarPane}\label{wxframelayoutgetbarpane}
+
+\func{cbDockPane*}{GetBarPane}{\param{cbBarInfo* }{pBar}}
+
+returns panes, to which the given bar belongs
+
+
+\membersection{wxFrameLayout::GetBars}\label{wxframelayoutgetbars}
+
+\func{BarArrayT\&}{GetBars}{\void}
+
+
+\membersection{wxFrameLayout::GetClientHeight}\label{wxframelayoutgetclientheight}
+
+\func{int}{GetClientHeight}{\void}
+
+
+\membersection{wxFrameLayout::GetClientRect}\label{wxframelayoutgetclientrect}
+
+\func{wxRect\&}{GetClientRect}{\void}
+
+
+\membersection{wxFrameLayout::GetClientWidth}\label{wxframelayoutgetclientwidth}
+
+\func{int}{GetClientWidth}{\void}
+
+
+\membersection{wxFrameLayout::GetFrameClient}\label{wxframelayoutgetframeclient}
+
+\func{wxWindow*}{GetFrameClient}{\void}
+
+
+\membersection{wxFrameLayout::GetPane}\label{wxframelayoutgetpane}
+
+\func{cbDockPane*}{GetPane}{\param{int }{alignment}}
+
+see pane alignment types
+
+
+\membersection{wxFrameLayout::GetPaneProperties}\label{wxframelayoutgetpaneproperties}
+
+\func{void}{GetPaneProperties}{\param{cbCommonPaneProperties\& }{props}, \param{int }{alignment = FL\_ALIGN\_TOP}}
+
+NOTE:: changing properties of panes, does not result immediate on-screen update
+
+
+\membersection{wxFrameLayout::GetPanesArray}\label{wxframelayoutgetpanesarray}
+
+\func{cbDockPane**}{GetPanesArray}{\void}
+
+used by updates-managers
+
+
+\membersection{wxFrameLayout::GetParentFrame}\label{wxframelayoutgetparentframe}
+
+\func{wxWindow\&}{GetParentFrame}{\void}
+
+
+\membersection{wxFrameLayout::GetPrevClientRect}\label{wxframelayoutgetprevclientrect}
+
+\func{wxRect\&}{GetPrevClientRect}{\void}
+
+
+\membersection{wxFrameLayout::GetTopPlugin}\label{wxframelayoutgettopplugin}
+
+\func{cbPluginBase\&}{GetTopPlugin}{\void}
+
+returns current top-level plugin (the one which receives events first,
+with an exception if input-events are currently captured by some other plugin)
+
+
+\membersection{wxFrameLayout::GetUpdatesManager}\label{wxframelayoutgetupdatesmanager}
+
+\func{cbUpdatesManagerBase\&}{GetUpdatesManager}{\void}
+
+NOTE:: in future ubdates-manager will become a normal plugin
+
+
+\membersection{wxFrameLayout::HasTopPlugin}\label{wxframelayouthastopplugin}
+
+\func{bool}{HasTopPlugin}{\void}
+
+
+\membersection{wxFrameLayout::HideBarWindows}\label{wxframelayouthidebarwindows}
+
+\func{void}{HideBarWindows}{\void}
+
+also hides the client window if presents
+
+
+\membersection{wxFrameLayout::HitTestPane}\label{wxframelayouthittestpane}
+
+\func{bool}{HitTestPane}{\param{cbDockPane* }{pPane}, \param{int }{x}, \param{int }{y}}
+
+
+\membersection{wxFrameLayout::HitTestPanes}\label{wxframelayouthittestpanes}
+
+\func{cbDockPane*}{HitTestPanes}{\param{const wxRect\& }{rect}, \param{cbDockPane* }{pCurPane}}
+
+
+\membersection{wxFrameLayout::HookUpToFrame}\label{wxframelayouthookuptoframe}
+
+\func{void}{HookUpToFrame}{\void}
+
+
+\membersection{wxFrameLayout::InverseVisibility}\label{wxframelayoutinversevisibility}
+
+\func{void}{InverseVisibility}{\param{cbBarInfo* }{pBar}}
+
+
+\membersection{wxFrameLayout::LocateBar}\label{wxframelayoutlocatebar}
+
+\func{bool}{LocateBar}{\param{cbBarInfo* }{pBarInfo}, \param{cbRowInfo** }{ppRow}, \param{cbDockPane** }{ppPane}}
+
+
+\membersection{wxFrameLayout::OnActivate}\label{wxframelayoutonactivate}
+
+\func{void}{OnActivate}{\param{wxActivateEvent\& }{event}}
+
+
+\membersection{wxFrameLayout::OnEraseBackground}\label{wxframelayoutonerasebackground}
+
+\func{void}{OnEraseBackground}{\param{wxEraseEvent\& }{event}}
+
+
+\membersection{wxFrameLayout::OnIdle}\label{wxframelayoutonidle}
+
+\func{void}{OnIdle}{\param{wxIdleEvent\& }{event}}
+
+
+\membersection{wxFrameLayout::OnKillFocus}\label{wxframelayoutonkillfocus}
+
+\func{void}{OnKillFocus}{\param{wxFocusEvent\& }{event}}
+
+
+\membersection{wxFrameLayout::OnLButtonDown}\label{wxframelayoutonlbuttondown}
+
+\func{void}{OnLButtonDown}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxFrameLayout::OnLButtonUp}\label{wxframelayoutonlbuttonup}
+
+\func{void}{OnLButtonUp}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxFrameLayout::OnLDblClick}\label{wxframelayoutonldblclick}
+
+\func{void}{OnLDblClick}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxFrameLayout::OnMouseMove}\label{wxframelayoutonmousemove}
+
+\func{void}{OnMouseMove}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxFrameLayout::OnPaint}\label{wxframelayoutonpaint}
+
+\func{void}{OnPaint}{\param{wxPaintEvent\& }{event}}
+
+
+\membersection{wxFrameLayout::OnRButtonDown}\label{wxframelayoutonrbuttondown}
+
+\func{void}{OnRButtonDown}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxFrameLayout::OnRButtonUp}\label{wxframelayoutonrbuttonup}
+
+\func{void}{OnRButtonUp}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxFrameLayout::OnSetFocus}\label{wxframelayoutonsetfocus}
+
+\func{void}{OnSetFocus}{\param{wxFocusEvent\& }{event}}
+
+
+\membersection{wxFrameLayout::OnSize}\label{wxframelayoutonsize}
+
+\func{void}{OnSize}{\param{wxSizeEvent\& }{event}}
+
+event handlers
+
+
+\membersection{wxFrameLayout::PopAllPlugins}\label{wxframelayoutpopallplugins}
+
+\func{void}{PopAllPlugins}{\void}
+
+
+\membersection{wxFrameLayout::PopPlugin}\label{wxframelayoutpopplugin}
+
+\func{void}{PopPlugin}{\void}
+
+
+\membersection{wxFrameLayout::PositionClientWindow}\label{wxframelayoutpositionclientwindow}
+
+\func{void}{PositionClientWindow}{\void}
+
+called to set calculated layout to window objects
+
+
+\membersection{wxFrameLayout::PositionPanes}\label{wxframelayoutpositionpanes}
+
+\func{void}{PositionPanes}{\void}
+
+
+\membersection{wxFrameLayout::PushDefaultPlugins}\label{wxframelayoutpushdefaultplugins}
+
+\func{void}{PushDefaultPlugins}{\void}
+
+default plugins are : cbPaneDrawPlugin, cbRowLayoutPlugin, cbBarDragPlugin,
+cbAntiflickerPlugin, cbSimpleCustomizePlugin
+this method is automatically invoked, if no plugins were found upon
+fireing of the first plugin-event, i.e. wxFrameLayout *CONFIGURES* itself
+
+
+\membersection{wxFrameLayout::PushPlugin}\label{wxframelayoutpushplugin}
+
+\func{void}{PushPlugin}{\param{cbPluginBase* }{pPugin}}
+
+similar to wxWindow's "push/pop-event-handler" methods, execept
+that plugin is *deleted* upon "popping"
+
+
+\membersection{wxFrameLayout::RecalcLayout}\label{wxframelayoutrecalclayout}
+
+\func{void}{RecalcLayout}{\param{bool }{repositionBarsNow = FALSE}}
+
+recalcualtes layout of panes, and all bars/rows in each pane
+
+
+\membersection{wxFrameLayout::RedockBar}\label{wxframelayoutredockbar}
+
+\func{bool}{RedockBar}{\param{cbBarInfo* }{pBar}, \param{const wxRect\& }{shapeInParent}, \param{cbDockPane* }{pToPane = NULL}, \param{bool }{updateNow = TRUE}}
+
+can be used for repositioning already existing bars. The given bar is first removed
+from the pane it currently belongs to, and inserted into the pane, which "matches"
+the given recantular area. If pToPane is not NULL, bar is docked to this given pane
+to dock the bar which is floated, use wxFrameLayout::DockBar(..) method
+
+
+\membersection{wxFrameLayout::RefreshNow}\label{wxframelayoutrefreshnow}
+
+\func{void}{RefreshNow}{\param{bool }{recalcLayout = TRUE}}
+
+recalculates layoute and performs on-screen update of all panes
+
+
+\membersection{wxFrameLayout::ReleaseEventsFromPane}\label{wxframelayoutreleaseeventsfrompane}
+
+\func{void}{ReleaseEventsFromPane}{\param{cbDockPane* }{fromPane}}
+
+
+\membersection{wxFrameLayout::ReleaseEventsFromPlugin}\label{wxframelayoutreleaseeventsfromplugin}
+
+\func{void}{ReleaseEventsFromPlugin}{\param{cbPluginBase* }{pPlugin}}
+
+
+\membersection{wxFrameLayout::RemoveBar}\label{wxframelayoutremovebar}
+
+\func{void}{RemoveBar}{\param{cbBarInfo* }{pBar}}
+
+removes bar from layout permanently, hides it's corresponding window if present
+
+
+\membersection{wxFrameLayout::RemovePlugin}\label{wxframelayoutremoveplugin}
+
+\func{void}{RemovePlugin}{\param{wxClassInfo* }{pPlInfo}}
+
+checks if plugin of the given class is hooked, removes
+it if found
+@param pPlInfo class information structure for the plugin
+@note
+@see wxFrameLayout::Method
+
+
+\membersection{wxFrameLayout::ReparentWindow}\label{wxframelayoutreparentwindow}
+
+\func{void}{ReparentWindow}{\param{wxWindow* }{pChild}, \param{wxWindow* }{pNewParent}}
+
+
+\membersection{wxFrameLayout::RepositionFloatedBar}\label{wxframelayoutrepositionfloatedbar}
+
+\func{void}{RepositionFloatedBar}{\param{cbBarInfo* }{pBar}}
+
+
+\membersection{wxFrameLayout::RouteMouseEvent}\label{wxframelayoutroutemouseevent}
+
+\func{void}{RouteMouseEvent}{\param{wxMouseEvent\& }{event}, \param{int }{pluginEvtType}}
+
+
+\membersection{wxFrameLayout::SetBarState}\label{wxframelayoutsetbarstate}
+
+\func{void}{SetBarState}{\param{cbBarInfo* }{pBar}, \param{int }{newStatem}, \param{bool }{updateNow}}
+
+changes bar's docking state (see possible control bar states)
+
+
+\membersection{wxFrameLayout::SetFrameClient}\label{wxframelayoutsetframeclient}
+
+\func{void}{SetFrameClient}{\param{wxWindow* }{pFrameClient}}
+
+passes the client window (e.g. MDI-client frame) to be controled by
+frame layout, the size and position of which should be adjusted to be
+surrounded by controlbar panes, whenever frame is resized, or dimensions
+of control panes change
+
+
+\membersection{wxFrameLayout::SetMargins}\label{wxframelayoutsetmargins}
+
+\func{void}{SetMargins}{\param{int }{top}, \param{int }{bottom}, \param{int }{left}, \param{int }{right}, \param{int }{paneMask = wxALL\_PANES}}
+
+TODO:: margins should go into cbCommonPaneProperties in the future
+NOTE:: this method should be called before any custom plugins are attached
+
+
+\membersection{wxFrameLayout::SetPaneBackground}\label{wxframelayoutsetpanebackground}
+
+\func{void}{SetPaneBackground}{\param{const wxColour\& }{colour}}
+
+
+\membersection{wxFrameLayout::SetPaneProperties}\label{wxframelayoutsetpaneproperties}
+
+\func{void}{SetPaneProperties}{\param{const cbCommonPaneProperties\& }{props}, \param{int }{paneMask = wxALL\_PANES}}
+
+
+\membersection{wxFrameLayout::SetTopPlugin}\label{wxframelayoutsettopplugin}
+
+\func{void}{SetTopPlugin}{\param{cbPluginBase* }{pPlugin}}
+
+hooking custom plugins to frame layout
+NOTE:: when hooking one plugin on top of the other -
+use SetNextHandler(..) or similar methods
+of wxEvtHandler class to compose the chain of plugins,
+than pass the left-most handler in this chain to
+the above methods (assuming that events are delegated
+from left-most towards right-most handler)
+NOTE2:: this secenario is very inconvenient and "low-level",
+use Add/Push/PopPlugin methods instead
+
+
+\membersection{wxFrameLayout::SetUpdatesManager}\label{wxframelayoutsetupdatesmanager}
+
+\func{void}{SetUpdatesManager}{\param{cbUpdatesManagerBase* }{pUMgr}}
+
+destroys the previous manager if any, set the new one
+
+
+\membersection{wxFrameLayout::ShowFloatedWindows}\label{wxframelayoutshowfloatedwindows}
+
+\func{void}{ShowFloatedWindows}{\param{bool }{show}}
+
+
+\membersection{wxFrameLayout::UnhookFromFrame}\label{wxframelayoutunhookfromframe}
+
+\func{void}{UnhookFromFrame}{\void}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% frmview.h at 05/Jan/02 22:50:57
+%
+
+
+\section{\class{wxFrameManager}}\label{wxframemanager}
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxFrameManager::wxFrameManager}\label{wxframemanagerwxframemanager}
+
+\func{}{wxFrameManager}{\void}
+
+
+\membersection{wxFrameManager::\destruct{wxFrameManager}}\label{wxframemanagerdtor}
+
+\func{}{\destruct{wxFrameManager}}{\void}
+
+
+\membersection{wxFrameManager::ActivateView}\label{wxframemanageractivateview}
+
+\func{void}{ActivateView}{\param{wxFrameView* }{pFrmView}}
+
+
+\func{void}{ActivateView}{\param{int }{viewNo}}
+
+
+\membersection{wxFrameManager::AddView}\label{wxframemanageraddview}
+
+\func{void}{AddView}{\param{wxFrameView* }{pFrmView}}
+
+
+\membersection{wxFrameManager::DeactivateCurrentView}\label{wxframemanagerdeactivatecurrentview}
+
+\func{void}{DeactivateCurrentView}{\void}
+
+
+\membersection{wxFrameManager::DestroyViews}\label{wxframemanagerdestroyviews}
+
+\func{void}{DestroyViews}{\void}
+
+
+\membersection{wxFrameManager::DoSerialize}\label{wxframemanagerdoserialize}
+
+\func{void}{DoSerialize}{\param{wxObjectStorage\& }{store}}
+
+
+\membersection{wxFrameManager::EnableMenusForView}\label{wxframemanagerenablemenusforview}
+
+\func{void}{EnableMenusForView}{\param{wxFrameView* }{pView}, \param{bool }{enable}}
+
+
+\membersection{wxFrameManager::GetActiveView}\label{wxframemanagergetactiveview}
+
+\func{wxFrameView*}{GetActiveView}{\void}
+
+
+\membersection{wxFrameManager::GetActiveViewNo}\label{wxframemanagergetactiveviewno}
+
+\func{int}{GetActiveViewNo}{\void}
+
+
+\membersection{wxFrameManager::GetActiveViewNode}\label{wxframemanagergetactiveviewnode}
+
+\func{wxNode*}{GetActiveViewNode}{\void}
+
+
+\membersection{wxFrameManager::GetClientWindow}\label{wxframemanagergetclientwindow}
+
+\func{wxWindow*}{GetClientWindow}{\void}
+
+
+\membersection{wxFrameManager::GetObjectStore}\label{wxframemanagergetobjectstore}
+
+\func{wxObjectStorage\&}{GetObjectStore}{\void}
+
+
+\membersection{wxFrameManager::GetParentFrame}\label{wxframemanagergetparentframe}
+
+\func{wxFrame*}{GetParentFrame}{\void}
+
+synonyms
+
+
+\membersection{wxFrameManager::GetParentWindow}\label{wxframemanagergetparentwindow}
+
+\func{wxWindow*}{GetParentWindow}{\void}
+
+
+\membersection{wxFrameManager::GetView}\label{wxframemanagergetview}
+
+\func{wxFrameView*}{GetView}{\param{int }{viewNo}}
+
+
+\membersection{wxFrameManager::GetViewNo}\label{wxframemanagergetviewno}
+
+\func{int}{GetViewNo}{\param{wxFrameView* }{pView}}
+
+
+\membersection{wxFrameManager::Init}\label{wxframemanagerinit}
+
+\func{void}{Init}{\param{wxWindow* }{pMainFrame}, \param{const wxString\& }{settingsFile = ""}}
+
+if file name is empty, views are are not saved/loaded
+
+
+\membersection{wxFrameManager::ReloadViews}\label{wxframemanagerreloadviews}
+
+\func{bool}{ReloadViews}{\void}
+
+
+\membersection{wxFrameManager::RemoveView}\label{wxframemanagerremoveview}
+
+\func{void}{RemoveView}{\param{wxFrameView* }{pFrmView}}
+
+
+\membersection{wxFrameManager::SaveViewsNow}\label{wxframemanagersaveviewsnow}
+
+\func{void}{SaveViewsNow}{\void}
+
+
+\membersection{wxFrameManager::SetClinetWindow}\label{wxframemanagersetclinetwindow}
+
+\func{void}{SetClinetWindow}{\param{wxWindow* }{pFrameClient}}
+
+
+\membersection{wxFrameManager::SyncAllMenus}\label{wxframemanagersyncallmenus}
+
+\func{void}{SyncAllMenus}{\void}
+
+
+\membersection{wxFrameManager::ViewsAreLoaded}\label{wxframemanagerviewsareloaded}
+
+\func{bool}{ViewsAreLoaded}{\void}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% frmview.h at 05/Jan/02 22:50:57
+%
+
+
+\section{\class{wxFrameView}}\label{wxframeview}
+
+\wxheading{Derived from}
+
+\helpref{wxEvtHandler}{wxevthandler}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxFrameView::wxFrameView}\label{wxframeviewwxframeview}
+
+\func{}{wxFrameView}{\void}
+
+
+\membersection{wxFrameView::\destruct{wxFrameView}}\label{wxframeviewdtor}
+
+\func{}{\destruct{wxFrameView}}{\void}
+
+
+\membersection{wxFrameView::Activate}\label{wxframeviewactivate}
+
+\func{void}{Activate}{\void}
+
+
+\membersection{wxFrameView::CreateLayout}\label{wxframeviewcreatelayout}
+
+\func{void}{CreateLayout}{\void}
+
+
+\membersection{wxFrameView::Deactivate}\label{wxframeviewdeactivate}
+
+\func{void}{Deactivate}{\void}
+
+
+\membersection{wxFrameView::GetClientWindow}\label{wxframeviewgetclientwindow}
+
+\func{wxWindow*}{GetClientWindow}{\void}
+
+
+\membersection{wxFrameView::GetFrameManager}\label{wxframeviewgetframemanager}
+
+\func{wxFrameManager\&}{GetFrameManager}{\void}
+
+
+\membersection{wxFrameView::GetLayout}\label{wxframeviewgetlayout}
+
+\func{wxFrameLayout*}{GetLayout}{\void}
+
+
+\membersection{wxFrameView::GetParentFrame}\label{wxframeviewgetparentframe}
+
+\func{wxFrame*}{GetParentFrame}{\void}
+
+
+\membersection{wxFrameView::OnActiveate}\label{wxframeviewonactiveate}
+
+\func{void}{OnActiveate}{\void}
+
+
+\membersection{wxFrameView::OnDeactivate}\label{wxframeviewondeactivate}
+
+\func{void}{OnDeactivate}{\void}
+
+
+\membersection{wxFrameView::OnIdle}\label{wxframeviewonidle}
+
+\func{void}{OnIdle}{\param{wxIdleEvent\& }{event}}
+
+
+\membersection{wxFrameView::OnInit}\label{wxframeviewoninit}
+
+\func{void}{OnInit}{\void}
+
+hooks for specific frame-views
+
+
+\membersection{wxFrameView::OnInitMenus}\label{wxframeviewoninitmenus}
+
+\func{void}{OnInitMenus}{\void}
+
+
+\membersection{wxFrameView::OnRecreate}\label{wxframeviewonrecreate}
+
+\func{void}{OnRecreate}{\void}
+
+imp. is mandatory
+
+
+\membersection{wxFrameView::OnSerialize}\label{wxframeviewonserialize}
+
+\func{void}{OnSerialize}{\param{wxObjectStorage\& }{store}}
+
+
+\membersection{wxFrameView::RegisterMenu}\label{wxframeviewregistermenu}
+
+\func{void}{RegisterMenu}{\param{const wxString\& }{topMenuName}}
+
+
+\membersection{wxFrameView::SetLayout}\label{wxframeviewsetlayout}
+
+\func{void}{SetLayout}{\param{wxFrameLayout* }{pLayout}}
+
+
+\membersection{wxFrameView::SetToolUpdates}\label{wxframeviewsettoolupdates}
+
+\func{void}{SetToolUpdates}{\param{bool }{doToolUpdates = TRUE}}
+
--- /dev/null
+\chapter{Functions}\label{functions}
+\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}
+
+The functions and macros defined in FL are described here.
+
+\section{Version macros}\label{versionfunctions}
+
+The following constants are defined in wxWindows:
+
+\begin{itemize}\itemsep=0pt
+\item {\tt wxMAJOR\_VERSION} is the major version of wxWindows
+\item {\tt wxMINOR\_VERSION} is the minor version of wxWindows
+\item {\tt wxRELEASE\_NUMBER} is the release number
+\end{itemize}
+
+For example, the values or these constants for wxWindows 2.1.15 are 2, 1 and
+15.
+
+Additionally, {\tt wxVERSION\_STRING} is a user-readable string containing
+the full wxWindows version and {\tt wxVERSION\_NUMBER} is a combination of the
+three version numbers above: for 2.1.15, it is 2115 and it is 2200 for
+wxWindows 2.2.
+
+\section{Initialisation functions}\label{initfunctions}
+
+\wxheading{Include files}
+
+<wx/pmf/pmf.h>
+
+\wxheading{See also}
+
+Todo
+
+\membersection{::Function1}\label{function1}
+
+\func{void}{Function1}{\void}
+
+Explanation.
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% garbagec.h at 05/Jan/02 22:50:57
+%
+
+
+\section{\class{GarbageCollector}}\label{garbagecollector}
+
+
+class implements extremely slow, but probably one of the most simple GC algorithms
+
+\wxheading{Derived from}
+
+No base class
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{GarbageCollector::GarbageCollector}\label{garbagecollectorgarbagecollector}
+
+\func{}{GarbageCollector}{\void}
+
+
+\membersection{GarbageCollector::\destruct{GarbageCollector}}\label{garbagecollectordtor}
+
+\func{}{\destruct{GarbageCollector}}{\void}
+
+
+\membersection{GarbageCollector::AddDependency}\label{garbagecollectoradddependency}
+
+\func{void}{AddDependency}{\param{void* }{pObj}, \param{void* }{pDependsOnObj}}
+
+
+\membersection{GarbageCollector::AddObject}\label{garbagecollectoraddobject}
+
+\func{void}{AddObject}{\param{void* }{pObj}, \param{int }{refCnt = 1}}
+
+prepare data for GC alg.
+
+
+\membersection{GarbageCollector::ArrangeCollection}\label{garbagecollectorarrangecollection}
+
+\func{void}{ArrangeCollection}{\void}
+
+executes GC alg.
+
+
+\membersection{GarbageCollector::DestroyItemList}\label{garbagecollectordestroyitemlist}
+
+\func{void}{DestroyItemList}{\param{wxList\& }{lst}}
+
+
+\membersection{GarbageCollector::FindItemNode}\label{garbagecollectorfinditemnode}
+
+\func{wxNode*}{FindItemNode}{\param{void* }{pForObj}}
+
+
+\membersection{GarbageCollector::FindReferenceFreeItemNode}\label{garbagecollectorfindreferencefreeitemnode}
+
+\func{wxNode*}{FindReferenceFreeItemNode}{\void}
+
+
+\membersection{GarbageCollector::GetCycledObjects}\label{garbagecollectorgetcycledobjects}
+
+\func{wxList\&}{GetCycledObjects}{\void}
+
+
+\membersection{GarbageCollector::GetRegularObjects}\label{garbagecollectorgetregularobjects}
+
+\func{wxList\&}{GetRegularObjects}{\void}
+
+access results of the alg.
+
+
+\membersection{GarbageCollector::RemoveReferencesToNode}\label{garbagecollectorremovereferencestonode}
+
+\func{void}{RemoveReferencesToNode}{\param{wxNode* }{pItemNode}}
+
+
+\membersection{GarbageCollector::Reset}\label{garbagecollectorreset}
+
+\func{void}{Reset}{\void}
+
+removes all data from GC
+
+
+\membersection{GarbageCollector::ResolveReferences}\label{garbagecollectorresolvereferences}
+
+\func{void}{ResolveReferences}{\void}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% garbagec.h at 05/Jan/02 22:50:57
+%
+
+
+\section{\class{GCItem}}\label{gcitem}
+
+\wxheading{Derived from}
+
+No base class
+
+\wxheading{Data structures}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% dyntbar.h at 05/Jan/02 22:50:56
+%
+
+
+\section{\class{LayoutManagerBase}}\label{layoutmanagerbase}
+
+
+base class for layouting algorithm implementations
+
+\wxheading{Derived from}
+
+No base class
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{LayoutManagerBase::\destruct{LayoutManagerBase}}\label{layoutmanagerbasedtor}
+
+\func{}{\destruct{LayoutManagerBase}}{\void}
+
+
+\membersection{LayoutManagerBase::Layout}\label{layoutmanagerbaselayout}
+
+\func{void}{Layout}{\param{const wxSize\& }{parentDim}, \param{wxSize\& }{resultingDim}, \param{wxLayoutItemArrayT\& }{items}, \param{int }{horizGap}, \param{int }{vertGap}}
+
--- /dev/null
+\documentstyle[a4,11pt,makeidx,verbatim,texhelp,fancyheadings,palatino]{report}
+% JACS: doesn't make it through Tex2RTF, sorry. I will put it into texhelp.sty
+% since Tex2RTF doesn't parse it.
+% BTW, style MUST be report for it to work for Tex2RTF.
+%KB:
+%\addtolength{\textwidth}{1in}
+%\addtolength{\oddsidemargin}{-0.5in}
+%\addtolength{\topmargin}{-0.5in}
+%\addtolength{\textheight}{1in}
+%\sloppy
+%end of my changes
+\newcommand{\indexit}[1]{#1\index{#1}}%
+\newcommand{\pipe}[0]{$\|$\ }%
+\definecolour{black}{0}{0}{0}%
+\definecolour{cyan}{0}{255}{255}%
+\definecolour{green}{0}{255}{0}%
+\definecolour{magenta}{255}{0}{255}%
+\definecolour{red}{255}{0}{0}%
+\definecolour{blue}{0}{0}{200}%
+\definecolour{yellow}{255}{255}{0}%
+\definecolour{white}{255}{255}{255}%
+%
+\input psbox.tex
+% Remove this for processing with dvi2ps instead of dvips
+%\special{!/@scaleunit 1 def}
+\parskip=10pt
+\parindent=0pt
+\title{FL: a Frame Layout Framework}
+\author{by Aleksandras Gluchovas}
+\date{January 2nd 2002}
+
+\makeindex
+\begin{document}
+\maketitle
+\pagestyle{fancyplain}
+\bibliographystyle{plain}
+\setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+\pagenumbering{roman}
+\tableofcontents
+
+\chapter{Copyright notice}
+\setheader{{\it COPYRIGHT}}{}{}{}{}{{\it COPYRIGHT}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+FL is copyright Aleksandras Gluchovas, 2001-2002.
+
+The licence is the wxWindows Licence.
+
+\input{body.tex}
+\input{classes.tex}
+\input{category.tex}
+\input{topics.tex}
+
+\bibliography{refs}
+\addcontentsline{toc}{chapter}{Bibliography}
+\setheader{{\it REFERENCES}}{}{}{}{}{{\it REFERENCES}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+\newpage
+% Note: In RTF, the \printindex must come before the
+% change of header/footer, since the \printindex inserts
+% the RTF \sect command which divides one chapter from
+% the next.
+\rtfonly{\printindex
+\addcontentsline{toc}{chapter}{Index}
+\setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}
+}
+% In Latex, it must be this way around (I think)
+\latexonly{\addcontentsline{toc}{chapter}{Index}
+\setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}
+\printindex
+}
+
+\end{document}
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% hintanimpl.h at 05/Jan/02 22:50:57
+%
+
+
+\section{\class{MorphInfoT}}\label{morphinfot}
+
+
+helper classes
+
+\wxheading{Derived from}
+
+No base class
+
+\wxheading{Data structures}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% newbmpbtn.h at 05/Jan/02 22:50:57
+%
+
+
+\section{\class{wxNewBitmapButton}}\label{wxnewbitmapbutton}
+
+
+alternative class for wxBmpButton
+
+\wxheading{Derived from}
+
+\helpref{wxPanel}{wxpanel}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxNewBitmapButton::wxNewBitmapButton}\label{wxnewbitmapbuttonwxnewbitmapbutton}
+
+\func{}{wxNewBitmapButton}{\param{const wxBitmap\& }{labelBitmap = wxNullBitmap}, \param{const wxString\& }{labelText = ""}, \param{int }{alignText = NB\_ALIGN\_TEXT\_BOTTOM}, \param{bool }{isFlat = TRUE}, \param{int }{firedEventType = wxEVT\_COMMAND\_MENU\_SELECTED}, \param{int }{marginX = 2}, \param{int }{marginY = 2}, \param{int }{textToLabelGap = 2}, \param{bool }{isSticky = FALSE}}
+
+
+\func{}{wxNewBitmapButton}{\param{const wxString\& }{bitmapFileName}, \param{const wxBitmapType }{bitmapFileType = wxBITMAP\_TYPE\_BMP}, \param{const wxString\& }{labelText = ""}, \param{int }{alignText = NB\_ALIGN\_TEXT\_BOTTOM}, \param{bool }{isFlat = TRUE}, \param{int }{firedEventType = wxEVT\_COMMAND\_MENU\_SELECTED}, \param{int }{marginX = 2}, \param{int }{marginY = 2}, \param{int }{textToLabelGap = 2}, \param{bool }{isSticky = FALSE}}
+
+use this constructor if buttons have to be persistant
+
+
+\membersection{wxNewBitmapButton::\destruct{wxNewBitmapButton}}\label{wxnewbitmapbuttondtor}
+
+\func{}{\destruct{wxNewBitmapButton}}{\void}
+
+
+\membersection{wxNewBitmapButton::DestroyLabels}\label{wxnewbitmapbuttondestroylabels}
+
+\func{void}{DestroyLabels}{\void}
+
+
+\membersection{wxNewBitmapButton::DrawDecorations}\label{wxnewbitmapbuttondrawdecorations}
+
+\func{void}{DrawDecorations}{\param{wxDC\& }{dc}}
+
+
+\membersection{wxNewBitmapButton::DrawLabel}\label{wxnewbitmapbuttondrawlabel}
+
+\func{void}{DrawLabel}{\param{wxDC\& }{dc}}
+
+
+\membersection{wxNewBitmapButton::DrawShade}\label{wxnewbitmapbuttondrawshade}
+
+\func{void}{DrawShade}{\param{int }{outerLevel}, \param{wxDC\& }{dc}, \param{wxPen\& }{upperLeftSidePen}, \param{wxPen\& }{lowerRightSidePen}}
+
+
+\membersection{wxNewBitmapButton::GetStateLabel}\label{wxnewbitmapbuttongetstatelabel}
+
+\func{wxBitmap*}{GetStateLabel}{\void}
+
+returns the label which match the current button state
+
+
+\membersection{wxNewBitmapButton::IsInWindow}\label{wxnewbitmapbuttonisinwindow}
+
+\func{bool}{IsInWindow}{\param{int }{x}, \param{int }{y}}
+
+
+\membersection{wxNewBitmapButton::OnEraseBackground}\label{wxnewbitmapbuttononerasebackground}
+
+\func{void}{OnEraseBackground}{\param{wxEraseEvent\& }{event}}
+
+
+\membersection{wxNewBitmapButton::OnKillFocus}\label{wxnewbitmapbuttononkillfocus}
+
+\func{void}{OnKillFocus}{\param{wxFocusEvent\& }{event}}
+
+
+\membersection{wxNewBitmapButton::OnLButtonDown}\label{wxnewbitmapbuttononlbuttondown}
+
+\func{void}{OnLButtonDown}{\param{wxMouseEvent\& }{event}}
+
+event handlers
+
+
+\membersection{wxNewBitmapButton::OnLButtonUp}\label{wxnewbitmapbuttononlbuttonup}
+
+\func{void}{OnLButtonUp}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxNewBitmapButton::OnMouseMove}\label{wxnewbitmapbuttononmousemove}
+
+\func{void}{OnMouseMove}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxNewBitmapButton::OnPaint}\label{wxnewbitmapbuttononpaint}
+
+\func{void}{OnPaint}{\param{wxPaintEvent\& }{event}}
+
+
+\membersection{wxNewBitmapButton::OnSize}\label{wxnewbitmapbuttononsize}
+
+\func{void}{OnSize}{\param{wxSizeEvent\& }{event}}
+
+
+\membersection{wxNewBitmapButton::RenderAllLabelImages}\label{wxnewbitmapbuttonrenderalllabelimages}
+
+\func{void}{RenderAllLabelImages}{\void}
+
+
+\membersection{wxNewBitmapButton::RenderLabelImage}\label{wxnewbitmapbuttonrenderlabelimage}
+
+\func{void}{RenderLabelImage}{\param{wxBitmap*\& }{destBmp}, \param{wxBitmap* }{srcBmp}, \param{bool }{isEnabled = TRUE}, \param{bool }{isPressed = FALSE}}
+
+
+\membersection{wxNewBitmapButton::RenderLabelImages}\label{wxnewbitmapbuttonrenderlabelimages}
+
+\func{void}{RenderLabelImages}{\void}
+
+
+\membersection{wxNewBitmapButton::Reshape}\label{wxnewbitmapbuttonreshape}
+
+\func{void}{Reshape}{\void}
+
+should be called after Create();
+
+
+\membersection{wxNewBitmapButton::SetAlignments}\label{wxnewbitmapbuttonsetalignments}
+
+\func{void}{SetAlignments}{\param{int }{alignText = NB\_ALIGN\_TEXT\_BOTTOM}, \param{int }{marginX = 2}, \param{int }{marginY = 2}, \param{int }{textToLabelGap = 2}}
+
+
+\membersection{wxNewBitmapButton::SetLabel}\label{wxnewbitmapbuttonsetlabel}
+
+\func{void}{SetLabel}{\param{const wxBitmap\& }{labelBitmap}, \param{const wxString\& }{labelText = ""}}
+
+overridables
+
--- /dev/null
+Generating the FL Reference Manual
+===================================
+
+Like the wxWindows manual, the FL manual uses Tex2RTF to
+generate HTML, MS HTML Help, wxHTML Help, WinHelp, RTF, and PDF
+formats.
+
+VC++ users can use makefile.vc in this directory, e.g.:
+
+ nmake -f makefile.vc docs ; Create directories and
+ ; all formats
+
+or
+
+ nmake -f makefile.vc dirs html ; Create directories, then
+ ; HTML files
+
+The targets that the makefile supports are:
+
+html ; HTML
+htb ; wxHTML Help: the HTML files + hhp, hhc files,
+ ; archived in a fl.htb (zip format) file
+htmlhelp ; MS HTML Help: the HTML files + hhp, hhc files
+ ; then processed with hhc to produce fl.chm
+winhelp ; WinHelp format: Tex2RTF produces RTF and CNT
+ ; files, then the makefile invokes hc.exe to produce
+ ; the fl.hlp file
+rtf: ; WinHelp RTF (intermediate stage for winhelp)
+pdfrtf ; Makes an RTF file suitable for loading into
+ ; MS Word and generating a PDF via Adobe Acrobat
+
+If you wish to run Tex2RTF directly, you can do e.g.
+
+ tex2rtf $(DOCDIR)\latex\FL\manual.tex $(DOCDIR)\html\FL\fl.htm -twice -html
+
+For more information on using Tex2RTF, please see:
+
+ docs/tech/tn0003.txt: Adding wxWindows class documentation
+
+in the wxWindows hierarchy, and also utils/tex2rtf. The Tex2RTF
+manual is supplied with wxWindows documentation, in (for example)
+docs/html/tex2rtf/t2rtf.htm or docs/htmlhelp/tex2rtf.chm.
+
+You can configure the way Tex2RTF works with tex2rtf.ini in
+docs/latex/fl.
+
+Generating HTML format
+======================
+
+To generate HTML documentation, you need to use the -html
+argument to Tex2RTF. A whole directory of files will be
+generated.
+
+Generating MS HTML Help format
+==============================
+
+To generate MS HTML Help documentation, you need to generate
+the HTML files as above and then run
+
+ hhc fl.hhp
+
+You'll need the MS HTML Help compiler, obtainable from Microsoft
+or bundled with your C++ compiler.
+
+Generating wxHTML Help format
+=============================
+
+To generate wxHTML Help documentation, you need to generate
+the HTML files as above and then archive the HTML, image,
+hhc, hhp and optionally hhk files into fl.htb.
+
+The helpview program can be used to view fl.htb
+on supported platforms. Get it from the wxWindows web site
+or compile it with samples/html/helpview in the wxWindows
+distribution.
+
+Generating WinHelp format
+=========================
+
+To generate Windows Help documentation, you need to generate
+the RTF file and contents file (.cnt) using --winhelp and
+then run hc.exe to produce the .hlp file
+
+Generating PDF format
+=====================
+
+Run Tex2RTF with the -rtf argument, load the RTF into MS Word,
+select the whole document, press F9, then apply wordstyle.dot
+found in distrib/msw in the wxWindows distribution.
+Then generate the PDF using Adobe Acrobat PDFWriter.
+
+Note that for the contents to be formatted correctly,
+each class section should end with a blank line. Otherwise
+the contents will have bits of the reference in it.
+
+Generating .tex files from .h files
+===================================
+
+Much of the class reference is generated from the headers.
+The intention is to comment the headers more thoroughly, then
+regenerate the .tex files, before working directly on the
+.tex files.
+
+To regenerate .tex files, you'll need the HelpGen utility from
+latest wxWindows CVS, in utils/helpgen/src. Compile wxBase,
+then HelpGen. Run helpgen with e.g.
+
+ helpgen dump file.h
+
+and a separate .tex file for each class will appear in the
+current directory.
+
+--
+Julian Smart, January 3rd 2002
+julian.smart@btopenworld.com
+
--- /dev/null
+@techreport{robins87,
+author = {Robins, Gabriel},
+title = {The {ISI} grapher: a portable tool for displaying graphs pictorially (ISI/RS-87-196)},
+institution = {University of South California},
+year = {1987},
+month = {September}
+}
+@book{helpbook,
+author = {Boggan, Scott and Fakas, David and Welinske, Joe}
+, title = {Developing on-line help for {W}indows}
+, publisher = {Sams Publishing}
+, address = {11711 North College, Carmel, Indiana 46032, USA}
+, year = {1993}
+}
+@book{wong93,
+author = {Wong, William}
+, title = {Plug and play programming}
+, publisher = {M and T Books}
+, address = {115 West 18th Street, New York, New York 10011}
+, year = {1993}
+}
+@book{pree94,
+author = {Pree, Wolfgang}
+, title = {Design patterns for object-oriented software development}
+, publisher = {Addison-Wesley}
+, address = {Reading, MA}
+, year = {1994}
+}
+@book{gamma95,
+author = {Gamma, Erich and Helm, Richard and Johnson, Ralph and Vlissides, John}
+, title = {Design patterns: elements of reusable object-oriented software}
+, publisher = {Addison-Wesley}
+, address = {Reading, MA}
+, year = {1994}
+}
+@book{kopka,
+author = {Kopka, Helmut and Daly, Patrick W.}
+, title = {A Guide to LaTeX}
+, publisher = {Addison-Wesley}
+, year = {1993}
+}
+@manual{smart95a,
+author = {Smart, Julian}
+, title = {wxCLIPS User Manual}
+, publisher = {Artificial Intelligence Applications Institute}
+, organization = {University of Edinburgh}
+, address = {80 South Bridge, Edinburgh, EH1 1HN}
+, year = {1995}
+}
+
+@manual{smart95b,
+author = {Smart, Julian}
+, title = {Tex2RTF User Manual}
+, publisher = {Artificial Intelligence Applications Institute}
+, organization = {University of Edinburgh}
+, address = {80 South Bridge, Edinburgh, EH1 1HN}
+, year = {1995}
+}
+
--- /dev/null
+;;; Tex2RTF initialisation file
+runTwice = yes
+titleFontSize = 12
+authorFontSize = 10
+authorFontSize = 10
+chapterFontSize = 12
+sectionFontSize = 12
+subsectionFontSize = 12
+contentsDepth = 2
+headerRule = yes
+footerRule = yes
+useHeadingStyles = yes
+listItemIndent=40
+generateHPJ = yes
+htmlBrowseButtons = bitmap
+winHelpContents = yes
+winHelpVersion = 3 ; 3 for Windows 3.x, 4 for Windows 95
+winHelpTitle = "FL Manual"
+truncateFilenames = yes
+combineSubSections = yes
+; A new option to allow references to wxWindows classes to be displayed as if
+; without the \helpref command.
+ignoreBadRefs = yes
+; Finally, a way to specify face names
+htmlFaceName = "Arial, Lucida, Helvetica"
+;;
+;; These two are for generating MS HTML Help project, contents and index files.
+;;
+htmlWorkshopFiles = true
+htmlIndex = true
+
+;\overview [2] {\rtfonly{See also }\settransparency{on}\sethotspotcolour{off}\sethotspotunderline{on}\winhelponly{\image{}{books.bmp}\settransparency{off}}
+;\htmlonly{\image{}{books.gif}}\helpref{#1}{#2}
+;\sethotspotcolour{on}\sethotspotunderline{on}}
+\overview [2] {\helpref{#1}{#2}}
+\docparam [2]{\parskip{0}{\it #1}\htmlignore{\par}\parskip{10}\indented{1cm}{#2}}
+%\wxheading [1]{{\bf \fcol{blue}{#1}}}
+\wxheading [1]{{\bf #1}}
+\const [0] {{\bf const}}
+\constfunc [3] {{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
+\windowstyle [1] {{\bf #1}\index{#1}}
+\bftt [1] {\bf{\tt{#1}}}
+\pythonnote [1] {{\bf \fcol{blue}{wxPython note:}} #1}
+%\pythonnote [1] {}
+\perlnote [1] {{\bf \fcol{blue}{wxPerl note:}} #1}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% dyntbar.h at 05/Jan/02 22:50:56
+%
+
+
+\section{\class{wxToolLayoutItem}}\label{wxtoollayoutitem}
+
+
+layout item
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Data structures}
+
+{\small \begin{verbatim}
+typedef wxToolLayoutItem* wxToolLayoutItemPtrT
+\end{verbatim}}
+
+{\small \begin{verbatim}
+typedef wxDynToolInfo* wxDynToolInfoPtrT
+\end{verbatim}}
+
--- /dev/null
+%
+% automatically generated by HelpGen $Revision$ from
+% toolwnd.h at 05/Jan/02 22:50:58
+%
+
+
+\section{\class{wxToolWindow}}\label{wxtoolwindow}
+
+\wxheading{Derived from}
+
+\helpref{wxFrame}{wxframe}
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxToolWindow::wxToolWindow}\label{wxtoolwindowwxtoolwindow}
+
+\func{}{wxToolWindow}{\void}
+
+
+\membersection{wxToolWindow::\destruct{wxToolWindow}}\label{wxtoolwindowdtor}
+
+\func{}{\destruct{wxToolWindow}}{\void}
+
+
+\membersection{wxToolWindow::AddMiniButton}\label{wxtoolwindowaddminibutton}
+
+\func{void}{AddMiniButton}{\param{cbMiniButton* }{pBtn}}
+
+buttons are added in right-to-left order
+
+
+\membersection{wxToolWindow::AdjustRectPos}\label{wxtoolwindowadjustrectpos}
+
+\func{void}{AdjustRectPos}{\param{const wxRect\& }{original}, \param{const wxSize\& }{newDim}, \param{wxRect\& }{newRect}}
+
+
+\membersection{wxToolWindow::CalcResizedRect}\label{wxtoolwindowcalcresizedrect}
+
+\func{void}{CalcResizedRect}{\param{wxRect\& }{rect}, \param{wxPoint\& }{delta}, \param{const wxSize\& }{minDim}}
+
+
+\membersection{wxToolWindow::DrawHintRect}\label{wxtoolwindowdrawhintrect}
+
+\func{void}{DrawHintRect}{\param{const wxRect\& }{r}}
+
+
+\membersection{wxToolWindow::GetClient}\label{wxtoolwindowgetclient}
+
+\func{wxWindow*}{GetClient}{\void}
+
+
+\membersection{wxToolWindow::GetMinimalWndDim}\label{wxtoolwindowgetminimalwnddim}
+
+\func{wxSize}{GetMinimalWndDim}{\void}
+
+
+\membersection{wxToolWindow::GetPreferredSize}\label{wxtoolwindowgetpreferredsize}
+
+\func{wxSize}{GetPreferredSize}{\param{const wxSize\& }{given}}
+
+overridables:
+
+
+\membersection{wxToolWindow::GetScrMousePos}\label{wxtoolwindowgetscrmousepos}
+
+\func{void}{GetScrMousePos}{\param{wxMouseEvent\& }{event}, \param{wxPoint\& }{pos}}
+
+
+\membersection{wxToolWindow::GetScrWindowRect}\label{wxtoolwindowgetscrwindowrect}
+
+\func{void}{GetScrWindowRect}{\param{wxRect\& }{r}}
+
+
+\membersection{wxToolWindow::HandleTitleClick}\label{wxtoolwindowhandletitleclick}
+
+\func{bool}{HandleTitleClick}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxToolWindow::HitTestWindow}\label{wxtoolwindowhittestwindow}
+
+\func{int}{HitTestWindow}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxToolWindow::LayoutMiniButtons}\label{wxtoolwindowlayoutminibuttons}
+
+\func{void}{LayoutMiniButtons}{\void}
+
+
+\membersection{wxToolWindow::OnEraseBackground}\label{wxtoolwindowonerasebackground}
+
+\func{void}{OnEraseBackground}{\param{wxEraseEvent\& }{event}}
+
+
+\membersection{wxToolWindow::OnLeftDown}\label{wxtoolwindowonleftdown}
+
+\func{void}{OnLeftDown}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxToolWindow::OnLeftUp}\label{wxtoolwindowonleftup}
+
+\func{void}{OnLeftUp}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxToolWindow::OnMiniButtonClicked}\label{wxtoolwindowonminibuttonclicked}
+
+\func{void}{OnMiniButtonClicked}{\param{int }{btnIdx}}
+
+
+\membersection{wxToolWindow::OnMotion}\label{wxtoolwindowonmotion}
+
+\func{void}{OnMotion}{\param{wxMouseEvent\& }{event}}
+
+
+\membersection{wxToolWindow::OnPaint}\label{wxtoolwindowonpaint}
+
+\func{void}{OnPaint}{\param{wxPaintEvent\& }{event}}
+
+
+\membersection{wxToolWindow::OnSize}\label{wxtoolwindowonsize}
+
+\func{void}{OnSize}{\param{wxSizeEvent\& }{event}}
+
+
+\membersection{wxToolWindow::SetClient}\label{wxtoolwindowsetclient}
+
+\func{void}{SetClient}{\param{wxWindow* }{pWnd}}
+
+
+\membersection{wxToolWindow::SetHintCursor}\label{wxtoolwindowsethintcursor}
+
+\func{void}{SetHintCursor}{\param{int }{type}}
+
+
+\membersection{wxToolWindow::SetTitleFont}\label{wxtoolwindowsettitlefont}
+
+\func{void}{SetTitleFont}{\param{wxFont\& }{font}}
+
--- /dev/null
+\chapter{Topic overviews}\label{overviews}
+\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
+\setfooter{\thepage}{}{}{}{}{\thepage}%
+
+This chapter contains a selection of topic overviews, first things first:
+
+\input tusage.tex
+
--- /dev/null
+\section{Notes on using the reference}\label{referencenotes}
+
+In the descriptions of the wxWindows classes and their member
+functions, note that descriptions of inherited member functions are not
+duplicated in derived classes unless their behaviour is different. So in
+using a class such as wxScrolledWindow, be aware that wxWindow functions may be
+relevant.
+
+Note also that arguments with default values may be omitted from a
+function call, for brevity. Size and position arguments may usually be
+given a value of -1 (the default), in which case wxWindows will choose a
+suitable value.
+
+Most strings are returned as wxString objects. However, for remaining
+char * return values, the strings are allocated and
+deallocated by wxWindows. Therefore, return values should always be
+copied for long-term use, especially since the same buffer is often
+used by wxWindows.
+
+The member functions are given in alphabetical order except for
+constructors and destructors which appear first.
+