xref: /AOO41X/main/offapi/com/sun/star/form/FormComponent.idl (revision 96af39f745f380c70aec9fab3a79dc8b37f680ac)
1d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5d1766043SAndrew Rist * distributed with this work for additional information
6d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir *
13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14d1766043SAndrew Rist * software distributed under the License is distributed on an
15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17d1766043SAndrew Rist * specific language governing permissions and limitations
18d1766043SAndrew Rist * under the License.
19cdf0e10cSrcweir *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_form_FormComponent_idl__
24cdf0e10cSrcweir#define __com_sun_star_form_FormComponent_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_form_XFormComponent_idl__
27cdf0e10cSrcweir#include <com/sun/star/form/XFormComponent.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir#ifndef __com_sun_star_lang_XComponent_idl__
30cdf0e10cSrcweir#include <com/sun/star/lang/XComponent.idl>
31cdf0e10cSrcweir#endif
32cdf0e10cSrcweir#ifndef __com_sun_star_container_XNamed_idl__
33cdf0e10cSrcweir#include <com/sun/star/container/XNamed.idl>
34cdf0e10cSrcweir#endif
35cdf0e10cSrcweir#ifndef __com_sun_star_beans_XPropertySet_idl__
36cdf0e10cSrcweir#include <com/sun/star/beans/XPropertySet.idl>
37cdf0e10cSrcweir#endif
38cdf0e10cSrcweir#ifndef __com_sun_star_io_XPersistObject_idl__
39cdf0e10cSrcweir#include <com/sun/star/io/XPersistObject.idl>
40cdf0e10cSrcweir#endif
41cdf0e10cSrcweir#ifndef __com_sun_star_beans_PropertyBag_idl__
42cdf0e10cSrcweir#include <com/sun/star/beans/PropertyBag.idl>
43cdf0e10cSrcweir#endif
44cdf0e10cSrcweir
45cdf0e10cSrcweir
46cdf0e10cSrcweir//=============================================================================
47cdf0e10cSrcweir
48cdf0e10cSrcweir module com {  module sun {  module star {  module form {
49cdf0e10cSrcweir
50cdf0e10cSrcweir//=============================================================================
51cdf0e10cSrcweir
52cdf0e10cSrcweir/** specifies a component which can be part of a form.
53cdf0e10cSrcweir
54cdf0e10cSrcweir	@see FormControlModel
55cdf0e10cSrcweir	@see com::sun::star::form::component::Form
56cdf0e10cSrcweir */
57cdf0e10cSrcweirpublished service FormComponent
58cdf0e10cSrcweir{
59cdf0e10cSrcweir	/** identifies the component as a candidate for being part of a form.
60cdf0e10cSrcweir		<p>This interface also provides the access to the component's parent.</p>
61cdf0e10cSrcweir	 */
62cdf0e10cSrcweir	interface com::sun::star::form::XFormComponent;
63cdf0e10cSrcweir
64cdf0e10cSrcweir
65cdf0e10cSrcweir	/** allows life-time control of form components.
66cdf0e10cSrcweir	 */
67cdf0e10cSrcweir	interface com::sun::star::lang::XComponent;
68cdf0e10cSrcweir
69cdf0e10cSrcweir
70cdf0e10cSrcweir	/** Each FormComponent must supply a name for identification.
71cdf0e10cSrcweir	 */
72cdf0e10cSrcweir	interface com::sun::star::container::XNamed;
73cdf0e10cSrcweir
74cdf0e10cSrcweir	/** gives access to the properties.
75cdf0e10cSrcweir	*/
76cdf0e10cSrcweir	interface com::sun::star::beans::XPropertySet;
77cdf0e10cSrcweir
78cdf0e10cSrcweir
79cdf0e10cSrcweir	/** Each FormComponent must be able to be stored into and read from a stream.
80cdf0e10cSrcweir	 */
81cdf0e10cSrcweir	interface com::sun::star::io::XPersistObject;
82cdf0e10cSrcweir
83cdf0e10cSrcweir    /** allows to associate arbitrary properties with the form component
84cdf0e10cSrcweir
85cdf0e10cSrcweir        <p>Every concrete form component - i.e. every service which includes
86cdf0e10cSrcweir        the <code>FormComponent</code> service - has a set of properties which
87cdf0e10cSrcweir        are available as long as the component lives - the so-called <em>static
88cdf0e10cSrcweir        properties</em>.</p>
89cdf0e10cSrcweir
90cdf0e10cSrcweir        <p>Additionally, you can add more properties to the component as needed,
91cdf0e10cSrcweir        using the <type scope="com::sun::star::beans">XPropertyContainer</type> interface.
92cdf0e10cSrcweir        Those properties are called <em>dynamic properties</em>.</p>
93cdf0e10cSrcweir
94cdf0e10cSrcweir        <p>Dynamic properties are not evaluated by the component itself,
95cdf0e10cSrcweir        nor by the form's runtime environment. They're only remembered and available for
96cdf0e10cSrcweir        use by other instances.</p>
97cdf0e10cSrcweir
98cdf0e10cSrcweir        <p>Note that dynamic properties added to a form component are, by definition,
99cdf0e10cSrcweir        removeable. That is, the <member scope="com::sun::star::beans">PropertyAttribute::REMOVEABLE</member>
100cdf0e10cSrcweir        will always be set, even if you do not specify it in the
101cdf0e10cSrcweir        <member scope="com::sun::star::beans">XPropertyContainer::addProperty</member> call.</p>
102cdf0e10cSrcweir
103*96af39f7SJürgen Schmidt        @since OpenOffice 2.3
104cdf0e10cSrcweir    */
105cdf0e10cSrcweir    [optional] service com::sun::star::beans::PropertyBag;
106cdf0e10cSrcweir
107cdf0e10cSrcweir	//-------------------------------------------------------------------------
108cdf0e10cSrcweir
109cdf0e10cSrcweir	/** the name of the component.
110cdf0e10cSrcweir
111cdf0e10cSrcweir        <p>Note that the name accessed here is the same as when using the
112cdf0e10cSrcweir		<type scope="com::sun::star::container">XNamed</type> interface.</p>
113cdf0e10cSrcweir	 */
114cdf0e10cSrcweir	[property] string Name;
115cdf0e10cSrcweir
116cdf0e10cSrcweir};
117cdf0e10cSrcweir
118cdf0e10cSrcweir//=============================================================================
119cdf0e10cSrcweir
120cdf0e10cSrcweir}; }; }; };
121cdf0e10cSrcweir
122cdf0e10cSrcweir/*=============================================================================
123cdf0e10cSrcweir
124cdf0e10cSrcweir=============================================================================*/
125cdf0e10cSrcweir#endif
126