1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24#ifndef __com_sun_star_sheet_DataPilotFieldGroups_idl__ 25#define __com_sun_star_sheet_DataPilotFieldGroups_idl__ 26 27#ifndef __com_sun_star_container_XNameContainer_idl__ 28#include <com/sun/star/container/XNameContainer.idl> 29#endif 30#ifndef __com_sun_star_container_XEnumerationAccess_idl__ 31#include <com/sun/star/container/XEnumerationAccess.idl> 32#endif 33#ifndef __com_sun_star_container_XIndexAccess_idl__ 34#include <com/sun/star/container/XIndexAccess.idl> 35#endif 36 37//============================================================================= 38 39module com { module sun { module star { module sheet { 40 41//============================================================================= 42 43/** represents a collection of groups in a data pilot field. 44 45 <p>The members of this collection are instances of <type>DataPilotFieldGroup</type> 46 containing the names of all items in the group.</p> 47 48 @see DataPilotField 49 @see DataPilotFieldGroup 50 @see DataPilotFieldGroupInfo 51 */ 52published service DataPilotFieldGroups 53{ 54 //------------------------------------------------------------------------- 55 56 /** provides access to the data pilot field groups in the collection via 57 index. 58 */ 59 interface com::sun::star::container::XIndexAccess; 60 61 //------------------------------------------------------------------------- 62 63 /** creates an enumeration of all data pilot field groups. 64 65 @see DataPilotFieldGroupsEnumeration 66 */ 67 interface com::sun::star::container::XEnumerationAccess; 68 69 //------------------------------------------------------------------------- 70 71 /** provides access to the data pilot field groups in the collection via 72 name. 73 */ 74 interface com::sun::star::container::XNameAccess; 75 76 //------------------------------------------------------------------------- 77 78 /** provides read/write access to the data pilot field groups in the 79 collection via name. 80 81 <p>The <type scope="com::sun::star::container">XNameContainer</type> 82 and <type scope="com::sun::star::container">XNameReplace</type> 83 interfaces can be used to manage the item groups. It is possible to 84 insert, remove, and replace item groups.</p> 85 86 <p>The method <member scope="com::sun::star::container"> 87 XNameReplace::replaceByName</member> can be used to replace the item 88 names in an existing group with a new collection of item names. An 89 implementation should support the following data types: 90 91 <ul> 92 <li>an empty <atom>any</atom> to remove all items and leave the 93 group empty. The group can be filled later with new item names.</li> 94 <li>a <atom dim="[]">string</atom> containing all item names that will 95 be part of the group.</li> 96 <li>an object supporting <type scope="com::sun::star::container"> 97 XIndexAccess</type> containing elements that provide an item name per 98 element via the interface <type scope="com::sun::star::container"> 99 XNamed</type>, for example an instance of <type>DataPilotFieldGroup 100 </type>.</li> 101 </ul></p> 102 103 <p>The method <member scope="com::sun::star::container"> 104 XNameContainer::insertByName</member> can be used to insert a new 105 field group with the passed collection of item names. An 106 implementation should support the same data types as described above 107 for the method <member scope="com::sun::star::container"> 108 XNameReplace::replaceByName</member>.</p> 109 110 <p>The method <member scope="com::sun::star::container"> 111 XNameContainer::removeByName</member> can be used to remove an 112 existing field group.</p> 113 */ 114 [optional] interface com::sun::star::container::XNameContainer; 115 116}; 117 118//============================================================================= 119 120}; }; }; }; 121 122#endif 123 124