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/xforms | |
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/xforms')
-rw-r--r-- | offapi/com/sun/star/xforms/Binding.idl | 84 | ||||
-rw-r--r-- | offapi/com/sun/star/xforms/InvalidDataOnSubmitException.idl | 45 | ||||
-rw-r--r-- | offapi/com/sun/star/xforms/Model.idl | 37 | ||||
-rw-r--r-- | offapi/com/sun/star/xforms/XDataTypeRepository.idl | 97 | ||||
-rw-r--r-- | offapi/com/sun/star/xforms/XForms.idl | 38 | ||||
-rw-r--r-- | offapi/com/sun/star/xforms/XFormsEvent.idl | 37 | ||||
-rw-r--r-- | offapi/com/sun/star/xforms/XFormsSupplier.idl | 48 | ||||
-rw-r--r-- | offapi/com/sun/star/xforms/XFormsUIHelper1.idl | 127 | ||||
-rw-r--r-- | offapi/com/sun/star/xforms/XModel.idl | 198 | ||||
-rw-r--r-- | offapi/com/sun/star/xforms/XModel2.idl | 44 | ||||
-rw-r--r-- | offapi/com/sun/star/xforms/XSubmission.idl | 59 |
11 files changed, 814 insertions, 0 deletions
diff --git a/offapi/com/sun/star/xforms/Binding.idl b/offapi/com/sun/star/xforms/Binding.idl new file mode 100644 index 000000000..20fce5373 --- /dev/null +++ b/offapi/com/sun/star/xforms/Binding.idl @@ -0,0 +1,84 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_xforms_Binding_idl__ +#define __com_sun_star_xforms_Binding_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/form/binding/ValueBinding.idl> +#include <com/sun/star/form/binding/ListEntrySource.idl> +#include <com/sun/star/form/validation/XValidator.idl> +#include <com/sun/star/xml/NamespaceContainer.idl> + + +module com { module sun { module star { module xforms { + +interface XSubmission; + + +/** represent a binding to one or more nodes in the DOM tree of an XModel. + */ +service Binding +{ + /** allows the binding to act as value supplier for a form component + + @see com::sun::star::form::binding::BindableControlModel + */ + service com::sun::star::form::binding::ValueBinding; + + /** allows external instances to observe the value represented by the binding + + <p>This interface is an optional part of the + com::sun::star::form::binding::ValueBinding service, but loses + its optionality here.</p> + */ + interface com::sun::star::util::XModifyBroadcaster; + + /** allows the binding to act as source for list entries of form controls + + <p>If a binding is associated with more than one node in a DOM tree, it + does not represent a single value, but a list of values. Using this interface, + this list can be displayed in form control list and combo boxes.</p> + */ + service com::sun::star::form::binding::ListEntrySource; + + /** allows the binding to act as validator for a form component + + @see com::sun::star::form::binding::ValidatableControlModel + */ + interface com::sun::star::form::validation::XValidator; + + /** among other properties, there is this one + + <p>It is unclear to me whether this is an implementation detail + or a supported interface.</p> + <p>The value supports the service + com::sun::star::xml::NamespaceContainer</p> + + @see com::sun::star::xml::NamespaceContainer + */ + [optional, property] com::sun::star::container::XNameContainer + BindingNamespaces; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/xforms/InvalidDataOnSubmitException.idl b/offapi/com/sun/star/xforms/InvalidDataOnSubmitException.idl new file mode 100644 index 000000000..653a12730 --- /dev/null +++ b/offapi/com/sun/star/xforms/InvalidDataOnSubmitException.idl @@ -0,0 +1,45 @@ +/* -*- 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_xforms_InvalidDataOnSubmitException_idl__ +#define __com_sun_star_xforms_InvalidDataOnSubmitException_idl__ + +#include <com/sun/star/util/VetoException.idl> + + +module com { module sun { module star { module xforms { + + +/** thrown if the user triggers an XForms submission with invalid + instance data + + The com::sun::star::uno::Exception::Source member + refers to the submission which was invoked. + +*/ +exception InvalidDataOnSubmitException : com::sun::star::util::VetoException +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/xforms/Model.idl b/offapi/com/sun/star/xforms/Model.idl new file mode 100644 index 000000000..186ae8891 --- /dev/null +++ b/offapi/com/sun/star/xforms/Model.idl @@ -0,0 +1,37 @@ +/* -*- 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_xforms_Model_idl__ +#define __com_sun_star_xforms_Model_idl__ + +#include <com/sun/star/xforms/XModel2.idl> + + +module com { module sun { module star { module xforms { + +/** + @since LibreOffice 4.1 + */ +service Model : XModel2; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/xforms/XDataTypeRepository.idl b/offapi/com/sun/star/xforms/XDataTypeRepository.idl new file mode 100644 index 000000000..86db2301e --- /dev/null +++ b/offapi/com/sun/star/xforms/XDataTypeRepository.idl @@ -0,0 +1,97 @@ +/* -*- 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_xforms_XDataTypeRepository_idl__ +#define __com_sun_star_xforms_XDataTypeRepository_idl__ + +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/xsd/XDataType.idl> +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/container/ElementExistException.idl> +#include <com/sun/star/util/VetoException.idl> + + +module com { module sun { module star { module xforms { + +/** specifies a repository of XSD data types + + <p>The elements of the repository are instances supporting the com::sun::star::xsd::XDataType + interface.</p> +*/ +interface XDataTypeRepository +{ + /** provides access to an enumeration of the contained data types + */ + interface com::sun::star::container::XEnumerationAccess; + + /** provides untyped access to the elements of the repository, as well as meta information + such as the names of all contained types, and the existence of a named type + */ + interface com::sun::star::container::XNameAccess; + + /** retrieves the basic type for the given type class + + @see com::sun::star::xsd::DataTypeClass + + @throws com::sun::star::container::NoSuchElementException + if in the repository, there is no data type with the given class + */ + com::sun::star::xsd::XDataType + getBasicDataType( [in] short dataTypeClass ) + raises ( com::sun::star::container::NoSuchElementException ); + + /** creates a clone of the given data type, and inserts it into the repository + + @throws com::sun::star::container::NoSuchElementException + if the given name does not refer to a type in the repository + + @throws com::sun::star::container::ElementExistException + if the new name is already used in the repository + */ + com::sun::star::xsd::XDataType + cloneDataType( [in] string sourceName, [in] string newName ) + raises( com::sun::star::container::NoSuchElementException, com::sun::star::container::ElementExistException ); + + /** removes a data type given by name from the repository + + @throws com::sun::star::container::NoSuchElementException + if the given name does not refer to a type in the repository + + @throws com::sun::star::util::VetoException + if the specified data type is a built-in (basic) data type, and cannot + be removed + + @see com::sun::star::xsd::XDataType + */ + void + revokeDataType( [in] string typeName ) + raises( com::sun::star::container::NoSuchElementException, com::sun::star::util::VetoException ); + + com::sun::star::xsd::XDataType + getDataType( [in] string typeName ) + raises( com::sun::star::container::NoSuchElementException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/xforms/XForms.idl b/offapi/com/sun/star/xforms/XForms.idl new file mode 100644 index 000000000..2255f09b2 --- /dev/null +++ b/offapi/com/sun/star/xforms/XForms.idl @@ -0,0 +1,38 @@ +/* -*- 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_xforms_XForms_idl__ +#define __com_sun_star_xforms_XForms_idl__ + +#include <com/sun/star/container/XNameContainer.idl> + + +module com { module sun { module star { module xforms { + + +/** + @since LibreOffice 4.1 +*/ +service XForms : com::sun::star::container::XNameContainer; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/xforms/XFormsEvent.idl b/offapi/com/sun/star/xforms/XFormsEvent.idl new file mode 100644 index 000000000..dfd749c1a --- /dev/null +++ b/offapi/com/sun/star/xforms/XFormsEvent.idl @@ -0,0 +1,37 @@ +/* -*- 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_xforms_XFormsEvent_idl__ +#define __com_sun_star_xforms_XFormsEvent_idl__ + +#include <com/sun/star/xml/dom/events/XEvent.idl> + +module com { module sun { module star { module xforms { + +interface XFormsEvent : com::sun::star::xml::dom::events::XEvent { + + void initXFormsEvent([in] string typeArg, + [in] boolean canBubbleArg, + [in] boolean cancelableArg); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/xforms/XFormsSupplier.idl b/offapi/com/sun/star/xforms/XFormsSupplier.idl new file mode 100644 index 000000000..460c58e7d --- /dev/null +++ b/offapi/com/sun/star/xforms/XFormsSupplier.idl @@ -0,0 +1,48 @@ +/* -*- 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_xforms_XFormsSupplier_idl__ +#define __com_sun_star_xforms_XFormsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/container/XNameContainer.idl> + + + +module com { module sun { module star { module xforms { + + +/** provides access to the XForms models contained in the component + */ +interface XFormsSupplier: com::sun::star::uno::XInterface +{ + + /** access XForms model container. + @returns a container for the XForms models contained in the component + */ + com::sun::star::container::XNameContainer getXForms(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/xforms/XFormsUIHelper1.idl b/offapi/com/sun/star/xforms/XFormsUIHelper1.idl new file mode 100644 index 000000000..1045212d9 --- /dev/null +++ b/offapi/com/sun/star/xforms/XFormsUIHelper1.idl @@ -0,0 +1,127 @@ +/* -*- 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_xforms_XFormsUIHelper1_idl__ +#define __com_sun_star_xforms_XFormsUIHelper1_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/xml/dom/XNode.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/container/XSet.idl> +#include <com/sun/star/xforms/XDataTypeRepository.idl> +#include <com/sun/star/xml/dom/XDocument.idl> +#include <com/sun/star/frame/XModel.idl> +#include <com/sun/star/xforms/XModel.idl> + + + +module com { module sun { module star { module xforms { + + +/** provide several helper methods for the UI + + <b>This interfaces is for UI use only, and will likely be unsupported in + future versions.</b></p> +*/ +interface XFormsUIHelper1 +{ + string getDefaultServiceNameForNode( [in] com::sun::star::xml::dom::XNode xNode ); + + string getDefaultBindingExpressionForNode( [in] com::sun::star::xml::dom::XNode xNode ); + + string getNodeDisplayName( [in] com::sun::star::xml::dom::XNode xNode, + [in] boolean bDetail ); + + string getNodeName( [in] com::sun::star::xml::dom::XNode xNode ); + + string getBindingName( [in] com::sun::star::beans::XPropertySet xBinding, + [in] boolean bDetail ); + + string getSubmissionName( [in] com::sun::star::beans::XPropertySet xSubm, + [in] boolean bDetail ); + + // Creates a new binding based on the one passed as argument. + // The new binding does *not* contribute to the MIPs table and acts + // as a property set in disguise, which is what the UI needs this object for... + com::sun::star::beans::XPropertySet cloneBindingAsGhost( [in] com::sun::star::beans::XPropertySet binding ); + + void removeBindingIfUseless( [in] com::sun::star::beans::XPropertySet xBinding ); + + // handle instances + + com::sun::star::xml::dom::XDocument newInstance( [in] string sName, + [in] string sURL, + [in] boolean bURLOnce ); + + void renameInstance( [in] string sFrom, [in] string sTo, + [in] string sURL, + [in] boolean bURLOnce ); + + void removeInstance( [in] string sName ); + + + // handle models + com::sun::star::xforms::XModel newModel( [in] com::sun::star::frame::XModel xModel, + [in] string sName ); + void renameModel( [in] com::sun::star::frame::XModel xModel, + [in] string sFrom, [in] string sTo ); + void removeModel( [in] com::sun::star::frame::XModel xModel, + [in] string sName ); + + + // DOM helpers + com::sun::star::xml::dom::XNode + createElement( [in] com::sun::star::xml::dom::XNode xParent, + [in] string sName ); + com::sun::star::xml::dom::XNode + createAttribute( [in] com::sun::star::xml::dom::XNode xParent, + [in] string sName ); + + com::sun::star::xml::dom::XNode renameNode( + [in] com::sun::star::xml::dom::XNode xNode, + [in] string sName ); + + com::sun::star::beans::XPropertySet getBindingForNode( + [in] com::sun::star::xml::dom::XNode xNode, + [in] boolean bCreate ); + + void removeBindingForNode( + [in] com::sun::star::xml::dom::XNode xNode ); + + string getResultForExpression( + [in] com::sun::star::beans::XPropertySet xBinding, + [in] boolean bIsBindingExpression, + [in] string sExpression ); + + boolean isValidXMLName( [in] string sName ); + + boolean isValidPrefixName( [in] string sName ); + + void setNodeValue( + [in] com::sun::star::xml::dom::XNode xNode, + [in] string sValue ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/xforms/XModel.idl b/offapi/com/sun/star/xforms/XModel.idl new file mode 100644 index 000000000..c5ecab23f --- /dev/null +++ b/offapi/com/sun/star/xforms/XModel.idl @@ -0,0 +1,198 @@ +/* -*- 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_xforms_XModel_idl__ +#define __com_sun_star_xforms_XModel_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/container/XSet.idl> +#include <com/sun/star/xforms/XDataTypeRepository.idl> +#include <com/sun/star/xml/dom/XDocument.idl> +#include <com/sun/star/util/VetoException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> +#include <com/sun/star/task/XInteractionHandler.idl> + + +module com { module sun { module star { module xforms { + +interface XSubmission; + + +/** represent an XForms model + */ +interface XModel +{ + /** get the XForms model ID */ + string getID(); + + /** set the XForms model ID */ + void setID( [in] string id ); + + + /** initialize the model */ + void initialize(); + + /** rebuild the model */ + void rebuild(); + + /** re-evaluate all calculate attributes */ + void recalculate(); + + /** re-evaluate all validity attributes */ + void revalidate(); + + /** refresh the model */ + void refresh(); + + + /** submit form through given submission id + + <p>This is a convenience method. Calling it is equivalent to calling + <code>getSubmission()( id ).submit()</code>.</p> + + @param id + the ID of the submission to execute + + @throws com::sun::star::util::VetoException + when the current model state does not allow a submission. Usually, this indicates that + consistency criteria for the model data is not fulfilled. + + @throws com::sun::star::lang::WrappedTargetException + when another error occurred during the submission. The + com::sun::star::lang::WrappedTargetException::TargetException describes + this error then. + */ + void submit( [in] string id ) + raises ( com::sun::star::util::VetoException, com::sun::star::lang::WrappedTargetException ); + + /** submit form through given submission id + + <p>This is a convenience method. Calling it is equivalent to calling + <code>getSubmission()( id, handler ).submit()</code>.</p> + + @param id + the ID of the submission to execute + + @param aHandler + This handler allows additional user interaction, which may be necessary before + the submission can be performed. + + @throws com::sun::star::util::VetoException + when the current model state does not allow a submission. Usually, this indicates that + consistency criteria for the model data is not fulfilled. + + @throws com::sun::star::lang::WrappedTargetException + when another error occurred during the submission. The + com::sun::star::lang::WrappedTargetException::TargetException describes + this error then. + */ + void submitWithInteraction( [in] string id, [in] com::sun::star::task::XInteractionHandler aHandler ) + raises ( com::sun::star::util::VetoException, com::sun::star::lang::WrappedTargetException ); + + /** provides management access to the XSD data types associated with the model + */ + XDataTypeRepository + getDataTypeRepository( ); + + + // instances + + /** gets container containing all instances; + + <p>The elements of the set are arrays of com::sun::star::beans::PropertyValues, + containing the ID, the URL, and the instance itself.</p> + */ + com::sun::star::container::XSet getInstances(); + + /** retrieves the instance with the given id + */ + com::sun::star::xml::dom::XDocument getInstanceDocument( [in] string id ); + + /** get the default instance for this model + */ + com::sun::star::xml::dom::XDocument getDefaultInstance(); + + + // bindings + + /** create a binding element for this model + + <p>The returned binding still needs to be inserted into the bindings container.</p> + + @see getBindings + */ + com::sun::star::beans::XPropertySet createBinding(); + + /** clone an arbitrary binding element for this model; still needs + + <p>The returned binding still needs to be inserted into the bindings container.</p> + + @see getBindings + */ + com::sun::star::beans::XPropertySet cloneBinding( [in] com::sun::star::beans::XPropertySet binding ); + + /** get a binding with a certain ID + + <p>This is a convenience method: the same result can also be obtained through + getBindings()</p> + */ + com::sun::star::beans::XPropertySet getBinding( [in] string id ); + + /** get a container containing all bindings; also supports XNameAccess + */ + com::sun::star::container::XSet getBindings(); + + + // submissions + + /** create a submission element for this model + + <p>The returned submission element still needs to be inserted into the submission container.</p> + + @see getSubmissions + */ + XSubmission createSubmission(); + + /** clone an arbitrary submission element for this model + + <p>The returned submission element still needs to be inserted into the submission container.</p> + + @see getSubmissions + */ + XSubmission cloneSubmission( [in] com::sun::star::beans::XPropertySet submission ); + + /** get a submission with a certain ID. + + <p>This is a convenience method: the same result can also be obtained through + getSubmissions().</p> + */ + XSubmission getSubmission( [in] string id ); + + /** get container containing all submissions; also supports XNameAccess + */ + com::sun::star::container::XSet getSubmissions(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/xforms/XModel2.idl b/offapi/com/sun/star/xforms/XModel2.idl new file mode 100644 index 000000000..ec1704d5e --- /dev/null +++ b/offapi/com/sun/star/xforms/XModel2.idl @@ -0,0 +1,44 @@ +/* -*- 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_xforms_XModel2_idl__ +#define __com_sun_star_xforms_XModel2_idl__ + +#include <com/sun/star/xforms/XModel.idl> + + +module com { module sun { module star { module xforms { + + +/** + @since LibreOffice 4.1 + */ +interface XModel2 +{ + interface com::sun::star::xforms::XModel; + + interface com::sun::star::beans::XPropertySet; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/xforms/XSubmission.idl b/offapi/com/sun/star/xforms/XSubmission.idl new file mode 100644 index 000000000..ee5dba176 --- /dev/null +++ b/offapi/com/sun/star/xforms/XSubmission.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_xforms_XSubmission_idl__ +#define __com_sun_star_xforms_XSubmission_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/form/submission/XSubmission.idl> + +module com { module sun { module star { module xforms { + +/** specifies a submission object, associated with an XModel +*/ +interface XSubmission +{ + /** allows access to the submission's properties + */ + interface com::sun::star::beans::XPropertySet; + + /** allows access to the name of the submission + + <p>Note that the name of the submission always equals it's the value of its ID + property./p> + */ + interface com::sun::star::container::XNamed; + + /** allows the submission to be associated with certain form controls + + <p>Calling the com::sun::star::form::submission::XSubmission::submit() + yields exactly the same result as calling XModel::submit() of the model which + the submission belongs to, passing the ID of the submission.</p> + */ + interface com::sun::star::form::submission::XSubmission; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |