2 * (GLABELS) Label and Business Card Creation program for GNOME
4 * label.h: GLabels label module header file
6 * Copyright (C) 2001-2002 Jim Evins <evins@snaught.com>.
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 #include <glib-object.h>
32 #define GL_TYPE_LABEL (gl_label_get_type ())
33 #define GL_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GL_TYPE_LABEL, glLabel))
34 #define GL_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GL_TYPE_LABEL, glLabelClass))
35 #define GL_IS_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GL_TYPE_LABEL))
36 #define GL_IS_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GL_TYPE_LABEL))
38 typedef struct _glLabel glLabel;
39 typedef struct _glLabelClass glLabelClass;
41 typedef struct _glLabelPrivate glLabelPrivate;
43 #include "label-object.h"
49 glLabelPrivate *private;
52 struct _glLabelClass {
53 GObjectClass parent_class;
55 void (*changed) (glLabel *label, gpointer user_data);
57 void (*name_changed) (glLabel *label, gpointer user_data);
59 void (*modified_changed) (glLabel *label, gpointer user_data);
64 GType gl_label_get_type (void);
66 GObject *gl_label_new (void);
69 void gl_label_add_object (glLabel *label,
70 glLabelObject *object);
72 void gl_label_remove_object (glLabel *label,
73 glLabelObject *object);
75 void gl_label_raise_object_to_top (glLabel *label,
76 glLabelObject *object);
78 void gl_label_lower_object_to_bottom (glLabel *label,
79 glLabelObject *object);
82 void gl_label_set_template (glLabel *label,
83 glTemplate *template);
85 void gl_label_set_rotate_flag (glLabel *label,
86 gboolean rotate_flag);
89 glTemplate *gl_label_get_template (glLabel *label);
91 gboolean gl_label_get_rotate_flag (glLabel *label);
93 void gl_label_get_size (glLabel *label,
98 void gl_label_set_merge (glLabel *label,
101 glMerge *gl_label_get_merge (glLabel *label);
104 gchar *gl_label_get_filename (glLabel *label);
106 gchar *gl_label_get_short_name (glLabel *label);
108 gboolean gl_label_is_modified (glLabel *label);
110 gboolean gl_label_is_untitled (glLabel *label);
112 gboolean gl_label_can_undo (glLabel *label);
114 gboolean gl_label_can_redo (glLabel *label);
117 void gl_label_set_filename (glLabel *label,
118 const gchar *filename);
120 void gl_label_clear_modified (glLabel *label);
125 #endif /* __LABEL_H__ */