From 7a5ecfbb6c09b5350e5ce0600f42098eb6a2f5de Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Thu, 13 Nov 2003 05:56:14 +0000 Subject: New signal "component_changed". (class_init): Install. (switch_view): * e-shell-window.c: New signal "component_changed". (class_init): Install. (switch_view): Emit. (e_shell_window_new): Call e_user_creatable_items_handler_attach_menus() to attach the "New..." menus. (e_shell_window_peek_current_component_id): New. (e_shell_window_peek_shell): Add precondition. (e_shell_window_peek_current_component_id): Likewise. (e_shell_window_peek_bonobo_ui_component): Likewise. * e-user-creatable-items-handler.c: New. * e-user-creatable-items-handler.h: New. * e-shell-window.h: #include . * e-shell.c (struct _EShellPrivate): Add member user_creatable_items_handler. (e_shell_get_user_creatable_items_handler): Remove. (e_shell_peek_user_creatable_items_handler): New. * Evolution-Component.idl (GNOME.Evolution.RequestCreateItem): New method. (GNOME.Evolution.creatableItems): New attribute. * e-shell-user-creatable-items-handler.c: Remove. * e-shell-user-creatable-items-handler.h: Remove. svn path=/trunk/; revision=23314 --- shell/Evolution-Component.idl | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'shell/Evolution-Component.idl') diff --git a/shell/Evolution-Component.idl b/shell/Evolution-Component.idl index c8159ff8fa..8c225ee357 100644 --- a/shell/Evolution-Component.idl +++ b/shell/Evolution-Component.idl @@ -13,6 +13,18 @@ module GNOME { module Evolution { + /* A type of item that the component can create when asked by the user, + e.g. a mail message or an appointment. */ + struct CreatableItemType { + string id; + string description; + string menuDescription; + string tooltip; + char menuShortcut; + string iconName; + }; + typedef sequence CreatableItemTypeList; + interface Component : Bonobo::Unknown { exception Failed {}; @@ -34,6 +46,17 @@ module Evolution { is FALSE) */ void interactive (in boolean now_interactive, in unsigned long new_view_xid); + + + /*** The following stuff is needed to build the "New" toolbar + item as well as the "File -> New" submenu. ***/ + + /* List of creatable items. */ + readonly attribute CreatableItemTypeList userCreatableItems; + + /* Pop up a new editing dialog for the item with the specified + @item_type_name. */ + void requestCreateItem (in string item_type_name); }; }; -- cgit