]> git.sur5r.net Git - glabels/blob - glabels2/src/label.h
Misc. code cleanup. Mostly formatting.
[glabels] / glabels2 / src / label.h
1 /*
2  *  (GLABELS) Label and Business Card Creation program for GNOME
3  *
4  *  label.h:  GLabels label module header file
5  *
6  *  Copyright (C) 2001-2002  Jim Evins <evins@snaught.com>.
7  *
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.
12  *
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.
17  *
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
21  */
22 #ifndef __LABEL_H__
23 #define __LABEL_H__
24
25 #include <glib-object.h>
26
27 #include "merge.h"
28 #include "template.h"
29
30 G_BEGIN_DECLS
31
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))
37
38 typedef struct _glLabel          glLabel;
39 typedef struct _glLabelClass     glLabelClass;
40
41 typedef struct _glLabelPrivate   glLabelPrivate;
42
43 #include "label-object.h"
44 struct _glLabel {
45         GObject         object;
46
47         GList          *objects;
48
49         glLabelPrivate *private;
50 };
51
52 struct _glLabelClass {
53         GObjectClass         parent_class;
54
55         void (*changed)          (glLabel *label, gpointer user_data);
56
57         void (*name_changed)     (glLabel *label, gpointer user_data);
58
59         void (*modified_changed) (glLabel *label, gpointer user_data);
60
61 };
62
63
64 GType         gl_label_get_type                (void);
65
66 GObject      *gl_label_new                     (void);
67
68
69 void          gl_label_add_object              (glLabel       *label,
70                                                 glLabelObject *object);
71
72 void          gl_label_remove_object           (glLabel       *label,
73                                                 glLabelObject *object);
74
75 void          gl_label_raise_object_to_top     (glLabel       *label,
76                                                 glLabelObject *object);
77
78 void          gl_label_lower_object_to_bottom  (glLabel       *label,
79                                                 glLabelObject *object);
80
81
82 void          gl_label_set_template            (glLabel       *label,
83                                                 glTemplate    *template);
84
85 void          gl_label_set_rotate_flag         (glLabel       *label,
86                                                 gboolean       rotate_flag);
87
88
89 glTemplate   *gl_label_get_template            (glLabel       *label);
90
91 gboolean      gl_label_get_rotate_flag         (glLabel       *label);
92
93 void          gl_label_get_size                (glLabel       *label,
94                                                 gdouble       *w,
95                                                 gdouble       *h);
96
97
98 void          gl_label_set_merge               (glLabel       *label,
99                                                 glMerge       *merge);
100
101 glMerge      *gl_label_get_merge               (glLabel       *label);
102
103
104 gchar        *gl_label_get_filename            (glLabel       *label);
105
106 gchar        *gl_label_get_short_name          (glLabel       *label);
107
108 gboolean      gl_label_is_modified             (glLabel       *label);
109
110 gboolean      gl_label_is_untitled             (glLabel       *label);
111
112 gboolean      gl_label_can_undo                (glLabel       *label);
113
114 gboolean      gl_label_can_redo                (glLabel       *label);
115
116
117 void          gl_label_set_filename            (glLabel       *label,
118                                                 const gchar   *filename);
119
120 void          gl_label_clear_modified          (glLabel       *label);
121
122 G_END_DECLS
123
124
125 #endif /* __LABEL_H__ */