diff options
Diffstat (limited to 'chart2/source/controller/dialogs/tp_ChartType.hxx')
-rw-r--r-- | chart2/source/controller/dialogs/tp_ChartType.hxx | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/chart2/source/controller/dialogs/tp_ChartType.hxx b/chart2/source/controller/dialogs/tp_ChartType.hxx new file mode 100644 index 000000000000..b40cbb1956db --- /dev/null +++ b/chart2/source/controller/dialogs/tp_ChartType.hxx @@ -0,0 +1,125 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _CHART2_TP_CHARTTYPE_HXX +#define _CHART2_TP_CHARTTYPE_HXX + +#include <vector> + +#include "ChartTypeDialogController.hxx" +#include "ChartTypeTemplateProvider.hxx" +#include "TimerTriggeredControllerLock.hxx" + +#include <com/sun/star/chart2/XChartDocument.hpp> +#include <svtools/wizardmachine.hxx> +#include <svtools/valueset.hxx> +#include <vcl/fixed.hxx> +// header for class MetricField +#include <vcl/field.hxx> +// header for class ListBox +#include <vcl/lstbox.hxx> +#include <com/sun/star/uno/XComponentContext.hpp> + +//............................................................................. +namespace chart +{ +//............................................................................. + +//----------------------------------------------------------------------------- +/** +*/ +class ChartTypeResourceGroup; +class AxisTypeResourceGroup; +class Dim3DLookResourceGroup; +class StackingResourceGroup; +class SplineResourceGroup; +class GeometryResourceGroup; +class ChartTypeParameter; +class SortByXValuesResourceGroup; + +class ChartTypeTabPage : public ResourceChangeListener, public svt::OWizardPage, public ChartTypeTemplateProvider +{ +public: + ChartTypeTabPage( Window* pParent + , const ::com::sun::star::uno::Reference< + ::com::sun::star::chart2::XChartDocument >& xChartModel + , const ::com::sun::star::uno::Reference< + ::com::sun::star::uno::XComponentContext >& xContext + , bool bDoLiveUpdate, bool bHideDescription = false ); + virtual ~ChartTypeTabPage(); + + virtual void initializePage(); + virtual sal_Bool commitPage( ::svt::WizardTypes::CommitPageReason eReason ); + + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::chart2::XChartTypeTemplate > getCurrentTemplate() const; + +protected: + ChartTypeDialogController* getSelectedMainType(); + void showAllControls( ChartTypeDialogController& rTypeController ); + void fillAllControls( const ChartTypeParameter& rParameter, bool bAlsoResetSubTypeList=true ); + ChartTypeParameter getCurrentParamter() const; + + virtual void stateChanged( ChangingResource* pResource ); + + void commitToModel( const ChartTypeParameter& rParameter ); + + DECL_LINK( SelectMainTypeHdl, void* ); + DECL_LINK( SelectSubTypeHdl, void* ); + +protected: + FixedText m_aFT_ChooseType; + ListBox m_aMainTypeList; + ValueSet m_aSubTypeList; + + AxisTypeResourceGroup* m_pAxisTypeResourceGroup; + Dim3DLookResourceGroup* m_pDim3DLookResourceGroup; + StackingResourceGroup* m_pStackingResourceGroup; + SplineResourceGroup* m_pSplineResourceGroup; + GeometryResourceGroup* m_pGeometryResourceGroup; + SortByXValuesResourceGroup* m_pSortByXValuesResourceGroup; + + long m_nYTopPos;//top y position of the different ResourceGroups (AxisTypeResourceGroup, etc) + + ::com::sun::star::uno::Reference< + ::com::sun::star::chart2::XChartDocument > m_xChartModel; + ::com::sun::star::uno::Reference< + ::com::sun::star::uno::XComponentContext > m_xCC; + + ::std::vector< ChartTypeDialogController* > m_aChartTypeDialogControllerList; + ChartTypeDialogController* m_pCurrentMainType; + + sal_Int32 m_nChangingCalls; + bool m_bDoLiveUpdate; + + TimerTriggeredControllerLock m_aTimerTriggeredControllerLock; +}; + +//............................................................................. +} //namespace chart +//............................................................................. +#endif |