update dev300-m58
[ooovba.git] / offapi / com / sun / star / form / FormComponents.idl
blob7d43c6840df50e3395ff3b946694df28414f90e2
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: FormComponents.idl,v $
10 * $Revision: 1.10 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_form_FormComponents_idl__
31 #define __com_sun_star_form_FormComponents_idl__
33 #ifndef __com_sun_star_container_XNameContainer_idl__
34 #include <com/sun/star/container/XNameContainer.idl>
35 #endif
37 #ifndef __com_sun_star_container_XIndexContainer_idl__
38 #include <com/sun/star/container/XIndexContainer.idl>
39 #endif
41 #ifndef __com_sun_star_container_XEnumerationAccess_idl__
42 #include <com/sun/star/container/XEnumerationAccess.idl>
43 #endif
45 #ifndef __com_sun_star_container_XContainer_idl__
46 #include <com/sun/star/container/XContainer.idl>
47 #endif
49 #include <com/sun/star/script/XEventAttacherManager.idl>
51 //=============================================================================
53 module com { module sun { module star { module form {
55 //=============================================================================
57 /** specifies the capabilities of a collection of <type>FormComponent</type>s.
59 <p>The collection must provide the possibility of adding and removing
60 components by name and by index. The name of a component is not
61 necessarily unique, so the collection must be able to handle duplicate
62 entry names.</p>
64 @see FormComponent
66 published service FormComponents
68 /** allows to register listeners to be notified of changes in the container.
70 interface com::sun::star::container::XContainer;
72 /** allows to add/remove elements by name.
74 interface com::sun::star::container::XNameContainer;
76 /** gives access to the elements by index.
78 interface com::sun::star::container::XIndexContainer;
80 /** creates an enumeration of the elements.
82 interface com::sun::star::container::XEnumerationAccess;
84 /** This interface has to be implemented to supply the scripting environment
85 for the contained components.
87 <p>The interface allows managing of scripts associated with dependent components, accessed by index.
88 However, as a client of the <type>FormComponents</type> service, there's no need to bother with
89 the container aspect of the <type scope="com::sun::star::script">XEventAttacherManager</type>
90 directly. A <type>FormComponents</type> container will automatically synchronize the elements
91 you put into it with the scripting information obtained at the
92 <type scope="com::sun::star::script">XEventAttacherManager</type> interface.</p>
94 <p>For instance, at any time you can obtain the events associated with the <code>n</code><super>th</super>
95 element in the form components by calling
96 <member scope="com::sun::star::script">XEventAttacherManager::getScriptEvents</member>
97 with paramter <code>n</code>. In particular, this invariant is always met, even after you
98 inserted/removed elements into/from the container.</p>
100 interface com::sun::star::script::XEventAttacherManager;
103 //=============================================================================
105 }; }; }; };
107 /*=============================================================================
109 =============================================================================*/
110 #endif