diff options
author | Dennis Francis <dennisfrancis.in@gmail.com> | 2021-09-02 14:33:55 +0530 |
---|---|---|
committer | Dennis Francis <dennis.francis@collabora.com> | 2021-09-07 08:19:22 +0200 |
commit | 3798e0a383404606ec27f318e4fe239de2350fe8 (patch) | |
tree | 02ad169d2f7708469da2f4ec2b9db2ac1f0436bb /offapi | |
parent | 9cc818355dad271c030af611862f15c0e081321a (diff) |
[API CHANGE] oox: fix import of chart date categories
Before this fix, date categories imported in oox's DataSourceContext were
stored as formatted strings according to number format code in <c:formatCode>
under the <c:cat> tree. As a result chart2 could not recognize them
as dates. This causes problems like:
* The axis that is linked to date categories cannot use the
scaling/range-selection(min/max)/increments specs mentioned as axis
properties. This results in distorted/unreadable chart renders w.r.t
the date axis.
* No re-formatting is attempted as per the number format provided for axis.
This patch introduces a role qualifer argument to the XDataProvider
interface method createDataSequenceByValueArray to support categories of
date type via this method.
When exporting to oox, write date categories and format code under
<c:cat>
<c:numRef>
<c:numCache>
This patch also fixes some discrepancies in date axis interval
computation (auto mode) found by already existing unit tests.
Conflicts:
chart2/qa/extras/chart2export2.cxx
chart2/source/inc/InternalDataProvider.hxx
chart2/source/tools/InternalDataProvider.cxx
Change-Id: Ibc53b0a56fdddba80ba452d5567ce98d80460ea7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121525
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit f547cf17a179ebd7de5c2b4dd2d00d0027a25429)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121723
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
Diffstat (limited to 'offapi')
-rw-r--r-- | offapi/com/sun/star/chart2/data/XDataProvider.idl | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/offapi/com/sun/star/chart2/data/XDataProvider.idl b/offapi/com/sun/star/chart2/data/XDataProvider.idl index 6ab3fd4aaadd..e0f450a1a501 100644 --- a/offapi/com/sun/star/chart2/data/XDataProvider.idl +++ b/offapi/com/sun/star/chart2/data/XDataProvider.idl @@ -126,7 +126,28 @@ interface XDataProvider : ::com::sun::star::uno::XInterface [in] string aRangeRepresentation ) raises( com::sun::star::lang::IllegalArgumentException ); - XDataSequence createDataSequenceByValueArray( [in] string aRole, [in] string aValueArray ) + /** Creates a single data sequence from the string value array representation + + @param aRole + The role of the sequence inside a data series. This may be any + string. However some strings are predefined and should always + be used in the same way. + + @param aValueArray + is a string that contains the value representation of the + sequence to be created. + + @param aRoleQualifier + is a string that describes the role of the sequence. + This may be any string. However some strings are predefined + and should always be used in the same way. + + @throws com::sun::star::lang::IllegalArgumentException + if the given value array does not contain a valid value array + representation. + */ + XDataSequence createDataSequenceByValueArray( [in] string aRole, [in] string aValueArray, + [in] string aRoleQualifier ) raises( com::sun::star::lang::IllegalArgumentException ); /** Returns a component that is able to change a given range |