summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/form/component
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/form/component')
-rw-r--r--offapi/com/sun/star/form/component/CheckBox.idl92
-rw-r--r--offapi/com/sun/star/form/component/ComboBox.idl78
-rw-r--r--offapi/com/sun/star/form/component/CommandButton.idl116
-rw-r--r--offapi/com/sun/star/form/component/CurrencyField.idl77
-rw-r--r--offapi/com/sun/star/form/component/DataForm.idl232
-rw-r--r--offapi/com/sun/star/form/component/DatabaseCheckBox.idl64
-rw-r--r--offapi/com/sun/star/form/component/DatabaseComboBox.idl96
-rw-r--r--offapi/com/sun/star/form/component/DatabaseCurrencyField.idl59
-rw-r--r--offapi/com/sun/star/form/component/DatabaseDateField.idl59
-rw-r--r--offapi/com/sun/star/form/component/DatabaseFormattedField.idl73
-rw-r--r--offapi/com/sun/star/form/component/DatabaseImageControl.idl122
-rw-r--r--offapi/com/sun/star/form/component/DatabaseListBox.idl159
-rw-r--r--offapi/com/sun/star/form/component/DatabaseNumericField.idl59
-rw-r--r--offapi/com/sun/star/form/component/DatabasePatternField.idl74
-rw-r--r--offapi/com/sun/star/form/component/DatabaseRadioButton.idl59
-rw-r--r--offapi/com/sun/star/form/component/DatabaseTextField.idl73
-rw-r--r--offapi/com/sun/star/form/component/DatabaseTimeField.idl59
-rw-r--r--offapi/com/sun/star/form/component/DateField.idl81
-rw-r--r--offapi/com/sun/star/form/component/FileControl.idl78
-rw-r--r--offapi/com/sun/star/form/component/FixedText.idl64
-rw-r--r--offapi/com/sun/star/form/component/Form.idl93
-rw-r--r--offapi/com/sun/star/form/component/FormattedField.idl72
-rw-r--r--offapi/com/sun/star/form/component/GridControl.idl210
-rw-r--r--offapi/com/sun/star/form/component/GroupBox.idl60
-rw-r--r--offapi/com/sun/star/form/component/HTMLForm.idl106
-rw-r--r--offapi/com/sun/star/form/component/HiddenControl.idl65
-rw-r--r--offapi/com/sun/star/form/component/ImageButton.idl116
-rw-r--r--offapi/com/sun/star/form/component/ListBox.idl84
-rw-r--r--offapi/com/sun/star/form/component/NavigationToolBar.idl150
-rw-r--r--offapi/com/sun/star/form/component/NumericField.idl80
-rw-r--r--offapi/com/sun/star/form/component/PatternField.idl78
-rw-r--r--offapi/com/sun/star/form/component/RadioButton.idl112
-rw-r--r--offapi/com/sun/star/form/component/RichTextControl.idl91
-rw-r--r--offapi/com/sun/star/form/component/ScrollBar.idl78
-rw-r--r--offapi/com/sun/star/form/component/SpinButton.idl78
-rw-r--r--offapi/com/sun/star/form/component/SubmitButton.idl72
-rw-r--r--offapi/com/sun/star/form/component/TextField.idl89
-rw-r--r--offapi/com/sun/star/form/component/TimeField.idl81
-rw-r--r--offapi/com/sun/star/form/component/makefile.mk83
39 files changed, 3572 insertions, 0 deletions
diff --git a/offapi/com/sun/star/form/component/CheckBox.idl b/offapi/com/sun/star/form/component/CheckBox.idl
new file mode 100644
index 000000000000..5db7acb3d2a6
--- /dev/null
+++ b/offapi/com/sun/star/form/component/CheckBox.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_CheckBox_idl__
+#define __com_sun_star_form_component_CheckBox_idl__
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlCheckBoxModel_idl__
+#include <com/sun/star/awt/UnoControlCheckBoxModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies the model of a check box control
+
+ <p>The model supports the properties required for HTML, thus you can build up
+ <type>HTMLForm</type>s with it</p>
+ */
+published service CheckBox
+{
+ service com::sun::star::awt::UnoControlCheckBoxModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to it's default state.
+
+ @see CheckBox::DefaultState
+ */
+ interface com::sun::star::form::XReset;
+
+ //-------------------------------------------------------------------------
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlCheckBoxModel::State
+ @see com::sun::star::form::XReset
+ */
+ [property] short DefaultState;
+
+ //-------------------------------------------------------------------------
+
+ /** contains a reference value which is used for submission in a HTML
+ form
+
+ <p>When submitting a <type>HTMLForm</type> which contains a check box,
+ which is checked, the RefValue is used for submission.
+ */
+ [property] string RefValue;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/ComboBox.idl b/offapi/com/sun/star/form/component/ComboBox.idl
new file mode 100644
index 000000000000..c5d02077cad8
--- /dev/null
+++ b/offapi/com/sun/star/form/component/ComboBox.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_ComboBox_idl__
+#define __com_sun_star_form_component_ComboBox_idl__
+
+#ifndef __com_sun_star_awt_UnoControlComboBoxModel_idl__
+#include <com/sun/star/awt/UnoControlComboBoxModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies a component which allows the input of text or selection
+ of text from a list of text values.
+ */
+published service ComboBox
+{
+ service com::sun::star::awt::UnoControlComboBoxModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to it's default text.
+
+ @see ComboBox::DefaultText
+ */
+ interface com::sun::star::form::XReset;
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlComboBoxModel::Text
+ @see com::sun::star::form::XReset
+ */
+ [property] string DefaultText;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/CommandButton.idl b/offapi/com/sun/star/form/component/CommandButton.idl
new file mode 100644
index 000000000000..249f66c5923a
--- /dev/null
+++ b/offapi/com/sun/star/form/component/CommandButton.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_CommandButton_idl__
+#define __com_sun_star_form_component_CommandButton_idl__
+
+#include <com/sun/star/form/FormControlModel.idl>
+#include <com/sun/star/awt/UnoControlButtonModel.idl>
+#include <com/sun/star/form/XImageProducerSupplier.idl>
+#include <com/sun/star/form/XApproveActionBroadcaster.idl>
+#include <com/sun/star/form/FormButtonType.idl>
+#include <com/sun/star/form/XReset.idl>
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies the control model for a clickable button which is part of a form
+ component hierarchy.
+
+ @see ImageButton
+ */
+published service CommandButton
+{
+ service com::sun::star::awt::UnoControlButtonModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** supplies the image producer when the button is to display an image.
+
+ <p>If the <member scope="com::sun::star::awt">UnoControlButtonModel::ImageURL</member> points to the location of an
+ image to be displayed on the button, this interface can be used to retrieve an image
+ producer, which itself will supply the image.</p>
+
+ <p>Usually, a control belonging to the model will use this interface to obtain the
+ image to be painted</p>
+ */
+ interface com::sun::star::form::XImageProducerSupplier;
+
+ //-------------------------------------------------------------------------
+
+ /** describes the action to be executed by the button when pressed.
+ */
+ [property] com::sun::star::form::FormButtonType ButtonType;
+
+ /** describes the frame, where to open the document specified by the TargetURL.
+
+ <p>This property is evaluated if the button is of type URL.</p>
+
+ <p>As always, there is a number of target names which have a special meaning, and force
+ a special <type scope="com::sun::star::frame">Frame</type> to be used.</p>
+ */
+ [property] string TargetFrame;
+
+ /** specifies the URL, which should be opened if the button was clicked.
+
+ <p>This property is evaluated if the button is of type URL.</p>
+
+ @see com::sun::star::form::FormButtonType
+ */
+ [property] string TargetURL;
+
+ /** specifies the default toggle state for the button, used when it is reset.
+
+ <p>This property is meaningful only when <member scope="com::sun::star::awt">UnoControlButtonModel::Toggle</member>
+ is <TRUE/>. In this case, the <code>DefaultState</code> controls to which <code>State</code> the button will
+ be reset.</p>
+
+ <p>For a given implementation of the interface, if this (optional) property is present, then also the optional
+ interface <type scope="com::sun::star::form">XReset</type> must be present.</p>
+ */
+ [optional, property] boolean DefaultState;
+
+ /** allows resetting the button
+
+ <p>This property is meaningful only when <member scope="com::sun::star::awt">UnoControlButtonModel::Toggle</member>
+ is <TRUE/>. In this case, the <code>DefaultState</code> controls to which <code>State</code> the button will
+ be reset, when <member scope="com::sun::star::form">XReset::reset</member> is invoked.</p>
+
+ <p>For a given implementation of the interface, if this (optional) interface is present, then also the optional
+ property <member>DefaultState</member> must be present.</p>
+ */
+ [optional] interface ::com::sun::star::form::XReset;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/CurrencyField.idl b/offapi/com/sun/star/form/component/CurrencyField.idl
new file mode 100644
index 000000000000..1e190f2ae1ca
--- /dev/null
+++ b/offapi/com/sun/star/form/component/CurrencyField.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_CurrencyField_idl__
+#define __com_sun_star_form_component_CurrencyField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlCurrencyFieldModel_idl__
+#include <com/sun/star/awt/UnoControlCurrencyFieldModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies the ControlModel for an edit field which
+ contains a currency value.
+ */
+published service CurrencyField
+{
+ service com::sun::star::awt::UnoControlCurrencyFieldModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to it's default state.
+
+ @see CurrencyField::DefaultValue
+ */
+ interface com::sun::star::form::XReset;
+
+ /** contains a default value for the control.
+
+ @see com::sun::star::awt::UnoControlCurrencyFieldModel::Value
+ @see com::sun::star::form::XReset
+ */
+ [property] double DefaultValue;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DataForm.idl b/offapi/com/sun/star/form/component/DataForm.idl
new file mode 100644
index 000000000000..1a17ae0525e1
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DataForm.idl
@@ -0,0 +1,232 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DataForm_idl__
+#define __com_sun_star_form_component_DataForm_idl__
+
+#ifndef __com_sun_star_form_component_Form_idl__
+#include <com/sun/star/form/component/Form.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_RowSet_idl__
+#include <com/sun/star/sdb/RowSet.idl>
+#endif
+
+#ifndef __com_sun_star_form_TabulatorCycle_idl__
+#include <com/sun/star/form/TabulatorCycle.idl>
+#endif
+
+#ifndef __com_sun_star_form_NavigationBarMode_idl__
+#include <com/sun/star/form/NavigationBarMode.idl>
+#endif
+
+#ifndef __com_sun_star_form_XLoadable_idl__
+#include <com/sun/star/form/XLoadable.idl>
+#endif
+
+#ifndef __com_sun_star_sdb_XCompletedExecution_idl__
+#include <com/sun/star/sdb/XCompletedExecution.idl>
+#endif
+
+#ifndef __com_sun_star_awt_TabControllerModel_idl__
+#include <com/sun/star/awt/TabControllerModel.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form {
+
+ published interface XReset;
+ published interface XDatabaseParameterBroadcaster;
+
+module component {
+//=============================================================================
+/** This service specifies a form which is connected to a database and
+ displays the results of SQL queries. It provides the possibility of
+ adding new data records, modifying existing ones, or deleting them.
+
+ <p>A database form is a special kind of enhanced database row set
+ which provides all information for displaying the data and has more
+ possibilities for configuring the data manipulation.</p>
+
+*/
+published service DataForm
+{
+ service com::sun::star::sdb::RowSet;
+ service com::sun::star::form::component::Form;
+
+ /** is used to reset controls belonging to the form, and to reset database fields to which the
+ controls are bound
+
+ <p>A <type>DataForm</type> is reset either on explicit request, or after it is moved
+ to the insertion row.</p>
+
+ <p>The insertion row is a virtual row which is used to insert new records. It is reached
+ by calling <member scope="com::sun::star::sdbc">XResultSetUpdate::moveToInsertRow</member>.
+ The <type scope="com::sun::star::sdb">RowSet</type> service specifies exactly which notifications
+ happen in which order when calling <member scope="com::sun::star::sdbc">XResultSetUpdate::moveToInsertRow</member>,
+ and a <type>DataForm</type> implementation extends this with the following contract:
+ <ul><li>After all notifications as defined in the <type scope="com::sun::star::sdb">RowSet</type>
+ service have been sent, the <type>DataForm</type> resets itself, if all
+ <type scope="com::sun::star::form">XResetListeners</type> approve this.</li>
+ <li>After the reset happened, the <member scope="com::sun::star::sdb">RowSet::IsModified</member>
+ property is reset to <FALSE/>. This property might have been switched to <TRUE/> during listener
+ notifications, since listeners are allowed to change field values. Also, the
+ <member scope="com::sun::star::form">XReset::reset</member> implementations of bound control
+ models might have modified the fields they're bound to (by filling them with default values).</li>
+ <li>The reset listeners are notified of the completed reset operation.</li>
+ </ul></p>
+ */
+ interface com::sun::star::form::XReset;
+
+ /** used to load/unload the form
+ <p>Loading a form is basically the same as executing the underlying row set. In fact, all the
+ functionality of this interface could be simulated by using setting some properties manually,
+ <member scope="com::sun::star::sdbc">XRowSet::execute</member>, moving the row set cursor and so on.</p>
+
+ <p>One main difference between <member>XLoadable::load</member> and <member scope="com::sun::star::sdbc">XRowSet::execute</member>
+ is that if you use the former, the row set is positioned on the first record, while in the latter case
+ it is position <em>before</em> the it.</p>
+ */
+ interface com::sun::star::form::XLoadable;
+
+ /** can be used to allow an interaction handler to supply missing data during a load process.
+
+ <p>If data is needed during loading a form, then this is usually obtained via broadcaster-listener
+ mechanisms. An example for this (and currently the only one) are parameter values.</p>
+ <p>However, if you use this method, you can pass an interaction handler which should supply these
+ additional data.</p>
+
+ @see com::sun::star::sdb::InteractionHandler
+ */
+ interface com::sun::star::sdb::XCompletedExecution;
+
+ /** can be used for filling parameters.
+
+ <p>You can add your component as
+ <type scope="com::sun::star::form">XDatabaseParameterListener</type>
+ to a form to get notified whenever the form needs parameter values to be filled in<br/>
+ In a first approach, the form tries to fill any parameters from it's master-detail relation
+ (if any). All values which can't be filled are then passed to all listeners, which can
+ fill them by their own choice.</p>
+
+ <p>This is slightly changed if the form is loaded using the
+ <member scope="com::sun::star::sdb">XCompletedExecution::connectWithCompletion</member> method. In this case, the parameters
+ are obtained from the interaction handler, not from the listeners</p>
+
+ @see XCompletedExecution
+ @see MasterFields
+ @see DetailFields
+ */
+ interface com::sun::star::form::XDatabaseParameterBroadcaster;
+
+ //-------------------------------------------------------------------------
+ /** is used for subforms and contains the names of columns of the parent form.
+
+ <p> These columns are typically the foreign key fields of the parent form.
+ The values of theses columns are used to identify the data for the subform.
+ Each time the parent form changes it's current row, the subform requeries
+ it's data based on the values of the master fields.</p>
+
+ <p>If the form is no sub form (e.g. it's parent is not a form itself), this
+ property is not evaluated.</p>
+ */
+ [property] sequence<string> MasterFields;
+
+ //-------------------------------------------------------------------------
+ /** is used for subforms and contains the names of the columns of the subform
+ which are related to the master fields of the parent form.
+
+ <p>Entries in this sequence can either denote column names in the sub form,
+ or parameter names.<br/>
+ For instance, you could base the form on the SQL statement
+ <code>SELECT * FROM invoices WHERE cust_ref = :cid</code>, and add <code>cid</code>
+ to the DetailFields property. In this case, the parameter will be filled from
+ the corresponding master field.<br/>
+ Alternatively, you could simply base your form on the table <code>invoices</code>,
+ and add the column name <code>cust_ref</code> to the DetailFields. In this case,
+ and implicit filter clause <code>WHERE cust_ref = :&lt;new_param_name&gt;</code> will
+ be created, and the artificial parameter will be filled from the corresponding
+ master field.<br/>
+ If a string in this property denotes both a column name and a parameter name, it
+ is undefined which way it is interpreted, but implementations of the service are required
+ to either decide for the parameter or the column, and proceed as usual.
+ </p>
+
+ <p>The columns specified herein typically represent a part of the primary key
+ fields or their aliases of the detail form.</p>
+
+ <p>If the form is no sub form (e.g. it's parent is not a form itself), this
+ property is not evaluated.</p>
+ */
+ [property] sequence<string> DetailFields;
+
+ //-------------------------------------------------------------------------
+ /** returns the kind of tabulator controlling.
+ */
+ [property] com::sun::star::form::TabulatorCycle Cycle;
+
+ //-------------------------------------------------------------------------
+ /** determines how an navigation bar for this form should act.
+ */
+ [property] com::sun::star::form::NavigationBarMode NavigationBarMode;
+
+ //-------------------------------------------------------------------------
+ /** determines if insertions into the form's row set are allowed.
+
+ <p>Note that this is a recommendation for user interface components displaying the
+ form. Form implementations may decide to allow for insertions done via the API, even
+ if the property is set to <FALSE/>, but the user interface should respect the property
+ value.</p>
+ */
+ [property] boolean AllowInserts;
+
+ //-------------------------------------------------------------------------
+ /** determines if modifications of the current record of the form are allowed.
+
+ <p>Note that this is a recommendation for user interface components displaying the
+ form. Form implementations may decide to allow for updates done via the API, even
+ if the property is set to <FALSE/>, but the user interface should respect the property
+ value.</p>
+ */
+ [property] boolean AllowUpdates;
+
+ //-------------------------------------------------------------------------
+ /** determines if deletions of records of the form are allowed.
+
+ <p>Note that this is a recommendation for user interface components displaying the
+ form. Form implementations may decide to allow for deletions done via the API, even
+ if the property is set to <FALSE/>, but the user interface should respect the property
+ value.</p>
+ */
+ [property] boolean AllowDeletes;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DatabaseCheckBox.idl b/offapi/com/sun/star/form/component/DatabaseCheckBox.idl
new file mode 100644
index 000000000000..82f49ad55d02
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseCheckBox.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseCheckBox_idl__
+#define __com_sun_star_form_component_DatabaseCheckBox_idl__
+
+#ifndef __com_sun_star_form_component_CheckBox_idl__
+#include <com/sun/star/form/component/CheckBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a check box which is data-aware, and can be bound to a database field.
+
+ <p>Mostly, you will create data-aware checkboxes as tristate checkboxes, because this
+ is a requirement to correctly handle <NULL/> values in databases.</p>
+
+ @see ::com::sun::star::awt::UnoControlCheckBoxModel::TriState
+ */
+published service DatabaseCheckBox
+{
+ service com::sun::star::form::component::CheckBox;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DatabaseComboBox.idl b/offapi/com/sun/star/form/component/DatabaseComboBox.idl
new file mode 100644
index 000000000000..7a921f004093
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseComboBox.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseComboBox_idl__
+#define __com_sun_star_form_component_DatabaseComboBox_idl__
+
+#ifndef __com_sun_star_form_component_ComboBox_idl__
+#include <com/sun/star/form/component/ComboBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_ListSourceType_idl__
+#include <com/sun/star/form/ListSourceType.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a combo box which is data-aware, and can be bound to a database field.
+
+ <p>Like most other data aware controls, such a combo box will display the actual content
+ of the field it is bound to. In addition, as a combo box contains a list where the user
+ can choose items to fill into the control, this list can be filled with different data from
+ a database, too.</p>
+ */
+published service DatabaseComboBox
+{
+ service com::sun::star::form::component::ComboBox;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+ //-------------------------------------------------------------------------
+
+ /** determines if an empty text should be treated as a <NULL/> value.
+
+ <p>When the user enters text into a combo box, and after this, the control
+ content is to be committed into the database field the control is bound to,
+ a decision must be made how to deal with empty strings.<br/>
+ This is controlled by <member>ConvertEmptyToNull</member>.</p>
+
+ <p>If the property is set to <TRUE/>, and an empty text is to be commited, this is
+ converted into <NULL/>, else it is written as empty string.</p>
+ */
+ [property] boolean ConvertEmptyToNull;
+
+ /** describes the source of items in the combo box's list.
+
+ <p>The concrete meaning of this property depends on the value of <member>ListSourceType</member></p>
+ */
+ [property] string ListSource;
+ //-------------------------------------------------------------------------
+
+ /** specifies the kind of list source.
+
+ <p>Note: A value of <member scope="com::sun::star::form">ListSourceType::VALUELIST</member>
+ is not valid for a combo box. It won't be rejected when setting it, but controls will usually ignore it
+ and leave the list empty.</p>
+ */
+ [property] com::sun::star::form::ListSourceType ListSourceType;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DatabaseCurrencyField.idl b/offapi/com/sun/star/form/component/DatabaseCurrencyField.idl
new file mode 100644
index 000000000000..3d56099c31d7
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseCurrencyField.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseCurrencyField_idl__
+#define __com_sun_star_form_component_DatabaseCurrencyField_idl__
+
+#ifndef __com_sun_star_form_component_CurrencyField_idl__
+#include <com/sun/star/form/component/CurrencyField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a currency field which is data-aware, and can be bound to a database field.
+ */
+published service DatabaseCurrencyField
+{
+ service com::sun::star::form::component::CurrencyField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DatabaseDateField.idl b/offapi/com/sun/star/form/component/DatabaseDateField.idl
new file mode 100644
index 000000000000..8673636874b0
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseDateField.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseDateField_idl__
+#define __com_sun_star_form_component_DatabaseDateField_idl__
+
+#ifndef __com_sun_star_form_component_DateField_idl__
+#include <com/sun/star/form/component/DateField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a date field which is data-aware, and can be bound to a database field.
+ */
+published service DatabaseDateField
+{
+ service com::sun::star::form::component::DateField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DatabaseFormattedField.idl b/offapi/com/sun/star/form/component/DatabaseFormattedField.idl
new file mode 100644
index 000000000000..575ad5d8ff02
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseFormattedField.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseFormattedField_idl__
+#define __com_sun_star_form_component_DatabaseFormattedField_idl__
+
+#ifndef __com_sun_star_form_component_FormattedField_idl__
+#include <com/sun/star/form/component/FormattedField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a formatted field model which is data-aware, and can be bound to a database field.
+ */
+published service DatabaseFormattedField
+{
+ service com::sun::star::form::component::FormattedField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+ //-------------------------------------------------------------------------
+
+ /** determines if an empty text should be treated as a <NULL/> value.
+
+ <p>When the user enters text into a formatted field control, and after this, the control
+ content is to be committed into the database field the control is bound to,
+ a decision must be made how to deal with empty strings.<br/>
+ This is controlled by <member>ConvertEmptyToNull</member>.</p>
+
+ <p>If the property is set to <TRUE/>, and an empty text is to be commited, this is
+ converted into <NULL/>, else it is written as empty string.</p>
+ */
+ [property] boolean ConvertEmptyToNull;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DatabaseImageControl.idl b/offapi/com/sun/star/form/component/DatabaseImageControl.idl
new file mode 100644
index 000000000000..731a27437bf5
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseImageControl.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseImageControl_idl__
+#define __com_sun_star_form_component_DatabaseImageControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlImageControlModel_idl__
+#include <com/sun/star/awt/UnoControlImageControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XImageProducerSupplier_idl__
+#include <com/sun/star/form/XImageProducerSupplier.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies the model of a control used for displaying images stored in a database.
+
+ <p>As every <type scope="com::sun::star::form">DataAwareControlModel</type>, an image control
+ can be bound to a database field. This means that for instance with every record change, the content
+ of the database field is taken, interpreted as image, and displayed in the control.<br/>
+ Unlike other more text-based controls, it does not interpret the content of the field as text or double,
+ but as binary stream (see <member scope="com::sun::star::sdb">XColumn::getBinaryStream</member>).</p>
+
+ <p>Usually, an image control model can be bound to binary columns only, namely
+ <member scope="com::sun::star::sdbc">DataType::BINARY</member>,
+ <member scope="com::sun::star::sdbc">DataType::VARBINARY</member>,
+ <member scope="com::sun::star::sdbc">DataType::LONGVARBINARY</member>,
+ <member scope="com::sun::star::sdbc">DataType::OTHER</member>,
+ <member scope="com::sun::star::sdbc">DataType::LONGVARCHAR</member></p>
+
+ <p/>
+
+ <p>Note that besides taking the image to be displayed from the bound field, there is another option. The
+ <member scope="com::sun::star::awt">UnoControlImageControlModel::ImageURL</member> property specifies
+ the URL of an image to be displayed. If this property is changed from outside, the respective file
+ is loaded and set as image source.</p>
+
+ <p>In a usual data form, the scenario will be as follows:
+ <ul><li>There is a DatabaseImageControl as part of the document model, which acts as
+ control model for an <type scope="com::sun::star::form::control">ImageControl</type>.</li>
+
+ <li>The control is an <type scope="com::sun::star::awt">XImageConsumer</type> for the
+ <type scope="com::sun::star::awt">XImageProducer</type> supplied by the model.</li>
+
+ <li>Whenever the form's cursor is positioned on a new record, the column the control
+ model is bound to is examined for a binary data stream. This stream is set as source
+ at the image producer, which notifies it's consumers, which leads to the control
+ displaying the image.</li>
+
+ <li>When the user by some interaction tells the control to contain a new image, this is
+ exchanged by URL. For example, implementations of the control service may allow the user
+ to browse for image. After this, the URL of the image is set as
+ <member scope="com::sun::star::awt">UnoControlImageControlModel::ImageURL</member>
+ property at the model.<br/>
+ Now the control loads the image determined by the property value, and starts producing
+ a new data stream, which is displayed by the control (which is a consumer for this stream).<br/>
+ From now on, the control and thus the database record counts as modified. If the cursor of the
+ form is moved further, the modified record is saved, means the content of the image pointed to
+ by <member scope="com::sun::star::awt">UnoControlImageControlModel::ImageURL</member>
+ is saved into the column.</li>
+ </ul>
+ </p>
+ */
+published service DatabaseImageControl
+{
+ service com::sun::star::awt::UnoControlImageControlModel;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+ /** supplies the caller with an <type scope="com::sun::star::awt">XImageProducer</type>.
+
+ <p>Other components can register as <type scope="com::sun::star::awt">XImageConsumer</type>
+ at this producer. Then they will be notified of any change in the image to be displayed.</p>
+ */
+ interface com::sun::star::form::XImageProducerSupplier;
+
+ //-------------------------------------------------------------------------
+
+ /** indicates if it is possible to change the image being displayed.
+ */
+ [property] boolean ReadOnly;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DatabaseListBox.idl b/offapi/com/sun/star/form/component/DatabaseListBox.idl
new file mode 100644
index 000000000000..dbd96f31e985
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseListBox.idl
@@ -0,0 +1,159 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseListBox_idl__
+#define __com_sun_star_form_component_DatabaseListBox_idl__
+
+#ifndef __com_sun_star_form_component_ListBox_idl__
+#include <com/sun/star/form/component/ListBox.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_ListSourceType_idl__
+#include <com/sun/star/form/ListSourceType.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a data-aware list box control model.
+
+ <p>The base service for list boxes (<type>ListBox</type>) offers only
+ one possibility to specify the list entries: the <member>ListBox::ListSource</member>
+ property, which contains all the strings to be displayed.</p>
+
+ <p>This service here extends this mimic. It allows to fill the list from a data source.
+ This means that a second result set is opened, which works on the same connection as the
+ form which the list box belongs to, but can be based on an arbitrary table or SQL statement.</p>
+
+ <p>For instance, you may have a form which is bound to a table <em>invoice</em>, and you use it
+ to enter invoices for your customers. Probably, you will have a second table (say <em>customer</em>),
+ which (among other data) contains a unique key for identifying customers. In your invoice table, you will
+ have a foreign key referring to these customers.<br/>
+ Now, besides the result set the form is based on (all your invoices), the list box can be caused
+ to open a second result set, this time for the <em>customer</em> table, and fill it's list with entries
+ from this result set.<br/>
+ Additionally, it allows to model the relation between the two tables: When the user selects a customer from
+ the list, this customer has the unique id we just talked about (which is not necessarily visible to the
+ user in any way). The list box then automatically transfers this id into the foreign key column of
+ <em>invoice</em>, thus allowing the user to transparently work with human-readable strings instead of
+ pure numbers.<br/>
+ Let's call this result set the list is filled from the <em>list result set</em> here ...</p>
+
+ */
+published service DatabaseListBox
+{
+ service com::sun::star::form::component::ListBox;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies which column of the list result set should be used for data exchange.
+
+ <p>When you make a selection from a list box, the "BoundColumn"
+ property reflects which column value of a result set should
+ be used as the value of the component. If the control is bound
+ to a database field, the column value is stored in the
+ database field identified by the property
+ <member scope="com::sun::star::form">DataAwareControlModel::DataField</member>.
+
+ <dl>
+ <dt>0</dt>
+ <dd>The selected (displayed) list box string is stored in
+ the current database field.</dd>
+
+ <dt>1 or greater</dt>
+ <dd>The column value of the result set at the position is
+ stored in the current database field.</dd>
+ </dl></p>
+
+ <p>The bound column property is only used if a list source is defined
+ and the list source matches with the types
+ <member scope="com::sun::star::form">ListSourceType::TABLE</member>,
+ <member scope="com::sun::star::form">ListSourceType::QUERY</member>,
+ <member scope="com::sun::star::form">ListSourceType::SQL</member> or
+ <member scope="com::sun::star::form">ListSourceType::SQLPASSTHROUGH</member>.
+ Otherwise the property is ignored, as there is no result set from which to
+ get the column values.</p>
+ */
+ [property] short BoundColumn;
+
+ //-------------------------------------------------------------------------
+
+ /** describes the kind of list source used.
+
+ <p>Depending on the value of this property, the way the value of <member>ListBox::ListSource</member>
+ is evaluated varies.
+ <dl>
+ <dt><member scope="com::sun::star::form">ListSourceType::VALUELIST</member></dt>
+ <dd>The elements in the string sequence in <member>ListBox::ListSource</member>
+ build up the entry list.</dd>
+
+ <dt><member scope="com::sun::star::form">ListSourceType::TABLE</member></dt>
+ <dd>The first element of the string sequence in <member>ListBox::ListSource</member>
+ determines the table which the list result set should be based on.</dd>
+
+ <dt><member scope="com::sun::star::form">ListSourceType::QUERY</member></dt>
+ <dd>The first element of the string sequence in <member>ListBox::ListSource</member>
+ determines the query which the list result set should be based on.<br/>
+ For retrieving the query, the connection which the data form is working with
+ (<member scope="com::sun::star::sdb">RowSet::ActiveConnection</member>) is queried for
+ the <type scope="com::sun::star::sdb">XQueriesSupplier</type> interface.</dd>
+
+ <dt><member scope="com::sun::star::form">ListSourceType::SQL</member></dt>
+ <dd>The first element of the string sequence in <member>ListBox::ListSource</member>
+ contains the SQL statement which the list result set should be based on.</p>
+
+ <dt><member scope="com::sun::star::form">ListSourceType::SQLPASSTHROUGH</member></dt>
+ <dd>The first element of the string sequence in <member>ListBox::ListSource</member>
+ contains the SQL statement which the list result set should be based on.<br/>
+ The statement is not analyzed by the parser. This means that you can use database specific
+ SQL features here, but, on the other hand, loose features like parameter value substitution.</dd>
+
+ <dt><member scope="com::sun::star::form">ListSourceType::TABLEFIELDS</member></dt>
+ <dd>The first element of the string sequence in <member>ListBox::ListSource</member>
+ determines the table whose column names should fill the list.</dd>
+ </dl>
+ </p>
+
+ */
+ [property] com::sun::star::form::ListSourceType ListSourceType;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DatabaseNumericField.idl b/offapi/com/sun/star/form/component/DatabaseNumericField.idl
new file mode 100644
index 000000000000..57853d6ddc83
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseNumericField.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseNumericField_idl__
+#define __com_sun_star_form_component_DatabaseNumericField_idl__
+
+#ifndef __com_sun_star_form_component_NumericField_idl__
+#include <com/sun/star/form/component/NumericField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a numeric field which is data-aware, and can be bound to a database field.
+ */
+published service DatabaseNumericField
+{
+ service com::sun::star::form::component::NumericField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DatabasePatternField.idl b/offapi/com/sun/star/form/component/DatabasePatternField.idl
new file mode 100644
index 000000000000..2488b4160cad
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabasePatternField.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabasePatternField_idl__
+#define __com_sun_star_form_component_DatabasePatternField_idl__
+
+#ifndef __com_sun_star_form_component_PatternField_idl__
+#include <com/sun/star/form/component/PatternField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a data-aware control model for entering text which matches a specific
+ pattern.
+ */
+published service DatabasePatternField
+{
+ service com::sun::star::form::component::PatternField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+ //-------------------------------------------------------------------------
+
+ /** determines if an empty text should be treated as a <NULL/> value.
+
+ <p>When the user enters text into a pattern field, and after this, the control
+ content is to be committed into the database field the control is bound to,
+ a decision must be made how to deal with empty strings.<br/>
+ This is controlled by this property.</p>
+
+ <p>If the property is set to <TRUE/>, and an empty text is to be commited, this is
+ converted into <NULL/>, else it is written as empty string.</p>
+ */
+ [property] boolean ConvertEmptyToNull;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DatabaseRadioButton.idl b/offapi/com/sun/star/form/component/DatabaseRadioButton.idl
new file mode 100644
index 000000000000..2b60c3fb5dd3
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseRadioButton.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseRadioButton_idl__
+#define __com_sun_star_form_component_DatabaseRadioButton_idl__
+
+#ifndef __com_sun_star_form_component_RadioButton_idl__
+#include <com/sun/star/form/component/RadioButton.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a radio button which is data-aware, and can be bound to a database field.
+ */
+published service DatabaseRadioButton
+{
+ service com::sun::star::form::component::RadioButton;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DatabaseTextField.idl b/offapi/com/sun/star/form/component/DatabaseTextField.idl
new file mode 100644
index 000000000000..001f342d3c53
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseTextField.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseTextField_idl__
+#define __com_sun_star_form_component_DatabaseTextField_idl__
+
+#ifndef __com_sun_star_form_component_TextField_idl__
+#include <com/sun/star/form/component/TextField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a text field which is data-aware, and can be bound to a database field.
+ */
+published service DatabaseTextField
+{
+ service com::sun::star::form::component::TextField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+ //-------------------------------------------------------------------------
+
+ /** determines if an empty text should be treated as a <NULL/> value.
+
+ <p>When the user enters text into a text field, and after this, the control
+ content is to be committed into the database field the control is bound to,
+ a decision must be made how to deal with empty strings.<br/>
+ This is controlled by this property.</p>
+
+ <p>If the property is set to <TRUE/>, and an empty text is to be commited, this is
+ converted into <NULL/>, else it is written as empty string.</p>
+ */
+ [property] boolean ConvertEmptyToNull;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DatabaseTimeField.idl b/offapi/com/sun/star/form/component/DatabaseTimeField.idl
new file mode 100644
index 000000000000..1ac3d51ccc36
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DatabaseTimeField.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DatabaseTimeField_idl__
+#define __com_sun_star_form_component_DatabaseTimeField_idl__
+
+#ifndef __com_sun_star_form_component_TimeField_idl__
+#include <com/sun/star/form/component/TimeField.idl>
+#endif
+
+#ifndef __com_sun_star_form_DataAwareControlModel_idl__
+#include <com/sun/star/form/DataAwareControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a data-aware field for inputting a time value.
+ */
+published service DatabaseTimeField
+{
+ service com::sun::star::form::component::TimeField;
+
+ service com::sun::star::form::DataAwareControlModel;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/DateField.idl b/offapi/com/sun/star/form/component/DateField.idl
new file mode 100644
index 000000000000..b7764c8ea874
--- /dev/null
+++ b/offapi/com/sun/star/form/component/DateField.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_DateField_idl__
+#define __com_sun_star_form_component_DateField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlDateFieldModel_idl__
+#include <com/sun/star/awt/UnoControlDateFieldModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies the model of a date field control, which is an edit field used to enter a date.
+*/
+published service DateField
+{
+ service com::sun::star::awt::UnoControlDateFieldModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** resets the control.
+
+ <p>If you do not set a value for the <member>DefaultDate</member>, then resetting the control
+ will result in setting to to the current system date. This is for HTML compatibility.</p>
+ */
+ interface com::sun::star::form::XReset;
+
+ //-------------------------------------------------------------------------
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlDateFieldModel::Date
+ @see com::sun::star::form::XReset
+ */
+ [property] long DefaultDate;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/FileControl.idl b/offapi/com/sun/star/form/component/FileControl.idl
new file mode 100644
index 000000000000..d9956c7114b6
--- /dev/null
+++ b/offapi/com/sun/star/form/component/FileControl.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_FileControl_idl__
+#define __com_sun_star_form_component_FileControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlFileControlModel_idl__
+#include <com/sun/star/awt/UnoControlFileControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies the control model of an edit field for a
+ file name.
+ */
+published service FileControl
+{
+ service com::sun::star::awt::UnoControlFileControlModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to it's default text.
+
+ @see FileControl::DefaultText
+ */
+ interface com::sun::star::form::XReset;
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlFileControlModel::Text
+ @see com::sun::star::form::XReset
+ */
+ [property] string DefaultText;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/FixedText.idl b/offapi/com/sun/star/form/component/FixedText.idl
new file mode 100644
index 000000000000..1bb60c47388e
--- /dev/null
+++ b/offapi/com/sun/star/form/component/FixedText.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_FixedText_idl__
+#define __com_sun_star_form_component_FixedText_idl__
+
+#ifndef __com_sun_star_awt_UnoControlFixedTextModel_idl__
+#include <com/sun/star/awt/UnoControlFixedTextModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies the control model for a text which can be
+ displayed, but not edited by the user.
+
+ <p>These kind of controls is usually used to label other controls.</p>
+
+ @see com::sun::star::form::DataAwareControlModel::LabelControl
+ */
+published service FixedText
+{
+ service com::sun::star::awt::UnoControlFixedTextModel;
+
+ service com::sun::star::form::FormControlModel;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/Form.idl b/offapi/com/sun/star/form/component/Form.idl
new file mode 100644
index 000000000000..526a2febecb0
--- /dev/null
+++ b/offapi/com/sun/star/form/component/Form.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_Form_idl__
+#define __com_sun_star_form_component_Form_idl__
+
+#ifndef __com_sun_star_form_FormComponent_idl__
+#include <com/sun/star/form/FormComponent.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormComponents_idl__
+#include <com/sun/star/form/FormComponents.idl>
+#endif
+
+#ifndef __com_sun_star_form_XForm_idl__
+#include <com/sun/star/form/XForm.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTabControllerModel_idl__
+#include <com/sun/star/awt/XTabControllerModel.idl>
+#endif
+
+#ifndef __com_sun_star_script_XEventAttacherManager_idl__
+#include <com/sun/star/script/XEventAttacherManager.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a form which is a group of FormComponents.
+
+ <p>A form fulfills several tasks, like storing the structure of its
+ form components, storing the information concerning tab ordering
+ and control grouping, and last but not least, it provides the
+ event environment for its contained elements.</p>
+
+ <p>A form acts on the one hand like a container of FormComponents
+ and on the other hand like a FormComponent. This generic
+ construction allows the definition of hierarchies of forms and their
+ dependent subforms.</p>
+
+ @see com::sun::star::form::FormControlModel
+ */
+published service Form
+{
+ service com::sun::star::form::FormComponent;
+
+ service com::sun::star::form::FormComponents;
+
+ /** identifies a component as form.
+ */
+ interface com::sun::star::form::XForm;
+
+
+ /** This interface has to be implemented to supply the information for tab ordering and component grouping.
+
+ @see com::sun::star::form::FormControlModel::TabIndex
+ */
+ interface com::sun::star::awt::XTabControllerModel;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/FormattedField.idl b/offapi/com/sun/star/form/component/FormattedField.idl
new file mode 100644
index 000000000000..99ea2c4cd3d3
--- /dev/null
+++ b/offapi/com/sun/star/form/component/FormattedField.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_FormattedField_idl__
+#define __com_sun_star_form_component_FormattedField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlFormattedFieldModel_idl__
+#include <com/sun/star/awt/UnoControlFormattedFieldModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies the control model of an edit field for entering text which can be
+ (nearly) arbitrarily formatted.
+
+ @see com::sun::star::util::XNumberFormatsSupplier
+ */
+published service FormattedField
+{
+ service com::sun::star::awt::UnoControlFormattedFieldModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to it's default state.
+
+ @see com::sun::star::awt::UnoControlFormattedFieldModel::EffectiveValue
+ @see com::sun::star::awt::UnoControlFormattedFieldModel::EffectiveDefault
+ */
+ interface com::sun::star::form::XReset;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/GridControl.idl b/offapi/com/sun/star/form/component/GridControl.idl
new file mode 100644
index 000000000000..d5e61c377b69
--- /dev/null
+++ b/offapi/com/sun/star/form/component/GridControl.idl
@@ -0,0 +1,210 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_GridControl_idl__
+#define __com_sun_star_form_component_GridControl_idl__
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XGridColumnFactory_idl__
+#include <com/sun/star/form/XGridColumnFactory.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormComponents_idl__
+#include <com/sun/star/form/FormComponents.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_script_XEventAttacherManager_idl__
+#include <com/sun/star/script/XEventAttacherManager.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies a model for a control which can display form data in a table-like way.
+
+ <p>In opposite to other form controls, grid controls do not only
+ display the single current value of a column they are bound to. Moreover, they do
+ display not only the current row of the form, but all rows (at least potentially, limited
+ by the control size, of course).</p>
+
+ <p>The table rows in a grid control correspond to the rows in the <type>DataForm</type>
+ the control belongs to, and the columns correspond to single columns of the form's row set.</p>
+
+ <p>Columns of a grid control are modeled by own objects, too. They are very similar to usual
+ <type scope="com::sun::star::form">DataAwareControlModel</type>s modeling other "single-value" controls, but they are not described
+ as own services. Instead, they need to be created using the <type scope="com::sun::star::form">XGridColumnFactory</type> interface.</p>
+ */
+published service GridControl
+{
+ service com::sun::star::form::FormControlModel;
+
+ /** provides basic functionality of a container of <type scope="com::sun::star::form">FormComponent</type>s.
+
+ <p>All the container-related methods of this service related to control models,
+ this is what are the container elements for a <type>GridControl</type>.</p>
+
+ <p>As the <type scope="com::sun::star::form">FormComponents</type> service also specifies
+ the <type scope"com::sun::star::script">XEventAttacherManager</type> service, grid control models
+ also provide a scripting environment for their columns.</p>
+ */
+ service com::sun::star::form::FormComponents;
+
+ /** allows to create column models to be inserted into the control model.
+
+ <p>Note that the object returned by the <member scope="com::sun::star::form">XGridColumnFactory::createColumn</member>
+ method is not part of the grid control, yet. It needs to be inserted using any of the
+ container interfaces.</p>
+
+ <p>You always need to use this interface for creating columns for the grid control.
+ Column models not created this way will not be accepted when inserted later on.</p>
+ */
+ interface com::sun::star::form::XGridColumnFactory;
+
+ /** gives access to the currently selection.
+
+ <p>In a grid control, single columns can be selected (at most one at a time).<br/>
+ For various unfortunate reasons, this selection is an aspect of the model, not of the
+ control as you would expect.</p>
+
+ <p>This interface is deprecated, new implementations should not use it anymore, as it is to
+ be superseded by a solution which is bound to the control, not the model.</p>
+
+ @deprecated
+ */
+ interface com::sun::star::view::XSelectionSupplier;
+
+ /** resets the control.
+
+ <p>The reset of the control is forwarded to all it's elements, means to all the column models.
+ As grid columns are very much like data-aware stand-alone controls, you can find a description
+ of the reset functionality in <member scope="com::sun::star::form">DataAwareControlModel::XReset</member>.
+ */
+ interface com::sun::star::form::XReset;
+
+ //-------------------------------------------------------------------------
+
+ /** returns the border style of the control.
+
+ <pre>
+ 0: No border
+ 1: 3D border
+ 2: simple border
+ </pre>
+ */
+ [property] short Border;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the color of the border, if present
+
+ <p>Not every border style (see <member>Border</member>) may support coloring.
+ For instance, usually a border with 3D effect will ignore the BorderColor setting.</p>
+
+ @since OOo 2.0
+ */
+ [optional, property] long BorderColor;
+
+ //-------------------------------------------------------------------------
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+ //-------------------------------------------------------------------------
+
+ /** contains the font attributes of the text in the control.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the height of a row of the grid.
+
+ <p>If the value is set to <NULL/>, the height is determined automatically according
+ to the current font used.</p>
+
+ @see GridControl::FontDescriptor
+ */
+ [property] long RowHeight;
+
+ //-------------------------------------------------------------------------
+
+ /** determines whether the control can be reached by the tabulator key.
+ */
+ [property] boolean Tabstop;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the text color (RGB) of the control.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/GroupBox.idl b/offapi/com/sun/star/form/component/GroupBox.idl
new file mode 100644
index 000000000000..d4f2b57375ae
--- /dev/null
+++ b/offapi/com/sun/star/form/component/GroupBox.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_GroupBox_idl__
+#define __com_sun_star_form_component_GroupBox_idl__
+
+#ifndef __com_sun_star_awt_UnoControlGroupBoxModel_idl__
+#include <com/sun/star/awt/UnoControlGroupBoxModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies a model for a control which can be used to visually
+ group controls.
+ */
+published service GroupBox
+{
+ service com::sun::star::awt::UnoControlGroupBoxModel;
+
+ service com::sun::star::form::FormControlModel;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/HTMLForm.idl b/offapi/com/sun/star/form/component/HTMLForm.idl
new file mode 100644
index 000000000000..763f388a4185
--- /dev/null
+++ b/offapi/com/sun/star/form/component/HTMLForm.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_HTMLForm_idl__
+#define __com_sun_star_form_component_HTMLForm_idl__
+
+#ifndef __com_sun_star_form_component_Form_idl__
+#include <com/sun/star/form/component/Form.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+#ifndef __com_sun_star_form_XSubmit_idl__
+#include <com/sun/star/form/XSubmit.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormSubmitMethod_idl__
+#include <com/sun/star/form/FormSubmitMethod.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormSubmitEncoding_idl__
+#include <com/sun/star/form/FormSubmitEncoding.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies the special kind of <type>Form</type>s for HTML documents.
+
+ <p>An HTMLForm fulfills the specification of forms in HTML. It supplies
+ the possibility of submitting or resetting the contents of a form.
+ For more information on HTML forms, please see the documentation of HTML.</p>
+ */
+published service HTMLForm
+{
+ service com::sun::star::form::component::Form;
+
+ /** resets the control.
+ */
+ interface com::sun::star::form::XReset;
+
+ /** allows to submit changes.
+
+ <p>When a form is submitted, the data contained in the form is sent
+ to the target URL as a series of name/value pairs. The name portion
+ of each pair is the name of a form component as specified by its NAME
+ attribute. In most cases the value portion is the value displayed
+ by the element, for example, the text displayed in a text field.</p>
+ */
+ interface com::sun::star::form::XSubmit;
+
+ /** describes the frame, where to open the document specified by the TargetURL.
+ */
+ [property] string TargetFrame;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the URL, which should be used for submission.
+ */
+ [property] string TargetURL;
+ //-------------------------------------------------------------------------
+
+ /** specifies the kind of submission.
+ */
+ [property] com::sun::star::form::FormSubmitMethod SubmitMethod;
+ //-------------------------------------------------------------------------
+
+ /** specifies the kind of encoding for submission.
+ */
+ [property] com::sun::star::form::FormSubmitEncoding SubmitEncoding;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/HiddenControl.idl b/offapi/com/sun/star/form/component/HiddenControl.idl
new file mode 100644
index 000000000000..cf516df86d12
--- /dev/null
+++ b/offapi/com/sun/star/form/component/HiddenControl.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_HiddenControl_idl__
+#define __com_sun_star_form_component_HiddenControl_idl__
+
+#ifndef __com_sun_star_form_FormComponent_idl__
+#include <com/sun/star/form/FormComponent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies the model of a hidden control.
+
+ <p>The only sense of a hidden control is to store data in the form which is
+ not visible to the user.</p>
+
+ <p>Usually, hidden controls are used in <type scope="com::sun::star::form::component">HTMLForm</type>s,
+ where they contain data which is to be submitted.<br/>
+ Nevertheless, you can use them in your own forms for storing any data, for instance
+ to evaluate it in some scripting macro.</p>
+ */
+published service HiddenControl
+{
+ service com::sun::star::form::FormComponent;
+
+ /** specifies the value of the component.
+ */
+ [property] string HiddenValue;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/ImageButton.idl b/offapi/com/sun/star/form/component/ImageButton.idl
new file mode 100644
index 000000000000..69df0e295106
--- /dev/null
+++ b/offapi/com/sun/star/form/component/ImageButton.idl
@@ -0,0 +1,116 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_ImageButton_idl__
+#define __com_sun_star_form_component_ImageButton_idl__
+
+#ifndef __com_sun_star_awt_UnoControlImageControlModel_idl__
+#include <com/sun/star/awt/UnoControlImageControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XApproveActionBroadcaster_idl__
+#include <com/sun/star/form/XApproveActionBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_form_XImageProducerSupplier_idl__
+#include <com/sun/star/form/XImageProducerSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormButtonType_idl__
+#include <com/sun/star/form/FormButtonType.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies the control model for a clickable button which
+ is represented by an image.
+
+ <p>The image to be displayed is determined by <member scope="com::sun::star::awt">UnoControlImageControlModel::ImageURL</member>
+ property specifies the URL of an image to be displayed.</p>
+
+ @see CommandButton
+*/
+published service ImageButton
+{
+ service com::sun::star::awt::UnoControlImageControlModel;
+
+ service com::sun::star::form::FormControlModel;
+
+
+ /** supplies the caller with an <type scope="com::sun::star::awt">XImageProducer</type>.
+
+ <p>Other components can register as <type scope="com::sun::star::awt">XImageConsumer</type>
+ at this producer. Then they will be notified of any change in the image to be displayed.</p>
+
+ <p>Whenever the <member scope="com::sun::star::awt">UnoControlImageControlModel::ImageURL</member>
+ property is changed, the model loads the specified image, and sets it as image source
+ at its <type scope="com::sun::star::awt">XImageProducer</type>. Then, all
+ <type scope="com::sun::star::awt">XImageConsumer</type>s are notified and supplied with
+ the binary data of the image.<br/>
+ Usually, controls acting for an <type>ImageButton</type> model are consumers, and use the
+ data stream to display the image</p>
+ */
+ interface com::sun::star::form::XImageProducerSupplier;
+
+ //-------------------------------------------------------------------------
+ /** describes the action to be executed by the button when pressed.
+ */
+ [property] com::sun::star::form::FormButtonType ButtonType;
+
+ //-------------------------------------------------------------------------
+ /** describes the frame, where to open the document specified by the TargetURL.
+
+ <p>This property is evaluated if the button is of type URL.</p>
+
+ <p>As always, there is a number of target names which have a special meaning, and force
+ a special <type scope="com::sun::star::frame">Frame</type> to be used.</p>
+ */
+ [property] string TargetFrame;
+
+ //-------------------------------------------------------------------------
+ /** specifies the URL, which should be opened if the button was clicked.
+
+ <p>This property is evaluated if the button is of type URL.</p>
+
+ @see com::sun::star::form::FormButtonType
+ */
+ [property] string TargetURL;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/ListBox.idl b/offapi/com/sun/star/form/component/ListBox.idl
new file mode 100644
index 000000000000..f636d25b77ee
--- /dev/null
+++ b/offapi/com/sun/star/form/component/ListBox.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_ListBox_idl__
+#define __com_sun_star_form_component_ListBox_idl__
+
+#ifndef __com_sun_star_awt_UnoControlListBoxModel_idl__
+#include <com/sun/star/awt/UnoControlListBoxModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies a model for a control which allows to choose in a list of alternative values.
+ */
+published service ListBox
+{
+ service com::sun::star::awt::UnoControlListBoxModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to it's default state.
+
+ @see ListBox::DefaultSelection
+ */
+ interface com::sun::star::form::XReset;
+
+ /** contains the indexes of entries of the listbox, which should selected
+ by default.
+
+ <p>This selection is used initially or for a reset.</p>
+
+ @see com::sun::star::awt::UnoControlListBoxModel::SelectedItems
+ @see com::sun::star::form::XReset
+ */
+ [property] sequence<short> DefaultSelection;
+
+
+ /** contains the listbox entries.
+ */
+ [property] sequence<string> ListSource;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/NavigationToolBar.idl b/offapi/com/sun/star/form/component/NavigationToolBar.idl
new file mode 100644
index 000000000000..762782827cf9
--- /dev/null
+++ b/offapi/com/sun/star/form/component/NavigationToolBar.idl
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_NavigationToolBar_idl__
+#define __com_sun_star_form_component_NavigationToolBar_idl__
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+#ifndef __com_sun_star_awt_FontDescriptor_idl__
+#include <com/sun/star/awt/FontDescriptor.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** This service specifies the model for control which provides controller
+ functionality for a <type>DataForm</type>, such as navigating or filtering
+ the form.
+ */
+service NavigationToolBar
+{
+ service com::sun::star::form::FormControlModel;
+
+ //-------------------------------------------------------------------------
+ /** denotes the border style of the control.
+
+ Allowed values are
+ <ul><li><b>0</b>: no border at all</li>
+ <li><b>1</b>: 3D border</li>
+ <li><b>2</b>: simple flat</li>
+ </ul>
+ */
+ [property] short Border;
+
+ //-------------------------------------------------------------------------
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+ //-------------------------------------------------------------------------
+ /** contains the font attributes for the text in the control
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+ //-------------------------------------------------------------------------
+ /** specifies the text color (as RGB value) of the control.
+ */
+ [property] long TextColor;
+
+ //-------------------------------------------------------------------------
+ /** specifies the text line color (as RGB value) of the control.
+
+ <p>This color is used if the <member>FontDescriptor</member> defines
+ that the text in the control should be underlined or stroke out.</p>
+ */
+ [property] long TextLineColor;
+
+ //-------------------------------------------------------------------------
+ /** specifies the relief for the font described in <member>FontDescriptor</member>
+
+ <p>The value must be one of the <type scope="com::sun::star::text">FontRelief</type>
+ constants.</p>
+ */
+ [property] long FontRelief;
+
+ //-------------------------------------------------------------------------
+ /** specifies the emphasis mark for the font described in <member>FontDescriptor</member>
+
+ <p>The value must be one of the <type scope="com::sun::star::text">FontEmphasis</type>
+ constants.</p>
+ */
+ [property] long FontEmphasisMark;
+
+ //-------------------------------------------------------------------------
+ /** specifies the size of the icons in the control
+
+ <p>At least the following values are to be supported:
+ <ul><li>0: small icons (16x16)</li>
+ <li>1: medium size icons (26x26)</li>
+ </ul>
+ */
+ [property] short IconSize;
+
+ //-------------------------------------------------------------------------
+ /** determines whether the control should provide functionality for positioning the
+ parent form
+ */
+ [property] boolean ShowPosition;
+
+ //-------------------------------------------------------------------------
+ /** determines whether the control should provide functionality for navigating the
+ parent form
+ */
+ [property] boolean ShowNavigation;
+
+ //-------------------------------------------------------------------------
+ /** determines whether the control should provide functionality for acting on the current record
+ of the parent form
+ */
+ [property] boolean ShowRecordActions;
+
+ //-------------------------------------------------------------------------
+ /** determines whether the control should provide functionality for filtering and sorting the
+ parent form
+ */
+ [property] boolean ShowFilterSort;
+
+ //-------------------------------------------------------------------------
+ /** specifies a repeat delay for the control
+
+ <p>Some buttons of a NavigationToolBar may show repeating behavior, e.g. may be
+ repeatedly triggered when the user keeps the mouse pressed over such a button.<br/>
+ The delay between two such triggers (in milliseconds) is specified with this property.
+ </p>
+ */
+ [property] long RepeatDelay;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/NumericField.idl b/offapi/com/sun/star/form/component/NumericField.idl
new file mode 100644
index 000000000000..62336316eb0a
--- /dev/null
+++ b/offapi/com/sun/star/form/component/NumericField.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_NumericField_idl__
+#define __com_sun_star_form_component_NumericField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlNumericFieldModel_idl__
+#include <com/sun/star/awt/UnoControlNumericFieldModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies a component which allows the input of a numeric value.
+ */
+published service NumericField
+{
+ service com::sun::star::awt::UnoControlNumericFieldModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to it's default value.
+
+ @see NumericField::DefaultValue
+ */
+ interface com::sun::star::form::XReset;
+
+ //-------------------------------------------------------------------------
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlNumericFieldModel::Value
+ @see com::sun::star::form::XReset
+ */
+ [property] double DefaultValue;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/PatternField.idl b/offapi/com/sun/star/form/component/PatternField.idl
new file mode 100644
index 000000000000..f41a12d2231e
--- /dev/null
+++ b/offapi/com/sun/star/form/component/PatternField.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_PatternField_idl__
+#define __com_sun_star_form_component_PatternField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlPatternFieldModel_idl__
+#include <com/sun/star/awt/UnoControlPatternFieldModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies a component which allows the input of text which matches a specific pattern.
+ */
+published service PatternField
+{
+ service com::sun::star::awt::UnoControlPatternFieldModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to it's default text.
+
+ @see PatternField::DefaultText
+ */
+ interface com::sun::star::form::XReset;
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlPatternFieldModel::Text
+ @see com::sun::star::form::XReset
+ */
+ [property] string DefaultText;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/RadioButton.idl b/offapi/com/sun/star/form/component/RadioButton.idl
new file mode 100644
index 000000000000..76575e3450bd
--- /dev/null
+++ b/offapi/com/sun/star/form/component/RadioButton.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_RadioButton_idl__
+#define __com_sun_star_form_component_RadioButton_idl__
+
+#ifndef __com_sun_star_awt_UnoControlRadioButtonModel_idl__
+#include <com/sun/star/awt/UnoControlRadioButtonModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies a component which acts as a radio button as needed in <type>HTMLForm</type>s.
+
+ <p>Radio buttons are controls which can be grouped together, and in every
+ group, only one of the controls can be check. This means if one of them
+ is checked by a user interaction, all other controls in the same group
+ are automatically unchecked</p>
+
+ <p>Like in HTML, radio buttons are grouped together if and only if they have the
+ same name (see <member scope="com::sun::star::form">FormComponent::Name</member>).</p>
+ */
+published service RadioButton
+{
+ service com::sun::star::awt::UnoControlRadioButtonModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** can be used to reset the control to it's default text.
+
+ @see RadioButton::DefaultState
+ */
+ interface com::sun::star::form::XReset;
+
+ //-------------------------------------------------------------------------
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ <p> In a group of radio buttons only one button should be checked
+ by default.</p>
+
+ @see com::sun::star::awt::UnoControlRadioButtonModel::State
+ @see com::sun::star::form::XReset
+ */
+ [property] short DefaultState;
+
+ //-------------------------------------------------------------------------
+
+ /** contains a reference value which is used for submission in a HTML
+ form.
+
+ <p>If the form the control belongs to is to be submitted (see
+ <type scope="com::sun::star::form">XSubmit</type>), and the control is checked, this reference
+ value is used for submission.</p>
+ */
+ [property] string RefValue;
+
+
+ /** specifies a value which is to be associated with the control when it's <em>not</em>
+ selected.
+
+ <p>In various situations, the <member>RefValue</member> is associated with the control
+ if and only if it is selected.<br/>
+ <member>UncheckedRefValue</member> provides a extensions of this concept: If present,
+ the value should be associated with the control when it is <em>not</em> selected.</p>
+ */
+ [optional, property] string UncheckedRefValue;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/RichTextControl.idl b/offapi/com/sun/star/form/component/RichTextControl.idl
new file mode 100644
index 000000000000..0566f658a197
--- /dev/null
+++ b/offapi/com/sun/star/form/component/RichTextControl.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_component_RichTextControl_idl__
+#define __com_sun_star_form_component_RichTextControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEditModel_idl__
+#include <com/sun/star/awt/UnoControlEditModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_text_TextRange_idl__
+#include <com/sun/star/text/TextRange.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies a component which extends the <type scope="com::sun::star::awt">UnoControlEditModel</type>
+ with capabilities to display and input formatted text.
+*/
+published service RichTextControl
+{
+ service com::sun::star::awt::UnoControlEditModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** specifies capabilities to provide rich text, as opposed to the simple text provided by the
+ <type scope="com::sun::star::awt">UnoControlEditModel</type>
+ */
+ service com::sun::star::text::TextRange;
+
+ /** specifies whether text should be automatically wrapped to fit into the control.
+
+ <p>If set to <TRUE/>, users need to manually press the enter key to insert a line break.
+ If set to <FALSE/>, text is automatically wrapped at the control border.</p>
+ */
+ [property] boolean HardLineBreaks;
+
+ /** specifies whether the control should display the text including all its formatting.
+
+ <p>If this is set to <FALSE/>, the control will act as ordinary
+ <type scope="com::sun::star::awt">UnoControlEditModel</type>.</p>
+
+ <p>If the property is set to <TRUE/>, the control will ignore the following properties:
+ <ul>
+ <li><member scope="com::sun::star::awt">UnoControlEditModel::EchoChar</member></li>
+ <li><member scope="com::sun::star::awt">UnoControlEditModel::MaxTextLen</member></li>
+ <li><member scope="com::sun::star::awt">UnoControlEditModel::MultiLine</member></li>
+ <li><member scope="com::sun::star::awt">UnoControlEditModel::Align</member></li>
+ </ul>
+ </p>
+ */
+ [property] boolean RichText;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/ScrollBar.idl b/offapi/com/sun/star/form/component/ScrollBar.idl
new file mode 100644
index 000000000000..69e0fc7e78ff
--- /dev/null
+++ b/offapi/com/sun/star/form/component/ScrollBar.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_ScrollBar_idl__
+#define __com_sun_star_form_component_ScrollBar_idl__
+
+#ifndef __com_sun_star_awt_UnoControlScrollBarModel_idl__
+#include <com/sun/star/awt/UnoControlScrollBarModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies the model of a scroll bar control.
+*/
+service ScrollBar
+{
+ service com::sun::star::awt::UnoControlScrollBarModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** resets the control.
+ */
+ interface com::sun::star::form::XReset;
+
+ //-------------------------------------------------------------------------
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlScrollBarModel::ScrollValue
+ @see com::sun::star::form::XReset
+ */
+ [property] long DefaultScrollValue;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/SpinButton.idl b/offapi/com/sun/star/form/component/SpinButton.idl
new file mode 100644
index 000000000000..09be77ed47c3
--- /dev/null
+++ b/offapi/com/sun/star/form/component/SpinButton.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_SpinButton_idl__
+#define __com_sun_star_form_component_SpinButton_idl__
+
+#ifndef __com_sun_star_awt_UnoControlSpinButtonModel_idl__
+#include <com/sun/star/awt/UnoControlSpinButtonModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies the model of a scroll bar control.
+*/
+service SpinButton
+{
+ service com::sun::star::awt::UnoControlSpinButtonModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** resets the control.
+ */
+ interface com::sun::star::form::XReset;
+
+ //-------------------------------------------------------------------------
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlSpinButtonModel::SpinValue
+ @see com::sun::star::form::XReset
+ */
+ [property] long DefaultSpinValue;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/SubmitButton.idl b/offapi/com/sun/star/form/component/SubmitButton.idl
new file mode 100644
index 000000000000..b540065cb989
--- /dev/null
+++ b/offapi/com/sun/star/form/component/SubmitButton.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_SubmitButton_idl__
+#define __com_sun_star_form_component_SubmitButton_idl__
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_awt_UnoControlButtonModel_idl__
+#include <com/sun/star/awt/UnoControlButtonModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_submission_XSubmissionSupplier_idl__
+#include <com/sun/star/form/submission/XSubmissionSupplier.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies the control model for a button, part of a form component hierarchy,
+ which can be bound to external submissions.
+
+ @see CommandButton
+ */
+service SubmitButton
+{
+ service com::sun::star::form::FormControlModel;
+
+ /** allows binding external submissions to the control model
+
+ <p>Note that the control model itself will not make any use of the submission.
+ Instead, submissions are triggered by a control (not a control <em>model</em>).
+ Thus, the <type scope="com::sun::star::form::control">SubmitButton</type>
+ control associated with a <type>SubmitButton</type> model is responsible for
+ using the submission supplied at this model.</p>
+ */
+ interface com::sun::star::form::submission::XSubmissionSupplier;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/TextField.idl b/offapi/com/sun/star/form/component/TextField.idl
new file mode 100644
index 000000000000..bb4cf5ce046c
--- /dev/null
+++ b/offapi/com/sun/star/form/component/TextField.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_TextField_idl__
+#define __com_sun_star_form_component_TextField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlEditModel_idl__
+#include <com/sun/star/awt/UnoControlEditModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_component_RichTextControl_idl__
+#include <com/sun/star/form/component/RichTextControl.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies a component which allows the input of text, either single- or multi-line.
+ */
+published service TextField
+{
+ service com::sun::star::awt::UnoControlEditModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** specifies optional capabilities for displaying and inputting formatted text.
+
+ <p>If the <member>RichTextControl::RichText</member> property is set to <TRUE/>,
+ then the <type>TextField</type> component will disable it's reset capabilities. This means
+ that all calls to <member scope="com::sun::star::form">XReset::reset</member> will be ignored.</p>
+ */
+ [optional] service RichTextControl;
+
+ /** can be used to reset the control to it's default text.
+
+ @see TextField::DefaultText
+ */
+ interface com::sun::star::form::XReset;
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlEditModel::Text
+ @see com::sun::star::form::XReset
+ */
+ [property] string DefaultText;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/TimeField.idl b/offapi/com/sun/star/form/component/TimeField.idl
new file mode 100644
index 000000000000..22cf529ead70
--- /dev/null
+++ b/offapi/com/sun/star/form/component/TimeField.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_form_component_TimeField_idl__
+#define __com_sun_star_form_component_TimeField_idl__
+
+#ifndef __com_sun_star_awt_UnoControlTimeFieldModel_idl__
+#include <com/sun/star/awt/UnoControlTimeFieldModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_XReset_idl__
+#include <com/sun/star/form/XReset.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module form { module component {
+
+//=============================================================================
+
+/** specifies the control model for a field which can be used to input time values.
+ */
+published service TimeField
+{
+ service com::sun::star::awt::UnoControlTimeFieldModel;
+
+ service com::sun::star::form::FormControlModel;
+
+ /** resets the control.
+
+ <p>If you do not set a value for the <member>DefaultTime</member>, then resetting the control
+ will result in setting to to the current system time. This is for HTML compatibility.</p>
+ */
+ interface com::sun::star::form::XReset;
+
+ //-------------------------------------------------------------------------
+
+ /** contains a default value for the control.
+
+ <p>This value is used when the control is initially displayed, and for resetting it.</p>
+
+ @see com::sun::star::awt::UnoControlTimeFieldModel::Time
+ @see com::sun::star::form::XReset
+ */
+ [property] long DefaultTime;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/component/makefile.mk b/offapi/com/sun/star/form/component/makefile.mk
new file mode 100644
index 000000000000..37c1bb44d560
--- /dev/null
+++ b/offapi/com/sun/star/form/component/makefile.mk
@@ -0,0 +1,83 @@
+#*************************************************************************
+#
+# 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
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssfcomp
+PACKAGE=com$/sun$/star$/form$/component
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ CheckBox.idl\
+ ComboBox.idl\
+ CommandButton.idl\
+ CurrencyField.idl\
+ DatabaseCheckBox.idl\
+ DatabaseComboBox.idl\
+ DatabaseCurrencyField.idl\
+ DatabaseDateField.idl\
+ DatabaseImageControl.idl\
+ DatabaseListBox.idl\
+ DatabaseNumericField.idl\
+ DatabasePatternField.idl\
+ DatabaseRadioButton.idl\
+ DatabaseTextField.idl\
+ DatabaseFormattedField.idl\
+ DatabaseTimeField.idl\
+ DataForm.idl\
+ DateField.idl\
+ FileControl.idl\
+ FixedText.idl\
+ Form.idl\
+ GridControl.idl\
+ GroupBox.idl\
+ HiddenControl.idl\
+ HTMLForm.idl\
+ ImageButton.idl\
+ ListBox.idl\
+ NumericField.idl\
+ PatternField.idl\
+ RadioButton.idl\
+ TextField.idl\
+ FormattedField.idl\
+ TimeField.idl\
+ NavigationToolBar.idl\
+ ScrollBar.idl\
+ SpinButton.idl\
+ SubmitButton.idl\
+ RichTextControl.idl\
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk