diff options
Diffstat (limited to 'offapi/com/sun/star/ui/XUIConfigurationManager.idl')
-rw-r--r-- | offapi/com/sun/star/ui/XUIConfigurationManager.idl | 241 |
1 files changed, 241 insertions, 0 deletions
diff --git a/offapi/com/sun/star/ui/XUIConfigurationManager.idl b/offapi/com/sun/star/ui/XUIConfigurationManager.idl new file mode 100644 index 000000000..cf18387f0 --- /dev/null +++ b/offapi/com/sun/star/ui/XUIConfigurationManager.idl @@ -0,0 +1,241 @@ +/* -*- 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 <com/sun/star/container/XIndexContainer.idl> +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/beans/PropertyValue.idl> +#include <com/sun/star/ui/XUIConfigurationListener.idl> +#include <com/sun/star/ui/XAcceleratorConfiguration.idl> +#include <com/sun/star/container/ElementExistException.idl> +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/lang/IllegalAccessException.idl> + +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. + <p> + 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. + </p> + */ + 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. <p>The following + com::sun::star::beans::PropertyValue entries + are defined inside the sequence for every user interface element. + <ul> + <li><b>ResourceURL</b>specifies the unique resource URL for + the user interface element.</li> + <li><b>UIName</b>specifies the user interface name for the + user interface element. Not all user interface elements have + set UIName. At least menubars do not.</li> + </ul> + <p> + + @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. + + <p> + 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. + </p> + */ + 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. + + <p> + 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. + </p> + */ + 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. + + <p> + 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. + </p> + */ + 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. + + <p> + Every user interface configuration manager has one image manager + instance which controls all images of a module or document. + </p> + + @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. + + <p> + Every user interface configuration manager has one keyboard short cut + manager instance which controls all short cuts of a module or document. + </p> + + @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. + + <p> + Every user interface configuration manager has one events manager + instance which controls the mapping of events to script URLs of a module + or document. + </p> + + @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: */ |