aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/menus/gal-define-views-dialog.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/menus/gal-define-views-dialog.c')
-rw-r--r--widgets/menus/gal-define-views-dialog.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/widgets/menus/gal-define-views-dialog.c b/widgets/menus/gal-define-views-dialog.c
index b1e5d6aba6..2c45b25a57 100644
--- a/widgets/menus/gal-define-views-dialog.c
+++ b/widgets/menus/gal-define-views-dialog.c
@@ -216,6 +216,8 @@ gal_define_views_dialog_init (GalDefineViewsDialog *dialog)
GtkWidget *widget;
GtkWidget *etable;
+ dialog->collection = NULL;
+
gui = glade_xml_new (GAL_GLADEDIR "/gal-define-views.glade", NULL);
dialog->gui = gui;
@@ -242,6 +244,9 @@ gal_define_views_dialog_init (GalDefineViewsDialog *dialog)
etable = glade_xml_get_widget(dialog->gui, "custom-table");
if (etable) {
dialog->model = gtk_object_get_data(GTK_OBJECT(etable), "GalDefineViewsDialog::model");
+ gtk_object_set(GTK_OBJECT(dialog->model),
+ "collection", dialog->collection,
+ NULL);
}
gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, TRUE, FALSE);
@@ -262,9 +267,12 @@ gal_define_views_dialog_destroy (GtkObject *object) {
* Returns: The GalDefineViewsDialog.
*/
GtkWidget*
-gal_define_views_dialog_new (void)
+gal_define_views_dialog_new (GalViewCollection *collection)
{
GtkWidget *widget = GTK_WIDGET (gtk_type_new (gal_define_views_dialog_get_type ()));
+ gtk_object_set(GTK_OBJECT(widget),
+ "collection", collection,
+ NULL);
return widget;
}
@@ -281,6 +289,11 @@ gal_define_views_dialog_set_arg (GtkObject *o, GtkArg *arg, guint arg_id)
dialog->collection = GAL_VIEW_COLLECTION(GTK_VALUE_OBJECT(*arg));
else
dialog->collection = NULL;
+ if (dialog->model) {
+ gtk_object_set(GTK_OBJECT(dialog->model),
+ "collection", GTK_VALUE_OBJECT(*arg),
+ NULL);
+ }
break;
default: