Files
evolution/widgets/menus/gal-view-factory.h
Christopher James Lahey 6dce720dc6 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
2000-12-06 18:38:39 +00:00

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_ */