mirror of https://github.com/GNOME/gimp.git
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.
This commit is contained in:
parent
fafee5230f
commit
69f17fdbf2
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue