LibreOffice Module xmloff (master)  1
SchXMLAutoStylePoolP.cxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #include <SchXMLAutoStylePoolP.hxx>
21 #include "PropertyMap.hxx"
22 #include <SchXMLExport.hxx>
23 #include <xmloff/families.hxx>
24 #include <xmloff/namespacemap.hxx>
25 
26 
28  SvXMLAutoStylePoolP( rSchXMLExport ),
29  mrSchXMLExport( rSchXMLExport )
30 {}
31 
33 {}
34 
36  SvXMLAttributeList& rAttrList,
37  XmlStyleFamily nFamily,
38  const ::std::vector< XMLPropertyState >& rProperties,
39  const SvXMLExportPropertyMapper& rPropExp
40  , const SvXMLUnitConverter& rUnitConverter,
41  const SvXMLNamespaceMap& rNamespaceMap
42  ) const
43 {
44  SvXMLAutoStylePoolP::exportStyleAttributes( rAttrList, nFamily, rProperties,
45  rPropExp, rUnitConverter, rNamespaceMap );
46 
47  if( nFamily != XmlStyleFamily::SCH_CHART_ID )
48  return;
49 
50  for( const auto& rProp : rProperties )
51  {
52  if( rProp.mnIndex == -1 )
53  continue;
54 
57  sal_Int16 nContextID = aPropMapper->GetEntryContextId( rProp.mnIndex );
58  if( nContextID == XML_SCH_CONTEXT_SPECIAL_NUMBER_FORMAT )
59  {
60  sal_Int32 nNumberFormat = -1;
61  if( ( rProp.maValue >>= nNumberFormat ) &&
62  ( nNumberFormat != -1 ))
63  {
64  OUString sAttrValue = mrSchXMLExport.getDataStyleName( nNumberFormat );
65  if( !sAttrValue.isEmpty() )
66  {
68  aPropMapper->GetEntryNameSpace( rProp.mnIndex ),
69  aPropMapper->GetEntryXMLName( rProp.mnIndex ),
70  sAttrValue );
71  }
72  }
73  }
74  }
75 }
76 
77 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SchXMLAutoStylePoolP(SchXMLExport &rSchXMLExport)
virtual void exportStyleAttributes(SvXMLAttributeList &rAttrList, XmlStyleFamily nFamily, const ::std::vector< XMLPropertyState > &rProperties, const SvXMLExportPropertyMapper &rPropExp, const SvXMLUnitConverter &rUnitConverter, const SvXMLNamespaceMap &rNamespaceMap) const
Definition: xmlaustp.cxx:60
virtual void exportStyleAttributes(SvXMLAttributeList &rAttrList, XmlStyleFamily nFamily, const ::std::vector< XMLPropertyState > &rProperties, const SvXMLExportPropertyMapper &rPropExp, const SvXMLUnitConverter &rUnitConverter, const SvXMLNamespaceMap &rNamespaceMap) const override
the SvXMLTypeConverter converts values of various types from their internal representation to the tex...
Definition: xmluconv.hxx:80
virtual ~SchXMLAutoStylePoolP() override
XmlStyleFamily
Definition: families.hxx:47
void AddAttribute(sal_uInt16 nPrefix, const char *pName, const OUString &rValue)
Definition: xmlexp.cxx:909
virtual OUString getDataStyleName(const sal_Int32 nNumberFormat, bool bTimeFormat=false) const
Definition: xmlexp.cxx:1840
rtl::Reference< XMLPropertySetMapper > const & GetPropertySetMapper() const
#define XML_SCH_CONTEXT_SPECIAL_NUMBER_FORMAT
Definition: PropertyMap.hxx:77