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