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_form_FormComponent_idl__ 28#define __com_sun_star_form_FormComponent_idl__ 29 30#ifndef __com_sun_star_form_XFormComponent_idl__ 31#include <com/sun/star/form/XFormComponent.idl> 32#endif 33#ifndef __com_sun_star_lang_XComponent_idl__ 34#include <com/sun/star/lang/XComponent.idl> 35#endif 36#ifndef __com_sun_star_container_XNamed_idl__ 37#include <com/sun/star/container/XNamed.idl> 38#endif 39#ifndef __com_sun_star_beans_XPropertySet_idl__ 40#include <com/sun/star/beans/XPropertySet.idl> 41#endif 42#ifndef __com_sun_star_io_XPersistObject_idl__ 43#include <com/sun/star/io/XPersistObject.idl> 44#endif 45#ifndef __com_sun_star_beans_PropertyBag_idl__ 46#include <com/sun/star/beans/PropertyBag.idl> 47#endif 48 49 50//============================================================================= 51 52 module com { module sun { module star { module form { 53 54//============================================================================= 55 56/** specifies a component which can be part of a form. 57 58 @see FormControlModel 59 @see com::sun::star::form::component::Form 60 */ 61published service FormComponent 62{ 63 /** identifies the component as a candidate for being part of a form. 64 <p>This interface also provides the access to the component's parent.</p> 65 */ 66 interface com::sun::star::form::XFormComponent; 67 68 69 /** allows life-time control of form components. 70 */ 71 interface com::sun::star::lang::XComponent; 72 73 74 /** Each FormComponent must supply a name for identification. 75 */ 76 interface com::sun::star::container::XNamed; 77 78 /** gives access to the properties. 79 */ 80 interface com::sun::star::beans::XPropertySet; 81 82 83 /** Each FormComponent must be able to be stored into and read from a stream. 84 */ 85 interface com::sun::star::io::XPersistObject; 86 87 /** allows to associate arbitrary properties with the form component 88 89 <p>Every concrete form component - i.e. every service which includes 90 the <code>FormComponent</code> service - has a set of properties which 91 are available as long as the component lives - the so-called <em>static 92 properties</em>.</p> 93 94 <p>Additionally, you can add more properties to the component as needed, 95 using the <type scope="com::sun::star::beans">XPropertyContainer</type> interface. 96 Those properties are called <em>dynamic properties</em>.</p> 97 98 <p>Dynamic properties are not evaluated by the component itself, 99 nor by the form's runtime environment. They're only remembered and available for 100 use by other instances.</p> 101 102 <p>Note that dynamic properties added to a form component are, by definition, 103 removeable. That is, the <member scope="com::sun::star::beans">PropertyAttribute::REMOVEABLE</member> 104 will always be set, even if you do not specify it in the 105 <member scope="com::sun::star::beans">XPropertyContainer::addProperty</member> call.</p> 106 107 @since OOo 2.3 108 */ 109 [optional] service com::sun::star::beans::PropertyBag; 110 111 //------------------------------------------------------------------------- 112 113 /** the name of the component. 114 115 <p>Note that the name accessed here is the same as when using the 116 <type scope="com::sun::star::container">XNamed</type> interface.</p> 117 */ 118 [property] string Name; 119 120}; 121 122//============================================================================= 123 124}; }; }; }; 125 126/*============================================================================= 127 128=============================================================================*/ 129#endif 130