summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/form/binding/BindableDatabaseRadioButton.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/form/binding/BindableDatabaseRadioButton.idl')
-rw-r--r--offapi/com/sun/star/form/binding/BindableDatabaseRadioButton.idl78
1 files changed, 78 insertions, 0 deletions
diff --git a/offapi/com/sun/star/form/binding/BindableDatabaseRadioButton.idl b/offapi/com/sun/star/form/binding/BindableDatabaseRadioButton.idl
new file mode 100644
index 000000000..49801caca
--- /dev/null
+++ b/offapi/com/sun/star/form/binding/BindableDatabaseRadioButton.idl
@@ -0,0 +1,78 @@
+/* -*- 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_BindableDatabaseRadioButton_idl__
+#define __com_sun_star_form_binding_BindableDatabaseRadioButton_idl__
+
+#include <com/sun/star/form/component/DatabaseRadioButton.idl>
+#include <com/sun/star/form/binding/BindableDataAwareControlModel.idl>
+
+
+module com { module sun { module star { module form { module binding {
+
+
+/** This service specifies a radio button 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 BindableDatabaseRadioButton must support exchanging
+ boolean values. The following mapping between external values and control states apply:
+ <ul><li>`TRUE` will be mapped to the button 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</li>
+ </ul></p>
+
+ <p>If the value binding associated with a BindableDatabaseRadioButton
+ supports exchanging string values, <em>and</em> the com::sun::star::form::component::RadioButton::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::UnoControlRadioButtonModel::State
+ @see com::sun::star::form::component::RadioButton::RefValue
+ */
+service BindableDatabaseRadioButton
+{
+ service com::sun::star::form::component::DatabaseRadioButton;
+
+ /** 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>
+ selected.
+
+ <p>com::sun::star::form::component::RadioButton::RefValue is transferred to
+ possible external value bindings as soon as the radio button is selected. With the member
+ #SecondaryRefValue, clients of the radio button can also associate a value with
+ the <em>not selected</em> state of the control.</p>
+ */
+ [property] string SecondaryRefValue;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */