1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: BindableDatabaseRadioButton.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef __com_sun_star_form_binding_BindableDatabaseRadioButton_idl__
32 #define __com_sun_star_form_binding_BindableDatabaseRadioButton_idl__
34 #ifndef __com_sun_star_form_component_DatabaseRadioButton_idl__
35 #include
<com
/sun
/star
/form
/component
/DatabaseRadioButton.idl
>
38 #ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__
39 #include
<com
/sun
/star
/form
/binding
/BindableDataAwareControlModel.idl
>
42 //=============================================================================
44 module com
{ module sun
{ module star
{ module form
{ module binding
{
46 //=============================================================================
48 /** This service specifies a radio button which is data-aware and thus can be bound to a
49 database field, and additionally supports binding to arbitrary external values.
51 <p>The <type scope="com::sun::star::form::binding">XValueBinding</type> instance which
52 can be associated with a <type>BindableDatabaseRadioButton</type> must support exchanging
53 boolean values. The following mapping between external values and control states apply:
54 <ul><li><TRUE/> will be mapped to the button being checked, and vice versa</li>
55 <li><FALSE/> will be mapped to it being unchecked, and vice versa</li>
56 <li><NULL/> will be mapped to it being in indetermined state</li>
59 <p>If the value binding associated with a <type>BindableDatabaseRadioButton</type>
60 supports exchanging string values, <em>and</em> the <member scope="com::sun::star::form::component">RadioButton::RefValue</member>
61 is <em>not</em> empty, then the radio button will exchange it's value as string:
62 <ul><li>A string equal to the reference value will be mapped to the button being checked, and vice versa</li>
63 <li>A string not equal to the reference value will be mapped to the button being unchecked, and vice versa</li>
64 <li><NULL/> will be mapped to it being in indetermined state</li>
67 @see com::sun::star::form::binding::XValueBinding::supportsType
68 @see com::sun::star::awt::UnoControlRadioButtonModel::State
69 @see com::sun::star::form::component::RadioButton::RefValue
71 service BindableDatabaseRadioButton
73 service com
::sun
::star
::form
::component
::DatabaseRadioButton
;
75 /** specifies the interaction between an internal binding to a database column,
76 and an external value binding.</p>
78 service com
::sun
::star
::form
::binding
::BindableDataAwareControlModel
;
80 /** specifies a value which is to be associated with the control when it's <em>not</em>
83 <p><member scope="com::sun::star::form::component">RadioButton::RefValue</member> is transferred to
84 possible external value bindings as soon as the radio button is selected. With the member
85 <member>SecondaryRefValue</member>, clients of the radio button can also associate a value with
86 the <em>not selected</em> state of the control.</p>
88 [property
] string SecondaryRefValue
;
91 //=============================================================================