]> git.sur5r.net Git - glabels/blob - glabels2/src/merge-ui-text.h
42006f2fba53e935652f38e005f3697e74844292
[glabels] / glabels2 / src / merge-ui-text.h
1 /*
2  *  (GLABELS) Label and Business Card Creation program for GNOME
3  *
4  *  merge_ui_text.h:  text-file merge user interface backend header
5  *
6  *  Copyright (C) 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 __MERGE_UI_TEXT_H__
23 #define __MERGE_UI_TEXT_H__
24
25 #include <gnome.h>
26
27 #include "merge.h"
28
29 /*======================================================*/
30 /* Merge source selection widget                        */
31 /*======================================================*/
32 #define GL_TYPE_MERGE_UI_TEXT_SRC (gl_merge_ui_text_src_get_type ())
33 #define GL_MERGE_UI_TEXT_SRC(obj) \
34         (GTK_CHECK_CAST((obj), GL_TYPE_MERGE_UI_TEXT_SRC, glMergeUITextSrc ))
35 #define GL_MERGE_UI_TEXT_SRC_CLASS(klass) \
36         (GTK_CHECK_CLASS_CAST ((klass), GL_TYPE_MERGE_UI_TEXT_SRC, glMergeUITextSrcClass))
37 #define GL_IS_MERGE_UI_TEXT_SRC(obj) \
38         (GTK_CHECK_TYPE ((obj), GL_TYPE_MERGE_UI_TEXT_SRC))
39 #define GL_IS_MERGE_UI_TEXT_SRC_CLASS(klass) \
40         (GTK_CHECK_CLASS_TYPE ((klass), GL_TYPE_MERGE_UI_TEXT_SRC))
41
42 typedef struct _glMergeUITextSrc glMergeUITextSrc;
43 typedef struct _glMergeUITextSrcClass glMergeUITextSrcClass;
44
45 struct _glMergeUITextSrc {
46         GtkVBox parent_widget;
47
48         glMergeType type;
49         GtkWidget *entry;
50 };
51
52 struct _glMergeUITextSrcClass {
53         GtkVBoxClass parent_class;
54
55         void (*changed) (glMergeUITextSrc * src, gpointer user_data);
56 };
57
58 extern guint gl_merge_ui_text_src_get_type (void);
59 extern GtkWidget *gl_merge_ui_text_src_new (glMergeType type);
60 extern void gl_merge_ui_text_src_set_value (glMergeUITextSrc * src,
61                                             gchar * text);
62 extern gchar *gl_merge_ui_text_src_get_value (glMergeUITextSrc * src);
63
64 /*======================================================*/
65 /* Merge field selection/definition widget.             */
66 /*======================================================*/
67 #define GL_TYPE_MERGE_UI_TEXT_FIELD_WS (gl_merge_ui_text_field_ws_get_type ())
68 #define GL_MERGE_UI_TEXT_FIELD_WS(obj) \
69         (GTK_CHECK_CAST((obj), GL_TYPE_MERGE_UI_TEXT_FIELD_WS, glMergeUITextFieldWS ))
70 #define GL_MERGE_UI_TEXT_FIELD_WS_CLASS(klass) \
71         (GTK_CHECK_CLASS_CAST ((klass), GL_TYPE_MERGE_UI_TEXT_FIELD_WS, glMergeUITextFieldWSClass))
72 #define GL_IS_MERGE_UI_TEXT_FIELD_WS(obj) \
73         (GTK_CHECK_TYPE ((obj), GL_TYPE_MERGE_UI_TEXT_FIELD_WS))
74 #define GL_IS_MERGE_UI_TEXT_FIELD_WS_CLASS(klass) \
75         (GTK_CHECK_CLASS_TYPE ((klass), GL_TYPE_MERGE_UI_TEXT_FIELD_WS))
76
77 typedef struct _glMergeUITextFieldWS glMergeUITextFieldWS;
78 typedef struct _glMergeUITextFieldWSClass glMergeUITextFieldWSClass;
79
80 struct _glMergeUITextFieldWS {
81         GtkHBox parent_widget;
82
83         glMergeType type;
84         GList *entry_list;
85 };
86
87 struct _glMergeUITextFieldWSClass {
88         GtkHBoxClass parent_class;
89
90         void (*changed) (glMergeUITextFieldWS * field_ws, gpointer user_data);
91 };
92
93 extern guint gl_merge_ui_text_field_ws_get_type (void);
94 extern GtkWidget *gl_merge_ui_text_field_ws_new (glMergeType type,
95                                                  gchar * src);
96 extern void gl_merge_ui_text_field_ws_set_field_defs (glMergeUITextFieldWS * field_ws,
97                                                       GList * field_defs);
98 extern GList *gl_merge_ui_text_field_ws_get_field_defs (glMergeUITextFieldWS *
99                                                         field_ws);
100
101 #endif