1d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
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
10d1766043SAndrew Rist *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12d1766043SAndrew Rist *
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.
19d1766043SAndrew Rist *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_awt_UnoControlButtonModel_idl__
24cdf0e10cSrcweir#define __com_sun_star_awt_UnoControlButtonModel_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_awt_FontDescriptor_idl__
27cdf0e10cSrcweir#include <com/sun/star/awt/FontDescriptor.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir#ifndef __com_sun_star_awt_UnoControlModel_idl__
30cdf0e10cSrcweir#include <com/sun/star/awt/UnoControlModel.idl>
31cdf0e10cSrcweir#endif
32cdf0e10cSrcweir#ifndef __com_sun_star_style_VerticalAlignment_idl__
33cdf0e10cSrcweir#include <com/sun/star/style/VerticalAlignment.idl>
34cdf0e10cSrcweir#endif
35cdf0e10cSrcweir#ifndef com_sun_star_graphic_XGraphic_idl
36cdf0e10cSrcweir#include <com/sun/star/graphic/XGraphic.idl>
37cdf0e10cSrcweir#endif
38cdf0e10cSrcweir#ifndef __com_sun_star_util_Color_idl__
39cdf0e10cSrcweir#include <com/sun/star/util/Color.idl>
40cdf0e10cSrcweir#endif
41cdf0e10cSrcweir
42cdf0e10cSrcweir
43cdf0e10cSrcweir//=============================================================================
44cdf0e10cSrcweir
45cdf0e10cSrcweir module com {  module sun {  module star {  module awt {
46cdf0e10cSrcweir
47cdf0e10cSrcweir//=============================================================================
48cdf0e10cSrcweir
49cdf0e10cSrcweir/** specifies the standard model of an <type>UnoControlButton</type>.
50cdf0e10cSrcweir */
51cdf0e10cSrcweirpublished service UnoControlButtonModel
52cdf0e10cSrcweir{
53cdf0e10cSrcweir	service com::sun::star::awt::UnoControlModel;
54cdf0e10cSrcweir
55cdf0e10cSrcweir	//-------------------------------------------------------------------------
56cdf0e10cSrcweir
57cdf0e10cSrcweir	/** specifies the horizontal alignment of the text in the control.
58cdf0e10cSrcweir
59cdf0e10cSrcweir		<pre>
60cdf0e10cSrcweir		0: left
61cdf0e10cSrcweir		1: center
62cdf0e10cSrcweir		2: right
63cdf0e10cSrcweir		</pre>
64cdf0e10cSrcweir	 */
65cdf0e10cSrcweir	[optional, property] short Align;
66cdf0e10cSrcweir
67cdf0e10cSrcweir	//-------------------------------------------------------------------------
68cdf0e10cSrcweir
69cdf0e10cSrcweir	/** specifies the background color (RGB) of the control.
70cdf0e10cSrcweir	 */
71cdf0e10cSrcweir	[property] com::sun::star::util::Color BackgroundColor;
72cdf0e10cSrcweir
73cdf0e10cSrcweir	//-------------------------------------------------------------------------
74cdf0e10cSrcweir
75cdf0e10cSrcweir	/** specifies that the button is the default button on the document.
76cdf0e10cSrcweir	 */
77cdf0e10cSrcweir	[property] boolean DefaultButton;
78cdf0e10cSrcweir
79cdf0e10cSrcweir	//-------------------------------------------------------------------------
80cdf0e10cSrcweir
81cdf0e10cSrcweir	/** determines whether the control is enabled or disabled.
82cdf0e10cSrcweir	 */
83cdf0e10cSrcweir	[property] boolean Enabled;
84cdf0e10cSrcweir
85cdf0e10cSrcweir	//-------------------------------------------------------------------------
86cdf0e10cSrcweir
87cdf0e10cSrcweir    /** specifies whether the button control should grab the focus when clicked.
88cdf0e10cSrcweir
89cdf0e10cSrcweir        <p>If set to <TRUE/> (which is the default), the button control automatically grabs the
90cdf0e10cSrcweir        focus when the user clicks onto it with the mouse.<br/>
91cdf0e10cSrcweir        If set to <FALSE/>, the focus is preserved when the user operates the button control with
92cdf0e10cSrcweir        the mouse.</p>
93cdf0e10cSrcweir
94*d1e7efc3SJürgen Schmidt        @since OpenOffice 2.0
95cdf0e10cSrcweir     */
96cdf0e10cSrcweir    [optional, property] boolean FocusOnClick;
97cdf0e10cSrcweir
98cdf0e10cSrcweir	//-------------------------------------------------------------------------
99cdf0e10cSrcweir
100cdf0e10cSrcweir	/** specifies the font attributes of the text in the control.
101cdf0e10cSrcweir	 */
102cdf0e10cSrcweir	[property] com::sun::star::awt::FontDescriptor FontDescriptor;
103cdf0e10cSrcweir
104cdf0e10cSrcweir	//-------------------------------------------------------------------------
105cdf0e10cSrcweir
106cdf0e10cSrcweir	/** specifies the <type scope="com::sun::star::text">FontEmphasis</type>
107cdf0e10cSrcweir        value of the text in the control.
108cdf0e10cSrcweir	 */
109cdf0e10cSrcweir	[property] short FontEmphasisMark;
110cdf0e10cSrcweir
111cdf0e10cSrcweir	//-------------------------------------------------------------------------
112cdf0e10cSrcweir
113cdf0e10cSrcweir	/** specifies the <type scope="com::sun::star::text">FontRelief</type>
114cdf0e10cSrcweir        value of the text in the control.
115cdf0e10cSrcweir	 */
116cdf0e10cSrcweir	[property] short FontRelief;
117cdf0e10cSrcweir
118cdf0e10cSrcweir	//-------------------------------------------------------------------------
119cdf0e10cSrcweir
120cdf0e10cSrcweir	/** specifies the help text of the control.
121cdf0e10cSrcweir	 */
122cdf0e10cSrcweir	[property] string HelpText;
123cdf0e10cSrcweir
124cdf0e10cSrcweir	//-------------------------------------------------------------------------
125cdf0e10cSrcweir
126cdf0e10cSrcweir	/** specifies the help URL of the control.
127cdf0e10cSrcweir	 */
128cdf0e10cSrcweir	[property] string HelpURL;
129cdf0e10cSrcweir
130cdf0e10cSrcweir	//-------------------------------------------------------------------------
131cdf0e10cSrcweir
132cdf0e10cSrcweir	/** specifies the alignment of the image inside the button as
133cdf0e10cSrcweir        <type>ImageAlign</type> value.
134cdf0e10cSrcweir     */
135cdf0e10cSrcweir	[property] short ImageAlign;
136cdf0e10cSrcweir
137cdf0e10cSrcweir	//-------------------------------------------------------------------------
138cdf0e10cSrcweir
139cdf0e10cSrcweir    /** specifies the position of the image, if any, relative to the text, if any
140cdf0e10cSrcweir
141cdf0e10cSrcweir        <p>Valid values of this property are specified with <type>ImagePosition</type>.</p>
142cdf0e10cSrcweir
143cdf0e10cSrcweir        <p>If this property is present, it supersedes the <member>ImageAlign</member> property - setting
144cdf0e10cSrcweir        one of both properties sets the other one to the best possible match.</p>
145cdf0e10cSrcweir     */
146cdf0e10cSrcweir    [optional, property] short ImagePosition;
147cdf0e10cSrcweir
148cdf0e10cSrcweir	//-------------------------------------------------------------------------
149cdf0e10cSrcweir
150cdf0e10cSrcweir	/** specifies an URL to an image to use for the button.
151cdf0e10cSrcweir        @see Graphic
152cdf0e10cSrcweir	 */
153cdf0e10cSrcweir	[property] string ImageURL;
154cdf0e10cSrcweir
155cdf0e10cSrcweir	//-------------------------------------------------------------------------
156cdf0e10cSrcweir
157cdf0e10cSrcweir	/** specifies a graphic to be displayed at the button
158cdf0e10cSrcweir
159cdf0e10cSrcweir        <p>If this property is present, it interacts with the <member>ImageURL</member>in the
160cdf0e10cSrcweir        following way:
161cdf0e10cSrcweir        <ul><li>If <member>ImageURL</member> is set, <member>Graphic</member> will be reset
162cdf0e10cSrcweir            to an object as loaded from the given image URL, or <NULL/> if <member>ImageURL</member>
163cdf0e10cSrcweir            does not point to a valid image file.</li>
164cdf0e10cSrcweir            <li>If <member>Graphic</member> is set, <member>ImageURL</member> will be reset
165cdf0e10cSrcweir            to an empty string.</li>
166cdf0e10cSrcweir        </ul></p>
167cdf0e10cSrcweir
168*d1e7efc3SJürgen Schmidt        @since OpenOffice 2.1
169cdf0e10cSrcweir	 */
170cdf0e10cSrcweir    [optional, property, transient] com::sun::star::graphic::XGraphic Graphic;
171cdf0e10cSrcweir
172cdf0e10cSrcweir	//-------------------------------------------------------------------------
173cdf0e10cSrcweir
174cdf0e10cSrcweir	/** specifies the label of the control.
175cdf0e10cSrcweir	 */
176cdf0e10cSrcweir	[property] string Label;
177cdf0e10cSrcweir
178cdf0e10cSrcweir	//-------------------------------------------------------------------------
179cdf0e10cSrcweir
180cdf0e10cSrcweir	/** specifies that the text may be displayed on more than one line.
181cdf0e10cSrcweir
182*d1e7efc3SJürgen Schmidt        @since OpenOffice 2.0
183cdf0e10cSrcweir	 */
184cdf0e10cSrcweir	[optional, property] boolean MultiLine;
185cdf0e10cSrcweir
186cdf0e10cSrcweir	//-------------------------------------------------------------------------
187cdf0e10cSrcweir
188cdf0e10cSrcweir	/** specifies that the control will be printed with the document.
189cdf0e10cSrcweir	 */
190cdf0e10cSrcweir	[property] boolean Printable;
191cdf0e10cSrcweir
192cdf0e10cSrcweir	//-------------------------------------------------------------------------
193cdf0e10cSrcweir
194cdf0e10cSrcweir	/** specifies the default action of the button as <type>PushButtonType</type> value.
195cdf0e10cSrcweir	 */
196cdf0e10cSrcweir	[property] short PushButtonType;
197cdf0e10cSrcweir
198cdf0e10cSrcweir	//-------------------------------------------------------------------------
199cdf0e10cSrcweir
200cdf0e10cSrcweir    /** specifies whether the control should show repeating behaviour.
201cdf0e10cSrcweir
202cdf0e10cSrcweir        <p>Normally, when you click a button with the mouse, you need to
203cdf0e10cSrcweir        release the mouse button, and press it again. With this property
204cdf0e10cSrcweir        set to <TRUE/>, the button is repeatedly pressed while you hold
205cdf0e10cSrcweir        down the mouse button.</p>
206cdf0e10cSrcweir
207*d1e7efc3SJürgen Schmidt        @since OpenOffice 2.0
208cdf0e10cSrcweir     */
209cdf0e10cSrcweir    [optional, property] boolean Repeat;
210cdf0e10cSrcweir
211cdf0e10cSrcweir	//-------------------------------------------------------------------------
212cdf0e10cSrcweir
213cdf0e10cSrcweir	/** specifies the mouse repeat delay, in milliseconds.
214cdf0e10cSrcweir
215cdf0e10cSrcweir        <p>When the user presses a mouse in a control area where this triggers
216cdf0e10cSrcweir        an action (such as pressing the button), then usual control implementations
217cdf0e10cSrcweir        allow to repeatedly trigger this action, without the need to release the
218cdf0e10cSrcweir        mouse button and to press it again. The delay between two such triggers
219cdf0e10cSrcweir        is specified with this property.</p>
220cdf0e10cSrcweir
221*d1e7efc3SJürgen Schmidt        @since OpenOffice 2.0
222cdf0e10cSrcweir     */
223cdf0e10cSrcweir	[optional, property] long RepeatDelay;
224cdf0e10cSrcweir
225cdf0e10cSrcweir	//-------------------------------------------------------------------------
226cdf0e10cSrcweir
227cdf0e10cSrcweir	/** specifies the state of the control.
228cdf0e10cSrcweir	 */
229cdf0e10cSrcweir	[property] short State;
230cdf0e10cSrcweir
231cdf0e10cSrcweir	//-------------------------------------------------------------------------
232cdf0e10cSrcweir
233cdf0e10cSrcweir	/** specifies that the control can be reached with the TAB key.
234cdf0e10cSrcweir	 */
235cdf0e10cSrcweir	[property] boolean Tabstop;
236cdf0e10cSrcweir
237cdf0e10cSrcweir	//-------------------------------------------------------------------------
238cdf0e10cSrcweir
239cdf0e10cSrcweir	/** specifies the text color (RGB) of the control.
240cdf0e10cSrcweir	 */
241cdf0e10cSrcweir	[property] com::sun::star::util::Color TextColor;
242cdf0e10cSrcweir
243cdf0e10cSrcweir	//-------------------------------------------------------------------------
244cdf0e10cSrcweir
245cdf0e10cSrcweir	/** specifies the text line color (RGB) of the control.
246cdf0e10cSrcweir	 */
247cdf0e10cSrcweir	[property] com::sun::star::util::Color TextLineColor;
248cdf0e10cSrcweir
249cdf0e10cSrcweir	//-------------------------------------------------------------------------
250cdf0e10cSrcweir
251cdf0e10cSrcweir    /** specifies whether the button should toggle on a single operation.
252cdf0e10cSrcweir
253cdf0e10cSrcweir        <p>If this property is set to <TRUE/>, a single operation of the button control (pressing space
254cdf0e10cSrcweir        while it is focused, or clicking onto it) toggles it between a <em>pressed</em> and a <em>not
255cdf0e10cSrcweir        pressed</em> state.</p>
256cdf0e10cSrcweir
257cdf0e10cSrcweir        <p>The default for this property is <FALSE/>, which means the button behaves like a usual
258cdf0e10cSrcweir        push button.</p>
259cdf0e10cSrcweir
260*d1e7efc3SJürgen Schmidt        @since OpenOffice 2.0
261cdf0e10cSrcweir     */
262cdf0e10cSrcweir    [optional, property] boolean Toggle;
263cdf0e10cSrcweir
264cdf0e10cSrcweir	//-------------------------------------------------------------------------
265cdf0e10cSrcweir
266cdf0e10cSrcweir    /** specifies the vertical alignment of the text in the control.
267cdf0e10cSrcweir
268*d1e7efc3SJürgen Schmidt        @since OpenOffice 2.0
269cdf0e10cSrcweir	 */
270cdf0e10cSrcweir    [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign;
271cdf0e10cSrcweir
272cdf0e10cSrcweir};
273cdf0e10cSrcweir
274cdf0e10cSrcweir//=============================================================================
275cdf0e10cSrcweir
276cdf0e10cSrcweir}; }; }; };
277cdf0e10cSrcweir
278cdf0e10cSrcweir#endif
279