diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:51:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:51:28 +0000 |
commit | 940b4d1848e8c70ab7642901a68594e8016caffc (patch) | |
tree | eb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /offapi/com/sun/star/form/component | |
parent | Initial commit. (diff) | |
download | libreoffice-upstream.tar.xz libreoffice-upstream.zip |
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/form/component')
38 files changed, 2854 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 000000000..b793bc4f0 --- /dev/null +++ b/offapi/com/sun/star/form/component/CheckBox.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_CheckBox_idl__ +#define __com_sun_star_form_component_CheckBox_idl__ + +#include <com/sun/star/form/FormControlModel.idl> +#include <com/sun/star/awt/UnoControlCheckBoxModel.idl> +#include <com/sun/star/form/XReset.idl> + + + + 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 + HTMLForms 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 its 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 HTMLForm which contains a check box, + which is checked, the RefValue is used for submission. + */ + [property] string RefValue; +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..33c4e5e9d --- /dev/null +++ b/offapi/com/sun/star/form/component/ComboBox.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_ComboBox_idl__ +#define __com_sun_star_form_component_ComboBox_idl__ + +#include <com/sun/star/awt/UnoControlComboBoxModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + +#include <com/sun/star/form/XReset.idl> + + + + 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 its 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..451326ce6 --- /dev/null +++ b/offapi/com/sun/star/form/component/CommandButton.idl @@ -0,0 +1,106 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_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 com::sun::star::awt::UnoControlButtonModel::ImageURL 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 com::sun::star::frame::Frame 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 com::sun::star::awt::UnoControlButtonModel::Toggle + 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 com::sun::star::form::XReset must be present.</p> + */ + [optional, property] boolean DefaultState; + + /** allows resetting the button + + <p>This property is meaningful only when com::sun::star::awt::UnoControlButtonModel::Toggle + is `TRUE`. In this case, the <code>DefaultState</code> controls to which <code>State</code> the button will + be reset, when com::sun::star::form::XReset::reset() is invoked.</p> + + <p>For a given implementation of the interface, if this (optional) interface is present, then also the optional + property #DefaultState must be present.</p> + */ + [optional] interface ::com::sun::star::form::XReset; +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..a5c35ae09 --- /dev/null +++ b/offapi/com/sun/star/form/component/CurrencyField.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_CurrencyField_idl__ +#define __com_sun_star_form_component_CurrencyField_idl__ + +#include <com/sun/star/awt/UnoControlCurrencyFieldModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + +#include <com/sun/star/form/XReset.idl> + + + + 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 its 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..23ad3f15b --- /dev/null +++ b/offapi/com/sun/star/form/component/DataForm.idl @@ -0,0 +1,196 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DataForm_idl__ +#define __com_sun_star_form_component_DataForm_idl__ + +#include <com/sun/star/form/component/Form.idl> +#include <com/sun/star/sdb/RowSet.idl> +#include <com/sun/star/form/TabulatorCycle.idl> +#include <com/sun/star/form/NavigationBarMode.idl> +#include <com/sun/star/form/XLoadable.idl> +#include <com/sun/star/sdb/XCompletedExecution.idl> +#include <com/sun/star/awt/TabControllerModel.idl> + + +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 DataForm 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 com::sun::star::sdbc::XResultSetUpdate::moveToInsertRow(). + The com::sun::star::sdb::RowSet service specifies exactly which notifications + happen in which order when calling com::sun::star::sdbc::XResultSetUpdate::moveToInsertRow(), + and a DataForm implementation extends this with the following contract: + <ul><li>After all notifications as defined in the com::sun::star::sdb::RowSet + service have been sent, the DataForm resets itself, if all + com::sun::star::form::XResetListeners approve this.</li> + <li>After the reset happened, the com::sun::star::sdb::RowSet::IsModified + 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 + com::sun::star::form::XReset::reset() 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, + com::sun::star::sdbc::XRowSet::execute(), moving the row set cursor and so on.</p> + + <p>One main difference between XLoadable::load() and com::sun::star::sdbc::XRowSet::execute() + 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 + com::sun::star::form::XDatabaseParameterListener + 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 its 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 + com::sun::star::sdb::XCompletedExecution::connectWithCompletion() 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 these columns are used to identify the data for the subform. + Each time the parent form changes its 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. its 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 = :<new_param_name></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. its 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 a 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..cdf1e2347 --- /dev/null +++ b/offapi/com/sun/star/form/component/DatabaseCheckBox.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DatabaseCheckBox_idl__ +#define __com_sun_star_form_component_DatabaseCheckBox_idl__ + +#include <com/sun/star/form/component/CheckBox.idl> + +#include <com/sun/star/form/DataAwareControlModel.idl> + + + + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..64711a452 --- /dev/null +++ b/offapi/com/sun/star/form/component/DatabaseComboBox.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DatabaseComboBox_idl__ +#define __com_sun_star_form_component_DatabaseComboBox_idl__ + +#include <com/sun/star/form/component/ComboBox.idl> + +#include <com/sun/star/form/DataAwareControlModel.idl> + +#include <com/sun/star/form/ListSourceType.idl> + + + + 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 #ConvertEmptyToNull.</p> + + <p>If the property is set to `TRUE`, and an empty text is to be committed, 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 #ListSourceType</p> + */ + [property] string ListSource; + + /** specifies the kind of list source. + + <p>Note: A value of com::sun::star::form::ListSourceType::VALUELIST + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..c6afae618 --- /dev/null +++ b/offapi/com/sun/star/form/component/DatabaseCurrencyField.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DatabaseCurrencyField_idl__ +#define __com_sun_star_form_component_DatabaseCurrencyField_idl__ + +#include <com/sun/star/form/component/CurrencyField.idl> + +#include <com/sun/star/form/DataAwareControlModel.idl> + + + + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..c09e8a9fd --- /dev/null +++ b/offapi/com/sun/star/form/component/DatabaseDateField.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DatabaseDateField_idl__ +#define __com_sun_star_form_component_DatabaseDateField_idl__ + +#include <com/sun/star/form/component/DateField.idl> + +#include <com/sun/star/form/DataAwareControlModel.idl> + + + + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..42b6d5be7 --- /dev/null +++ b/offapi/com/sun/star/form/component/DatabaseFormattedField.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DatabaseFormattedField_idl__ +#define __com_sun_star_form_component_DatabaseFormattedField_idl__ + +#include <com/sun/star/form/component/FormattedField.idl> + +#include <com/sun/star/form/DataAwareControlModel.idl> + + + + 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 #ConvertEmptyToNull.</p> + + <p>If the property is set to `TRUE`, and an empty text is to be committed, this is + converted into `NULL`, else it is written as empty string.</p> + */ + [property] boolean ConvertEmptyToNull; + +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..11c90358b --- /dev/null +++ b/offapi/com/sun/star/form/component/DatabaseImageControl.idl @@ -0,0 +1,106 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DatabaseImageControl_idl__ +#define __com_sun_star_form_component_DatabaseImageControl_idl__ + +#include <com/sun/star/awt/UnoControlImageControlModel.idl> + +#include <com/sun/star/form/DataAwareControlModel.idl> + +#include <com/sun/star/form/XImageProducerSupplier.idl> + + + + 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 com::sun::star::form::DataAwareControlModel, 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 com::sun::star::sdb::XColumn::getBinaryStream()).</p> + + <p>Usually, an image control model can be bound to binary columns only, namely + com::sun::star::sdbc::DataType::BINARY, + com::sun::star::sdbc::DataType::VARBINARY, + com::sun::star::sdbc::DataType::LONGVARBINARY, + com::sun::star::sdbc::DataType::OTHER, + com::sun::star::sdbc::DataType::LONGVARCHAR</p> + + </p> + + <p>Note that besides taking the image to be displayed from the bound field, there is another option. The + com::sun::star::awt::UnoControlImageControlModel::ImageURL 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 a com::sun::star::form::control::ImageControl.</li> + + <li>The control is a com::sun::star::awt::XImageConsumer for the + com::sun::star::awt::XImageProducer 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 + com::sun::star::awt::UnoControlImageControlModel::ImageURL + 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 com::sun::star::awt::UnoControlImageControlModel::ImageURL + 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 a com::sun::star::awt::XImageProducer. + + <p>Other components can register as com::sun::star::awt::XImageConsumer + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..0b8f95210 --- /dev/null +++ b/offapi/com/sun/star/form/component/DatabaseListBox.idl @@ -0,0 +1,157 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DatabaseListBox_idl__ +#define __com_sun_star_form_component_DatabaseListBox_idl__ + +#include <com/sun/star/form/component/ListBox.idl> + +#include <com/sun/star/form/DataAwareControlModel.idl> + +#include <com/sun/star/form/ListSourceType.idl> + + + + 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 (ListBox) offers only + one possibility to specify the list entries: + The display strings in the + com::sun::star::awt::UnoControlListBoxModel::StringItemList + property and the corresponding values in the ListBox::ListSource + property.</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 instructed + to open a second result set, this time for the <em>customer</em> table, and fill its 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> + + <p>The display strings are always taken from the first column of that result set, + and the corresponding value as per the BoundColumn property.</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 + com::sun::star::form::DataAwareControlModel::DataField. + + <dl> + <dt>-1</dt> + <dd>The index (starting at 0) of the selected list box entry + is stored in the current database field.</dd> + + <dt>0 or greater</dt> + <dd>The column value of the result set at the position + (0-indexed) is stored in the current database field. + In particular, for value 0, the selected (displayed) + list box string is stored.</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 + com::sun::star::form::ListSourceType::TABLE, + com::sun::star::form::ListSourceType::QUERY, + com::sun::star::form::ListSourceType::SQL or + com::sun::star::form::ListSourceType::SQLPASSTHROUGH. + 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 ListBox::ListSource + is evaluated varies. + <dl> + <dt>com::sun::star::form::ListSourceType::VALUELIST</dt> + <dd>The elements in the string sequence in ListBox::ListSource + build up the entry list.</dd> + + <dt>com::sun::star::form::ListSourceType::TABLE</dt> + <dd>The first element of the string sequence in ListBox::ListSource + determines the table which the list result set should be based on.</dd> + + <dt>com::sun::star::form::ListSourceType::QUERY</dt> + <dd>The first element of the string sequence in ListBox::ListSource + 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 + (com::sun::star::sdb::RowSet::ActiveConnection) is queried for + the com::sun::star::sdb::XQueriesSupplier interface.</dd> + + <dt>com::sun::star::form::ListSourceType::SQL</dt> + <dd>The first element of the string sequence in ListBox::ListSource + contains the SQL statement which the list result set should be based on.</p> + + <dt>com::sun::star::form::ListSourceType::SQLPASSTHROUGH</dt> + <dd>The first element of the string sequence in ListBox::ListSource + 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, lose features like parameter value substitution.</dd> + + <dt>com::sun::star::form::ListSourceType::TABLEFIELDS</dt> + <dd>The first element of the string sequence in ListBox::ListSource + determines the table whose column names should fill the list.</dd> + </dl> + </p> + + */ + [property] com::sun::star::form::ListSourceType ListSourceType; + + /** The selected values. + */ + [property, transient, optional] sequence< any > SelectedValues; + + /** The selected value, if there is at most one. + */ + [property, transient, optional] any SelectedValue; + +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..244f31c1a --- /dev/null +++ b/offapi/com/sun/star/form/component/DatabaseNumericField.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DatabaseNumericField_idl__ +#define __com_sun_star_form_component_DatabaseNumericField_idl__ + +#include <com/sun/star/form/component/NumericField.idl> + +#include <com/sun/star/form/DataAwareControlModel.idl> + + + + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..d0ce8a475 --- /dev/null +++ b/offapi/com/sun/star/form/component/DatabasePatternField.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DatabasePatternField_idl__ +#define __com_sun_star_form_component_DatabasePatternField_idl__ + +#include <com/sun/star/form/component/PatternField.idl> + +#include <com/sun/star/form/DataAwareControlModel.idl> + + + + 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 committed, this is + converted into `NULL`, else it is written as empty string.</p> + */ + [property] boolean ConvertEmptyToNull; + +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..0455dc02e --- /dev/null +++ b/offapi/com/sun/star/form/component/DatabaseRadioButton.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DatabaseRadioButton_idl__ +#define __com_sun_star_form_component_DatabaseRadioButton_idl__ + +#include <com/sun/star/form/component/RadioButton.idl> + +#include <com/sun/star/form/DataAwareControlModel.idl> + + + + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..573407fde --- /dev/null +++ b/offapi/com/sun/star/form/component/DatabaseTextField.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DatabaseTextField_idl__ +#define __com_sun_star_form_component_DatabaseTextField_idl__ + +#include <com/sun/star/form/component/TextField.idl> + +#include <com/sun/star/form/DataAwareControlModel.idl> + + + + 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 committed, this is + converted into `NULL`, else it is written as empty string.</p> + */ + [property] boolean ConvertEmptyToNull; + +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..08d305e12 --- /dev/null +++ b/offapi/com/sun/star/form/component/DatabaseTimeField.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DatabaseTimeField_idl__ +#define __com_sun_star_form_component_DatabaseTimeField_idl__ + +#include <com/sun/star/form/component/TimeField.idl> + +#include <com/sun/star/form/DataAwareControlModel.idl> + + + + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..099a7cb40 --- /dev/null +++ b/offapi/com/sun/star/form/component/DateField.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_DateField_idl__ +#define __com_sun_star_form_component_DateField_idl__ + +#include <com/sun/star/awt/UnoControlDateFieldModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + +#include <com/sun/star/form/XReset.idl> + + + + 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 #DefaultDate, then resetting the control + will result in setting 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..0e5c977f8 --- /dev/null +++ b/offapi/com/sun/star/form/component/FileControl.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_FileControl_idl__ +#define __com_sun_star_form_component_FileControl_idl__ + +#include <com/sun/star/awt/UnoControlFileControlModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + +#include <com/sun/star/form/XReset.idl> + + + 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 its 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..5cdc4e4a5 --- /dev/null +++ b/offapi/com/sun/star/form/component/FixedText.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_FixedText_idl__ +#define __com_sun_star_form_component_FixedText_idl__ + +#include <com/sun/star/awt/UnoControlFixedTextModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + + + + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..43ba74c36 --- /dev/null +++ b/offapi/com/sun/star/form/component/Form.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_Form_idl__ +#define __com_sun_star_form_component_Form_idl__ + +#include <com/sun/star/form/FormComponent.idl> +#include <com/sun/star/form/FormComponents.idl> +#include <com/sun/star/form/XForm.idl> +#include <com/sun/star/awt/XTabControllerModel.idl> +#include <com/sun/star/script/XEventAttacherManager.idl> + + + + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..fd9817667 --- /dev/null +++ b/offapi/com/sun/star/form/component/FormattedField.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_FormattedField_idl__ +#define __com_sun_star_form_component_FormattedField_idl__ + +#include <com/sun/star/awt/UnoControlFormattedFieldModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + +#include <com/sun/star/form/XReset.idl> + + + + 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 its default state. + + @see com::sun::star::awt::UnoControlFormattedFieldModel::EffectiveValue + @see com::sun::star::awt::UnoControlFormattedFieldModel::EffectiveDefault + */ + interface com::sun::star::form::XReset; +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..0a8db09f2 --- /dev/null +++ b/offapi/com/sun/star/form/component/GridControl.idl @@ -0,0 +1,168 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_GridControl_idl__ +#define __com_sun_star_form_component_GridControl_idl__ + +#include <com/sun/star/util/Color.idl> +#include <com/sun/star/form/FormControlModel.idl> + +#include <com/sun/star/form/XGridColumnFactory.idl> + +#include <com/sun/star/form/FormComponents.idl> +#include <com/sun/star/container/XContainer.idl> + +#include <com/sun/star/view/XSelectionSupplier.idl> + +#include <com/sun/star/container/XNameContainer.idl> + +#include <com/sun/star/container/XIndexContainer.idl> + +#include <com/sun/star/container/XEnumerationAccess.idl> + +#include <com/sun/star/script/XEventAttacherManager.idl> + +#include <com/sun/star/form/XReset.idl> + +#include <com/sun/star/awt/FontDescriptor.idl> + + + + 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 DataForm + 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 + com::sun::star::form::DataAwareControlModels modeling other "single-value" controls, but they are not described + as own services. Instead, they need to be created using the com::sun::star::form::XGridColumnFactory interface.</p> + */ +published service GridControl +{ + service com::sun::star::form::FormControlModel; + + /** provides basic functionality of a container of com::sun::star::form::FormComponents. + + <p>All the container-related methods of this service related to control models, + this is what are the container elements for a GridControl.</p> + + <p>As the com::sun::star::form::FormComponents service also specifies + the com::sun::star::script::XEventAttacherManager 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 com::sun::star::form::XGridColumnFactory::createColumn() + 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 its 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 com::sun::star::form::DataAwareControlModel::XReset. + */ + 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 #Border) 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..ba23f276a --- /dev/null +++ b/offapi/com/sun/star/form/component/GroupBox.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_GroupBox_idl__ +#define __com_sun_star_form_component_GroupBox_idl__ + +#include <com/sun/star/awt/UnoControlGroupBoxModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + + + + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..acb40e5df --- /dev/null +++ b/offapi/com/sun/star/form/component/HTMLForm.idl @@ -0,0 +1,84 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_HTMLForm_idl__ +#define __com_sun_star_form_component_HTMLForm_idl__ + +#include <com/sun/star/form/component/Form.idl> + +#include <com/sun/star/form/XReset.idl> + +#include <com/sun/star/form/XSubmit.idl> + +#include <com/sun/star/form/FormSubmitMethod.idl> + +#include <com/sun/star/form/FormSubmitEncoding.idl> + + + + module com { module sun { module star { module form { module component { + + +/** This service specifies the special kind of Forms 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..3994b54e4 --- /dev/null +++ b/offapi/com/sun/star/form/component/HiddenControl.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_HiddenControl_idl__ +#define __com_sun_star_form_component_HiddenControl_idl__ + +#include <com/sun/star/form/FormComponent.idl> + + + + 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 com::sun::star::form::component::HTMLForms, + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..932efe1ef --- /dev/null +++ b/offapi/com/sun/star/form/component/ImageButton.idl @@ -0,0 +1,94 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_ImageButton_idl__ +#define __com_sun_star_form_component_ImageButton_idl__ + +#include <com/sun/star/awt/UnoControlImageControlModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + +#include <com/sun/star/form/XApproveActionBroadcaster.idl> + +#include <com/sun/star/form/XImageProducerSupplier.idl> + +#include <com/sun/star/form/FormButtonType.idl> + + + + 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 com::sun::star::awt::UnoControlImageControlModel::ImageURL + 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 a com::sun::star::awt::XImageProducer. + + <p>Other components can register as com::sun::star::awt::XImageConsumer + at this producer. Then they will be notified of any change in the image to be displayed.</p> + + <p>Whenever the com::sun::star::awt::UnoControlImageControlModel::ImageURL + property is changed, the model loads the specified image, and sets it as image source + at its com::sun::star::awt::XImageProducer. Then, all + com::sun::star::awt::XImageConsumers are notified and supplied with + the binary data of the image.<br/> + Usually, controls acting for an ImageButton 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 com::sun::star::frame::Frame 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..48f754435 --- /dev/null +++ b/offapi/com/sun/star/form/component/ListBox.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_ListBox_idl__ +#define __com_sun_star_form_component_ListBox_idl__ + +#include <com/sun/star/awt/UnoControlListBoxModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + +#include <com/sun/star/form/XReset.idl> + + + + 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 its 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 values associated to the strings to be displayed + (which are specified by com::sun::star::awt::UnoControlListBoxModel::StringItemList) + */ + [property] sequence<string> ListSource; + +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..165f2f4db --- /dev/null +++ b/offapi/com/sun/star/form/component/NavigationToolBar.idl @@ -0,0 +1,124 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_NavigationToolBar_idl__ +#define __com_sun_star_form_component_NavigationToolBar_idl__ + +#include <com/sun/star/form/FormControlModel.idl> +#include <com/sun/star/awt/FontDescriptor.idl> + + + module com { module sun { module star { module form { module component { + + +/** This service specifies the model for control which provides controller + functionality for a DataForm, 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 #FontDescriptor 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 #FontDescriptor + + <p>The value must be one of the com::sun::star::text::FontRelief + constants.</p> + */ + [property] long FontRelief; + + /** specifies the emphasis mark for the font described in #FontDescriptor + + <p>The value must be one of the com::sun::star::text::FontEmphasis + 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..dac2ae6a6 --- /dev/null +++ b/offapi/com/sun/star/form/component/NumericField.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_NumericField_idl__ +#define __com_sun_star_form_component_NumericField_idl__ + +#include <com/sun/star/awt/UnoControlNumericFieldModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + +#include <com/sun/star/form/XReset.idl> + + + + 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 its 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..b9083c552 --- /dev/null +++ b/offapi/com/sun/star/form/component/PatternField.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_PatternField_idl__ +#define __com_sun_star_form_component_PatternField_idl__ + +#include <com/sun/star/awt/UnoControlPatternFieldModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + +#include <com/sun/star/form/XReset.idl> + + + + 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 its 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..4c1f6c861 --- /dev/null +++ b/offapi/com/sun/star/form/component/RadioButton.idl @@ -0,0 +1,95 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_RadioButton_idl__ +#define __com_sun_star_form_component_RadioButton_idl__ + +#include <com/sun/star/awt/UnoControlRadioButtonModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + +#include <com/sun/star/form/XReset.idl> + + + + module com { module sun { module star { module form { module component { + + +/** specifies a component which acts as a radio button as needed in HTMLForms. + + <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 com::sun::star::form::FormComponent::Name).</p> + */ +published service RadioButton +{ + service com::sun::star::awt::UnoControlRadioButtonModel; + + service com::sun::star::form::FormControlModel; + + /** can be used to reset the control to its 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 + com::sun::star::form::XSubmit), 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 #RefValue is associated with the control + if and only if it is selected.<br/> + #UncheckedRefValue provides an extension 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..180da4270 --- /dev/null +++ b/offapi/com/sun/star/form/component/RichTextControl.idl @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_form_component_RichTextControl_idl__ +#define __com_sun_star_form_component_RichTextControl_idl__ + +#include <com/sun/star/awt/UnoControlEditModel.idl> +#include <com/sun/star/form/FormControlModel.idl> +#include <com/sun/star/text/TextRange.idl> + + + module com { module sun { module star { module form { module component { + + +/** specifies a component which extends the com::sun::star::awt::UnoControlEditModel + 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 + com::sun::star::awt::UnoControlEditModel + */ + 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 + com::sun::star::awt::UnoControlEditModel.</p> + + <p>If the property is set to `TRUE`, the control will ignore the following properties: + <ul> + <li>com::sun::star::awt::UnoControlEditModel::EchoChar</li> + <li>com::sun::star::awt::UnoControlEditModel::MaxTextLen</li> + <li>com::sun::star::awt::UnoControlEditModel::MultiLine</li> + <li>com::sun::star::awt::UnoControlEditModel::Align</li> + </ul> + </p> + */ + [property] boolean RichText; +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..2f67b4659 --- /dev/null +++ b/offapi/com/sun/star/form/component/ScrollBar.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_ScrollBar_idl__ +#define __com_sun_star_form_component_ScrollBar_idl__ + +#include <com/sun/star/awt/UnoControlScrollBarModel.idl> +#include <com/sun/star/form/FormControlModel.idl> +#include <com/sun/star/form/XReset.idl> + + + +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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..7feb1459d --- /dev/null +++ b/offapi/com/sun/star/form/component/SpinButton.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_SpinButton_idl__ +#define __com_sun_star_form_component_SpinButton_idl__ + +#include <com/sun/star/awt/UnoControlSpinButtonModel.idl> +#include <com/sun/star/form/FormControlModel.idl> +#include <com/sun/star/form/XReset.idl> + + + +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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..3a0cf89b1 --- /dev/null +++ b/offapi/com/sun/star/form/component/SubmitButton.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_SubmitButton_idl__ +#define __com_sun_star_form_component_SubmitButton_idl__ + +#include <com/sun/star/form/FormControlModel.idl> +#include <com/sun/star/awt/UnoControlButtonModel.idl> +#include <com/sun/star/form/submission/XSubmissionSupplier.idl> + + +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 com::sun::star::form::control::SubmitButton + control associated with a SubmitButton model is responsible for + using the submission supplied at this model.</p> + */ + interface com::sun::star::form::submission::XSubmissionSupplier; +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..733edc45d --- /dev/null +++ b/offapi/com/sun/star/form/component/TextField.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_TextField_idl__ +#define __com_sun_star_form_component_TextField_idl__ + +#include <com/sun/star/awt/UnoControlEditModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> +#include <com/sun/star/form/component/RichTextControl.idl> +#include <com/sun/star/form/XReset.idl> + + + + 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 RichTextControl::RichText property is set to `TRUE`, + then the TextField component will disable it's reset capabilities. This means + that all calls to com::sun::star::form::XReset::reset() will be ignored.</p> + */ + [optional] service RichTextControl; + + /** can be used to reset the control to its 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..79d937ac4 --- /dev/null +++ b/offapi/com/sun/star/form/component/TimeField.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_form_component_TimeField_idl__ +#define __com_sun_star_form_component_TimeField_idl__ + +#include <com/sun/star/awt/UnoControlTimeFieldModel.idl> + +#include <com/sun/star/form/FormControlModel.idl> + +#include <com/sun/star/form/XReset.idl> + + + + 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 #DefaultTime, then resetting the control + will result in setting 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |