1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ |
---|
2 | /* e-shell-view.h |
---|
3 | * |
---|
4 | * Copyright (C) 2000 Ximian, Inc. |
---|
5 | * |
---|
6 | * This program is free software; you can redistribute it and/or |
---|
7 | * modify it under the terms of version 2 of the GNU General Public |
---|
8 | * License as published by the Free Software Foundation. |
---|
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 GNU |
---|
13 | * General Public License for more details. |
---|
14 | * |
---|
15 | * You should have received a copy of the GNU General Public |
---|
16 | * License along with this program; if not, write to the |
---|
17 | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
---|
18 | * Boston, MA 02111-1307, USA. |
---|
19 | * |
---|
20 | * Author: Ettore Perazzoli |
---|
21 | */ |
---|
22 | |
---|
23 | #ifndef _E_SHELL_VIEW_H_ |
---|
24 | #define _E_SHELL_VIEW_H_ |
---|
25 | |
---|
26 | #include "e-task-bar.h" |
---|
27 | |
---|
28 | #include <bonobo/bonobo-win.h> |
---|
29 | #include <bonobo/bonobo-ui-component.h> |
---|
30 | #include <bonobo/bonobo-ui-container.h> |
---|
31 | |
---|
32 | #ifdef __cplusplus |
---|
33 | extern "C" { |
---|
34 | #pragma } |
---|
35 | #endif /* __cplusplus */ |
---|
36 | |
---|
37 | |
---|
38 | #define E_TYPE_SHELL_VIEW (e_shell_view_get_type ()) |
---|
39 | #define E_SHELL_VIEW(obj) (GTK_CHECK_CAST ((obj), E_TYPE_SHELL_VIEW, EShellView)) |
---|
40 | #define E_SHELL_VIEW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_SHELL_VIEW, EShellViewClass)) |
---|
41 | #define E_IS_SHELL_VIEW(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_SHELL_VIEW)) |
---|
42 | #define E_IS_SHELL_VIEW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_TYPE_SHELL_VIEW)) |
---|
43 | |
---|
44 | typedef struct _EShellView EShellView; |
---|
45 | typedef struct _EShellViewPrivate EShellViewPrivate; |
---|
46 | typedef struct _EShellViewClass EShellViewClass; |
---|
47 | |
---|
48 | #include "e-shell.h" |
---|
49 | |
---|
50 | #define E_SHELL_VIEW_DEFAULT_URI "evolution:/summary" |
---|
51 | |
---|
52 | struct _EShellView { |
---|
53 | BonoboWindow parent; |
---|
54 | |
---|
55 | EShellViewPrivate *priv; |
---|
56 | }; |
---|
57 | |
---|
58 | struct _EShellViewClass { |
---|
59 | BonoboWindowClass parent_class; |
---|
60 | |
---|
61 | /* Signals. */ |
---|
62 | |
---|
63 | void (* shortcut_bar_visibility_changed) (EShellView *shell_view, |
---|
64 | gboolean visible); |
---|
65 | void (* folder_bar_visibility_changed) (EShellView *shell_view, |
---|
66 | gboolean visible); |
---|
67 | |
---|
68 | void (* view_changed) (EShellView *shell_view, |
---|
69 | const char *evolution_path, |
---|
70 | const char *physical_uri, |
---|
71 | const char *folder_type, |
---|
72 | const char *component_id); |
---|
73 | }; |
---|
74 | |
---|
75 | |
---|
76 | /* WARNING: Don't use `e_shell_view_new()' to create new views for the shell |
---|
77 | unless you know what you are doing; this is just the standard GTK+ |
---|
78 | constructor thing and it won't allow the shell to do the required |
---|
79 | bookkeeping for the created views. Instead, the right way to create a new |
---|
80 | view is calling `e_shell_new_view()'. */ |
---|
81 | |
---|
82 | GtkType e_shell_view_get_type (void); |
---|
83 | EShellView *e_shell_view_construct (EShellView *shell_view, |
---|
84 | EShell *shell); |
---|
85 | EShellView *e_shell_view_new (EShell *shell); |
---|
86 | |
---|
87 | const GNOME_Evolution_ShellView e_shell_view_get_corba_interface (EShellView *view); |
---|
88 | |
---|
89 | gboolean e_shell_view_display_uri (EShellView *shell_view, |
---|
90 | const char *uri, |
---|
91 | gboolean queue); |
---|
92 | |
---|
93 | void e_shell_view_show_shortcut_bar (EShellView *shell_view, |
---|
94 | gboolean show); |
---|
95 | gboolean e_shell_view_shortcut_bar_shown (EShellView *shell_view); |
---|
96 | void e_shell_view_show_folder_bar (EShellView *shell_view, |
---|
97 | gboolean show); |
---|
98 | gboolean e_shell_view_folder_bar_shown (EShellView *shell_view); |
---|
99 | |
---|
100 | void e_shell_view_show_settings (EShellView *shell_view); |
---|
101 | |
---|
102 | ETaskBar *e_shell_view_get_task_bar (EShellView *shell_view); |
---|
103 | EShell *e_shell_view_get_shell (EShellView *shell_view); |
---|
104 | BonoboUIComponent *e_shell_view_get_bonobo_ui_component (EShellView *shell_view); |
---|
105 | BonoboUIContainer *e_shell_view_get_bonobo_ui_container (EShellView *shell_view); |
---|
106 | GtkWidget *e_shell_view_get_appbar (EShellView *shell_view); |
---|
107 | const char *e_shell_view_get_current_uri (EShellView *shell_view); |
---|
108 | const char *e_shell_view_get_current_physical_uri (EShellView *shell_view); |
---|
109 | const char *e_shell_view_get_current_folder_type (EShellView *shell_view); |
---|
110 | const char *e_shell_view_get_current_component_id (EShellView *shell_view); |
---|
111 | const char *e_shell_view_get_current_path (EShellView *shell_view); |
---|
112 | |
---|
113 | gboolean e_shell_view_save_settings (EShellView *shell_view, |
---|
114 | int view_num); |
---|
115 | gboolean e_shell_view_load_settings (EShellView *shell_view, |
---|
116 | int view_num); |
---|
117 | |
---|
118 | int e_shell_view_get_current_shortcuts_group_num (EShellView *shell_view); |
---|
119 | void e_shell_view_set_current_shortcuts_group_num (EShellView *shell_view, |
---|
120 | int group_num); |
---|
121 | |
---|
122 | /* Private -- */ |
---|
123 | const char *e_shell_view_get_folder_bar_right_click_path (EShellView *shell_view); |
---|
124 | |
---|
125 | #ifdef __cplusplus |
---|
126 | } |
---|
127 | #endif /* __cplusplus */ |
---|
128 | |
---|
129 | #endif /* _E_SHELL_VIEW_H_ */ |
---|