1d1766043SAndrew Rist/**************************************************************
2*58a988d9Smseidel *
3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5d1766043SAndrew Rist * distributed with this work for additional information
6d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*58a988d9Smseidel *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*58a988d9Smseidel *
13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14d1766043SAndrew Rist * software distributed under the License is distributed on an
15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17d1766043SAndrew Rist * specific language governing permissions and limitations
18d1766043SAndrew Rist * under the License.
19*58a988d9Smseidel *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22d1766043SAndrew Rist
23*58a988d9Smseidel
24cdf0e10cSrcweir#ifndef __com_sun_star_task_XStatusIndicator_idl__
25cdf0e10cSrcweir#define __com_sun_star_task_XStatusIndicator_idl__
26cdf0e10cSrcweir
27cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
28cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
29cdf0e10cSrcweir#endif
30cdf0e10cSrcweir
31cdf0e10cSrcweir//=============================================================================
32cdf0e10cSrcweir
33*58a988d9Smseidel module com { module sun { module star { module task {
34cdf0e10cSrcweir
35cdf0e10cSrcweir//=============================================================================
36cdf0e10cSrcweir/** controls a status indicator which displays progress of
37*58a988d9Smseidel	longer actions to the user
38cdf0e10cSrcweir
39*58a988d9Smseidel	<p>
40*58a988d9Smseidel	Such objects are provided by a <type>XStatusIndicatorFactory</type>.
41*58a988d9Smseidel	</p>
42cdf0e10cSrcweir
43*58a988d9Smseidel	@see XStatusIndicatorFactory
44cdf0e10cSrcweir */
45cdf0e10cSrcweirpublished interface XStatusIndicator: com::sun::star::uno::XInterface
46cdf0e10cSrcweir{
47cdf0e10cSrcweir	//-------------------------------------------------------------------------
48*58a988d9Smseidel	/** initialize and start the progress
49*58a988d9Smseidel
50*58a988d9Smseidel		<p>
51*58a988d9Smseidel		It activates a new created or reactivate an already used indicator
52*58a988d9Smseidel		(must be finished by calling <member>XStatusIndicator::end()</member>
53*58a988d9Smseidel		before!). By the way it's possible to set first progress description
54*58a988d9Smseidel		and the possible range of progress value. That means that a progress
55*58a988d9Smseidel		can runs from 0 to <var>Range</var>.
56*58a988d9Smseidel		</p>
57*58a988d9Smseidel
58*58a988d9Smseidel		@param Text
59*58a988d9Smseidel			initial value for progress description for showing
60*58a988d9Smseidel			Value can be updated by calling <member>XStatusIndicator::setText()</member>.
61*58a988d9Smseidel
62*58a988d9Smseidel		@param Range
63*58a988d9Smseidel			means the maximum value of the progress which can be set by
64*58a988d9Smseidel			calling <member>XStatusIndicator::setValue()</member>.
65cdf0e10cSrcweir	 */
66*58a988d9Smseidel	[oneway] void start(
67*58a988d9Smseidel		[in] string Text,
68*58a988d9Smseidel		[in] long Range);
69cdf0e10cSrcweir
70cdf0e10cSrcweir	//-------------------------------------------------------------------------
71*58a988d9Smseidel	/** stop the progress
72*58a988d9Smseidel
73*58a988d9Smseidel		<p>
74*58a988d9Smseidel		Further calls of <member>XStatusIndicator::setText()</member>,
75*58a988d9Smseidel		<member>XStatusIndicator::setValue()</member> or
76*58a988d9Smseidel		<member>XStatusIndicator::reset()</member> must be ignored.
77*58a988d9Smseidel		Only <member>XStatusIndicator::start()</member> can reactivate this
78*58a988d9Smseidel		indicator.
79*58a988d9Smseidel		It's not allowed to destruct the indicator inside this method.
80*58a988d9Smseidel		The instance must be gone by using ref count or disposing.
81*58a988d9Smseidel		</p>
82*58a988d9Smseidel	*/
83cdf0e10cSrcweir	[oneway] void end();
84cdf0e10cSrcweir
85cdf0e10cSrcweir	//-------------------------------------------------------------------------
86*58a988d9Smseidel	/** update progress description
87cdf0e10cSrcweir
88*58a988d9Smseidel		<p>
89*58a988d9Smseidel		Initial value can be set during starting of the progress by calling
90*58a988d9Smseidel		<member>XStatusIndicator::start()</member>.
91*58a988d9Smseidel		Stopped indicators must ignore this call.
92*58a988d9Smseidel		</p>
93cdf0e10cSrcweir
94*58a988d9Smseidel		@param Text
95*58a988d9Smseidel			new value for progress description which should be shown now
96cdf0e10cSrcweir	 */
97*58a988d9Smseidel	[oneway] void setText( [in] string Text );
98cdf0e10cSrcweir
99cdf0e10cSrcweir	//-------------------------------------------------------------------------
100*58a988d9Smseidel	/** update progress value
101cdf0e10cSrcweir
102*58a988d9Smseidel		<p>
103*58a988d9Smseidel		Wrong values must be ignored and stopped indicators must ignore this
104*58a988d9Smseidel		call generally.
105*58a988d9Smseidel		</p>
106cdf0e10cSrcweir
107*58a988d9Smseidel		@param Value
108*58a988d9Smseidel			new value for progress which should be shown now
109*58a988d9Smseidel			Must fit the range [0..Range] which was set during
110*58a988d9Smseidel			<member>XStatusIndicator::start()</member>.
111cdf0e10cSrcweir	 */
112*58a988d9Smseidel	[oneway] void setValue( [in] long Value );
113cdf0e10cSrcweir
114cdf0e10cSrcweir	//-------------------------------------------------------------------------
115*58a988d9Smseidel	/** clear progress value and description
116cdf0e10cSrcweir
117*58a988d9Smseidel		<p>
118*58a988d9Smseidel		Calling of setValue(0) and setText("") should do the same.
119*58a988d9Smseidel		Stopped indicators must ignore this call.
120*58a988d9Smseidel		</p>
121cdf0e10cSrcweir	 */
122cdf0e10cSrcweir	[oneway] void reset();
123cdf0e10cSrcweir};
124cdf0e10cSrcweir
125cdf0e10cSrcweir}; }; }; };
126cdf0e10cSrcweir
127cdf0e10cSrcweir#endif
128