blob: e99287d4ddfc1eed180d10a6d9a7e0e25c690e54 [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_DataPilotSourceDimension_idl__
#define __com_sun_star_sheet_DataPilotSourceDimension_idl__
#ifndef __com_sun_star_container_XNamed_idl__
#include <com/sun/star/container/XNamed.idl>
#endif
#ifndef __com_sun_star_sheet_XHierarchiesSupplier_idl__
#include <com/sun/star/sheet/XHierarchiesSupplier.idl>
#endif
#ifndef __com_sun_star_util_XCloneable_idl__
#include <com/sun/star/util/XCloneable.idl>
#endif
#ifndef __com_sun_star_beans_XPropertySet_idl__
#include <com/sun/star/beans/XPropertySet.idl>
#endif
#ifndef __com_sun_star_sheet_DataPilotFieldOrientation_idl__
#include <com/sun/star/sheet/DataPilotFieldOrientation.idl>
#endif
#ifndef __com_sun_star_sheet_GeneralFunction_idl__
#include <com/sun/star/sheet/GeneralFunction.idl>
#endif
#ifndef __com_sun_star_sheet_TableFilterField_idl__
#include <com/sun/star/sheet/TableFilterField.idl>
#endif
//=============================================================================
module com { module sun { module star { module sheet {
//=============================================================================
/** represents a dimension in a data pilot source.
<p>A dimension is equivalent to a column of a cell range in a spreadsheet
used for a data pilot field.</p>
<p>In more complex data sources, a dimension may contain several
hierarchies, which consolidate items of a complex data type, called
levels.</p>
<p>Example: In a database, a column contains date values. This column
will be a dimension of the data pilot source. One hierarchy may contain
the 3 levels year, month, day. Another hierarchy may contain the 2 levels
year and week number.</p>
@see com::sun::star::sheet::DataPilotSource
@see com::sun::star::sheet::DataPilotTable
*/
published service DataPilotSourceDimension
{
//-------------------------------------------------------------------------
/** provides access to the name of the dimension, i.e. used in
collections.
*/
interface com::sun::star::container::XNamed;
//-------------------------------------------------------------------------
/** provides access to the collection of hierarchies of this dimension.
*/
interface com::sun::star::sheet::XHierarchiesSupplier;
//-------------------------------------------------------------------------
/** supports duplicating the dimension.
<p>A dimension may be used several times in a data pilot table,
i.e. as row field and data field.</p>
*/
interface com::sun::star::util::XCloneable;
//-------------------------------------------------------------------------
//!published service PropertySet
/** provides access to the properties.
*/
interface com::sun::star::beans::XPropertySet;
//=========================================================================
/** returns the name of the dimension from which this dimension was
cloned, or <NULL/> if it was not cloned.
*/
[readonly, property] com::sun::star::container::XNamed Original;
//-------------------------------------------------------------------------
/** contains <TRUE/> if this is the dimension used to layout the
different data dimensions.
*/
[readonly, property] boolean IsDataLayoutDimension;
//-------------------------------------------------------------------------
/** specifies where the dimension is used.
*/
[property] com::sun::star::sheet::DataPilotFieldOrientation Orientation;
//-------------------------------------------------------------------------
/** specifies the position of the dimension within its orientation.
*/
[property] long Position;
//-------------------------------------------------------------------------
/** specifies how data are aggregated.
*/
[property] com::sun::star::sheet::GeneralFunction Function;
//-------------------------------------------------------------------------
/** specifies which hierarchy of the dimension is used.
@see com::sun::star::sheet::DataPilotSourceHierarchies
*/
[property] long UsedHierarchy;
//-------------------------------------------------------------------------
/** specifies which values are used.
*/
[property] sequence< com::sun::star::sheet::TableFilterField > Filter;
//-------------------------------------------------------------------------
/** contains flags that control the usage of the dimension.
@see com::sun::star::sheet::DimensionFlags
*/
[readonly, property, optional] long Flags;
};
//=============================================================================
}; }; }; };
#endif