/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef __com_sun_star_form_binding_BindableDatabaseCheckBox_idl__ #define __com_sun_star_form_binding_BindableDatabaseCheckBox_idl__ #ifndef __com_sun_star_form_component_DatabaseCheckBox_idl__ #include #endif #ifndef __com_sun_star_form_binding_BindableDataAwareControlModel_idl__ #include #endif //============================================================================= module com { module sun { module star { module form { module binding { //============================================================================= /** This service specifies a check box which is data-aware and thus can be bound to a database field, and additionally supports binding to arbitrary external values.

The XValueBinding instance which can be associated with a BindableDatabaseCheckBox must support exchanging boolean values. The following mapping between external values and control states apply:

  • will be mapped to the box being checked, and vice versa
  • will be mapped to it being unchecked, and vice versa
  • will be mapped to it being in indetermined state, if the box currently supports this, or being unchecked else. The indetermined of the check box will always be mapped to when writing the external value.

If the value binding associated with a BindableDatabaseCheckBox supports exchanging string values, and the CheckBox::RefValue is not empty, then the radio button will exchange it's value as string:

  • A string equal to the reference value will be mapped to the button being checked, and vice versa
  • A string not equal to the reference value will be mapped to the button being unchecked, and vice versa
  • will be mapped to it being in indetermined state

@see com::sun::star::form::binding::XValueBinding::supportsType @see com::sun::star::awt::UnoControlCheckBoxModel::State @see com::sun::star::awt::UnoControlCheckBoxModel::TriState @see com::sun::star::form::component::CheckBox::RefValue */ service BindableDatabaseCheckBox { service com::sun::star::form::component::DatabaseCheckBox; /** specifies the interaction between an internal binding to a database column, and an external value binding.

*/ service com::sun::star::form::binding::BindableDataAwareControlModel; /** specifies a value which is to be associated with the control when it's not checked.

CheckBox::RefValue is transferred to possible external value bindings as soon as the check box is checked. With the member SecondaryRefValue, clients of the check box can also associate a value with the not checked state of the control.

*/ [property] string SecondaryRefValue; }; //============================================================================= }; }; }; }; }; #endif