xref: /trunk/main/udkapi/com/sun/star/beans/XMultiPropertyStates.idl (revision fc9fd3f14a55d77b35643a64034752a178b2a5b0)
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#ifndef __com_sun_star_beans_XMultiPropertyState_idl__
28#define __com_sun_star_beans_XMultiPropertyState_idl__
29
30#ifndef __com_sun_star_uno_XInterface_idl__
31#include <com/sun/star/uno/XInterface.idl>
32#endif
33
34#ifndef __com_sun_star_beans_PropertyState_idl__
35#include <com/sun/star/beans/PropertyState.idl>
36#endif
37
38#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
39#include <com/sun/star/beans/UnknownPropertyException.idl>
40#endif
41
42#ifndef __com_sun_star_lang_WrappedTargetException_idl__
43#include <com/sun/star/lang/WrappedTargetException.idl>
44#endif
45
46#ifndef __com_sun_star_beans_XPropertyStateChangeListener_idl__
47#include <com/sun/star/beans/XPropertyStateChangeListener.idl>
48#endif
49
50
51//=============================================================================
52
53module com { module sun { module star { module beans {
54
55//=============================================================================
56/** makes it possible to query information about the state of
57    one or more properties.
58
59    <p>The state of a property contains information about the source of
60    the value, e.g. the object itself, a default or a stylesheet.
61    For more information see <type>PropertyState</type>.
62*/
63published interface XMultiPropertyStates: com::sun::star::uno::XInterface
64{
65    //-------------------------------------------------------------------------
66    /** @returns
67            a sequence of the states of the properties which are specified
68            by their names.
69
70        <p>The order of the states is correlating to the order of the
71        given property names.
72
73        @param aPropertyName
74            specifies the names of the properties. All names must be unique.
75            This sequence must be alphabetically sorted.
76    */
77    sequence<com::sun::star::beans::PropertyState> getPropertyStates(
78            [in] sequence<string> aPropertyName )
79        raises( com::sun::star::beans::UnknownPropertyException );
80
81    //-------------------------------------------------------------------------
82    /** sets all properties to their default values.
83
84        <p>Each value depends on the implementation of this interface.
85        If it is a bound property, you must change the value before
86        the change events are fired.  If it is a constrained property, you
87        must fire the vetoable event before you change the property value.
88        </p>
89    */
90    void setAllPropertiesToDefault();
91
92    //-------------------------------------------------------------------------
93    /** sets the specified properties to their default values.
94
95        <p>Each value depends on the implementation of this interface.
96        If it is a bound property, you must change the value before
97        the change events are fired.  If it is a constrained property, you
98        must fire the vetoable event before you change the property value. </p>
99
100        @param aPropertyName
101            specifies the names of the properties. All names must be unique.
102            This sequence must be alphabetically sorted.
103
104        @throws UnknownPropertyException
105            if one of the properties does not exist.
106    */
107    void setPropertiesToDefault( [in] sequence<string> aPropertyNames )
108            raises( com::sun::star::beans::UnknownPropertyException );
109
110    //-------------------------------------------------------------------------
111    /** @returns
112            the default values of the propertes with the specified names.
113
114        <p>If no default exists, is not known, or is void,
115        then the return type at the corresponding position in the
116        sequence returned is <atom>void</atom>. </p>
117
118        @param aPropertyName
119            specifies the names of the properties. All names must be unique.
120            This sequence must be alphabetically sorted.
121
122        @throws UnknownPropertyException
123            if one of the propertes does not exist.
124
125        @throws  com::sun::star::lang::WrappedTargetException
126            if the implementation has an internal reason for the exception.
127            In this case the original exception is wrapped into that
128            <type scope="com::sun::star::lang">WrappedTargetException</type>.
129    */
130    sequence<any> getPropertyDefaults(
131                [in] sequence<string> aPropertyNames )
132            raises( com::sun::star::beans::UnknownPropertyException,
133                    com::sun::star::lang::WrappedTargetException );
134};
135
136//=============================================================================
137
138}; }; }; };
139
140#endif
141