From 725d0a088ddafd5f5665f4415c54f12411103e83 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Sun, 7 May 2000 01:57:49 +0000 Subject: Big shell reorganization. svn path=/trunk/; revision=2848 --- shell/e-shell.h | 120 ++++++++++++++++++++++++++++++++------------------------ 1 file changed, 69 insertions(+), 51 deletions(-) (limited to 'shell/e-shell.h') diff --git a/shell/e-shell.h b/shell/e-shell.h index 64de044fb4..fd82b6b862 100644 --- a/shell/e-shell.h +++ b/shell/e-shell.h @@ -1,60 +1,78 @@ -#ifndef E_SHELL_H -#define E_SHELL_H +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* e-shell.h + * + * Copyright (C) 2000 Helix Code, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Author: Ettore Perazzoli + */ + +#ifndef _E_SHELL_H_ +#define _E_SHELL_H_ + +#ifdef HAVE_CONFIG_H +#include +#endif -#include -#include "evolution.h" -#include "e-folder.h" -#include "e-shortcut.h" +#include -#define E_SHELL_GOAD_ID "GOADID:GNOME:Evolution:Shell:1.0" -#define E_SHELL_FACTORY_GOAD_ID "GOADID:GNOME:Evolution:ShellFactory:1.0" +#include "e-shortcuts.h" -#define E_SHELL_TYPE (e_shell_get_type ()) -#define E_SHELL(o) (GTK_CHECK_CAST ((o), E_SHELL_TYPE, EShell)) -#define E_SHELL_CLASS(k) (GTK_CHECK_CLASS_CAST((k), E_SHELL_TYPE, EShellClass)) -#define E_IS_SHELL(o) (GTK_CHECK_TYPE ((o), E_SHELL_TYPE)) -#define E_IS_SHELL_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_SHELL_TYPE)) +#ifdef __cplusplus +extern "C" { +#pragma } +#endif /* __cplusplus */ + +#define E_TYPE_SHELL (e_shell_get_type ()) +#define E_SHELL(obj) (GTK_CHECK_CAST ((obj), E_TYPE_SHELL, EShell)) +#define E_SHELL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_SHELL, EShellClass)) +#define E_IS_SHELL(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_SHELL)) +#define E_IS_SHELL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_TYPE_SHELL)) + + +typedef struct _EShell EShell; +typedef struct _EShellPrivate EShellPrivate; +typedef struct _EShellClass EShellClass; struct _EShell { - BonoboObject base_object; - - /* A list of EShellViews */ - GSList *views; - - struct { - EFolder *inbox; - EFolder *outbox; - EFolder *drafts; - EFolder *calendar; - EFolder *tasks; - EFolder *summary; - EFolder *contacts; - } default_folders; - - EShortcutBarModel *shortcut_bar; + GtkObject parent; + + EShellPrivate *priv; }; -typedef struct { - BonoboObjectClass parent_class; -} EShellClass; +struct _EShellClass { + GtkObjectClass parent_class; +}; -EShell *e_shell_new (void); -void e_shell_register_view (EShell *eshell, EShellView *eshell_view); -void e_shell_unregister_view (EShell *eshell, EShellView *eshell_view); + +GtkType e_shell_get_type (void); +void e_shell_construct (EShell *shell, + const char *local_directory); +EShell *e_shell_new (const char *local_directory); -/* - * New - */ -void e_shell_new_appointment (EShell *eshell); -void e_shell_new_meeting_request (EShell *eshell); -void e_shell_new_task (EShell *eshell); -void e_shell_new_task_request (EShell *eshell); -void e_shell_new_contact (EShell *eshell); -void e_shell_new_mail_message (EShell *eshell); -void e_shell_new_distribution_list (EShell *eshell); -void e_shell_new_journal_entry (EShell *eshell); -void e_shell_new_note (EShell *eshell); - -void e_shell_quit (EShell *eshell); - -#endif /* EVOLUTION_SHELL_H */ +GtkWidget *e_shell_new_view (EShell *shell, + const char *uri); + +EShortcuts *e_shell_get_shortcuts (EShell *shell); +EStorageSet *e_shell_get_storage_set (EShell *shell); +EFolderTypeRepository *e_shell_get_folder_type_repository (EShell *shell); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* _E_SHELL_H_ */ -- cgit v1.2.3