xref: /AOO41X/main/offapi/com/sun/star/sheet/DataPilotSourceDimension.idl (revision d1766043198e81d0bcfc626e12893e7b4d7e31ca)
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_DataPilotSourceDimension_idl__
25#define __com_sun_star_sheet_DataPilotSourceDimension_idl__
26
27#ifndef __com_sun_star_container_XNamed_idl__
28#include <com/sun/star/container/XNamed.idl>
29#endif
30
31#ifndef __com_sun_star_sheet_XHierarchiesSupplier_idl__
32#include <com/sun/star/sheet/XHierarchiesSupplier.idl>
33#endif
34
35#ifndef __com_sun_star_util_XCloneable_idl__
36#include <com/sun/star/util/XCloneable.idl>
37#endif
38
39#ifndef __com_sun_star_beans_XPropertySet_idl__
40#include <com/sun/star/beans/XPropertySet.idl>
41#endif
42
43#ifndef __com_sun_star_sheet_DataPilotFieldOrientation_idl__
44#include <com/sun/star/sheet/DataPilotFieldOrientation.idl>
45#endif
46
47#ifndef __com_sun_star_sheet_GeneralFunction_idl__
48#include <com/sun/star/sheet/GeneralFunction.idl>
49#endif
50
51#ifndef __com_sun_star_sheet_TableFilterField_idl__
52#include <com/sun/star/sheet/TableFilterField.idl>
53#endif
54
55//=============================================================================
56
57 module com {  module sun {  module star {  module sheet {
58
59//=============================================================================
60
61/** represents a dimension in a data pilot source.
62
63    <p>A dimension is equivalent to a column of a cell range in a spreadsheet
64    used for a data pilot field.</p>
65
66    <p>In more complex data sources, a dimension may contain several
67    hierarchies, which consolidate items of a complex data type, called
68    levels.</p>
69
70    <p>Example: In a database, a column contains date values. This column
71    will be a dimension of the data pilot source. One hierarchy may contain
72    the 3 levels year, month, day. Another hierarchy may contain the 2 levels
73    year and week number.</p>
74
75    @see com::sun::star::sheet::DataPilotSource
76    @see com::sun::star::sheet::DataPilotTable
77 */
78published service DataPilotSourceDimension
79{
80    //-------------------------------------------------------------------------
81
82    /** provides access to the name of the dimension, i.e. used in
83        collections.
84     */
85    interface com::sun::star::container::XNamed;
86
87    //-------------------------------------------------------------------------
88
89    /** provides access to the collection of hierarchies of this dimension.
90     */
91    interface com::sun::star::sheet::XHierarchiesSupplier;
92
93    //-------------------------------------------------------------------------
94
95    /** supports duplicating the dimension.
96
97        <p>A dimension may be used several times in a data pilot table,
98        i.e. as row field and data field.</p>
99     */
100    interface com::sun::star::util::XCloneable;
101
102    //-------------------------------------------------------------------------
103
104//!published service PropertySet
105    /** provides access to the properties.
106     */
107    interface com::sun::star::beans::XPropertySet;
108
109    //=========================================================================
110
111    /** returns the name of the dimension from which this dimension was
112        cloned, or <NULL/> if it was not cloned.
113     */
114    [readonly, property] com::sun::star::container::XNamed Original;
115
116    //-------------------------------------------------------------------------
117
118    /** contains <TRUE/> if this is the dimension used to layout the
119        different data dimensions.
120     */
121    [readonly, property] boolean IsDataLayoutDimension;
122
123    //-------------------------------------------------------------------------
124
125    /** specifies where the dimension is used.
126     */
127    [property] com::sun::star::sheet::DataPilotFieldOrientation Orientation;
128
129    //-------------------------------------------------------------------------
130
131    /** specifies the position of the dimension within its orientation.
132     */
133    [property] long Position;
134
135    //-------------------------------------------------------------------------
136
137    /** specifies how data are aggregated.
138     */
139    [property] com::sun::star::sheet::GeneralFunction Function;
140
141    //-------------------------------------------------------------------------
142
143    /** specifies which hierarchy of the dimension is used.
144
145        @see com::sun::star::sheet::DataPilotSourceHierarchies
146     */
147    [property] long UsedHierarchy;
148
149    //-------------------------------------------------------------------------
150
151    /** specifies which values are used.
152     */
153    [property] sequence< com::sun::star::sheet::TableFilterField > Filter;
154
155    //-------------------------------------------------------------------------
156
157    /** contains flags that control the usage of the dimension.
158
159        @see com::sun::star::sheet::DimensionFlags
160     */
161    [readonly, property, optional] long Flags;
162
163};
164
165//=============================================================================
166
167}; }; }; };
168
169#endif
170
171