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_PropertyAttribute_idl__
28#define __com_sun_star_beans_PropertyAttribute_idl__
29
30//=============================================================================
31
32 module com {  module sun {  module star {  module beans {
33
34//=============================================================================
35
36/** These values are used to specify the behavior of a <type>Property</type>.
37 */
38published constants PropertyAttribute
39{
40	//-------------------------------------------------------------------------
41
42	/** indicates that a property value can be void.
43
44		<p>It does not mean that the type of the property is void!
45	 */
46	const short MAYBEVOID = 1;
47
48	//-------------------------------------------------------------------------
49
50	/** indicates that a <type>PropertyChangeEvent</type> will be fired
51		to all registered <type>XPropertyChangeListener</type>s whenever the
52		value of this property changes.
53	 */
54	const short BOUND = 2;
55
56	//-------------------------------------------------------------------------
57
58	/** indicates that a <type>PropertyChangeEvent</type> will be fired
59		to all registered <type>XVetoableChangeListener</type>s whenever the
60		value of this property changes.
61
62			<p>This always implies that the property is <em>bound</em>, too. </p>
63	 */
64	const short CONSTRAINED = 4;
65
66	//-------------------------------------------------------------------------
67
68	/** indicates that the value of the property is not persistent.
69	 */
70	const short TRANSIENT = 8;
71
72	//-------------------------------------------------------------------------
73
74	/** indicates that the value of the property is read-only.
75	 */
76	const short READONLY = 16;
77
78	//-------------------------------------------------------------------------
79
80	/** indicates that the value of the property can be ambiguous.
81	 */
82	const short MAYBEAMBIGUOUS = 32;
83
84	//-------------------------------------------------------------------------
85
86	/** indicates that the property can be set to default.
87	 */
88	const short MAYBEDEFAULT = 64;
89
90	//-------------------------------------------------------------------------
91
92	/** indicates that the property can be removed
93		(i.e., by calling <member>XPropertyContainer::removeProperty</member>).
94	 */
95	const short REMOVEABLE = 128;
96
97	//-------------------------------------------------------------------------
98	/** @deprecated
99		same as <const>PropertyAttribute::REMOVEABLE</const>.
100	 */
101	const short REMOVABLE = 128;
102
103	//-------------------------------------------------------------------------
104    /** indicates that a property is optional.
105
106        <p>This attribute is not of interest for concrete property
107        implementations. It's needed for property specifications inside
108        service specifications in UNOIDL.
109
110        @see com::sun::star::reflection::XPropertyTypeDescription
111        @see com::sun::star::reflection::XServiceTypeDescription
112	@since OOo 1.1.2
113     */
114    const short OPTIONAL = 256;
115};
116
117//=============================================================================
118
119}; }; }; };
120
121#endif
122