* Fixes NB#83408, select attachment is now set as children of the edit window
[modest] / src / widgets / modest-details-dialog.h
1 /* Copyright (c) 2006, Nokia Corporation
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are
6  * met:
7  *
8  * * Redistributions of source code must retain the above copyright
9  *       notice, this list of conditions and the following disclaimer.
10  * * Redistributions in binary form must reproduce the above copyright
11  *       notice, this list of conditions and the following disclaimer in the
12  *       documentation and/or other materials provided with the distribution.
13  * * Neither the name of the Nokia Corporation nor the names of its
14  *       contributors may be used to endorse or promote products derived from
15  *       this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
18  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
20  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
21  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28  */
29
30 #ifndef __MODEST_DETAILS_DIALOG
31 #define __MODEST_DETAILS_DIALOG
32
33 #include <glib.h>
34 #include <gtk/gtkdialog.h>
35 #include <tny-header.h>
36
37
38 G_BEGIN_DECLS
39
40 #define MODEST_TYPE_DETAILS_DIALOG modest_details_dialog_get_type()
41
42 #define MODEST_DETAILS_DIALOG(obj) \
43         (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
44         MODEST_TYPE_DETAILS_DIALOG, ModestDetailsDialog))
45
46 #define MODEST_DETAILS_DIALOG_CLASS(klass) \
47         (G_TYPE_CHECK_CLASS_CAST ((klass), \
48         MODEST_TYPE_DETAILS_DIALOG, ModestDetailsDialogClass))
49
50 #define MODEST_IS_DETAILS_DIALOG(obj) \
51         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
52         MODEST_TYPE_DETAILS_DIALOG))
53
54 #define MODEST_IS_DETAILS_DIALOG_CLASS(klass) \
55         (G_TYPE_CHECK_CLASS_TYPE ((klass), \
56         MODEST_TYPE_DETAILS_DIALOG))
57
58 #define MODEST_DETAILS_DIALOG_GET_CLASS(obj) \
59         (G_TYPE_INSTANCE_GET_CLASS ((obj), \
60         MODEST_TYPE_DETAILS_DIALOG, ModestDetailsDialogClass))
61
62 typedef struct {
63         GtkDialog parent;
64         
65 } ModestDetailsDialog;
66
67 typedef struct {
68         GtkDialogClass parent_class;
69
70         /* virtual methods */
71         void (*create_container_func) (ModestDetailsDialog *self);
72         void (*add_data_func) (ModestDetailsDialog *self, const gchar *label, const gchar *value);
73         void (*set_header_func) (ModestDetailsDialog *self, TnyHeader *header);
74         void (*set_folder_func) (ModestDetailsDialog *self, TnyFolder *folder);
75
76 } ModestDetailsDialogClass;
77
78 GType modest_details_dialog_get_type (void);
79
80 GtkWidget* modest_details_dialog_new_with_header  (GtkWindow *parent, 
81                                                    TnyHeader *header);
82
83 GtkWidget* modest_details_dialog_new_with_folder  (GtkWindow *parent, 
84                                                    TnyFolder *folder);
85
86 void       modest_details_dialog_add_data         (ModestDetailsDialog *self, 
87                                                    const gchar *label, 
88                                                    const gchar *value);
89
90 G_END_DECLS
91
92 #endif /* __MODEST_DETAILS_DIALOG */