diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/form/control | |
parent | Initial commit. (diff) | |
download | libreoffice-upstream.tar.xz libreoffice-upstream.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/form/control')
20 files changed, 1211 insertions, 0 deletions
diff --git a/offapi/com/sun/star/form/control/CheckBox.idl b/offapi/com/sun/star/form/control/CheckBox.idl new file mode 100644 index 000000000..e745c8acb --- /dev/null +++ b/offapi/com/sun/star/form/control/CheckBox.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_control_checkbox_idl__ +#define __com_sun_star_form_control_checkbox_idl__ + +#include <com/sun/star/awt/UnoControlCheckBox.idl> +#include <com/sun/star/form/XBoundControl.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a check box control which can (but not necessarily has to) be bound to a database field. + + <p>The model of the control has to support the com::sun::star::form::component::CheckBox + service.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service CheckBox +{ + service com::sun::star::awt::UnoControlCheckBox; + + interface com::sun::star::form::XBoundControl; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/ComboBox.idl b/offapi/com/sun/star/form/control/ComboBox.idl new file mode 100644 index 000000000..91a7b9e4d --- /dev/null +++ b/offapi/com/sun/star/form/control/ComboBox.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_control_ComboBox_idl__ +#define __com_sun_star_form_control_ComboBox_idl__ + +#include <com/sun/star/awt/UnoControlComboBox.idl> +#include <com/sun/star/form/XBoundControl.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a combo box control. + + <p>The model of the control has to support the com::sun::star::form::component::ComboBox + service.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service ComboBox +{ + service com::sun::star::awt::UnoControlComboBox; + + interface com::sun::star::form::XBoundControl; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/CommandButton.idl b/offapi/com/sun/star/form/control/CommandButton.idl new file mode 100644 index 000000000..8596226bb --- /dev/null +++ b/offapi/com/sun/star/form/control/CommandButton.idl @@ -0,0 +1,69 @@ +/* -*- 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_control_CommandButton_idl__ +#define __com_sun_star_form_control_CommandButton_idl__ + +#include <com/sun/star/awt/UnoControlButton.idl> +#include <com/sun/star/form/XApproveActionBroadcaster.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a button control. + + <p>The model of the control has to support the com::sun::star::form::component::CommandButton + service.</p> + + <p>The control is clickable, the action taken upon clicking depends on the settings + of the model the control belongs to.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel + @see com::sun::star::form::component::CommandButton::ButtonType +*/ +published service CommandButton +{ + service com::sun::star::awt::UnoControlButton; + + /** allows external instances to register as veto listener for the button's actions. + + <p>A com::sun::star::form::XApproveActionListener returning false on + it's approve-method will prevent any action which would usually be triggered - this includes + not only submitting or resetting forms, but also calling the + com::sun::star::awt::XActionListeners of the super service<br/> + This may be interesting for e.g. forms which want to provide input validation before submitting + data.<br/> + + @see com::sun::star::form::component::HTMLForm + @see com::sun::star::form::XSubmit + @see com::sun::star::form::XReset + @see com::sun::star::awt::XButton + */ + interface com::sun::star::form::XApproveActionBroadcaster; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/CurrencyField.idl b/offapi/com/sun/star/form/control/CurrencyField.idl new file mode 100644 index 000000000..6a44c7e47 --- /dev/null +++ b/offapi/com/sun/star/form/control/CurrencyField.idl @@ -0,0 +1,52 @@ +/* -*- 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_control_CurrencyField_idl__ +#define __com_sun_star_form_control_CurrencyField_idl__ + +#include <com/sun/star/awt/UnoControlCurrencyField.idl> +#include <com/sun/star/form/XBoundControl.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a control which can be used for inputting currency values, and + which can (but not necessarily has to) be bound to a database field. + + <p>The model of the control has to support the com::sun::star::form::component::CurrencyField + service.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service CurrencyField +{ + service com::sun::star::awt::UnoControlCurrencyField; + + interface com::sun::star::form::XBoundControl; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/DateField.idl b/offapi/com/sun/star/form/control/DateField.idl new file mode 100644 index 000000000..90ced2c58 --- /dev/null +++ b/offapi/com/sun/star/form/control/DateField.idl @@ -0,0 +1,52 @@ +/* -*- 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_control_DateField_idl__ +#define __com_sun_star_form_control_DateField_idl__ + +#include <com/sun/star/awt/UnoControlDateField.idl> +#include <com/sun/star/form/XBoundControl.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a control which can be used for inputting date values, and + which can (but not necessarily has to) be bound to a database field. + + <p>The model of the control has to support the com::sun::star::form::component::DateField + service.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service DateField +{ + service com::sun::star::awt::UnoControlDateField; + + interface com::sun::star::form::XBoundControl; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/FilterControl.idl b/offapi/com/sun/star/form/control/FilterControl.idl new file mode 100644 index 000000000..e42a05c2e --- /dev/null +++ b/offapi/com/sun/star/form/control/FilterControl.idl @@ -0,0 +1,53 @@ +/* -*- 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_control_FilterControl_idl__ +#define __com_sun_star_form_control_FilterControl_idl__ + +#include <com/sun/star/awt/XControl.idl> +#include <com/sun/star/awt/XWindow.idl> +#include <com/sun/star/util/XNumberFormatter.idl> +#include <com/sun/star/beans/XPropertySet.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a check box control which can (but not necessarily has to) be bound to a database field. + + <p>The model of the control has to support the com::sun::star::form::component::CheckBox + service.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +service FilterControl : com::sun::star::awt::XControl +{ + createWithFormat([in] com::sun::star::awt::XWindow MessageParent, + [in] com::sun::star::util::XNumberFormatter NumberFormatter, + [in] com::sun::star::beans::XPropertySet ControlModel); +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/FormattedField.idl b/offapi/com/sun/star/form/control/FormattedField.idl new file mode 100644 index 000000000..c5270f705 --- /dev/null +++ b/offapi/com/sun/star/form/control/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_control_FormattedField_idl__ +#define __com_sun_star_form_control_FormattedField_idl__ + +#include <com/sun/star/awt/UnoControlFormattedField.idl> +#include <com/sun/star/form/XBoundControl.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a control which can be used for inputting values with an arbitrary formatting, and + can (but not necessarily has to) be bound to a database field. + + <p>The model of the control has to support the com::sun::star::form::component::FormattedField + service.</p> + + <p>In addition, this control can be used in HTML forms. It triggers the + com::sun::star::form::XSubmit::submit() method of the form it belongs to if + the <em>enter</em> key is pressed while it has the focus.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel + @see com::sun::star::util::XNumberFormatsSupplier +*/ +published service FormattedField +{ + service com::sun::star::awt::UnoControlFormattedField; + + interface com::sun::star::form::XBoundControl; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/GridControl.idl b/offapi/com/sun/star/form/control/GridControl.idl new file mode 100644 index 000000000..5150f3de7 --- /dev/null +++ b/offapi/com/sun/star/form/control/GridControl.idl @@ -0,0 +1,131 @@ +/* -*- 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_control_GridControl_idl__ +#define __com_sun_star_form_control_GridControl_idl__ + +#include <com/sun/star/awt/UnoControl.idl> +#include <com/sun/star/form/XGrid.idl> +#include <com/sun/star/form/XBoundComponent.idl> +#include <com/sun/star/form/XGridFieldDataSupplier.idl> +#include <com/sun/star/util/XModifyBroadcaster.idl> +#include <com/sun/star/util/XModeSelector.idl> +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XContainer.idl> +#include <com/sun/star/frame/XDispatchProviderInterception.idl> +#include <com/sun/star/view/XSelectionSupplier.idl> + + +module com { module sun { module star { module form { + +published interface XGridControl; + +module control { + + +/** describes a table-like control for displaying data. + + <p>The model of the control has to support the com::sun::star::form::component::GridControl + service.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service GridControl +{ + service com::sun::star::awt::UnoControl; + + /** allows committing the content of the active cell of the control. + */ + interface com::sun::star::form::XBoundComponent; + + /** allows access to the active cell within the grid. + + <p>Only the column position can be modified using this interface, as the row position within + a table control bound to a data source is given implicitly (by the cursor position of the data source).</p> + */ + interface com::sun::star::form::XGrid; + + [optional] interface com::sun::star::form::XGridControl; + + /** used to broadcast modifications made by the user (within the active cell) + */ + interface com::sun::star::util::XModifyBroadcaster; + + /** allows access to the field data of the grid's current row in different formats + */ + [optional] interface com::sun::star::form::XGridFieldDataSupplier; + + /** allows access to objects wrapping a single column + */ + interface com::sun::star::container::XIndexAccess; + + /** allows creation of an enumeration for the column objects + */ + interface com::sun::star::container::XEnumerationAccess; + + /** is used to switch the operating modes of the control. + + <p>Besides the normal operation mode (which is used to display the database form's data) the control may + for instance support a filter mode.</p> + */ + [optional] interface com::sun::star::util::XModeSelector; + + /** used to control the selection of rows in the grid control. + + <p>The selection used with the methods com::sun::star::view::XSelectionSupplier::getSelection() + and com::sun::star::view::XSelectionSupplier::select() is a sequence of Any's.<br/> + Here the elements of the Sequence are the bookmarks (in the com::sun::star::sdb::RowSet) + of the (to-be-) selected rows.</p> + */ + [optional] interface com::sun::star::view::XSelectionSupplier; + + /** allows external components to register dispatchers for some common form actions. + + <p>A grid control can contain own UI elements for traveling within the database form it belongs to (This + concept seems to make sense, as a grid control - in opposite to other data aware controls - displays + not only one record at a time, but a larger number of records of the database form.)<br/> + With the help of this interface, external components which wish to handle such travelings themselves can + register interceptors for the actions in question.</p> + + <p>Usual URLs to use include + <dl> + <dt>.uno:FormSlots/moveToFirst</dt><dd> move the cursor to the first record</dd> + <dt>.uno:FormSlots/moveToPrev</dt><dd> move the cursor to the previous record</dd> + <dt>.uno:FormSlots/moveToNext</dt><dd> move the cursor to the next record</dd> + <dt>.uno:FormSlots/moveToLast</dt><dd> move the cursor to the last record</dd> + <dt>.uno:FormSlots/moveToNew</dt><dd> move the cursor to the (one and only) <em>new</em> record</dd> + <dt>.uno:FormSlots/undoRecord</dt><dd> undo the changes done so far in the current record</dd> + </dl> + </p> + + <p>A concrete implementation of this service may offer more or less URLs, but if it offers some of the URLs + above, it must stick to the meanings defined above.</p> + */ + [optional] interface com::sun::star::frame::XDispatchProviderInterception; +}; + + +}; }; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/GroupBox.idl b/offapi/com/sun/star/form/control/GroupBox.idl new file mode 100644 index 000000000..b99e93536 --- /dev/null +++ b/offapi/com/sun/star/form/control/GroupBox.idl @@ -0,0 +1,49 @@ +/* -*- 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_control_GroupBox_idl__ +#define __com_sun_star_form_control_GroupBox_idl__ + +#include <com/sun/star/awt/UnoControlGroupBox.idl> +#include <com/sun/star/form/XBoundControl.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a control which can be used for visually grouping controls + + <p>The model of the control has to support the com::sun::star::form::component::GroupBox + service.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service GroupBox +{ + service com::sun::star::awt::UnoControlGroupBox; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/ImageButton.idl b/offapi/com/sun/star/form/control/ImageButton.idl new file mode 100644 index 000000000..4645d2596 --- /dev/null +++ b/offapi/com/sun/star/form/control/ImageButton.idl @@ -0,0 +1,69 @@ +/* -*- 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_control_ImageButton_idl__ +#define __com_sun_star_form_control_ImageButton_idl__ + +#include <com/sun/star/awt/UnoControlImageControl.idl> +#include <com/sun/star/form/XApproveActionBroadcaster.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a control which can be used for displaying images on a control acting like a button. + + <p>The model of the control has to support the com::sun::star::form::component::ImageButton + service.</p> + + <p>The control is clickable, the action taken upon clicking depends on the settings + of the model the control belongs to.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel + @see com::sun::star::form::component::ImageButton::ButtonType +*/ +published service ImageButton +{ + service com::sun::star::awt::UnoControlImageControl; + + /** allows external instances to register as veto listener for the button's actions. + + <p>A com::sun::star::form::XApproveActionListener returning false on + it's approve-method will prevent any action which would usually be triggered - this includes + not only submitting or resetting forms, but also calling the + com::sun::star::awt::XActionListeners of the super service<br/> + This may be interesting for e.g. forms which want to provide input validation before submitting + data.<br/> + + @see com::sun::star::form::component::HTMLForm + @see com::sun::star::form::XSubmit + @see com::sun::star::form::XReset + @see com::sun::star::awt::XButton + */ + interface com::sun::star::form::XApproveActionBroadcaster; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/ImageControl.idl b/offapi/com/sun/star/form/control/ImageControl.idl new file mode 100644 index 000000000..9c2f5f519 --- /dev/null +++ b/offapi/com/sun/star/form/control/ImageControl.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_control_ImageControl_idl__ +#define __com_sun_star_form_control_ImageControl_idl__ + +#include <com/sun/star/awt/UnoControlImageControl.idl> +#include <com/sun/star/form/XBoundControl.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a control used for displaying images stored in a database. + + <p>The model of the control has to support the com::sun::star::form::component::DatabaseImageControl + service.</p> + + <p>If the model of the control is valid bound to a database field, the control allows + to select an image (browsing the file system) upon double clicking into it, + and forwards the URL of the chosen image to the ImageURL property of its model.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service ImageControl +{ + service com::sun::star::awt::UnoControlImageControl; + + interface com::sun::star::form::XBoundControl; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/InteractionGridControl.idl b/offapi/com/sun/star/form/control/InteractionGridControl.idl new file mode 100644 index 000000000..8b56d5990 --- /dev/null +++ b/offapi/com/sun/star/form/control/InteractionGridControl.idl @@ -0,0 +1,67 @@ +/* -*- 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_control_InteractionGridControl_idl__ +#define __com_sun_star_form_control_InteractionGridControl_idl__ + +#include <com/sun/star/form/control/GridControl.idl> +#include <com/sun/star/frame/XDispatch.idl> + + + module com { module sun { module star { module form { module control { + + +/** is an extended grid control, which allows the user to customize some of its user interface's aspects. +*/ +published service InteractionGridControl +{ + service com::sun::star::form::control::GridControl; + + /** allows access to the UI features of the control + + <p>Though concrete implementations of the service may offer different sets of aspects which can be customized, + the following commands have, if supported, a defined meaning: + <dl> + <dt>.uno:GridSlots/BrowserAttribs</dt><dd> (interactively) customize the overall appearance of the grid (font etc.)</dd> + <dt>.uno:GridSlots/RowHeight</dt><dd> (interactively) customize the row height appearance of the grid</dd> + <dt>.uno:GridSlots/ColumnAttribs</dt><dd> (interactively) customize the format of a given column</dd> + <dt>.uno:GridSlots/ColumnWidth</dt><dd> (interactively) customize the width of a given column</dd> + </dl> + </p> + + <p>The following parameters may be passed when dispatching the commands above (as before, concrete implementations + may extend this list): + <dl> + <dt>ColumnId</dt><dd> the id of the column in question, if the command is executed for a column</dd> + <dt>ColumnModelPos</dt><dd> the model position of the column in question, if the command is executed for a column</dd> + <dt>ColumnViewPos</dt><dd> the view position of the column in question, if the command is executed for a column. The + view position may differ from the model position, as in a grid control, columns can be hidden.</dd> + </dl> + </p> + */ + interface com::sun::star::frame::XDispatch; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/ListBox.idl b/offapi/com/sun/star/form/control/ListBox.idl new file mode 100644 index 000000000..3e542f748 --- /dev/null +++ b/offapi/com/sun/star/form/control/ListBox.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_control_ListBox_idl__ +#define __com_sun_star_form_control_ListBox_idl__ + +#include <com/sun/star/awt/UnoControlListBox.idl> +#include <com/sun/star/form/XBoundControl.idl> +#include <com/sun/star/form/XChangeBroadcaster.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a list box control which can (but not necessarily has to) be bound to a database field. + + <p>The model of the control has to support the com::sun::star::form::component::ListBox + service.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service ListBox +{ + service com::sun::star::awt::UnoControlListBox; + + interface com::sun::star::form::XBoundControl; + + /** allows broadcasts of HTML-compatible change events. + + <p>HTML-compatible means that a change event is broadcasted if and only if all of + the following applies. + <ul> + <li>the control loses the focus</li> + <li>the content of the control has changed, compared to the moment where it got the focus.</li> + </ul> + </p> + */ + interface com::sun::star::form::XChangeBroadcaster; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/NavigationToolBar.idl b/offapi/com/sun/star/form/control/NavigationToolBar.idl new file mode 100644 index 000000000..3b5562749 --- /dev/null +++ b/offapi/com/sun/star/form/control/NavigationToolBar.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_control_NavigationToolBar_idl__ +#define __com_sun_star_form_control_NavigationToolBar_idl__ + +#include <com/sun/star/awt/UnoControl.idl> + + +module com { module sun { module star { module form { module control { + + +/** This service specifies the model for control which provides controller + functionality for a com::sun::star::form::component::DataForm, such as navigating or filtering + the form. + + @see com::sun::star::form::component::NavigationToolBar +*/ +service NavigationToolBar +{ + service com::sun::star::awt::UnoControl; +}; + + +}; }; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/NumericField.idl b/offapi/com/sun/star/form/control/NumericField.idl new file mode 100644 index 000000000..1b1114bfc --- /dev/null +++ b/offapi/com/sun/star/form/control/NumericField.idl @@ -0,0 +1,52 @@ +/* -*- 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_control_NumericField_idl__ +#define __com_sun_star_form_control_NumericField_idl__ + +#include <com/sun/star/awt/UnoControlNumericField.idl> +#include <com/sun/star/form/XBoundControl.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a control for inputting numeric values and which can (but not necessarily has to) + be bound to a database field. + + <p>The model of the control has to support the com::sun::star::form::component::NumericField + service.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service NumericField +{ + service com::sun::star::awt::UnoControlNumericField; + + interface com::sun::star::form::XBoundControl; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/PatternField.idl b/offapi/com/sun/star/form/control/PatternField.idl new file mode 100644 index 000000000..1492362e6 --- /dev/null +++ b/offapi/com/sun/star/form/control/PatternField.idl @@ -0,0 +1,52 @@ +/* -*- 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_control_PatternField_idl__ +#define __com_sun_star_form_control_PatternField_idl__ + +#include <com/sun/star/awt/UnoControlPatternField.idl> +#include <com/sun/star/form/XBoundControl.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a control for inputting text complying to a given pattern, + and which can (but not necessarily has to) be bound to a database field. + + <p>The model of the control has to support the com::sun::star::form::component::PatternField + service.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service PatternField +{ + service com::sun::star::awt::UnoControlPatternField; + + interface com::sun::star::form::XBoundControl; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/RadioButton.idl b/offapi/com/sun/star/form/control/RadioButton.idl new file mode 100644 index 000000000..33409ecec --- /dev/null +++ b/offapi/com/sun/star/form/control/RadioButton.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_control_RadioButton_idl__ +#define __com_sun_star_form_control_RadioButton_idl__ + +#include <com/sun/star/awt/UnoControlRadioButton.idl> +#include <com/sun/star/form/XBoundControl.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a radio button control which can (but not necessarily has to) be bound to a database field. + + <p>The model of the control has to support the com::sun::star::form::component::RadioButton + service.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service RadioButton +{ + service com::sun::star::awt::UnoControlRadioButton; + + interface com::sun::star::form::XBoundControl; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/SubmitButton.idl b/offapi/com/sun/star/form/control/SubmitButton.idl new file mode 100644 index 000000000..d84716627 --- /dev/null +++ b/offapi/com/sun/star/form/control/SubmitButton.idl @@ -0,0 +1,69 @@ +/* -*- 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_control_SubmitButton_idl__ +#define __com_sun_star_form_control_SubmitButton_idl__ + +#include <com/sun/star/awt/UnoControlButton.idl> +#include <com/sun/star/form/submission/XSubmission.idl> + + +module com { module sun { module star { module form { module control { + + +/** specifies a button control which can execute external submissions + + <p>The model of the control has to support the com::sun::star::form::component::SubmitButton + service.</p> + + <p>The control is clickable. When clicked (by mouse or keyboard, or programmatically), + the following happens: + <ol><li>Any com::sun::star::form::submission::XSubmissionVetoListeners registered + at the component are given the chance to veto the submission. + </li> + <li>The model of the control is examined for an external submission object. That is, + com::sun::star::form::submission::XSubmissionSupplier::getSubmission() + is called at the model.<br/> + If there is such a submission object, its + com::sun::star::form::submission::XSubmission::submit() method is invoked. + </li> + <li>If there is no external submission, the parent object of the model is examined + for the presence of the com::sun::star::form::XSubmit interface. If it + is present, it's com::sun::star::form::XSubmit::submit() method is + invoked.<br/> + Since the parent object of a submit button can only be a com::sun::star::form::component::Form, + this means that SubmitButtons are also able to submit com::sun::star::form::component::HTMLForms. + </li> + </ol> + </p> +*/ +service SubmitButton +{ + /** allows interception (and vetoing) of submissions triggered by the control. + */ + interface com::sun::star::form::submission::XSubmission; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/TextField.idl b/offapi/com/sun/star/form/control/TextField.idl new file mode 100644 index 000000000..1d88cecdf --- /dev/null +++ b/offapi/com/sun/star/form/control/TextField.idl @@ -0,0 +1,69 @@ +/* -*- 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_control_TextField_idl__ +#define __com_sun_star_form_control_TextField_idl__ + +#include <com/sun/star/awt/UnoControlEdit.idl> +#include <com/sun/star/form/XBoundControl.idl> +#include <com/sun/star/form/XChangeBroadcaster.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a control for entering arbitrary text which can (but not necessarily has to) be bound + to a database field. + + <p>The model of the control has to support the com::sun::star::form::component::TextField + service.</p> + + <p>In addition, this control can be used in HTML forms. It triggers the + com::sun::star::form::XSubmit::submit() method of the form it belongs to if + the <em>enter</em> is pressed while it has the focus.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service TextField +{ + service com::sun::star::awt::UnoControlEdit; + + interface com::sun::star::form::XBoundControl; + + /** allows broadcasts of HTML-compatible change events. + + <p>HTML-compatible means that a change event is broadcasted if and only if all of + the following applies. + <ul> + <li>the control loses the focus</li> + <li>the content of the control has changed, compared to the moment where it got the focus.</li> + </ul> + </p> + */ + interface com::sun::star::form::XChangeBroadcaster; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/form/control/TimeField.idl b/offapi/com/sun/star/form/control/TimeField.idl new file mode 100644 index 000000000..aede8244f --- /dev/null +++ b/offapi/com/sun/star/form/control/TimeField.idl @@ -0,0 +1,52 @@ +/* -*- 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_control_TimeField_idl__ +#define __com_sun_star_form_control_TimeField_idl__ + +#include <com/sun/star/awt/UnoControlTimeField.idl> +#include <com/sun/star/form/XBoundControl.idl> + + + module com { module sun { module star { module form { module control { + + +/** describes a control for inputting time values which can (but not necessarily has to) be bound + to a database field. + + <p>The model of the control has to support the com::sun::star::form::component::TimeField + service.</p> + + @see com::sun::star::awt::UnoControl + @see com::sun::star::awt::UnoControlModel +*/ +published service TimeField +{ + service com::sun::star::awt::UnoControlTimeField; + + interface com::sun::star::form::XBoundControl; +}; + + +}; }; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |