lok: avoid expensive fetching of a property.
[LibreOffice.git] / include / xmloff / xmlnume.hxx
blob683d3025d4dd49a55f26ae115134e784f75df080
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #ifndef INCLUDED_XMLOFF_XMLNUME_HXX
21 #define INCLUDED_XMLOFF_XMLNUME_HXX
23 #include <rtl/ustring.hxx>
24 #include <xmloff/dllapi.h>
26 namespace com::sun::star {
27 namespace style { class XStyle; }
28 namespace container { class XIndexReplace; }
29 namespace beans { struct PropertyValue; }
32 namespace com::sun::star::uno { template <class E> class Sequence; }
33 namespace com::sun::star::uno { template <class interface_type> class Reference; }
35 class SvXMLExport;
36 class XMLTextListAutoStylePool;
38 class XMLOFF_DLLPUBLIC SvxXMLNumRuleExport final
40 SvXMLExport& rExport;
41 // Boolean indicating, if properties for position-and-space-mode LABEL_ALIGNMENT
42 // are exported or not. (#i89178#)
43 // These properties have been introduced in ODF 1.2. Thus, its export have
44 // to be suppressed on writing ODF 1.0 respectively ODF 1.1
45 bool mbExportPositionAndSpaceModeLabelAlignment;
47 SAL_DLLPRIVATE void exportLevelStyle(
48 sal_Int32 nLevel,
49 const css::uno::Sequence< css::beans::PropertyValue>& rProps,
50 bool bOutline );
52 SAL_DLLPRIVATE void exportStyle( const css::uno::Reference< css::style::XStyle >& rStyle );
53 SAL_DLLPRIVATE void exportOutline();
55 SvXMLExport& GetExport() { return rExport; }
57 public:
59 SvxXMLNumRuleExport( SvXMLExport& rExport );
60 ~SvxXMLNumRuleExport();
62 // should be private but sw::StoredChapterNumberingExport needs it
63 void exportLevelStyles(
64 const css::uno::Reference< css::container::XIndexReplace > & xNumRule,
65 bool bOutline=false );
67 void exportStyles( bool bUsed,
68 XMLTextListAutoStylePool *pPool,
69 bool bExportChapterNumbering );
70 void exportNumberingRule(
71 const OUString& rName, bool bIsHidden,
72 const css::uno::Reference< css::container::XIndexReplace > & xNumRule );
75 #endif // INCLUDED_XMLOFF_XMLNUME_HXX
77 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */