diff options
author | Eike Rathke <erack@redhat.com> | 2016-06-06 19:29:18 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2016-06-06 20:22:12 +0000 |
commit | f88f6bcfce233c336c9025d466c5c2fb0b671de3 (patch) | |
tree | 4985b09359bd5474ba95d2d9962af894ea2d5ed5 /offapi | |
parent | 82f93bff42c0ce3b138ca61040c964f42632d000 (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.mk | 1 | ||||
-rw-r--r-- | offapi/com/sun/star/sheet/DataPilotFieldFilter.idl | 14 | ||||
-rw-r--r-- | offapi/com/sun/star/sheet/DataPilotSourceMembers.idl | 4 | ||||
-rw-r--r-- | offapi/com/sun/star/sheet/XMembersAccess.idl | 56 | ||||
-rw-r--r-- | offapi/com/sun/star/sheet/XMembersSupplier.idl | 5 |
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(); }; |