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_form_component_RadioButton_idl__
28#define __com_sun_star_form_component_RadioButton_idl__
29
30#ifndef __com_sun_star_awt_UnoControlRadioButtonModel_idl__
31#include <com/sun/star/awt/UnoControlRadioButtonModel.idl>
32#endif
33
34#ifndef __com_sun_star_form_FormControlModel_idl__
35#include <com/sun/star/form/FormControlModel.idl>
36#endif
37
38#ifndef __com_sun_star_form_XReset_idl__
39#include <com/sun/star/form/XReset.idl>
40#endif
41
42
43//=============================================================================
44
45 module com {  module sun {  module star {  module form {  module component {
46
47//=============================================================================
48
49/** specifies a component which acts as a radio button as needed in <type>HTMLForm</type>s.
50
51	<p>Radio buttons are controls which can be grouped together, and in every
52	group, only one of the controls can be check. This means if one of them
53	is checked by a user interaction, all other controls in the same group
54	are automatically unchecked</p>
55
56	<p>Like in HTML, radio buttons are grouped together if and only if they have the
57	same name (see <member scope="com::sun::star::form">FormComponent::Name</member>).</p>
58 */
59published service RadioButton
60{
61	service com::sun::star::awt::UnoControlRadioButtonModel;
62
63	service com::sun::star::form::FormControlModel;
64
65	/** can be used to reset the control to it's default text.
66
67		@see RadioButton::DefaultState
68	*/
69	interface com::sun::star::form::XReset;
70
71	//-------------------------------------------------------------------------
72
73	/** contains a default value for the control.
74
75		<p>This value is used when the control is initially displayed, and for resetting it.</p>
76
77		<p> In a group of radio buttons only one button should be checked
78		by default.</p>
79
80		@see com::sun::star::awt::UnoControlRadioButtonModel::State
81		@see com::sun::star::form::XReset
82	 */
83	[property] short DefaultState;
84
85	//-------------------------------------------------------------------------
86
87	/** contains a reference value which is used for submission in a HTML
88		form.
89
90		<p>If the form the control belongs to is to be submitted (see
91		<type scope="com::sun::star::form">XSubmit</type>), and the control is checked, this reference
92		value is used for submission.</p>
93	 */
94	[property] string RefValue;
95
96
97    /** specifies a value which is to be associated with the control when it's <em>not</em>
98        selected.
99
100        <p>In various situations, the <member>RefValue</member> is associated with the control
101        if and only if it is selected.<br/>
102        <member>UncheckedRefValue</member> provides a extensions of this concept: If present,
103        the value should be associated with the control when it is <em>not</em> selected.</p>
104    */
105    [optional, property] string UncheckedRefValue;
106};
107
108//=============================================================================
109
110}; }; }; }; };
111
112#endif
113