LibreOffice Module chart2 (master) 1
ChartTypeDialogController.hxx
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#pragma once
21
22#include <sal/config.h>
23
24#include <map>
25
26#include "ChangingResource.hxx"
27#include "ThreeDHelper.hxx"
28
29#include <com/sun/star/chart2/CurveStyle.hpp>
30#include <vcl/weld.hxx>
31
33{
34class XPropertySet;
35}
37{
38class XChartDocument;
39}
41{
42class XMultiServiceFactory;
43}
44
45class ValueSet;
46
47namespace chart
48{
49class ChartModel;
50class ChartTypeTemplate;
51class ChartTypeManager;
52
54{
59};
60
62{
63public:
64 ChartTypeParameter(sal_Int32 nSubTypeIndex, bool bXAxisWithValues = false, bool b3DLook = false,
65 GlobalStackMode eStackMode = GlobalStackMode_NONE, bool _bSymbols = true,
66 bool _bLines = true,
67 css::chart2::CurveStyle eCurveStyle = css::chart2::CurveStyle_LINES);
69
70 bool mapsToSameService(const ChartTypeParameter& rParameter) const;
71 bool mapsToSimilarService(const ChartTypeParameter& rParameter,
72 sal_Int32 nTheHigherTheLess) const;
73
74 sal_Int32 nSubTypeIndex; //starting with 1
75
77 bool b3DLook;
79 bool bLines;
80
82 css::chart2::CurveStyle eCurveStyle;
83
85 sal_Int32 nSplineOrder;
86
87 sal_Int32 nGeometry3D;
88
91
93};
94
95typedef std::map<OUString, ChartTypeParameter> tTemplateServiceChartTypeParameterMap;
96
98{
99public:
101 virtual ~ChartTypeDialogController() override;
102
103 virtual OUString getName() = 0;
104 virtual OUString getImage() = 0;
106 virtual void fillSubTypeList(ValueSet& rSubTypeList, const ChartTypeParameter& rParameter);
107
108 virtual bool shouldShow_3DLookControl() const;
109 virtual bool shouldShow_StackingControl() const;
110 virtual bool shouldShow_SplineControl() const;
111 virtual bool shouldShow_GeometryControl() const;
112 virtual bool shouldShow_SortByXValuesResourceGroup() const;
113
114 virtual void showExtraControls(weld::Builder* pBuilder);
115 virtual void hideExtraControls() const;
116 virtual void
118 const css::uno::Reference<css::beans::XPropertySet>& xTemplateProps) const;
120 virtual void setTemplateProperties(
121 const css::uno::Reference<css::beans::XPropertySet>& xTemplateProps) const;
122
123 bool isSubType(const OUString& rServiceName);
125 const OUString& rServiceName,
126 const css::uno::Reference<css::beans::XPropertySet>& xTemplateProps);
129 rParameter); //if you have different counts of subtypes you may need to adjust the index
130 virtual void adjustParameterToSubType(ChartTypeParameter& rParameter);
131 virtual void adjustParameterToMainType(ChartTypeParameter& rParameter);
132 OUString getServiceNameForParameter(const ChartTypeParameter& rParameter) const;
133 void commitToModel(const ChartTypeParameter& rParameter,
134 const rtl::Reference<::chart::ChartModel>& xChartModel);
136 getCurrentTemplate(const ChartTypeParameter& rParameter,
137 const rtl::Reference<::chart::ChartTypeManager>& xTemplateManager) const;
138
139protected:
142};
143
145{
146public:
149
150 virtual bool shouldShow_3DLookControl() const override;
151 virtual bool shouldShow_GeometryControl() const override;
152
153 virtual void adjustSubTypeAndEnableControls(ChartTypeParameter& rParameter) override;
154};
155
157{
158public:
160 virtual ~ColumnChartDialogController() override;
161
162 virtual OUString getName() override;
163 virtual OUString getImage() override;
164 virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
165 virtual void fillSubTypeList(ValueSet& rSubTypeList,
166 const ChartTypeParameter& rParameter) override;
167};
168
170{
171public:
173 virtual ~BarChartDialogController() override;
174
175 virtual OUString getName() override;
176 virtual OUString getImage() override;
177 virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
178 virtual void fillSubTypeList(ValueSet& rSubTypeList,
179 const ChartTypeParameter& rParameter) override;
180};
181
183{
184public:
186 virtual ~PieChartDialogController() override;
187
188 virtual OUString getName() override;
189 virtual OUString getImage() override;
190 virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
191 virtual void fillSubTypeList(ValueSet& rSubTypeList,
192 const ChartTypeParameter& rParameter) override;
193 virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
194
195 virtual bool shouldShow_3DLookControl() const override;
196};
197
199{
200public:
202 virtual ~LineChartDialogController() override;
203
204 virtual OUString getName() override;
205 virtual OUString getImage() override;
206 virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
207 virtual void fillSubTypeList(ValueSet& rSubTypeList,
208 const ChartTypeParameter& rParameter) override;
209 virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
210 virtual void adjustParameterToMainType(ChartTypeParameter& rParameter) override;
211
212 virtual bool shouldShow_StackingControl() const override;
213 virtual bool shouldShow_SplineControl() const override;
214};
215
217{
218public:
220 virtual ~XYChartDialogController() override;
221
222 virtual OUString getName() override;
223 virtual OUString getImage() override;
224 virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
225 virtual void fillSubTypeList(ValueSet& rSubTypeList,
226 const ChartTypeParameter& rParameter) override;
227 virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
228
229 virtual bool shouldShow_SplineControl() const override;
230 virtual bool shouldShow_SortByXValuesResourceGroup() const override;
231};
232
234{
235public:
237 virtual ~AreaChartDialogController() override;
238
239 virtual OUString getName() override;
240 virtual OUString getImage() override;
241 virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
242 virtual void fillSubTypeList(ValueSet& rSubTypeList,
243 const ChartTypeParameter& rParameter) override;
244 virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
245 virtual void adjustParameterToMainType(ChartTypeParameter& rParameter) override;
246
247 virtual bool shouldShow_3DLookControl() const override;
248};
249
251{
252public:
254 virtual ~NetChartDialogController() override;
255
256 virtual OUString getName() override;
257 virtual OUString getImage() override;
258 virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
259 virtual void fillSubTypeList(ValueSet& rSubTypeList,
260 const ChartTypeParameter& rParameter) override;
261 virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
262
263 virtual bool shouldShow_StackingControl() const override;
264};
265
267{
268public:
270 virtual ~StockChartDialogController() override;
271
272 virtual OUString getName() override;
273 virtual OUString getImage() override;
274 virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
275 virtual void fillSubTypeList(ValueSet& rSubTypeList,
276 const ChartTypeParameter& rParameter) override;
277 virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
278};
279
281{
282public:
284
285 virtual OUString getName() override;
286 virtual OUString getImage() override;
287 virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
288 virtual void fillSubTypeList(ValueSet& rSubTypeList,
289 const ChartTypeParameter& rParameter) override;
290 virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
291
292 virtual void showExtraControls(weld::Builder* pBuilder) override;
293 virtual void hideExtraControls() const override;
294 virtual void fillExtraControls(
295 const rtl::Reference<::chart::ChartModel>& xChartModel,
296 const css::uno::Reference<css::beans::XPropertySet>& xTemplateProps) const override;
297
298 virtual void setTemplateProperties(
299 const css::uno::Reference<css::beans::XPropertySet>& xTemplateProps) const override;
300
301private:
302 DECL_LINK(ChangeLineCountHdl, weld::SpinButton&, void);
303
304private:
305 std::unique_ptr<weld::Label> m_xFT_NumberOfLines;
306 std::unique_ptr<weld::SpinButton> m_xMF_NumberOfLines;
307};
308
310{
311public:
313 virtual ~BubbleChartDialogController() override;
314
315 virtual OUString getName() override;
316 virtual OUString getImage() override;
317 virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
318 virtual void fillSubTypeList(ValueSet& rSubTypeList,
319 const ChartTypeParameter& rParameter) override;
320 virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
321};
322
323} //namespace chart
324
325/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual void adjustParameterToMainType(ChartTypeParameter &rParameter) override
virtual bool shouldShow_3DLookControl() const override
virtual const tTemplateServiceChartTypeParameterMap & getTemplateMap() const override
virtual void fillSubTypeList(ValueSet &rSubTypeList, const ChartTypeParameter &rParameter) override
virtual void adjustParameterToSubType(ChartTypeParameter &rParameter) override
virtual void fillSubTypeList(ValueSet &rSubTypeList, const ChartTypeParameter &rParameter) override
virtual const tTemplateServiceChartTypeParameterMap & getTemplateMap() const override
virtual const tTemplateServiceChartTypeParameterMap & getTemplateMap() const override
virtual void fillSubTypeList(ValueSet &rSubTypeList, const ChartTypeParameter &rParameter) override
virtual void adjustParameterToSubType(ChartTypeParameter &rParameter) override
virtual void fillExtraControls(const rtl::Reference<::chart::ChartModel > &xChartModel, const css::uno::Reference< css::beans::XPropertySet > &xTemplateProps) const
virtual void fillSubTypeList(ValueSet &rSubTypeList, const ChartTypeParameter &rParameter)
void commitToModel(const ChartTypeParameter &rParameter, const rtl::Reference<::chart::ChartModel > &xChartModel)
virtual OUString getImage()=0
virtual bool shouldShow_SortByXValuesResourceGroup() const
OUString getServiceNameForParameter(const ChartTypeParameter &rParameter) const
rtl::Reference<::chart::ChartTypeTemplate > getCurrentTemplate(const ChartTypeParameter &rParameter, const rtl::Reference<::chart::ChartTypeManager > &xTemplateManager) const
virtual void showExtraControls(weld::Builder *pBuilder)
virtual void adjustParameterToSubType(ChartTypeParameter &rParameter)
virtual const tTemplateServiceChartTypeParameterMap & getTemplateMap() const =0
virtual void adjustSubTypeAndEnableControls(ChartTypeParameter &rParameter)
virtual void setTemplateProperties(const css::uno::Reference< css::beans::XPropertySet > &xTemplateProps) const
ChartTypeParameter getChartTypeParameterForService(const OUString &rServiceName, const css::uno::Reference< css::beans::XPropertySet > &xTemplateProps)
virtual void adjustParameterToMainType(ChartTypeParameter &rParameter)
bool isSubType(const OUString &rServiceName)
virtual OUString getName()=0
css::chart2::CurveStyle eCurveStyle
bool mapsToSameService(const ChartTypeParameter &rParameter) const
bool mapsToSimilarService(const ChartTypeParameter &rParameter, sal_Int32 nTheHigherTheLess) const
ChartTypeParameter(sal_Int32 nSubTypeIndex, bool bXAxisWithValues=false, bool b3DLook=false, GlobalStackMode eStackMode=GlobalStackMode_NONE, bool _bSymbols=true, bool _bLines=true, css::chart2::CurveStyle eCurveStyle=css::chart2::CurveStyle_LINES)
virtual void fillSubTypeList(ValueSet &rSubTypeList, const ChartTypeParameter &rParameter) override
virtual const tTemplateServiceChartTypeParameterMap & getTemplateMap() const override
virtual void adjustSubTypeAndEnableControls(ChartTypeParameter &rParameter) override
virtual void showExtraControls(weld::Builder *pBuilder) override
virtual void fillExtraControls(const rtl::Reference<::chart::ChartModel > &xChartModel, const css::uno::Reference< css::beans::XPropertySet > &xTemplateProps) const override
DECL_LINK(ChangeLineCountHdl, weld::SpinButton &, void)
virtual void fillSubTypeList(ValueSet &rSubTypeList, const ChartTypeParameter &rParameter) override
virtual void adjustParameterToSubType(ChartTypeParameter &rParameter) override
std::unique_ptr< weld::SpinButton > m_xMF_NumberOfLines
virtual const tTemplateServiceChartTypeParameterMap & getTemplateMap() const override
virtual void setTemplateProperties(const css::uno::Reference< css::beans::XPropertySet > &xTemplateProps) const override
virtual const tTemplateServiceChartTypeParameterMap & getTemplateMap() const override
virtual void fillSubTypeList(ValueSet &rSubTypeList, const ChartTypeParameter &rParameter) override
virtual bool shouldShow_SplineControl() const override
virtual void adjustParameterToMainType(ChartTypeParameter &rParameter) override
virtual void adjustParameterToSubType(ChartTypeParameter &rParameter) override
virtual bool shouldShow_StackingControl() const override
virtual bool shouldShow_StackingControl() const override
virtual void adjustParameterToSubType(ChartTypeParameter &rParameter) override
virtual void fillSubTypeList(ValueSet &rSubTypeList, const ChartTypeParameter &rParameter) override
virtual const tTemplateServiceChartTypeParameterMap & getTemplateMap() const override
virtual void fillSubTypeList(ValueSet &rSubTypeList, const ChartTypeParameter &rParameter) override
virtual const tTemplateServiceChartTypeParameterMap & getTemplateMap() const override
virtual void adjustParameterToSubType(ChartTypeParameter &rParameter) override
virtual bool shouldShow_3DLookControl() const override
virtual const tTemplateServiceChartTypeParameterMap & getTemplateMap() const override
virtual void fillSubTypeList(ValueSet &rSubTypeList, const ChartTypeParameter &rParameter) override
virtual void adjustParameterToSubType(ChartTypeParameter &rParameter) override
virtual void adjustParameterToSubType(ChartTypeParameter &rParameter) override
virtual bool shouldShow_SplineControl() const override
virtual const tTemplateServiceChartTypeParameterMap & getTemplateMap() const override
virtual void fillSubTypeList(ValueSet &rSubTypeList, const ChartTypeParameter &rParameter) override
virtual bool shouldShow_SortByXValuesResourceGroup() const override
std::map< OUString, ChartTypeParameter > tTemplateServiceChartTypeParameterMap
ThreeDLookScheme
class SAL_NO_VTABLE XPropertySet