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
isn't used to set the window size.
- 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:

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
wxEVT\_COMMAND\_SPLITTER\_SASH\_POS\_CHANGING event.}
\twocolitem{{\bf EVT\_SPLITTER\_SASH\_POS\_CHANGED(id, func)}}{The sash
position was changed. May be used to modify the sash position before
it is set, or to prevent the change from taking place.
position was changed. This event is generated after the user releases the mouse
after dragging the splitter.
Processes a wxEVT\_COMMAND\_SPLITTER\_SASH\_POS\_CHANGED event.}
\twocolitem{{\bf EVT\_SPLITTER\_UNSPLIT(id, func)}}{The splitter has been just
unsplit. Processes a wxEVT\_COMMAND\_SPLITTER\_UNSPLIT event. This event can't

View File

@ -383,7 +383,7 @@ void wxSplitterWindow::OnMouseEvent(wxMouseEvent& event)
}
else
{
SetSashPositionAndNotify(posSashNew);
DoSetSashPosition(posSashNew);
m_needUpdating = true;
}
}
@ -631,13 +631,15 @@ void wxSplitterWindow::SetSashPositionAndNotify(int sashPos)
// SetSashPosition():
m_requestedSashPosition = INT_MAX;
if ( DoSetSashPosition(sashPos) )
{
wxSplitterEvent event(wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, this);
event.m_data.pos = m_sashPosition;
// 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
// must generate a CHANGED event at the end of resizing
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.