diff options
Diffstat (limited to 'offapi/com/sun/star/form/binding/BindableDatabaseCheckBox.idl')
-rw-r--r-- | offapi/com/sun/star/form/binding/BindableDatabaseCheckBox.idl | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/offapi/com/sun/star/form/binding/BindableDatabaseCheckBox.idl b/offapi/com/sun/star/form/binding/BindableDatabaseCheckBox.idl new file mode 100644 index 000000000..a043e6214 --- /dev/null +++ b/offapi/com/sun/star/form/binding/BindableDatabaseCheckBox.idl @@ -0,0 +1,81 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_form_binding_BindableDatabaseCheckBox_idl__ +#define __com_sun_star_form_binding_BindableDatabaseCheckBox_idl__ + +#include <com/sun/star/form/component/DatabaseCheckBox.idl> +#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl> + + +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. + + <p>The com::sun::star::form::binding::XValueBinding instance which + can be associated with a BindableDatabaseCheckBox must support exchanging + boolean values. The following mapping between external values and control states apply: + <ul><li>`TRUE` will be mapped to the box being checked, and vice versa</li> + <li>`FALSE` will be mapped to it being unchecked, and vice versa</li> + <li>`NULL` will be mapped to it being in undetermined state, if the box currently supports + this, or being unchecked else. The undetermined of the check box will always be + mapped to `NULL` when writing the external value.</li> + </ul></p> + + <p>If the value binding associated with a BindableDatabaseCheckBox + supports exchanging string values, <em>and</em> the com::sun::star::form::component::CheckBox::RefValue + is <em>not</em> empty, then the radio button will exchange its value as string: + <ul><li>A string equal to the reference value will be mapped to the button being checked, and vice versa</li> + <li>A string not equal to the reference value will be mapped to the button being unchecked, and vice versa</li> + <li>`NULL` will be mapped to it being in undetermined state</li> + </ul></p> + + @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.</p> + */ + service com::sun::star::form::binding::BindableDataAwareControlModel; + + /** specifies a value which is to be associated with the control when it's <em>not</em> + checked. + + <p>com::sun::star::form::component::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 <em>not checked</em> state of the control.</p> + */ + [property] string SecondaryRefValue; +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |