- int m_splitMode;
- bool m_permitUnsplitAlways;
- bool m_needUpdating; // when in live mode, set this to TRUE to resize children in idle
+ // get either width or height depending on the split mode
+ int GetWindowSize() const;
+
+ // convert the user specified sash position which may be > 0 (as is), < 0
+ // (specifying the size of the right pane) or 0 (use default) to the real
+ // position to be passed to DoSetSashPosition()
+ int ConvertSashPosition(int sashPos) const;
+
+ // set the real sash position, sashPos here must be positive
+ //
+ // returns TRUE if the sash position has been changed, FALSE otherwise
+ bool DoSetSashPosition(int sashPos);
+
+ // set the sash position and send an event about it having been changed
+ void SetSashPositionAndNotify(int sashPos);
+
+ // callbacks executed when we detect that the mouse has entered or left
+ // the sash
+ virtual void OnEnterSash();
+ virtual void OnLeaveSash();
+
+ // set the cursor appropriate for the current split mode
+ void SetResizeCursor();
+
+ // redraw the splitter if its "hotness" changed if necessary
+ void RedrawIfHotSensitive(bool isHot);
+
+ wxSplitMode m_splitMode;