diff options
author | Christopher James Lahey <clahey@helixcode.com> | 2001-01-18 06:15:52 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2001-01-18 06:15:52 +0800 |
commit | 1a6bb41b0df656a29274da049e5fff924859d76f (patch) | |
tree | 768e491c5a17aee242471035d65121cf1f0c5ee1 /widgets/menus/gal-view-etable.c | |
parent | f3cd904e2b40296fd78a1837257778002387ca53 (diff) | |
download | gsoc2013-evolution-1a6bb41b0df656a29274da049e5fff924859d76f.tar.gz gsoc2013-evolution-1a6bb41b0df656a29274da049e5fff924859d76f.tar.zst gsoc2013-evolution-1a6bb41b0df656a29274da049e5fff924859d76f.zip |
Added a collection argument to this to set the GalViewCollection.
2001-01-17 Christopher James Lahey <clahey@helixcode.com>
* gal-define-views-dialog.c, gal-define-views-dialog.h: Added a
collection argument to this to set the GalViewCollection.
Connected up the modify, delete, and copy buttons. Documented.
* gal-define-views-model.c, gal-define-views-model.h: Added
gal_define_views_model_get_view,
gal_define_views_model_delete_view, and
gal_define_views_model_copy_view methods. Documented.
* gal-view-collection.c: Documented.
* gal-view-etable.c, gal-view-etable.h: Documented. Implemented
edit and clone methods of GalView. Initialized state to a
non-NULL value. Added a name parameter to gal_view_etable_new.
* gal-view-factory-etable.c: Documented. Added the name argument
to gal_view_etable_new.
* gal-view-factory.c: Fixed the g_return_val_if_fails to check for
GalViewFactory as the type instead of GalView.
* gal-view.c, gal-view.h: Added the clone method.
svn path=/trunk/; revision=7599
Diffstat (limited to 'widgets/menus/gal-view-etable.c')
-rw-r--r-- | widgets/menus/gal-view-etable.c | 56 |
1 files changed, 51 insertions, 5 deletions
diff --git a/widgets/menus/gal-view-etable.c b/widgets/menus/gal-view-etable.c index d990e29ff9..b748f66952 100644 --- a/widgets/menus/gal-view-etable.c +++ b/widgets/menus/gal-view-etable.c @@ -9,6 +9,7 @@ */ #include <config.h> #include "gal-view-etable.h" +#include <gal/e-table/e-table-config.h> #define PARENT_TYPE gal_view_get_type () @@ -17,7 +18,10 @@ static GalViewClass *gal_view_etable_parent_class; static void gal_view_etable_edit (GalView *view) { - + GalViewEtable *etable_view = GAL_VIEW_ETABLE(view); + e_table_config_new(etable_view->title, + etable_view->spec, + etable_view->state); } static void @@ -40,6 +44,23 @@ gal_view_etable_get_title (GalView *view) return GAL_VIEW_ETABLE(view)->title; } +static GalView * +gal_view_etable_clone (GalView *view) +{ + GalViewEtable *gve, *new; + + gve = GAL_VIEW_ETABLE(view); + + new = gtk_type_new (gal_view_etable_get_type ()); + new->spec = gve->spec; + new->title = g_strdup (gve->title); + new->state = e_table_state_duplicate(gve->state); + + gtk_object_ref(GTK_OBJECT(new->spec)); + + return GAL_VIEW(new); +} + static void gal_view_etable_destroy (GtkObject *object) { @@ -61,6 +82,7 @@ gal_view_etable_class_init (GtkObjectClass *object_class) gal_view_class->load_from_node = gal_view_etable_load_from_node; gal_view_class->save_to_node = gal_view_etable_save_to_node ; gal_view_class->get_title = gal_view_etable_get_title ; + gal_view_class->clone = gal_view_etable_clone ; object_class->destroy = gal_view_etable_destroy ; } @@ -69,23 +91,47 @@ static void gal_view_etable_init (GalViewEtable *gve) { gve->spec = NULL; - gve->state = NULL; + gve->state = e_table_state_new(); gve->title = NULL; } +/** + * gal_view_etable_new + * @spec: The ETableSpecification that this view will be based upon. + * @title: The name of the new view. + * + * Returns a new GalViewEtable. This is primarily for use by + * GalViewFactoryEtable. + * + * Returns: The new GalViewEtable. + */ GalView * -gal_view_etable_new (ETableSpecification *spec) +gal_view_etable_new (ETableSpecification *spec, + const gchar *title) { - return gal_view_etable_construct (gtk_type_new (gal_view_etable_get_type ()), spec); + return gal_view_etable_construct (gtk_type_new (gal_view_etable_get_type ()), spec, title); } +/** + * gal_view_etable_construct + * @view: The view to construct. + * @spec: The ETableSpecification that this view will be based upon. + * @title: The name of the new view. + * + * constructs the GalViewEtable. To be used by subclasses and + * language bindings. + * + * Returns: The GalViewEtable. + */ GalView * gal_view_etable_construct (GalViewEtable *view, - ETableSpecification *spec) + ETableSpecification *spec, + const gchar *title) { if (spec) gtk_object_ref(GTK_OBJECT(spec)); view->spec = spec; + view->title = g_strdup(title); return GAL_VIEW(view); } |