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