+ friend class cbRowDragPluginSerializer;
+
+ // drag & drop state variables
+ bool mDragStarted;
+ bool mDecisionMode;
+ wxPoint mDragOrigin;
+ int mCurDragOfs;
+ bool mCaptureIsOn;
+
+ // saved margins of the pane
+ int mSvTopMargin;
+ int mSvBottomMargin;
+ int mSvLeftMargin;
+ int mSvRightMargin;
+
+ // on-screen drawing state variables
+ wxBitmap* mpPaneImage;
+ wxBitmap* mpRowImage;
+ wxBitmap* mpCombinedImage;
+
+ wxScreenDC* mpScrDc;
+ wxRect mCombRect;
+ wxSize mRowImgDim;
+ int mInitialRowOfs;
+
+ // NOTE:: if mpRowInFocus is not NULL, then mCollapsedIconInFocus is -1,
+ // and v.v. (two different items cannot be in focus at the same time)
+
+ cbRowInfo* mpRowInFocus;
+ int mCollapsedIconInFocus;
+
+ cbDockPane* mpPane; // is set up temorarely, while handling event
+
+ wxList mHiddenBars;
+
+ // Helper for drag and drop.
+ wxBitmap* CaptureDCArea( wxDC& dc, wxRect& area );
+
+ // Helper for drag and drop.
+ int GetHRowsCountForPane( cbDockPane* pPane );
+
+ // Helper for drag and drop.
+ void SetMouseCapture( bool captureOn );
+
+ // Helper for drag and drop.
+ void PrepareForRowDrag();