From 940b4d1848e8c70ab7642901a68594e8016caffc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 18:51:28 +0200 Subject: Adding upstream version 1:7.0.4. Signed-off-by: Daniel Baumann --- offapi/com/sun/star/ui/XUIElementFactory.idl | 130 +++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 offapi/com/sun/star/ui/XUIElementFactory.idl (limited to 'offapi/com/sun/star/ui/XUIElementFactory.idl') 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 +#include +#include +#include + + +module com { module sun { module star { module ui { + + +/** specifies a user interface element factory that can create and initialize + user interface elements. + +

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

    +
  • menubarA configurable user interface element.
  • +
  • popupmenuA configurable user interface element.
  • +
  • toolbarA configurable user interface element.
  • +
  • statusbarA configurable user interface element.
  • +
  • floaterA basic user interface element.
  • +
+

+ + @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: +
    +
  • Frame
    + 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 mandatory to + have a working configurable user interface element instance. +
  • +
  • ParentWindow
    + 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. +
  • +
  • Persistent
    + specifies if changes to a configurable + user interface element should be persistent. This is an + optional argument. The default value is `TRUE`. +
  • +
  • Module
    + specifies the current module name (as a string). + May be empty. +
  • +
  • Controller
    + (Sidebar only) specifies the current com::sun::star::frame::XController2 instance. + May be empty. +
  • +
  • Canvas
    + (Sidebar only) specifies the current com::sun::star::rendering::XSpriteCanvas instance. +
  • +
  • ApplicationName
    + (Sidebar only) Specifies the current application name (as a string) +
  • +
  • ContextName
    + (Sidebar only) Specifies the current context (as a string) +
  • +
+ +

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

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