1 /*
2  * e-attachment-paned.h
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
10  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
11  * for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program; if not, see <http://www.gnu.org/licenses/>.
15  *
16  *
17  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
18  *
19  */
20 
21 #if !defined (__E_UTIL_H_INSIDE__) && !defined (LIBEUTIL_COMPILATION)
22 #error "Only <e-util/e-util.h> should be included directly."
23 #endif
24 
25 #ifndef E_ATTACHMENT_PANED_H
26 #define E_ATTACHMENT_PANED_H
27 
28 #include <gtk/gtk.h>
29 
30 /* Standard GObject macros */
31 #define E_TYPE_ATTACHMENT_PANED \
32 	(e_attachment_paned_get_type ())
33 #define E_ATTACHMENT_PANED(obj) \
34 	(G_TYPE_CHECK_INSTANCE_CAST \
35 	((obj), E_TYPE_ATTACHMENT_PANED, EAttachmentPaned))
36 #define E_ATTACHMENT_PANED_CLASS(cls) \
37 	(G_TYPE_CHECK_CLASS_CAST \
38 	((cls), E_TYPE_ATTACHMENT_PANED, EAttachmentPanedClass))
39 #define E_IS_ATTACHMENT_PANED(obj) \
40 	(G_TYPE_CHECK_INSTANCE_TYPE \
41 	((obj), E_TYPE_ATTACHMENT_PANED))
42 #define E_IS_ATTACHMENT_PANED_CLASS(cls) \
43 	(G_TYPE_CHECK_CLASS_TYPE \
44 	((cls), E_TYPE_ATTACHMENT_PANED))
45 #define E_ATTACHMENT_PANED_GET_CLASS(obj) \
46 	(G_TYPE_INSTANCE_GET_CLASS \
47 	((obj), E_TYPE_ATTACHMENT_PANED, EAttachmentPanedClass))
48 
49 G_BEGIN_DECLS
50 
51 typedef struct _EAttachmentPaned EAttachmentPaned;
52 typedef struct _EAttachmentPanedClass EAttachmentPanedClass;
53 typedef struct _EAttachmentPanedPrivate EAttachmentPanedPrivate;
54 
55 struct _EAttachmentPaned {
56 	GtkVPaned parent;
57 	EAttachmentPanedPrivate *priv;
58 };
59 
60 struct _EAttachmentPanedClass {
61 	GtkVPanedClass parent_class;
62 };
63 
64 GType		e_attachment_paned_get_type	(void) G_GNUC_CONST;
65 GtkWidget *	e_attachment_paned_new		(void);
66 GtkWidget *	e_attachment_paned_get_content_area
67 						(EAttachmentPaned *paned);
68 gint		e_attachment_paned_get_active_view
69 						(EAttachmentPaned *paned);
70 void		e_attachment_paned_set_active_view
71 						(EAttachmentPaned *paned,
72 						 gint active_view);
73 gboolean	e_attachment_paned_get_expanded	(EAttachmentPaned *paned);
74 void		e_attachment_paned_set_expanded	(EAttachmentPaned *paned,
75 						 gboolean expanded);
76 gboolean	e_attachment_paned_get_resize_toplevel
77 						(EAttachmentPaned *paned);
78 void		e_attachment_paned_set_resize_toplevel
79 						(EAttachmentPaned *paned,
80 						 gboolean resize_toplevel);
81 void		e_attachment_paned_drag_data_received
82 						(EAttachmentPaned *paned,
83 						 GdkDragContext *context,
84 						 gint x,
85 						 gint y,
86 						 GtkSelectionData *selection,
87 						 guint info,
88 						 guint time);
89 GtkWidget *	e_attachment_paned_get_controls_container
90 						(EAttachmentPaned *paned);
91 GtkWidget *	e_attachment_paned_get_view_combo
92 						(EAttachmentPaned *paned);
93 void		e_attachment_paned_set_default_height
94 						(gint height);
95 
96 G_END_DECLS
97 
98 #endif /* E_ATTACHMENT_PANED_H */
99