1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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_OOX_SOURCE_DRAWINGML_DIAGRAM_DIAGRAMFRAGMENTHANDLER_HXX
21 #define INCLUDED_OOX_SOURCE_DRAWINGML_DIAGRAM_DIAGRAMFRAGMENTHANDLER_HXX
23 #include <oox/core/fragmenthandler2.hxx>
25 #include "diagram.hxx"
27 namespace oox::drawingml
{
29 class DiagramDataFragmentHandler
: public ::oox::core::FragmentHandler2
32 DiagramDataFragmentHandler(oox::core::XmlFilterBase
& rFilter
, const OUString
& rFragmentPath
, OoxDiagramDataPtr xDataPtr
);
33 virtual ~DiagramDataFragmentHandler() noexcept override
;
35 virtual void SAL_CALL
endDocument() override
;
36 virtual ::oox::core::ContextHandlerRef
onCreateContext( ::sal_Int32 Element
, const ::oox::AttributeList
& rAttribs
) override
;
40 OoxDiagramDataPtr mpDataPtr
;
43 class DiagramLayoutFragmentHandler
: public ::oox::core::FragmentHandler2
46 DiagramLayoutFragmentHandler(oox::core::XmlFilterBase
& rFilter
, const OUString
& rFragmentPath
, DiagramLayoutPtr xDataPtr
);
47 virtual ~DiagramLayoutFragmentHandler() noexcept override
;
49 virtual void SAL_CALL
endDocument() override
;
50 virtual ::oox::core::ContextHandlerRef
onCreateContext( ::sal_Int32 Element
, const ::oox::AttributeList
& rAttribs
) override
;
54 DiagramLayoutPtr mpDataPtr
;
57 class DiagramQStylesFragmentHandler
: public ::oox::core::FragmentHandler2
60 DiagramQStylesFragmentHandler(
61 oox::core::XmlFilterBase
& rFilter
,
62 const OUString
& rFragmentPath
,
63 DiagramQStyleMap
& rStylesMap
);
65 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
67 virtual void onStartElement( const AttributeList
& rAttribs
) override
;
68 virtual void onEndElement() override
;
71 ::oox::core::ContextHandlerRef
createStyleMatrixContext(sal_Int32 nElement
,
72 const AttributeList
& rAttribs
,
73 ShapeStyleRef
& o_rStyle
);
76 DiagramStyle maStyleEntry
;
77 DiagramQStyleMap
& mrStylesMap
;
80 class ColorFragmentHandler
: public ::oox::core::FragmentHandler2
84 ::oox::core::XmlFilterBase
& rFilter
,
85 const OUString
& rFragmentPath
,
86 DiagramColorMap
& rColorMap
);
88 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
90 virtual void onStartElement( const AttributeList
& rAttribs
) override
;
91 virtual void onEndElement() override
;
95 DiagramColor maColorEntry
;
96 DiagramColorMap
& mrColorsMap
;
103 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */