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_DataPilotFieldGroupInfo_idl__ 29#define __com_sun_star_sheet_DataPilotFieldGroupInfo_idl__ 30 31#ifndef __com_sun_star_sheet_XDataPilotField_idl__ 32#include <com/sun/star/sheet/XDataPilotField.idl> 33#endif 34#ifndef __com_sun_star_container_XNameAccess_idl__ 35#include <com/sun/star/container/XNameAccess.idl> 36#endif 37 38//============================================================================= 39 40module com { module sun { module star { module sheet { 41 42//============================================================================= 43 44/** contains the grouping information of a <type>DataPilotField</type>. 45 */ 46published struct DataPilotFieldGroupInfo 47{ 48 //------------------------------------------------------------------------- 49 50 /** specifies whether the start value for the grouping is taken 51 automatically from the minimum of the item values. 52 53 <p><ul> 54 <li>If <FALSE/> is set, the value from <member>Start</member> will be 55 used as start value for the grouping.</li> 56 <li>If <TRUE/> is set, the start value for the grouping will be 57 calculated automatically from the minimum of all member values of the 58 DataPilot field.</li> 59 </ul></p> 60 */ 61 boolean HasAutoStart; 62 63 //------------------------------------------------------------------------- 64 65 /** specifies whether the end value for the grouping is taken 66 automatically from the maximum of the item values. 67 68 <p><ul> 69 <li>If <FALSE/> is set, the value from <member>End</member> will be 70 used as end value for the grouping.</li> 71 <li>If <TRUE/> is set, the end value for the grouping will be 72 calculated automatically from the maximum of all member values of the 73 DataPilot field.</li> 74 </ul></p> 75 */ 76 boolean HasAutoEnd; 77 78 //------------------------------------------------------------------------- 79 80 /** specifies whether date values are grouped by ranges of days. 81 82 <p><ul> 83 <li>If <FALSE/> is set, and <member>GroupBy</member> contains zero, 84 grouping is performed inplace on the item values.</li> 85 <li>If <FALSE/> is set, and <member>GroupBy</member> contains one or 86 more flags from <type>DataPilotFieldGroupBy</type>, grouping is 87 performed on date or time.</li> 88 <li>If <TRUE/> is set, <member>Step</member> contains a value greater 89 than or equal to 1, and <member>GroupBy</member> set to <const> 90 DataPilotFieldGroupBy::DAYS</const>, grouping is performed on ranges 91 of days (see descriptions for <member> 92 XDataPilotFieldGrouping::createDateGroup</member> for more details 93 about day grouping).</li> 94 </ul></p> 95 */ 96 boolean HasDateValues; 97 98 //------------------------------------------------------------------------- 99 100 /** specifies the start value for the grouping if <member>HasAutoStart 101 </member> is set to <FALSE/>. 102 */ 103 double Start; 104 105 //------------------------------------------------------------------------- 106 107 /** specifies the end value for the grouping if <member>HasAutoEnd 108 </member> is set to <FALSE/>. 109 */ 110 double End; 111 112 //------------------------------------------------------------------------- 113 114 /** specifies the size of the ranges for numeric or day grouping. 115 116 <p>Example: With <member>HasAutoStart</member> set to <FALSE/>, 117 <member>Start</member> set to 2, and <member>Step</member> set to 3, 118 the first group will contain all values greater than or equal to 2 and 119 less than 5. The second group will contain all values greater than or 120 equal to 5 and less then 8, and so on.</p> 121 */ 122 double Step; 123 124 //------------------------------------------------------------------------- 125 126 /** specifies the grouping of the date values. 127 128 @see DataPilotFieldGroupBy 129 */ 130 long GroupBy; 131 132 //------------------------------------------------------------------------- 133 134 /** contains the source DataPilot field grouping is based on. Will be 135 <NULL/> if this field is not grouped or contains numeric grouping. 136 137 @see DataPilotField 138 */ 139 XDataPilotField SourceField; 140 141 //------------------------------------------------------------------------- 142 143 /** specifies the named groups in this field if there are some. 144 145 <p>The returned object is an instance of <type>DataPilotFieldGroups 146 </type>. The collection of groups can be modified by inserting, 147 removing, replacing, or renaming single groups or item names in the 148 groups. When writing back this struct containing such a changed 149 collection of groups to the <member>DataPilotField::GroupInfo</member> 150 property, the modified grouping settings are applied at the DataPilot 151 field.</p> 152 153 @see DataPilotField 154 @see DataPilotFieldGroups 155 */ 156 com::sun::star::container::XNameAccess Groups; 157}; 158 159//============================================================================= 160 161}; }; }; }; 162 163#endif 164 165