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