summaryrefslogtreecommitdiff
path: root/include/xmloff
AgeCommit message (Collapse)Author
2020-03-23make more classes private in mergedlibs modeNoel Grandin
Change-Id: I486922d0652f26fa7ee56f5fe308e19fe5ff137e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90856 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-16Revert "loplugin:constfields in xmloff"Noel Grandin
This reverts commit 0302c9b192c3b7ba10daabed61d6864c24c14070. Change-Id: Ib919429e22ad039d6a82fe081f4e5421fe08905d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90549 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-06loplugin:unusedmethodsNoel Grandin
Change-Id: I698981490eb1391930cdd06821a80a5f770e000e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90109 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-06use more FastParser in ScXMLContentValidationContextNoel Grandin
Change-Id: I958d2ad1a8dc6c2a3da1c1a4fc6bd4f0011367fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90055 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-05tdf#75330 chart: implement ODF import/export of legend overlay featureTünde Tóth
Follow-up of commit 9fab1ba8ddc59924c633aa17c65f7330a4762726 (tdf#75330 add a new overlay/no-overlay feature for the legend). Change-Id: I7781fd8b926d4add56f3db0d56dceab8e27e5f85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89836 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-03-03tdf#101181 Implement glow effect on shapesTamas Bunth
Glow effect is a color-blurred outline outside of the shape. In ooxml document it is specified with the <a:glow> element. The commit contains the following: - Add support for importing and exporting <a:glow> from ooxml documents. - Assign new properties to XShape which stores glow-related attributes. - A new 2D primitive is introduced in module 'drawinglayer' which is responsible for representing the glow primitive which is to be rendered. + A glow primitive is a clone of the original shape which has been scaled up slightly and a new color has been assigned to it. The radius of the glow effect and the color is defined in the <a:glow> element being imported. - A blur algorithm is introduced in module 'vcl', which is called during rendering the primitive. + The blur algorithm works on a bitmap. + Since the algorithm is CPU-intensive, the result is cached in the processor and it is recalculated only if needed. - Add support for importing and exporting glow effect to ODF format. For that, new attributes of element <style:graphic-properties> has been added: + loext:glow, which can have the values "visible" or "hidden" + loext:glow-radius: which holds the radius of the glow effect in cm. + loext:glow-color: holds the color of the glow effect - Tests have been added to assert properties after pptx import and export. Change-Id: I836aeb5e0f24e2c8d5725834c8c0f98083bc82e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89125 Tested-by: Jenkins Reviewed-by: Tamás Bunth <btomi96@gmail.com>
2020-03-03move some headers inside their moduleNoel Grandin
Change-Id: I026f920d475c4ce56a12d6b29a702673e8bd7a1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89866 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-02don't rely on parser ::characters callback only firing onceNoel Grandin
which is true for the old parser, but not always so for the FastParser. So pre-emptively fix some stuff Change-Id: I405834f1dfd28c98cae87b6de38d238f723edafd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89712 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-01use the SetAttribute override in SvXMLStyleContext subclasses consistentlyNoel Grandin
Change-Id: Ibdbf73c5e54fbbb051e4898fd8b3a7a155647b15 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89702 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-27tdf#101710 Fix invalid style:data-style-name attributeMaxim Monastirsky
There were two problems with this attribute: 1. It was written in style:table-cell-properties instead of in style:style. 2. It was referencing a number format id, instead of a style name. Moreover, the data style wasn't even exported as part of office:styles (if at all). Both import and export were affected. For export, it was easily possible to reuse some related stuff from Calc, so that stuff was moved into xmloff and used from there (there are no logic changes for Calc). For import, loading of the invalid attribute was kept for compat reasons. Although it's only useful for automatic number formats, as the data styles weren't exported properly anyway (e.g. see the document attached in bugzilla). Change-Id: I8b70ad205972fada6f3845837d6ed5928d7d6406 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89551 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-02-27convert AnimationImport to fast-parser APIsNoel Grandin
And... (*) space out the namespace constant values so I dont keep forgetting and making them overlap. (*) Remove CreateDocumentContext from SvXMLImport since it is now unused. Change-Id: I30f54bfc1389e91b18e4fee8b83e1b297419899b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88938 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-27remove duplicate tokens from xmloffNoel Grandin
Which causes trouble when converting stuff to use FastParser APIs. I see we used to use dummy entries to avoid perfhash complaining, which is fine for exporting, but doesn't work when we use these constants for fast-parser importing, because the imported element/attribute ends up mapped to what looks like the "wrong" constant. So let's just make the constants match their textual representation. Change-Id: I173d4b1e5fedede18375a6f7c15b1f36a48e4063 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89627 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-27tdf#108110 ODF chart: import/export of custom position of data point labelsBalazs Varga
using new attributes loext:custom-label-pos-x and loext:custom-label-pos-y of chart:data-point. This fixes also *import* of DOCX documents with embedded charts, related to the ODF usage in the background. Follow-up of commit 4223ff2be69f03e571464b0b09ad0d278918631b (tdf#48436 Chart: add CustomLabelPosition UNO API property) Change-Id: I985ce27cb6ce988948258d9eab0de13d01c72b97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89446 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2020-02-27tdf#130908 Chapter Numbering can't load custom styleNoel Grandin
regression from commit 83e97fef3fa4de900eda35d02168fcae01c85eed convert ImportStoredChapterNumberingRules to XFastParser and add some more debugging trace Change-Id: I224b9c442369a4c6a7746d7ff419f069d3430513 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89633 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-26new loplugin:xmlimportNoel Grandin
to help me maintain the invariants when updating code to use the FastParser APIs. One weird invariant is that you need to override startFastElement or the createFastChildContext will not get called. Not all of these changes are probably necessary - some of the classes are never constructured themselves, only their subclasses are constructed, and their subclasses maintain the invariants, but it is just easier to scatter a few more startFastElement around Change-Id: I3f70fb5a1e44c311cf4926fa7b0fcda605709eac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89473 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-18rename XML_OLD_NAMESPACE_ constantsNoel Grandin
so I can use them with the XML_ELEMENT macro, which expects them to start with "XML_NAMESPACE" Change-Id: If8098448f451675aaff8ca2dcf9544e765cda965 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88928 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-15convert XML_STYLE_FAMILY to scoped enumNoel Grandin
Change-Id: I5335b0190a2f5a8111993c0c9c224c8a6a8f0cfb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88723 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-14convert XMLEventsImportContext to fastparserNoel Grandin
for now, it supports both fast and non-fast methods, since it is constructed by both contexts Change-Id: I925c50be161b95ecebd951cb7038a938c848a15d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88715 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-03move some xmloff/ headers inside the moduleNoel Grandin
Change-Id: I57e97da952c18c33af85a8fe24ebf021fc0631d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87828 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-31Fix typoAndrea Gelmini
Change-Id: I7341d932b4d88cfd540056ff292b8ad003af6830 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87779 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-01-23loplugin:unusedmethodsNoel Grandin
Change-Id: Ic2212a502bbd42217934884f4fce49f6f8d4765c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87236 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-22use fastparser for XMLFontStylesContextNoel Grandin
Change-Id: I7b273cdc0f90f2a8c9527d1f19fed97672a74741 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87175 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-22Convert reportdesign to fastparserNoel Grandin
Change-Id: I0703344aad4ca6c72e494160b019c13e24cc843a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87160 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-21use more FastParser in SvXMLStylesContextNoel Grandin
Change-Id: I05c7314739246a864b16723c13bd8fbb4ef725e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87146 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-21use more FastParser in ScXMLChangeInfoContextNoel Grandin
had to hack the token constant generating process a little because we have two tokens that only differ in "-" vs "_" Change-Id: I0744d697918d28cca0c92b83ecfd37c1ae9d2bae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87138 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-21Use FastParser in XMLDocumentSettingsContextNoel Grandin
and flatten the pImpl data Change-Id: I8d817cd2af0a3855d10dbfaa580c3379119d5067 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87126 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-21use FastParser in XMLScriptContextNoel Grandin
Change-Id: I7c5f5b77a78307c556ee5718480346ed3dd159fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87075 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-14use FastParser APIs in SvxXMLXTableImportNoel Grandin
Change-Id: I744943bdcdecc10219898d23038eb5d0c2dfb5d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85479 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-07expand out namespace macrosNoel Grandin
Change-Id: Ifbcffa0315d0505b919703b82fee842be5aa0296 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86237 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-01tdf#123206 Store custom label as chart:data-labelTamas Bunth
Use the chart:data-label element instead of using the loext:custom-label-field attribute. chart:data-label stores can be a child of chart:data-point and it may contain a text:o element for holding one or more paragraphs of custom label text. This commit aims to export and import chart:data-label with paragraphs put into different text:span elements. These span elements may hold a text:style-name attribute in order to achieve formatted text. This structure is already in the ODF format. Change-Id: I0bea7ce1a16af9c47b33555e18545bdaae7e95ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85659 Tested-by: Jenkins Reviewed-by: Tamás Bunth <btomi96@gmail.com>
2019-12-25sal_Char->char in xmloff..xmlsecurityNoel Grandin
Change-Id: I292d699ce1de10ca9341525161f5da2592102ff7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85778 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-21remove unnecessary CreateChildContext methodsNoel Grandin
that do the same as the base class method Change-Id: I5048edf9d5fa40bb4ebdd96d9b13c303fb061945 Reviewed-on: https://gerrit.libreoffice.org/85646 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-20add checks to optional fields in SvXMLImportContextNoel Grandin
so when I convert ImportContext to FastParser APIs I don't accidentally rely on data that is not there Change-Id: If4700c7902e11f98a57542943f6a198822689df8 Reviewed-on: https://gerrit.libreoffice.org/85622 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-06tdf#121658 Add option to not hyphenate words in CAPSSamuel Mehrbrodt
* Add checkbox to pagraph dialog * Store property in paragraph model * Move docx import/export from grabbag to paragraph model * Add ODF import/export * Add ODF unit test * Add layout test Change-Id: Id4e7c5a0ad145c042f862995d227c31ae2aa0abd Reviewed-on: https://gerrit.libreoffice.org/83979 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-12-05make some classes module privateNoel Grandin
Mark some stuff SAL_DLLPUBLIC_RTTI in include/vcl/metaact.hxx in order to make ASAN happy. Change-Id: I97febe0968bf58b9cbe60ce647f0ada25e6f4bb0 Reviewed-on: https://gerrit.libreoffice.org/84202 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-29tdf#123206 Import/Export chart custom label textTamas Bunth
OOX import supports custom label texts in chart diagrams (produced by e.g. double clicking on a data label, and write custom text), but - since embedded objects are exported and imported to odf right after migration - it is not displayed in case of a Writer document. In order to make it work, we have to support custom label text in the odf structure. This commit only allows the import/export of pure text, it should be improved to store and load formatted string. A new XML token is added, which currently refers to an attribute of the chart:data-point tag. If we want to store formatted string, something more clever has to be done. Change-Id: I80c4a3a0dbcf59f1dc732d795fb716da318411cb Reviewed-on: https://gerrit.libreoffice.org/80156 Tested-by: Jenkins Reviewed-by: Tamás Bunth <btomi96@gmail.com>
2019-11-26xmloff,sw: fix handling of invalid attribute with multiple ':'Michael Stahl
ooo53770-1.odt contains an invalid attribute style:style:use-optimal-row-height, which was round-tripped as an unknown attribute, triggering the assert in CheckValidName(). This reveals a confusing mess of SvXMLNamespaceMap::GetKeyByAttrName functions. The bCache flag for one of them was accidentally inverted in commit 78f0d15893c56d7368ddd7ded4e70f2a3bb9d2f4 "loplugin:constantparam in xmloff/" There are basically 2 use cases for this: * XML element and attribute names, which are XML QName and contain at most 1 ':' * XML attribute values, which are namespace-prefixed and may contain any number of ':' in the "local" part of the value Because caching is explicitly disabled for Calc formulas, just resolve the inconsistent bCache by always caching element and attribute names, and never caching attribute values, so we need just 1 flag. Change-Id: I363ea2229d0bf5c7199d61b0fee0d9f168911bfa Reviewed-on: https://gerrit.libreoffice.org/83619 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-22make some classes module-privateNoel Grandin
Change-Id: If7303a082e06f6937fca911c578a40475546cda2 Reviewed-on: https://gerrit.libreoffice.org/83442 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-12rename now it does more than just sortCaolán McNamara
Change-Id: Ia0adffc592105efeeebfeb8fc67570d3f6d844f1 Reviewed-on: https://gerrit.libreoffice.org/82544 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-12tdf#127791 defer import of group shape events until the group is poppedCaolán McNamara
otherwise the group shape import applies the events over the children it has when it reads the events which is 0. We already push and pop groups for sorting so reuse that to store and apply the events to groups Change-Id: I3f31796f9e8d3d11df6f3ba12a32be920a228155 Reviewed-on: https://gerrit.libreoffice.org/82516 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-11-06tdf#125688 removing XWeak support from SvXMLImportContextNoel Grandin
shaves 2% off the load time Change-Id: Icac00389dfcc3339fe4faf1731e9eeb3ff8d0f0c Reviewed-on: https://gerrit.libreoffice.org/82139 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-06convert ImportStoredChapterNumberingRules to XFastParserNoel Grandin
Change-Id: I80ceed4bf2e767b86aedd1dd7bf4f892e3077138 Reviewed-on: https://gerrit.libreoffice.org/82132 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-05make some classes module-privateNoel Grandin
Change-Id: Ice9a57eedb166672dbdfae6da2a172ab77566a19 Reviewed-on: https://gerrit.libreoffice.org/81983 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-03size some stringbuffer to prevent re-allocNoel Grandin
I started with 32 and kept doubling the size until the site did not need re-alloc, but clamped it at 512. Change-Id: I55fe36b31cd3d40f86e5729337a927cf920f2af6 Reviewed-on: https://gerrit.libreoffice.org/81960 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-01loplugin:finalclasses in xmloffNoel Grandin
Change-Id: I664aa4dce822bcf14368fd8d08f678e2cd41fd12 Reviewed-on: https://gerrit.libreoffice.org/81852 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-31tdf#125688, cache token names as OUStringNoel Grandin
to avoid construction cost, shaves 2% off load time Change-Id: I37a70a6e989f53d67911a6cb217d07e2db55cb44 Reviewed-on: https://gerrit.libreoffice.org/81841 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-23xmloff: ODF import: reimplement fieldmark-start/fieldmark-endMichael Stahl
This needs to work in a similar way to writerfilter, because it has the same problem: fieldmark has 3 positions but attach() only recieves 2 positions. Insert the fieldmark at the fieldmark-start and move the cursor before the CH_TXT_ATR_FIELDEND character, and when the fieldmark-end arrives, move the cursor forward again. This will slightly change the import of invalid documents, e.g. when a fieldmark-end is missing, but that seems not so important and without a name attribute on the fieldmark-end we can't do any better. Change-Id: I3f0bd738277f56a999e79e4def911101b64b07e7 Reviewed-on: https://gerrit.libreoffice.org/81082 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-10-20loplugin:virtualdead unused param in RedlineAdjustStartNodeCursorNoel Grandin
Change-Id: Ic8eaad705b0cf8289035f7eee3ad01439fc24ee7 Reviewed-on: https://gerrit.libreoffice.org/81155 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-20loplugin:virtualdead unused param in XMLEventContextFactory::CreateContextNoel Grandin
Change-Id: I6fda2e04724d69fd218ffc85f9881b429714e63b Reviewed-on: https://gerrit.libreoffice.org/81154 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-07use FastParser in linguisticNoel Grandin
Change-Id: Iee2254dc13ccc31d266009ba1eb00f2517484cc7 Reviewed-on: https://gerrit.libreoffice.org/79814 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>