summaryrefslogtreecommitdiff
path: root/offapi
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-06-06 19:29:18 +0200
committerEike Rathke <erack@redhat.com>2016-06-06 20:22:12 +0000
commitf88f6bcfce233c336c9025d466c5c2fb0b671de3 (patch)
tree4985b09359bd5474ba95d2d9962af894ea2d5ed5 /offapi
parent82f93bff42c0ce3b138ca61040c964f42632d000 (diff)
Resolves: tdf#35247 introduce a locale independent numeric field filter
... that tries to match a locale independent query string. Going via string queries is likely only necessary for the ugly alternative "fieldname[member]" syntax, if it is actually unnecessary for the field1,item1,... syntax needs to be evaluated and if so a distinct GetPivotData() function evaluating numeric contraints as well could be introduced. Change-Id: I2c1fc81c1022b0bba5eef8d86c0c815bb6e31f2d Reviewed-on: https://gerrit.libreoffice.org/25975 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'offapi')
-rw-r--r--offapi/UnoApi_offapi.mk1
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldFilter.idl14
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceMembers.idl4
-rw-r--r--offapi/com/sun/star/sheet/XMembersAccess.idl56
-rw-r--r--offapi/com/sun/star/sheet/XMembersSupplier.idl5
5 files changed, 74 insertions, 6 deletions
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index ad793bdf6c93..abaeea50a17a 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -3501,6 +3501,7 @@ $(eval $(call gb_UnoApi_add_idlfiles,offapi,com/sun/star/sheet,\
XLabelRange \
XLabelRanges \
XLevelsSupplier \
+ XMembersAccess \
XMembersSupplier \
XMultiFormulaTokens \
XMultipleOperation \
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl b/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl
index 66ca9764f3aa..c41cf395f6da 100644
--- a/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl
+++ b/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl
@@ -29,7 +29,19 @@ struct DataPilotFieldFilter
/** Field name. */
string FieldName;
- /** String value that needs to match against. */
+ /** String value that needs to match against, locale dependent.
+
+ <p> This is the value as name/label as also displayed in the
+ filter popup dialog, maybe formatted by user applied number
+ formats. </p>
+ */
+ string MatchValueName;
+
+ /** String value that needs to match against, locale independent.
+
+ <p> This is the underlying value formatted in a standardized
+ way, for example ISO 8601 YYYY-MM-DD for dates.
+ */
string MatchValue;
};
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl b/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl
index d928a8114516..4e113ca33247 100644
--- a/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl
+++ b/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl
@@ -20,7 +20,7 @@
#ifndef __com_sun_star_sheet_DataPilotSourceMembers_idl__
#define __com_sun_star_sheet_DataPilotSourceMembers_idl__
-#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/sheet/XMembersAccess.idl>
module com { module sun { module star { module sheet {
@@ -38,7 +38,7 @@ service DataPilotSourceMembers
@see com::sun::star::sheet::DataPilotSourceMember
*/
- interface com::sun::star::container::XNameAccess;
+ interface com::sun::star::sheet::XMembersAccess;
};
diff --git a/offapi/com/sun/star/sheet/XMembersAccess.idl b/offapi/com/sun/star/sheet/XMembersAccess.idl
new file mode 100644
index 000000000000..98494cee5868
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XMembersAccess.idl
@@ -0,0 +1,56 @@
+/* -*- 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/.
+ */
+
+#ifndef __com_sun_star_container_XMembersAccess_idl__
+#define __com_sun_star_container_XMembersAccess_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** is used to access named members in a data pilot source
+ level collection.
+
+ @see com::sun::star::sheet::DataPilotSourceMember
+ */
+interface XMembersAccess: com::sun::star::container::XNameAccess
+{
+
+ /** returns names of data pilot members in a locale independent
+ notation.
+
+ <p> Specifically date values are represented in an ISO 8601
+ YYYY-MM-DD notation and date+time as YYYY-MM-DD HH:MM:SS,
+ whereas the strings returned by
+ com::sun::star::container::XNameAccess::getElementNames() may
+ represent these in a locale dependent or user formatted notation
+ such as MM/DD/YY or DD.MM.YYYY or other. </p>
+
+ <p> The names returned by this function can NOT be used in calls
+ to com::sun::star::container::XNameAccess::getByName(). However,
+ the order returned in two immediately consecutive calls to
+ getElementNames() and getLocaleIndependentElementNames() maps to
+ the same elements in order. </p>
+
+ @returns
+ a sequence of all element names in this container.
+
+ */
+ sequence<string> getLocaleIndependentElementNames();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XMembersSupplier.idl b/offapi/com/sun/star/sheet/XMembersSupplier.idl
index 00172207b868..1fd13bf383cf 100644
--- a/offapi/com/sun/star/sheet/XMembersSupplier.idl
+++ b/offapi/com/sun/star/sheet/XMembersSupplier.idl
@@ -20,8 +20,7 @@
#ifndef __com_sun_star_sheet_XMembersSupplier_idl__
#define __com_sun_star_sheet_XMembersSupplier_idl__
-#include <com/sun/star/uno/XInterface.idl>
-#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/sheet/XMembersAccess.idl>
module com { module sun { module star { module sheet {
@@ -40,7 +39,7 @@ interface XMembersSupplier: com::sun::star::uno::XInterface
@see com::sun::star::sheet::DataPilotSourceMembers
*/
- com::sun::star::container::XNameAccess getMembers();
+ com::sun::star::sheet::XMembersAccess getMembers();
};