// --------------- TEST CODE ----------------------
+ // layout constraints
+
panel = new wxPanel(m_notebook);
panel->SetAutoLayout( true );
wxButton *pMyButton2 = new wxButton(panel, -1, "Test Button 2" );
pMyButton2->SetConstraints( c );
- m_notebook->AddPage(panel, "test layout");
+ m_notebook->AddPage(panel, "wxLayoutConstraint");
+
+ // sizer
+
+ panel = new wxPanel(m_notebook);
+ panel->SetAutoLayout( true );
+
+ wxBoxSizer *sizer = new wxBoxSizer( wxHORIZONTAL );
+
+ sizer->Add( new wxButton(panel, -1, "Test Button" ), 3, wxALL, 10 );
+ sizer->Add( 20,20, 1 );
+ sizer->Add( new wxButton(panel, -1, "Test Button 2" ), 3, wxGROW|wxALL, 10 );
+
+ panel->SetSizer( sizer );
+
+ m_notebook->AddPage(panel, "wxSizer");
// --------------- TEST CODE ----------------------
win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height );
+ /* GTK 1.2 up to version 1.2.5 is broken so that we have to call allocate
+ here in order to make repositioning after resizing to take effect. */
+ if ((gtk_major_version == 1) &&
+ (gtk_minor_version == 2) &&
+ (gtk_micro_version < 6) &&
+ (win->m_wxwindow) &&
+ (GTK_WIDGET_REALIZED(win->m_wxwindow)))
+ {
+ gtk_widget_size_allocate( win->m_wxwindow, alloc );
+ }
}
//-----------------------------------------------------------------------------
// "realize" from m_widget
//-----------------------------------------------------------------------------
-/* GTK 1.2 up to version 1.2.5 is broken so that we have to call a queue_resize
- here in order to take repositioning before showing to take effect. */
-
static gint
gtk_notebook_realized_callback( GtkWidget * WXUNUSED(widget), wxWindow *win )
{
if (g_isIdle)
wxapp_install_idle_handler();
+ /* GTK 1.2 up to version 1.2.5 is broken so that we have to call a queue_resize
+ here in order to make repositioning before showing to take effect. */
gtk_widget_queue_resize( win->m_widget );
return FALSE;
win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height );
+ /* GTK 1.2 up to version 1.2.5 is broken so that we have to call allocate
+ here in order to make repositioning after resizing to take effect. */
+ if ((gtk_major_version == 1) &&
+ (gtk_minor_version == 2) &&
+ (gtk_micro_version < 6) &&
+ (win->m_wxwindow) &&
+ (GTK_WIDGET_REALIZED(win->m_wxwindow)))
+ {
+ gtk_widget_size_allocate( win->m_wxwindow, alloc );
+ }
}
//-----------------------------------------------------------------------------
// "realize" from m_widget
//-----------------------------------------------------------------------------
-/* GTK 1.2 up to version 1.2.5 is broken so that we have to call a queue_resize
- here in order to take repositioning before showing to take effect. */
-
static gint
gtk_notebook_realized_callback( GtkWidget * WXUNUSED(widget), wxWindow *win )
{
if (g_isIdle)
wxapp_install_idle_handler();
+ /* GTK 1.2 up to version 1.2.5 is broken so that we have to call a queue_resize
+ here in order to make repositioning before showing to take effect. */
gtk_widget_queue_resize( win->m_widget );
return FALSE;