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
|
#define wxSIZE_NO_ADJUSTMENTS 0x0008
|
||||||
/* Change the window position even if it seems to be already correct */
|
/* Change the window position even if it seems to be already correct */
|
||||||
#define wxSIZE_FORCE 0x0010
|
#define wxSIZE_FORCE 0x0010
|
||||||
|
/* Emit size event even if size didn't change */
|
||||||
|
#define wxSIZE_FORCE_EVENT 0x0020
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------- */
|
||||||
/* GDI descriptions */
|
/* GDI descriptions */
|
||||||
|
@@ -480,10 +480,11 @@ void wxSizerItem::SetDimension( const wxPoint& pos_, const wxSize& size_ )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case Item_Window:
|
case Item_Window:
|
||||||
|
{
|
||||||
m_window->SetSize(pos.x, pos.y, size.x, size.y,
|
m_window->SetSize(pos.x, pos.y, size.x, size.y,
|
||||||
wxSIZE_ALLOW_MINUS_ONE);
|
wxSIZE_ALLOW_MINUS_ONE|wxSIZE_FORCE_EVENT );
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case Item_Sizer:
|
case Item_Sizer:
|
||||||
m_sizer->SetDimension(pos, size);
|
m_sizer->SetDimension(pos, size);
|
||||||
break;
|
break;
|
||||||
|
@@ -2540,6 +2540,12 @@ void wxWindowGTK::DoSetSize( int x, int y, int width, int height, int sizeFlags
|
|||||||
event.SetEventObject( this );
|
event.SetEventObject( this );
|
||||||
HandleWindowEvent( event );
|
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 &&
|
width == currentW && height == currentH &&
|
||||||
!(sizeFlags & wxSIZE_FORCE) )
|
!(sizeFlags & wxSIZE_FORCE) )
|
||||||
{
|
{
|
||||||
|
if (sizeFlags & wxSIZE_FORCE_EVENT)
|
||||||
|
{
|
||||||
|
wxSizeEvent event( wxSize(width,height), GetId() );
|
||||||
|
event.SetEventObject( this );
|
||||||
|
HandleWindowEvent( event );
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -964,6 +964,13 @@ void wxWindowMac::DoSetSize(int x, int y, int width, int height, int sizeFlags)
|
|||||||
// TODO: REMOVE
|
// TODO: REMOVE
|
||||||
MacRepositionScrollBars() ; // we might have a real position shift
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user