EShellView

EShellView — views within the main window

Functions

#define E_SHELL_VIEW_ACTION()
const gchar * e_shell_view_get_name ()
EUIManager * e_shell_view_get_ui_manager ()
EUIAction * e_shell_view_get_action ()
EUIAction * e_shell_view_get_switcher_action ()
const gchar * e_shell_view_get_title ()
void e_shell_view_set_title ()
gboolean e_shell_view_get_menubar_visible ()
void e_shell_view_set_menubar_visible ()
gboolean e_shell_view_get_sidebar_visible ()
void e_shell_view_set_sidebar_visible ()
gboolean e_shell_view_get_switcher_visible ()
void e_shell_view_set_switcher_visible ()
gboolean e_shell_view_get_taskbar_visible ()
void e_shell_view_set_taskbar_visible ()
gboolean e_shell_view_get_toolbar_visible ()
void e_shell_view_set_toolbar_visible ()
gint e_shell_view_get_sidebar_width ()
void e_shell_view_set_sidebar_width ()
const gchar * e_shell_view_get_view_id ()
void e_shell_view_set_view_id ()
GalViewInstance * e_shell_view_new_view_instance ()
GalViewInstance * e_shell_view_get_view_instance ()
void e_shell_view_set_view_instance ()
gboolean e_shell_view_is_active ()
gint e_shell_view_get_page_num ()
void e_shell_view_set_page_num ()
GtkWidget * e_shell_view_get_searchbar ()
gchar * e_shell_view_get_search_name ()
EFilterRule * e_shell_view_get_search_rule ()
void e_shell_view_set_search_rule ()
gchar * e_shell_view_get_search_query ()
GtkSizeGroup * e_shell_view_get_size_group ()
EShellBackend * e_shell_view_get_shell_backend ()
EShellContent * e_shell_view_get_shell_content ()
EShellSidebar * e_shell_view_get_shell_sidebar ()
EShellTaskbar * e_shell_view_get_shell_taskbar ()
EShellWindow * e_shell_view_get_shell_window ()
GtkWidget * e_shell_view_get_headerbar ()
GKeyFile * e_shell_view_get_state_key_file ()
void e_shell_view_set_state_dirty ()
void e_shell_view_save_state_immediately ()
void e_shell_view_clear_search ()
void e_shell_view_custom_search ()
void e_shell_view_execute_search ()
void e_shell_view_block_execute_search ()
void e_shell_view_unblock_execute_search ()
gboolean e_shell_view_is_execute_search_blocked ()
void e_shell_view_update_actions ()
void e_shell_view_update_actions_in_idle ()
GtkWidget * e_shell_view_show_popup_menu ()
void e_shell_view_write_source ()
void e_shell_view_remove_source ()
void e_shell_view_remote_delete_source ()
EActivity * e_shell_view_submit_thread_job ()
void e_shell_view_run_ui_customize_dialog ()
gboolean e_shell_view_util_layout_to_state_cb ()
GVariant * e_shell_view_util_state_to_layout_cb ()

Properties

gboolean menubar-visible Read / Write
int page-num Read / Write
EFilterRule * search-rule Read / Write
EShellBackend * shell-backend Read
EShellContent * shell-content Read
EShellSidebar * shell-sidebar Read
EShellTaskbar * shell-taskbar Read
EShellWindow * shell-window Read / Write / Construct Only
gboolean sidebar-visible Read / Write
int sidebar-width Read / Write / Construct
gpointer state-key-file Read
EUIAction * switcher-action Read / Write / Construct Only
gboolean switcher-visible Read / Write
gboolean taskbar-visible Read / Write
char * title Read / Write
gboolean toolbar-visible Read / Write
char * view-id Read / Write
GalViewInstance * view-instance Read / Write

Signals

void clear-search Run Last
void custom-search Run Last
void execute-search Run Last
void init-ui-data Action
void update-actions Run First

Types and Values

struct EShellView
struct EShellViewClass

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBox
                    ╰── EShellView

Implemented Interfaces

EShellView implements AtkImplementorIface, GtkBuildable, GtkOrientable and EExtensible.

Includes

#include <shell/e-shell-view.h>

Description

Functions

E_SHELL_VIEW_ACTION()

#define             E_SHELL_VIEW_ACTION(view, name)

e_shell_view_get_name ()

const gchar *
e_shell_view_get_name (EShellView *shell_view);

Returns the view name for shell_view , which is also the name of the corresponding EShellBackend (see the name field in EShellBackendInfo).

Parameters

shell_view

an EShellView

 

Returns

the view name for shell_view


e_shell_view_get_ui_manager ()

EUIManager *
e_shell_view_get_ui_manager (EShellView *shell_view);

Returns the view's EUIManager. It can be used to add UI elemenrs related to the shell_view itself.

Parameters

shell_view

an EShellView

 

Returns

the view's UI manager.

[transfer none]

Since: 3.56


e_shell_view_get_action ()

EUIAction *
e_shell_view_get_action (EShellView *shell_view,
                         const gchar *name);

Returns an EUIAction named name .

Parameters

shell_view

an EShellView

 

name

action name to get

 

Returns

an EUIAction named name , or NULL, when no such exists.

[transfer none][nullable]

Since: 3.56


e_shell_view_get_switcher_action ()

EUIAction *
e_shell_view_get_switcher_action (EShellView *shell_view);

Returns the switcher action for shell_view .

An EShellWindow creates an EUIAction for each registered subclass of EShellView. This action gets passed to the EShellSwitcher, which displays a button that proxies the action. The icon at the top of the sidebar also proxies the action. When shell_view is active, the action's icon becomes the EShellWindow icon.

Parameters

shell_view

an EShellView

 

Returns

the switcher action for shell_view .

[transfer none]

Since: 3.56


e_shell_view_get_title ()

const gchar *
e_shell_view_get_title (EShellView *shell_view);

Returns the title for shell_view . When shell_view is active, the shell view's title becomes the EShellWindow title.

Parameters

shell_view

an EShellView

 

Returns

the title for shell_view


e_shell_view_set_title ()

void
e_shell_view_set_title (EShellView *shell_view,
                        const gchar *title);

Sets the title for shell_view . When shell_view is active, the shell view's title becomes the EShellWindow title.

Parameters

shell_view

an EShellView

 

title

a title for shell_view

 

e_shell_view_get_menubar_visible ()

gboolean
e_shell_view_get_menubar_visible (EShellView *shell_view);

Returns TRUE if shell_view 's menu bar is visible.

Parameters

shell_view

an EShellView

 

Returns

TRUE is the menu bar is visible

Since: 3.56


e_shell_view_set_menubar_visible ()

void
e_shell_view_set_menubar_visible (EShellView *shell_view,
                                  gboolean menubar_visible);

Makes shell_view 's menu bar visible or invisible.

Parameters

shell_view

an EShellView

 

menubar_visible

whether the menu bar should be visible

 

Since: 3.56


e_shell_view_get_sidebar_visible ()

gboolean
e_shell_view_get_sidebar_visible (EShellView *shell_view);

Returns TRUE if shell_view 's sidebar is visible.

Parameters

shell_view

an EShellView

 

Returns

TRUE is the sidebar is visible

Since: 3.56


e_shell_view_set_sidebar_visible ()

void
e_shell_view_set_sidebar_visible (EShellView *shell_view,
                                  gboolean sidebar_visible);

Makes shell_view 's sidebar visible or invisible.

Parameters

shell_view

an EShellView

 

sidebar_visible

whether the sidebar should be visible

 

Since: 3.56


e_shell_view_get_switcher_visible ()

gboolean
e_shell_view_get_switcher_visible (EShellView *shell_view);

Returns TRUE if shell_view 's switcher buttons are visible.

Parameters

shell_view

an EShellView

 

Returns

TRUE is the switcher buttons are visible

Since: 3.56


e_shell_view_set_switcher_visible ()

void
e_shell_view_set_switcher_visible (EShellView *shell_view,
                                   gboolean switcher_visible);

Makes shell_view 's switcher buttons visible or invisible.

Parameters

shell_view

an EShellView

 

switcher_visible

whether the switcher buttons should be visible

 

Since: 3.56


e_shell_view_get_taskbar_visible ()

gboolean
e_shell_view_get_taskbar_visible (EShellView *shell_view);

Returns TRUE if shell_view 's task bar is visible.

Parameters

shell_view

an EShellView

 

Returns

TRUE is the task bar is visible

Since: 3.56


e_shell_view_set_taskbar_visible ()

void
e_shell_view_set_taskbar_visible (EShellView *shell_view,
                                  gboolean taskbar_visible);

Makes shell_view 's task bar visible or invisible.

Parameters

shell_view

an EShellView

 

taskbar_visible

whether the task bar should be visible

 

Since: 3.56


e_shell_view_get_toolbar_visible ()

gboolean
e_shell_view_get_toolbar_visible (EShellView *shell_view);

Returns TRUE if shell_view 's tool bar is visible.

Parameters

shell_view

an EShellView

 

Returns

TRUE if the tool bar is visible

Since: 3.56


e_shell_view_set_toolbar_visible ()

void
e_shell_view_set_toolbar_visible (EShellView *shell_view,
                                  gboolean toolbar_visible);

Makes shell_view 's tool bar visible or invisible.

Parameters

shell_view

an EShellView

 

toolbar_visible

whether the tool bar should be visible

 

Since: 3.56


e_shell_view_get_sidebar_width ()

gint
e_shell_view_get_sidebar_width (EShellView *shell_view);

Gets width of the sidebar, in pixels.

Parameters

shell_view

an EShellView

 

Returns

width of the sidebar, in pixels

Since: 3.56


e_shell_view_set_sidebar_width ()

void
e_shell_view_set_sidebar_width (EShellView *shell_view,
                                gint width);

Sets width of the sidebar, in pixels.

Parameters

shell_view

an EShellView

 

width

width in pixels

 

Since: 3.56


e_shell_view_get_view_id ()

const gchar *
e_shell_view_get_view_id (EShellView *shell_view);

Returns the ID of the currently selected GalView.

EShellView subclasses are responsible for keeping this property in sync with their GalViewInstance. EShellView itself just provides a place to store the view ID, and emits a “notify” signal when the property changes.

Parameters

shell_view

an EShellView

 

Returns

the ID of the current GalView


e_shell_view_set_view_id ()

void
e_shell_view_set_view_id (EShellView *shell_view,
                          const gchar *view_id);

Selects the GalView whose ID is equal to view_id .

EShellView subclasses are responsible for keeping this property in sync with their GalViewInstance. EShellView itself just provides a place to store the view ID, and emits a “notify” signal when the property changes.

Parameters

shell_view

an EShellView

 

view_id

a GalView ID

 

e_shell_view_new_view_instance ()

GalViewInstance *
e_shell_view_new_view_instance (EShellView *shell_view,
                                const gchar *instance_id);

Convenience function creates a new GalViewInstance from the GalViewCollection in shell_view 's EShellViewClass.

Parameters

shell_view

an EShellView

 

instance_id

a name for the GalViewInstance

 

Returns

a new GalViewInstance


e_shell_view_get_view_instance ()

GalViewInstance *
e_shell_view_get_view_instance (EShellView *shell_view);

Returns the current GalViewInstance for shell_view .

EShellView subclasses are responsible for creating and configuring a GalViewInstance and handing it off so the shell_view can monitor it and perform common actions on it.

Parameters

shell_view

an EShellView

 

Returns

a GalViewInstance, or NULL


e_shell_view_set_view_instance ()

void
e_shell_view_set_view_instance (EShellView *shell_view,
                                GalViewInstance *view_instance);

Sets the current GalViewInstance for shell_view .

EShellView subclasses are responsible for creating and configuring a GalViewInstance and handing it off so the shell_view can monitor it and perform common actions on it.

Parameters

shell_view

an EShellView

 

view_instance

a GalViewInstance, or NULL

 

e_shell_view_is_active ()

gboolean
e_shell_view_is_active (EShellView *shell_view);

Returns TRUE if shell_view is active. That is, if it's currently visible in its EShellWindow. An EShellWindow can only display one shell view at a time.

Technically this just checks the shell view's switcher action "active" property. See e_shell_view_get_switcher_action().

Parameters

shell_view

an EShellView

 

Returns

TRUE if shell_view is active


e_shell_view_get_page_num ()

gint
e_shell_view_get_page_num (EShellView *shell_view);

This function is only interesting to EShellWindow. It returns the GtkNotebook page number for shell_view . The rest of the application should have no need for this.

Parameters

shell_view

an EShellView

 

Returns

the notebook page number for shell_view


e_shell_view_set_page_num ()

void
e_shell_view_set_page_num (EShellView *shell_view,
                           gint page_num);

This function is only interesting to EShellWindow. It sets the GtkNotebook page number for shell_view . The rest of the application must never call this because it could mess up shell view switching.

Parameters

shell_view

an EShellView

 

page_num

a notebook page number

 

e_shell_view_get_searchbar ()

GtkWidget *
e_shell_view_get_searchbar (EShellView *shell_view);

Returns the searchbar widget for shell_view .

Parameters

shell_view

an EShellView

 

Returns

the searchbar widget for shell_view


e_shell_view_get_search_name ()

gchar *
e_shell_view_get_search_name (EShellView *shell_view);

Returns a newly-allocated string containing a suitable name for the current search criteria. This is used as the suggested name in the Save Search dialog. Free the returned string with g_free().

Parameters

shell_view

an EShellView

 

Returns

a name for the current search criteria


e_shell_view_get_search_rule ()

EFilterRule *
e_shell_view_get_search_rule (EShellView *shell_view);

Returns the search criteria used to generate the current search results.

Parameters

shell_view

an EShellView

 

Returns

the current search criteria


e_shell_view_set_search_rule ()

void
e_shell_view_set_search_rule (EShellView *shell_view,
                              EFilterRule *search_rule);

Sets the search criteria used to generate the current search results. Note that this will not trigger a search. e_shell_view_execute_search() must be called explicitly.

Parameters

shell_view

an EShellView

 

search_rule

an EFilterRule

 

e_shell_view_get_search_query ()

gchar *
e_shell_view_get_search_query (EShellView *shell_view);

Converts the “search-rule” property to a newly-allocated S-expression string. If the “search-rule” property is NULL the function returns NULL.

Parameters

shell_view

an EShellView

 

Returns

an S-expression string, or NULL


e_shell_view_get_size_group ()

GtkSizeGroup *
e_shell_view_get_size_group (EShellView *shell_view);

Returns a GtkSizeGroup that EShellContent and EShellSidebar use to keep the search bar and sidebar banner vertically aligned. The rest of the application should have no need for this.

Note, this is only available during EShellView construction.

Parameters

shell_view

an EShellView

 

Returns

a GtkSizeGroup for internal use


e_shell_view_get_shell_backend ()

EShellBackend *
e_shell_view_get_shell_backend (EShellView *shell_view);

Returns the corresponding EShellBackend for shell_view .

Parameters

shell_view

an EShellView

 

Returns

the corresponding EShellBackend for shell_view


e_shell_view_get_shell_content ()

EShellContent *
e_shell_view_get_shell_content (EShellView *shell_view);

Returns the EShellContent instance for shell_view .

By default, EShellView creates a plain EShellContent during initialization. But EShellView subclasses can override the new_shell_content factory method in EShellViewClass to create a custom EShellContent.

Parameters

shell_view

an EShellView

 

Returns

the EShellContent instance for shell_view


e_shell_view_get_shell_sidebar ()

EShellSidebar *
e_shell_view_get_shell_sidebar (EShellView *shell_view);

Returns the EShellSidebar instance for shell_view .

By default, EShellView creates a plain EShellSidebar during initialization. But EShellView subclasses can override the new_shell_sidebar factory method in EShellViewClass to create a custom EShellSidebar.

Parameters

shell_view

an EShellView

 

Returns

the EShellSidebar instance for shell_view


e_shell_view_get_shell_taskbar ()

EShellTaskbar *
e_shell_view_get_shell_taskbar (EShellView *shell_view);

Returns the EShellTaskbar instance for shell_view .

By default, EShellView creates a plain EShellTaskbar during initialization. But EShellView subclasses can override the new_shell_taskbar factory method in EShellViewClass to create a custom EShellTaskbar.

Parameters

shell_view

an EShellView

 

Returns

the EShellTaskbar instance for shell_view


e_shell_view_get_shell_window ()

EShellWindow *
e_shell_view_get_shell_window (EShellView *shell_view);

Returns the EShellWindow to which shell_view belongs.

Parameters

shell_view

an EShellView

 

Returns

the EShellWindow to which shell_view belongs


e_shell_view_get_headerbar ()

GtkWidget *
e_shell_view_get_headerbar (EShellView *shell_view);

Returns a header bar widget for the shell_view .

Parameters

shell_view

an EShellView

 

Returns

a header bar widget for the shell_view , or NULL, when none is needed for it.

[transfer none][nullable]

Since: 3.56


e_shell_view_get_state_key_file ()

GKeyFile *
e_shell_view_get_state_key_file (EShellView *shell_view);

Returns the GKeyFile holding widget state data for shell_view .

Parameters

shell_view

an EShellView

 

Returns

the GKeyFile for shell_view


e_shell_view_set_state_dirty ()

void
e_shell_view_set_state_dirty (EShellView *shell_view);

Marks the widget state data as modified (or "dirty") and schedules it to be saved to disk after a short delay. The delay caps the frequency of saving to disk.

Parameters

shell_view

an EShellView

 

e_shell_view_save_state_immediately ()

void
e_shell_view_save_state_immediately (EShellView *shell_view);

e_shell_view_clear_search ()

void
e_shell_view_clear_search (EShellView *shell_view);

Emits the “clear-search” signal.

The default method sets the “search-rule” property to NULL and then emits the “execute-search” signal.

Parameters

shell_view

an EShellView

 

e_shell_view_custom_search ()

void
e_shell_view_custom_search (EShellView *shell_view,
                            EFilterRule *custom_rule);

Emits the “custom-search” signal to indicate an advanced or saved search is about to be executed.

The default method sets the “search-rule” property to custom_rule and then emits the “execute-search” signal.

Parameters

shell_view

an EShellView

 

custom_rule

an EFilterRule

 

e_shell_view_execute_search ()

void
e_shell_view_execute_search (EShellView *shell_view);

Emits the “execute-search” signal.

EShellView subclasses should implement the execute_search method in EShellViewClass to execute a search based on the current search conditions.

Parameters

shell_view

an EShellView

 

e_shell_view_block_execute_search ()

void
e_shell_view_block_execute_search (EShellView *shell_view);

Blocks e_shell_view_execute_search() in a way it does nothing. Pair function for this is e_shell_view_unblock_execute_search().

Parameters

shell_view

an EShellView

 

e_shell_view_unblock_execute_search ()

void
e_shell_view_unblock_execute_search (EShellView *shell_view);

Unblocks previously blocked e_shell_view_execute_search() with function e_shell_view_block_execute_search().

Parameters

shell_view

an EShellView

 

e_shell_view_is_execute_search_blocked ()

gboolean
e_shell_view_is_execute_search_blocked
                               (EShellView *shell_view);

Returns whether e_shell_view_execute_search() is blocked as a result of previous e_shell_view_block_execute_search() calls.

Parameters

shell_view

an EShellView

 

Returns

TRUE if e_shell_view_execute_search() is blocked


e_shell_view_update_actions ()

void
e_shell_view_update_actions (EShellView *shell_view);

Emits the “update-actions” signal.

EShellView subclasses should implement the update_actions method in EShellViewClass to update the various actions based on the current EShellSidebar and EShellContent selections. The “update-actions” signal is typically emitted just before showing a popup menu or just after the user selects an item in the shell view.

Parameters

shell_view

an EShellView

 

e_shell_view_update_actions_in_idle ()

void
e_shell_view_update_actions_in_idle (EShellView *shell_view);

Schedules e_shell_view_update_actions() call on idle.

Parameters

shell_view

an EShellView

 

Since: 3.10


e_shell_view_show_popup_menu ()

GtkWidget *
e_shell_view_show_popup_menu (EShellView *shell_view,
                              const gchar *menu_name,
                              GdkEvent *button_event);

Displays a context-sensitive (or "popup") menu that is described in the UI definition loaded into shell_view 's user interface manager. The menu will be shown at the current mouse cursor position.

The “update-actions” signal is emitted just prior to showing the menu to give shell_view and any plugins that extend shell_view a chance to update the menu's actions.

The returned GtkMenu is automatically destroyed once the user either selects an item from it or when it's dismissed.

Parameters

shell_view

an EShellView

 

menu_name

name of the menu in the UI definition

 

button_event

a GdkEvent, or NULL

 

Returns

the popup menu being displayed.

[transfer none]

Since: 3.56


e_shell_view_write_source ()

void
e_shell_view_write_source (EShellView *shell_view,
                           ESource *source);

Submits the current contents of source to the D-Bus service to be written to disk and broadcast to other clients.

This function does not block: shell_view will dispatch the operation asynchronously and handle any errors.

Parameters

shell_view

an EShellView

 

source

an ESource

 

e_shell_view_remove_source ()

void
e_shell_view_remove_source (EShellView *shell_view,
                            ESource *source);

Requests the D-Bus service to delete the key files for source and all of its descendants and broadcast their removal to all clients.

This function does not block: shell_view will dispatch the operation asynchronously and handle any errors.

Parameters

shell_view

an EShellView

 

source

the ESource to be removed

 

e_shell_view_remote_delete_source ()

void
e_shell_view_remote_delete_source (EShellView *shell_view,
                                   ESource *source);

Deletes the resource represented by source from a remote server. The source must be “remote-deletable”. This will also delete the key file for source and broadcast its removal to all clients, similar to e_shell_view_remove_source().

This function does not block; shell_view will dispatch the operation asynchronously and handle any errors.

Parameters

shell_view

an EShellView

 

source

an ESource

 

e_shell_view_submit_thread_job ()

EActivity *
e_shell_view_submit_thread_job (EShellView *shell_view,
                                const gchar *description,
                                const gchar *alert_ident,
                                const gchar *alert_arg_0,
                                EAlertSinkThreadJobFunc func,
                                gpointer user_data,
                                GDestroyNotify free_user_data);

Runs the func in a dedicated thread. Any error is propagated to UI. The cancellable passed into the func is a CamelOperation, thus the caller can overwrite progress and description message on it.

Parameters

shell_view

an EShellView instance

 

description

user-friendly description of the job, to be shown in UI

 

alert_ident

in case of an error, this alert identificator is used for EAlert construction

 

alert_arg_0

in case of an error, use this string as the first argument to the EAlert construction; the second argument is the actual error message; can be NULL, in which case only the error message is passed to the EAlert construction.

[allow-none]

func

function to be run in a dedicated thread

 

user_data

custom data passed into func ; can be NULL.

[allow-none]

free_user_data

function to be called on user_data , when the job is over; can be NULL.

[allow-none]

Returns

Newly created EActivity on success. The caller is responsible to g_object_unref() it when done with it.

Note: The free_user_data , if set, is called in the main thread.

Note: This function can be called only from the main thread.

[transfer full]


e_shell_view_run_ui_customize_dialog ()

void
e_shell_view_run_ui_customize_dialog (EShellView *self,
                                      const gchar *id);

Runs an EUICustomizeDialog with optionally preselected part id .

Parameters

self

an EShellView

 

id

optional ID of the part to be preselected, or NULL.

[nullable]

Since: 3.56


e_shell_view_util_layout_to_state_cb ()

gboolean
e_shell_view_util_layout_to_state_cb (GValue *value,
                                      GVariant *variant,
                                      gpointer user_data);

e_shell_view_util_state_to_layout_cb ()

GVariant *
e_shell_view_util_state_to_layout_cb (const GValue *value,
                                      const GVariantType *expected_type,
                                      gpointer user_data);

Types and Values

struct EShellView

struct EShellView;

Contains only private data that should be read and manipulated using the functions below.


struct EShellViewClass

struct EShellViewClass {
	GtkBoxClass parent_class;

	/* Initial switcher action values. */
	const gchar *label;
	const gchar *icon_name;

	/* Base name of the UI definition file. */
	const gchar *ui_definition;

	/* EUIManager identifier for use with EPluginUI.
	 * Usually "org.gnome.evolution.$(VIEW_NAME)". */
	const gchar *ui_manager_id;

	/* Search context.  Subclasses may override the type.
	 * A unique instance is created for each subclass. */
	GType search_context_type;
	ERuleContext *search_context;

	/* 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);
	GtkWidget * (*new_shell_searchbar) (EShellView *shell_view);

	/* Create, configure and pack a search bar widget. */
	GtkWidget * (*construct_searchbar) (EShellView *shell_view);
	gchar *		(*get_search_name) (EShellView *shell_view);

	/* Signals */
	void		(*clear_search)		(EShellView *shell_view);
	void		(*custom_search) (EShellView *shell_view,
						 EFilterRule *custom_rule);
	void		(*execute_search) (EShellView *shell_view);
	void		(*update_actions) (EShellView *shell_view);
	void		(*init_ui_data)		(EShellView *shell_view);
	void		(*add_ui_customizers) (EShellView *shell_view,
						 EUICustomizeDialog *dialog);
};

EShellViewClass contains a number of important settings for subclasses.

Members

const gchar *label;

The initial value for the switcher action's “label” property. See e_shell_view_get_view_action().

 

const gchar *icon_name;

The initial value for the switcher action's “icon-name” property. See e_shell_view_get_view_action().

 

const gchar *ui_definition;

Base name of the UI definition file to add when the shell view is activated.

 

const gchar *ui_manager_id;

The EUIManager ID for EPluginUI. Plugins should use to this ID in their "eplug" files to add menu and toolbar items to the shell view.

 

GType search_context_type;

GType of the search context, which should be an instance of ERuleContextClass or a custom subclass.

 

ERuleContext *search_context;

A unique search_context_type instance is created automatically for each subclass and shared across all instances of that subclass.

 

const gchar *search_rules;

Base name of the XML file containing predefined search rules for this shell view. The XML files are usually named something like viewtypes.xml.

 

GalViewCollection *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.

 

EShellBackend *shell_backend;

The corresponding EShellBackend for the shell view.

 

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().

 

new_shell_searchbar ()

Factory method for the shell view's EShellSearchbar. See e_shell_view_get_searchbar().

 

construct_searchbar ()

Class method to create, configure and pack a search bar widget. The search bar differs in normal shell mode versus "express" mode.

 

get_search_name ()

Class method to obtain a suitable name for the current search criteria. Subclasses should rarely need to override the default behavior.

 

clear_search ()

Class method for the “clear-search” signal. The default method sets the “search-rule” to NULL and then emits the “execute-search” signal.

 

custom_search ()

Class method for the “custom-search” signal. This is emitted prior to executing an advanced or saved search. The default method sets the “search-rule” property and then emits the “execute-search” signal.

 

execute_search ()

Class method for the “execute-search” signal. There is no default behavior; subclasses should override this.

 

update_actions ()

Class method for the “update-actions” signal. There is no default behavior; subclasses should override this.

 

init_ui_data ()

Class method for the “init-ui-data” signal. The subclasses can override it to add actions into the view's UI manager.

 

add_ui_customizers ()

Class method to add any additional EUICustomizer-s into the EUICustomizeDialog within e_shell_view_run_ui_customize_dialog(). It can be NULL.

 

Property Details

The “menubar-visible” property

  “menubar-visible”          gboolean

Whether the menu bar is visible.

Owner: EShellView

Flags: Read / Write

Default value: TRUE

Since: 3.56


The “page-num” property

  “page-num”                 int

The GtkNotebook page number of the shell view.

Owner: EShellView

Flags: Read / Write

Allowed values: >= -1

Default value: -1


The “search-rule” property

  “search-rule”              EFilterRule *

Criteria for the current search results.

Owner: EShellView

Flags: Read / Write


The “shell-backend” property

  “shell-backend”            EShellBackend *

The EShellBackend for this shell view.

Owner: EShellView

Flags: Read


The “shell-content” property

  “shell-content”            EShellContent *

The content widget appears in an EShellWindow's right pane.

Owner: EShellView

Flags: Read


The “shell-sidebar” property

  “shell-sidebar”            EShellSidebar *

The sidebar widget appears in an EShellWindow's left pane.

Owner: EShellView

Flags: Read


The “shell-taskbar” property

  “shell-taskbar”            EShellTaskbar *

The taskbar widget appears at the bottom of an EShellWindow.

Owner: EShellView

Flags: Read


The “shell-window” property

  “shell-window”             EShellWindow *

The EShellWindow to which the shell view belongs.

Owner: EShellView

Flags: Read / Write / Construct Only


The “sidebar-visible” property

  “sidebar-visible”          gboolean

Whether the sidebar is visible.

Owner: EShellView

Flags: Read / Write

Default value: TRUE

Since: 3.56


The “sidebar-width” property

  “sidebar-width”            int

Width of the sidebar, in pixels.

Owner: EShellView

Flags: Read / Write / Construct

Allowed values: >= 0

Default value: 128

Since: 3.56


The “state-key-file” property

  “state-key-file”           gpointer

The GKeyFile holding widget state data.

Owner: EShellView

Flags: Read


The “switcher-action” property

  “switcher-action”          EUIAction *

The EUIAction registered with EShellSwitcher.

Owner: EShellView

Flags: Read / Write / Construct Only

Since: 3.56


The “switcher-visible” property

  “switcher-visible”         gboolean

Whether the switcher buttons are visible.

Owner: EShellView

Flags: Read / Write

Default value: TRUE

Since: 3.56


The “taskbar-visible” property

  “taskbar-visible”          gboolean

Whether the task bar is visible.

Owner: EShellView

Flags: Read / Write

Default value: TRUE

Since: 3.56


The “title” property

  “title”                    char *

The title of the shell view. Also serves as the EShellWindow title when the shell view is active.

Owner: EShellView

Flags: Read / Write

Default value: NULL


The “toolbar-visible” property

  “toolbar-visible”          gboolean

Whether the tool bar is visible.

Owner: EShellView

Flags: Read / Write

Default value: TRUE

Since: 3.56


The “view-id” property

  “view-id”                  char *

The current GalView ID.

Owner: EShellView

Flags: Read / Write

Default value: NULL


The “view-instance” property

  “view-instance”            GalViewInstance *

The current GalViewInstance.

Owner: EShellView

Flags: Read / Write

Signal Details

The “clear-search” signal

void
user_function (EShellView *shell_view,
               gpointer    user_data)

Clears the current search. See e_shell_view_clear_search() for details.

Parameters

shell_view

the EShellView which emitted the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “custom-search” signal

void
user_function (EShellView  *shell_view,
               EFilterRule *custom_rule,
               gpointer     user_data)

Emitted when an advanced or saved search is about to be executed. See e_shell_view_custom_search() for details.

Parameters

shell_view

the EShellView which emitted the signal

 

custom_rule

criteria for the custom search

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “execute-search” signal

void
user_function (EShellView *shell_view,
               gpointer    user_data)

EShellView subclasses should override the execute_search method in EShellViewClass to execute the current search conditions.

Parameters

shell_view

the EShellView which emitted the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “init-ui-data” signal

void
user_function (EShellView *shell_view,
               gpointer    user_data)

EShellView subclasses should override the init_ui_data method in EShellViewClass to add any actions and UI definitions. The shell_view automatically adds UI definition from ui_definition class property after this signal is emitted.

Parameters

shell_view

the EShellView which emitted the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

Since: 3.56


The “update-actions” signal

void
user_function (EShellView *shell_view,
               gpointer    user_data)

EShellView subclasses should override the update_actions method in EShellViewClass to update sensitivities, labels, or any other aspect of the actions they have registered.

Plugins can also connect to this signal to be notified when to update their own actions.

Parameters

shell_view

the EShellView which emitted the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First