
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
48 lines
1.7 KiB
C
48 lines
1.7 KiB
C
/* -*- 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_ */
|