blob: 545fe4f9dc402e2ecbc83489e92021a4a0da5153 [file] [log] [blame]
/**************************************************************
*
* 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