aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/menus/gal-view-factory.h
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-factory.h
parentaf6115e56fddb10b0dc1dd8f38aff42754e47950 (diff)
downloadgsoc2013-evolution-6dce720dc64061352041f4a55c46590c8ffcc3a0.tar
gsoc2013-evolution-6dce720dc64061352041f4a55c46590c8ffcc3a0.tar.gz
gsoc2013-evolution-6dce720dc64061352041f4a55c46590c8ffcc3a0.tar.bz2
gsoc2013-evolution-6dce720dc64061352041f4a55c46590c8ffcc3a0.tar.lz
gsoc2013-evolution-6dce720dc64061352041f4a55c46590c8ffcc3a0.tar.xz
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-factory.h')
-rw-r--r--widgets/menus/gal-view-factory.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/widgets/menus/gal-view-factory.h b/widgets/menus/gal-view-factory.h
new file mode 100644
index 0000000000..724235d7a6
--- /dev/null
+++ b/widgets/menus/gal-view-factory.h
@@ -0,0 +1,47 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+#ifndef _GAL_VIEW_FACTORY_H_
+#define _GAL_VIEW_FACTORY_H_
+
+#include <gtk/gtkobject.h>
+#include <gal/menus/gal-view.h>
+
+#define GAL_VIEW_FACTORY_TYPE (gal_view_factory_get_type ())
+#define GAL_VIEW_FACTORY(o) (GTK_CHECK_CAST ((o), GAL_VIEW_FACTORY_TYPE, GalViewFactory))
+#define GAL_VIEW_FACTORY_CLASS(k) (GTK_CHECK_CLASS_CAST((k), GAL_VIEW_FACTORY_TYPE, GalViewFactoryClass))
+#define GAL_IS_VIEW_FACTORY(o) (GTK_CHECK_TYPE ((o), GAL_VIEW_FACTORY_TYPE))
+#define GAL_IS_VIEW_FACTORY_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), GAL_VIEW_FACTORY_TYPE))
+
+typedef struct {
+ GtkObject base;
+} GalViewFactory;
+
+typedef struct {
+ GtkObjectClass parent_class;
+
+ /*
+ * Virtual methods
+ */
+ const char *(*get_title) (GalViewFactory *factory);
+ const char *(*get_type_code) (GalViewFactory *factory);
+ GalView *(*new_view) (GalViewFactory *factory,
+ const char *name);
+} GalViewFactoryClass;
+
+/* Standard functions */
+GtkType gal_view_factory_get_type (void);
+
+/* Query functions */
+/* Returns already translated title. */
+const char *gal_view_factory_get_title (GalViewFactory *factory);
+
+/* Returns the code for use in identifying this type of object in the
+ * view list. This identifier should identify this as being the
+ * unique factory for xml files which were written out with this
+ * identifier. Thus each factory should have a unique type code. */
+const char *gal_view_factory_get_type_code (GalViewFactory *factory);
+
+/* Create a new view */
+GalView *gal_view_factory_new_view (GalViewFactory *factory,
+ const char *name);
+
+#endif /* _GAL_VIEW_FACTORY_H_ */