1 /*
2  * This program is free software; you can redistribute it and/or modify it
3  * under the terms of the GNU Lesser General Public License as published by
4  * the Free Software Foundation.
5  *
6  * This program is distributed in the hope that it will be useful, but
7  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
8  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
9  * for more details.
10  *
11  * You should have received a copy of the GNU Lesser General Public License
12  * along with this program; if not, see <http://www.gnu.org/licenses/>.
13  *
14  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
15  */
16 
17 #ifndef E_COMPOSER_HEADER_H
18 #define E_COMPOSER_HEADER_H
19 
20 #include <composer/e-composer-common.h>
21 #include <libedataserver/libedataserver.h>
22 
23 /* Standard GObject macros */
24 #define E_TYPE_COMPOSER_HEADER \
25 	(e_composer_header_get_type ())
26 #define E_COMPOSER_HEADER(obj) \
27 	(G_TYPE_CHECK_INSTANCE_CAST \
28 	((obj), E_TYPE_COMPOSER_HEADER, EComposerHeader))
29 #define E_COMPOSER_HEADER_CLASS(cls) \
30 	(G_TYPE_CHECK_CLASS_CAST \
31 	((cls), E_TYPE_COMPOSER_HEADER, EComposerHeaderClass))
32 #define E_IS_COMPOSER_HEADER(obj) \
33 	(G_TYPE_CHECK_INSTANCE_TYPE \
34 	((obj), E_TYPE_COMPOSER_HEADER))
35 #define E_IS_COMPOSER_HEADER_CLASS(cls) \
36 	(G_TYPE_CHECK_CLASS_TYPE \
37 	((cls), E_TYPE_COMPOSER_HEADER))
38 #define E_COMPOSER_HEADER_GET_CLASS(obj) \
39 	(G_TYPE_INSTANCE_GET_CLASS \
40 	((obj), E_TYPE_COMPOSER_HEADER, EComposerHeaderClass))
41 
42 G_BEGIN_DECLS
43 
44 typedef struct _EComposerHeader EComposerHeader;
45 typedef struct _EComposerHeaderClass EComposerHeaderClass;
46 typedef struct _EComposerHeaderPrivate EComposerHeaderPrivate;
47 
48 struct _EComposerHeader {
49 	GObject parent;
50 	GtkWidget *title_widget;
51 	GtkWidget *input_widget;
52 	EComposerHeaderPrivate *priv;
53 };
54 
55 struct _EComposerHeaderClass {
56 	GObjectClass parent_class;
57 
58 	/* Signals */
59 	void		(*changed)		(EComposerHeader *header);
60 	void		(*clicked)		(EComposerHeader *header);
61 };
62 
63 GType		e_composer_header_get_type	(void);
64 const gchar *	e_composer_header_get_label	(EComposerHeader *header);
65 ESourceRegistry *
66 		e_composer_header_get_registry	(EComposerHeader *header);
67 gboolean	e_composer_header_get_sensitive	(EComposerHeader *header);
68 void		e_composer_header_set_sensitive	(EComposerHeader *header,
69 						 gboolean sensitive);
70 gboolean	e_composer_header_get_visible	(EComposerHeader *header);
71 void		e_composer_header_set_visible	(EComposerHeader *header,
72 						 gboolean visible);
73 void		e_composer_header_set_title_tooltip
74 						(EComposerHeader *header,
75 						 const gchar *tooltip);
76 void		e_composer_header_set_input_tooltip
77 						(EComposerHeader *header,
78 						 const gchar *tooltip);
79 gboolean	e_composer_header_get_title_has_tooltip
80 						(EComposerHeader *header);
81 void		e_composer_header_set_title_has_tooltip
82 						(EComposerHeader *header,
83 						 gboolean has_tooltip);
84 gboolean	e_composer_header_get_input_has_tooltip
85 						(EComposerHeader *header);
86 void		e_composer_header_set_input_has_tooltip
87 						(EComposerHeader *header,
88 						 gboolean has_tooltip);
89 
90 G_END_DECLS
91 
92 #endif /* E_COMPOSER_HEADER_H */
93