[gimp] app: Seal GimpDockable and add necessary getters and setters
- From: Martin Nordholts <martinn src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gimp] app: Seal GimpDockable and add necessary getters and setters
- Date: Mon, 4 Jan 2010 23:31:51 +0000 (UTC)
commit be653a7110e033f57c50e3c2d878042318cb2d50
Author: Martin Nordholts <martinn src gnome org>
Date: Tue Jan 5 00:30:10 2010 +0100
app: Seal GimpDockable and add necessary getters and setters
app/actions/dockable-actions.c | 4 +-
app/actions/dockable-commands.c | 6 +-
app/widgets/gimpdialogfactory.c | 9 +-
app/widgets/gimpdock.c | 14 +-
app/widgets/gimpdockable.c | 369 +++++++++++++++++++++-----------
app/widgets/gimpdockable.h | 44 ++---
app/widgets/gimpdockbook.c | 55 +++--
app/widgets/gimpdockcolumns.c | 2 +-
app/widgets/gimpmenudock.c | 2 +-
app/widgets/gimpsessioninfo-dockable.c | 4 +-
10 files changed, 312 insertions(+), 197 deletions(-)
---
diff --git a/app/actions/dockable-actions.c b/app/actions/dockable-actions.c
index 863445d..73d0fa5 100644
--- a/app/actions/dockable-actions.c
+++ b/app/actions/dockable-actions.c
@@ -220,7 +220,7 @@ dockable_actions_update (GimpActionGroup *group,
else if (GIMP_IS_DOCKABLE (data))
{
dockable = GIMP_DOCKABLE (data);
- dockbook = dockable->dockbook;
+ dockbook = gimp_dockable_get_dockbook (dockable);
}
else
{
@@ -266,7 +266,7 @@ dockable_actions_update (GimpActionGroup *group,
if (view)
view_size = gimp_container_view_get_view_size (view, NULL);
- tab_style = dockable->tab_style;
+ tab_style = gimp_dockable_get_tab_style (dockable);
n_pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (dockbook));
n_books = g_list_length (gimp_dock_get_dockbooks (dock));
diff --git a/app/actions/dockable-commands.c b/app/actions/dockable-commands.c
index 0b807c6..846efcc 100644
--- a/app/actions/dockable-commands.c
+++ b/app/actions/dockable-commands.c
@@ -76,7 +76,7 @@ dockable_add_tab_cmd_callback (GtkAction *action,
* existing singleton dockable, so check if it already is
* attached to a dockbook.
*/
- if (dockable && ! GIMP_DOCKABLE (dockable)->dockbook)
+ if (dockable && ! gimp_dockable_get_dockbook (GIMP_DOCKABLE (dockable)))
gimp_dockbook_add (dockbook, GIMP_DOCKABLE (dockable), -1);
}
}
@@ -210,7 +210,7 @@ dockable_toggle_view_cmd_callback (GtkAction *action,
* an already existing singleton dockable, so check
* if it already is attached to a dockbook.
*/
- if (! GIMP_DOCKABLE (new_dockable)->dockbook)
+ if (! gimp_dockable_get_dockbook (GIMP_DOCKABLE (new_dockable)))
{
gimp_dockbook_add (dockbook, GIMP_DOCKABLE (new_dockable),
page_num);
@@ -268,7 +268,7 @@ dockable_tab_style_cmd_callback (GtkAction *action,
tab_style = (GimpTabStyle)
gtk_radio_action_get_current_value (GTK_RADIO_ACTION (action));
- if (dockable && dockable->tab_style != tab_style)
+ if (dockable && gimp_dockable_get_tab_style (dockable) != tab_style)
{
GtkWidget *tab_widget;
diff --git a/app/widgets/gimpdialogfactory.c b/app/widgets/gimpdialogfactory.c
index 3217e81..a8a00da 100644
--- a/app/widgets/gimpdialogfactory.c
+++ b/app/widgets/gimpdialogfactory.c
@@ -605,9 +605,10 @@ gimp_dialog_factory_dialog_new_internal (GimpDialogFactory *factory,
{
GimpDockable *dockable = GIMP_DOCKABLE (dialog);
- if (dockable->dockbook && gimp_dockbook_get_dock (dockable->dockbook))
+ if (gimp_dockable_get_dockbook (dockable) &&
+ gimp_dockbook_get_dock (gimp_dockable_get_dockbook (dockable)))
{
- GtkNotebook *notebook = GTK_NOTEBOOK (dockable->dockbook);
+ GtkNotebook *notebook = GTK_NOTEBOOK (gimp_dockable_get_dockbook (dockable));
gint num = gtk_notebook_page_num (notebook, dialog);
if (num != -1)
@@ -786,8 +787,8 @@ gimp_dialog_factory_dialog_raise (GimpDialogFactory *factory,
* added to.
*
* Implicitly raises & returns an already existing singleton dockable,
- * so callers should check that dockable->dockbook is NULL before trying
- * to add it to it's #GimpDockbook.
+ * so callers should check that gimp_dockable_get_dockbook (dockable)
+ * is NULL before trying to add it to it's #GimpDockbook.
*
* Return value: the newly created #GimpDockable or an already existing
* singleton dockable.
diff --git a/app/widgets/gimpdock.c b/app/widgets/gimpdock.c
index b3825bb..b187fab 100644
--- a/app/widgets/gimpdock.c
+++ b/app/widgets/gimpdock.c
@@ -268,7 +268,7 @@ gimp_dock_dropped_cb (GtkWidget *source,
/* if dropping to the same dock, take care that we don't try
* to reorder the *only* dockable in the dock
*/
- if (gimp_dockbook_get_dock (dockable->dockbook) == dock)
+ if (gimp_dockbook_get_dock (gimp_dockable_get_dockbook (dockable)) == dock)
{
GList *children;
gint n_books;
@@ -276,7 +276,7 @@ gimp_dock_dropped_cb (GtkWidget *source,
n_books = g_list_length (gimp_dock_get_dockbooks (dock));
- children = gtk_container_get_children (GTK_CONTAINER (dockable->dockbook));
+ children = gtk_container_get_children (GTK_CONTAINER (gimp_dockable_get_dockbook (dockable)));
n_dockables = g_list_length (children);
g_list_free (children);
@@ -286,7 +286,7 @@ gimp_dock_dropped_cb (GtkWidget *source,
/* Detach the dockable from the old dockbook */
g_object_ref (dockable);
- gimp_dockbook_remove (dockable->dockbook, dockable);
+ gimp_dockbook_remove (gimp_dockable_get_dockbook (dockable), dockable);
/* Create a new dockbook */
dockbook = gimp_dockbook_new (global_menu_factory);
@@ -459,7 +459,7 @@ gimp_dock_add (GimpDock *dock,
g_return_if_fail (GIMP_IS_DOCK (dock));
g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
- g_return_if_fail (dockable->dockbook == NULL);
+ g_return_if_fail (gimp_dockable_get_dockbook (dockable) == NULL);
dockbook = GIMP_DOCKBOOK (dock->p->dockbooks->data);
@@ -472,10 +472,10 @@ gimp_dock_remove (GimpDock *dock,
{
g_return_if_fail (GIMP_IS_DOCK (dock));
g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
- g_return_if_fail (dockable->dockbook != NULL);
- g_return_if_fail (gimp_dockbook_get_dock (dockable->dockbook) == dock);
+ g_return_if_fail (gimp_dockable_get_dockbook (dockable) != NULL);
+ g_return_if_fail (gimp_dockbook_get_dock (gimp_dockable_get_dockbook (dockable)) == dock);
- gimp_dockbook_remove (dockable->dockbook, dockable);
+ gimp_dockbook_remove (gimp_dockable_get_dockbook (dockable), dockable);
}
void
diff --git a/app/widgets/gimpdockable.c b/app/widgets/gimpdockable.c
index d39be0d..3eac352 100644
--- a/app/widgets/gimpdockable.c
+++ b/app/widgets/gimpdockable.c
@@ -58,6 +58,35 @@ enum
PROP_LOCKED
};
+
+struct _GimpDockablePrivate
+{
+ gchar *name;
+ gchar *blurb;
+ gchar *stock_id;
+ gchar *help_id;
+ GimpTabStyle tab_style;
+ gboolean locked;
+
+ GimpDockbook *dockbook;
+
+ GimpContext *context;
+
+ PangoLayout *title_layout;
+ GdkWindow *title_window;
+ GtkWidget *menu_button;
+
+ guint blink_timeout_id;
+ gint blink_counter;
+
+ GimpPanedBox *drag_handler;
+
+ /* drag icon hotspot */
+ gint drag_x;
+ gint drag_y;
+};
+
+
static void gimp_dockable_set_property (GObject *object,
guint property_id,
const GValue *value,
@@ -175,6 +204,8 @@ gimp_dockable_class_init (GimpDockableClass *klass)
G_MAXINT,
0,
GIMP_PARAM_READABLE));
+
+ g_type_class_add_private (klass, sizeof (GimpDockablePrivate));
}
static void
@@ -182,37 +213,30 @@ gimp_dockable_init (GimpDockable *dockable)
{
GtkWidget *image;
- dockable->name = NULL;
- dockable->blurb = NULL;
- dockable->stock_id = NULL;
- dockable->help_id = NULL;
- dockable->tab_style = GIMP_TAB_STYLE_PREVIEW;
- dockable->dockbook = NULL;
- dockable->context = NULL;
-
- dockable->title_layout = NULL;
- dockable->title_window = NULL;
-
- dockable->drag_x = GIMP_DOCKABLE_DRAG_OFFSET;
- dockable->drag_y = GIMP_DOCKABLE_DRAG_OFFSET;
+ dockable->p = G_TYPE_INSTANCE_GET_PRIVATE (dockable,
+ GIMP_TYPE_DOCKABLE,
+ GimpDockablePrivate);
+ dockable->p->tab_style = GIMP_TAB_STYLE_PREVIEW;
+ dockable->p->drag_x = GIMP_DOCKABLE_DRAG_OFFSET;
+ dockable->p->drag_y = GIMP_DOCKABLE_DRAG_OFFSET;
gtk_widget_push_composite_child ();
- dockable->menu_button = gtk_button_new ();
+ dockable->p->menu_button = gtk_button_new ();
gtk_widget_pop_composite_child ();
- gtk_widget_set_can_focus (dockable->menu_button, FALSE);
- gtk_widget_set_parent (dockable->menu_button, GTK_WIDGET (dockable));
- gtk_button_set_relief (GTK_BUTTON (dockable->menu_button), GTK_RELIEF_NONE);
- gtk_widget_show (dockable->menu_button);
+ gtk_widget_set_can_focus (dockable->p->menu_button, FALSE);
+ gtk_widget_set_parent (dockable->p->menu_button, GTK_WIDGET (dockable));
+ gtk_button_set_relief (GTK_BUTTON (dockable->p->menu_button), GTK_RELIEF_NONE);
+ gtk_widget_show (dockable->p->menu_button);
image = gtk_image_new_from_stock (GIMP_STOCK_MENU_LEFT, GTK_ICON_SIZE_MENU);
- gtk_container_add (GTK_CONTAINER (dockable->menu_button), image);
+ gtk_container_add (GTK_CONTAINER (dockable->p->menu_button), image);
gtk_widget_show (image);
- gimp_help_set_help_data (dockable->menu_button, _("Configure this tab"),
+ gimp_help_set_help_data (dockable->p->menu_button, _("Configure this tab"),
GIMP_HELP_DOCK_TAB_MENU);
- g_signal_connect (dockable->menu_button, "button-press-event",
+ g_signal_connect (dockable->p->menu_button, "button-press-event",
G_CALLBACK (gimp_dockable_menu_button_press),
dockable);
@@ -263,7 +287,7 @@ gimp_dockable_get_property (GObject *object,
switch (property_id)
{
case PROP_LOCKED:
- g_value_set_boolean (value, dockable->locked);
+ g_value_set_boolean (value, dockable->p->locked);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -278,45 +302,45 @@ gimp_dockable_destroy (GtkObject *object)
gimp_dockable_blink_cancel (dockable);
- if (dockable->context)
+ if (dockable->p->context)
gimp_dockable_set_context (dockable, NULL);
- if (dockable->blurb)
+ if (dockable->p->blurb)
{
- if (dockable->blurb != dockable->name)
- g_free (dockable->blurb);
+ if (dockable->p->blurb != dockable->p->name)
+ g_free (dockable->p->blurb);
- dockable->blurb = NULL;
+ dockable->p->blurb = NULL;
}
- if (dockable->name)
+ if (dockable->p->name)
{
- g_free (dockable->name);
- dockable->name = NULL;
+ g_free (dockable->p->name);
+ dockable->p->name = NULL;
}
- if (dockable->stock_id)
+ if (dockable->p->stock_id)
{
- g_free (dockable->stock_id);
- dockable->stock_id = NULL;
+ g_free (dockable->p->stock_id);
+ dockable->p->stock_id = NULL;
}
- if (dockable->help_id)
+ if (dockable->p->help_id)
{
- g_free (dockable->help_id);
- dockable->help_id = NULL;
+ g_free (dockable->p->help_id);
+ dockable->p->help_id = NULL;
}
- if (dockable->title_layout)
+ if (dockable->p->title_layout)
{
- g_object_unref (dockable->title_layout);
- dockable->title_layout = NULL;
+ g_object_unref (dockable->p->title_layout);
+ dockable->p->title_layout = NULL;
}
- if (dockable->menu_button)
+ if (dockable->p->menu_button)
{
- gtk_widget_unparent (dockable->menu_button);
- dockable->menu_button = NULL;
+ gtk_widget_unparent (dockable->p->menu_button);
+ dockable->p->menu_button = NULL;
}
GTK_OBJECT_CLASS (parent_class)->destroy (object);
@@ -337,9 +361,9 @@ gimp_dockable_size_request (GtkWidget *widget,
requisition->width = border_width * 2;
requisition->height = border_width * 2;
- if (dockable->menu_button && gtk_widget_get_visible (dockable->menu_button))
+ if (dockable->p->menu_button && gtk_widget_get_visible (dockable->p->menu_button))
{
- gtk_widget_size_request (dockable->menu_button, &child_requisition);
+ gtk_widget_size_request (dockable->p->menu_button, &child_requisition);
if (! child)
requisition->width += child_requisition.width;
@@ -372,9 +396,9 @@ gimp_dockable_size_allocate (GtkWidget *widget,
border_width = gtk_container_get_border_width (container);
- if (dockable->menu_button && gtk_widget_get_visible (dockable->menu_button))
+ if (dockable->p->menu_button && gtk_widget_get_visible (dockable->p->menu_button))
{
- gtk_widget_size_request (dockable->menu_button, &button_requisition);
+ gtk_widget_size_request (dockable->p->menu_button, &button_requisition);
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
child_allocation.x = (allocation->x +
@@ -388,7 +412,7 @@ gimp_dockable_size_allocate (GtkWidget *widget,
child_allocation.width = button_requisition.width;
child_allocation.height = button_requisition.height;
- gtk_widget_size_allocate (dockable->menu_button, &child_allocation);
+ gtk_widget_size_allocate (dockable->p->menu_button, &child_allocation);
}
if (child && gtk_widget_get_visible (child))
@@ -408,17 +432,17 @@ gimp_dockable_size_allocate (GtkWidget *widget,
gtk_widget_size_allocate (child, &child_allocation);
}
- if (dockable->title_window)
+ if (dockable->p->title_window)
{
GdkRectangle area;
gimp_dockable_get_title_area (dockable, &area);
- gdk_window_move_resize (dockable->title_window,
+ gdk_window_move_resize (dockable->p->title_window,
area.x, area.y, area.width, area.height);
- if (dockable->title_layout)
- pango_layout_set_width (dockable->title_layout,
+ if (dockable->p->title_layout)
+ pango_layout_set_width (dockable->p->title_layout,
PANGO_SCALE * area.width);
}
}
@@ -430,7 +454,7 @@ gimp_dockable_realize (GtkWidget *widget)
GTK_WIDGET_CLASS (parent_class)->realize (widget);
- if (! dockable->title_window)
+ if (! dockable->p->title_window)
{
GdkWindowAttr attributes;
GdkRectangle area;
@@ -449,13 +473,13 @@ gimp_dockable_realize (GtkWidget *widget)
GDK_BUTTON_MOTION_MASK |
gtk_widget_get_events (widget));
- dockable->title_window = gdk_window_new (gtk_widget_get_window (widget),
+ dockable->p->title_window = gdk_window_new (gtk_widget_get_window (widget),
&attributes,
(GDK_WA_X |
GDK_WA_Y |
GDK_WA_NOREDIR));
- gdk_window_set_user_data (dockable->title_window, widget);
+ gdk_window_set_user_data (dockable->p->title_window, widget);
}
gimp_dockable_cursor_setup (dockable);
@@ -466,11 +490,11 @@ gimp_dockable_unrealize (GtkWidget *widget)
{
GimpDockable *dockable = GIMP_DOCKABLE (widget);
- if (dockable->title_window)
+ if (dockable->p->title_window)
{
- gdk_window_set_user_data (dockable->title_window, NULL);
- gdk_window_destroy (dockable->title_window);
- dockable->title_window = NULL;
+ gdk_window_set_user_data (dockable->p->title_window, NULL);
+ gdk_window_destroy (dockable->p->title_window);
+ dockable->p->title_window = NULL;
}
GTK_WIDGET_CLASS (parent_class)->unrealize (widget);
@@ -483,8 +507,8 @@ gimp_dockable_map (GtkWidget *widget)
GTK_WIDGET_CLASS (parent_class)->map (widget);
- if (dockable->title_window)
- gdk_window_show (dockable->title_window);
+ if (dockable->p->title_window)
+ gdk_window_show (dockable->p->title_window);
}
static void
@@ -492,8 +516,8 @@ gimp_dockable_unmap (GtkWidget *widget)
{
GimpDockable *dockable = GIMP_DOCKABLE (widget);
- if (dockable->title_window)
- gdk_window_hide (dockable->title_window);
+ if (dockable->p->title_window)
+ gdk_window_hide (dockable->p->title_window);
GTK_WIDGET_CLASS (parent_class)->unmap (widget);
}
@@ -516,7 +540,7 @@ gimp_dockable_drag_motion (GtkWidget *widget,
GimpDockable *dockable = GIMP_DOCKABLE (widget);
gboolean other_will_handle = FALSE;
- other_will_handle = gimp_paned_box_will_handle_drag (dockable->drag_handler,
+ other_will_handle = gimp_paned_box_will_handle_drag (dockable->p->drag_handler,
widget,
context,
x, y,
@@ -537,7 +561,7 @@ gimp_dockable_drag_drop (GtkWidget *widget,
GimpDockable *dockable = GIMP_DOCKABLE (widget);
gboolean handled = FALSE;
- if (gimp_paned_box_will_handle_drag (dockable->drag_handler,
+ if (gimp_paned_box_will_handle_drag (dockable->p->drag_handler,
widget,
context,
x, y,
@@ -549,7 +573,7 @@ gimp_dockable_drag_drop (GtkWidget *widget,
else
{
handled =
- gimp_dockbook_drop_dockable (GIMP_DOCKABLE (widget)->dockbook,
+ gimp_dockbook_drop_dockable (GIMP_DOCKABLE (widget)->p->dockbook,
gtk_drag_get_source_widget (context));
}
@@ -575,10 +599,10 @@ gimp_dockable_style_set (GtkWidget *widget,
gtk_container_set_border_width (GTK_CONTAINER (widget), content_border);
- if (dockable->title_layout)
+ if (dockable->p->title_layout)
{
- g_object_unref (dockable->title_layout);
- dockable->title_layout = NULL;
+ g_object_unref (dockable->p->title_layout);
+ dockable->p->title_layout = NULL;
}
}
@@ -595,7 +619,7 @@ gimp_dockable_create_title_layout (GimpDockable *dockable,
title = gimp_docked_get_title (GIMP_DOCKED (child));
layout = gtk_widget_create_pango_layout (widget,
- title ? title : dockable->blurb);
+ title ? title : dockable->p->blurb);
g_free (title);
gimp_pango_layout_set_weight (layout, PANGO_WEIGHT_SEMIBOLD);
@@ -629,7 +653,7 @@ gimp_dockable_expose_event (GtkWidget *widget,
gint text_x;
gint text_y;
- if (dockable->blink_counter & 1)
+ if (dockable->p->blink_counter & 1)
{
gtk_paint_box (style, gtk_widget_get_window (widget),
GTK_STATE_SELECTED, GTK_SHADOW_NONE,
@@ -638,14 +662,14 @@ gimp_dockable_expose_event (GtkWidget *widget,
title_area.width, title_area.height);
}
- if (! dockable->title_layout)
+ if (! dockable->p->title_layout)
{
- dockable->title_layout =
+ dockable->p->title_layout =
gimp_dockable_create_title_layout (dockable, widget,
title_area.width);
}
- pango_layout_get_pixel_size (dockable->title_layout,
+ pango_layout_get_pixel_size (dockable->p->title_layout,
&layout_width, &layout_height);
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
@@ -660,11 +684,11 @@ gimp_dockable_expose_event (GtkWidget *widget,
text_y = title_area.y + (title_area.height - layout_height) / 2;
gtk_paint_layout (style, gtk_widget_get_window (widget),
- (dockable->blink_counter & 1) ?
+ (dockable->p->blink_counter & 1) ?
GTK_STATE_SELECTED : gtk_widget_get_state (widget),
TRUE,
&expose_area, widget, NULL,
- text_x, text_y, dockable->title_layout);
+ text_x, text_y, dockable->p->title_layout);
}
}
@@ -678,10 +702,10 @@ gimp_dockable_button_press (GtkWidget *widget,
GimpDockable *dockable = GIMP_DOCKABLE (widget);
/* stop processing of events not coming from the title event window */
- if (event->window != dockable->title_window)
+ if (event->window != dockable->p->title_window)
return TRUE;
- dockable->drag_x = event->x;
+ dockable->p->drag_x = event->x;
return FALSE;
}
@@ -691,7 +715,7 @@ gimp_dockable_button_release (GtkWidget *widget)
{
GimpDockable *dockable = GIMP_DOCKABLE (widget);
- dockable->drag_x = GIMP_DOCKABLE_DRAG_OFFSET;
+ dockable->p->drag_x = GIMP_DOCKABLE_DRAG_OFFSET;
return FALSE;
}
@@ -718,7 +742,7 @@ gimp_dockable_add (GtkContainer *container,
/* not all tab styles are supported by all children */
dockable = GIMP_DOCKABLE (container);
- gimp_dockable_set_tab_style (dockable, dockable->tab_style);
+ gimp_dockable_set_tab_style (dockable, dockable->p->tab_style);
}
static void
@@ -753,8 +777,8 @@ gimp_dockable_forall (GtkContainer *container,
if (include_internals)
{
- if (dockable->menu_button)
- (* callback) (dockable->menu_button, callback_data);
+ if (dockable->p->menu_button)
+ (* callback) (dockable->p->menu_button, callback_data);
}
GTK_CONTAINER_CLASS (parent_class)->forall (container, include_internals,
@@ -768,12 +792,12 @@ gimp_dockable_get_icon (GimpDockable *dockable,
GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (dockable));
GtkIconTheme *theme = gtk_icon_theme_get_for_screen (screen);
- if (gtk_icon_theme_has_icon (theme, dockable->stock_id))
+ if (gtk_icon_theme_has_icon (theme, dockable->p->stock_id))
{
- return gtk_image_new_from_icon_name (dockable->stock_id, size);
+ return gtk_image_new_from_icon_name (dockable->p->stock_id, size);
}
- return gtk_image_new_from_stock (dockable->stock_id, size);
+ return gtk_image_new_from_stock (dockable->p->stock_id, size);
}
static GtkWidget *
@@ -792,13 +816,13 @@ gimp_dockable_get_tab_widget_internal (GimpDockable *dockable,
case GIMP_TAB_STYLE_NAME:
case GIMP_TAB_STYLE_ICON_NAME:
case GIMP_TAB_STYLE_PREVIEW_NAME:
- label = gtk_label_new (dockable->name);
+ label = gtk_label_new (dockable->p->name);
break;
case GIMP_TAB_STYLE_BLURB:
case GIMP_TAB_STYLE_ICON_BLURB:
case GIMP_TAB_STYLE_PREVIEW_BLURB:
- label = gtk_label_new (dockable->blurb);
+ label = gtk_label_new (dockable->p->blurb);
break;
default:
@@ -882,20 +906,109 @@ gimp_dockable_new (const gchar *name,
dockable = g_object_new (GIMP_TYPE_DOCKABLE, NULL);
- dockable->name = g_strdup (name);
- dockable->stock_id = g_strdup (stock_id);
- dockable->help_id = g_strdup (help_id);
+ dockable->p->name = g_strdup (name);
+ dockable->p->stock_id = g_strdup (stock_id);
+ dockable->p->help_id = g_strdup (help_id);
if (blurb)
- dockable->blurb = g_strdup (blurb);
+ dockable->p->blurb = g_strdup (blurb);
else
- dockable->blurb = dockable->name;
+ dockable->p->blurb = dockable->p->name;
gimp_help_set_help_data (GTK_WIDGET (dockable), NULL, help_id);
return GTK_WIDGET (dockable);
}
+void
+gimp_dockable_set_dockbook (GimpDockable *dockable,
+ GimpDockbook *dockbook)
+{
+ g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
+ g_return_if_fail (GIMP_IS_DOCKBOOK (dockbook));
+
+ dockable->p->dockbook = dockbook;
+}
+
+GimpDockbook *
+gimp_dockable_get_dockbook (GimpDockable *dockable)
+{
+ g_return_val_if_fail (GIMP_IS_DOCKABLE (dockable), NULL);
+
+ return dockable->p->dockbook;
+}
+
+GimpTabStyle
+gimp_dockable_get_tab_style (GimpDockable *dockable)
+{
+ g_return_val_if_fail (GIMP_IS_DOCKABLE (dockable), -1);
+
+ return dockable->p->tab_style;
+}
+
+const gchar *
+gimp_dockable_get_name (GimpDockable *dockable)
+{
+ g_return_val_if_fail (GIMP_IS_DOCKABLE (dockable), NULL);
+
+ return dockable->p->name;
+}
+
+const gchar *
+gimp_dockable_get_blurb (GimpDockable *dockable)
+{
+ g_return_val_if_fail (GIMP_IS_DOCKABLE (dockable), NULL);
+
+ return dockable->p->blurb;
+}
+
+const gchar *
+gimp_dockable_get_help_id (GimpDockable *dockable)
+{
+ g_return_val_if_fail (GIMP_IS_DOCKABLE (dockable), NULL);
+
+ return dockable->p->help_id;
+}
+
+gboolean
+gimp_dockable_get_locked (GimpDockable *dockable)
+{
+ g_return_val_if_fail (GIMP_IS_DOCKABLE (dockable), FALSE);
+
+ return dockable->p->locked;
+}
+
+void
+gimp_dockable_set_drag_pos (GimpDockable *dockable,
+ gint drag_x,
+ gint drag_y)
+{
+ g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
+
+ dockable->p->drag_x = drag_x;
+ dockable->p->drag_y = drag_y;
+}
+
+void
+gimp_dockable_get_drag_pos (GimpDockable *dockable,
+ gint *drag_x,
+ gint *drag_y)
+{
+ g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
+
+ if (drag_x != NULL)
+ *drag_x = dockable->p->drag_x;
+ if (drag_y != NULL)
+ *drag_y = dockable->p->drag_y;
+}
+
+GimpPanedBox *
+gimp_dockable_get_drag_handler (GimpDockable *dockable)
+{
+ g_return_val_if_fail (GIMP_IS_DOCKABLE (dockable), NULL);
+
+ return dockable->p->drag_handler;
+}
void
gimp_dockable_set_aux_info (GimpDockable *dockable,
@@ -933,9 +1046,9 @@ gimp_dockable_set_locked (GimpDockable *dockable,
{
g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
- if (dockable->locked != lock)
+ if (dockable->p->locked != lock)
{
- dockable->locked = lock ? TRUE : FALSE;
+ dockable->p->locked = lock ? TRUE : FALSE;
gimp_dockable_cursor_setup (dockable);
@@ -948,7 +1061,7 @@ gimp_dockable_is_locked (GimpDockable *dockable)
{
g_return_val_if_fail (GIMP_IS_DOCKABLE (dockable), FALSE);
- return dockable->locked;
+ return dockable->p->locked;
}
@@ -983,7 +1096,7 @@ gimp_dockable_set_tab_style (GimpDockable *dockable,
}
}
- dockable->tab_style = tab_style;
+ dockable->p->tab_style = tab_style;
}
GtkWidget *
@@ -1011,7 +1124,7 @@ gimp_dockable_get_drag_widget (GimpDockable *dockable)
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
widget = gimp_dockable_get_tab_widget_internal (dockable,
- dockable->context,
+ dockable->p->context,
GIMP_TAB_STYLE_ICON_BLURB,
GTK_ICON_SIZE_DND,
TRUE);
@@ -1029,14 +1142,14 @@ gimp_dockable_set_context (GimpDockable *dockable,
g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
g_return_if_fail (context == NULL || GIMP_IS_CONTEXT (context));
- if (context != dockable->context)
+ if (context != dockable->p->context)
{
GtkWidget *child = gtk_bin_get_child (GTK_BIN (dockable));
if (child)
gimp_docked_set_context (GIMP_DOCKED (child), context);
- dockable->context = context;
+ dockable->p->context = context;
}
}
@@ -1073,7 +1186,7 @@ gimp_dockable_set_drag_handler (GimpDockable *dockable,
{
g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
- dockable->drag_handler = handler;
+ dockable->p->drag_handler = handler;
}
void
@@ -1086,9 +1199,9 @@ gimp_dockable_detach (GimpDockable *dockable)
GtkWidget *dockbook = NULL;
g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
- g_return_if_fail (GIMP_IS_DOCKBOOK (dockable->dockbook));
+ g_return_if_fail (GIMP_IS_DOCKBOOK (dockable->p->dockbook));
- src_dock = gimp_dockbook_get_dock (dockable->dockbook);
+ src_dock = gimp_dockbook_get_dock (dockable->p->dockbook);
src_dock_window = gimp_dock_window_from_dock (src_dock);
dock = gimp_dialog_factory_dock_with_window_new (global_dock_window_factory,
@@ -1104,7 +1217,7 @@ gimp_dockable_detach (GimpDockable *dockable)
g_object_ref (dockable);
- gimp_dockbook_remove (dockable->dockbook, dockable);
+ gimp_dockbook_remove (dockable->p->dockbook, dockable);
gimp_dockbook_add (GIMP_DOCKBOOK (dockbook), dockable, 0);
g_object_unref (dockable);
@@ -1118,10 +1231,10 @@ gimp_dockable_blink (GimpDockable *dockable)
{
g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
- if (dockable->blink_timeout_id)
- g_source_remove (dockable->blink_timeout_id);
+ if (dockable->p->blink_timeout_id)
+ g_source_remove (dockable->p->blink_timeout_id);
- dockable->blink_timeout_id =
+ dockable->p->blink_timeout_id =
g_timeout_add (150, (GSourceFunc) gimp_dockable_blink_timeout, dockable);
gimp_dockable_blink_timeout (dockable);
@@ -1132,12 +1245,12 @@ gimp_dockable_blink_cancel (GimpDockable *dockable)
{
g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
- if (dockable->blink_timeout_id)
+ if (dockable->p->blink_timeout_id)
{
- g_source_remove (dockable->blink_timeout_id);
+ g_source_remove (dockable->p->blink_timeout_id);
- dockable->blink_timeout_id = 0;
- dockable->blink_counter = 0;
+ dockable->p->blink_timeout_id = 0;
+ dockable->p->blink_counter = 0;
gimp_dockable_clear_title_area (dockable);
}
@@ -1152,14 +1265,14 @@ gimp_dockable_cursor_setup (GimpDockable *dockable)
if (! GTK_WIDGET_REALIZED (GTK_WIDGET (dockable)))
return;
- if (! dockable->title_window)
+ if (! dockable->p->title_window)
return;
/* only show a hand cursor for unlocked dockables */
if (gimp_dockable_is_locked (dockable))
{
- gdk_window_set_cursor (dockable->title_window, NULL);
+ gdk_window_set_cursor (dockable->p->title_window, NULL);
}
else
{
@@ -1167,7 +1280,7 @@ gimp_dockable_cursor_setup (GimpDockable *dockable)
GdkCursor *cursor;
cursor = gdk_cursor_new_for_display (display, GDK_HAND2);
- gdk_window_set_cursor (dockable->title_window, cursor);
+ gdk_window_set_cursor (dockable->p->title_window, cursor);
gdk_cursor_unref (cursor);
}
}
@@ -1182,11 +1295,11 @@ gimp_dockable_get_title_area (GimpDockable *dockable,
area->x = widget->allocation.x + border;
area->y = widget->allocation.y + border;
area->width = (widget->allocation.width -
- 2 * border - dockable->menu_button->allocation.width);
- area->height = dockable->menu_button->allocation.height;
+ 2 * border - dockable->p->menu_button->allocation.width);
+ area->height = dockable->p->menu_button->allocation.height;
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
- area->x += dockable->menu_button->allocation.width;
+ area->x += dockable->p->menu_button->allocation.width;
}
static void
@@ -1224,7 +1337,7 @@ gimp_dockable_menu_position (GtkMenu *menu,
{
GimpDockable *dockable = GIMP_DOCKABLE (data);
- gimp_button_menu_position (dockable->menu_button, menu, GTK_POS_LEFT, x, y);
+ gimp_button_menu_position (dockable->p->menu_button, menu, GTK_POS_LEFT, x, y);
}
#define GIMP_DOCKABLE_DETACH_REF_KEY "gimp-dockable-detach-ref"
@@ -1258,7 +1371,7 @@ gimp_dockable_menu_end (GimpDockable *dockable)
static gboolean
gimp_dockable_show_menu (GimpDockable *dockable)
{
- GimpUIManager *dockbook_ui_manager = gimp_dockbook_get_ui_manager (dockable->dockbook);
+ GimpUIManager *dockbook_ui_manager = gimp_dockbook_get_ui_manager (dockable->p->dockbook);
GimpUIManager *dialog_ui_manager;
const gchar *dialog_ui_path;
gpointer dialog_popup_data;
@@ -1317,16 +1430,16 @@ gimp_dockable_show_menu (GimpDockable *dockable)
g_object_set (parent_menu_action,
"label", label,
- "stock-id", dockable->stock_id,
+ "stock-id", dockable->p->stock_id,
"visible", TRUE,
NULL);
- if (dockable->stock_id)
+ if (dockable->p->stock_id)
{
if (gtk_icon_theme_has_icon (gtk_icon_theme_get_default (),
- dockable->stock_id))
+ dockable->p->stock_id))
{
- gtk_action_set_icon_name (parent_menu_action, dockable->stock_id);
+ gtk_action_set_icon_name (parent_menu_action, dockable->p->stock_id);
}
}
@@ -1362,7 +1475,7 @@ gimp_dockable_show_menu (GimpDockable *dockable)
*/
g_object_ref (dockable);
g_object_set_data_full (G_OBJECT (dockable), GIMP_DOCKABLE_DETACH_REF_KEY,
- g_object_ref (dockable->dockbook),
+ g_object_ref (dockable->p->dockbook),
g_object_unref);
gimp_ui_manager_update (dockbook_ui_manager, dockable);
@@ -1379,10 +1492,10 @@ gimp_dockable_blink_timeout (GimpDockable *dockable)
{
gimp_dockable_clear_title_area (dockable);
- if (dockable->blink_counter++ > 3)
+ if (dockable->p->blink_counter++ > 3)
{
- dockable->blink_timeout_id = 0;
- dockable->blink_counter = 0;
+ dockable->p->blink_timeout_id = 0;
+ dockable->p->blink_counter = 0;
return FALSE;
}
@@ -1394,10 +1507,10 @@ static void
gimp_dockable_title_changed (GimpDocked *docked,
GimpDockable *dockable)
{
- if (dockable->title_layout)
+ if (dockable->p->title_layout)
{
- g_object_unref (dockable->title_layout);
- dockable->title_layout = NULL;
+ g_object_unref (dockable->p->title_layout);
+ dockable->p->title_layout = NULL;
}
if (gtk_widget_is_drawable (GTK_WIDGET (dockable)))
diff --git a/app/widgets/gimpdockable.h b/app/widgets/gimpdockable.h
index 90adc55..6b6f444 100644
--- a/app/widgets/gimpdockable.h
+++ b/app/widgets/gimpdockable.h
@@ -33,7 +33,8 @@
#define GIMP_DOCKABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_DOCKABLE, GimpDockableClass))
-typedef struct _GimpDockableClass GimpDockableClass;
+typedef struct _GimpDockablePrivate GimpDockablePrivate;
+typedef struct _GimpDockableClass GimpDockableClass;
/**
* GimpDockable:
@@ -44,31 +45,9 @@ typedef struct _GimpDockableClass GimpDockableClass;
*/
struct _GimpDockable
{
- GtkBin parent_instance;
+ GtkBin parent_instance;
- gchar *name;
- gchar *blurb;
- gchar *stock_id;
- gchar *help_id;
- GimpTabStyle tab_style;
- gboolean locked;
-
- GimpDockbook *dockbook;
-
- GimpContext *context;
-
- PangoLayout *title_layout;
- GdkWindow *title_window;
- GtkWidget *menu_button;
-
- guint blink_timeout_id;
- gint blink_counter;
-
- GimpPanedBox *drag_handler;
-
- /* drag icon hotspot */
- gint drag_x;
- gint drag_y;
+ GimpDockablePrivate *p;
};
struct _GimpDockableClass
@@ -83,6 +62,21 @@ GtkWidget * gimp_dockable_new (const gchar *name,
const gchar *blurb,
const gchar *stock_id,
const gchar *help_id);
+void gimp_dockable_set_dockbook (GimpDockable *dockable,
+ GimpDockbook *dockbook);
+GimpDockbook * gimp_dockable_get_dockbook (GimpDockable *dockable);
+GimpTabStyle gimp_dockable_get_tab_style (GimpDockable *dockable);
+const gchar * gimp_dockable_get_name (GimpDockable *dockable);
+const gchar * gimp_dockable_get_blurb (GimpDockable *dockable);
+const gchar * gimp_dockable_get_help_id (GimpDockable *dockable);
+gboolean gimp_dockable_get_locked (GimpDockable *dockable);
+void gimp_dockable_set_drag_pos (GimpDockable *dockable,
+ gint drag_x,
+ gint drag_y);
+void gimp_dockable_get_drag_pos (GimpDockable *dockable,
+ gint *drag_x,
+ gint *drag_y);
+GimpPanedBox * gimp_dockable_get_drag_handler (GimpDockable *dockable);
void gimp_dockable_set_aux_info (GimpDockable *dockable,
GList *aux_info);
diff --git a/app/widgets/gimpdockbook.c b/app/widgets/gimpdockbook.c
index ccbc48b..e972693 100644
--- a/app/widgets/gimpdockbook.c
+++ b/app/widgets/gimpdockbook.c
@@ -449,7 +449,7 @@ gimp_dockbook_add (GimpDockbook *dockbook,
g_return_if_fail (GIMP_IS_DOCKBOOK (dockbook));
g_return_if_fail (dockbook->p->dock != NULL);
g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
- g_return_if_fail (dockable->dockbook == NULL);
+ g_return_if_fail (gimp_dockable_get_dockbook (dockable) == NULL);
GIMP_LOG (DND, "Adding GimpDockable %p to GimpDockbook %p", dockable, dockbook);
@@ -484,7 +484,7 @@ gimp_dockbook_add (GimpDockbook *dockbook,
gtk_widget_show (GTK_WIDGET (dockable));
- dockable->dockbook = dockbook;
+ gimp_dockable_set_dockbook (dockable, dockbook);
gimp_dockable_set_context (dockable, gimp_dock_get_context (dockbook->p->dock));
@@ -503,7 +503,7 @@ gimp_dockbook_remove (GimpDockbook *dockbook,
g_return_if_fail (GIMP_IS_DOCKBOOK (dockbook));
g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
- g_return_if_fail (dockable->dockbook == dockbook);
+ g_return_if_fail (gimp_dockable_get_dockbook (dockable) == dockbook);
GIMP_LOG (DND, "Removing GimpDockable %p from GimpDockbook %p", dockable, dockbook);
@@ -518,7 +518,7 @@ gimp_dockbook_remove (GimpDockbook *dockbook,
if (dockbook->p->tab_hover_dockable == dockable)
gimp_dockbook_remove_tab_timeout (dockbook);
- dockable->dockbook = NULL;
+ gimp_dockable_set_dockbook (dockable, NULL);
gimp_dockable_set_context (dockable, NULL);
@@ -551,7 +551,7 @@ gimp_dockbook_create_tab_widget (GimpDockbook *dockbook,
tab_widget = gimp_dockable_get_tab_widget (dockable,
gimp_dock_get_context (dockbook->p->dock),
- dockable->tab_style,
+ gimp_dockable_get_tab_style (dockable),
tab_size);
if (! GIMP_IS_VIEW (tab_widget))
@@ -609,7 +609,9 @@ gimp_dockbook_create_tab_widget (GimpDockbook *dockbook,
if (action)
gimp_widget_set_accel_help (tab_widget, action);
else
- gimp_help_set_help_data (tab_widget, dockable->blurb, dockable->help_id);
+ gimp_help_set_help_data (tab_widget,
+ gimp_dockable_get_blurb (dockable),
+ gimp_dockable_get_help_id (dockable));
g_object_set_data (G_OBJECT (tab_widget), "gimp-dockable", dockable);
@@ -659,7 +661,7 @@ gimp_dockbook_drop_dockable (GimpDockbook *dockbook,
if (dockable)
{
- if (dockable->dockbook == dockbook)
+ if (gimp_dockable_get_dockbook (dockable) == dockbook)
{
gtk_notebook_reorder_child (GTK_NOTEBOOK (dockbook),
GTK_WIDGET (dockable), -1);
@@ -668,7 +670,7 @@ gimp_dockbook_drop_dockable (GimpDockbook *dockbook,
{
g_object_ref (dockable);
- gimp_dockbook_remove (dockable->dockbook, dockable);
+ gimp_dockbook_remove (gimp_dockable_get_dockbook (dockable), dockable);
gimp_dockbook_add (dockbook, dockable, -1);
g_object_unref (dockable);
@@ -764,8 +766,10 @@ gimp_dockbook_tab_drag_begin (GtkWidget *widget,
GtkWidget *window;
GtkWidget *view;
GtkRequisition requisition;
+ gint drag_x;
+ gint drag_y;
- dock = GIMP_DOCK (dockable->dockbook->p->dock);
+ dock = GIMP_DOCK (gimp_dockable_get_dockbook (dockable)->p->dock);
paned_box_class = GIMP_PANED_BOX_GET_CLASS (gimp_dock_get_vbox (dock));
window = gtk_window_new (GTK_WINDOW_POPUP);
@@ -787,8 +791,8 @@ gimp_dockbook_tab_drag_begin (GtkWidget *widget,
window,
(GDestroyNotify) gtk_widget_destroy);
- gtk_drag_set_icon_widget (context, window,
- dockable->drag_x, dockable->drag_y);
+ gimp_dockable_get_drag_pos (dockable, &drag_x, &drag_y);
+ gtk_drag_set_icon_widget (context, window, drag_x, drag_y);
/*
* Set the source dockable insensitive to give a visual clue that
@@ -806,7 +810,7 @@ gimp_dockbook_tab_drag_end (GtkWidget *widget,
GimpPanedBoxClass *paned_box_class;
GtkWidget *drag_widget;
- dock = GIMP_DOCK (dockable->dockbook->p->dock);
+ dock = GIMP_DOCK (gimp_dockable_get_dockbook (dockable)->p->dock);
paned_box_class = GIMP_PANED_BOX_GET_CLASS (gimp_dock_get_vbox (dock));
drag_widget = g_object_get_data (G_OBJECT (dockable),
"gimp-dock-drag-widget");
@@ -820,8 +824,9 @@ gimp_dockbook_tab_drag_end (GtkWidget *widget,
gimp_dockable_detach (dockable);
}
- dockable->drag_x = GIMP_DOCKABLE_DRAG_OFFSET;
- dockable->drag_y = GIMP_DOCKABLE_DRAG_OFFSET;
+ gimp_dockable_set_drag_pos (dockable,
+ GIMP_DOCKABLE_DRAG_OFFSET,
+ GIMP_DOCKABLE_DRAG_OFFSET);
gtk_widget_set_sensitive (GTK_WIDGET (dockable), TRUE);
}
@@ -834,7 +839,7 @@ gimp_dockbook_tab_drag_leave (GtkWidget *widget,
guint time,
GimpDockable *dockable)
{
- GimpDockbook *dockbook = dockable->dockbook;
+ GimpDockbook *dockbook = gimp_dockable_get_dockbook (dockable);
gimp_dockbook_remove_tab_timeout (dockbook);
@@ -849,7 +854,7 @@ gimp_dockbook_tab_drag_motion (GtkWidget *widget,
guint time,
GimpDockable *dockable)
{
- GimpDockbook *dockbook = dockable->dockbook;
+ GimpDockbook *dockbook = gimp_dockable_get_dockbook (dockable);
GtkTargetList *target_list;
GdkAtom target_atom;
gboolean handle = FALSE;
@@ -906,7 +911,7 @@ gimp_dockbook_tab_drag_drop (GtkWidget *widget,
source = gtk_drag_get_source_widget (context);
/* If the handler will handle the drag, return FALSE */
- if (gimp_paned_box_will_handle_drag (dest_dockable->drag_handler,
+ if (gimp_paned_box_will_handle_drag (gimp_dockable_get_drag_handler (dest_dockable),
widget,
context,
x, y,
@@ -926,15 +931,16 @@ gimp_dockbook_tab_drag_drop (GtkWidget *widget,
gint dest_index;
dest_index =
- gtk_notebook_page_num (GTK_NOTEBOOK (dest_dockable->dockbook),
+ gtk_notebook_page_num (GTK_NOTEBOOK (gimp_dockable_get_dockbook (dest_dockable)),
GTK_WIDGET (dest_dockable));
- if (src_dockable->dockbook != dest_dockable->dockbook)
+ if (gimp_dockable_get_dockbook (src_dockable) !=
+ gimp_dockable_get_dockbook (dest_dockable))
{
g_object_ref (src_dockable);
- gimp_dockbook_remove (src_dockable->dockbook, src_dockable);
- gimp_dockbook_add (dest_dockable->dockbook, src_dockable,
+ gimp_dockbook_remove (gimp_dockable_get_dockbook (src_dockable), src_dockable);
+ gimp_dockbook_add (gimp_dockable_get_dockbook (dest_dockable), src_dockable,
dest_index);
g_object_unref (src_dockable);
@@ -943,11 +949,11 @@ gimp_dockbook_tab_drag_drop (GtkWidget *widget,
}
else if (src_dockable != dest_dockable)
{
- gtk_notebook_reorder_child (GTK_NOTEBOOK (src_dockable->dockbook),
+ gtk_notebook_reorder_child (GTK_NOTEBOOK (gimp_dockable_get_dockbook (src_dockable)),
GTK_WIDGET (src_dockable),
dest_index);
- g_signal_emit (src_dockable->dockbook,
+ g_signal_emit (gimp_dockable_get_dockbook (src_dockable),
dockbook_signals[DOCKABLE_REORDERED], 0,
src_dockable);
@@ -1031,7 +1037,8 @@ gimp_dockbook_help_func (const gchar *help_id,
dockable = gtk_notebook_get_nth_page (GTK_NOTEBOOK (dockbook), page_num);
if (GIMP_IS_DOCKABLE (dockable))
- gimp_standard_help_func (GIMP_DOCKABLE (dockable)->help_id, NULL);
+ gimp_standard_help_func (gimp_dockable_get_help_id (GIMP_DOCKABLE (dockable)),
+ NULL);
else
gimp_standard_help_func (GIMP_HELP_DOCK, NULL);
}
diff --git a/app/widgets/gimpdockcolumns.c b/app/widgets/gimpdockcolumns.c
index 31c9c86..ba5be7d 100644
--- a/app/widgets/gimpdockcolumns.c
+++ b/app/widgets/gimpdockcolumns.c
@@ -146,7 +146,7 @@ gimp_dock_columns_dropped_cb (GtkWidget *source,
/* Move the dockable to the new dockbook */
g_object_ref (dockable);
- gimp_dockbook_remove (dockable->dockbook, dockable);
+ gimp_dockbook_remove (gimp_dockable_get_dockbook (dockable), dockable);
gimp_dockbook_add (GIMP_DOCKBOOK (dockbook), dockable, -1);
g_object_unref (dockable);
g_object_unref (dockbook);
diff --git a/app/widgets/gimpmenudock.c b/app/widgets/gimpmenudock.c
index 9a95c6d..5a2bc4c 100644
--- a/app/widgets/gimpmenudock.c
+++ b/app/widgets/gimpmenudock.c
@@ -182,7 +182,7 @@ gimp_menu_dock_get_title (GimpDock *dock)
{
GimpDockable *dockable = child->data;
- g_string_append (title, dockable->name);
+ g_string_append (title, gimp_dockable_get_name (dockable));
if (g_list_next (child))
g_string_append (title, ", ");
diff --git a/app/widgets/gimpsessioninfo-dockable.c b/app/widgets/gimpsessioninfo-dockable.c
index 7c76a6b..52c292c 100644
--- a/app/widgets/gimpsessioninfo-dockable.c
+++ b/app/widgets/gimpsessioninfo-dockable.c
@@ -251,9 +251,9 @@ gimp_session_info_dockable_from_widget (GimpDockable *dockable)
info = gimp_session_info_dockable_new ();
- info->locked = dockable->locked;
+ info->locked = gimp_dockable_get_locked (dockable);
info->identifier = g_strdup (entry->identifier);
- info->tab_style = dockable->tab_style;
+ info->tab_style = gimp_dockable_get_tab_style (dockable);
info->view_size = -1;
view = gimp_container_view_get_by_dockable (dockable);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]