[nautilus] overlay: sync with upstream, and add a case for scrolled windows



commit 2aa5c4844b3f4fe6b26c72d74ccfc9352a11f3f4
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Thu Feb 24 20:32:41 2011 -0500

    overlay: sync with upstream, and add a case for scrolled windows

 src/gedit-overlay-child.c |   87 +++-----------
 src/gedit-overlay.c       |  291 ++++++++++++---------------------------------
 src/gedit-overlay.h       |    7 +-
 3 files changed, 95 insertions(+), 290 deletions(-)
---
diff --git a/src/gedit-overlay-child.c b/src/gedit-overlay-child.c
index 3d4a47d..74d6647 100644
--- a/src/gedit-overlay-child.c
+++ b/src/gedit-overlay-child.c
@@ -23,10 +23,10 @@
 
 struct _GeditOverlayChildPrivate
 {
-	GtkWidget                *widget;
+	GtkWidget		 *widget;
+	GBinding		 *binding;
 	GeditOverlayChildPosition position;
 	guint                     offset;
-	gboolean                  fixed;
 };
 
 enum
@@ -34,8 +34,7 @@ enum
 	PROP_0,
 	PROP_WIDGET,
 	PROP_POSITION,
-	PROP_OFFSET,
-	PROP_FIXED
+	PROP_OFFSET
 };
 
 G_DEFINE_TYPE (GeditOverlayChild, gedit_overlay_child, GTK_TYPE_BIN)
@@ -59,9 +58,6 @@ gedit_overlay_child_get_property (GObject    *object,
 		case PROP_OFFSET:
 			g_value_set_uint (value, child->priv->offset);
 			break;
-		case PROP_FIXED:
-			g_value_set_boolean (value, child->priv->fixed);
-			break;
 		default:
 			G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
 			break;
@@ -88,9 +84,6 @@ gedit_overlay_child_set_property (GObject      *object,
 		case PROP_OFFSET:
 			child->priv->offset = g_value_get_uint (value);
 			break;
-		case PROP_FIXED:
-			child->priv->fixed = g_value_get_boolean (value);
-			break;
 		default:
 			G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
 			break;
@@ -113,8 +106,8 @@ gedit_overlay_child_realize (GtkWidget *widget)
 	attributes.window_type = GDK_WINDOW_CHILD;
 	attributes.wclass = GDK_INPUT_OUTPUT;
 	attributes.event_mask = GDK_EXPOSURE_MASK;
-        attributes.width = 0;
-        attributes.height = 0;
+	attributes.width = 0;
+	attributes.height = 0;
 
 	window = gdk_window_new (parent_window, &attributes, 0);
 	gdk_window_set_user_data (window, widget);
@@ -133,7 +126,6 @@ gedit_overlay_child_get_preferred_width (GtkWidget *widget,
 
 	if (child->priv->widget != NULL)
 	{
-
 		gtk_widget_get_preferred_width (child->priv->widget,
 		                                &child_min, &child_nat);
 	}
@@ -151,8 +143,7 @@ gedit_overlay_child_get_preferred_height (GtkWidget *widget,
         gint child_min = 0, child_nat = 0;
 
 	if (child->priv->widget != NULL)
-        {
-
+	{
 		gtk_widget_get_preferred_height (child->priv->widget,
 		                                 &child_min, &child_nat);
 	}
@@ -170,14 +161,14 @@ gedit_overlay_child_size_allocate (GtkWidget     *widget,
 
         tmp.width = allocation->width;
         tmp.height = allocation->height;
-        tmp.x = 0;
-        tmp.y = 0;
-
+        tmp.x = tmp.y = 0;
+        
 	GTK_WIDGET_CLASS (gedit_overlay_child_parent_class)->size_allocate (widget, allocation);
 
 	if (child->priv->widget != NULL)
 	{
-		gtk_widget_size_allocate (child->priv->widget, &tmp);
+		gtk_widget_size_allocate (child->priv->widget,
+		                          &tmp);
 	}
 }
 
@@ -189,6 +180,10 @@ gedit_overlay_child_add (GtkContainer *container,
 
 	child->priv->widget = widget;
 
+	child->priv->binding = g_object_bind_property (G_OBJECT (widget), "visible",
+						       G_OBJECT (container), "visible",
+						       G_BINDING_BIDIRECTIONAL);
+
 	GTK_CONTAINER_CLASS (gedit_overlay_child_parent_class)->add (container, widget);
 }
 
@@ -200,6 +195,8 @@ gedit_overlay_child_remove (GtkContainer *container,
 
 	child->priv->widget = NULL;
 
+	g_object_unref (child->priv->binding);
+
 	GTK_CONTAINER_CLASS (gedit_overlay_child_parent_class)->remove (container, widget);
 }
 
@@ -234,8 +231,9 @@ gedit_overlay_child_class_init (GeditOverlayChildClass *klass)
 	                                 g_param_spec_uint ("position",
 	                                                    "Position",
 	                                                    "The Widget Position",
-	                                                    1, GEDIT_OVERLAY_CHILD_POSITION_STATIC,
+                                                            0, 
 	                                                    GEDIT_OVERLAY_CHILD_POSITION_STATIC,
+                                                            0,
 	                                                    G_PARAM_READWRITE |
 	                                                    G_PARAM_CONSTRUCT |
 	                                                    G_PARAM_STATIC_STRINGS));
@@ -251,15 +249,6 @@ gedit_overlay_child_class_init (GeditOverlayChildClass *klass)
 	                                                    G_PARAM_CONSTRUCT |
 	                                                    G_PARAM_STATIC_STRINGS));
 
-	g_object_class_install_property (object_class, PROP_FIXED,
-	                                 g_param_spec_boolean ("fixed",
-	                                                       "Fixed",
-	                                                       "Wether the Widget is in a fixed position",
-	                                                       TRUE,
-	                                                       G_PARAM_READWRITE |
-	                                                       G_PARAM_CONSTRUCT |
-	                                                       G_PARAM_STATIC_STRINGS));
-
 	g_type_class_add_private (object_class, sizeof (GeditOverlayChildPrivate));
 }
 
@@ -364,44 +353,4 @@ gedit_overlay_child_set_offset (GeditOverlayChild *child,
 	}
 }
 
-/**
- * gedit_overlay_child_get_fixed:
- * @child: a #GeditOverlayChild
- *
- * Gets wether @child is fixed in its position. If @child is not fixed the position
- * will change when for example you scroll the container.
- *
- * Returns: wether @child is fixed in its position
- */
-gboolean
-gedit_overlay_child_get_fixed (GeditOverlayChild *child)
-{
-	g_return_val_if_fail (GEDIT_IS_OVERLAY_CHILD (child), TRUE);
-
-	return child->priv->fixed;
-}
-
-/**
- * gedit_overlay_child_set_fixed:
- * @child: a #GeditOverlayChild
- * @fixed: wether @child is in a fixed position
- *
- * Sets wether @child is in a fixed position
- */
-void
-gedit_overlay_child_set_fixed (GeditOverlayChild *child,
-                               gboolean           fixed)
-{
-	g_return_if_fail (GEDIT_IS_OVERLAY_CHILD (child));
-
-	fixed = (fixed != FALSE);
-
-	if (child->priv->fixed != fixed)
-	{
-		child->priv->fixed = fixed;
-
-		g_object_notify (G_OBJECT (child), "fixed");
-	}
-}
-
 /* ex:set ts=8 noet: */
diff --git a/src/gedit-overlay.c b/src/gedit-overlay.c
index 2941de6..eeaf2ea 100644
--- a/src/gedit-overlay.c
+++ b/src/gedit-overlay.c
@@ -30,35 +30,18 @@
 struct _GeditOverlayPrivate
 {
 	GtkWidget *main_widget;
+	GtkWidget *relative_widget;
 	GSList    *children;
-	GtkAllocation main_alloc;
-
-	GtkAdjustment *hadjustment;
-	GtkAdjustment *vadjustment;
-
-	/* GtkScrollablePolicy needs to be checked when
-	 * driving the scrollable adjustment values */
-	guint hscroll_policy : 1;
-	guint vscroll_policy : 1;
 };
 
 enum
 {
 	PROP_0,
 	PROP_MAIN_WIDGET,
-	PROP_HADJUSTMENT,
-	PROP_VADJUSTMENT,
-	PROP_HSCROLL_POLICY,
-	PROP_VSCROLL_POLICY
+	PROP_RELATIVE_WIDGET
 };
 
-static void	gedit_overlay_set_hadjustment		(GeditOverlay  *overlay,
-							 GtkAdjustment *adjustment);
-static void	gedit_overlay_set_vadjustment		(GeditOverlay  *overlay,
-							 GtkAdjustment *adjustment);
-
-G_DEFINE_TYPE_WITH_CODE (GeditOverlay, gedit_overlay, GTK_TYPE_CONTAINER,
-                         G_IMPLEMENT_INTERFACE (GTK_TYPE_SCROLLABLE, NULL))
+G_DEFINE_TYPE (GeditOverlay, gedit_overlay, GTK_TYPE_CONTAINER)
 
 static void
 add_toplevel_widget (GeditOverlay *overlay,
@@ -71,6 +54,12 @@ add_toplevel_widget (GeditOverlay *overlay,
 }
 
 static void
+gedit_overlay_dispose (GObject *object)
+{
+	G_OBJECT_CLASS (gedit_overlay_parent_class)->dispose (object);
+}
+
+static void
 gedit_overlay_get_property (GObject    *object,
                             guint       prop_id,
                             GValue     *value,
@@ -85,36 +74,8 @@ gedit_overlay_get_property (GObject    *object,
 			g_value_set_object (value, priv->main_widget);
 			break;
 
-		case PROP_HADJUSTMENT:
-			g_value_set_object (value, priv->hadjustment);
-			break;
-
-		case PROP_VADJUSTMENT:
-			g_value_set_object (value, priv->vadjustment);
-			break;
-
-		case PROP_HSCROLL_POLICY:
-			if (GTK_IS_SCROLLABLE (priv->main_widget))
-			{
-				g_value_set_enum (value,
-				                  gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (priv->main_widget)));
-			}
-			else
-			{
-				g_value_set_enum (value, priv->hscroll_policy);
-			}
-			break;
-
-		case PROP_VSCROLL_POLICY:
-			if (GTK_IS_SCROLLABLE (priv->main_widget))
-			{
-				g_value_set_enum (value,
-				                  gtk_scrollable_get_vscroll_policy (GTK_SCROLLABLE (priv->main_widget)));
-			}
-			else
-			{
-				g_value_set_enum (value, priv->vscroll_policy);
-			}
+		case PROP_RELATIVE_WIDGET:
+			g_value_set_object (value, priv->relative_widget);
 			break;
 
 		default:
@@ -135,45 +96,12 @@ gedit_overlay_set_property (GObject      *object,
 	switch (prop_id)
 	{
 		case PROP_MAIN_WIDGET:
-			overlay->priv->main_widget = g_value_get_object (value);
-			add_toplevel_widget (overlay,
-			                     overlay->priv->main_widget);
-			break;
-
-		case PROP_HADJUSTMENT:
-			gedit_overlay_set_hadjustment (overlay,
-						       g_value_get_object (value));
-			break;
-
-		case PROP_VADJUSTMENT:
-			gedit_overlay_set_vadjustment (overlay,
-						       g_value_get_object (value));
-			break;
-
-		case PROP_HSCROLL_POLICY:
-			if (GTK_IS_SCROLLABLE (priv->main_widget))
-			{
-				gtk_scrollable_set_hscroll_policy (GTK_SCROLLABLE (priv->main_widget),
-				                                   g_value_get_uint (value));
-			}
-			else
-			{
-				priv->hscroll_policy = g_value_get_enum (value);
-				gtk_widget_queue_resize (GTK_WIDGET (overlay));
-			}
+			priv->main_widget = g_value_get_object (value);
+			add_toplevel_widget (overlay, priv->main_widget);
 			break;
 
-		case PROP_VSCROLL_POLICY:
-			if (GTK_IS_SCROLLABLE (priv->main_widget))
-			{
-				gtk_scrollable_set_vscroll_policy (GTK_SCROLLABLE (priv->main_widget),
-				                                   g_value_get_enum (value));
-			}
-			else
-			{
-				priv->vscroll_policy = g_value_get_enum (value);
-				gtk_widget_queue_resize (GTK_WIDGET (overlay));
-			}
+		case PROP_RELATIVE_WIDGET:
+			priv->relative_widget = g_value_get_object (value);
 			break;
 
 		default:
@@ -223,24 +151,13 @@ gedit_overlay_get_preferred_width (GtkWidget *widget,
                                    gint      *natural)
 {
 	GeditOverlayPrivate *priv = GEDIT_OVERLAY (widget)->priv;
-	GtkWidget *child;
-	GSList *children;
-	gint child_min, child_nat;
 
 	*minimum = 0;
 	*natural = 0;
 
-	for (children = priv->children; children; children = children->next)
+	if (priv->main_widget)
 	{
-		child = children->data;
-
-		if (!gtk_widget_get_visible (child))
-			continue;
-
-		gtk_widget_get_preferred_width (child, &child_min, &child_nat);
-
-		*minimum = MAX (*minimum, child_min);
-		*natural = MAX (*natural, child_nat);
+		gtk_widget_get_preferred_width (priv->main_widget, minimum, natural);
 	}
 }
 
@@ -250,35 +167,53 @@ gedit_overlay_get_preferred_height (GtkWidget *widget,
                                     gint      *natural)
 {
 	GeditOverlayPrivate *priv = GEDIT_OVERLAY (widget)->priv;
-	GtkWidget *child;
-	GSList *children;
-	gint child_min, child_nat;
 
 	*minimum = 0;
 	*natural = 0;
 
-	for (children = priv->children; children; children = children->next)
+	if (priv->main_widget)
 	{
-		child = children->data;
-
-		if (!gtk_widget_get_visible (child))
-			continue;
-
-		gtk_widget_get_preferred_height (child, &child_min, &child_nat);
-
-		*minimum = MAX (*minimum, child_min);
-		*natural = MAX (*natural, child_nat);
+		gtk_widget_get_preferred_height (priv->main_widget, minimum, natural);
 	}
 }
 
 static void
-set_children_positions (GeditOverlay *overlay)
+gedit_overlay_size_allocate (GtkWidget     *widget,
+                             GtkAllocation *allocation)
 {
+	GeditOverlay *overlay = GEDIT_OVERLAY (widget);
+	GeditOverlayPrivate *priv = overlay->priv;
+	GtkAllocation main_alloc;
 	GSList *l;
 
-	for (l = overlay->priv->children; l != NULL; l = g_slist_next (l))
+	GTK_WIDGET_CLASS (gedit_overlay_parent_class)->size_allocate (widget, allocation);
+
+	/* main widget allocation */
+	main_alloc.x = 0;
+	main_alloc.y = 0;
+	main_alloc.width = allocation->width;
+	main_alloc.height = allocation->height;
+
+	gtk_widget_size_allocate (overlay->priv->main_widget, &main_alloc);
+
+	/* if a relative widget exists place the floating widgets in relation to it */
+	if (priv->relative_widget)
+	{
+		GtkWidget *child;
+
+		/* if the relative widget is a scrolled window, place the children
+		 * inside of it to avoid covering the scrollbars.
+		 */
+		if (GTK_IS_SCROLLED_WINDOW (priv->relative_widget)) {
+			child = gtk_bin_get_child (GTK_BIN (priv->relative_widget));
+			gtk_widget_get_allocation (child, &main_alloc);
+		} else {
+            		gtk_widget_get_allocation (priv->relative_widget, &main_alloc);
+		}
+	}
+
+	for (l = priv->children; l != NULL; l = g_slist_next (l))
 	{
-		GeditOverlayPrivate *priv = overlay->priv;
 		GtkWidget *child = GTK_WIDGET (l->data);
 		GtkRequisition req;
 		GtkAllocation alloc;
@@ -295,7 +230,7 @@ set_children_positions (GeditOverlay *overlay)
 		{
 			/* The gravity is treated as position and not as a gravity */
 			case GEDIT_OVERLAY_CHILD_POSITION_NORTH_EAST:
-				alloc.x = priv->main_alloc.width - req.width - offset;
+				alloc.x = MAX (main_alloc.x, main_alloc.width - req.width - (gint) offset);
 				alloc.y = 0;
 				break;
 			case GEDIT_OVERLAY_CHILD_POSITION_NORTH_WEST:
@@ -304,48 +239,24 @@ set_children_positions (GeditOverlay *overlay)
 				break;
 			case GEDIT_OVERLAY_CHILD_POSITION_SOUTH_WEST:
 				alloc.x = offset;
-				alloc.y = priv->main_alloc.height - req.height;
+				alloc.y = MAX (main_alloc.y, main_alloc.height - req.height);
 				break;
-	                case GEDIT_OVERLAY_CHILD_POSITION_SOUTH_EAST:
-				alloc.x = MAX (priv->main_alloc.x, priv->main_alloc.width - req.width - (gint) offset);
-				alloc.y = MAX (priv->main_alloc.y, priv->main_alloc.height - req.height);
+			case GEDIT_OVERLAY_CHILD_POSITION_SOUTH_EAST:
+				alloc.x = MAX (main_alloc.x, main_alloc.width - req.width - (gint) offset);
+				alloc.y = MAX (main_alloc.y, main_alloc.height - req.height);
 				break;
 			default:
 				alloc.x = 0;
 				alloc.y = 0;
 		}
 
-		if (!gedit_overlay_child_get_fixed (GEDIT_OVERLAY_CHILD (child)))
-		{
-			alloc.x *= gtk_adjustment_get_value (priv->hadjustment);
-			alloc.y *= gtk_adjustment_get_value (priv->vadjustment);
-		}
-
-		alloc.width = MIN (priv->main_alloc.width, req.width);
-		alloc.height = MIN (priv->main_alloc.height, req.height);
+		alloc.width = MIN (main_alloc.width, req.width);
+		alloc.height = MIN (main_alloc.height, req.height);
 
 		gtk_widget_size_allocate (child, &alloc);
 	}
 }
 
-static void
-gedit_overlay_size_allocate (GtkWidget     *widget,
-                             GtkAllocation *allocation)
-{
-	GeditOverlay *overlay = GEDIT_OVERLAY (widget);
-
-	GTK_WIDGET_CLASS (gedit_overlay_parent_class)->size_allocate (widget, allocation);
-
-	overlay->priv->main_alloc.x = 0;
-	overlay->priv->main_alloc.y = 0;
-	overlay->priv->main_alloc.width = allocation->width;
-	overlay->priv->main_alloc.height = allocation->height;
-
-	gtk_widget_size_allocate (overlay->priv->main_widget,
-	                          &overlay->priv->main_alloc);
-	set_children_positions (overlay);
-}
-
 static GeditOverlayChild *
 get_overlay_child (GeditOverlay *overlay,
                    GtkWidget    *widget)
@@ -378,6 +289,7 @@ get_overlay_child (GeditOverlay *overlay,
 			{
 				overlay_child = GEDIT_OVERLAY_CHILD (child);
 				g_object_unref (in_widget);
+
 				break;
 			}
 
@@ -409,7 +321,7 @@ overlay_add (GtkContainer *overlay,
 			gtk_widget_show (GTK_WIDGET (child));
 
 			g_signal_connect_swapped (widget, "destroy",
-						  G_CALLBACK (gtk_widget_destroy), child);
+			                          G_CALLBACK (gtk_widget_destroy), child);
 		}
 
 		add_toplevel_widget (GEDIT_OVERLAY (overlay), GTK_WIDGET (child));
@@ -464,60 +376,6 @@ gedit_overlay_child_type (GtkContainer *overlay)
 	return GTK_TYPE_WIDGET;
 }
 
-static void
-gedit_overlay_set_hadjustment (GeditOverlay  *overlay,
-                               GtkAdjustment *adjustment)
-{
-	GeditOverlayPrivate *priv = overlay->priv;
-
-	if (adjustment && priv->vadjustment == adjustment)
-		return;
-
-	if (adjustment == NULL)
-	{
-		adjustment = gtk_adjustment_new (0.0, 0.0, 0.0,
-		                                 0.0, 0.0, 0.0);
-	}
-
-	priv->hadjustment = g_object_ref_sink (adjustment);
-
-	if (GTK_IS_SCROLLABLE (priv->main_widget))
-	{
-		g_object_set (priv->main_widget,
-		              "hadjustment", adjustment,
-		              NULL);
-
-	}
-
-	g_object_notify (G_OBJECT (overlay), "hadjustment");
-}
-
-static void
-gedit_overlay_set_vadjustment (GeditOverlay  *overlay,
-                               GtkAdjustment *adjustment)
-{
-	GeditOverlayPrivate *priv = overlay->priv;
-
-	if (adjustment && priv->vadjustment == adjustment)
-		return;
-
-	if (adjustment == NULL)
-	{
-		adjustment = gtk_adjustment_new (0.0, 0.0, 0.0,
-		                                 0.0, 0.0, 0.0);
-	}
-
-	priv->vadjustment = g_object_ref_sink (adjustment);
-
-	if (GTK_IS_SCROLLABLE (priv->main_widget))
-	{
-		g_object_set (priv->main_widget,
-		              "vadjustment", adjustment,
-		              NULL);
-	}
-
-	g_object_notify (G_OBJECT (overlay), "vadjustment");
-}
 
 static void
 gedit_overlay_class_init (GeditOverlayClass *klass)
@@ -526,6 +384,7 @@ gedit_overlay_class_init (GeditOverlayClass *klass)
 	GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 	GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
 
+	object_class->dispose = gedit_overlay_dispose;
 	object_class->get_property = gedit_overlay_get_property;
 	object_class->set_property = gedit_overlay_set_property;
 
@@ -548,18 +407,13 @@ gedit_overlay_class_init (GeditOverlayClass *klass)
 	                                                      G_PARAM_CONSTRUCT_ONLY |
 	                                                      G_PARAM_STATIC_STRINGS));
 
-	g_object_class_override_property (object_class,
-	                                  PROP_HADJUSTMENT,
-	                                  "hadjustment");
-	g_object_class_override_property (object_class,
-	                                  PROP_VADJUSTMENT,
-	                                  "vadjustment");
-	g_object_class_override_property (object_class,
-	                                  PROP_HSCROLL_POLICY,
-	                                  "hscroll-policy");
-	g_object_class_override_property (object_class,
-	                                  PROP_VSCROLL_POLICY,
-	                                  "vscroll-policy");
+	g_object_class_install_property (object_class, PROP_RELATIVE_WIDGET,
+	                                 g_param_spec_object ("relative-widget",
+	                                                      "Relative Widget",
+	                                                      "Widget on which the floating widgets are placed",
+	                                                      GTK_TYPE_WIDGET,
+	                                                      G_PARAM_READWRITE |
+	                                                      G_PARAM_STATIC_STRINGS));
 
 	g_type_class_add_private (object_class, sizeof (GeditOverlayPrivate));
 }
@@ -573,18 +427,23 @@ gedit_overlay_init (GeditOverlay *overlay)
 /**
  * gedit_overlay_new:
  * @main_widget: a #GtkWidget
+ * @relative_widget: (allow-none): a #Gtkwidget
  *
- * Creates a new #GeditOverlay
+ * Creates a new #GeditOverlay. If @relative_widget is not %NULL the floating
+ * widgets will be placed in relation to it, if not @main_widget will be use
+ * for this purpose.
  *
  * Returns: a new #GeditOverlay object.
  */
 GtkWidget *
-gedit_overlay_new (GtkWidget *main_widget)
+gedit_overlay_new (GtkWidget *main_widget,
+                   GtkWidget *relative_widget)
 {
 	g_return_val_if_fail (GTK_IS_WIDGET (main_widget), NULL);
 
 	return GTK_WIDGET (g_object_new (GEDIT_TYPE_OVERLAY,
 	                                 "main-widget", main_widget,
+	                                 "relative-widget", relative_widget,
 	                                 NULL));
 }
 
diff --git a/src/gedit-overlay.h b/src/gedit-overlay.h
index 8817d33..9e1c769 100644
--- a/src/gedit-overlay.h
+++ b/src/gedit-overlay.h
@@ -50,15 +50,12 @@ struct _GeditOverlay
 struct _GeditOverlayClass
 {
 	GtkContainerClass parent_class;
-
-	void (* set_scroll_adjustments)	  (GeditOverlay	 *overlay,
-					   GtkAdjustment *hadjustment,
-					   GtkAdjustment *vadjustment);
 };
 
 GType		 gedit_overlay_get_type			(void) G_GNUC_CONST;
 
-GtkWidget	*gedit_overlay_new			(GtkWidget *main_widget);
+GtkWidget	*gedit_overlay_new			(GtkWidget *main_widget,
+                                                         GtkWidget *relative_widget);
 
 void		 gedit_overlay_add			(GeditOverlay             *overlay,
 							 GtkWidget                *widget,



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