diff options
Diffstat (limited to 'chart2/source/controller/inc/dlg_ObjectProperties.hxx')
-rw-r--r-- | chart2/source/controller/inc/dlg_ObjectProperties.hxx | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/chart2/source/controller/inc/dlg_ObjectProperties.hxx b/chart2/source/controller/inc/dlg_ObjectProperties.hxx new file mode 100644 index 000000000000..8ceabdbe33b7 --- /dev/null +++ b/chart2/source/controller/inc/dlg_ObjectProperties.hxx @@ -0,0 +1,155 @@ +/************************************************************************* + * + * 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_DLG_OBJECTPROPERTIES_HXX +#define _CHART2_DLG_OBJECTPROPERTIES_HXX + +#include "ObjectIdentifier.hxx" +#include <sfx2/tabdlg.hxx> +// header for typedef ChangeType +#include <svx/tabarea.hxx> +#include <com/sun/star/util/XNumberFormatsSupplier.hpp> + +//............................................................................. +namespace chart +{ +//............................................................................. + +class ObjectPropertiesDialogParameter +{ +public: + ObjectPropertiesDialogParameter( const rtl::OUString& rObjectCID ); + virtual ~ObjectPropertiesDialogParameter(); + + void init( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& xModel ); + ObjectType getObjectType() const; + rtl::OUString getLocalizedName() const; + + bool HasGeometryProperties() const; + bool HasStatisticProperties() const; + bool ProvidesSecondaryYAxis() const; + bool ProvidesOverlapAndGapWidth() const; + bool ProvidesBarConnectors() const; + bool HasAreaProperties() const; + bool HasSymbolProperties() const; + bool HasNumberProperties() const; + bool ProvidesStartingAngle() const; + bool ProvidesMissingValueTreatments() const; + + bool HasScaleProperties() const; + bool CanAxisLabelsBeStaggered() const; + bool IsSupportingAxisPositioning() const; + bool ShowAxisOrigin() const; + bool IsCrossingAxisIsCategoryAxis() const; + const ::com::sun::star::uno::Sequence< rtl::OUString >& GetCategories() const; + + ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartDocument > + getDocument() const; + +private: + rtl::OUString m_aObjectCID; + ObjectType m_eObjectType; + bool m_bAffectsMultipleObjects;//is true if more than one object of the given type will be changed (e.g. all axes or all titles) + + rtl::OUString m_aLocalizedName; + + bool m_bHasGeometryProperties; + bool m_bHasStatisticProperties; + bool m_bProvidesSecondaryYAxis; + bool m_bProvidesOverlapAndGapWidth; + bool m_bProvidesBarConnectors; + bool m_bHasAreaProperties; + bool m_bHasSymbolProperties; + bool m_bHasNumberProperties; + bool m_bProvidesStartingAngle; + bool m_bProvidesMissingValueTreatments; + + bool m_bHasScaleProperties; + bool m_bCanAxisLabelsBeStaggered; + + bool m_bSupportingAxisPositioning; + bool m_bShowAxisOrigin; + bool m_bIsCrossingAxisIsCategoryAxis; + ::com::sun::star::uno::Sequence< rtl::OUString > m_aCategories; + + ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartDocument > m_xChartDocument; +}; + +/************************************************************************* +|* +|* dialog for properties of different chart object +|* +\************************************************************************/ + +class ViewElementListProvider; + +class SchAttribTabDlg : public SfxTabDialog +{ +private: + ObjectType eObjectType; + bool bAffectsMultipleObjects;//is true if more than one object of the given type will be changed (e.g. all axes or all titles) + USHORT nDlgType; + USHORT nPageType; + + const ObjectPropertiesDialogParameter * const m_pParameter; + const ViewElementListProvider* const m_pViewElementListProvider; + SvNumberFormatter* m_pNumberFormatter; + + SfxItemSet* m_pSymbolShapeProperties; + Graphic* m_pAutoSymbolGraphic; + + double m_fAxisMinorStepWidthForErrorBarDecimals; + bool m_bOKPressed; + + virtual void PageCreated(USHORT nId, SfxTabPage& rPage); + + Link m_aOriginalOKClickHdl; + DECL_LINK( OKPressed, void * ); + +public: + SchAttribTabDlg(Window* pParent, const SfxItemSet* pAttr, + const ObjectPropertiesDialogParameter* pDialogParameter, + const ViewElementListProvider* pViewElementListProvider, + const ::com::sun::star::uno::Reference< + ::com::sun::star::util::XNumberFormatsSupplier >& xNumberFormatsSupplier ); + virtual ~SchAttribTabDlg(); + + //pSymbolShapeProperties: Properties to be set on the symbollist shapes + //pAutoSymbolGraphic: Graphic to be shown if AutoSymbol gets selected + //this class takes ownership over both parameter + void setSymbolInformation( SfxItemSet* pSymbolShapeProperties, Graphic* pAutoSymbolGraphic ); + + void SetAxisMinorStepWidthForErrorBarDecimals( double fMinorStepWidth ); + + bool DialogWasClosedWithOK() const; +}; + +//............................................................................. +} //namespace chart +//............................................................................. + +#endif + |