summaryrefslogtreecommitdiff
path: root/chart2/source/inc
diff options
context:
space:
mode:
authorMuhammet Kara <muhammet.kara@collabora.com>2019-11-11 20:04:30 +0300
committerMuhammet Kara <muhammet.kara@collabora.com>2019-11-12 21:06:53 +0100
commite63fdaa0d6eed45ad677c36e4a8301f606c603f5 (patch)
treeb08a5bbee24db62eb8995d02621dba3061f5c6af /chart2/source/inc
parente7051ed1ee5995860f18145b725c71a873ed60f2 (diff)
chart2: Move some headers to inc
So that they will be accessible from inside the sidebar dir. Change-Id: Iaf7b1a800a3b35a5c497d8122f68c97c8cdc9eff Reviewed-on: https://gerrit.libreoffice.org/80922 Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com> Tested-by: Muhammet Kara <muhammet.kara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/82461 Tested-by: Jenkins
Diffstat (limited to 'chart2/source/inc')
-rw-r--r--chart2/source/inc/ChangingResource.hxx48
-rw-r--r--chart2/source/inc/ChartTypeDialogController.hxx363
-rw-r--r--chart2/source/inc/ChartTypeTemplateProvider.hxx51
3 files changed, 462 insertions, 0 deletions
diff --git a/chart2/source/inc/ChangingResource.hxx b/chart2/source/inc/ChangingResource.hxx
new file mode 100644
index 000000000000..ca39d92b873d
--- /dev/null
+++ b/chart2/source/inc/ChangingResource.hxx
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_CHANGINGRESOURCE_HXX
+#define INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_CHANGINGRESOURCE_HXX
+
+namespace chart
+{
+class ChangingResource;
+class ResourceChangeListener
+{
+public:
+ virtual void stateChanged() = 0;
+ virtual ~ResourceChangeListener();
+};
+
+class ChangingResource
+{
+public:
+ ChangingResource();
+ virtual ~ChangingResource();
+
+ void setChangeListener(ResourceChangeListener* pListener);
+
+protected:
+ ResourceChangeListener* m_pChangeListener;
+};
+
+} //namespace chart
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/inc/ChartTypeDialogController.hxx b/chart2/source/inc/ChartTypeDialogController.hxx
new file mode 100644
index 000000000000..c3efe736ffc9
--- /dev/null
+++ b/chart2/source/inc/ChartTypeDialogController.hxx
@@ -0,0 +1,363 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_CHARTTYPEDIALOGCONTROLLER_HXX
+#define INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_CHARTTYPEDIALOGCONTROLLER_HXX
+
+#include <sal/config.h>
+
+#include <map>
+
+#include "ChangingResource.hxx"
+#include "ThreeDHelper.hxx"
+
+#include <com/sun/star/chart2/CurveStyle.hpp>
+#include <vcl/weld.hxx>
+
+namespace com
+{
+namespace sun
+{
+namespace star
+{
+namespace beans
+{
+class XPropertySet;
+}
+}
+}
+}
+namespace com
+{
+namespace sun
+{
+namespace star
+{
+namespace chart2
+{
+class XChartDocument;
+}
+}
+}
+}
+namespace com
+{
+namespace sun
+{
+namespace star
+{
+namespace chart2
+{
+class XChartTypeTemplate;
+}
+}
+}
+}
+namespace com
+{
+namespace sun
+{
+namespace star
+{
+namespace lang
+{
+class XMultiServiceFactory;
+}
+}
+}
+}
+
+class SvtValueSet;
+
+namespace chart
+{
+enum GlobalStackMode
+{
+ GlobalStackMode_NONE,
+ GlobalStackMode_STACK_Y,
+ GlobalStackMode_STACK_Y_PERCENT,
+ GlobalStackMode_STACK_Z
+};
+
+class ChartTypeParameter
+{
+public:
+ 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);
+ ChartTypeParameter();
+
+ bool mapsToSameService(const ChartTypeParameter& rParameter) const;
+ bool mapsToSimilarService(const ChartTypeParameter& rParameter,
+ sal_Int32 nTheHigherTheLess) const;
+
+ sal_Int32 nSubTypeIndex; //starting with 1
+
+ bool bXAxisWithValues;
+ bool b3DLook;
+ bool bSymbols;
+ bool bLines;
+
+ GlobalStackMode eStackMode;
+ css::chart2::CurveStyle eCurveStyle;
+
+ sal_Int32 nCurveResolution;
+ sal_Int32 nSplineOrder;
+
+ sal_Int32 nGeometry3D;
+
+ ThreeDLookScheme eThreeDLookScheme;
+ bool bSortByXValues;
+
+ bool mbRoundedEdge;
+};
+
+typedef std::map<OUString, ChartTypeParameter> tTemplateServiceChartTypeParameterMap;
+
+class ChartTypeDialogController : public ChangingResource
+{
+public:
+ ChartTypeDialogController();
+ virtual ~ChartTypeDialogController() override;
+
+ virtual OUString getName() = 0;
+ virtual OUString getImage() = 0;
+ virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const = 0;
+ virtual void fillSubTypeList(SvtValueSet& rSubTypeList, const ChartTypeParameter& rParameter);
+
+ virtual bool shouldShow_3DLookControl() const;
+ virtual bool shouldShow_StackingControl() const;
+ virtual bool shouldShow_SplineControl() const;
+ virtual bool shouldShow_GeometryControl() const;
+ virtual bool shouldShow_SortByXValuesResourceGroup() const;
+
+ virtual void showExtraControls(weld::Builder* pBuilder);
+ virtual void hideExtraControls() const;
+ virtual void
+ fillExtraControls(const css::uno::Reference<css::chart2::XChartDocument>& xChartModel,
+ const css::uno::Reference<css::beans::XPropertySet>& xTemplateProps) const;
+ /// @throws css::uno::RuntimeException
+ virtual void setTemplateProperties(
+ const css::uno::Reference<css::beans::XPropertySet>& xTemplateProps) const;
+
+ bool isSubType(const OUString& rServiceName);
+ ChartTypeParameter getChartTypeParameterForService(
+ const OUString& rServiceName,
+ const css::uno::Reference<css::beans::XPropertySet>& xTemplateProps);
+ virtual void adjustSubTypeAndEnableControls(
+ ChartTypeParameter&
+ rParameter); //if you have different counts of subtypes you may need to adjust the index
+ virtual void adjustParameterToSubType(ChartTypeParameter& rParameter);
+ virtual void adjustParameterToMainType(ChartTypeParameter& rParameter);
+ OUString getServiceNameForParameter(const ChartTypeParameter& rParameter) const;
+ void commitToModel(const ChartTypeParameter& rParameter,
+ const css::uno::Reference<css::chart2::XChartDocument>& xChartModel);
+ css::uno::Reference<css::chart2::XChartTypeTemplate> getCurrentTemplate(
+ const ChartTypeParameter& rParameter,
+ const css::uno::Reference<css::lang::XMultiServiceFactory>& xTemplateManager) const;
+
+protected:
+ bool bSupportsXAxisWithValues;
+ bool bSupports3D;
+};
+
+class ColumnOrBarChartDialogController_Base : public ChartTypeDialogController
+{
+public:
+ ColumnOrBarChartDialogController_Base();
+ virtual ~ColumnOrBarChartDialogController_Base() override;
+
+ virtual bool shouldShow_3DLookControl() const override;
+ virtual bool shouldShow_GeometryControl() const override;
+
+ virtual void adjustSubTypeAndEnableControls(ChartTypeParameter& rParameter) override;
+};
+
+class ColumnChartDialogController : public ColumnOrBarChartDialogController_Base
+{
+public:
+ ColumnChartDialogController();
+ virtual ~ColumnChartDialogController() override;
+
+ virtual OUString getName() override;
+ virtual OUString getImage() override;
+ virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
+ virtual void fillSubTypeList(SvtValueSet& rSubTypeList,
+ const ChartTypeParameter& rParameter) override;
+};
+
+class BarChartDialogController : public ColumnOrBarChartDialogController_Base
+{
+public:
+ BarChartDialogController();
+ virtual ~BarChartDialogController() override;
+
+ virtual OUString getName() override;
+ virtual OUString getImage() override;
+ virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
+ virtual void fillSubTypeList(SvtValueSet& rSubTypeList,
+ const ChartTypeParameter& rParameter) override;
+};
+
+class PieChartDialogController : public ChartTypeDialogController
+{
+public:
+ PieChartDialogController();
+ virtual ~PieChartDialogController() override;
+
+ virtual OUString getName() override;
+ virtual OUString getImage() override;
+ virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
+ virtual void fillSubTypeList(SvtValueSet& rSubTypeList,
+ const ChartTypeParameter& rParameter) override;
+ virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
+
+ virtual bool shouldShow_3DLookControl() const override;
+};
+
+class LineChartDialogController : public ChartTypeDialogController
+{
+public:
+ LineChartDialogController();
+ virtual ~LineChartDialogController() override;
+
+ virtual OUString getName() override;
+ virtual OUString getImage() override;
+ virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
+ virtual void fillSubTypeList(SvtValueSet& rSubTypeList,
+ const ChartTypeParameter& rParameter) override;
+ virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
+ virtual void adjustParameterToMainType(ChartTypeParameter& rParameter) override;
+
+ virtual bool shouldShow_StackingControl() const override;
+ virtual bool shouldShow_SplineControl() const override;
+};
+
+class XYChartDialogController : public ChartTypeDialogController
+{
+public:
+ XYChartDialogController();
+ virtual ~XYChartDialogController() override;
+
+ virtual OUString getName() override;
+ virtual OUString getImage() override;
+ virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
+ virtual void fillSubTypeList(SvtValueSet& rSubTypeList,
+ const ChartTypeParameter& rParameter) override;
+ virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
+
+ virtual bool shouldShow_SplineControl() const override;
+ virtual bool shouldShow_SortByXValuesResourceGroup() const override;
+};
+
+class AreaChartDialogController : public ChartTypeDialogController
+{
+public:
+ AreaChartDialogController();
+ virtual ~AreaChartDialogController() override;
+
+ virtual OUString getName() override;
+ virtual OUString getImage() override;
+ virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
+ virtual void fillSubTypeList(SvtValueSet& rSubTypeList,
+ const ChartTypeParameter& rParameter) override;
+ virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
+ virtual void adjustParameterToMainType(ChartTypeParameter& rParameter) override;
+
+ virtual bool shouldShow_3DLookControl() const override;
+};
+
+class NetChartDialogController : public ChartTypeDialogController
+{
+public:
+ NetChartDialogController();
+ virtual ~NetChartDialogController() override;
+
+ virtual OUString getName() override;
+ virtual OUString getImage() override;
+ virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
+ virtual void fillSubTypeList(SvtValueSet& rSubTypeList,
+ const ChartTypeParameter& rParameter) override;
+ virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
+
+ virtual bool shouldShow_StackingControl() const override;
+};
+
+class StockChartDialogController : public ChartTypeDialogController
+{
+public:
+ StockChartDialogController();
+ virtual ~StockChartDialogController() override;
+
+ virtual OUString getName() override;
+ virtual OUString getImage() override;
+ virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
+ virtual void fillSubTypeList(SvtValueSet& rSubTypeList,
+ const ChartTypeParameter& rParameter) override;
+ virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
+};
+
+class CombiColumnLineChartDialogController : public ChartTypeDialogController
+{
+public:
+ CombiColumnLineChartDialogController();
+
+ virtual OUString getName() override;
+ virtual OUString getImage() override;
+ virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
+ virtual void fillSubTypeList(SvtValueSet& rSubTypeList,
+ const ChartTypeParameter& rParameter) override;
+ virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
+
+ virtual void showExtraControls(weld::Builder* pBuilder) override;
+ virtual void hideExtraControls() const override;
+ virtual void fillExtraControls(
+ const css::uno::Reference<css::chart2::XChartDocument>& xChartModel,
+ const css::uno::Reference<css::beans::XPropertySet>& xTemplateProps) const override;
+
+ virtual void setTemplateProperties(
+ const css::uno::Reference<css::beans::XPropertySet>& xTemplateProps) const override;
+
+private:
+ DECL_LINK(ChangeLineCountHdl, weld::SpinButton&, void);
+
+private:
+ std::unique_ptr<weld::Label> m_xFT_NumberOfLines;
+ std::unique_ptr<weld::SpinButton> m_xMF_NumberOfLines;
+};
+
+class BubbleChartDialogController : public ChartTypeDialogController
+{
+public:
+ BubbleChartDialogController();
+ virtual ~BubbleChartDialogController() override;
+
+ virtual OUString getName() override;
+ virtual OUString getImage() override;
+ virtual const tTemplateServiceChartTypeParameterMap& getTemplateMap() const override;
+ virtual void fillSubTypeList(SvtValueSet& rSubTypeList,
+ const ChartTypeParameter& rParameter) override;
+ virtual void adjustParameterToSubType(ChartTypeParameter& rParameter) override;
+};
+
+} //namespace chart
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/inc/ChartTypeTemplateProvider.hxx b/chart2/source/inc/ChartTypeTemplateProvider.hxx
new file mode 100644
index 000000000000..fc4517d1bc4e
--- /dev/null
+++ b/chart2/source/inc/ChartTypeTemplateProvider.hxx
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_CHARTTYPETEMPLATEPROVIDER_HXX
+#define INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_CHARTTYPETEMPLATEPROVIDER_HXX
+
+#include <com/sun/star/uno/Reference.hxx>
+
+namespace com
+{
+namespace sun
+{
+namespace star
+{
+namespace chart2
+{
+class XChartTypeTemplate;
+}
+}
+}
+}
+
+namespace chart
+{
+class ChartTypeTemplateProvider
+{
+public:
+ virtual css::uno::Reference<css::chart2::XChartTypeTemplate> getCurrentTemplate() const = 0;
+ virtual ~ChartTypeTemplateProvider() {}
+};
+
+} //namespace chart
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */