/************************************************************** * * 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_sheet_DataPilotFieldGroups_idl__ #define __com_sun_star_sheet_DataPilotFieldGroups_idl__ #ifndef __com_sun_star_container_XNameContainer_idl__ #include <com/sun/star/container/XNameContainer.idl> #endif #ifndef __com_sun_star_container_XEnumerationAccess_idl__ #include <com/sun/star/container/XEnumerationAccess.idl> #endif #ifndef __com_sun_star_container_XIndexAccess_idl__ #include <com/sun/star/container/XIndexAccess.idl> #endif //============================================================================= module com { module sun { module star { module sheet { //============================================================================= /** represents a collection of groups in a data pilot field. <p>The members of this collection are instances of <type>DataPilotFieldGroup</type> containing the names of all items in the group.</p> @see DataPilotField @see DataPilotFieldGroup @see DataPilotFieldGroupInfo */ published service DataPilotFieldGroups { //------------------------------------------------------------------------- /** provides access to the data pilot field groups in the collection via index. */ interface com::sun::star::container::XIndexAccess; //------------------------------------------------------------------------- /** creates an enumeration of all data pilot field groups. @see DataPilotFieldGroupsEnumeration */ interface com::sun::star::container::XEnumerationAccess; //------------------------------------------------------------------------- /** provides access to the data pilot field groups in the collection via name. */ interface com::sun::star::container::XNameAccess; //------------------------------------------------------------------------- /** provides read/write access to the data pilot field groups in the collection via name. <p>The <type scope="com::sun::star::container">XNameContainer</type> and <type scope="com::sun::star::container">XNameReplace</type> interfaces can be used to manage the item groups. It is possible to insert, remove, and replace item groups.</p> <p>The method <member scope="com::sun::star::container"> XNameReplace::replaceByName</member> can be used to replace the item names in an existing group with a new collection of item names. An implementation should support the following data types: <ul> <li>an empty <atom>any</atom> to remove all items and leave the group empty. The group can be filled later with new item names.</li> <li>a <atom dim="[]">string</atom> containing all item names that will be part of the group.</li> <li>an object supporting <type scope="com::sun::star::container"> XIndexAccess</type> containing elements that provide an item name per element via the interface <type scope="com::sun::star::container"> XNamed</type>, for example an instance of <type>DataPilotFieldGroup </type>.</li> </ul></p> <p>The method <member scope="com::sun::star::container"> XNameContainer::insertByName</member> can be used to insert a new field group with the passed collection of item names. An implementation should support the same data types as described above for the method <member scope="com::sun::star::container"> XNameReplace::replaceByName</member>.</p> <p>The method <member scope="com::sun::star::container"> XNameContainer::removeByName</member> can be used to remove an existing field group.</p> */ [optional] interface com::sun::star::container::XNameContainer; }; //============================================================================= }; }; }; }; #endif