send wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED only once after end of dragging and not after each CHANGING event (modified patch 1076226)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2005-03-27 15:50:17 +00:00
parent fb4888a650
commit 9ec0e7da98
3 changed files with 13 additions and 9 deletions

View File

@@ -27,6 +27,8 @@ All (GUI):
- Fixed wxScrolledWindow sizer behaviour so that the virtual size - Fixed wxScrolledWindow sizer behaviour so that the virtual size
isn't used to set the window size. isn't used to set the window size.
- Added wxTE_BESTWRAP (based on patch by Mart Raudsepp) - Added wxTE_BESTWRAP (based on patch by Mart Raudsepp)
- wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED is now only sent once at the end of
splitter dragging and not after each CHANGING event (Jacobo Vilella Vilahur)
Unix: Unix:

View File

@@ -32,8 +32,8 @@ modify the position of the tracking bar to properly reflect the position that
would be set if the drag were to be completed at this point. Processes a would be set if the drag were to be completed at this point. Processes a
wxEVT\_COMMAND\_SPLITTER\_SASH\_POS\_CHANGING event.} wxEVT\_COMMAND\_SPLITTER\_SASH\_POS\_CHANGING event.}
\twocolitem{{\bf EVT\_SPLITTER\_SASH\_POS\_CHANGED(id, func)}}{The sash \twocolitem{{\bf EVT\_SPLITTER\_SASH\_POS\_CHANGED(id, func)}}{The sash
position was changed. May be used to modify the sash position before position was changed. This event is generated after the user releases the mouse
it is set, or to prevent the change from taking place. after dragging the splitter.
Processes a wxEVT\_COMMAND\_SPLITTER\_SASH\_POS\_CHANGED event.} Processes a wxEVT\_COMMAND\_SPLITTER\_SASH\_POS\_CHANGED event.}
\twocolitem{{\bf EVT\_SPLITTER\_UNSPLIT(id, func)}}{The splitter has been just \twocolitem{{\bf EVT\_SPLITTER\_UNSPLIT(id, func)}}{The splitter has been just
unsplit. Processes a wxEVT\_COMMAND\_SPLITTER\_UNSPLIT event. This event can't unsplit. Processes a wxEVT\_COMMAND\_SPLITTER\_UNSPLIT event. This event can't

View File

@@ -383,7 +383,7 @@ void wxSplitterWindow::OnMouseEvent(wxMouseEvent& event)
} }
else else
{ {
SetSashPositionAndNotify(posSashNew); DoSetSashPosition(posSashNew);
m_needUpdating = true; m_needUpdating = true;
} }
} }
@@ -631,13 +631,15 @@ void wxSplitterWindow::SetSashPositionAndNotify(int sashPos)
// SetSashPosition(): // SetSashPosition():
m_requestedSashPosition = INT_MAX; m_requestedSashPosition = INT_MAX;
if ( DoSetSashPosition(sashPos) ) // note that we must send the event in any case, i.e. even if the sash
{ // position hasn't changed and DoSetSashPosition() returns false because we
wxSplitterEvent event(wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, this); // must generate a CHANGED event at the end of resizing
event.m_data.pos = m_sashPosition; DoSetSashPosition(sashPos);
(void)DoSendEvent(event); wxSplitterEvent event(wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, this);
} event.m_data.pos = m_sashPosition;
(void)DoSendEvent(event);
} }
// Position and size subwindows. // Position and size subwindows.