aboutsummaryrefslogtreecommitdiffstats
path: root/shell/Evolution-Shell.idl
diff options
context:
space:
mode:
Diffstat (limited to 'shell/Evolution-Shell.idl')
-rw-r--r--shell/Evolution-Shell.idl105
1 files changed, 104 insertions, 1 deletions
diff --git a/shell/Evolution-Shell.idl b/shell/Evolution-Shell.idl
index c9d075918d..b67aee1151 100644
--- a/shell/Evolution-Shell.idl
+++ b/shell/Evolution-Shell.idl
@@ -15,6 +15,109 @@
module GNOME {
module Evolution {
+ enum CreatableItem {
+ CREATABLE_OBJECT,
+ CREATABLE_FOLDER
+ };
+
+ /* 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;
+ CreatableItem type;
+ };
+ typedef sequence <CreatableItemType> CreatableItemTypeList;
+
+ interface ComponentView : Bonobo::Unknown {
+ void getControls (out Bonobo::Control sidebar_control,
+ out Bonobo::Control view_control,
+ out Bonobo::Control statusbar_control);
+ };
+
+ interface Listener : Bonobo::Unknown {
+ /* Indicate the change of state is complete */
+ void complete();
+ };
+
+ interface ShellView : Bonobo::Unknown {
+ /* Should really use a ComponentView i guess */
+ void setTitle(in string component, in string title);
+ void setComponent(in string component);
+ };
+
+ interface Component : Bonobo::Unknown {
+ exception Failed {};
+ exception UnknownType {};
+ /* We don't know about the old version we're upgrading from */
+ exception UnsupportedVersion {};
+ /* We encountered a non-recoverable, fatal error, explain why */
+ exception UpgradeFailed {
+ string what;
+ string why;
+ };
+
+ /*** Upgrade path. ***/
+
+ void upgradeFromVersion (in short major, in short minor, in short revision)
+ raises (UnsupportedVersion, UpgradeFailed);
+
+ /*** Basic functionality. ***/
+ ComponentView createView(in ShellView parent)
+ raises (Failed);
+
+ /* Create the controls for embedding in the shell. */
+
+ /* Check if the component can quit.
+ Do not perform any quit-related tasks however.
+ May be called multiple times, depending on user interaction. */
+ boolean requestQuit ();
+
+ /* Ask the component to quit. Returns TRUE when the
+ component has completed any closing-down tasks, and
+ is ready to exit(). This will be called repeatedly
+ at intervals until it returns TRUE. */
+ boolean quit ();
+
+ /* Notify the component of whether the shell is currently
+ running in interactive mode or not. (I.e. basically,
+ whether there are any Evolution windows on the screen.)
+ @new_view_xid is an X Window ID ("None" if @now_interactive
+ 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)
+ raises (UnknownType, Failed);
+
+
+ /*** URI handling (e.g. for the command-line, "evolution
+ mailto:foo@bar.org") ***/
+ void handleURI (in string uri);
+
+
+ /*** Send/receive. ***/
+
+ void sendAndReceive ();
+
+ /* Set the online status of the component asynchronously */
+
+ void setLineStatus(in boolean online, in Listener listener);
+ };
+
interface Shell : Bonobo::Unknown {
exception Busy {};
exception ComponentNotFound {};
@@ -29,7 +132,7 @@ module Evolution {
* @component_id: id or alias of the component to display in the new window.
*
*/
- void createNewWindow (in string component_id)
+ ShellView createNewWindow (in string component_id)
raises (NotReady, ComponentNotFound, UnsupportedSchema, InternalError);
/**