Add wxSIZE_FORCE_EVENT and use is from wxSizerItem::SetDimension
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -2094,6 +2094,8 @@ enum wxHitTest
|
||||
#define wxSIZE_NO_ADJUSTMENTS 0x0008
|
||||
/* Change the window position even if it seems to be already correct */
|
||||
#define wxSIZE_FORCE 0x0010
|
||||
/* Emit size event even if size didn't change */
|
||||
#define wxSIZE_FORCE_EVENT 0x0020
|
||||
|
||||
/* ---------------------------------------------------------------------------- */
|
||||
/* GDI descriptions */
|
||||
|
@@ -480,10 +480,11 @@ void wxSizerItem::SetDimension( const wxPoint& pos_, const wxSize& size_ )
|
||||
break;
|
||||
|
||||
case Item_Window:
|
||||
{
|
||||
m_window->SetSize(pos.x, pos.y, size.x, size.y,
|
||||
wxSIZE_ALLOW_MINUS_ONE);
|
||||
wxSIZE_ALLOW_MINUS_ONE|wxSIZE_FORCE_EVENT );
|
||||
break;
|
||||
|
||||
}
|
||||
case Item_Sizer:
|
||||
m_sizer->SetDimension(pos, size);
|
||||
break;
|
||||
|
@@ -2540,6 +2540,12 @@ void wxWindowGTK::DoSetSize( int x, int y, int width, int height, int sizeFlags
|
||||
event.SetEventObject( this );
|
||||
HandleWindowEvent( event );
|
||||
}
|
||||
} else
|
||||
if (sizeFlags & wxSIZE_FORCE_EVENT)
|
||||
{
|
||||
wxSizeEvent event( wxSize(m_width,m_height), GetId() );
|
||||
event.SetEventObject( this );
|
||||
HandleWindowEvent( event );
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -2007,6 +2007,12 @@ void wxWindowMSW::DoSetSize(int x, int y, int width, int height, int sizeFlags)
|
||||
width == currentW && height == currentH &&
|
||||
!(sizeFlags & wxSIZE_FORCE) )
|
||||
{
|
||||
if (sizeFlags & wxSIZE_FORCE_EVENT)
|
||||
{
|
||||
wxSizeEvent event( wxSize(width,height), GetId() );
|
||||
event.SetEventObject( this );
|
||||
HandleWindowEvent( event );
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -964,6 +964,13 @@ void wxWindowMac::DoSetSize(int x, int y, int width, int height, int sizeFlags)
|
||||
// TODO: REMOVE
|
||||
MacRepositionScrollBars() ; // we might have a real position shift
|
||||
|
||||
if (sizeFlags & wxSIZE_FORCE_EVENT)
|
||||
{
|
||||
wxSizeEvent event( wxSize(width,height), GetId() );
|
||||
event.SetEventObject( this );
|
||||
HandleWindowEvent( event );
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user