Conflicts: a11y/widgets/ea-combo-button.c a11y/widgets/ea-combo-button.h addressbook/gui/component/addressbook-component.c addressbook/gui/component/addressbook-component.h addressbook/gui/component/addressbook-view.c addressbook/gui/component/addressbook-view.h addressbook/gui/component/component-factory.c addressbook/gui/widgets/e-addressbook-view.c addressbook/gui/widgets/eab-contact-display.c addressbook/gui/widgets/eab-gui-util.h addressbook/gui/widgets/eab-menu.c addressbook/gui/widgets/eab-menu.h addressbook/gui/widgets/eab-popup-control.c addressbook/gui/widgets/eab-popup-control.h addressbook/gui/widgets/eab-popup.c addressbook/gui/widgets/eab-popup.h calendar/gui/cal-search-bar.c calendar/gui/calendar-commands.c calendar/gui/calendar-component.c calendar/gui/comp-editor-factory.c calendar/gui/comp-editor-factory.h calendar/gui/control-factory.c calendar/gui/dialogs/comp-editor.c calendar/gui/e-cal-component-memo-preview.c calendar/gui/e-cal-component-memo-preview.h calendar/gui/e-calendar-table.c calendar/gui/e-memo-table.c calendar/gui/e-memos.c calendar/gui/e-tasks.c calendar/gui/gnome-cal.c calendar/gui/gnome-cal.h calendar/gui/itip-bonobo-control.c calendar/gui/itip-bonobo-control.h calendar/gui/main.c calendar/gui/memos-component.c calendar/gui/memos-control.c calendar/gui/memos-control.h calendar/gui/migration.c calendar/gui/migration.h calendar/gui/tasks-component.c calendar/gui/tasks-control.c calendar/importers/main.c composer/Makefile.am composer/e-composer-header-table.c composer/e-composer-header.c composer/e-composer-header.h composer/e-composer-name-header.c composer/e-composer-private.c composer/e-composer-text-header.c composer/e-msg-composer.c composer/e-msg-composer.h e-util/e-corba-utils.h e-util/e-logger.c e-util/e-logger.h e-util/e-util-labels.c e-util/e-util-labels.h em-format/em-format.c mail/Makefile.am mail/e-mail-shell-migrate.c mail/em-account-editor.c mail/em-account-editor.h mail/em-composer-prefs.c mail/em-composer-utils.c mail/em-composer-utils.h mail/em-folder-browser.c mail/em-folder-tree-model.c mail/em-folder-tree.c mail/em-folder-tree.h mail/em-folder-utils.c mail/em-folder-utils.h mail/em-folder-view.c mail/em-format-html-display.c mail/em-format-html.c mail/em-mailer-prefs.c mail/em-mailer-prefs.h mail/em-message-browser.c mail/em-message-browser.h mail/em-network-prefs.h mail/em-popup.c mail/em-utils.c mail/importers/Makefile.am mail/mail-component-factory.c mail/mail-component.c mail/mail-config-factory.c mail/mail-config-factory.h mail/mail-config.c mail/mail-dialogs.glade mail/mail-types.h plugins/calendar-weather/calendar-weather.c plugins/mail-account-disable/mail-account-disable.c plugins/select-one-source/select-one-source.c po/POTFILES.in shell/e-component-registry.c shell/e-component-registry.h shell/e-component-view.c shell/e-component-view.h shell/e-corba-config-page.c shell/e-corba-config-page.h shell/e-shell-constants.h shell/e-shell-settings-dialog.c shell/e-shell-settings-dialog.h shell/e-shell-window-commands.c shell/e-shell-window.c shell/e-shell.h shell/e-sidebar.c shell/e-sidebar.h shell/e-user-creatable-items-handler.c shell/e-user-creatable-items-handler.h shell/es-menu.c shell/es-menu.h shell/evolution-component.h shell/evolution-config-control.c shell/evolution-config-control.h shell/evolution-listener.c shell/evolution-listener.h shell/evolution-shell-component-utils.c shell/evolution-shell-component-utils.h shell/importer/evolution-importer-client.c shell/importer/evolution-importer-client.h shell/importer/evolution-importer-listener.c shell/importer/evolution-importer-listener.h shell/importer/evolution-importer.c shell/importer/evolution-importer.h shell/importer/evolution-intelligent-importer.c shell/importer/evolution-intelligent-importer.h shell/importer/intelligent.c shell/main.c shell/test/evolution-test-component.c shell/test/evolution-test-component.h widgets/menus/gal-view-instance.c widgets/menus/gal-view-menus.c widgets/menus/gal-view-menus.h widgets/misc/Makefile.am widgets/misc/e-activity-handler.c widgets/misc/e-activity-handler.h widgets/misc/e-charset-picker.c widgets/misc/e-combo-button.c widgets/misc/e-combo-button.h widgets/misc/e-config-page.h widgets/misc/e-dropdown-button.c widgets/misc/e-dropdown-button.h widgets/misc/e-filter-bar.c widgets/misc/e-info-label.c widgets/misc/e-info-label.h widgets/misc/e-multi-config-dialog.c widgets/misc/e-multi-config-dialog.h widgets/misc/e-search-bar.c widgets/misc/e-search-bar.h widgets/misc/e-task-bar.c widgets/misc/e-task-bar.h widgets/misc/e-task-widget.c widgets/misc/e-task-widget.h widgets/misc/test-dropdown-button.c widgets/misc/test-error.c widgets/misc/test-info-label.c widgets/table/e-table-example-1.c
185 lines
6.5 KiB
C
185 lines
6.5 KiB
C
/*
|
|
* e-shell-view.h
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) version 3.
|
|
*
|
|
* 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
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
|
*
|
|
*
|
|
* Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* SECTION: e-shell-view
|
|
* @short_description: views within the main window
|
|
* @include: shell/e-shell-view.h
|
|
**/
|
|
|
|
#ifndef E_SHELL_VIEW_H
|
|
#define E_SHELL_VIEW_H
|
|
|
|
#include <shell/e-shell-common.h>
|
|
#include <shell/e-shell-backend.h>
|
|
#include <shell/e-shell-content.h>
|
|
#include <shell/e-shell-sidebar.h>
|
|
#include <shell/e-shell-taskbar.h>
|
|
#include <shell/e-shell-window.h>
|
|
|
|
#include <widgets/menus/gal-view-collection.h>
|
|
#include <widgets/menus/gal-view-instance.h>
|
|
|
|
/* Standard GObject macros */
|
|
#define E_TYPE_SHELL_VIEW \
|
|
(e_shell_view_get_type ())
|
|
#define E_SHELL_VIEW(obj) \
|
|
(G_TYPE_CHECK_INSTANCE_CAST \
|
|
((obj), E_TYPE_SHELL_VIEW, EShellView))
|
|
#define E_SHELL_VIEW_CLASS(cls) \
|
|
(G_TYPE_CHECK_CLASS_CAST \
|
|
((cls), E_TYPE_SHELL_VIEW, EShellViewClass))
|
|
#define E_IS_SHELL_VIEW(obj) \
|
|
(G_TYPE_CHECK_INSTANCE_TYPE \
|
|
((obj), E_TYPE_SHELL_VIEW))
|
|
#define E_IS_SHELL_VIEW_CLASS(cls) \
|
|
(G_TYPE_CHECK_CLASS_TYPE \
|
|
((cls), E_TYPE_SHELL_VIEW))
|
|
#define E_SHELL_VIEW_GET_CLASS(obj) \
|
|
(G_TYPE_INSTANCE_GET_CLASS \
|
|
((obj), E_TYPE_SHELL_VIEW, EShellViewClass))
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
typedef struct _EShellView EShellView;
|
|
typedef struct _EShellViewClass EShellViewClass;
|
|
typedef struct _EShellViewPrivate EShellViewPrivate;
|
|
|
|
/**
|
|
* EShellView:
|
|
*
|
|
* Contains only private data that should be read and manipulated using the
|
|
* functions below.
|
|
**/
|
|
struct _EShellView {
|
|
GObject parent;
|
|
EShellViewPrivate *priv;
|
|
};
|
|
|
|
/**
|
|
* EShellViewClass:
|
|
* @parent_class: The parent class structure.
|
|
* @label: The initial value for the switcher action's
|
|
* #GtkAction:label property. See
|
|
* e_shell_view_get_action().
|
|
* @icon_name: The initial value for the switcher action's
|
|
* #GtkAction:icon-name property. See
|
|
* e_shell_view_get_action().
|
|
* @ui_definition: Base name of the UI definintion file to add
|
|
* when the shell view is activated.
|
|
* @ui_manager_id: The #GtkUIManager ID for #EPluginUI. Plugins
|
|
* should use to this ID in their "eplug" files to
|
|
* add menu and toolbar items to the shell view.
|
|
* @search_options: Widget path in the UI definition to the search
|
|
* options popup menu. The menu gets shown when the
|
|
* user clicks the "find" icon in the search entry.
|
|
* @search_rules: Base name of the XML file containing predefined
|
|
* search rules for this shell view. The XML files
|
|
* are usually named something like <filename>
|
|
* <emphasis>view</emphasis>types.xml</filename>.
|
|
* @view_collection: A unique #GalViewCollection instance is created
|
|
* for each subclass and shared across all instances
|
|
* of that subclass. That much is done automatically
|
|
* for subclasses, but subclasses are still responsible
|
|
* for adding the appropriate #GalView factories to the
|
|
* view collection.
|
|
* @new_shell_content: Factory method for the shell view's #EShellContent.
|
|
* See e_shell_view_get_shell_content().
|
|
* @new_shell_sidebar: Factory method for the shell view's #EShellSidebar.
|
|
* See e_shell_view_get_shell_sidebar().
|
|
* @new_shell_taskbar: Factory method for the shell view's #EShellTaskbar.
|
|
* See e_shell_view_get_shell_taskbar().
|
|
* @toggled: Class method for the #EShellView::toggled signal.
|
|
* Subclasses should rarely need to override the
|
|
* default behavior.
|
|
* @update_actions: Class method for the #EShellView::update_actions
|
|
* signal. There is no default behavior; subclasses
|
|
* should override this.
|
|
*
|
|
* #EShellViewClass contains a number of important settings for subclasses.
|
|
**/
|
|
struct _EShellViewClass {
|
|
GObjectClass parent_class;
|
|
|
|
/* Initial switcher action values. */
|
|
const gchar *label;
|
|
const gchar *icon_name;
|
|
|
|
/* Base name of the UI definition file. */
|
|
const gchar *ui_definition;
|
|
|
|
/* GtkUIManager identifier for use with EPluginUI.
|
|
* Usually "org.gnome.evolution.$(VIEW_NAME)". */
|
|
const gchar *ui_manager_id;
|
|
|
|
/* Widget path to the search options popup menu. */
|
|
const gchar *search_options;
|
|
|
|
/* Base name of the search rule definition file. */
|
|
const gchar *search_rules;
|
|
|
|
/* A unique instance is created for each subclass. */
|
|
GalViewCollection *view_collection;
|
|
|
|
/* This is set by the corresponding EShellBackend. */
|
|
EShellBackend *shell_backend;
|
|
|
|
/* Factory Methods */
|
|
GtkWidget * (*new_shell_content) (EShellView *shell_view);
|
|
GtkWidget * (*new_shell_sidebar) (EShellView *shell_view);
|
|
GtkWidget * (*new_shell_taskbar) (EShellView *shell_view);
|
|
|
|
/* Signals */
|
|
void (*toggled) (EShellView *shell_view);
|
|
void (*update_actions) (EShellView *shell_view);
|
|
};
|
|
|
|
GType e_shell_view_get_type (void);
|
|
const gchar * e_shell_view_get_name (EShellView *shell_view);
|
|
GtkAction * e_shell_view_get_action (EShellView *shell_view);
|
|
const gchar * e_shell_view_get_title (EShellView *shell_view);
|
|
void e_shell_view_set_title (EShellView *shell_view,
|
|
const gchar *title);
|
|
const gchar * e_shell_view_get_view_id (EShellView *shell_view);
|
|
void e_shell_view_set_view_id (EShellView *shell_view,
|
|
const gchar *view_id);
|
|
gboolean e_shell_view_is_active (EShellView *shell_view);
|
|
gint e_shell_view_get_page_num (EShellView *shell_view);
|
|
void e_shell_view_set_page_num (EShellView *shell_view,
|
|
gint page_num);
|
|
GtkSizeGroup * e_shell_view_get_size_group (EShellView *shell_view);
|
|
EShellBackend * e_shell_view_get_shell_backend (EShellView *shell_view);
|
|
EShellContent * e_shell_view_get_shell_content (EShellView *shell_view);
|
|
EShellSidebar * e_shell_view_get_shell_sidebar (EShellView *shell_view);
|
|
EShellTaskbar * e_shell_view_get_shell_taskbar (EShellView *shell_view);
|
|
EShellWindow * e_shell_view_get_shell_window (EShellView *shell_view);
|
|
void e_shell_view_update_actions (EShellView *shell_view);
|
|
void e_shell_view_show_popup_menu (EShellView *shell_view,
|
|
const gchar *widget_path,
|
|
GdkEventButton *event);
|
|
GalViewInstance *
|
|
e_shell_view_new_view_instance (EShellView *shell_view,
|
|
const gchar *instance_id);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* E_SHELL_VIEW_H */
|