diff options
Diffstat (limited to 'offapi/com/sun/star/ui/XUIElementFactory.idl')
-rw-r--r-- | offapi/com/sun/star/ui/XUIElementFactory.idl | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/offapi/com/sun/star/ui/XUIElementFactory.idl b/offapi/com/sun/star/ui/XUIElementFactory.idl new file mode 100644 index 000000000..c87638c0e --- /dev/null +++ b/offapi/com/sun/star/ui/XUIElementFactory.idl @@ -0,0 +1,130 @@ +/* -*- 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_XUIElementFactory_idl__ +#define __com_sun_star_ui_XUIElementFactory_idl__ + +#include <com/sun/star/ui/XUIElement.idl> +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/beans/PropertyValue.idl> + + +module com { module sun { module star { module ui { + + +/** specifies a user interface element factory that can create and initialize + user interface elements. + + <p> + User interface element factories must be registered at a + UIElementFactoryManager service to provide access to itself. + + Currently the following user interface element types are defined: + <ul> + <li><b>menubar</b>A configurable user interface element.</li> + <li><b>popupmenu</b>A configurable user interface element.</li> + <li><b>toolbar</b>A configurable user interface element.</li> + <li><b>statusbar</b>A configurable user interface element.</li> + <li><b>floater</b>A basic user interface element.</li> + </ul> + </p> + + @since OOo 2.0 +*/ + +interface XUIElementFactory : ::com::sun::star::uno::XInterface +{ + /** creates a new instances of a specific user interface element. + + @param ResourceURL + specifies which unique user interface element should be created + by the factory. A resource URL must meet the following syntax: + "private:resource/$type/$name. It is only allowed to use ASCII + characters for type and name. This argument must not be empty to + have a working user interface element instance.The implementation + can throw an + com::sun::star::container::NoSuchElementException + if it doesn't know how to create the request user interface + element. + + @param Args + The following arguments are supported: + <ul> + <li><b>Frame</b><br> + specifies the com::sun::star::frame::XFrame + instance to which the user interface element belongs to. To + create a configurable user interface element the frame + instance must contain a visible component. Otherwise it is + not possible to determine the correct user interface + configuration manager. This argument is <b>mandatory</b> to + have a working configurable user interface element instance. + </li> + <li><b>ParentWindow</b><br/> + specifies a parent window to use for the window(s) representing + the UI element. Depending on the concrete UI element type, this parameter + might be required or ignored by an implementation. + </li> + <li><b>Persistent</b><br> + specifies if changes to a configurable + user interface element should be persistent. This is an + optional argument. The default value is `TRUE`. + </li> + <li><b>Module</b><br> + specifies the current module name (as a string). + May be empty. + </li> + <li><b>Controller</b><br> + (Sidebar only) specifies the current com::sun::star::frame::XController2 instance. + May be empty. + </li> + <li><b>Canvas</b><br> + (Sidebar only) specifies the current com::sun::star::rendering::XSpriteCanvas instance. + </li> + <li><b>ApplicationName</b><br> + (Sidebar only) Specifies the current application name (as a string) + </li> + <li><b>ContextName</b><br> + (Sidebar only) Specifies the current context (as a string) + </li> + </ul> + + <p> + An implementation is responsible to initialize every newly created user + interface element if the necessary properties are provided. Especially + it must connect a configurable user interface element to the correct user + interface configuration manager. Without this connection the configurable + user interface element cannot retrieve its structure data and changes to + the user interface element structure won't be persistent. It is up to the + implementation to throw an + com::sun::star::lang::IllegalArgumentException + if it cannot create a user interface element with the provided arguments. + + @see ConfigurableUIElement + @see UIElement + </p> + */ + ::com::sun::star::ui::XUIElement createUIElement( [in] string ResourceURL, [in] sequence< com::sun::star::beans::PropertyValue > Args ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |