// event handlers
void OnActivate(wxActivateEvent& event);
void OnSysColourChanged(wxSysColourChangedEvent& event);
- void OnSize(wxSizeEvent& event);
// Toolbar
#if wxUSE_TOOLBAR
void PositionBars();
+ // internal response to size events
+ virtual void MacOnInternalSize() { PositionBars(); }
protected:
// common part of all ctors
float GetContentScaleFactor() const ;
+ // internal response to size events
+ virtual void MacOnInternalSize() {}
+
protected:
// For controls like radio buttons which are genuinely composite
wxList m_subControls;
BEGIN_EVENT_TABLE(wxFrame, wxFrameBase)
EVT_ACTIVATE(wxFrame::OnActivate)
EVT_SYS_COLOUR_CHANGED(wxFrame::OnSysColourChanged)
- EVT_SIZE(wxFrame::OnSize)
END_EVENT_TABLE()
#define WX_MAC_STATUSBAR_HEIGHT 18
}
}
-
-void wxFrame::OnSize(wxSizeEvent& event)
-{
- PositionBars();
-
- event.Skip();
-}
-
#if wxUSE_MENUS
void wxFrame::DetachMenuBar()
{
SetInitialSize( wxSize(m_minWidth, m_minHeight));
SendSizeEventToParent();
+ wxWindow * const parent = GetParent();
+ if ( parent && !parent->IsBeingDeleted() )
+ parent->MacOnInternalSize();
return true;
}
wxUnusedVar(progress);
m_win->SendSizeEvent();
+ m_win->MacOnInternalSize();
}
- (void)animationDidEnd:(NSAnimation*)animation
// refresh it once again after the end to ensure that everything is in
// place
win->SendSizeEvent();
+ win->MacOnInternalSize();
}
[anim setDelegate:nil];
{
// as apps expect a size event to occur when the window is shown,
// generate one when it is shown with effect too
+ MacOnInternalSize();
wxSizeEvent event(GetSize(), m_windowId);
event.SetEventObject(this);
HandleWindowEvent(event);
void wxNonOwnedWindow::HandleResized( double timestampsec )
{
+ MacOnInternalSize();
wxSizeEvent wxevent( GetSize() , GetId());
wxevent.SetTimestamp( (int) (timestampsec * 1000) );
wxevent.SetEventObject( this );
if ( show )
{
// because apps expect a size event to occur at this moment
+ MacOnInternalSize();
wxSizeEvent event(GetSize() , m_windowId);
event.SetEventObject(this);
HandleWindowEvent(event);
if ( doResize )
{
MacRepositionScrollBars() ;
+ MacOnInternalSize();
wxSize size(actualWidth, actualHeight);
wxSizeEvent event(size, m_windowId);
event.SetEventObject(this);
if (sizeFlags & wxSIZE_FORCE_EVENT)
{
+ MacOnInternalSize();
wxSizeEvent event( wxSize(width,height), GetId() );
event.SetEventObject( this );
HandleWindowEvent( event );
MacRepositionScrollBars() ;
if ( triggerSizeEvent )
{
+ MacOnInternalSize();
wxSizeEvent event(GetSize(), m_windowId);
event.SetEventObject(this);
HandleWindowEvent(event);