X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/42e69d6b435a4dd5415caf3750db62cf45b6f373..444cb676b239bd5d87c645c21c800053271cc348:/include/wx/generic/splitter.h diff --git a/include/wx/generic/splitter.h b/include/wx/generic/splitter.h index 55c7891908..4bdd5ace6a 100644 --- a/include/wx/generic/splitter.h +++ b/include/wx/generic/splitter.h @@ -160,6 +160,9 @@ public: // Adjusts the panes void OnSize(wxSizeEvent& event); + // In live mode, resize child windows in idle time + void OnIdle(wxIdleEvent& event); + // Draws borders void DrawBorders(wxDC& dc); @@ -181,12 +184,16 @@ public: protected: // our event handlers void OnSashPosChanged(wxSplitterEvent& event); + void OnSashPosChanging(wxSplitterEvent& event); void OnDoubleClick(wxSplitterEvent& event); void OnUnsplitEvent(wxSplitterEvent& event); + void OnSetCursor(wxSetCursorEvent& event); void SendUnsplitEvent(wxWindow *winRemoved); int m_splitMode; + bool m_permitUnsplitAlways; + bool m_needUpdating; // when in live mode, set the to TRUE to resize children in idle wxWindow* m_windowOne; wxWindow* m_windowTwo; int m_dragMode; @@ -229,6 +236,7 @@ public: : wxCommandEvent(type) { SetEventObject(splitter); + if (splitter) m_id = splitter->GetId(); } // SASH_POS_CHANGED methods @@ -237,14 +245,16 @@ public: // all void SetSashPosition(int pos) { - wxASSERT( GetEventType() == wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED ); + wxASSERT( GetEventType() == wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED + || GetEventType() == wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING); m_data.pos = pos; } int GetSashPosition() const { - wxASSERT( GetEventType() == wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED ); + wxASSERT( GetEventType() == wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED + || GetEventType() == wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING); return m_data.pos; } @@ -273,7 +283,7 @@ public: } private: - friend wxSplitterWindow; + friend class WXDLLEXPORT wxSplitterWindow; // data for the different types of event union @@ -300,9 +310,18 @@ typedef void (wxEvtHandler::*wxSplitterEventFunction)(wxSplitterEvent&); NULL \ }, -#define EVT_SPLITTER_DCLICK(id, fn) \ +#define EVT_SPLITTER_SASH_POS_CHANGING(id, fn) \ + { \ + wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING, \ + id, \ + -1, \ + (wxObjectEventFunction)(wxEventFunction)(wxSplitterEventFunction) &fn, \ + NULL \ + }, + +#define EVT_SPLITTER_DCLICK(id, fn) \ { \ - wxEVT_COMMAND_SPLITTER_DOUBLECLICKED, \ + wxEVT_COMMAND_SPLITTER_DOUBLECLICKED, \ id, \ -1, \ (wxObjectEventFunction)(wxEventFunction)(wxSplitterEventFunction) &fn, \