diff --git a/ChangeLog b/ChangeLog index 523263a5c9..131403aff6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,36 @@ +2009-01-04 Martin Nordholts + + * app/widgets/gimpdock.[ch]: Make instance members private. + + (gimp_dock_get_context) + (gimp_dock_get_dialog_factory) + (gimp_dock_get_dockbooks) + (gimp_dock_get_main_vbox) + (gimp_dock_get_vbox) + (gimp_dock_get_id): New getters. + + * app/actions/actions.c + * app/actions/dockable-actions.c + * app/actions/dockable-commands.c + * app/actions/windows-actions.c + * app/menus/windows-menu.c + * app/widgets/gimpdialogfactory.c + * app/widgets/gimpdock.c + * app/widgets/gimpdock.h + * app/widgets/gimpdockable.c + * app/widgets/gimpdockbook.c + * app/widgets/gimpdockseparator.c + * app/widgets/gimpimagedock.c + * app/widgets/gimpmenudock.c + * app/widgets/gimpsessioninfo-book.c + * app/widgets/gimpsessioninfo-dock.c + * app/widgets/gimpsessioninfo-dockable.c + * app/widgets/gimptoolbox-color-area.c + * app/widgets/gimptoolbox-dnd.c + * app/widgets/gimptoolbox-image-area.c + * app/widgets/gimptoolbox-indicator-area.c + * app/widgets/gimptoolbox.c: Use new getters. + 2009-01-03 Martin Nordholts * app/widgets/gimpcontainertreeview.c: Format static function diff --git a/app/actions/actions.c b/app/actions/actions.c index ac0488a678..b99887d183 100644 --- a/app/actions/actions.c +++ b/app/actions/actions.c @@ -269,7 +269,7 @@ action_data_get_gimp (gpointer data) else if (GIMP_IS_GIMP (data)) return data; else if (GIMP_IS_DOCK (data)) - context = ((GimpDock *) data)->context; + context = gimp_dock_get_context (((GimpDock *) data)); else if (GIMP_IS_CONTAINER_VIEW (data)) context = gimp_container_view_get_context ((GimpContainerView *) data); else if (GIMP_IS_CONTAINER_EDITOR (data)) @@ -296,7 +296,7 @@ action_data_get_context (gpointer data) else if (GIMP_IS_GIMP (data)) return gimp_get_user_context (data); else if (GIMP_IS_DOCK (data)) - return ((GimpDock *) data)->context; + return gimp_dock_get_context ((GimpDock *) data); else if (GIMP_IS_CONTAINER_VIEW (data)) return gimp_container_view_get_context ((GimpContainerView *) data); else if (GIMP_IS_CONTAINER_EDITOR (data)) @@ -322,7 +322,7 @@ action_data_get_image (gpointer data) else if (GIMP_IS_GIMP (data)) context = gimp_get_user_context (data); else if (GIMP_IS_DOCK (data)) - context = ((GimpDock *) data)->context; + context = gimp_dock_get_context ((GimpDock *) data); else if (GIMP_IS_ITEM_TREE_VIEW (data)) return gimp_item_tree_view_get_image ((GimpItemTreeView *) data); else if (GIMP_IS_IMAGE_EDITOR (data)) @@ -349,7 +349,7 @@ action_data_get_display (gpointer data) else if (GIMP_IS_GIMP (data)) context = gimp_get_user_context (data); else if (GIMP_IS_DOCK (data)) - context = ((GimpDock *) data)->context; + context = gimp_dock_get_context ((GimpDock *) data); else if (GIMP_IS_NAVIGATION_EDITOR (data)) context = ((GimpNavigationEditor *) data)->context; diff --git a/app/actions/dockable-actions.c b/app/actions/dockable-actions.c index aed21b782e..f27c298a86 100644 --- a/app/actions/dockable-actions.c +++ b/app/actions/dockable-actions.c @@ -246,12 +246,12 @@ dockable_actions_update (GimpActionGroup *group, if (substring) { memcpy (substring, "list", 4); - if (gimp_dialog_factory_find_entry (dockbook->dock->dialog_factory, + if (gimp_dialog_factory_find_entry (gimp_dock_get_dialog_factory (dockbook->dock), identifier)) list_view_available = TRUE; memcpy (substring, "grid", 4); - if (gimp_dialog_factory_find_entry (dockbook->dock->dialog_factory, + if (gimp_dialog_factory_find_entry (gimp_dock_get_dialog_factory (dockbook->dock), identifier)) grid_view_available = TRUE; } @@ -267,7 +267,7 @@ dockable_actions_update (GimpActionGroup *group, tab_style = dockable->tab_style; n_pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (dockbook)); - n_books = g_list_length (dockbook->dock->dockbooks); + n_books = g_list_length (gimp_dock_get_dockbooks (dockbook->dock)); #define SET_ACTIVE(action,active) \ gimp_action_group_set_action_active (group, action, (active) != 0) diff --git a/app/actions/dockable-commands.c b/app/actions/dockable-commands.c index 0e919225a2..3509fff96b 100644 --- a/app/actions/dockable-commands.c +++ b/app/actions/dockable-commands.c @@ -66,7 +66,7 @@ dockable_add_tab_cmd_callback (GtkAction *action, *p = '\0'; dockable = - gimp_dialog_factory_dockable_new (dockbook->dock->dialog_factory, + gimp_dialog_factory_dockable_new (gimp_dock_get_dialog_factory (dockbook->dock), dockbook->dock, identifier, -1); @@ -180,7 +180,7 @@ dockable_toggle_view_cmd_callback (GtkAction *action, new_dockable = - gimp_dialog_factory_dockable_new (dockbook->dock->dialog_factory, + gimp_dialog_factory_dockable_new (gimp_dock_get_dialog_factory (dockbook->dock), dockbook->dock, identifier, view_size); diff --git a/app/actions/windows-actions.c b/app/actions/windows-actions.c index 19c79c9499..7e1abfe037 100644 --- a/app/actions/windows-actions.c +++ b/app/actions/windows-actions.c @@ -273,7 +273,7 @@ windows_actions_dock_added (GimpDialogFactory *factory, GtkAction *action; GimpActionEntry entry; gchar *action_name = g_strdup_printf ("windows-dock-%04d", - dock->ID); + gimp_dock_get_id (dock)); entry.name = action_name; entry.stock_id = NULL; @@ -310,7 +310,7 @@ windows_actions_dock_removed (GimpDialogFactory *factory, GimpActionGroup *group) { GtkAction *action; - gchar *action_name = g_strdup_printf ("windows-dock-%04d", dock->ID); + gchar *action_name = g_strdup_printf ("windows-dock-%04d", gimp_dock_get_id (dock)); action = gtk_action_group_get_action (GTK_ACTION_GROUP (group), action_name); @@ -328,7 +328,7 @@ windows_actions_dock_notify (GimpDock *dock, GtkAction *action; gchar *action_name; - action_name = g_strdup_printf ("windows-dock-%04d", dock->ID); + action_name = g_strdup_printf ("windows-dock-%04d", gimp_dock_get_id (dock)); action = gtk_action_group_get_action (GTK_ACTION_GROUP (group), action_name); g_free (action_name); diff --git a/app/menus/windows-menu.c b/app/menus/windows-menu.c index 43c8b7fdc8..56a9bf1f3f 100644 --- a/app/menus/windows-menu.c +++ b/app/menus/windows-menu.c @@ -256,10 +256,10 @@ windows_menu_dock_added (GimpDialogFactory *factory, ui_path = g_object_get_data (G_OBJECT (manager), "image-menu-ui-path"); - action_name = g_strdup_printf ("windows-dock-%04d", dock->ID); + action_name = g_strdup_printf ("windows-dock-%04d", gimp_dock_get_id (dock)); action_path = g_strdup_printf ("%s/Windows/Docks", ui_path); - merge_key = g_strdup_printf ("windows-dock-%04d-merge-id", dock->ID); + merge_key = g_strdup_printf ("windows-dock-%04d-merge-id", gimp_dock_get_id (dock)); merge_id = gtk_ui_manager_new_merge_id (GTK_UI_MANAGER (manager)); g_object_set_data (G_OBJECT (manager), merge_key, @@ -280,7 +280,7 @@ windows_menu_dock_removed (GimpDialogFactory *factory, GimpDock *dock, GimpUIManager *manager) { - gchar *merge_key = g_strdup_printf ("windows-dock-%04d-merge-id", dock->ID); + gchar *merge_key = g_strdup_printf ("windows-dock-%04d-merge-id", gimp_dock_get_id (dock)); guint merge_id; merge_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (manager), diff --git a/app/widgets/gimpdialogfactory.c b/app/widgets/gimpdialogfactory.c index a91df07397..90b31a7823 100644 --- a/app/widgets/gimpdialogfactory.c +++ b/app/widgets/gimpdialogfactory.c @@ -480,7 +480,7 @@ gimp_dialog_factory_dialog_new_internal (GimpDialogFactory *factory, view_size); else if (dock) dialog = factory->constructor (factory, entry, - GIMP_DOCK (dock)->context, + gimp_dock_get_context (GIMP_DOCK (dock)), view_size); else dialog = factory->constructor (factory, entry, @@ -706,7 +706,7 @@ gimp_dialog_factory_dockable_new (GimpDialogFactory *factory, return gimp_dialog_factory_dialog_new_internal (factory, gtk_widget_get_screen (GTK_WIDGET (dock)), - dock->context, + gimp_dock_get_context (dock), identifier, view_size, FALSE, diff --git a/app/widgets/gimpdock.c b/app/widgets/gimpdock.c index b1f665fa5d..872504f3ea 100644 --- a/app/widgets/gimpdock.c +++ b/app/widgets/gimpdock.c @@ -65,6 +65,20 @@ enum }; +struct _GimpDockPriv +{ + GimpDialogFactory *dialog_factory; + GimpContext *context; + + GtkWidget *main_vbox; + GtkWidget *vbox; + + GList *dockbooks; + + gint ID; /* for themeing */ +}; + + static GObject * gimp_dock_constructor (GType type, guint n_params, GObjectConstructParam *params); @@ -163,6 +177,8 @@ gimp_dock_class_init (GimpDockClass *klass) G_MAXDOUBLE, DEFAULT_DOCK_FONT_SCALE, GIMP_PARAM_READABLE)); + + g_type_class_add_private (klass, sizeof (GimpDockPriv)); } static void @@ -172,12 +188,15 @@ gimp_dock_init (GimpDock *dock) GtkWidget *separator; gchar *name; - dock->context = NULL; - dock->dialog_factory = NULL; - dock->dockbooks = NULL; - dock->ID = dock_ID++; + dock->priv = G_TYPE_INSTANCE_GET_PRIVATE (dock, + GIMP_TYPE_DOCK, + GimpDockPriv); + dock->priv->context = NULL; + dock->priv->dialog_factory = NULL; + dock->priv->dockbooks = NULL; + dock->priv->ID = dock_ID++; - name = g_strdup_printf ("gimp-dock-%d", dock->ID); + name = g_strdup_printf ("gimp-dock-%d", dock->priv->ID); gtk_widget_set_name (GTK_WIDGET (dock), name); g_free (name); @@ -185,16 +204,16 @@ gimp_dock_init (GimpDock *dock) gtk_window_set_resizable (GTK_WINDOW (dock), TRUE); gtk_window_set_focus_on_map (GTK_WINDOW (dock), FALSE); - dock->main_vbox = gtk_vbox_new (FALSE, 0); - gtk_container_add (GTK_CONTAINER (dock), dock->main_vbox); - gtk_widget_show (dock->main_vbox); + dock->priv->main_vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (dock), dock->priv->main_vbox); + gtk_widget_show (dock->priv->main_vbox); - dock->vbox = gtk_vbox_new (FALSE, 0); - gtk_container_add (GTK_CONTAINER (dock->main_vbox), dock->vbox); - gtk_widget_show (dock->vbox); + dock->priv->vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (dock->priv->main_vbox), dock->priv->vbox); + gtk_widget_show (dock->priv->vbox); separator = gimp_dock_separator_new (dock, GTK_ANCHOR_NORTH); - gtk_box_pack_start (GTK_BOX (dock->vbox), separator, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (dock->priv->vbox), separator, FALSE, FALSE, 0); gtk_widget_show (separator); } @@ -211,10 +230,10 @@ gimp_dock_constructor (GType type, dock = GIMP_DOCK (object); - g_assert (GIMP_IS_CONTEXT (dock->context)); - g_assert (GIMP_IS_DIALOG_FACTORY (dock->dialog_factory)); + g_assert (GIMP_IS_CONTEXT (dock->priv->context)); + g_assert (GIMP_IS_DIALOG_FACTORY (dock->priv->dialog_factory)); - config = GIMP_GUI_CONFIG (dock->context->gimp->config); + config = GIMP_GUI_CONFIG (dock->priv->context->gimp->config); gimp_window_set_hint (GTK_WINDOW (dock), config->dock_window_hint); @@ -232,11 +251,11 @@ gimp_dock_set_property (GObject *object, switch (property_id) { case PROP_CONTEXT: - dock->context = g_value_dup_object (value); + dock->priv->context = g_value_dup_object (value); break; case PROP_DIALOG_FACTORY: - dock->dialog_factory = g_value_get_object (value); + dock->priv->dialog_factory = g_value_get_object (value); break; default: @@ -256,11 +275,11 @@ gimp_dock_get_property (GObject *object, switch (property_id) { case PROP_CONTEXT: - g_value_set_object (value, dock->context); + g_value_set_object (value, dock->priv->context); break; case PROP_DIALOG_FACTORY: - g_value_set_object (value, dock->dialog_factory); + g_value_set_object (value, dock->priv->dialog_factory); break; default: @@ -274,13 +293,13 @@ gimp_dock_destroy (GtkObject *object) { GimpDock *dock = GIMP_DOCK (object); - while (dock->dockbooks) - gimp_dock_remove_book (dock, GIMP_DOCKBOOK (dock->dockbooks->data)); + while (dock->priv->dockbooks) + gimp_dock_remove_book (dock, GIMP_DOCKBOOK (dock->priv->dockbooks->data)); - if (dock->context) + if (dock->priv->context) { - g_object_unref (dock->context); - dock->context = NULL; + g_object_unref (dock->priv->context); + dock->priv->context = NULL; } GTK_OBJECT_CLASS (parent_class)->destroy (object); @@ -294,7 +313,7 @@ gimp_dock_delete_event (GtkWidget *widget, GList *list; gint n; - for (list = dock->dockbooks, n = 0; list; list = list->next) + for (list = dock->priv->dockbooks, n = 0; list; list = list->next) n += gtk_notebook_get_n_pages (GTK_NOTEBOOK (list->data)); if (n > 1) @@ -357,7 +376,7 @@ gimp_dock_style_set (GtkWidget *widget, "}" "widget \"gimp-dock-%d.*\" style \"gimp-dock-style\"", font_str, - GIMP_DOCK (widget)->ID); + GIMP_DOCK (widget)->priv->ID); g_free (font_str); gtk_rc_parse_string (rc_string); @@ -378,7 +397,7 @@ static void gimp_dock_real_book_removed (GimpDock *dock, GimpDockbook *dockbook) { - if (dock->dockbooks == NULL) + if (dock->priv->dockbooks == NULL) gtk_widget_destroy (GTK_WIDGET (dock)); } @@ -417,6 +436,54 @@ gimp_dock_get_aux_info (GimpDock *dock) return NULL; } +GimpContext * +gimp_dock_get_context (GimpDock *dock) +{ + g_return_val_if_fail (GIMP_IS_DOCK (dock), NULL); + + return dock->priv->context; +} + +GimpDialogFactory * +gimp_dock_get_dialog_factory (GimpDock *dock) +{ + g_return_val_if_fail (GIMP_IS_DOCK (dock), NULL); + + return dock->priv->dialog_factory; +} + +GList * +gimp_dock_get_dockbooks (GimpDock *dock) +{ + g_return_val_if_fail (GIMP_IS_DOCK (dock), NULL); + + return dock->priv->dockbooks; +} + +GtkWidget * +gimp_dock_get_main_vbox (GimpDock *dock) +{ + g_return_val_if_fail (GIMP_IS_DOCK (dock), NULL); + + return dock->priv->main_vbox; +} + +GtkWidget * +gimp_dock_get_vbox (GimpDock *dock) +{ + g_return_val_if_fail (GIMP_IS_DOCK (dock), NULL); + + return dock->priv->vbox; +} + +gint +gimp_dock_get_id (GimpDock *dock) +{ + g_return_val_if_fail (GIMP_IS_DOCK (dock), 0); + + return dock->priv->ID; +} + void gimp_dock_add (GimpDock *dock, GimpDockable *dockable, @@ -429,7 +496,7 @@ gimp_dock_add (GimpDock *dock, g_return_if_fail (GIMP_IS_DOCKABLE (dockable)); g_return_if_fail (dockable->dockbook == NULL); - dockbook = GIMP_DOCKBOOK (dock->dockbooks->data); + dockbook = GIMP_DOCKBOOK (dock->priv->dockbooks->data); gimp_dockbook_add (dockbook, dockable, position); } @@ -457,23 +524,23 @@ gimp_dock_add_book (GimpDock *dock, g_return_if_fail (GIMP_IS_DOCKBOOK (dockbook)); g_return_if_fail (dockbook->dock == NULL); - old_length = g_list_length (dock->dockbooks); + old_length = g_list_length (dock->priv->dockbooks); if (index >= old_length || index < 0) index = old_length; dockbook->dock = dock; - dock->dockbooks = g_list_insert (dock->dockbooks, dockbook, index); + dock->priv->dockbooks = g_list_insert (dock->priv->dockbooks, dockbook, index); if (old_length == 0) { GtkWidget *separator; - gtk_box_pack_start (GTK_BOX (dock->vbox), GTK_WIDGET (dockbook), + gtk_box_pack_start (GTK_BOX (dock->priv->vbox), GTK_WIDGET (dockbook), TRUE, TRUE, 0); separator = gimp_dock_separator_new (dock, GTK_ANCHOR_SOUTH); - gtk_box_pack_end (GTK_BOX (dock->vbox), separator, FALSE, FALSE, 0); + gtk_box_pack_end (GTK_BOX (dock->priv->vbox), separator, FALSE, FALSE, 0); gtk_widget_show (separator); } else @@ -483,9 +550,9 @@ gimp_dock_add_book (GimpDock *dock, GtkWidget *paned; if (index == 0) - old_book = g_list_nth_data (dock->dockbooks, index + 1); + old_book = g_list_nth_data (dock->priv->dockbooks, index + 1); else - old_book = g_list_nth_data (dock->dockbooks, index - 1); + old_book = g_list_nth_data (dock->priv->dockbooks, index - 1); parent = gtk_widget_get_parent (old_book); @@ -547,11 +614,11 @@ gimp_dock_remove_book (GimpDock *dock, g_return_if_fail (dockbook->dock == dock); - old_length = g_list_length (dock->dockbooks); - index = g_list_index (dock->dockbooks, dockbook); + old_length = g_list_length (dock->priv->dockbooks); + index = g_list_index (dock->priv->dockbooks, dockbook); dockbook->dock = NULL; - dock->dockbooks = g_list_remove (dock->dockbooks, dockbook); + dock->priv->dockbooks = g_list_remove (dock->priv->dockbooks, dockbook); g_object_ref (dockbook); @@ -560,12 +627,12 @@ gimp_dock_remove_book (GimpDock *dock, GtkWidget *separator; GList *children; - children = gtk_container_get_children (GTK_CONTAINER (dock->vbox)); + children = gtk_container_get_children (GTK_CONTAINER (dock->priv->vbox)); separator = g_list_nth_data (children, 2); - gtk_container_remove (GTK_CONTAINER (dock->vbox), separator); - gtk_container_remove (GTK_CONTAINER (dock->vbox), GTK_WIDGET (dockbook)); + gtk_container_remove (GTK_CONTAINER (dock->priv->vbox), separator); + gtk_container_remove (GTK_CONTAINER (dock->priv->vbox), GTK_WIDGET (dockbook)); g_list_free (children); } @@ -593,7 +660,7 @@ gimp_dock_remove_book (GimpDock *dock, if (GTK_IS_VPANED (grandparent)) gtk_paned_pack1 (GTK_PANED (grandparent), other_book, TRUE, FALSE); else - gtk_box_pack_start (GTK_BOX (dock->vbox), other_book, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (dock->priv->vbox), other_book, TRUE, TRUE, 0); g_object_unref (other_book); } diff --git a/app/widgets/gimpdock.h b/app/widgets/gimpdock.h index 637c2f02a7..85d4c7725a 100644 --- a/app/widgets/gimpdock.h +++ b/app/widgets/gimpdock.h @@ -35,20 +35,13 @@ typedef struct _GimpDockClass GimpDockClass; +typedef struct _GimpDockPriv GimpDockPriv; struct _GimpDock { - GimpWindow parent_instance; + GimpWindow parent_instance; - GimpDialogFactory *dialog_factory; - GimpContext *context; - - GtkWidget *main_vbox; - GtkWidget *vbox; - - GList *dockbooks; - - gint ID; /* for themeing */ + GimpDockPriv *priv; }; struct _GimpDockClass @@ -70,26 +63,32 @@ struct _GimpDockClass }; -GType gimp_dock_get_type (void) G_GNUC_CONST; +GType gimp_dock_get_type (void) G_GNUC_CONST; -void gimp_dock_setup (GimpDock *dock, - const GimpDock *template); -void gimp_dock_set_aux_info (GimpDock *dock, - GList *aux_info); -GList * gimp_dock_get_aux_info (GimpDock *dock); +void gimp_dock_setup (GimpDock *dock, + const GimpDock *template); +void gimp_dock_set_aux_info (GimpDock *dock, + GList *aux_info); +GList * gimp_dock_get_aux_info (GimpDock *dock); +GimpContext * gimp_dock_get_context (GimpDock *dock); +GimpDialogFactory * gimp_dock_get_dialog_factory (GimpDock *dock); +GList * gimp_dock_get_dockbooks (GimpDock *dock); +GtkWidget * gimp_dock_get_main_vbox (GimpDock *dock); +GtkWidget * gimp_dock_get_vbox (GimpDock *dock); +gint gimp_dock_get_id (GimpDock *dock); -void gimp_dock_add (GimpDock *dock, - GimpDockable *dockable, - gint book, - gint index); -void gimp_dock_remove (GimpDock *dock, - GimpDockable *dockable); +void gimp_dock_add (GimpDock *dock, + GimpDockable *dockable, + gint book, + gint index); +void gimp_dock_remove (GimpDock *dock, + GimpDockable *dockable); -void gimp_dock_add_book (GimpDock *dock, - GimpDockbook *dockbook, - gint index); -void gimp_dock_remove_book (GimpDock *dock, - GimpDockbook *dockbook); +void gimp_dock_add_book (GimpDock *dock, + GimpDockbook *dockbook, + gint index); +void gimp_dock_remove_book (GimpDock *dock, + GimpDockbook *dockbook); #endif /* __GIMP_DOCK_H__ */ diff --git a/app/widgets/gimpdockable.c b/app/widgets/gimpdockable.c index 3b23ff7f32..6e71ae9ae7 100644 --- a/app/widgets/gimpdockable.c +++ b/app/widgets/gimpdockable.c @@ -1001,12 +1001,12 @@ gimp_dockable_detach (GimpDockable *dockable) src_dock = dockable->dockbook->dock; - dock = gimp_dialog_factory_dock_new (src_dock->dialog_factory, + dock = gimp_dialog_factory_dock_new (gimp_dock_get_dialog_factory (src_dock), gtk_widget_get_screen (GTK_WIDGET (dockable))); gtk_window_set_position (GTK_WINDOW (dock), GTK_WIN_POS_MOUSE); gimp_dock_setup (GIMP_DOCK (dock), src_dock); - dockbook = gimp_dockbook_new (GIMP_DOCK (dock)->dialog_factory->menu_factory); + dockbook = gimp_dockbook_new (gimp_dock_get_dialog_factory (GIMP_DOCK (dock))->menu_factory); gimp_dock_add_book (GIMP_DOCK (dock), GIMP_DOCKBOOK (dockbook), 0); diff --git a/app/widgets/gimpdockbook.c b/app/widgets/gimpdockbook.c index 0969bc2f2e..c73b56e0a2 100644 --- a/app/widgets/gimpdockbook.c +++ b/app/widgets/gimpdockbook.c @@ -348,7 +348,7 @@ gimp_dockbook_add (GimpDockbook *dockbook, g_return_if_fail (GTK_IS_WIDGET (tab_widget)); menu_widget = gimp_dockable_get_tab_widget (dockable, - dockbook->dock->context, + gimp_dock_get_context (dockbook->dock), GIMP_TAB_STYLE_ICON_BLURB, MENU_WIDGET_ICON_SIZE); @@ -374,7 +374,7 @@ gimp_dockbook_add (GimpDockbook *dockbook, dockable->dockbook = dockbook; - gimp_dockable_set_context (dockable, dockbook->dock->context); + gimp_dockable_set_context (dockable, gimp_dock_get_context (dockbook->dock)); g_signal_connect (dockable, "notify::locked", G_CALLBACK (gimp_dockbook_tab_locked_notify), @@ -433,7 +433,7 @@ gimp_dockbook_create_tab_widget (GimpDockbook *dockbook, NULL); tab_widget = gimp_dockable_get_tab_widget (dockable, - dockbook->dock->context, + gimp_dock_get_context (dockbook->dock), dockable->tab_style, tab_size); diff --git a/app/widgets/gimpdockseparator.c b/app/widgets/gimpdockseparator.c index d4c93a757c..06212a9e11 100644 --- a/app/widgets/gimpdockseparator.c +++ b/app/widgets/gimpdockseparator.c @@ -215,7 +215,7 @@ gimp_dock_separator_drag_drop (GtkWidget *widget, gint n_books; gint n_dockables; - n_books = g_list_length (dock->dockbooks); + n_books = g_list_length (gimp_dock_get_dockbooks (dock)); children = gtk_container_get_children (GTK_CONTAINER (dockable->dockbook)); @@ -230,7 +230,7 @@ gimp_dock_separator_drag_drop (GtkWidget *widget, gimp_dockbook_remove (dockable->dockbook, dockable); - dockbook = gimp_dockbook_new (dock->dialog_factory->menu_factory); + dockbook = gimp_dockbook_new (gimp_dock_get_dialog_factory (dock)->menu_factory); gimp_dock_add_book (dock, GIMP_DOCKBOOK (dockbook), index); gimp_dockbook_add (GIMP_DOCKBOOK (dockbook), dockable, -1); diff --git a/app/widgets/gimpimagedock.c b/app/widgets/gimpimagedock.c index 11250fe257..e7abcfed80 100644 --- a/app/widgets/gimpimagedock.c +++ b/app/widgets/gimpimagedock.c @@ -94,10 +94,10 @@ gimp_image_dock_constructor (GType type, dock = GIMP_IMAGE_DOCK (object); - config = GIMP_GUI_CONFIG (GIMP_DOCK (dock)->context->gimp->config); + config = GIMP_GUI_CONFIG (gimp_dock_get_context (GIMP_DOCK (dock))->gimp->config); dock->ui_manager = - gimp_menu_factory_manager_new (GIMP_DOCK (dock)->dialog_factory->menu_factory, + gimp_menu_factory_manager_new (gimp_dock_get_dialog_factory (GIMP_DOCK (dock))->menu_factory, GIMP_IMAGE_DOCK_GET_CLASS (dock)->ui_manager_name, dock, config->tearoff_menus); @@ -108,15 +108,15 @@ gimp_image_dock_constructor (GType type, gtk_window_add_accel_group (GTK_WINDOW (object), accel_group); dock->image_flush_handler_id = - gimp_container_add_handler (GIMP_DOCK (dock)->context->gimp->images, "flush", + gimp_container_add_handler (gimp_dock_get_context (GIMP_DOCK (dock))->gimp->images, "flush", G_CALLBACK (gimp_image_dock_image_flush), dock); - g_signal_connect_object (GIMP_DOCK (dock)->context, "display-changed", + g_signal_connect_object (gimp_dock_get_context (GIMP_DOCK (dock)), "display-changed", G_CALLBACK (gimp_image_dock_display_changed), dock, 0); - g_signal_connect_object (GIMP_DOCK (dock)->context->gimp->config, + g_signal_connect_object (gimp_dock_get_context (GIMP_DOCK (dock))->gimp->config, "notify::transient-docks", G_CALLBACK (gimp_image_dock_notify_transient), dock, 0); @@ -131,7 +131,7 @@ gimp_image_dock_destroy (GtkObject *object) if (dock->image_flush_handler_id) { - gimp_container_remove_handler (GIMP_DOCK (dock)->context->gimp->images, + gimp_container_remove_handler (gimp_dock_get_context (GIMP_DOCK (dock))->gimp->images, dock->image_flush_handler_id); dock->image_flush_handler_id = 0; } @@ -171,9 +171,9 @@ gimp_image_dock_image_flush (GimpImage *image, gboolean invalidate_preview, GimpImageDock *dock) { - if (image == gimp_context_get_image (GIMP_DOCK (dock)->context)) + if (image == gimp_context_get_image (gimp_dock_get_context (GIMP_DOCK (dock)))) { - GimpObject *display = gimp_context_get_display (GIMP_DOCK (dock)->context); + GimpObject *display = gimp_context_get_display (gimp_dock_get_context (GIMP_DOCK (dock))); if (display) gimp_ui_manager_update (dock->ui_manager, display); @@ -187,8 +187,8 @@ gimp_image_dock_notify_transient (GimpConfig *config, { if (GIMP_GUI_CONFIG (config)->transient_docks) { - gimp_image_dock_display_changed (dock->context, - gimp_context_get_display (dock->context), + gimp_image_dock_display_changed (gimp_dock_get_context (dock), + gimp_context_get_display (gimp_dock_get_context (dock)), GIMP_IMAGE_DOCK (dock)); } else diff --git a/app/widgets/gimpmenudock.c b/app/widgets/gimpmenudock.c index 897bc16ed6..089fdb4d1e 100644 --- a/app/widgets/gimpmenudock.c +++ b/app/widgets/gimpmenudock.c @@ -140,9 +140,9 @@ gimp_menu_dock_init (GimpMenuDock *dock) dock->update_title_idle_id = 0; hbox = gtk_hbox_new (FALSE, 2); - gtk_box_pack_start (GTK_BOX (GIMP_DOCK (dock)->main_vbox), hbox, + gtk_box_pack_start (GTK_BOX (gimp_dock_get_main_vbox (GIMP_DOCK (dock))), hbox, FALSE, FALSE, 0); - gtk_box_reorder_child (GTK_BOX (GIMP_DOCK (dock)->main_vbox), hbox, 0); + gtk_box_reorder_child (GTK_BOX (gimp_dock_get_main_vbox (GIMP_DOCK (dock))), hbox, 0); if (dock->show_image_menu) gtk_widget_show (hbox); @@ -202,12 +202,12 @@ gimp_menu_dock_destroy (GtkObject *object) /* remove the image menu and the auto button manually here because * of weird cross-connections with GimpDock's context */ - if (GIMP_DOCK (dock)->main_vbox && dock->image_combo) + if (gimp_dock_get_main_vbox (GIMP_DOCK (dock)) && dock->image_combo) { GtkWidget *parent = gtk_widget_get_parent (dock->image_combo); if (parent) - gtk_container_remove (GTK_CONTAINER (GIMP_DOCK (dock)->main_vbox), + gtk_container_remove (GTK_CONTAINER (gimp_dock_get_main_vbox (GIMP_DOCK (dock))), parent); } @@ -486,7 +486,7 @@ gimp_menu_dock_update_title_idle (GimpMenuDock *menu_dock) title = g_string_new (NULL); - for (list = GIMP_DOCK (menu_dock)->dockbooks; + for (list = gimp_dock_get_dockbooks (GIMP_DOCK (menu_dock)); list; list = g_list_next (list)) { @@ -540,7 +540,7 @@ gimp_menu_dock_factory_display_changed (GimpContext *context, GimpMenuDock *menu_dock = GIMP_MENU_DOCK (dock); if (display && menu_dock->auto_follow_active) - gimp_context_set_display (dock->context, display); + gimp_context_set_display (gimp_dock_get_context (dock), display); } static void @@ -552,7 +552,7 @@ gimp_menu_dock_factory_image_changed (GimpContext *context, /* won't do anything if we already set the display above */ if (image && menu_dock->auto_follow_active) - gimp_context_set_image (dock->context, image); + gimp_context_set_image (gimp_dock_get_context (dock), image); } static void @@ -645,8 +645,8 @@ gimp_menu_dock_auto_clicked (GtkWidget *widget, if (menu_dock->auto_follow_active) { - gimp_context_copy_properties (dock->dialog_factory->context, - dock->context, + gimp_context_copy_properties (gimp_dock_get_dialog_factory (dock)->context, + gimp_dock_get_context (dock), GIMP_CONTEXT_DISPLAY_MASK | GIMP_CONTEXT_IMAGE_MASK); } diff --git a/app/widgets/gimpsessioninfo-book.c b/app/widgets/gimpsessioninfo-book.c index 7140b77644..34297ff004 100644 --- a/app/widgets/gimpsessioninfo-book.c +++ b/app/widgets/gimpsessioninfo-book.c @@ -243,7 +243,7 @@ gimp_session_info_book_restore (GimpSessionInfoBook *info, g_return_val_if_fail (info != NULL, NULL); g_return_val_if_fail (GIMP_IS_DOCK (dock), NULL); - dockbook = gimp_dockbook_new (dock->dialog_factory->menu_factory); + dockbook = gimp_dockbook_new (gimp_dock_get_dialog_factory (dock)->menu_factory); gimp_dock_add_book (dock, GIMP_DOCKBOOK (dockbook), -1); diff --git a/app/widgets/gimpsessioninfo-dock.c b/app/widgets/gimpsessioninfo-dock.c index c4a765db66..d4b275498f 100644 --- a/app/widgets/gimpsessioninfo-dock.c +++ b/app/widgets/gimpsessioninfo-dock.c @@ -133,7 +133,7 @@ gimp_session_info_dock_from_widget (GimpDock *dock) g_return_val_if_fail (GIMP_IS_DOCK (dock), NULL); - for (list = dock->dockbooks; list; list = g_list_next (list)) + for (list = gimp_dock_get_dockbooks (dock); list; list = g_list_next (list)) { GimpSessionInfoBook *book; diff --git a/app/widgets/gimpsessioninfo-dockable.c b/app/widgets/gimpsessioninfo-dockable.c index 08b0cb8db1..d81310d1be 100644 --- a/app/widgets/gimpsessioninfo-dockable.c +++ b/app/widgets/gimpsessioninfo-dockable.c @@ -286,7 +286,7 @@ gimp_session_info_dockable_restore (GimpSessionInfoDockable *info, * because it may be different from the dialog factory * the dock was created from. */ - dockable = gimp_dialog_factory_dockable_new (dock->dialog_factory, + dockable = gimp_dialog_factory_dockable_new (gimp_dock_get_dialog_factory (dock), dock, info->identifier, info->view_size); diff --git a/app/widgets/gimptoolbox-color-area.c b/app/widgets/gimptoolbox-color-area.c index f0560d74b5..bfe5873ebb 100644 --- a/app/widgets/gimptoolbox-color-area.c +++ b/app/widgets/gimptoolbox-color-area.c @@ -68,7 +68,7 @@ gimp_toolbox_color_area_create (GimpToolbox *toolbox, g_return_val_if_fail (GIMP_IS_TOOLBOX (toolbox), NULL); - context = GIMP_DOCK (toolbox)->context; + context = gimp_dock_get_context (GIMP_DOCK (toolbox)); color_area = gimp_fg_bg_editor_new (context); gtk_widget_set_size_request (color_area, width, height); diff --git a/app/widgets/gimptoolbox-dnd.c b/app/widgets/gimptoolbox-dnd.c index 6f9f83ab18..e9ca96f262 100644 --- a/app/widgets/gimptoolbox-dnd.c +++ b/app/widgets/gimptoolbox-dnd.c @@ -96,33 +96,33 @@ gimp_toolbox_dnd_init (GimpToolbox *toolbox) gimp_dnd_uri_list_dest_add (GTK_WIDGET (toolbox), gimp_toolbox_drop_uri_list, - dock->context); + gimp_dock_get_context (dock)); gimp_dnd_uri_list_dest_add (toolbox->vbox, gimp_toolbox_drop_uri_list, - dock->context); + gimp_dock_get_context (dock)); gimp_dnd_viewable_dest_add (toolbox->vbox, GIMP_TYPE_LAYER, gimp_toolbox_drop_drawable, - dock->context); + gimp_dock_get_context (dock)); gimp_dnd_viewable_dest_add (toolbox->vbox, GIMP_TYPE_LAYER_MASK, gimp_toolbox_drop_drawable, - dock->context); + gimp_dock_get_context (dock)); gimp_dnd_viewable_dest_add (toolbox->vbox, GIMP_TYPE_CHANNEL, gimp_toolbox_drop_drawable, - dock->context); + gimp_dock_get_context (dock)); gimp_dnd_viewable_dest_add (toolbox->vbox, GIMP_TYPE_TOOL_INFO, gimp_toolbox_drop_tool, - dock->context); + gimp_dock_get_context (dock)); gimp_dnd_viewable_dest_add (toolbox->vbox, GIMP_TYPE_BUFFER, gimp_toolbox_drop_buffer, - dock->context); + gimp_dock_get_context (dock)); gimp_dnd_component_dest_add (toolbox->vbox, gimp_toolbox_drop_component, - dock->context); + gimp_dock_get_context (dock)); gimp_dnd_pixbuf_dest_add (toolbox->vbox, gimp_toolbox_drop_pixbuf, - dock->context); + gimp_dock_get_context (dock)); } diff --git a/app/widgets/gimptoolbox-image-area.c b/app/widgets/gimptoolbox-image-area.c index 7b12169200..f0161ecdc3 100644 --- a/app/widgets/gimptoolbox-image-area.c +++ b/app/widgets/gimptoolbox-image-area.c @@ -45,7 +45,7 @@ image_preview_clicked (GtkWidget *widget, GdkModifierType state, GimpToolbox *toolbox) { - gimp_dialog_factory_dialog_raise (GIMP_DOCK (toolbox)->dialog_factory, + gimp_dialog_factory_dialog_raise (gimp_dock_get_dialog_factory (GIMP_DOCK (toolbox)), gtk_widget_get_screen (widget), "gimp-image-list|gimp-image-grid", -1); } @@ -92,7 +92,7 @@ gimp_toolbox_image_area_create (GimpToolbox *toolbox, g_return_val_if_fail (GIMP_IS_TOOLBOX (toolbox), NULL); - context = GIMP_DOCK (toolbox)->context; + context = gimp_dock_get_context (GIMP_DOCK (toolbox)); image_view = gimp_view_new_full_by_types (context, GIMP_TYPE_VIEW, GIMP_TYPE_IMAGE, diff --git a/app/widgets/gimptoolbox-indicator-area.c b/app/widgets/gimptoolbox-indicator-area.c index b13c5ae0cd..3ef6388bfc 100644 --- a/app/widgets/gimptoolbox-indicator-area.c +++ b/app/widgets/gimptoolbox-indicator-area.c @@ -52,7 +52,7 @@ brush_preview_clicked (GtkWidget *widget, GdkModifierType state, GimpToolbox *toolbox) { - gimp_dialog_factory_dialog_raise (GIMP_DOCK (toolbox)->dialog_factory, + gimp_dialog_factory_dialog_raise (gimp_dock_get_dialog_factory (GIMP_DOCK (toolbox)), gtk_widget_get_screen (widget), "gimp-brush-grid|gimp-brush-list", -1); } @@ -74,7 +74,7 @@ pattern_preview_clicked (GtkWidget *widget, GdkModifierType state, GimpToolbox *toolbox) { - gimp_dialog_factory_dialog_raise (GIMP_DOCK (toolbox)->dialog_factory, + gimp_dialog_factory_dialog_raise (gimp_dock_get_dialog_factory (GIMP_DOCK (toolbox)), gtk_widget_get_screen (widget), "gimp-pattern-grid|gimp-pattern-list", -1); } @@ -96,7 +96,7 @@ gradient_preview_clicked (GtkWidget *widget, GdkModifierType state, GimpToolbox *toolbox) { - gimp_dialog_factory_dialog_raise (GIMP_DOCK (toolbox)->dialog_factory, + gimp_dialog_factory_dialog_raise (gimp_dock_get_dialog_factory (GIMP_DOCK (toolbox)), gtk_widget_get_screen (widget), "gimp-gradient-list|gimp-gradient-grid", -1); } @@ -127,7 +127,7 @@ gimp_toolbox_indicator_area_create (GimpToolbox *toolbox) g_return_val_if_fail (GIMP_IS_TOOLBOX (toolbox), NULL); - context = GIMP_DOCK (toolbox)->context; + context = gimp_dock_get_context (GIMP_DOCK (toolbox)); indicator_table = gtk_table_new (2, 2, FALSE); gtk_table_set_row_spacings (GTK_TABLE (indicator_table), CELL_SPACING); diff --git a/app/widgets/gimptoolbox.c b/app/widgets/gimptoolbox.c index 7964e2d158..165ad25b73 100644 --- a/app/widgets/gimptoolbox.c +++ b/app/widgets/gimptoolbox.c @@ -197,12 +197,12 @@ gimp_toolbox_constructor (GType type, toolbox = GIMP_TOOLBOX (object); - context = GIMP_DOCK (toolbox)->context; + context = gimp_dock_get_context (GIMP_DOCK (toolbox)); config = GIMP_GUI_CONFIG (context->gimp->config); gimp_window_set_hint (GTK_WINDOW (toolbox), config->toolbox_window_hint); - main_vbox = GIMP_DOCK (toolbox)->main_vbox; + main_vbox = gimp_dock_get_main_vbox (GIMP_DOCK (toolbox)); toolbox->vbox = gtk_vbox_new (FALSE, 2); gtk_box_pack_start (GTK_BOX (main_vbox), toolbox->vbox, FALSE, FALSE, 0); @@ -341,10 +341,10 @@ gimp_toolbox_size_allocate (GtkWidget *widget, if (GTK_WIDGET_CLASS (parent_class)->size_allocate) GTK_WIDGET_CLASS (parent_class)->size_allocate (widget, allocation); - if (! GIMP_DOCK (widget)->context) + if (! gimp_dock_get_context (GIMP_DOCK (widget))) return; - gimp = GIMP_DOCK (widget)->context->gimp; + gimp = gimp_dock_get_context (GIMP_DOCK (widget))->gimp; config = GIMP_GUI_CONFIG (gimp->config); @@ -442,10 +442,10 @@ gimp_toolbox_style_set (GtkWidget *widget, GTK_WIDGET_CLASS (parent_class)->style_set (widget, previous_style); - if (! GIMP_DOCK (widget)->context) + if (! gimp_dock_get_context (GIMP_DOCK (widget))) return; - gimp = GIMP_DOCK (widget)->context->gimp; + gimp = gimp_dock_get_context (GIMP_DOCK (widget))->gimp; gtk_widget_style_get (widget, "tool-icon-size", &tool_icon_size, @@ -490,7 +490,7 @@ gimp_toolbox_button_press_event (GtkWidget *widget, clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_PRIMARY); gtk_clipboard_request_text (clipboard, toolbox_paste_received, - g_object_ref (GIMP_DOCK (widget)->context)); + g_object_ref (gimp_dock_get_context (GIMP_DOCK (widget)))); return TRUE; } @@ -554,7 +554,7 @@ static void gimp_toolbox_book_added (GimpDock *dock, GimpDockbook *dockbook) { - if (g_list_length (dock->dockbooks) == 1) + if (g_list_length (gimp_dock_get_dockbooks (dock)) == 1) { gimp_toolbox_set_geometry (GIMP_TOOLBOX (dock)); toolbox_separator_collapse (GIMP_TOOLBOX (dock)); @@ -565,7 +565,7 @@ static void gimp_toolbox_book_removed (GimpDock *dock, GimpDockbook *dockbook) { - if (g_list_length (dock->dockbooks) == 0 && + if (g_list_length (gimp_dock_get_dockbooks (dock)) == 0 && ! (GTK_OBJECT_FLAGS (dock) & GTK_IN_DESTRUCTION)) { gimp_toolbox_set_geometry (GIMP_TOOLBOX (dock)); @@ -580,14 +580,14 @@ gimp_toolbox_set_geometry (GimpToolbox *toolbox) GimpToolInfo *tool_info; GtkWidget *tool_button; - gimp = GIMP_DOCK (toolbox)->context->gimp; + gimp = gimp_dock_get_context (GIMP_DOCK (toolbox))->gimp; tool_info = gimp_get_tool_info (gimp, "gimp-rect-select-tool"); tool_button = g_object_get_data (G_OBJECT (tool_info), TOOL_BUTTON_DATA_KEY); if (tool_button) { - GtkWidget *main_vbox = GIMP_DOCK (toolbox)->main_vbox; + GtkWidget *main_vbox = gimp_dock_get_main_vbox (GIMP_DOCK (toolbox)); GtkRequisition button_requisition; gint border_width; GdkGeometry geometry; @@ -605,7 +605,7 @@ gimp_toolbox_set_geometry (GimpToolbox *toolbox) 2 * button_requisition.width); geometry.min_height = -1; geometry.width_inc = button_requisition.width; - geometry.height_inc = (GIMP_DOCK (toolbox)->dockbooks ? + geometry.height_inc = (gimp_dock_get_dockbooks (GIMP_DOCK (toolbox)) ? 1 : button_requisition.height); gtk_window_set_geometry_hints (GTK_WINDOW (toolbox), @@ -645,11 +645,11 @@ toolbox_separator_expand (GimpToolbox *toolbox) GList *children; GtkWidget *separator; - children = gtk_container_get_children (GTK_CONTAINER (dock->vbox)); + children = gtk_container_get_children (GTK_CONTAINER (gimp_dock_get_vbox (dock))); separator = children->data; g_list_free (children); - gtk_box_set_child_packing (GTK_BOX (dock->vbox), separator, + gtk_box_set_child_packing (GTK_BOX (gimp_dock_get_vbox (dock)), separator, TRUE, TRUE, 0, GTK_PACK_START); gimp_dock_separator_set_show_label (GIMP_DOCK_SEPARATOR (separator), TRUE); } @@ -661,11 +661,11 @@ toolbox_separator_collapse (GimpToolbox *toolbox) GList *children; GtkWidget *separator; - children = gtk_container_get_children (GTK_CONTAINER (dock->vbox)); + children = gtk_container_get_children (GTK_CONTAINER (gimp_dock_get_vbox (dock))); separator = children->data; g_list_free (children); - gtk_box_set_child_packing (GTK_BOX (dock->vbox), separator, + gtk_box_set_child_packing (GTK_BOX (gimp_dock_get_vbox (dock)), separator, FALSE, FALSE, 0, GTK_PACK_START); gimp_dock_separator_set_show_label (GIMP_DOCK_SEPARATOR (separator), FALSE); } @@ -913,7 +913,7 @@ toolbox_tool_button_toggled (GtkWidget *widget, GtkWidget *toolbox = gtk_widget_get_toplevel (widget); if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) - gimp_context_set_tool (GIMP_DOCK (toolbox)->context, tool_info); + gimp_context_set_tool (gimp_dock_get_context (GIMP_DOCK (toolbox)), tool_info); } static gboolean @@ -923,7 +923,7 @@ toolbox_tool_button_press (GtkWidget *widget, { if (event->type == GDK_2BUTTON_PRESS && event->button == 1) { - gimp_dialog_factory_dialog_raise (GIMP_DOCK (toolbox)->dialog_factory, + gimp_dialog_factory_dialog_raise (gimp_dock_get_dialog_factory (GIMP_DOCK (toolbox)), gtk_widget_get_screen (widget), "gimp-tool-options", -1);