aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/menus/gal-view-etable.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-12-07 02:38:39 +0800
committerChris Lahey <clahey@src.gnome.org>2000-12-07 02:38:39 +0800
commit6dce720dc64061352041f4a55c46590c8ffcc3a0 (patch)
treeaeaa4f941fc9964f0289d9078b1299d8148a4dbd /widgets/menus/gal-view-etable.c
parentaf6115e56fddb10b0dc1dd8f38aff42754e47950 (diff)
downloadgsoc2013-evolution-6dce720dc64061352041f4a55c46590c8ffcc3a0.tar.gz
gsoc2013-evolution-6dce720dc64061352041f4a55c46590c8ffcc3a0.tar.zst
gsoc2013-evolution-6dce720dc64061352041f4a55c46590c8ffcc3a0.zip
Added gal-view-collection.c, gal-view-etable.c, gal-view-factory-etable.c,
2000-12-06 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added gal-view-collection.c, gal-view-etable.c, gal-view-factory-etable.c, gal-view-factory.c, gal-view-collection.h, gal-view-etable.h, gal-view-factory-etable.h, and gal-view-factory.h. * gal-define-views-dialog.c, gal-define-views-dialog.h: Rewrote this to take a GalViewCollection. This now passes its collection to the new view dialog but still doesn't get its list of views from the collection. * gal-define-views-model.c: Changed this to use the gal_view_get_title function instead of the "title" gtk argument. * gal-define-views.glade, gal-define-views.glade.h: Changed this dialog to be a bit cleaner. * gal-view-collection.c, gal-view-collection.h: A collection of views and view factories. * gal-view-etable.c, gal-view-etable.h: An implementation of the view class. This stores an ETableSpecification and the current ETableState. * gal-view-factory-etable.c, gal-view-factory-etable.h: An implementation of the view factory class. This stores an ETableSpecification and creates GalViewEtables when requested. * gal-view-factory.c, gal-view-factory.h: A new virtual class. Its primary job is to return new GalViews. * gal-view-new-dialog.c, gal-view-new-dialog.h: Added a collection argument to the new function here so that it can get a list of factories to choose from. * gal-view-new-dialog.glade, gal-view-new-dialog.glade.h: Added a CList for the list of factories to choose from. * gal-view.c, gal-view.h: Changed this to be a virtual class. svn path=/trunk/; revision=6811
Diffstat (limited to 'widgets/menus/gal-view-etable.c')
-rw-r--r--widgets/menus/gal-view-etable.c115
1 files changed, 115 insertions, 0 deletions
diff --git a/widgets/menus/gal-view-etable.c b/widgets/menus/gal-view-etable.c
new file mode 100644
index 0000000000..d990e29ff9
--- /dev/null
+++ b/widgets/menus/gal-view-etable.c
@@ -0,0 +1,115 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * gal-view-etable.c: An ETable View
+ *
+ * Authors:
+ * Chris Lahey (clahey@helixcode.com)
+ *
+ * (C) 2000 Helix Code, Inc.
+ */
+#include <config.h>
+#include "gal-view-etable.h"
+
+#define PARENT_TYPE gal_view_get_type ()
+
+static GalViewClass *gal_view_etable_parent_class;
+
+static void
+gal_view_etable_edit (GalView *view)
+{
+
+}
+
+static void
+gal_view_etable_load_from_node (GalView *view,
+ xmlNode *node)
+{
+
+}
+
+static void
+gal_view_etable_save_to_node (GalView *view,
+ xmlNode *parent)
+{
+
+}
+
+static const char *
+gal_view_etable_get_title (GalView *view)
+{
+ return GAL_VIEW_ETABLE(view)->title;
+}
+
+static void
+gal_view_etable_destroy (GtkObject *object)
+{
+ GalViewEtable *view = GAL_VIEW_ETABLE(object);
+ g_free(view->title);
+ if (view->spec)
+ gtk_object_unref(GTK_OBJECT(view->spec));
+ if (view->state)
+ gtk_object_unref(GTK_OBJECT(view->state));
+}
+
+static void
+gal_view_etable_class_init (GtkObjectClass *object_class)
+{
+ GalViewClass *gal_view_class = GAL_VIEW_CLASS(object_class);
+ gal_view_etable_parent_class = gtk_type_class (PARENT_TYPE);
+
+ gal_view_class->edit = gal_view_etable_edit ;
+ 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 ;
+
+ object_class->destroy = gal_view_etable_destroy ;
+}
+
+static void
+gal_view_etable_init (GalViewEtable *gve)
+{
+ gve->spec = NULL;
+ gve->state = NULL;
+ gve->title = NULL;
+}
+
+GalView *
+gal_view_etable_new (ETableSpecification *spec)
+{
+ return gal_view_etable_construct (gtk_type_new (gal_view_etable_get_type ()), spec);
+}
+
+GalView *
+gal_view_etable_construct (GalViewEtable *view,
+ ETableSpecification *spec)
+{
+ if (spec)
+ gtk_object_ref(GTK_OBJECT(spec));
+ view->spec = spec;
+ return GAL_VIEW(view);
+}
+
+GtkType
+gal_view_etable_get_type (void)
+{
+ static guint type = 0;
+
+ if (!type)
+ {
+ GtkTypeInfo info =
+ {
+ "GalViewEtable",
+ sizeof (GalViewEtable),
+ sizeof (GalViewEtableClass),
+ (GtkClassInitFunc) gal_view_etable_class_init,
+ (GtkObjectInitFunc) gal_view_etable_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ type = gtk_type_unique (PARENT_TYPE, &info);
+ }
+
+ return type;
+}