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.
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
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/>.
17 * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
21 #ifndef E_SHELL_SWITCHER_H
22 #define E_SHELL_SWITCHER_H
24 #include <shell/e-shell-common.h>
26 /* Standard GObject macros */
27 #define E_TYPE_SHELL_SWITCHER \
28 (e_shell_switcher_get_type ())
29 #define E_SHELL_SWITCHER(obj) \
30 (G_TYPE_CHECK_INSTANCE_CAST \
31 ((obj), E_TYPE_SHELL_SWITCHER, EShellSwitcher))
32 #define E_SHELL_SWITCHER_CLASS(cls) \
33 (G_TYPE_CHECK_CLASS_CAST \
34 ((cls), E_TYPE_SHELL_SWITCHER, EShellSwitcherClass))
35 #define E_IS_SHELL_SWITCHER(obj) \
36 (G_TYPE_CHECK_INSTANCE_TYPE \
37 ((obj), E_TYPE_SHELL_SWITCHER))
38 #define E_IS_SHELL_SWITCHER_CLASS(cls) \
39 (G_TYPE_CHECK_CLASS_TYPE \
40 ((obj), E_TYPE_SHELL_SWITCHER))
41 #define E_SHELL_SWITCHER_GET_CLASS(obj) \
42 (G_TYPE_INSTANCE_GET_CLASS \
43 ((obj), E_TYPE_SHELL_SWITCHER, EShellSwitcherClass))
45 #define E_SHELL_SWITCHER_DEFAULT_TOOLBAR_STYLE GTK_TOOLBAR_BOTH_HORIZ
49 typedef struct _EShellSwitcher EShellSwitcher
;
50 typedef struct _EShellSwitcherClass EShellSwitcherClass
;
51 typedef struct _EShellSwitcherPrivate EShellSwitcherPrivate
;
56 * Contains only private data that should be read and manipulated using the
59 struct _EShellSwitcher
{
61 EShellSwitcherPrivate
*priv
;
64 struct _EShellSwitcherClass
{
65 GtkBinClass parent_class
;
67 void (*style_changed
) (EShellSwitcher
*switcher
,
68 GtkToolbarStyle style
);
71 GType
e_shell_switcher_get_type (void);
72 GtkWidget
* e_shell_switcher_new (void);
73 void e_shell_switcher_add_action (EShellSwitcher
*switcher
,
74 GtkAction
*switch_action
,
75 GtkAction
*new_window_action
);
76 GtkToolbarStyle
e_shell_switcher_get_style (EShellSwitcher
*switcher
);
77 void e_shell_switcher_set_style (EShellSwitcher
*switcher
,
78 GtkToolbarStyle style
);
79 void e_shell_switcher_unset_style (EShellSwitcher
*switcher
);
80 gboolean
e_shell_switcher_get_visible (EShellSwitcher
*switcher
);
81 void e_shell_switcher_set_visible (EShellSwitcher
*switcher
,
86 #endif /* E_SHELL_SWITCHER_H */