
2001-01-22 Christopher James Lahey <clahey@helixcode.com> * gal-define-views-dialog.c, gal-define-views-dialog.h (gal_define_views_dialog_init): Initialize collection field to NULL. Set the collection on the model as soon as we create it. (gal_define_views_dialog_new): Add a GalViewCollection argument to this function. This just makes this dialog a bit easier to use through the API. (gal_define_views_dialog_set_arg): When we set the collection, set it on the dialog->model. * gal-define-views-model.c, gal-define-views-model.h: Rewrote this object to use a GalViewCollection to store the information instead of an array of GalViews. * gal-view-collection.c, gal-view-collection.h: Added gal_view_collection_get_count, gal_view_collection_get_view, gal_view_collection_append, gal_view_collection_delete_view, and gal_view_collection_copy_view. (view_changed, load_single_file): Connect to the "changed" signal on the views. (load_single_dir): Survive loading if there's no xml file. * gal-view-etable.c: Implemented get_type_code method. * gal-view-factory-etable.c: Implemented get_type_code method. * gal-view.c, gal-view.h: Added gal_view_get_type_code and "changed" signal. svn path=/trunk/; revision=7699
67 lines
1.9 KiB
C
67 lines
1.9 KiB
C
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
|
#ifndef _GAL_VIEW_H_
|
|
#define _GAL_VIEW_H_
|
|
|
|
#include <gtk/gtkobject.h>
|
|
#include <gnome-xml/tree.h>
|
|
|
|
#define GAL_VIEW_TYPE (gal_view_get_type ())
|
|
#define GAL_VIEW(o) (GTK_CHECK_CAST ((o), GAL_VIEW_TYPE, GalView))
|
|
#define GAL_VIEW_CLASS(k) (GTK_CHECK_CLASS_CAST((k), GAL_VIEW_TYPE, GalViewClass))
|
|
#define GAL_IS_VIEW(o) (GTK_CHECK_TYPE ((o), GAL_VIEW_TYPE))
|
|
#define GAL_IS_VIEW_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), GAL_VIEW_TYPE))
|
|
|
|
typedef struct {
|
|
GtkObject base;
|
|
} GalView;
|
|
|
|
typedef struct {
|
|
GtkObjectClass parent_class;
|
|
|
|
/*
|
|
* Virtual methods
|
|
*/
|
|
void (*edit) (GalView *view);
|
|
void (*load) (GalView *view,
|
|
const char *filename);
|
|
void (*save) (GalView *view,
|
|
const char *filename);
|
|
const char *(*get_title) (GalView *view);
|
|
void (*set_title) (GalView *view,
|
|
const char *title);
|
|
const char *(*get_type_code) (GalView *view);
|
|
GalView *(*clone) (GalView *view);
|
|
|
|
/* Signals */
|
|
void (*changed) (GalView *view);
|
|
} GalViewClass;
|
|
|
|
/* Standard functions */
|
|
GtkType gal_view_get_type (void);
|
|
|
|
/* Open an editor dialog for this view. */
|
|
void gal_view_edit (GalView *view);
|
|
|
|
/* xml load and save functions */
|
|
void gal_view_load (GalView *view,
|
|
const char *filename);
|
|
void gal_view_save (GalView *view,
|
|
const char *filename);
|
|
|
|
/* Title functions */
|
|
const char *gal_view_get_title (GalView *view);
|
|
void gal_view_set_title (GalView *view,
|
|
const char *title);
|
|
|
|
/* View type. */
|
|
const char *gal_view_get_type_code (GalView *view);
|
|
|
|
/* Cloning the view */
|
|
GalView *gal_view_clone (GalView *view);
|
|
|
|
/* Changed signal */
|
|
void gal_view_changed (GalView *view);
|
|
|
|
|
|
#endif /* _GAL_VIEW_H_ */
|