]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/toplevel.cpp
Add "checked" property for toolbar tool elements in XRC.
[wxWidgets.git] / src / gtk / toplevel.cpp
index 506233552535b0542c4be902c677e8111bd06545..1e1c3bcc399313892ce7610e64fb6650b94801b6 100644 (file)
@@ -308,31 +308,26 @@ gtk_frame_configure_callback( GtkWidget* widget,
 // we cannot the WM hints and icons before the widget has been realized,
 // so we do this directly after realization
 
-extern "C" {
-static void
-gtk_frame_realized_callback( GtkWidget * WXUNUSED(widget),
-                             wxTopLevelWindowGTK *win )
+void wxTopLevelWindowGTK::GTKHandleRealized()
 {
-    gdk_window_set_decorations(gtk_widget_get_window(win->m_widget),
-                               (GdkWMDecoration)win->m_gdkDecor);
-    gdk_window_set_functions(gtk_widget_get_window(win->m_widget),
-                               (GdkWMFunction)win->m_gdkFunc);
+    wxNonOwnedWindow::GTKHandleRealized();
+
+    gdk_window_set_decorations(gtk_widget_get_window(m_widget),
+                               (GdkWMDecoration)m_gdkDecor);
+    gdk_window_set_functions(gtk_widget_get_window(m_widget),
+                               (GdkWMFunction)m_gdkFunc);
 
     // GTK's shrinking/growing policy
-    if ( !(win->m_gdkFunc & GDK_FUNC_RESIZE) )
-        gtk_window_set_resizable(GTK_WINDOW(win->m_widget), FALSE);
+    if ( !(m_gdkFunc & GDK_FUNC_RESIZE) )
+        gtk_window_set_resizable(GTK_WINDOW(m_widget), FALSE);
 #if !GTK_CHECK_VERSION(3,0,0) && !defined(GTK_DISABLE_DEPRECATED)
     else
-        gtk_window_set_policy(GTK_WINDOW(win->m_widget), 1, 1, 1);
+        gtk_window_set_policy(GTK_WINDOW(m_widget), 1, 1, 1);
 #endif
 
-    const wxIconBundle& icons = win->GetIcons();
+    const wxIconBundle& icons = GetIcons();
     if (icons.GetIconCount())
-        win->SetIcons(icons);
-
-    if (win->HasFlag(wxFRAME_SHAPED))
-        win->SetShape(win->m_shape); // it will really set the window shape now
-}
+        SetIcons(icons);
 }
 
 //-----------------------------------------------------------------------------
@@ -632,11 +627,6 @@ bool wxTopLevelWindowGTK::Create( wxWindow *parent,
         gtk_widget_set_uposition( m_widget, m_x, m_y );
 #endif
 
-    //  we cannot set MWM hints and icons before the widget has
-    //  been realized, so we do this directly after realization
-    g_signal_connect (m_widget, "realize",
-                      G_CALLBACK (gtk_frame_realized_callback), this);
-
     // for some reported size corrections
     g_signal_connect (m_widget, "map_event",
                       G_CALLBACK (gtk_frame_map_callback), this);
@@ -1328,48 +1318,6 @@ void wxTopLevelWindowGTK::RemoveGrab()
 }
 
 
-// helper
-static bool do_shape_combine_region(GdkWindow* window, const wxRegion& region)
-{
-    if (window)
-    {
-        if (region.IsEmpty())
-        {
-            gdk_window_shape_combine_mask(window, NULL, 0, 0);
-        }
-        else
-        {
-            gdk_window_shape_combine_region(window, region.GetRegion(), 0, 0);
-            return true;
-        }
-    }
-    return false;
-}
-
-
-bool wxTopLevelWindowGTK::SetShape(const wxRegion& region)
-{
-    wxCHECK_MSG( HasFlag(wxFRAME_SHAPED), false,
-                 wxT("Shaped windows must be created with the wxFRAME_SHAPED style."));
-
-    if ( gtk_widget_get_realized(m_widget) )
-    {
-        if ( m_wxwindow )
-            do_shape_combine_region(gtk_widget_get_window(m_wxwindow), region);
-
-        return do_shape_combine_region(gtk_widget_get_window(m_widget), region);
-    }
-    else // not realized yet
-    {
-        // store the shape to set, it will be really set once we're realized
-        m_shape = region;
-
-        // we don't know if we're going to succeed or fail, be optimistic by
-        // default
-        return true;
-    }
-}
-
 bool wxTopLevelWindowGTK::IsActive()
 {
     return (this == (wxTopLevelWindowGTK*)g_activeFrame);