/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef __com_sun_star_sheet_DataPilotFieldGroupInfo_idl__
#define __com_sun_star_sheet_DataPilotFieldGroupInfo_idl__
#include
#include
module com { module sun { module star { module sheet {
/** contains the grouping information of a DataPilotField.
*/
published struct DataPilotFieldGroupInfo
{
/** specifies whether the start value for the grouping is taken
automatically from the minimum of the item values.
- If is set, the value from Start will be
used as start value for the grouping.
- If is set, the start value for the grouping will be
calculated automatically from the minimum of all member values of the
DataPilot field.
*/
boolean HasAutoStart;
/** specifies whether the end value for the grouping is taken
automatically from the maximum of the item values.
- If is set, the value from End will be
used as end value for the grouping.
- If is set, the end value for the grouping will be
calculated automatically from the maximum of all member values of the
DataPilot field.
*/
boolean HasAutoEnd;
/** specifies whether date values are grouped by ranges of days.
- If is set, and GroupBy contains zero,
grouping is performed inplace on the item values.
- If is set, and GroupBy contains one or
more flags from DataPilotFieldGroupBy, grouping is
performed on date or time.
- If is set, Step contains a value greater
than or equal to 1, and GroupBy set to
DataPilotFieldGroupBy::DAYS, grouping is performed on ranges
of days (see descriptions for
XDataPilotFieldGrouping::createDateGroup for more details
about day grouping).
*/
boolean HasDateValues;
/** specifies the start value for the grouping if HasAutoStart
is set to .
*/
double Start;
/** specifies the end value for the grouping if HasAutoEnd
is set to .
*/
double End;
/** specifies the size of the ranges for numeric or day grouping.
Example: With HasAutoStart set to ,
Start set to 2, and Step set to 3,
the first group will contain all values greater than or equal to 2 and
less than 5. The second group will contain all values greater than or
equal to 5 and less then 8, and so on.
*/
double Step;
/** specifies the grouping of the date values.
@see DataPilotFieldGroupBy
*/
long GroupBy;
/** contains the source DataPilot field grouping is based on. Will be
if this field is not grouped or contains numeric grouping.
@see DataPilotField
*/
XDataPilotField SourceField;
/** specifies the named groups in this field if there are some.
The returned object is an instance of DataPilotFieldGroups
. The collection of groups can be modified by inserting,
removing, replacing, or renaming single groups or item names in the
groups. When writing back this struct containing such a changed
collection of groups to the DataPilotField::GroupInfo
property, the modified grouping settings are applied at the DataPilot
field.
@see DataPilotField
@see DataPilotFieldGroups
*/
com::sun::star::container::XNameAccess Groups;
};
}; }; }; };
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */