]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/frame.cpp
Added wxMenu::Delete() and fixed some menu deleted memory
[wxWidgets.git] / src / gtk1 / frame.cpp
index 9cc4171c2d1076fdb5815e9f7c994f7baaeb69d0..780a098659bd5e888f05436506685144d6d5c0a7 100644 (file)
@@ -233,6 +233,19 @@ gtk_frame_realized_callback( GtkWidget *WXUNUSED(widget), wxFrame *win )
     else
         gtk_window_set_policy(GTK_WINDOW(win->m_widget), 1, 1, 1);
 
+    /* set size hints */
+    gint flag =        GDK_HINT_POS;
+    if ((win->GetMinWidth() != -1) || (win->GetMinHeight() != -1)) flag |= GDK_HINT_MIN_SIZE;
+    if ((win->GetMaxWidth() != -1) || (win->GetMaxHeight() != -1)) flag |= GDK_HINT_MAX_SIZE;
+    if (flag)
+    {
+        gdk_window_set_hints( win->m_widget->window, 
+                             win->m_x, win->m_y,
+                             win->GetMinWidth(), win->GetMinHeight(),
+                             win->GetMaxWidth(), win->GetMaxHeight(),
+                             flag );
+    }
+    
     /* reset the icon */
     if (win->m_icon != wxNullIcon)
     {
@@ -942,6 +955,26 @@ wxToolBar* wxFrame::OnCreateToolBar( long style, wxWindowID id, const wxString&
     return new wxToolBar( this, id, wxDefaultPosition, wxDefaultSize, style, name );
 }
 
+void wxFrame::SetToolBar(wxToolBar *toolbar) 
+{ 
+    m_frameToolBar = toolbar; 
+    if (m_frameToolBar)
+    {
+        /* insert into toolbar area if not already there */
+        if (m_frameToolBar->m_widget->parent != m_mainWidget)
+        {
+           gtk_widget_ref( m_frameToolBar->m_widget );
+           gtk_widget_unparent( m_frameToolBar->m_widget );
+           
+            m_insertInClientArea = TRUE;
+           wxInsertChildInFrame( this, m_frameToolBar );
+            m_insertInClientArea = FALSE;
+           
+           gtk_widget_unref( m_frameToolBar->m_widget );
+       }
+    }
+}
+
 wxToolBar *wxFrame::GetToolBar() const
 {
     return m_frameToolBar;