From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- offapi/com/sun/star/form/control/CheckBox.idl | 51 ++++++++ offapi/com/sun/star/form/control/ComboBox.idl | 51 ++++++++ offapi/com/sun/star/form/control/CommandButton.idl | 69 +++++++++++ offapi/com/sun/star/form/control/CurrencyField.idl | 52 ++++++++ offapi/com/sun/star/form/control/DateField.idl | 52 ++++++++ offapi/com/sun/star/form/control/FilterControl.idl | 53 +++++++++ .../com/sun/star/form/control/FormattedField.idl | 57 +++++++++ offapi/com/sun/star/form/control/GridControl.idl | 131 +++++++++++++++++++++ offapi/com/sun/star/form/control/GroupBox.idl | 49 ++++++++ offapi/com/sun/star/form/control/ImageButton.idl | 69 +++++++++++ offapi/com/sun/star/form/control/ImageControl.idl | 55 +++++++++ .../star/form/control/InteractionGridControl.idl | 67 +++++++++++ offapi/com/sun/star/form/control/ListBox.idl | 64 ++++++++++ .../sun/star/form/control/NavigationToolBar.idl | 46 ++++++++ offapi/com/sun/star/form/control/NumericField.idl | 52 ++++++++ offapi/com/sun/star/form/control/PatternField.idl | 52 ++++++++ offapi/com/sun/star/form/control/RadioButton.idl | 51 ++++++++ offapi/com/sun/star/form/control/SubmitButton.idl | 69 +++++++++++ offapi/com/sun/star/form/control/TextField.idl | 69 +++++++++++ offapi/com/sun/star/form/control/TimeField.idl | 52 ++++++++ 20 files changed, 1211 insertions(+) create mode 100644 offapi/com/sun/star/form/control/CheckBox.idl create mode 100644 offapi/com/sun/star/form/control/ComboBox.idl create mode 100644 offapi/com/sun/star/form/control/CommandButton.idl create mode 100644 offapi/com/sun/star/form/control/CurrencyField.idl create mode 100644 offapi/com/sun/star/form/control/DateField.idl create mode 100644 offapi/com/sun/star/form/control/FilterControl.idl create mode 100644 offapi/com/sun/star/form/control/FormattedField.idl create mode 100644 offapi/com/sun/star/form/control/GridControl.idl create mode 100644 offapi/com/sun/star/form/control/GroupBox.idl create mode 100644 offapi/com/sun/star/form/control/ImageButton.idl create mode 100644 offapi/com/sun/star/form/control/ImageControl.idl create mode 100644 offapi/com/sun/star/form/control/InteractionGridControl.idl create mode 100644 offapi/com/sun/star/form/control/ListBox.idl create mode 100644 offapi/com/sun/star/form/control/NavigationToolBar.idl create mode 100644 offapi/com/sun/star/form/control/NumericField.idl create mode 100644 offapi/com/sun/star/form/control/PatternField.idl create mode 100644 offapi/com/sun/star/form/control/RadioButton.idl create mode 100644 offapi/com/sun/star/form/control/SubmitButton.idl create mode 100644 offapi/com/sun/star/form/control/TextField.idl create mode 100644 offapi/com/sun/star/form/control/TimeField.idl (limited to 'offapi/com/sun/star/form/control') 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 +#include + + + 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. + +

The model of the control has to support the com::sun::star::form::component::CheckBox + service.

+ + @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 +#include + + + module com { module sun { module star { module form { module control { + + +/** describes a combo box control. + +

The model of the control has to support the com::sun::star::form::component::ComboBox + service.

+ + @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 +#include + + + module com { module sun { module star { module form { module control { + + +/** describes a button control. + +

The model of the control has to support the com::sun::star::form::component::CommandButton + service.

+ +

The control is clickable, the action taken upon clicking depends on the settings + of the model the control belongs to.

+ + @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. + +

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
+ This may be interesting for e.g. forms which want to provide input validation before submitting + data.
+ + @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 +#include + + + 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. + +

The model of the control has to support the com::sun::star::form::component::CurrencyField + service.

+ + @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 +#include + + + 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. + +

The model of the control has to support the com::sun::star::form::component::DateField + service.

+ + @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 +#include +#include +#include + + + 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. + +

The model of the control has to support the com::sun::star::form::component::CheckBox + service.

+ + @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 +#include + + + 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. + +

The model of the control has to support the com::sun::star::form::component::FormattedField + service.

+ +

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 enter key is pressed while it has the focus.

+ + @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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +module com { module sun { module star { module form { + +published interface XGridControl; + +module control { + + +/** describes a table-like control for displaying data. + +

The model of the control has to support the com::sun::star::form::component::GridControl + service.

+ + @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. + +

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).

+ */ + 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. + +

Besides the normal operation mode (which is used to display the database form's data) the control may + for instance support a filter mode.

+ */ + [optional] interface com::sun::star::util::XModeSelector; + + /** used to control the selection of rows in the grid control. + +

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.
+ Here the elements of the Sequence are the bookmarks (in the com::sun::star::sdb::RowSet) + of the (to-be-) selected rows.

+ */ + [optional] interface com::sun::star::view::XSelectionSupplier; + + /** allows external components to register dispatchers for some common form actions. + +

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.)
+ With the help of this interface, external components which wish to handle such travelings themselves can + register interceptors for the actions in question.

+ +

Usual URLs to use include +

+
.uno:FormSlots/moveToFirst
move the cursor to the first record
+
.uno:FormSlots/moveToPrev
move the cursor to the previous record
+
.uno:FormSlots/moveToNext
move the cursor to the next record
+
.uno:FormSlots/moveToLast
move the cursor to the last record
+
.uno:FormSlots/moveToNew
move the cursor to the (one and only) new record
+
.uno:FormSlots/undoRecord
undo the changes done so far in the current record
+
+

+ +

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.

+ */ + [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 +#include + + + module com { module sun { module star { module form { module control { + + +/** describes a control which can be used for visually grouping controls + +

The model of the control has to support the com::sun::star::form::component::GroupBox + service.

+ + @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 +#include + + + 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. + +

The model of the control has to support the com::sun::star::form::component::ImageButton + service.

+ +

The control is clickable, the action taken upon clicking depends on the settings + of the model the control belongs to.

+ + @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. + +

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
+ This may be interesting for e.g. forms which want to provide input validation before submitting + data.
+ + @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 +#include + + + module com { module sun { module star { module form { module control { + + +/** describes a control used for displaying images stored in a database. + +

The model of the control has to support the com::sun::star::form::component::DatabaseImageControl + service.

+ +

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.

+ + @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 +#include + + + 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 + +

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: +

+
.uno:GridSlots/BrowserAttribs
(interactively) customize the overall appearance of the grid (font etc.)
+
.uno:GridSlots/RowHeight
(interactively) customize the row height appearance of the grid
+
.uno:GridSlots/ColumnAttribs
(interactively) customize the format of a given column
+
.uno:GridSlots/ColumnWidth
(interactively) customize the width of a given column
+
+

+ +

The following parameters may be passed when dispatching the commands above (as before, concrete implementations + may extend this list): +

+
ColumnId
the id of the column in question, if the command is executed for a column
+
ColumnModelPos
the model position of the column in question, if the command is executed for a column
+
ColumnViewPos
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.
+
+

+ */ + 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 +#include +#include + + + 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. + +

The model of the control has to support the com::sun::star::form::component::ListBox + service.

+ + @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. + +

HTML-compatible means that a change event is broadcasted if and only if all of + the following applies. +

    +
  • the control loses the focus
  • +
  • the content of the control has changed, compared to the moment where it got the focus.
  • +
+

+ */ + 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 + + +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 +#include + + + 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. + +

The model of the control has to support the com::sun::star::form::component::NumericField + service.

+ + @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 +#include + + + 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. + +

The model of the control has to support the com::sun::star::form::component::PatternField + service.

+ + @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 +#include + + + 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. + +

The model of the control has to support the com::sun::star::form::component::RadioButton + service.

+ + @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 +#include + + +module com { module sun { module star { module form { module control { + + +/** specifies a button control which can execute external submissions + +

The model of the control has to support the com::sun::star::form::component::SubmitButton + service.

+ +

The control is clickable. When clicked (by mouse or keyboard, or programmatically), + the following happens: +

  1. Any com::sun::star::form::submission::XSubmissionVetoListeners registered + at the component are given the chance to veto the submission. +
  2. +
  3. 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.
    + If there is such a submission object, its + com::sun::star::form::submission::XSubmission::submit() method is invoked. +
  4. +
  5. 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.
    + 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. +
  6. +
+

+*/ +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 +#include +#include + + + 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. + +

The model of the control has to support the com::sun::star::form::component::TextField + service.

+ +

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 enter is pressed while it has the focus.

+ + @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. + +

HTML-compatible means that a change event is broadcasted if and only if all of + the following applies. +

    +
  • the control loses the focus
  • +
  • the content of the control has changed, compared to the moment where it got the focus.
  • +
+

+ */ + 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 +#include + + + 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. + +

The model of the control has to support the com::sun::star::form::component::TimeField + service.

+ + @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: */ -- cgit v1.2.3