diff options
author | Christopher James Lahey <clahey@helixcode.com> | 2001-01-22 13:30:07 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2001-01-22 13:30:07 +0800 |
commit | 6adb44b607e483357a6784ce75c26f411be143b0 (patch) | |
tree | 34565ec4022a8934b2a40414bcf207bdeb524b4e /widgets/menus/gal-define-views-dialog.c | |
parent | f43c14605c19d0ee0c2119dd68eefc41f561748b (diff) | |
download | gsoc2013-evolution-6adb44b607e483357a6784ce75c26f411be143b0.tar.gz gsoc2013-evolution-6adb44b607e483357a6784ce75c26f411be143b0.tar.zst gsoc2013-evolution-6adb44b607e483357a6784ce75c26f411be143b0.zip |
Initialize collection field to NULL. Set the collection on the model as
2001-01-22 Christopher James Lahey <clahey@helixcode.com>
* gal-define-views-dialog.c, gal-define-views-dialog.h
(gal_define_views_dialog_init): Initialize collection field to
NULL. Set the collection on the model as soon as we create it.
(gal_define_views_dialog_new): Add a GalViewCollection argument to
this function. This just makes this dialog a bit easier to use
through the API.
(gal_define_views_dialog_set_arg): When we set the collection, set
it on the dialog->model.
* gal-define-views-model.c, gal-define-views-model.h: Rewrote this
object to use a GalViewCollection to store the information instead
of an array of GalViews.
* gal-view-collection.c, gal-view-collection.h: Added
gal_view_collection_get_count, gal_view_collection_get_view,
gal_view_collection_append, gal_view_collection_delete_view, and
gal_view_collection_copy_view.
(view_changed, load_single_file): Connect to the "changed" signal
on the views.
(load_single_dir): Survive loading if there's no xml file.
* gal-view-etable.c: Implemented get_type_code method.
* gal-view-factory-etable.c: Implemented get_type_code method.
* gal-view.c, gal-view.h: Added gal_view_get_type_code and
"changed" signal.
svn path=/trunk/; revision=7699
Diffstat (limited to 'widgets/menus/gal-define-views-dialog.c')
-rw-r--r-- | widgets/menus/gal-define-views-dialog.c | 15 |
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: |