diff options
author | Muhammet Kara <muhammet.kara@collabora.com> | 2019-11-11 20:04:30 +0300 |
---|---|---|
committer | Muhammet Kara <muhammet.kara@collabora.com> | 2019-11-12 21:06:53 +0100 |
commit | e63fdaa0d6eed45ad677c36e4a8301f606c603f5 (patch) | |
tree | b08a5bbee24db62eb8995d02621dba3061f5c6af /chart2/source/inc | |
parent | e7051ed1ee5995860f18145b725c71a873ed60f2 (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.hxx | 48 | ||||
-rw-r--r-- | chart2/source/inc/ChartTypeDialogController.hxx | 363 | ||||
-rw-r--r-- | chart2/source/inc/ChartTypeTemplateProvider.hxx | 51 |
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: */ |