Version 6.4.0.3, tag libreoffice-6.4.0.3
[LibreOffice.git] / sc / source / filter / inc / revisionfragment.hxx
blobb3ea109fbef26906e817f24897f4d03527db4543
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/.
8 */
10 #ifndef INCLUDED_SC_OOX_XLS_REVISIONFRAGMENT_HXX
11 #define INCLUDED_SC_OOX_XLS_REVISIONFRAGMENT_HXX
13 #include "excelhandlers.hxx"
14 #include <memory>
16 class ScChangeTrack;
18 namespace oox { namespace xls {
20 class RevisionHeadersFragment : public WorkbookFragmentBase
22 struct Impl;
23 std::unique_ptr<Impl> mpImpl;
25 public:
26 explicit RevisionHeadersFragment(
27 const WorkbookHelper& rHelper, const OUString& rFragmentPath );
29 virtual ~RevisionHeadersFragment() override;
31 protected:
32 virtual oox::core::ContextHandlerRef onCreateContext(
33 sal_Int32 nElement, const AttributeList& rAttribs ) override;
35 virtual void onStartElement( const AttributeList& rAttribs ) override;
36 virtual void onCharacters( const OUString& rChars ) override;
37 virtual void onEndElement() override;
39 virtual void finalizeImport() override;
41 private:
42 void importHeader( const AttributeList& rAttribs );
45 class RevisionLogFragment : public WorkbookFragmentBase
47 struct Impl;
48 std::unique_ptr<Impl> mpImpl;
50 public:
51 explicit RevisionLogFragment(
52 const WorkbookHelper& rHelper, const OUString& rFragmentPath, ScChangeTrack& rChangeTrack );
54 virtual ~RevisionLogFragment() override;
56 protected:
57 virtual oox::core::ContextHandlerRef onCreateContext(
58 sal_Int32 nElement, const AttributeList& rAttribs ) override;
60 virtual void onStartElement( const AttributeList& rAttribs ) override;
61 virtual void onCharacters( const OUString& rChars ) override;
62 virtual void onEndElement() override;
64 virtual void finalizeImport() override;
66 private:
67 void importCommon( const AttributeList& rAttribs );
68 void importRcc( const AttributeList& rAttribs );
69 void importRrc( const AttributeList& rAttribs );
71 void pushRevision();
76 #endif
78 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */