[glade3] * gladeui/glade-design-layout.c: Make sure to hide widgets going out of the workspace so that em



commit 4bed7e8db5ec8ed81256c3af80942a4c96225f1d
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date:   Sun Dec 26 19:59:47 2010 +0900

    	* gladeui/glade-design-layout.c: Make sure to hide widgets going out of the workspace
    	  so that embedded toplevels dont "pop out" of the workspace

 ChangeLog                     |    3 +++
 gladeui/glade-design-layout.c |   13 +++++++++++++
 2 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 50edeed..c3aaee5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,9 @@
 
 	* gladeui/glade-placeholder.c: Removed debug printing and some unused variables.
 
+	* gladeui/glade-design-layout.c: Make sure to hide widgets going out of the workspace
+	  so that embedded toplevels dont "pop out" of the workspace
+
 2010-12-23  Tristan Van Berkom <tristanvb openismus com>
 
 	* gladeui/glade-widget.c: Check if object is actually in the parent when rebuilding
diff --git a/gladeui/glade-design-layout.c b/gladeui/glade-design-layout.c
index 5457d3c..d4ce137 100644
--- a/gladeui/glade-design-layout.c
+++ b/gladeui/glade-design-layout.c
@@ -486,6 +486,18 @@ glade_design_layout_add (GtkContainer *container, GtkWidget *widget)
 	gtk_widget_set_parent_window (widget, gtk_widget_get_window (parent));
 
 	GTK_CONTAINER_CLASS (glade_design_layout_parent_class)->add (container, widget);
+
+	gtk_widget_queue_draw (GTK_WIDGET (container));
+}
+
+static void
+glade_design_layout_remove (GtkContainer *container, GtkWidget *widget)
+{
+	/* Make sure toplevels dont "pop out" of the workspace */
+	gtk_widget_hide (widget);
+	GTK_CONTAINER_CLASS (glade_design_layout_parent_class)->remove (container, widget);
+
+	gtk_widget_queue_draw (GTK_WIDGET (container));
 }
 
 static void
@@ -825,6 +837,7 @@ glade_design_layout_class_init (GladeDesignLayoutClass *klass)
 	object_class->finalize              = glade_design_layout_finalize;
 	
 	container_class->add                = glade_design_layout_add;
+	container_class->remove             = glade_design_layout_remove;
 
 	widget_class->map                   = glade_design_layout_map;
 	widget_class->unmap                 = glade_design_layout_unmap;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]