summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl155
1 files changed, 155 insertions, 0 deletions
diff --git a/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl b/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl
new file mode 100644
index 000000000..3b935013b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl
@@ -0,0 +1,155 @@
+/* -*- 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_XDataPilotFieldGrouping_idl__
+#define __com_sun_star_sheet_XDataPilotFieldGrouping_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/DataPilotFieldGroupInfo.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** Provides methods to create new DataPilot fields where some or all items of
+ this DataPilot field are grouped in some way.
+
+ @see DataPilotField
+ */
+published interface XDataPilotFieldGrouping: com::sun::star::uno::XInterface
+{
+
+ /** Creates a new DataPilot field which contains a group containing the
+ given DataPilot field items (members).
+
+ <p>It is possible to create multiple groups by calling this method
+ several times at the same DataPilot field. On subsequent calls, the
+ DataPilot field created at the first call is used to insert the new
+ groups.</p>
+
+ <p>The collection of groups can be accessed via the
+ DataPilotField::GroupInfo property. The returned
+ struct contains the sequence of groups in its member
+ DataPilotFieldGroupInfo::Groups.</p>
+
+ @param aItems
+ a sequence containing the names of the items (members) which will
+ be part of the new group. Must be names of items contained in the
+ current field.
+
+ @returns
+ the new created field if there is one created on the first call of
+ this method. `NULL` is returned on subsequent calls.
+
+ @see DataPilotField
+ @see DataPilotFieldGroupInfo
+ */
+ XDataPilotField createNameGroup([in] sequence< string > aItems)
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** Groups the members of this field by dates, according to the passed
+ settings.
+
+ <p>If this field is already grouped by dates, a new DataPilot field
+ will be created and returned. If this field is not grouped at all, the
+ date grouping is performed inside of this field (no new field will be
+ created). There must not be any other grouping (by member names or by
+ numeric ranges), otherwise an exception is thrown.</p>
+
+ @param aInfo
+ contains the information how to group the items of the field. The
+ members of this struct have to fulfill the following requirements:
+
+ <ul>
+ <li>If the member DataPilotFieldGroupInfo::HasAutoStart
+ is set to `FALSE`, then the value of
+ DataPilotFieldGroupInfo::Start must be a floating-point
+ value representing a valid date/time value (if
+ DataPilotFieldGroupInfo::HasAutoStart is set to `TRUE`,
+ the value of DataPilotFieldGroupInfo::Start will
+ be ignored).</li>
+
+ <li>If the member DataPilotFieldGroupInfo::HasAutoEnd
+ is set to `FALSE`, then the value of
+ DataPilotFieldGroupInfo::End must be a floating-point
+ value representing a valid date/time value( if
+ DataPilotFieldGroupInfo::HasAutoEnd is set to `TRUE`,
+ the value of DataPilotFieldGroupInfo::End will be
+ ignored).</li>
+
+ <li>If the members DataPilotFieldGroupInfo::HasAutoStart
+ and DataPilotFieldGroupInfo::HasAutoEnd
+ are set to `FALSE` both, then the value of
+ DataPilotFieldGroupInfo::Start must be less than or equal
+ to the value of DataPilotFieldGroupInfo::End.</li>
+
+ <li>The member DataPilotFieldGroupInfo::HasDateValues
+ must be set to `TRUE`.</li>
+
+ <li>The member DataPilotFieldGroupInfo::Step must
+ be zero, unless ranges of days have to be grouped (see the
+ description of the member GroupBy below), in that case the value
+ must be greater than or equal to 1 and less than or equal to 32767.
+ The fractional part of the value will be ignored.</li>
+
+ <li>The member DataPilotFieldGroupInfo::GroupBy
+ must contain exactly one of the flags from DataPilotFieldGroupBy.
+ A combination of several flags will not be accepted. If
+ DataPilotFieldGroupBy::DAYS is specified, the
+ value of the member DataPilotFieldGroupInfo::Step
+ will specify the type of day grouping (see above). If that value
+ is zero, grouping is performed on all days of the year (e.g. the
+ members containing the 1st of January of any year are grouped
+ together). If that value is greater than zero, grouping is done on
+ ranges of days, and the value specifies the number of days grouped
+ into one range (e.g. a value of 7 groups the members of a week
+ into a range).</li>
+
+ <li>The contents of the member
+ DataPilotFieldGroupInfo::SourceField will be ignored.</li>
+
+ <li>The contents of the member
+ DataPilotFieldGroupInfo::Groups will be ignored.</li>
+ </ul>
+
+ @returns
+ the new created field if there is one created. `NULL` is returned,
+ if date grouping is performed inside this field (i.e. this field
+ was not grouped by dates before).
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the passed struct does not contain valid settings as described,
+ or if this field is already grouped by member names or numeric
+ ranges.
+
+ @see DataPilotField
+ */
+ XDataPilotField createDateGroup([in] DataPilotFieldGroupInfo aInfo)
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */