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_DRAWINGML_CHART_SERIESCONTEXT_HXX
21 #define INCLUDED_OOX_DRAWINGML_CHART_SERIESCONTEXT_HXX
23 #include <drawingml/chart/chartcontextbase.hxx>
30 struct DataLabelModel
;
32 /** Handler for a chart data point label context (c:dLbl element).
34 class DataLabelContext
: public ContextBase
< DataLabelModel
>
37 explicit DataLabelContext( ::oox::core::ContextHandler2Helper
& rParent
, DataLabelModel
& rModel
);
38 virtual ~DataLabelContext() override
;
40 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
41 virtual void onCharacters( const OUString
& rChars
) override
;
45 struct DataLabelsModel
;
47 /** Handler for a chart data point label context (c:dLbls element).
49 class DataLabelsContext
: public ContextBase
< DataLabelsModel
>
52 explicit DataLabelsContext( ::oox::core::ContextHandler2Helper
& rParent
, DataLabelsModel
& rModel
);
53 virtual ~DataLabelsContext() override
;
55 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
56 virtual void onCharacters( const OUString
& rChars
) override
;
60 struct PictureOptionsModel
;
62 /** Handler for fill bitmap settings (c:pictureOptions element).
64 class PictureOptionsContext
: public ContextBase
< PictureOptionsModel
>
67 explicit PictureOptionsContext( ::oox::core::ContextHandler2Helper
& rParent
, PictureOptionsModel
& rModel
);
68 virtual ~PictureOptionsContext() override
;
70 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
76 /** Handler for a series error bar context (c:errBars element).
78 class ErrorBarContext
: public ContextBase
< ErrorBarModel
>
81 explicit ErrorBarContext( ::oox::core::ContextHandler2Helper
& rParent
, ErrorBarModel
& rModel
);
82 virtual ~ErrorBarContext() override
;
84 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
88 struct TrendlineLabelModel
;
90 /** Handler for a series trendline label context (c:trendlineLbl element).
92 class TrendlineLabelContext
: public ContextBase
< TrendlineLabelModel
>
95 explicit TrendlineLabelContext( ::oox::core::ContextHandler2Helper
& rParent
, TrendlineLabelModel
& rModel
);
96 virtual ~TrendlineLabelContext() override
;
98 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
102 struct TrendlineModel
;
104 /** Handler for a series trendline context (c:trendline element).
106 class TrendlineContext
: public ContextBase
< TrendlineModel
>
109 explicit TrendlineContext( ::oox::core::ContextHandler2Helper
& rParent
, TrendlineModel
& rModel
);
110 virtual ~TrendlineContext() override
;
112 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
113 virtual void onCharacters( const OUString
& rChars
) override
;
117 struct DataPointModel
;
119 /** Handler for a chart data point context (c:dPt element).
121 class DataPointContext
: public ContextBase
< DataPointModel
>
124 explicit DataPointContext( ::oox::core::ContextHandler2Helper
& rParent
, DataPointModel
& rModel
);
125 virtual ~DataPointContext() override
;
127 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
133 /** Handler base class for chart data series contexts (c:ser element).
135 class SeriesContextBase
: public ContextBase
< SeriesModel
>
138 explicit SeriesContextBase( ::oox::core::ContextHandler2Helper
& rParent
, SeriesModel
& rModel
);
139 virtual ~SeriesContextBase() override
;
141 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
145 /** Handler for a data series context for area chart types (c:ser element).
147 class AreaSeriesContext
: public SeriesContextBase
150 explicit AreaSeriesContext( ::oox::core::ContextHandler2Helper
& rParent
, SeriesModel
& rModel
);
151 virtual ~AreaSeriesContext() override
;
153 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
157 /** Handler for a data series context for bar chart types (c:ser element).
159 class BarSeriesContext
: public SeriesContextBase
162 explicit BarSeriesContext( ::oox::core::ContextHandler2Helper
& rParent
, SeriesModel
& rModel
);
163 virtual ~BarSeriesContext() override
;
165 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
169 /** Handler for a data series context for bubble chart types (c:ser element).
171 class BubbleSeriesContext
: public SeriesContextBase
174 explicit BubbleSeriesContext( ::oox::core::ContextHandler2Helper
& rParent
, SeriesModel
& rModel
);
175 virtual ~BubbleSeriesContext() override
;
177 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
181 /** Handler for a data series context for line and stock chart types (c:ser
184 class LineSeriesContext
: public SeriesContextBase
187 explicit LineSeriesContext( ::oox::core::ContextHandler2Helper
& rParent
, SeriesModel
& rModel
);
188 virtual ~LineSeriesContext() override
;
190 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
194 /** Handler for a data series context for pie and doughnut chart types (c:ser
197 class PieSeriesContext
: public SeriesContextBase
200 explicit PieSeriesContext( ::oox::core::ContextHandler2Helper
& rParent
, SeriesModel
& rModel
);
201 virtual ~PieSeriesContext() override
;
203 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
207 /** Handler for a data series context for radar chart types (c:ser element).
209 class RadarSeriesContext
: public SeriesContextBase
212 explicit RadarSeriesContext( ::oox::core::ContextHandler2Helper
& rParent
, SeriesModel
& rModel
);
213 virtual ~RadarSeriesContext() override
;
215 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
219 /** Handler for a data series context for scatter chart types (c:ser element).
221 class ScatterSeriesContext
: public SeriesContextBase
224 explicit ScatterSeriesContext( ::oox::core::ContextHandler2Helper
& rParent
, SeriesModel
& rModel
);
225 virtual ~ScatterSeriesContext() override
;
227 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
231 /** Handler for a data series context for scatter chart types (c:ser element).
233 class SurfaceSeriesContext
: public SeriesContextBase
236 explicit SurfaceSeriesContext( ::oox::core::ContextHandler2Helper
& rParent
, SeriesModel
& rModel
);
237 virtual ~SurfaceSeriesContext() override
;
239 virtual ::oox::core::ContextHandlerRef
onCreateContext( sal_Int32 nElement
, const AttributeList
& rAttribs
) override
;
244 } // namespace drawingml
249 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */