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