| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_form_FormComponent_idl__ |
| #define __com_sun_star_form_FormComponent_idl__ |
| |
| #ifndef __com_sun_star_form_XFormComponent_idl__ |
| #include <com/sun/star/form/XFormComponent.idl> |
| #endif |
| #ifndef __com_sun_star_lang_XComponent_idl__ |
| #include <com/sun/star/lang/XComponent.idl> |
| #endif |
| #ifndef __com_sun_star_container_XNamed_idl__ |
| #include <com/sun/star/container/XNamed.idl> |
| #endif |
| #ifndef __com_sun_star_beans_XPropertySet_idl__ |
| #include <com/sun/star/beans/XPropertySet.idl> |
| #endif |
| #ifndef __com_sun_star_io_XPersistObject_idl__ |
| #include <com/sun/star/io/XPersistObject.idl> |
| #endif |
| #ifndef __com_sun_star_beans_PropertyBag_idl__ |
| #include <com/sun/star/beans/PropertyBag.idl> |
| #endif |
| |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module form { |
| |
| //============================================================================= |
| |
| /** specifies a component which can be part of a form. |
| |
| @see FormControlModel |
| @see com::sun::star::form::component::Form |
| */ |
| published service FormComponent |
| { |
| /** identifies the component as a candidate for being part of a form. |
| <p>This interface also provides the access to the component's parent.</p> |
| */ |
| interface com::sun::star::form::XFormComponent; |
| |
| |
| /** allows life-time control of form components. |
| */ |
| interface com::sun::star::lang::XComponent; |
| |
| |
| /** Each FormComponent must supply a name for identification. |
| */ |
| interface com::sun::star::container::XNamed; |
| |
| /** gives access to the properties. |
| */ |
| interface com::sun::star::beans::XPropertySet; |
| |
| |
| /** Each FormComponent must be able to be stored into and read from a stream. |
| */ |
| interface com::sun::star::io::XPersistObject; |
| |
| /** allows to associate arbitrary properties with the form component |
| |
| <p>Every concrete form component - i.e. every service which includes |
| the <code>FormComponent</code> service - has a set of properties which |
| are available as long as the component lives - the so-called <em>static |
| properties</em>.</p> |
| |
| <p>Additionally, you can add more properties to the component as needed, |
| using the <type scope="com::sun::star::beans">XPropertyContainer</type> interface. |
| Those properties are called <em>dynamic properties</em>.</p> |
| |
| <p>Dynamic properties are not evaluated by the component itself, |
| nor by the form's runtime environment. They're only remembered and available for |
| use by other instances.</p> |
| |
| <p>Note that dynamic properties added to a form component are, by definition, |
| removeable. That is, the <member scope="com::sun::star::beans">PropertyAttribute::REMOVEABLE</member> |
| will always be set, even if you do not specify it in the |
| <member scope="com::sun::star::beans">XPropertyContainer::addProperty</member> call.</p> |
| |
| @since OpenOffice 2.3 |
| */ |
| [optional] service com::sun::star::beans::PropertyBag; |
| |
| //------------------------------------------------------------------------- |
| |
| /** the name of the component. |
| |
| <p>Note that the name accessed here is the same as when using the |
| <type scope="com::sun::star::container">XNamed</type> interface.</p> |
| */ |
| [property] string Name; |
| |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| /*============================================================================= |
| |
| =============================================================================*/ |
| #endif |