[Libreoffice-commits] core.git: include/xmloff xmloff/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Wed Aug 26 05:53:29 UTC 2020
include/xmloff/XMLDrawingPageStyleContext.hxx | 5 ++
include/xmloff/XMLShapeStyleContext.hxx | 6 ++
xmloff/source/draw/XMLShapeStyleContext.cxx | 11 ++++
xmloff/source/draw/ximpstyl.cxx | 58 +++++++++++++-------------
xmloff/source/draw/ximpstyl.hxx | 12 ++---
5 files changed, 57 insertions(+), 35 deletions(-)
New commits:
commit 2501bb3a9a142f62903cd0f20bafd96e2cea45fe
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Tue Aug 25 15:31:46 2020 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Aug 26 07:52:52 2020 +0200
use fastparser in SdXMLStylesContext
Change-Id: I5cf46f6ba8366c92a18d1cc00eb7eebf8ae82be6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101343
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/include/xmloff/XMLDrawingPageStyleContext.hxx b/include/xmloff/XMLDrawingPageStyleContext.hxx
index ffc0a62998a5..22fa6f88f041 100644
--- a/include/xmloff/XMLDrawingPageStyleContext.hxx
+++ b/include/xmloff/XMLDrawingPageStyleContext.hxx
@@ -32,6 +32,11 @@ public:
SvXMLStylesContext& rStyles,
ContextID_Index_Pair const pContextIDs[],
XmlStyleFamily const pFamilies[]);
+ XMLDrawingPageStyleContext(
+ SvXMLImport& rImport, sal_Int32 nElement,
+ css::uno::Reference<css::xml::sax::XFastAttributeList> const& xAttrList,
+ SvXMLStylesContext& rStyles, ContextID_Index_Pair const pContextIDs[],
+ XmlStyleFamily const pFamilies[]);
virtual void
FillPropertySet(css::uno::Reference<css::beans::XPropertySet> const& rPropSet) override;
diff --git a/include/xmloff/XMLShapeStyleContext.hxx b/include/xmloff/XMLShapeStyleContext.hxx
index 96ae15ce8cde..4a7eef147b36 100644
--- a/include/xmloff/XMLShapeStyleContext.hxx
+++ b/include/xmloff/XMLShapeStyleContext.hxx
@@ -49,6 +49,12 @@ public:
const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList,
SvXMLStylesContext& rStyles,
XmlStyleFamily nFamily);
+ XMLShapeStyleContext(
+ SvXMLImport& rImport,
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList,
+ SvXMLStylesContext& rStyles,
+ XmlStyleFamily nFamily);
virtual ~XMLShapeStyleContext() override;
SvXMLImportContextRef CreateChildContext(
diff --git a/xmloff/source/draw/XMLShapeStyleContext.cxx b/xmloff/source/draw/XMLShapeStyleContext.cxx
index bcde133252bb..beddcb202321 100644
--- a/xmloff/source/draw/XMLShapeStyleContext.cxx
+++ b/xmloff/source/draw/XMLShapeStyleContext.cxx
@@ -60,6 +60,17 @@ XMLShapeStyleContext::XMLShapeStyleContext(
{
}
+XMLShapeStyleContext::XMLShapeStyleContext(
+ SvXMLImport& rImport,
+ sal_Int32 nElement,
+ const uno::Reference< xml::sax::XFastAttributeList >& xAttrList,
+ SvXMLStylesContext& rStyles,
+ XmlStyleFamily nFamily)
+: XMLPropStyleContext(rImport, nElement, xAttrList, rStyles, nFamily ),
+ m_bIsNumRuleAlreadyConverted( false )
+{
+}
+
XMLShapeStyleContext::~XMLShapeStyleContext()
{
}
diff --git a/xmloff/source/draw/ximpstyl.cxx b/xmloff/source/draw/ximpstyl.cxx
index 6e9bdeb94e29..82eac74740cd 100644
--- a/xmloff/source/draw/ximpstyl.cxx
+++ b/xmloff/source/draw/ximpstyl.cxx
@@ -137,9 +137,8 @@ public:
SdXMLDrawingPageStyleContext(
SvXMLImport& rImport,
- sal_uInt16 nPrfx,
- const OUString& rLName,
- const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList,
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList,
SvXMLStylesContext& rStyles);
SvXMLImportContextRef CreateChildContext(
@@ -192,13 +191,28 @@ XMLDrawingPageStyleContext::XMLDrawingPageStyleContext(
std::memcpy(m_pContextIDs.get(), pContextIDs, size * sizeof(ContextID_Index_Pair));
}
+XMLDrawingPageStyleContext::XMLDrawingPageStyleContext(
+ SvXMLImport& rImport,
+ sal_Int32 nElement,
+ const uno::Reference< xml::sax::XFastAttributeList >& xAttrList,
+ SvXMLStylesContext& rStyles,
+ ContextID_Index_Pair const pContextIDs[],
+ XmlStyleFamily const pFamilies[])
+ : XMLPropStyleContext(rImport, nElement, xAttrList, rStyles, XmlStyleFamily::SD_DRAWINGPAGE_ID)
+ , m_pFamilies(pFamilies)
+{
+ size_t size(1); // for the -1 entry
+ for (ContextID_Index_Pair const* pTemp(pContextIDs); pTemp->nContextID != -1; ++size, ++pTemp);
+ m_pContextIDs.reset(new ContextID_Index_Pair[size]);
+ std::memcpy(m_pContextIDs.get(), pContextIDs, size * sizeof(ContextID_Index_Pair));
+}
+
SdXMLDrawingPageStyleContext::SdXMLDrawingPageStyleContext(
SvXMLImport& rImport,
- sal_uInt16 nPrfx,
- const OUString& rLName,
- const uno::Reference< xml::sax::XAttributeList >& xAttrList,
+ sal_Int32 nElement,
+ const uno::Reference< xml::sax::XFastAttributeList >& xAttrList,
SvXMLStylesContext& rStyles)
- : XMLDrawingPageStyleContext(rImport, nPrfx, rLName, xAttrList, rStyles,
+ : XMLDrawingPageStyleContext(rImport, nElement, xAttrList, rStyles,
g_ContextIDs, g_Families)
{
}
@@ -939,53 +953,41 @@ SvXMLStyleContext* SdXMLStylesContext::CreateStyleChildContext(
SvXMLStyleContext* SdXMLStylesContext::CreateStyleStyleChildContext(
XmlStyleFamily nFamily,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const uno::Reference< css::xml::sax::XAttributeList >& xAttrList)
+ sal_Int32 nElement,
+ const uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
- SvXMLStyleContext* pContext = nullptr;
-
switch( nFamily )
{
case XmlStyleFamily::SD_DRAWINGPAGE_ID:
- pContext = new SdXMLDrawingPageStyleContext(GetSdImport(), nPrefix, rLocalName, xAttrList, *this );
+ return new SdXMLDrawingPageStyleContext(GetSdImport(), nElement, xAttrList, *this );
break;
case XmlStyleFamily::TABLE_CELL:
case XmlStyleFamily::TABLE_COLUMN:
case XmlStyleFamily::TABLE_ROW:
- pContext = new XMLShapeStyleContext( GetSdImport(), nPrefix, rLocalName, xAttrList, *this, nFamily );
+ return new XMLShapeStyleContext( GetSdImport(), nElement, xAttrList, *this, nFamily );
break;
default: break;
}
// call base class
- if(!pContext)
- pContext = SvXMLStylesContext::CreateStyleStyleChildContext(nFamily, nPrefix, rLocalName, xAttrList);
-
- return pContext;
+ return SvXMLStylesContext::CreateStyleStyleChildContext(nFamily, nElement, xAttrList);
}
SvXMLStyleContext* SdXMLStylesContext::CreateDefaultStyleStyleChildContext(
XmlStyleFamily nFamily,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const Reference< XAttributeList > & xAttrList )
+ sal_Int32 nElement,
+ const Reference< XFastAttributeList > & xAttrList )
{
- SvXMLStyleContext* pContext = nullptr;
-
switch( nFamily )
{
case XmlStyleFamily::SD_GRAPHICS_ID:
- pContext = new XMLGraphicsDefaultStyle(GetSdImport(), nPrefix, rLocalName, xAttrList, *this );
+ return new XMLGraphicsDefaultStyle(GetSdImport(), nElement, xAttrList, *this );
break;
default: break;
}
// call base class
- if(!pContext)
- pContext = SvXMLStylesContext::CreateDefaultStyleStyleChildContext(nFamily, nPrefix, rLocalName, xAttrList);
-
- return pContext;
+ return SvXMLStylesContext::CreateDefaultStyleStyleChildContext(nFamily, nElement, xAttrList);
}
rtl::Reference< SvXMLImportPropertyMapper > SdXMLStylesContext::GetImportPropertyMapper(
diff --git a/xmloff/source/draw/ximpstyl.hxx b/xmloff/source/draw/ximpstyl.hxx
index e335045b5873..13a11dda6c5b 100644
--- a/xmloff/source/draw/ximpstyl.hxx
+++ b/xmloff/source/draw/ximpstyl.hxx
@@ -190,16 +190,14 @@ protected:
using SvXMLStylesContext::CreateStyleStyleChildContext;
virtual SvXMLStyleContext *CreateStyleStyleChildContext(
XmlStyleFamily nFamily,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList) override;
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList) override;
using SvXMLStylesContext::CreateDefaultStyleStyleChildContext;
virtual SvXMLStyleContext *CreateDefaultStyleStyleChildContext(
- XmlStyleFamily nFamily, sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const css::uno::Reference<
- css::xml::sax::XAttributeList > & xAttrList ) override;
+ XmlStyleFamily nFamily,
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList) override;
public:
SdXMLStylesContext(
More information about the Libreoffice-commits
mailing list