X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77ffb5937e89927b621128789401db8921fe580f..ef7823016897c0c04c88019e14f48837764e50be:/include/wx/generic/splitter.h?ds=sidebyside diff --git a/include/wx/generic/splitter.h b/include/wx/generic/splitter.h index eb83d299c2..239d5dcec6 100644 --- a/include/wx/generic/splitter.h +++ b/include/wx/generic/splitter.h @@ -6,7 +6,7 @@ // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWidgets licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef __SPLITTERH_G__ @@ -67,7 +67,7 @@ public: } // 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, @@ -79,7 +79,7 @@ public: 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, @@ -155,6 +155,12 @@ public: // 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; } @@ -212,6 +218,10 @@ public: 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__) @@ -222,7 +232,6 @@ protected: // by the user code inline bool DoSendEvent(wxSplitterEvent& event); -protected: // common part of all ctors void Init(); @@ -261,6 +270,11 @@ protected: // 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; @@ -268,6 +282,8 @@ protected: 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; @@ -376,7 +392,7 @@ typedef void (wxEvtHandler::*wxSplitterEventFunction)(wxSplitterEvent&); DECLARE_EVENT_TABLE_ENTRY( \ wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, \ id, \ - -1, \ + wxID_ANY, \ (wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent( wxSplitterEventFunction, &fn ), \ NULL \ ), @@ -385,7 +401,7 @@ typedef void (wxEvtHandler::*wxSplitterEventFunction)(wxSplitterEvent&); DECLARE_EVENT_TABLE_ENTRY( \ wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING, \ id, \ - -1, \ + wxID_ANY, \ (wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent( wxSplitterEventFunction, &fn ), \ NULL \ ), @@ -394,7 +410,7 @@ typedef void (wxEvtHandler::*wxSplitterEventFunction)(wxSplitterEvent&); DECLARE_EVENT_TABLE_ENTRY( \ wxEVT_COMMAND_SPLITTER_DOUBLECLICKED, \ id, \ - -1, \ + wxID_ANY, \ (wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent( wxSplitterEventFunction, &fn ), \ NULL \ ), @@ -403,7 +419,7 @@ typedef void (wxEvtHandler::*wxSplitterEventFunction)(wxSplitterEvent&); DECLARE_EVENT_TABLE_ENTRY( \ wxEVT_COMMAND_SPLITTER_UNSPLIT, \ id, \ - -1, \ + wxID_ANY, \ (wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent( wxSplitterEventFunction, &fn ), \ NULL \ ),