%
% automatically generated by HelpGen $Revision: 1.3 $ from
% rowdragpl.h at 21/Jan/02 21:14:19
%


\section{\class{cbRowDragPlugin}}\label{cbrowdragplugin}


This plugin adds row-dragging functionality to the pane.
It handles mouse movement and pane background-erasing plugin events.
The behaviour and appearance resembles drag and drop positioning
of the toolbar rows in Netscape Communicator 4.xx.

\wxheading{Derived from}

\helpref{cbPluginBase}{cbpluginbase}

\wxheading{Include files}

<wx/fl/rowdragpl.h>

\wxheading{Data structures}

\latexignore{\rtfignore{\wxheading{Members}}}


\membersection{cbRowDragPlugin::cbRowDragPlugin}\label{cbrowdragplugincbrowdragplugin}

\func{}{cbRowDragPlugin}{\param{wxFrameLayout* }{pLayout}, \param{int }{paneMask = wxALL\_PANES}}

Constructor, taking paren layout frame and pane mask.


\func{}{cbRowDragPlugin}{\void}

Default constructor.


\membersection{cbRowDragPlugin::\destruct{cbRowDragPlugin}}\label{cbrowdragplugindtor}

\func{}{\destruct{cbRowDragPlugin}}{\void}

Destructor.


\membersection{cbRowDragPlugin::CaptureDCArea}\label{cbrowdragplugincapturedcarea}

\func{wxBitmap*}{CaptureDCArea}{\param{wxDC\& }{dc}, \param{wxRect\& }{area}}

Helper for drag and drop.


\membersection{cbRowDragPlugin::CheckPrevItemInFocus}\label{cbrowdragplugincheckpreviteminfocus}

\func{void}{CheckPrevItemInFocus}{\param{cbRowInfo* }{pRow}, \param{int }{iconIdx}}

Helper for drag and drop.


\membersection{cbRowDragPlugin::Clone}\label{cbrowdragpluginclone}

\func{cbPluginBase*}{Clone}{\void}

Clone function, returning a new instance of this class.


\membersection{cbRowDragPlugin::CollapseRow}\label{cbrowdragplugincollapserow}

\func{void}{CollapseRow}{\param{cbRowInfo* }{pRow}}

Helper for drag and drop.


\membersection{cbRowDragPlugin::Draw3DPattern}\label{cbrowdragplugindraw3dpattern}

\func{void}{Draw3DPattern}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}}

Implements 'hard-coded metafile' for Netscape Navigator look.


\membersection{cbRowDragPlugin::Draw3DRect}\label{cbrowdragplugindraw3drect}

\func{void}{Draw3DRect}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}, \param{wxBrush\& }{bkBrush}}

Implements 'hard-coded metafile' for Netscape Navigator look.


\membersection{cbRowDragPlugin::DrawCollapsedRowIcon}\label{cbrowdragplugindrawcollapsedrowicon}

\func{void}{DrawCollapsedRowIcon}{\param{int }{index}, \param{wxDC\& }{dc}, \param{bool }{isHighlighted}}

Draws collapsed row icon (appearance-dependent).


\membersection{cbRowDragPlugin::DrawCollapsedRowsBorder}\label{cbrowdragplugindrawcollapsedrowsborder}

\func{void}{DrawCollapsedRowsBorder}{\param{wxDC\& }{dc}}

Draws collapsed rows border (appearance-dependent).


\membersection{cbRowDragPlugin::DrawEmptyRow}\label{cbrowdragplugindrawemptyrow}

\func{void}{DrawEmptyRow}{\param{wxDC\& }{dc}, \param{wxRect\& }{rowBounds}}

Draws empty row (appearance-dependent).


\membersection{cbRowDragPlugin::DrawOrtoRomb}\label{cbrowdragplugindrawortoromb}

\func{void}{DrawOrtoRomb}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}, \param{wxBrush\& }{bkBrush}}

Implements 'hard-coded metafile' for Netscape Navigator look.


\membersection{cbRowDragPlugin::DrawRectShade}\label{cbrowdragplugindrawrectshade}

\func{void}{DrawRectShade}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}, \param{int }{level}, \param{wxPen\& }{upperPen}, \param{wxPen\& }{lowerPen}}

Implements 'hard-coded metafile' for Netscape Navigator look.


\membersection{cbRowDragPlugin::DrawRomb}\label{cbrowdragplugindrawromb}

\func{void}{DrawRomb}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}, \param{wxBrush\& }{bkBrush}}

Implements 'hard-coded metafile' for Netscape Navigator look.


\membersection{cbRowDragPlugin::DrawRombShades}\label{cbrowdragplugindrawrombshades}

\func{void}{DrawRombShades}{\param{wxPoint\& }{p1}, \param{wxPoint\& }{p2}, \param{wxPoint\& }{p3}, \param{wxPoint\& }{p4}, \param{wxDC\& }{dc}}

Implements 'hard-coded metafile' for Netscape Navigator look.


\membersection{cbRowDragPlugin::DrawRowDragHint}\label{cbrowdragplugindrawrowdraghint}

\func{void}{DrawRowDragHint}{\param{cbRowInfo* }{pRow}, \param{wxDC\& }{dc}, \param{bool }{isHighlighted}}

Draws row drag hint (appearance-dependent).


\membersection{cbRowDragPlugin::DrawRowsDragHintsBorder}\label{cbrowdragplugindrawrowsdraghintsborder}

\func{void}{DrawRowsDragHintsBorder}{\param{wxDC\& }{dc}}

Draws rows drag hints border (appearance-dependent).


\membersection{cbRowDragPlugin::DrawTrianDown}\label{cbrowdragplugindrawtriandown}

\func{void}{DrawTrianDown}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}}

Implements 'hard-coded metafile' for Netscape Navigator look.


\membersection{cbRowDragPlugin::DrawTrianRight}\label{cbrowdragplugindrawtrianright}

\func{void}{DrawTrianRight}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}}

Implements 'hard-coded metafile' for Netscape Navigator look.


\membersection{cbRowDragPlugin::DrawTrianUp}\label{cbrowdragplugindrawtrianup}

\func{void}{DrawTrianUp}{\param{wxRect\& }{inRect}, \param{wxDC\& }{dc}}

Implements 'hard-coded metafile' for Netscape Navigator look.


\membersection{cbRowDragPlugin::ExpandRow}\label{cbrowdragpluginexpandrow}

\func{void}{ExpandRow}{\param{int }{collapsedIconIdx}}

Helper for drag and drop.


\membersection{cbRowDragPlugin::FinishOnScreenDraw}\label{cbrowdragpluginfinishonscreendraw}

\func{void}{FinishOnScreenDraw}{\void}

Helper for drag and drop.


\membersection{cbRowDragPlugin::GetCollapsedIconsPos}\label{cbrowdragplugingetcollapsediconspos}

\func{int}{GetCollapsedIconsPos}{\void}

Helper for drag and drop.


\membersection{cbRowDragPlugin::GetCollapsedInconRect}\label{cbrowdragplugingetcollapsedinconrect}

\func{void}{GetCollapsedInconRect}{\param{int }{iconIdx}, \param{wxRect\& }{rect}}

Helper for drag and drop.


\membersection{cbRowDragPlugin::GetCollapsedRowIconHeight}\label{cbrowdragplugingetcollapsedrowiconheight}

\func{int}{GetCollapsedRowIconHeight}{\void}

Gets the collapsed row icon height.


\membersection{cbRowDragPlugin::GetFirstRow}\label{cbrowdragplugingetfirstrow}

\func{cbRowInfo*}{GetFirstRow}{\void}

Helper for drag and drop.


\membersection{cbRowDragPlugin::GetHRowsCountForPane}\label{cbrowdragplugingethrowscountforpane}

\func{int}{GetHRowsCountForPane}{\param{cbDockPane* }{pPane}}

Helper for drag and drop.


\membersection{cbRowDragPlugin::GetRowDragHintWidth}\label{cbrowdragplugingetrowdraghintwidth}

\func{int}{GetRowDragHintWidth}{\void}

Gets the row drag hint width.


\membersection{cbRowDragPlugin::GetRowHintRect}\label{cbrowdragplugingetrowhintrect}

\func{void}{GetRowHintRect}{\param{cbRowInfo* }{pRow}, \param{wxRect\& }{rect}}

Helper for drag and drop.


\membersection{cbRowDragPlugin::HitTestCollapsedRowIcon}\label{cbrowdragpluginhittestcollapsedrowicon}

\func{bool}{HitTestCollapsedRowIcon}{\param{int }{iconIdx}, \param{const wxPoint\& }{pos}}

Test for the collapsed row icon position.


\membersection{cbRowDragPlugin::HitTestRowDragHint}\label{cbrowdragpluginhittestrowdraghint}

\func{bool}{HitTestRowDragHint}{\param{cbRowInfo* }{pRow}, \param{const wxPoint\& }{pos}}

Test for the row drag hint position.


\membersection{cbRowDragPlugin::InsertDraggedRowBefore}\label{cbrowdragplugininsertdraggedrowbefore}

\func{void}{InsertDraggedRowBefore}{\param{cbRowInfo* }{pBeforeRow}}

Helper for drag and drop.


\membersection{cbRowDragPlugin::ItemIsInFocus}\label{cbrowdragpluginitemisinfocus}

\func{bool}{ItemIsInFocus}{\void}

Helper for drag and drop.


\membersection{cbRowDragPlugin::OnDrawPaneBackground}\label{cbrowdragpluginondrawpanebackground}

\func{void}{OnDrawPaneBackground}{\param{cbDrawPaneDecorEvent\& }{event}}

Handles pane drawing plugin events (appearance-independent logic).


\membersection{cbRowDragPlugin::OnInitPlugin}\label{cbrowdragpluginoninitplugin}

\func{void}{OnInitPlugin}{\void}

Called to initialize this plugin.


\membersection{cbRowDragPlugin::OnLButtonDown}\label{cbrowdragpluginonlbuttondown}

\func{void}{OnLButtonDown}{\param{cbLeftDownEvent\& }{event}}

Handles left button down plugin events (appearance-independent logic).


\membersection{cbRowDragPlugin::OnLButtonUp}\label{cbrowdragpluginonlbuttonup}

\func{void}{OnLButtonUp}{\param{cbLeftUpEvent\& }{event}}

Handles left button up plugin events (appearance-independent logic).


\membersection{cbRowDragPlugin::OnMouseMove}\label{cbrowdragpluginonmousemove}

\func{void}{OnMouseMove}{\param{cbMotionEvent\& }{event}}

Handles mouse move plugin events (appearance-independent logic).


\membersection{cbRowDragPlugin::PrepareForRowDrag}\label{cbrowdragpluginprepareforrowdrag}

\func{void}{PrepareForRowDrag}{\void}

Helper for drag and drop.


\membersection{cbRowDragPlugin::SetMouseCapture}\label{cbrowdragpluginsetmousecapture}

\func{void}{SetMouseCapture}{\param{bool }{captureOn}}

Helper for drag and drop.


\membersection{cbRowDragPlugin::SetPaneMargins}\label{cbrowdragpluginsetpanemargins}

\func{void}{SetPaneMargins}{\void}

Sets the pane margins.


\membersection{cbRowDragPlugin::ShowDraggedRow}\label{cbrowdragpluginshowdraggedrow}

\func{void}{ShowDraggedRow}{\param{int }{offset}}

Helper for drag and drop.


\membersection{cbRowDragPlugin::ShowPaneImage}\label{cbrowdragpluginshowpaneimage}

\func{void}{ShowPaneImage}{\void}

Helper for drag and drop.


\membersection{cbRowDragPlugin::UnhighlightItemInFocus}\label{cbrowdragpluginunhighlightiteminfocus}

\func{void}{UnhighlightItemInFocus}{\void}

Helper for drag and drop.

