1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: DataPilotFieldGroups.idl,v $
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 ************************************************************************/
31 #ifndef __com_sun_star_sheet_DataPilotFieldGroups_idl__
32 #define __com_sun_star_sheet_DataPilotFieldGroups_idl__
34 #ifndef __com_sun_star_container_XNameContainer_idl__
35 #include
<com
/sun
/star
/container
/XNameContainer.idl
>
37 #ifndef __com_sun_star_container_XEnumerationAccess_idl__
38 #include
<com
/sun
/star
/container
/XEnumerationAccess.idl
>
40 #ifndef __com_sun_star_container_XIndexAccess_idl__
41 #include
<com
/sun
/star
/container
/XIndexAccess.idl
>
44 //=============================================================================
46 module com
{ module sun
{ module star
{ module sheet
{
48 //=============================================================================
50 /** represents a collection of groups in a data pilot field.
52 <p>The members of this collection are instances of <type>DataPilotFieldGroup</type>
53 containing the names of all items in the group.</p>
56 @see DataPilotFieldGroup
57 @see DataPilotFieldGroupInfo
59 published service DataPilotFieldGroups
61 //-------------------------------------------------------------------------
63 /** provides access to the data pilot field groups in the collection via
66 interface com
::sun
::star
::container
::XIndexAccess
;
68 //-------------------------------------------------------------------------
70 /** creates an enumeration of all data pilot field groups.
72 @see DataPilotFieldGroupsEnumeration
74 interface com
::sun
::star
::container
::XEnumerationAccess
;
76 //-------------------------------------------------------------------------
78 /** provides access to the data pilot field groups in the collection via
81 interface com
::sun
::star
::container
::XNameAccess
;
83 //-------------------------------------------------------------------------
85 /** provides read/write access to the data pilot field groups in the
88 <p>The <type scope="com::sun::star::container">XNameContainer</type>
89 and <type scope="com::sun::star::container">XNameReplace</type>
90 interfaces can be used to manage the item groups. It is possible to
91 insert, remove, and replace item groups.</p>
93 <p>The method <member scope="com::sun::star::container">
94 XNameReplace::replaceByName</member> can be used to replace the item
95 names in an existing group with a new collection of item names. An
96 implementation should support the following data types:
99 <li>an empty <atom>any</atom> to remove all items and leave the
100 group empty. The group can be filled later with new item names.</li>
101 <li>a <atom dim="[]">string</atom> containing all item names that will
102 be part of the group.</li>
103 <li>an object supporting <type scope="com::sun::star::container">
104 XIndexAccess</type> containing elements that provide an item name per
105 element via the interface <type scope="com::sun::star::container">
106 XNamed</type>, for example an instance of <type>DataPilotFieldGroup
110 <p>The method <member scope="com::sun::star::container">
111 XNameContainer::insertByName</member> can be used to insert a new
112 field group with the passed collection of item names. An
113 implementation should support the same data types as described above
114 for the method <member scope="com::sun::star::container">
115 XNameReplace::replaceByName</member>.</p>
117 <p>The method <member scope="com::sun::star::container">
118 XNameContainer::removeByName</member> can be used to remove an
119 existing field group.</p>
121 [optional] interface com
::sun
::star
::container
::XNameContainer
;
125 //=============================================================================