Re: Regarding ODF import and Export support for HistogramChart

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks, Regina, for such detailed information. This helped me to approach the
import/export for the Histogram Chart.

I have added changes to the ODF Export for the Histogram Chart.
Have to add support for the Import and addition in the RNG file.


Would anyone from the community be able to help me by reviewing the PR?


On Sun, 1 Dec 2024 at 02:03, Regina Henschel <rb.henschel@xxxxxxxxxxx> wrote:
Hi Devansh,

I have put the dev list in CC, because such questions should go to the
dev list. There are other people too that can answer your questions. I'm
not an expert for charts and I have not always time to answers in a
reasonable time frame.

Devansh Varshney schrieb am 29.11.2024 um 14:38:
> Hi Regina,
>
> I have been working on adding the Histogram Chart to the LO
> codebase(part of GSoC-24), and it is working well.

I think, it is still a lot to do:

Missing "bin"-properties

Filesave, bug 164108.

The use and meaning of "Y-Values" in the wizard is unclear, bug 164109.
Problem with empty "Categories" in the wizard, no bug report yet. The
role "values-y-original" is undocumented.

>
> Now I am tasked to add the import and export support for the same but
> what I am unable to get is where to begin exactly I have added the
> entries in the token files - https://gerrit.libreoffice.org/c/core/+/177364
>
> These two are the import files for the import and export -
>
> xmloff/source/chart/SchXMLExport.cxx
>
> xmloff/source/chart/SchXMLImport.cxx
> I have looked for ODF-related PRs and even on OOo but could not find
> anything related to adding new chart support for ODF.

The type of a chart is determined by the chart:class attribute of the
<chart:chart> element. The value of the chart:class attribute is a
namespaced token. The twelve predefined chart types use the namespace
'chart'. Since a histogram chart does not belong to the predefined chart
types, it needs a namespace other than 'chart'. So you should write it
out as chart:class="loext:histogram".

Because your new chart type needs some properties, which will be in
loext namespace as well, you can write the new chart type only in an
extended ODF version.

The chart:class attribute is specified in section 19.15.1 in ODF 1.3, [1].

Properties of the new chart type do not become attributes of the
<chart:chart> element, but become attributes of the
<style:chart-properties> child element of the <style:style> element
which is referenced by the chart:style-name attribute of an affected
element. That is a <chart:plot-area>, <chart:series> or <chart:axis>
element, for example.

That is currently wrong for ofPie charts, see bug 163921. So you cannot
use ofPie charts as template.

Such properties belong to the property map aXMLChartPropMap[].

In your case the labels of the x-axis are generated strings which are
not contained in the sheet. So you cannot use the
chart:cell-range-address attribute of the <chart:categories> element
with a reference into the sheet.
In your case the values in y-direction are generated values which are
not contained in the sheet. So you cannot use the
chart:value-cell-range-address of the <chart:series> element with a
reference into the sheet.

I have no ready to use solution to solve the problems. The same problems
are visible in the chart wizard as mentioned above.
There can currently only be one local table. So using an additional
local table would require changes in that area.
Changing the <chart:categories> and <chart:series> elements so that they
can carry fixed values might be a solution too.
OOXML does not save the values themselves but only writes the layout
properties. So that idea might be a way to go as well. In that case we
would need to decide whether new attributes of <chart:categories> and
<chart:series> are used or new entries in <style:chart-properties>
I think these problems need some discussion.

[1]
https://docs.oasis-open.org/office/OpenDocument/v1.3/os/part3-schema/OpenDocument-v1.3-os-part3-schema.html
The change to version 1.4 is ongoing. In your case you can still use the
v1.3 specification. The access to the ODF 1.3 specification is easier.

Kind regards,
Regina








--
Regards,
Devansh

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux