+ // due to a bug in gtk, x,y are always 0
+ // m_x = x;
+ // m_y = y;
+
+ if (m_resizing) return;
+ m_resizing = TRUE;
+
+ if (!m_wxwindow) return;
+
+ m_width = width;
+ m_height = height;
+
+ if ((m_minWidth != -1) && (m_width < m_minWidth)) m_width = m_minWidth;
+ if ((m_minHeight != -1) && (m_height < m_minHeight)) m_height = m_minHeight;
+ 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 );
+
+ // this emulates the new wxMSW behaviour of placing all
+ // frame-subwindows (menu, toolbar..) on one native window
+ // OK, this hurts in the eye, but I don't want to call SetSize()
+ // because I don't want to call any non-native functions here.
+
+ if (m_frameMenuBar)
+ {
+ int xx = 1 + m_miniEdge;
+ int yy = 1 + m_miniEdge + m_miniTitle;
+ int ww = m_width - 2 - 2*m_miniEdge;
+ int hh = wxMENU_HEIGHT-2;
+ m_frameMenuBar->m_x = xx;
+ m_frameMenuBar->m_y = yy;
+ m_frameMenuBar->m_width = ww;
+ m_frameMenuBar->m_height = hh;
+
+ gtk_myfixed_move( GTK_MYFIXED(m_wxwindow), m_frameMenuBar->m_widget, xx, yy );
+ gtk_widget_set_usize( m_frameMenuBar->m_widget, ww, hh );
+ }
+
+ if (m_frameToolBar)
+ {
+ int xx = 1 + m_miniEdge;
+ int yy = m_miniEdge + m_miniTitle;
+ if (m_frameMenuBar) yy += wxMENU_HEIGHT;
+ int ww = m_width -2 - 2*m_miniEdge;
+ int hh = m_frameToolBar->m_height;
+
+ m_frameToolBar->m_x = xx;
+ m_frameToolBar->m_y = yy;
+ m_frameToolBar->m_height = hh;
+ m_frameToolBar->m_width = ww;
+
+ gtk_myfixed_move( GTK_MYFIXED(m_wxwindow), m_frameToolBar->m_widget, xx, yy );
+ gtk_widget_set_usize( m_frameToolBar->m_widget, ww, hh );
+ }
+
+ if (m_frameStatusBar)
+ {
+ int xx = 0 + m_miniEdge;
+ int yy = m_height - wxSTATUS_HEIGHT - m_miniEdge;
+ int ww = m_width - 2*m_miniEdge;
+ int hh = wxSTATUS_HEIGHT;
+
+ m_frameStatusBar->m_x = xx;
+ m_frameStatusBar->m_y = yy;
+ m_frameStatusBar->m_width = ww;
+ m_frameStatusBar->m_height = hh;
+
+ gtk_myfixed_move( GTK_MYFIXED(m_wxwindow), m_frameStatusBar->m_widget, xx, yy );
+ gtk_widget_set_usize( m_frameStatusBar->m_widget, ww, hh );
+ }
+
+ m_sizeSet = TRUE;
+
+ wxSizeEvent event( wxSize(m_width,m_height), GetId() );
+ event.SetEventObject( this );
+ GetEventHandler()->ProcessEvent( event );
+
+ m_resizing = FALSE;
+}
+
+void wxFrame::OnIdle(wxIdleEvent& WXUNUSED(event) )