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 28#ifndef __com_sun_star_form_binding_BindableDatabaseRadioButton_idl__ 29#define __com_sun_star_form_binding_BindableDatabaseRadioButton_idl__ 30 31#ifndef __com_sun_star_form_component_DatabaseRadioButton_idl__ 32#include <com/sun/star/form/component/DatabaseRadioButton.idl> 33#endif 34 35#ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__ 36#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl> 37#endif 38 39//============================================================================= 40 41module com { module sun { module star { module form { module binding { 42 43//============================================================================= 44 45/** This service specifies a radio button which is data-aware and thus can be bound to a 46 database field, and additionally supports binding to arbitrary external values. 47 48 <p>The <type scope="com::sun::star::form::binding">XValueBinding</type> instance which 49 can be associated with a <type>BindableDatabaseRadioButton</type> must support exchanging 50 boolean values. The following mapping between external values and control states apply: 51 <ul><li><TRUE/> will be mapped to the button being checked, and vice versa</li> 52 <li><FALSE/> will be mapped to it being unchecked, and vice versa</li> 53 <li><NULL/> will be mapped to it being in indetermined state</li> 54 </ul></p> 55 56 <p>If the value binding associated with a <type>BindableDatabaseRadioButton</type> 57 supports exchanging string values, <em>and</em> the <member scope="com::sun::star::form::component">RadioButton::RefValue</member> 58 is <em>not</em> empty, then the radio button will exchange it's value as string: 59 <ul><li>A string equal to the reference value will be mapped to the button being checked, and vice versa</li> 60 <li>A string not equal to the reference value will be mapped to the button being unchecked, and vice versa</li> 61 <li><NULL/> will be mapped to it being in indetermined state</li> 62 </ul></p> 63 64 @see com::sun::star::form::binding::XValueBinding::supportsType 65 @see com::sun::star::awt::UnoControlRadioButtonModel::State 66 @see com::sun::star::form::component::RadioButton::RefValue 67 */ 68service BindableDatabaseRadioButton 69{ 70 service com::sun::star::form::component::DatabaseRadioButton; 71 72 /** specifies the interaction between an internal binding to a database column, 73 and an external value binding.</p> 74 */ 75 service com::sun::star::form::binding::BindableDataAwareControlModel; 76 77 /** specifies a value which is to be associated with the control when it's <em>not</em> 78 selected. 79 80 <p><member scope="com::sun::star::form::component">RadioButton::RefValue</member> is transferred to 81 possible external value bindings as soon as the radio button is selected. With the member 82 <member>SecondaryRefValue</member>, clients of the radio button can also associate a value with 83 the <em>not selected</em> state of the control.</p> 84 */ 85 [property] string SecondaryRefValue; 86}; 87 88//============================================================================= 89 90}; }; }; }; }; 91 92#endif 93