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