/* -*- 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_XUIConfigurationManager_idl__ #define __com_sun_star_ui_XUIConfigurationManager_idl__ #include #include #include #include #include #include #include #include #include #include module com { module sun { module star { module ui { /** specifies a user interface configuration manager interface which controls the structure of all customizable user interface elements. @since OOo 2.0 */ interface XUIConfigurationManager : ::com::sun::star::uno::XInterface { /** resets the configuration manager to the default user interface configuration data.

This means that all user interface configuration data of the instance will be removed. A module based user interface configuration manager removes user defined elements, but set all other elements back to default. It is not possible to remove default elements from a module user interface configuration manager.

*/ void reset(); /** retrieves information about all user interface elements within the user interface configuration manager. @param ElementType makes it possible to narrow the result set to only one type of user interface elements. If all user interface element types should be returned com::sun::star::ui::UIElementType::UNKNOWN must be provided. @return returns all user interface elements within the user interface configuration manager that meet the given ElementType specification.

The following com::sun::star::beans::PropertyValue entries are defined inside the sequence for every user interface element.

  • ResourceURLspecifies the unique resource URL for the user interface element.
  • UINamespecifies the user interface name for the user interface element. Not all user interface elements have set UIName. At least menubars do not.

@see UIElementType */ sequence< sequence< com::sun::star::beans::PropertyValue > > getUIElementsInfo( [in] short ElementType ) raises ( com::sun::star::lang::IllegalArgumentException ); /** creates an empty settings data container. @return an empty user interface element settings data container, which implements UIElementSettings. */ ::com::sun::star::container::XIndexContainer createSettings(); /** determines if the settings of a user interface element is part the user interface configuration manager. @param ResourceURL a resource URL which identifies the user interface element. A resource URL must meet the following syntax: "private:resource/$type/$name. It is only allowed to use ASCII characters for type and name. @return `TRUE` if settings have been found, otherwise `FALSE`. */ boolean hasSettings( [in] string ResourceURL ) raises ( com::sun::star::lang::IllegalArgumentException ); /** retrieves the settings of a user interface element. @param ResourceURL a resource URL which identifies the user interface element. A resource URL must meet the following syntax: "private:resource/$type/$name. It is only allowed to use ASCII characters for type and name. @param bWriteable must be `TRUE` if the retrieved settings should be a writable. Otherwise `FALSE` should be provided to get a shareable reference to the settings data. @return settings data of an existing user interface element, which implements UIElementSettings. If the settings data cannot be found a com::sun::star::container::NoSuchElementException is thrown. If the \p ResourceURL is not valid or describes an unknown type a com::sun::star::lang::IllegalArgumentException is thrown. */ ::com::sun::star::container::XIndexAccess getSettings( [in] string ResourceURL, [in] boolean bWriteable ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException ); /** replaces the settings of a user interface element with new settings. @param ResourceURL a resource URL which identifies the user interface element to be replaced. If no element with the given resource URL exists a com::sun::star::container::NoSuchElementException is thrown. @param aNewData the new settings data of an existing user interface element, which implements UIElementSettings.

If the settings data cannot be found a com::sun::star::container::NoSuchElementException is thrown. If the \p ResourceURL is not valid or describes an unknown type a com::sun::star::lang::IllegalArgumentException is thrown. If the configuration manager is read-only a com::sun::star::lang::IllegalAccessException is thrown.

*/ void replaceSettings( [in] string ResourceURL, [in] ::com::sun::star::container::XIndexAccess aNewData ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException ); /** removes the settings of an existing user interface element. @param ResourceURL a resource URL which identifies the user interface element settings to be removed.

If the settings data cannot be found a com::sun::star::container::NoSuchElementException is thrown. If the \p ResourceURL is not valid or describes an unknown type a com::sun::star::lang::IllegalArgumentException is thrown. If the configuration manager is read-only a com::sun::star::lang::IllegalAccessException is thrown.

*/ void removeSettings( [in] string ResourceURL ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException ); /** inserts the settings of a new user interface element. @param NewResourceURL a resource URL which identifies the new user interface element. @param aNewData the settings data of the new user interface element, which implements UIElementSettings.

If the settings data is already present a com::sun::star::container::ElementExistException is thrown. If the \p NewResourceURL is not valid or describes an unknown type a com::sun::star::lang::IllegalArgumentException is thrown. If the configuration manager is read-only a com::sun::star::lang::IllegalAccessException is thrown.

*/ void insertSettings( [in] string NewResourceURL, [in] ::com::sun::star::container::XIndexAccess aNewData ) raises ( com::sun::star::container::ElementExistException, com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException ); /** retrieves the image manager from the user interface configuration manager.

Every user interface configuration manager has one image manager instance which controls all images of a module or document.

@return the image manager of the user interface configuration manager. */ com::sun::star::uno::XInterface getImageManager(); /** retrieves the keyboard short cut manager from the user interface configuration manager.

Every user interface configuration manager has one keyboard short cut manager instance which controls all short cuts of a module or document.

@return the short cut manager of the user interface configuration manager. */ com::sun::star::ui::XAcceleratorConfiguration getShortCutManager(); /** retrieves the events manager from the user interface configuration manager.

Every user interface configuration manager has one events manager instance which controls the mapping of events to script URLs of a module or document.

@return the events manager of the user interface configuration manager, if one exists. */ com::sun::star::uno::XInterface getEventsManager(); }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */