1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
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.
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).
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.
26 ************************************************************************/
28 #ifndef __com_sun_star_sheet_DataPilotFieldGroups_idl__
29 #define __com_sun_star_sheet_DataPilotFieldGroups_idl__
31 #ifndef __com_sun_star_container_XNameContainer_idl__
32 #include
<com
/sun
/star
/container
/XNameContainer.idl
>
34 #ifndef __com_sun_star_container_XEnumerationAccess_idl__
35 #include
<com
/sun
/star
/container
/XEnumerationAccess.idl
>
37 #ifndef __com_sun_star_container_XIndexAccess_idl__
38 #include
<com
/sun
/star
/container
/XIndexAccess.idl
>
41 //=============================================================================
43 module com
{ module sun
{ module star
{ module sheet
{
45 //=============================================================================
47 /** represents a collection of groups in a data pilot field.
49 <p>The members of this collection are instances of <type>DataPilotFieldGroup</type>
50 containing the names of all items in the group.</p>
53 @see DataPilotFieldGroup
54 @see DataPilotFieldGroupInfo
56 published service DataPilotFieldGroups
58 //-------------------------------------------------------------------------
60 /** provides access to the data pilot field groups in the collection via
63 interface com
::sun
::star
::container
::XIndexAccess
;
65 //-------------------------------------------------------------------------
67 /** creates an enumeration of all data pilot field groups.
69 @see DataPilotFieldGroupsEnumeration
71 interface com
::sun
::star
::container
::XEnumerationAccess
;
73 //-------------------------------------------------------------------------
75 /** provides access to the data pilot field groups in the collection via
78 interface com
::sun
::star
::container
::XNameAccess
;
80 //-------------------------------------------------------------------------
82 /** provides read/write access to the data pilot field groups in the
85 <p>The <type scope="com::sun::star::container">XNameContainer</type>
86 and <type scope="com::sun::star::container">XNameReplace</type>
87 interfaces can be used to manage the item groups. It is possible to
88 insert, remove, and replace item groups.</p>
90 <p>The method <member scope="com::sun::star::container">
91 XNameReplace::replaceByName</member> can be used to replace the item
92 names in an existing group with a new collection of item names. An
93 implementation should support the following data types:
96 <li>an empty <atom>any</atom> to remove all items and leave the
97 group empty. The group can be filled later with new item names.</li>
98 <li>a <atom dim="[]">string</atom> containing all item names that will
99 be part of the group.</li>
100 <li>an object supporting <type scope="com::sun::star::container">
101 XIndexAccess</type> containing elements that provide an item name per
102 element via the interface <type scope="com::sun::star::container">
103 XNamed</type>, for example an instance of <type>DataPilotFieldGroup
107 <p>The method <member scope="com::sun::star::container">
108 XNameContainer::insertByName</member> can be used to insert a new
109 field group with the passed collection of item names. An
110 implementation should support the same data types as described above
111 for the method <member scope="com::sun::star::container">
112 XNameReplace::replaceByName</member>.</p>
114 <p>The method <member scope="com::sun::star::container">
115 XNameContainer::removeByName</member> can be used to remove an
116 existing field group.</p>
118 [optional] interface com
::sun
::star
::container
::XNameContainer
;
122 //=============================================================================