2008-09-08 [colin] 3.5.0cvs94
[claws.git] / src / noticeview.h
1 /* 
2  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3  * Copyright (C) 2002 Hiroyuki Yamamoto & The Claws Mail Team
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  * 
18  */
19
20 #ifndef NOTICEVIEW_H__
21 #define NOTICEVIEW_H__
22
23 typedef struct _NoticeView      NoticeView;
24
25 #include "stock_pixmap.h"
26
27 struct _NoticeView 
28 {
29         GtkWidget       *vbox;
30         GtkWidget       *hsep;
31         GtkWidget       *hbox;
32         GtkWidget       *icon;
33         GtkWidget       *text;
34         GtkWidget       *button;
35         GtkWidget       *button2;
36         GtkWidget       *window;
37         gboolean         visible;
38         gpointer         user_data;
39         gpointer         user_data2;
40         void            (*press) (NoticeView *, gpointer user_data);
41         void            (*press2) (NoticeView *, gpointer user_data);
42         gboolean         icon_clickable;
43         GtkWidget       *evtbox;
44 #if !GTK_CHECK_VERSION(2,12,0)
45         GtkTooltips *tooltips;
46 #endif
47 };
48
49 NoticeView      *noticeview_create      (MainWindow     *mainwin);
50 void             noticeview_destroy     (NoticeView     *noticeview);
51 void             noticeview_init        (NoticeView     *noticeview);
52 void             noticeview_set_icon    (NoticeView     *noticeview,
53                                          StockPixmap     icon);
54 void             noticeview_set_text    (NoticeView     *noticeview,
55                                          const gchar    *text);
56 void             noticeview_set_button_text 
57                                         (NoticeView     *noticeview,
58                                          const gchar    *text);
59 void             noticeview_set_2ndbutton_text 
60                                         (NoticeView     *noticeview,
61                                          const gchar    *text);
62 gboolean         noticeview_is_visible  (NoticeView     *noticeview);
63 void             noticeview_show        (NoticeView     *noticeview);
64 void             noticeview_hide        (NoticeView     *noticeview);
65
66 void             noticeview_set_button_press_callback
67                                         (NoticeView     *noticeview,
68                                          void           (*callback)(void),
69                                          gpointer       *user_data);
70 void             noticeview_set_2ndbutton_press_callback
71                                         (NoticeView     *noticeview,
72                                          void           (*callback)(void),
73                                          gpointer       *user_data);
74 void             noticeview_set_icon_clickable
75                                         (NoticeView     *noticeview,
76                                          gboolean        setting);                      
77 void             noticeview_set_tooltip
78                                         (NoticeView     *noticeview,
79                                          const gchar    *text);                 
80 #endif /* NOTICEVIEW_H__ */