[gimp] app: Add gimp_dock_separator_set_dropped_cb()
- From: Martin Nordholts <martinn src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gimp] app: Add gimp_dock_separator_set_dropped_cb()
- Date: Sat, 24 Oct 2009 16:39:39 +0000 (UTC)
commit 69f17fdbf201a485365f68be8c9097dd2ecf6a52
Author: Martin Nordholts <martinn src gnome org>
Date: Sat Oct 24 18:34:25 2009 +0200
app: Add gimp_dock_separator_set_dropped_cb()
Allow to set the dropped callback after dock separator construction.
We need this in order to move the dock separators into a common widget
for which the callback to use is not known at construction time.
app/widgets/gimpdock.c | 14 ++++++++------
app/widgets/gimpdockseparator.c | 19 +++++++++++++------
app/widgets/gimpdockseparator.h | 3 ++-
3 files changed, 23 insertions(+), 13 deletions(-)
---
diff --git a/app/widgets/gimpdock.c b/app/widgets/gimpdock.c
index 17eed25..8ff5cc1 100644
--- a/app/widgets/gimpdock.c
+++ b/app/widgets/gimpdock.c
@@ -206,12 +206,14 @@ gimp_dock_init (GimpDock *dock)
gtk_container_add (GTK_CONTAINER (dock->p->main_vbox), dock->p->vbox);
gtk_widget_show (dock->p->vbox);
- dock->p->north_separator = gimp_dock_separator_new (GTK_ANCHOR_NORTH,
- gimp_dock_dropped_cb,
- dock);
- dock->p->south_separator = gimp_dock_separator_new (GTK_ANCHOR_SOUTH,
- gimp_dock_dropped_cb,
- dock);
+ dock->p->north_separator = gimp_dock_separator_new (GTK_ANCHOR_NORTH);
+ gimp_dock_separator_set_dropped_cb (GIMP_DOCK_SEPARATOR (dock->p->north_separator),
+ gimp_dock_dropped_cb,
+ dock);
+ dock->p->south_separator = gimp_dock_separator_new (GTK_ANCHOR_SOUTH);
+ gimp_dock_separator_set_dropped_cb (GIMP_DOCK_SEPARATOR (dock->p->north_separator),
+ gimp_dock_dropped_cb,
+ dock);
gtk_box_pack_start (GTK_BOX (dock->p->vbox), dock->p->north_separator,
FALSE, FALSE, 0);
gtk_box_pack_end (GTK_BOX (dock->p->vbox), dock->p->south_separator,
diff --git a/app/widgets/gimpdockseparator.c b/app/widgets/gimpdockseparator.c
index 33f67f3..a2cedbe 100644
--- a/app/widgets/gimpdockseparator.c
+++ b/app/widgets/gimpdockseparator.c
@@ -211,21 +211,28 @@ gimp_dock_separator_drag_drop (GtkWidget *widget,
/* public functions */
GtkWidget *
-gimp_dock_separator_new (GtkAnchorType anchor,
- GimpDockSeparatorDroppedFunc dropped_cb,
- gpointer dropped_cb_data)
+gimp_dock_separator_new (GtkAnchorType anchor)
{
GimpDockSeparator *separator;
separator = g_object_new (GIMP_TYPE_DOCK_SEPARATOR, NULL);
- separator->p->anchor = anchor;
- separator->p->dropped_cb = dropped_cb;
- separator->p->dropped_cb_data = dropped_cb_data;
+ separator->p->anchor = anchor;
return GTK_WIDGET (separator);
}
+void
+gimp_dock_separator_set_dropped_cb (GimpDockSeparator *separator,
+ GimpDockSeparatorDroppedFunc dropped_cb,
+ gpointer dropped_cb_data)
+{
+ g_return_if_fail (GIMP_IS_DOCK_SEPARATOR (separator));
+
+ separator->p->dropped_cb = dropped_cb;
+ separator->p->dropped_cb_data = dropped_cb_data;
+}
+
GtkAnchorType
gimp_dock_separator_get_anchor (GimpDockSeparator *separator)
{
diff --git a/app/widgets/gimpdockseparator.h b/app/widgets/gimpdockseparator.h
index f4dc5c4..4984eb1 100644
--- a/app/widgets/gimpdockseparator.h
+++ b/app/widgets/gimpdockseparator.h
@@ -53,7 +53,8 @@ struct _GimpDockSeparatorClass
GType gimp_dock_separator_get_type (void) G_GNUC_CONST;
-GtkWidget * gimp_dock_separator_new (GtkAnchorType anchor,
+GtkWidget * gimp_dock_separator_new (GtkAnchorType anchor);
+void gimp_dock_separator_set_dropped_cb (GimpDockSeparator *separator,
GimpDockSeparatorDroppedFunc dropped_cb,
gpointer dropped_cb_data);
GtkAnchorType gimp_dock_separator_get_anchor (GimpDockSeparator *separator);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]