1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_awt_UnoControlFormattedFieldModel_idl__
28#define __com_sun_star_awt_UnoControlFormattedFieldModel_idl__
29
30#ifndef __com_sun_star_awt_FontDescriptor_idl__
31#include <com/sun/star/awt/FontDescriptor.idl>
32#endif
33
34#ifndef __com_sun_star_awt_UnoControlModel_idl__
35#include <com/sun/star/awt/UnoControlModel.idl>
36#endif
37
38#ifndef __com_sun_star_util_Color_idl__
39#include <com/sun/star/util/Color.idl>
40#endif
41
42#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
43#include <com/sun/star/util/XNumberFormatsSupplier.idl>
44#endif
45
46#ifndef __com_sun_star_style_VerticalAlignment_idl__
47#include <com/sun/star/style/VerticalAlignment.idl>
48#endif
49
50//=============================================================================
51
52 module com {  module sun {  module star {  module awt {
53
54//=============================================================================
55
56/** specifies the standard model of an <type>UnoControlFormattedField </type>.
57 */
58published service UnoControlFormattedFieldModel
59{
60	service com::sun::star::awt::UnoControlModel;
61
62	//-------------------------------------------------------------------------
63
64	/** specifies the horiztonal alignment of the text in the control.
65
66		<pre>
67		0: left
68		1: center
69		2: right
70		</pre>
71	 */
72	[property] short Align;
73
74	//-------------------------------------------------------------------------
75
76	/** specifies the background color (RGB) of the control.
77	 */
78	[property] com::sun::star::util::Color BackgroundColor;
79
80	//-------------------------------------------------------------------------
81
82	/** specifies the border style of the control.
83
84		<pre>
85		0: No border
86		1: 3D border
87		2: simple border
88		</pre>
89	 */
90	[property] short Border;
91
92	//-------------------------------------------------------------------------
93
94	/** specifies the color of the border, if present
95
96        <p>Not every border style (see <member>Border</member>) may support coloring.
97        For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
98
99        @since OOo 2.0
100	 */
101	[optional, property] long BorderColor;
102
103	//-------------------------------------------------------------------------
104
105	/** specifies the default value of the formatted field.
106
107		<p>This may be a numeric value (double) or a string, depending on
108        the formatting of the field.</p>
109	 */
110	[property] any EffectiveDefault;
111
112	//-------------------------------------------------------------------------
113
114	/** specifies the maximum value that can be entered.
115
116		<p>This property is ignored if the format of the field is no numeric
117        format.</p>
118	 */
119	[property] double EffectiveMax;
120
121	//-------------------------------------------------------------------------
122
123	/** specifies the minimum value that can be entered.
124
125		<p>This property is ignored if the format of the field is no numeric
126        format.</p>
127	 */
128	[property] double EffectiveMin;
129
130	//-------------------------------------------------------------------------
131
132	/** specifies the current value of the formatted field.
133
134		<p>This may be a numeric value (double) or a string, depending on
135        the formatting of the field.</p>
136	 */
137	[property] double EffectiveValue;
138
139	//-------------------------------------------------------------------------
140
141	/** determines whether the control is enabled or disabled.
142	 */
143	[property] boolean Enabled;
144
145	//-------------------------------------------------------------------------
146
147	/** specifies the font attributes of the text in the control.
148	 */
149	[property] com::sun::star::awt::FontDescriptor FontDescriptor;
150
151	//-------------------------------------------------------------------------
152
153	/** specifies the <type scope="com::sun::star::text">FontEmphasis</type>
154        value of the text in the control.
155	 */
156	[property] short FontEmphasisMark;
157
158	//-------------------------------------------------------------------------
159
160	/** specifies the <type scope="com::sun::star::text">FontRelief</type>
161        value of the text in the control.
162	 */
163	[property] short FontRelief;
164
165	//-------------------------------------------------------------------------
166
167	/** specifies the format to be used when formatting the field input
168        and output.
169
170		<p>This value is meaningful relative to the FormatsSupplier property
171        only.</p>
172	 */
173	[property] long FormatKey;
174
175	//-------------------------------------------------------------------------
176
177	/** supplies the formats the field should work with.
178	 */
179	[property] com::sun::star::util::XNumberFormatsSupplier FormatsSupplier;
180
181	//-------------------------------------------------------------------------
182
183	/** specifies the help text of the control.
184	 */
185	[property] string HelpText;
186
187	//-------------------------------------------------------------------------
188
189	/** specifies the help URL of the control.
190	 */
191	[property] string HelpURL;
192
193
194	//-------------------------------------------------------------------------
195
196    /** specifies whether the selection in the control should be hidden when
197        the control is not active (focused).
198
199        @since OOo 2.0
200     */
201    [optional, property] boolean HideInactiveSelection;
202
203	//-------------------------------------------------------------------------
204
205	/** specifies the maximum character count.
206
207        <p>There's no limitation, if set to 0.</p>
208     */
209	[property] short MaxTextLen;
210
211	//-------------------------------------------------------------------------
212
213	/** specifies that the control will be printed with the document.
214	 */
215	[property] boolean Printable;
216
217	//-------------------------------------------------------------------------
218
219	/** specifies that the content of the control cannot be modified by the
220        user.
221	 */
222	[property] boolean ReadOnly;
223
224	//-------------------------------------------------------------------------
225
226	/** specifies whether the mouse should show repeating behaviour, i.e.
227        repeatedly trigger an action when keeping pressed.
228
229        @since OOo 2.0
230     */
231    [optional, property] boolean Repeat;
232
233	//-------------------------------------------------------------------------
234
235	/** specifies the mouse repeat delay, in milliseconds.
236
237        <p>When the user presses a mouse in a control area where this triggers
238        an action (such as spinning the value), then usual control implementations
239        allow to repeatedly trigger this action, without the need to release the
240        mouse button and to press it again. The delay between two such triggers
241        is specified with this property.</p>
242
243        @since OOo 2.0
244     */
245	[optional, property] long RepeatDelay;
246
247	//-------------------------------------------------------------------------
248
249	/** specifies that the control has a spin button.
250	 */
251	[property] boolean Spin;
252
253	//-------------------------------------------------------------------------
254
255	/** specifies that the text is checked during the user input.
256
257		<p>This property is optional - not every component implementing this
258        service is required to provide it, as real-time input checking on a
259        formatted field may be pretty expensive.</p>
260	 */
261	[optional, property] boolean StrictFormat;
262
263	//-------------------------------------------------------------------------
264
265	/** specifies that the control can be reached with the TAB key.
266	 */
267	[property] boolean Tabstop;
268
269	//-------------------------------------------------------------------------
270
271	/** specifies the text displayed in the control.
272	 */
273	[property] string Text;
274
275	//-------------------------------------------------------------------------
276
277	/** specifies the text color (RGB) of the control.
278	 */
279	[property] com::sun::star::util::Color TextColor;
280
281	//-------------------------------------------------------------------------
282
283	/** specifies the text line color (RGB) of the control.
284	 */
285	[property] com::sun::star::util::Color TextLineColor;
286
287	//-------------------------------------------------------------------------
288
289	/** specifies that the text is treated as a number.
290	 */
291	[property] boolean TreatAsNumber;
292
293    /** denotes the writing mode used in the control, as specified in the
294        <type scope="com::sun::star::text">WritingMode2</type> constants group.
295
296        <p>Only <member scope="com::sun::star::text">WritingMode2::LR_TB</member> and
297        <member scope="com::sun::star::text">WritingMode2::RL_TB</member> are supported at the moment.</p>
298
299        @since OOo 3.1
300    */
301    [optional, property] short WritingMode;
302
303    /** defines how the mouse wheel can be used to scroll through the control's content.
304
305        <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property,
306        and one of the <type>MouseWheelBehavior</type> constants, you can control under which circumstances
307        this is possible.</p>
308    */
309    [optional, property] short MouseWheelBehavior;
310
311    //-------------------------------------------------------------------------
312
313    /** specifies the vertical alignment of the text in the control.
314
315        @since OOo 3.3
316	 */
317    [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
318};
319
320//=============================================================================
321
322}; }; }; };
323
324#endif
325