addritem+person_get_picture now returns something useful: a copy
[claws.git] / src / noticeview.h
1 /* 
2  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3  * Copyright (C) 2002-2012 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 #include "viewtypes.h"
24 #include "stock_pixmap.h"
25
26 struct _NoticeView 
27 {
28         GtkWidget       *vbox;
29         GtkWidget       *hsep;
30         GtkWidget       *hbox;
31         GtkWidget       *icon;
32         GtkWidget       *text;
33         GtkWidget       *button;
34         GtkWidget       *button2;
35         GtkWidget       *window;
36         gboolean         visible;
37         gpointer         user_data;
38         gpointer         user_data2;
39         void            (*press) (NoticeView *, gpointer user_data);
40         void            (*press2) (NoticeView *, gpointer user_data);
41         gboolean         icon_clickable;
42         GtkWidget       *evtbox;
43 };
44
45 NoticeView      *noticeview_create      (MainWindow     *mainwin);
46 void             noticeview_destroy     (NoticeView     *noticeview);
47 void             noticeview_init        (NoticeView     *noticeview);
48 void             noticeview_set_icon    (NoticeView     *noticeview,
49                                          StockPixmap     icon);
50 void             noticeview_set_text    (NoticeView     *noticeview,
51                                          const gchar    *text);
52 void             noticeview_set_button_text 
53                                         (NoticeView     *noticeview,
54                                          const gchar    *text);
55 void             noticeview_set_2ndbutton_text 
56                                         (NoticeView     *noticeview,
57                                          const gchar    *text);
58 gboolean         noticeview_is_visible  (NoticeView     *noticeview);
59 void             noticeview_show        (NoticeView     *noticeview);
60 void             noticeview_hide        (NoticeView     *noticeview);
61
62 void             noticeview_set_button_press_callback
63                                         (NoticeView     *noticeview,
64                                          void           (*callback)(void),
65                                          gpointer       *user_data);
66 void             noticeview_set_2ndbutton_press_callback
67                                         (NoticeView     *noticeview,
68                                          void           (*callback)(void),
69                                          gpointer       *user_data);
70 void             noticeview_set_icon_clickable
71                                         (NoticeView     *noticeview,
72                                          gboolean        setting);                      
73 void             noticeview_set_tooltip
74                                         (NoticeView     *noticeview,
75                                          const gchar    *text);                 
76 #endif /* NOTICEVIEW_H__ */