+void wxFrame::AddChild( wxWindow *child )
+{
+ wxASSERT_MSG( (m_widget != NULL), "invalid frame" );
+ wxASSERT_MSG( (m_wxwindow != NULL), "invalid frame" );
+ wxASSERT_MSG( (m_mainWindow != NULL), "invalid frame" );
+ wxASSERT_MSG( (child != NULL), "invalid child" );
+ wxASSERT_MSG( (child->m_widget != NULL), "invalid child" );
+
+ // wxFrame and wxDialog as children aren't placed into the parents
+
+ if (IS_KIND_OF(child,wxMDIChildFrame)) wxFAIL_MSG( "wxFrame::AddChild error.\n" );
+
+ if ( IS_KIND_OF(child,wxFrame) || IS_KIND_OF(child,wxDialog))
+ {
+ m_children.Append( child );
+
+ if ((child->m_x != -1) && (child->m_y != -1))
+ gtk_widget_set_uposition( child->m_widget, child->m_x, child->m_y );
+
+ return;
+ }
+
+ if (m_addPrivateChild)
+ {
+ gtk_myfixed_put( GTK_MYFIXED(m_mainWindow), child->m_widget, child->m_x, child->m_y );
+
+ gtk_widget_set_usize( child->m_widget, child->m_width, child->m_height );
+ }
+ else
+ {
+ m_children.Append( child );
+
+ if (m_wxwindow)
+ gtk_myfixed_put( GTK_MYFIXED(m_wxwindow), child->m_widget, child->m_x, child->m_y );
+
+ gtk_widget_set_usize( child->m_widget, child->m_width, child->m_height );
+ }
+}
+
+static void SetInvokingWindow( wxMenu *menu, wxWindow *win )