1 | /* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ |
---|
2 | /* |
---|
3 | * Activity management for Evolution. |
---|
4 | * |
---|
5 | * Authors: |
---|
6 | * Ettore Perazzoli <ettore@ximian.com> |
---|
7 | * |
---|
8 | * Copyright (C) 2000, 2001 Ximian, Inc. |
---|
9 | */ |
---|
10 | |
---|
11 | module GNOME { |
---|
12 | module Evolution { |
---|
13 | |
---|
14 | interface Activity : Bonobo::Unknown { |
---|
15 | typedef long ActivityId; |
---|
16 | |
---|
17 | enum DialogType { |
---|
18 | DIALOG_TYPE_NONE, |
---|
19 | DIALOG_TYPE_MESSAGE, |
---|
20 | DIALOG_TYPE_WARNING, |
---|
21 | DIALOG_TYPE_INPUT, |
---|
22 | DIALOG_TYPE_ERROR |
---|
23 | }; |
---|
24 | |
---|
25 | enum DialogAction { |
---|
26 | DIALOG_ACTION_ERROR, |
---|
27 | DIALOG_ACTION_DISPLAY, |
---|
28 | DIALOG_ACTION_POSTPONE |
---|
29 | }; |
---|
30 | |
---|
31 | exception InvalidIcon {}; |
---|
32 | exception IdNotFound {}; |
---|
33 | |
---|
34 | /* Events propagated through the listener: |
---|
35 | |
---|
36 | - "ShowDetails": The user wants to know details about the |
---|
37 | progressing operation. The component should display additional |
---|
38 | information about the operation in progress, or raise a pending |
---|
39 | alert dialog. |
---|
40 | |
---|
41 | - "Cancel": The user wants the operation to be cancelled. |
---|
42 | */ |
---|
43 | |
---|
44 | /** |
---|
45 | * operationStarted: |
---|
46 | * @component_id: Id of the component starting the operation. |
---|
47 | * @information: Informative string about the operation being performed. |
---|
48 | * @cancellable: Whether this operation should be cancellable by |
---|
49 | * the user from the shell view. |
---|
50 | * @event_listener: Listener which the events for the activity |
---|
51 | * widget will be passed to. |
---|
52 | * @activity_id: A unique Id for the activity, to be used to update the |
---|
53 | * status of the operation. |
---|
54 | * @suggest_display: Whether displaying the dialog might be a nice idea. |
---|
55 | */ |
---|
56 | void operationStarted (in string component_id, |
---|
57 | in AnimatedIcon icon, |
---|
58 | in string information, |
---|
59 | in boolean cancellable, |
---|
60 | in Bonobo::Listener event_listener, |
---|
61 | out ActivityId activity_id, |
---|
62 | out boolean suggest_display) |
---|
63 | raises (InvalidIcon); |
---|
64 | |
---|
65 | /** |
---|
66 | * operationProgressing: |
---|
67 | * @activity: The unique Id for the activity whose status we want to update. |
---|
68 | * @information: New informative string. If empty, the informative string |
---|
69 | * isn't changed. |
---|
70 | * @progress: A float from 0.0 to 1.0 indicating the status of completion. |
---|
71 | * |
---|
72 | * Update the status of the specified @activity. |
---|
73 | */ |
---|
74 | void operationProgressing (in ActivityId activity, |
---|
75 | in string information, |
---|
76 | in float progress) |
---|
77 | raises (IdNotFound); |
---|
78 | |
---|
79 | /** |
---|
80 | * operationFinished: |
---|
81 | * @activity: The unique Id for the activity that has been completed. |
---|
82 | * |
---|
83 | * Report that the specified @activity has been completed. After this |
---|
84 | * method is invoked, @activity is not considered to be a valid Id |
---|
85 | * anymore. |
---|
86 | */ |
---|
87 | void operationFinished (in ActivityId activity); |
---|
88 | |
---|
89 | /** |
---|
90 | * requestDialog: |
---|
91 | * |
---|
92 | * Inform the shell that the specified @activity requires user input |
---|
93 | * from a dialog. The returned value specifies whether the shell wants |
---|
94 | * the dialog to be shown now (%DIALOG_ACTION_DISPLAY) or postponed |
---|
95 | * (%DIALOG_ACTION_POSTPONE). If the return value is |
---|
96 | * %DIALOG_ACTION_POSTPONE, the component should wait for the |
---|
97 | * "DisplayDialog" event before proceeding further. In that case, the |
---|
98 | * shell will flash the label related to this activity, and emit |
---|
99 | * "DisplayDialog" through the event source when the user clicks on it. |
---|
100 | */ |
---|
101 | DialogAction requestDialog (in ActivityId activity, |
---|
102 | in DialogType dialog_type); |
---|
103 | }; |
---|
104 | |
---|
105 | }; |
---|
106 | }; |
---|