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
---
.../sun/star/ui/XUIElementFactoryRegistration.idl | 159 +++++++++++++++++++++
1 file changed, 159 insertions(+)
create mode 100644 offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl
(limited to 'offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl')
diff --git a/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl b/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl
new file mode 100644
index 000000000..7d184485c
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl
@@ -0,0 +1,159 @@
+/* -*- 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_ui_XUIElementFactoryRegistration_idl__
+#define __com_sun_star_ui_XUIElementFactoryRegistration_idl__
+
+#include
+#include
+#include
+#include
+#include
+
+
+module com { module sun { module star { module ui {
+
+
+/** is used to query, register and deregister user interface element factories.
+
+
+ A user interface element factory is registered for a set of three properties.
+
+ - Typea string that identifies a type of a user interface element.
+ - Namea string that identifies a single user interface element within a type class.
+ - Modulea string that identifies a single module of OpenOffice.
+
+ A combination of these three property values can uniquely identify every user interface
+ element within OpenOffice.
+
+ Currently the following user interface element types are defined:
+
+ - menubar
+ - popupmenu
+ - toolbar
+ - statusbar
+ - floater
+
+
+
+ @since OOo 2.0
+ */
+
+interface XUIElementFactoryRegistration : com::sun::star::uno::XInterface
+{
+ /** function to retrieve a list of all registered user interface element factories
+
+ @returns
+ a sequence of sequence of property values which describe every registered
+ user interface element factory.
+
+ The following properties are defined:
+
+ - Typea string property that identifies the type of the user interface
+ element which this factory can create.
+ - Namean optional string property which identifies a single user interface
+ element within a type class which this factory can create. If this property is not
+ returned, the factory is a generic factory for all user interface elements of the
+ same type.
+ - Modulean optional string property that specifies to which module this factory is
+ bound to. If this property is not returned, the factory is a generic factory.
+
+ */
+ sequence< sequence< com::sun::star::beans::PropertyValue > > getRegisteredFactories();
+
+ /** function to retrieve a previously registered user interface element factory.
+
+ @returns
+ a reference to a registered user interface element factory if a factory has been
+ found. An empty reference when no factory has been found.
+ The defined search order of factories must be from special to generic ones.
+
+ @param ResourceURL
+ a resource URL which identifies a user interface element. A resource URL uses the
+ following syntax: "private:resource/$type/$name". It is only allowed to use ASCII
+ characters for type and name.
+
+ @param ModuleIdentifier
+ an optional module identifier. This value can remain empty, if a generic factory is requested.
+ The module identifier can be retrieved from the com::sun::star::frame::ModuleManager service.
+ */
+ ::com::sun::star::ui::XUIElementFactory getFactory( [in] string ResourceURL, [in] string ModuleIdentifier );
+
+ /** function to register a user interface element factory.
+
+ @param aType
+ a string that identifies a type of a user interface element. Currently the following types
+ are supported:
+
+ - menubar
+ - toolbar
+ - statusbar
+
+
+ @param aName
+ an optional name of a single user interface element. This name must be unique within a user
+ interface element type class. This value can remain empty if no special factory for a single
+ user interface element is needed.
+
+ @param aModuleIdentifier
+ an optional module identifier that can be used to register a factory only for a single module. This value
+ can remain empty if no special factory for a single module is needed. The module identifier can be retrieved
+ from the com::sun::star::frame::ModuleManager service.
+
+ @param aFactoryImplementationName
+ a UNO implementation name that can be used by an implementation to create a factory instance.
+ */
+ void registerFactory( [in] string aType, [in] string aName, [in] string aModuleIdentifier, [in] string aFactoryImplementationName ) raises (com::sun::star::container::ElementExistException);
+
+ /** function to remove a previously defined user interface element factory.
+
+ @param aType
+ a string that identifies a type of a user interface element. Currently the following types
+ are supported:
+
+ - menubar
+ - toolbar
+ - statusbar
+
+
+ @param aName
+ an optional name of a single user interface element. This name must be unique within a user
+ interface element type class. This value can remain empty if no special factory for a single
+ user interface element should be deregistered.
+
+ @param ModuleIdentifier
+ an optional module name that can be used to deregister a factory only for a single module. This value
+ can remain empty if not a module based factory should be deregistered. The module identifier can be retrieved
+ from the com::sun::star::frame::ModuleManager service.
+
+
+ Using this function can be very dangerous as other implementation with OpenOffice may not be able to create their
+ user interface element anymore.
+
+
+ */
+ void deregisterFactory( [in] string aType, [in] string aName, [in] string ModuleIdentifier ) raises (com::sun::star::container::NoSuchElementException);
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
--
cgit v1.2.3