1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27
28#ifndef __com_sun_star_ui_XModuleUIConfigurationManager_idl__
29#define __com_sun_star_ui_XModuleUIConfigurationManager_idl__
30
31#ifndef __com_sun_star_container_XIndexContainer_idl__
32#include <com/sun/star/container/XIndexContainer.idl>
33#endif
34
35#ifndef __com_sun_star_container_XIndexAccess_idl__
36#include <com/sun/star/container/XIndexAccess.idl>
37#endif
38
39#ifndef __com_sun_star_container_NoSuchElementException_idl__
40#include <com/sun/star/container/NoSuchElementException.idl>
41#endif
42
43#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
44#include <com/sun/star/lang/IllegalArgumentException.idl>
45#endif
46
47#ifndef __com_sun_star_lang_IllegalAccessException_idl__
48#include <com/sun/star/lang/IllegalAccessException.idl>
49#endif
50
51module com { module sun { module star { module ui {
52
53/** specifies specific functions of a module based user interface
54    configuration manager interface.
55
56    <p>
57    A module user interface configuration manager supports, unlike a
58    document based ui configration manager, two layers of configuration
59    settings data:<br/>
60    1. Layer: A module default user interface configuration which
61              describe all user interface elements settings that are
62              used by OpenOffice. It is not possible to insert, remove
63              or changeelements settings in this layer through the
64              interfaces.</br>
65    2. Layer: A module user interface configuration which only contains
66              customized user interface elements and user-defined ones.
67              All changes on user interface element settings are done on
68              this layer. This layer is the same as the document ui
69              configuration manager uses.</br>
70    </p>
71
72    @since OOo 2.0
73*/
74
75interface XModuleUIConfigurationManager : ::com::sun::star::uno::XInterface
76{
77    /** determine if the settings of a user interface element is part
78        of the default layer of the user interface configuration manager.
79
80        @param ResourceURL
81            a resource URL which identifies the user interface element. A
82            resourcce URL must meet the following syntax:
83            "private:resource/$type/$name. It is only allowed to use ascii
84            characters for type and name.
85
86        @return
87            <TRUE/> if settings have been found in the default layer,
88            otherwise <FALSE/>.
89    */
90    boolean isDefaultSettings( [in] string ResourceURL ) raises ( com::sun::star::lang::IllegalArgumentException );
91
92    /** retrieves the settings from the default layer of the user interface
93        configuration manager if it has a default layer.
94
95        @param ResourceURL
96            a resource URL which identifies the user interface element. A
97            resourcce URL must meet the following syntax:
98            "private:resource/$type/$name. It is only allowed to use ascii
99            characters for type and name.
100
101        @return
102            <TRUE/> if default settings have been found in the default layer,
103            otherwise <FALSE/>.
104    */
105    ::com::sun::star::container::XIndexAccess getDefaultSettings( [in] string ResourceURL ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException );
106
107};
108
109//=============================================================================
110
111}; }; }; };
112
113#endif
114