1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_beans_PropertyAttribute_idl__
20 #define __com_sun_star_beans_PropertyAttribute_idl__
23 module com
{ module sun
{ module star
{ module beans
{
26 /** These values are used to specify the behavior of a Property.
28 published constants PropertyAttribute
31 /** indicates that a property value can be void.
33 <p>It does not mean that the type of the property is void!</p>
35 const short MAYBEVOID
= 1;
38 /** indicates that a PropertyChangeEvent will be fired
39 to all registered XPropertyChangeListeners whenever the
40 value of this property changes.
42 const short BOUND
= 2;
45 /** indicates that a PropertyChangeEvent will be fired
46 to all registered XVetoableChangeListeners whenever the
47 value of this property is about to change.
49 <p>This always implies that the property is <em>bound</em>, too. </p>
51 const short CONSTRAINED
= 4;
54 /** indicates that the value of the property is not persistent.
56 const short TRANSIENT
= 8;
59 /** indicates that the value of the property is read-only.
61 const short READONLY = 16;
64 /** indicates that the value of the property can be ambiguous.
66 const short MAYBEAMBIGUOUS
= 32;
69 /** indicates that the property can be set to default.
71 const short MAYBEDEFAULT
= 64;
74 /** indicates that the property can be removed
75 (i.e., by calling XPropertyContainer::removeProperty()).
77 const short REMOVABLE
= 128;
80 same as PropertyAttribute::REMOVABLE.
82 const short REMOVEABLE
= 128;
84 /** indicates that a property is optional.
86 <p>This attribute is not of interest for concrete property
87 implementations. It's needed for property specifications inside
88 service specifications in UNOIDL.</p>
90 @see com::sun::star::reflection::XPropertyTypeDescription
91 @see com::sun::star::reflection::XServiceTypeDescription
94 const short OPTIONAL = 256;
102 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */