}
// Normal constructor
- wxSplitterWindow(wxWindow *parent, wxWindowID id = -1,
+ wxSplitterWindow(wxWindow *parent, wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxSP_3D,
virtual ~wxSplitterWindow();
- bool Create(wxWindow *parent, wxWindowID id = -1,
+ bool Create(wxWindow *parent, wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxSP_3D,
// Gets the sash position
int GetSashPosition() const { return m_sashPosition; }
+ // Set the sash gravity
+ void SetSashGravity(double gravity);
+
+ // Gets the sash gravity
+ double GetSashGravity() const { return m_sashGravity; }
+
// If this is zero, we can remove panes by dragging the sash.
void SetMinimumPaneSize(int min);
int GetMinimumPaneSize() const { return m_minimumPaneSize; }
void SetNeedUpdating(bool needUpdating) { m_needUpdating = needUpdating; }
bool GetNeedUpdating() const { return m_needUpdating ; }
+#ifdef __WXMAC__
+ virtual bool MacClipGrandChildren() const { return true ; }
+#endif
+
protected:
// event handlers
#if defined(__WXMSW__) || defined(__WXMAC__)
// by the user code
inline bool DoSendEvent(wxSplitterEvent& event);
-protected:
// common part of all ctors
void Init();
// redraw the splitter if its "hotness" changed if necessary
void RedrawIfHotSensitive(bool isHot);
+ // return the best size of the splitter equal to best sizes of its
+ // subwindows
+ virtual wxSize DoGetBestSize() const;
+
+
wxSplitMode m_splitMode;
wxWindow* m_windowOne;
wxWindow* m_windowTwo;
int m_oldX;
int m_oldY;
int m_sashPosition; // Number of pixels from left or top
+ double m_sashGravity;
+ wxSize m_lastSize;
int m_requestedSashPosition;
int m_sashPositionCurrent; // while dragging
int m_firstX;
DECLARE_EVENT_TABLE_ENTRY( \
wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, \
id, \
- -1, \
+ wxID_ANY, \
(wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent( wxSplitterEventFunction, &fn ), \
NULL \
),
DECLARE_EVENT_TABLE_ENTRY( \
wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING, \
id, \
- -1, \
+ wxID_ANY, \
(wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent( wxSplitterEventFunction, &fn ), \
NULL \
),
DECLARE_EVENT_TABLE_ENTRY( \
wxEVT_COMMAND_SPLITTER_DOUBLECLICKED, \
id, \
- -1, \
+ wxID_ANY, \
(wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent( wxSplitterEventFunction, &fn ), \
NULL \
),
DECLARE_EVENT_TABLE_ENTRY( \
wxEVT_COMMAND_SPLITTER_UNSPLIT, \
id, \
- -1, \
+ wxID_ANY, \
(wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent( wxSplitterEventFunction, &fn ), \
NULL \
),