m_frameStatusBar = (wxStatusBar *) NULL;
m_frameToolBar = (wxToolBar *) NULL;
m_sizeSet = FALSE;
- wxTopLevelWindows.Insert( this );
}
wxFrame::wxFrame( wxWindow *parent, wxWindowID id, const wxString &title,
m_frameToolBar = (wxToolBar *) NULL;
m_sizeSet = FALSE;
Create( parent, id, title, pos, size, style, name );
- wxTopLevelWindows.Insert( this );
}
bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
const wxPoint &pos, const wxSize &size,
long style, const wxString &name )
{
+ wxTopLevelWindows.Append( this );
+
m_needParent = FALSE;
PreCreation( parent, id, pos, size, style, name );
if (show && !m_sizeSet)
{
- // this yield call is required for a configure event
- // to be sent by GTK to its windows. this will among
- // others prompt all GtkScrolledWidgets to calculate
- // if they need scrollbars which in turn is required
- // for wxWindows to calculate the client size of its
- // windows.
-
- wxYield();
-
// by calling GtkOnSize here, we don't have to call
// either after showing the frame, which would entail
// much ugly flicker nor from within the size_allocate
gtk_widget_set_usize( m_widget, m_width, m_height );
}
- m_sizeSet = TRUE;
-
wxSizeEvent event( wxSize(m_width,m_height), GetId() );
event.SetEventObject( this );
GetEventHandler()->ProcessEvent( event );
if ((m_maxWidth != -1) && (m_width > m_maxWidth)) m_width = m_minWidth;
if ((m_maxHeight != -1) && (m_height > m_maxHeight)) m_height = m_minHeight;
-// gtk_widget_set_usize( m_widget, m_width, m_height );
+ gtk_widget_set_usize( m_widget, m_width, m_height );
// This emulates the new wxMSW behaviour
-
+
if (m_frameMenuBar)
{
m_frameMenuBar->m_x = 1;
// yes: set it's size to fill all the frame
int client_x, client_y;
GetClientSize( &client_x, &client_y );
- child->SetSize( 1, 1, client_x-2, client_y);
+ child->SetSize( 1, 1, client_x-2, client_y-2 );
}
}
m_frameMenuBar->m_widget, m_frameMenuBar->m_x, m_frameMenuBar->m_y );
}
}
+
+ if (m_sizeSet) GtkOnSize( m_x, m_y, m_width, m_height );
}
wxMenuBar *wxFrame::GetMenuBar(void) const
m_frameToolBar = OnCreateToolBar( style, id, name );
GetChildren()->DeleteObject( m_frameToolBar );
+
+ if (m_sizeSet) GtkOnSize( m_x, m_y, m_width, m_height );
return m_frameToolBar;
}
m_frameStatusBar = OnCreateStatusBar( number, style, id, name );
+ if (m_sizeSet) GtkOnSize( m_x, m_y, m_width, m_height );
+
return m_frameStatusBar;
}