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.
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
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/>.
14 * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
17 #ifndef E_COMPOSER_HEADER_TABLE_H
18 #define E_COMPOSER_HEADER_TABLE_H
20 #include <libebook/libebook.h>
22 #include <composer/e-composer-header.h>
24 /* Standard GObject macros */
25 #define E_TYPE_COMPOSER_HEADER_TABLE \
26 (e_composer_header_table_get_type ())
27 #define E_COMPOSER_HEADER_TABLE(obj) \
28 (G_TYPE_CHECK_INSTANCE_CAST \
29 ((obj), E_TYPE_COMPOSER_HEADER_TABLE, EComposerHeaderTable))
30 #define E_COMPOSER_HEADER_TABLE_CLASS(cls) \
31 (G_TYPE_CHECK_CLASS_CAST \
32 ((cls), E_TYPE_COMPOSER_HEADER_TABLE, EComposerHeaderTableClass))
33 #define E_IS_COMPOSER_HEADER_TABLE(obj) \
34 (G_TYPE_CHECK_INSTANCE_TYPE \
35 ((obj), E_TYPE_COMPOSER_HEADER_TABLE))
36 #define E_IS_COMPOSER_HEADER_TABLE_CLASS(cls) \
37 (G_TYPE_CHECK_CLASS_TYPE \
38 ((cls), E_TYPE_COMPOSER_HEADER_TABLE))
39 #define E_COMPOSER_HEADER_TABLE_GET_CLASS(obj) \
40 (G_TYPE_INSTANCE_GET_CLASS \
41 ((obj), E_TYPE_COMPOSER_HEADER_TABLE, EComposerHeaderTableClass))
45 typedef struct _EComposerHeaderTable EComposerHeaderTable
;
46 typedef struct _EComposerHeaderTableClass EComposerHeaderTableClass
;
47 typedef struct _EComposerHeaderTablePrivate EComposerHeaderTablePrivate
;
49 /* Headers, listed in the order they should appear in the table. */
51 E_COMPOSER_HEADER_FROM
,
52 E_COMPOSER_HEADER_REPLY_TO
,
55 E_COMPOSER_HEADER_BCC
,
56 E_COMPOSER_HEADER_POST_TO
,
57 E_COMPOSER_HEADER_SUBJECT
,
58 E_COMPOSER_NUM_HEADERS
59 } EComposerHeaderType
;
61 struct _EComposerHeaderTable
{
63 EComposerHeaderTablePrivate
*priv
;
66 struct _EComposerHeaderTableClass
{
67 GtkTableClass parent_class
;
70 GType
e_composer_header_table_get_type (void);
71 GtkWidget
* e_composer_header_table_new (EClientCache
*client_cache
);
72 EClientCache
* e_composer_header_table_ref_client_cache
73 (EComposerHeaderTable
*table
);
75 e_composer_header_table_get_header
76 (EComposerHeaderTable
*table
,
77 EComposerHeaderType type
);
78 EMailSignatureComboBox
*
79 e_composer_header_table_get_signature_combo_box
80 (EComposerHeaderTable
*table
);
81 EDestination
** e_composer_header_table_get_destinations
82 (EComposerHeaderTable
*table
);
83 EDestination
** e_composer_header_table_get_destinations_bcc
84 (EComposerHeaderTable
*table
);
85 void e_composer_header_table_add_destinations_bcc
86 (EComposerHeaderTable
*table
,
87 EDestination
**destination
);
88 void e_composer_header_table_set_destinations_bcc
89 (EComposerHeaderTable
*table
,
90 EDestination
**destinations
);
91 EDestination
** e_composer_header_table_get_destinations_cc
92 (EComposerHeaderTable
*table
);
93 void e_composer_header_table_add_destinations_cc
94 (EComposerHeaderTable
*table
,
95 EDestination
**destination
);
96 void e_composer_header_table_set_destinations_cc
97 (EComposerHeaderTable
*table
,
98 EDestination
**destinations
);
99 EDestination
** e_composer_header_table_get_destinations_to
100 (EComposerHeaderTable
*table
);
101 void e_composer_header_table_add_destinations_to
102 (EComposerHeaderTable
*table
,
103 EDestination
**destinations
);
104 void e_composer_header_table_set_destinations_to
105 (EComposerHeaderTable
*table
,
106 EDestination
**destinations
);
107 gchar
* e_composer_header_table_dup_identity_uid
108 (EComposerHeaderTable
*table
,
109 gchar
**chosen_alias_name
,
110 gchar
**chosen_alias_address
);
111 void e_composer_header_table_set_identity_uid
112 (EComposerHeaderTable
*table
,
113 const gchar
*identity_uid
,
114 const gchar
*alias_name
,
115 const gchar
*alias_address
);
116 const gchar
* e_composer_header_table_get_from_name
117 (EComposerHeaderTable
*table
);
118 const gchar
* e_composer_header_table_get_from_address
119 (EComposerHeaderTable
*table
);
120 GList
* e_composer_header_table_get_post_to
121 (EComposerHeaderTable
*table
);
122 void e_composer_header_table_set_post_to_base
123 (EComposerHeaderTable
*table
,
124 const gchar
*base_url
,
125 const gchar
*post_to
);
126 void e_composer_header_table_set_post_to_list
127 (EComposerHeaderTable
*table
,
129 const gchar
* e_composer_header_table_get_reply_to
130 (EComposerHeaderTable
*table
);
131 void e_composer_header_table_set_reply_to
132 (EComposerHeaderTable
*table
,
133 const gchar
*reply_to
);
134 const gchar
* e_composer_header_table_get_signature_uid
135 (EComposerHeaderTable
*table
);
136 void e_composer_header_table_set_signature_uid
137 (EComposerHeaderTable
*table
,
138 const gchar
*signature_uid
);
139 const gchar
* e_composer_header_table_get_subject
140 (EComposerHeaderTable
*table
);
141 void e_composer_header_table_set_subject
142 (EComposerHeaderTable
*table
,
143 const gchar
*subject
);
144 void e_composer_header_table_set_header_visible
145 (EComposerHeaderTable
*table
,
146 EComposerHeaderType type
,
148 ESource
* e_composer_header_table_ref_source
149 (EComposerHeaderTable
*table
,
154 #endif /* E_COMPOSER_HEADER_TABLE_H */