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_DataPilotSourceDimension_idl__
29 #define __com_sun_star_sheet_DataPilotSourceDimension_idl__
31 #ifndef __com_sun_star_container_XNamed_idl__
32 #include
<com
/sun
/star
/container
/XNamed.idl
>
35 #ifndef __com_sun_star_sheet_XHierarchiesSupplier_idl__
36 #include
<com
/sun
/star
/sheet
/XHierarchiesSupplier.idl
>
39 #ifndef __com_sun_star_util_XCloneable_idl__
40 #include
<com
/sun
/star
/util
/XCloneable.idl
>
43 #ifndef __com_sun_star_beans_XPropertySet_idl__
44 #include
<com
/sun
/star
/beans
/XPropertySet.idl
>
47 #ifndef __com_sun_star_sheet_DataPilotFieldOrientation_idl__
48 #include
<com
/sun
/star
/sheet
/DataPilotFieldOrientation.idl
>
51 #ifndef __com_sun_star_sheet_GeneralFunction_idl__
52 #include
<com
/sun
/star
/sheet
/GeneralFunction.idl
>
55 #ifndef __com_sun_star_sheet_TableFilterField_idl__
56 #include
<com
/sun
/star
/sheet
/TableFilterField.idl
>
59 //=============================================================================
61 module com
{ module sun
{ module star
{ module sheet
{
63 //=============================================================================
65 /** represents a dimension in a data pilot source.
67 <p>A dimension is equivalent to a column of a cell range in a spreadsheet
68 used for a data pilot field.</p>
70 <p>In more complex data sources, a dimension may contain several
71 hierarchies, which consolidate items of a complex data type, called
74 <p>Example: In a database, a column contains date values. This column
75 will be a dimension of the data pilot source. One hierarchy may contain
76 the 3 levels year, month, day. Another hierarchy may contain the 2 levels
77 year and week number.</p>
79 @see com::sun::star::sheet::DataPilotSource
80 @see com::sun::star::sheet::DataPilotTable
82 published service DataPilotSourceDimension
84 //-------------------------------------------------------------------------
86 /** provides access to the name of the dimension, i.e. used in
89 interface com
::sun
::star
::container
::XNamed
;
91 //-------------------------------------------------------------------------
93 /** provides access to the collection of hierarchies of this dimension.
95 interface com
::sun
::star
::sheet
::XHierarchiesSupplier
;
97 //-------------------------------------------------------------------------
99 /** supports duplicating the dimension.
101 <p>A dimension may be used several times in a data pilot table,
102 i.e. as row field and data field.</p>
104 interface com
::sun
::star
::util
::XCloneable
;
106 //-------------------------------------------------------------------------
108 //!published service PropertySet
109 /** provides access to the properties.
111 interface com
::sun
::star
::beans
::XPropertySet
;
113 //=========================================================================
115 /** returns the name of the dimension from which this dimension was
116 cloned, or <NULL/> if it was not cloned.
118 [readonly, property
] com
::sun
::star
::container
::XNamed Original
;
120 //-------------------------------------------------------------------------
122 /** contains <TRUE/> if this is the dimension used to layout the
123 different data dimensions.
125 [readonly, property
] boolean IsDataLayoutDimension
;
127 //-------------------------------------------------------------------------
129 /** specifies where the dimension is used.
131 [property
] com
::sun
::star
::sheet
::DataPilotFieldOrientation Orientation
;
133 //-------------------------------------------------------------------------
135 /** specifies the position of the dimension within its orientation.
137 [property
] long Position
;
139 //-------------------------------------------------------------------------
141 /** specifies how data are aggregated.
143 [property
] com
::sun
::star
::sheet
::GeneralFunction Function
;
145 //-------------------------------------------------------------------------
147 /** specifies which hierarchy of the dimension is used.
149 @see com::sun::star::sheet::DataPilotSourceHierarchies
151 [property
] long UsedHierarchy
;
153 //-------------------------------------------------------------------------
155 /** specifies which values are used.
157 [property
] sequence
< com
::sun
::star
::sheet
::TableFilterField
> Filter
;
159 //-------------------------------------------------------------------------
161 /** contains flags that control the usage of the dimension.
163 @see com::sun::star::sheet::DimensionFlags
165 [readonly, property
, optional] long Flags
;
169 //=============================================================================