diff options
Diffstat (limited to 'chart2/source/controller/dialogs/dlg_ObjectProperties.cxx')
-rw-r--r-- | chart2/source/controller/dialogs/dlg_ObjectProperties.cxx | 663 |
1 files changed, 0 insertions, 663 deletions
diff --git a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx deleted file mode 100644 index 884cfbd6c..000000000 --- a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx +++ /dev/null @@ -1,663 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_chart2.hxx" -#ifndef _ZFORLIST_HXX -#ifndef _ZFORLIST_DECLARE_TABLE -#define _ZFORLIST_DECLARE_TABLE -#endif -#include <svl/zforlist.hxx> -#endif - -#include "dlg_ObjectProperties.hxx" -#include "ResourceIds.hrc" -#include "Strings.hrc" -#include "TabPages.hrc" -#include "tp_AxisLabel.hxx" -#include "tp_DataLabel.hxx" -#include "tp_LegendPosition.hxx" -#include "tp_PointGeometry.hxx" -#include "tp_Scale.hxx" -#include "tp_AxisPositions.hxx" -#include "tp_ErrorBars.hxx" -#include "tp_Trendline.hxx" -#include "tp_SeriesToAxis.hxx" -#include "tp_TitleRotation.hxx" -#include "tp_PolarOptions.hxx" -#include "ResId.hxx" -#include "ViewElementListProvider.hxx" -#include "macros.hxx" -#include "ChartModelHelper.hxx" -#include "ChartTypeHelper.hxx" -#include "ObjectNameProvider.hxx" -#include "DiagramHelper.hxx" -#include "NumberFormatterWrapper.hxx" -#include "AxisIndexDefines.hxx" -#include "AxisHelper.hxx" -#include "ExplicitCategoriesProvider.hxx" - -#include <com/sun/star/chart2/XAxis.hpp> -#include <com/sun/star/chart2/XChartType.hpp> -#include <com/sun/star/chart2/XDataSeries.hpp> -#include <svl/intitem.hxx> -#include <svl/languageoptions.hxx> - -#include <svx/svxids.hrc> - -#include <svx/drawitem.hxx> -#include <svx/ofaitem.hxx> -#include <svx/svxgrahicitem.hxx> - -#include <svx/dialogs.hrc> -#include <editeng/flstitem.hxx> -#include <svx/tabline.hxx> - -#include <svx/flagsdef.hxx> -#include <svx/numinf.hxx> - -#include <svl/cjkoptions.hxx> - -//............................................................................. -namespace chart -{ -//............................................................................. - -using namespace ::com::sun::star; -using namespace ::com::sun::star::chart2; -using ::com::sun::star::uno::Reference; - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -ObjectPropertiesDialogParameter::ObjectPropertiesDialogParameter( const rtl::OUString& rObjectCID ) - : m_aObjectCID( rObjectCID ) - , m_eObjectType( ObjectIdentifier::getObjectType( m_aObjectCID ) ) - , m_bAffectsMultipleObjects(false) - , m_aLocalizedName() - , m_bHasGeometryProperties(false) - , m_bHasStatisticProperties(false) - , m_bProvidesSecondaryYAxis(false) - , m_bProvidesOverlapAndGapWidth(false) - , m_bProvidesBarConnectors(false) - , m_bHasAreaProperties(false) - , m_bHasSymbolProperties(false) - , m_bHasNumberProperties(false) - , m_bProvidesStartingAngle(false) - , m_bProvidesMissingValueTreatments(false) - , m_bHasScaleProperties(false) - , m_bCanAxisLabelsBeStaggered(false) - , m_bSupportingAxisPositioning(false) - , m_bShowAxisOrigin(false) - , m_bIsCrossingAxisIsCategoryAxis(false) - , m_aCategories() - , m_xChartDocument( 0 ) - , m_bComplexCategoriesAxis( false ) -{ - rtl::OUString aParticleID = ObjectIdentifier::getParticleID( m_aObjectCID ); - m_bAffectsMultipleObjects = aParticleID.equals(C2U("ALLELEMENTS")); -} -ObjectPropertiesDialogParameter::~ObjectPropertiesDialogParameter() -{ -} -ObjectType ObjectPropertiesDialogParameter::getObjectType() const -{ - return m_eObjectType; -} -rtl::OUString ObjectPropertiesDialogParameter::getLocalizedName() const -{ - return m_aLocalizedName; -} - -void ObjectPropertiesDialogParameter::init( const uno::Reference< frame::XModel >& xChartModel ) -{ - m_xChartDocument.set( xChartModel, uno::UNO_QUERY ); - uno::Reference< XDiagram > xDiagram( ChartModelHelper::findDiagram( xChartModel ) ); - uno::Reference< XDataSeries > xSeries = ObjectIdentifier::getDataSeriesForCID( m_aObjectCID, xChartModel ); - uno::Reference< XChartType > xChartType = ChartModelHelper::getChartTypeOfSeries( xChartModel, xSeries ); - sal_Int32 nDimensionCount = DiagramHelper::getDimension( xDiagram ); - - bool bHasSeriesProperties = (OBJECTTYPE_DATA_SERIES==m_eObjectType); - bool bHasDataPointproperties = (OBJECTTYPE_DATA_POINT==m_eObjectType); - - if( bHasSeriesProperties || bHasDataPointproperties ) - { - m_bHasGeometryProperties = ChartTypeHelper::isSupportingGeometryProperties( xChartType, nDimensionCount ); - m_bHasAreaProperties = ChartTypeHelper::isSupportingAreaProperties( xChartType, nDimensionCount ); - m_bHasSymbolProperties = ChartTypeHelper::isSupportingSymbolProperties( xChartType, nDimensionCount ); - - if( bHasSeriesProperties ) - { - m_bHasStatisticProperties = ChartTypeHelper::isSupportingStatisticProperties( xChartType, nDimensionCount ); - m_bProvidesSecondaryYAxis = ChartTypeHelper::isSupportingSecondaryAxis( xChartType, nDimensionCount, 1 ); - m_bProvidesOverlapAndGapWidth = ChartTypeHelper::isSupportingOverlapAndGapWidthProperties( xChartType, nDimensionCount ); - m_bProvidesBarConnectors = ChartTypeHelper::isSupportingBarConnectors( xChartType, nDimensionCount ); - m_bProvidesStartingAngle = ChartTypeHelper::isSupportingStartingAngle( xChartType ); - - m_bProvidesMissingValueTreatments = ChartTypeHelper::getSupportedMissingValueTreatments( xChartType ) - .getLength() ? true : false; - } - } - - if( OBJECTTYPE_DATA_ERRORS == m_eObjectType ) - m_bHasStatisticProperties = true; - - if( OBJECTTYPE_AXIS == m_eObjectType ) - { - //show scale properties only for a single axis not for multiselection - m_bHasScaleProperties = !m_bAffectsMultipleObjects; - - if( m_bHasScaleProperties ) - { - uno::Reference< XAxis > xAxis( ObjectIdentifier::getAxisForCID( m_aObjectCID, xChartModel ) ); - if( xAxis.is() ) - { - //no scale page for series axis - ScaleData aData( xAxis->getScaleData() ); - if( chart2::AxisType::SERIES == aData.AxisType ) - m_bHasScaleProperties = false; - if( chart2::AxisType::SERIES != aData.AxisType ) - m_bHasNumberProperties = true; - - sal_Int32 nCooSysIndex=0; - sal_Int32 nDimensionIndex=0; - sal_Int32 nAxisIndex=0; - if( AxisHelper::getIndicesForAxis( xAxis, xDiagram, nCooSysIndex, nDimensionIndex, nAxisIndex ) ) - { - xChartType = AxisHelper::getFirstChartTypeWithSeriesAttachedToAxisIndex( xDiagram, nAxisIndex ); - //show positioning controls only if they make sense - m_bSupportingAxisPositioning = ChartTypeHelper::isSupportingAxisPositioning( xChartType, nDimensionCount, nDimensionIndex ); - - //show axis origin only for secondary y axis - if( 1==nDimensionIndex && 1==nAxisIndex && ChartTypeHelper::isSupportingBaseValue( xChartType ) ) - m_bShowAxisOrigin = true; - } - - //is the crossin main axis a category axes?: - uno::Reference< XCoordinateSystem > xCooSys( AxisHelper::getCoordinateSystemOfAxis( xAxis, xDiagram ) ); - uno::Reference< XAxis > xCrossingMainAxis( AxisHelper::getCrossingMainAxis( xAxis, xCooSys ) ); - if( xCrossingMainAxis.is() ) - { - ScaleData aScale( xCrossingMainAxis->getScaleData() ); - m_bIsCrossingAxisIsCategoryAxis = ( chart2::AxisType::CATEGORY == aScale.AxisType ); - if( m_bIsCrossingAxisIsCategoryAxis ) - m_aCategories = DiagramHelper::getExplicitSimpleCategories( Reference< chart2::XChartDocument >( xChartModel, uno::UNO_QUERY) ); - } - - m_bComplexCategoriesAxis = false; - if ( nDimensionIndex == 0 && aData.AxisType == chart2::AxisType::CATEGORY ) - { - ExplicitCategoriesProvider aExplicitCategoriesProvider( xCooSys, xChartModel ); - m_bComplexCategoriesAxis = aExplicitCategoriesProvider.hasComplexCategories(); - } - } - } - - //no staggering of labels for 3D axis - m_bCanAxisLabelsBeStaggered = nDimensionCount==2; - } - - //create gui name for this object - { - if( !m_bAffectsMultipleObjects && OBJECTTYPE_AXIS == m_eObjectType ) - { - m_aLocalizedName = ObjectNameProvider::getAxisName( m_aObjectCID, xChartModel ); - } - else if( !m_bAffectsMultipleObjects && ( OBJECTTYPE_GRID == m_eObjectType || OBJECTTYPE_SUBGRID == m_eObjectType ) ) - { - m_aLocalizedName = ObjectNameProvider::getGridName( m_aObjectCID, xChartModel ); - } - else if( !m_bAffectsMultipleObjects && OBJECTTYPE_TITLE == m_eObjectType ) - { - m_aLocalizedName = ObjectNameProvider::getTitleName( m_aObjectCID, xChartModel ); - } - else - { - switch( m_eObjectType ) - { - case OBJECTTYPE_DATA_POINT: - case OBJECTTYPE_DATA_LABEL: - case OBJECTTYPE_DATA_LABELS: - case OBJECTTYPE_DATA_ERRORS: - case OBJECTTYPE_DATA_ERRORS_X: - case OBJECTTYPE_DATA_ERRORS_Y: - case OBJECTTYPE_DATA_ERRORS_Z: - case OBJECTTYPE_DATA_AVERAGE_LINE: - case OBJECTTYPE_DATA_CURVE: - case OBJECTTYPE_DATA_CURVE_EQUATION: - if( m_bAffectsMultipleObjects ) - m_aLocalizedName = ObjectNameProvider::getName_ObjectForAllSeries( m_eObjectType ); - else - m_aLocalizedName = ObjectNameProvider::getName_ObjectForSeries( m_eObjectType, m_aObjectCID, m_xChartDocument ); - break; - default: - m_aLocalizedName = ObjectNameProvider::getName(m_eObjectType,m_bAffectsMultipleObjects); - break; - } - } - } -} - -bool ObjectPropertiesDialogParameter::HasGeometryProperties() const -{ - return m_bHasGeometryProperties; -} -bool ObjectPropertiesDialogParameter::HasStatisticProperties() const -{ - return m_bHasStatisticProperties; -} -bool ObjectPropertiesDialogParameter::ProvidesSecondaryYAxis() const -{ - return m_bProvidesSecondaryYAxis; -} -bool ObjectPropertiesDialogParameter::ProvidesOverlapAndGapWidth() const -{ - return m_bProvidesOverlapAndGapWidth; -} -bool ObjectPropertiesDialogParameter::ProvidesBarConnectors() const -{ - return m_bProvidesBarConnectors; -} -bool ObjectPropertiesDialogParameter::HasAreaProperties() const -{ - return m_bHasAreaProperties; -} -bool ObjectPropertiesDialogParameter::HasSymbolProperties() const -{ - return m_bHasSymbolProperties; -} -bool ObjectPropertiesDialogParameter::HasScaleProperties() const -{ - return m_bHasScaleProperties; -} -bool ObjectPropertiesDialogParameter::CanAxisLabelsBeStaggered() const -{ - return m_bCanAxisLabelsBeStaggered; -} -bool ObjectPropertiesDialogParameter::ShowAxisOrigin() const -{ - return m_bShowAxisOrigin; -} -bool ObjectPropertiesDialogParameter::IsSupportingAxisPositioning() const -{ - return m_bSupportingAxisPositioning; -} -bool ObjectPropertiesDialogParameter::IsCrossingAxisIsCategoryAxis() const -{ - return m_bIsCrossingAxisIsCategoryAxis; -} -const uno::Sequence< rtl::OUString >& ObjectPropertiesDialogParameter::GetCategories() const -{ - return m_aCategories; -} -bool ObjectPropertiesDialogParameter::HasNumberProperties() const -{ - return m_bHasNumberProperties; -} -bool ObjectPropertiesDialogParameter::ProvidesStartingAngle() const -{ - return m_bProvidesStartingAngle; -} -bool ObjectPropertiesDialogParameter::ProvidesMissingValueTreatments() const -{ - return m_bProvidesMissingValueTreatments; -} -uno::Reference< chart2::XChartDocument > ObjectPropertiesDialogParameter::getDocument() const -{ - return m_xChartDocument; -} -bool ObjectPropertiesDialogParameter::IsComplexCategoriesAxis() const -{ - return m_bComplexCategoriesAxis; -} - -const sal_uInt16 nNoArrowNoShadowDlg = 1101; - -//------------------------------------------------------------------- -//------------------------------------------------------------------- -//------------------------------------------------------------------- - -void SchAttribTabDlg::setSymbolInformation( SfxItemSet* pSymbolShapeProperties, - Graphic* pAutoSymbolGraphic ) -{ - m_pSymbolShapeProperties = pSymbolShapeProperties; - m_pAutoSymbolGraphic = pAutoSymbolGraphic; -} - -void SchAttribTabDlg::SetAxisMinorStepWidthForErrorBarDecimals( double fMinorStepWidth ) -{ - m_fAxisMinorStepWidthForErrorBarDecimals = fMinorStepWidth; -} - -SchAttribTabDlg::SchAttribTabDlg(Window* pParent, - const SfxItemSet* pAttr, - const ObjectPropertiesDialogParameter* pDialogParameter, - const ViewElementListProvider* pViewElementListProvider, - const uno::Reference< util::XNumberFormatsSupplier >& xNumberFormatsSupplier - ) - : SfxTabDialog(pParent, SchResId(DLG_OBJECT_PROPERTIES), pAttr) - , eObjectType(pDialogParameter->getObjectType()) - , nDlgType(nNoArrowNoShadowDlg) - , nPageType(0) - , m_pParameter( pDialogParameter ) - , m_pViewElementListProvider( pViewElementListProvider ) - , m_pNumberFormatter(0) - , m_pSymbolShapeProperties(NULL) - , m_pAutoSymbolGraphic(NULL) - , m_fAxisMinorStepWidthForErrorBarDecimals(0.1) - , m_bOKPressed(false) -{ - FreeResource(); - - NumberFormatterWrapper aNumberFormatterWrapper( xNumberFormatsSupplier ); - m_pNumberFormatter = aNumberFormatterWrapper.getSvNumberFormatter(); - - this->SetText( pDialogParameter->getLocalizedName() ); - - SvtCJKOptions aCJKOptions; - - switch (eObjectType) - { - case OBJECTTYPE_TITLE: - AddTabPage(RID_SVXPAGE_LINE, String(SchResId(STR_PAGE_BORDER))); - AddTabPage(RID_SVXPAGE_AREA, String(SchResId(STR_PAGE_AREA))); - AddTabPage(RID_SVXPAGE_TRANSPARENCE, String(SchResId(STR_PAGE_TRANSPARENCY))); - AddTabPage(RID_SVXPAGE_CHAR_NAME, String(SchResId(STR_PAGE_FONT))); - AddTabPage(RID_SVXPAGE_CHAR_EFFECTS, String(SchResId(STR_PAGE_FONT_EFFECTS))); - AddTabPage(TP_ALIGNMENT, String(SchResId(STR_PAGE_ALIGNMENT)), SchAlignmentTabPage::Create, NULL); - if( aCJKOptions.IsAsianTypographyEnabled() ) - AddTabPage(RID_SVXPAGE_PARA_ASIAN, String(SchResId(STR_PAGE_ASIAN))); - break; - - case OBJECTTYPE_LEGEND: - AddTabPage(RID_SVXPAGE_LINE, String(SchResId(STR_PAGE_BORDER))); - AddTabPage(RID_SVXPAGE_AREA, String(SchResId(STR_PAGE_AREA))); - AddTabPage(RID_SVXPAGE_TRANSPARENCE, String(SchResId(STR_PAGE_TRANSPARENCY))); - AddTabPage(RID_SVXPAGE_CHAR_NAME, String(SchResId(STR_PAGE_FONT))); - AddTabPage(RID_SVXPAGE_CHAR_EFFECTS, String(SchResId(STR_PAGE_FONT_EFFECTS))); - AddTabPage(TP_LEGEND_POS, String(SchResId(STR_PAGE_POSITION)), SchLegendPosTabPage::Create, NULL); - if( aCJKOptions.IsAsianTypographyEnabled() ) - AddTabPage(RID_SVXPAGE_PARA_ASIAN, String(SchResId(STR_PAGE_ASIAN))); - break; - - case OBJECTTYPE_DATA_SERIES: - case OBJECTTYPE_DATA_POINT: - if( m_pParameter->ProvidesSecondaryYAxis() || m_pParameter->ProvidesOverlapAndGapWidth() || m_pParameter->ProvidesMissingValueTreatments() ) - AddTabPage(TP_OPTIONS, String(SchResId(STR_PAGE_OPTIONS)),SchOptionTabPage::Create, NULL); - if( m_pParameter->ProvidesStartingAngle()) - AddTabPage(TP_POLAROPTIONS, String(SchResId(STR_PAGE_OPTIONS)),PolarOptionsTabPage::Create, NULL); - - if( m_pParameter->HasGeometryProperties() ) - AddTabPage(TP_LAYOUT, String(SchResId(STR_PAGE_LAYOUT)),SchLayoutTabPage::Create, NULL); - - if(m_pParameter->HasAreaProperties()) - { - AddTabPage(RID_SVXPAGE_AREA, String(SchResId(STR_PAGE_AREA))); - AddTabPage(RID_SVXPAGE_TRANSPARENCE, String(SchResId(STR_PAGE_TRANSPARENCY))); - } - AddTabPage(RID_SVXPAGE_LINE, String(SchResId( m_pParameter->HasAreaProperties() ? STR_PAGE_BORDER : STR_PAGE_LINE ))); - break; - - case OBJECTTYPE_DATA_LABEL: - case OBJECTTYPE_DATA_LABELS: - AddTabPage(TP_DATA_DESCR, String(SchResId(STR_OBJECT_DATALABELS)), DataLabelsTabPage::Create, NULL); - AddTabPage(RID_SVXPAGE_CHAR_NAME, String(SchResId(STR_PAGE_FONT))); - AddTabPage(RID_SVXPAGE_CHAR_EFFECTS, String(SchResId(STR_PAGE_FONT_EFFECTS))); - if( aCJKOptions.IsAsianTypographyEnabled() ) - AddTabPage(RID_SVXPAGE_PARA_ASIAN, String(SchResId(STR_PAGE_ASIAN))); - - break; - - case OBJECTTYPE_AXIS: - { - if( m_pParameter->HasScaleProperties() ) - AddTabPage(TP_SCALE, String(SchResId(STR_PAGE_SCALE)), ScaleTabPage::Create, NULL); - - if( m_pParameter->HasScaleProperties() )//no positioning page for z axes so far as the tickmarks are not shown so far - AddTabPage(TP_AXIS_POSITIONS, String(SchResId(STR_PAGE_POSITIONING)), AxisPositionsTabPage::Create, NULL); - AddTabPage(RID_SVXPAGE_LINE, String(SchResId(STR_PAGE_LINE))); - AddTabPage(TP_AXIS_LABEL, String(SchResId(STR_OBJECT_LABEL)), SchAxisLabelTabPage::Create, NULL); - if( m_pParameter->HasNumberProperties() ) - AddTabPage(RID_SVXPAGE_NUMBERFORMAT, String(SchResId(STR_PAGE_NUMBERS))); - AddTabPage(RID_SVXPAGE_CHAR_NAME, String(SchResId(STR_PAGE_FONT))); - AddTabPage(RID_SVXPAGE_CHAR_EFFECTS, String(SchResId(STR_PAGE_FONT_EFFECTS))); - if( aCJKOptions.IsAsianTypographyEnabled() ) - AddTabPage(RID_SVXPAGE_PARA_ASIAN, String(SchResId(STR_PAGE_ASIAN))); - break; - } - - case OBJECTTYPE_DATA_ERRORS: - case OBJECTTYPE_DATA_ERRORS_X: - case OBJECTTYPE_DATA_ERRORS_Y: - case OBJECTTYPE_DATA_ERRORS_Z: - AddTabPage(TP_YERRORBAR, String(SchResId(STR_PAGE_YERROR_BARS)), ErrorBarsTabPage::Create, NULL); - AddTabPage(RID_SVXPAGE_LINE, String(SchResId(STR_PAGE_LINE))); - break; - - case OBJECTTYPE_GRID: - case OBJECTTYPE_SUBGRID: - case OBJECTTYPE_DATA_AVERAGE_LINE: - case OBJECTTYPE_DATA_STOCK_RANGE: - AddTabPage(RID_SVXPAGE_LINE, String(SchResId(STR_PAGE_LINE))); - break; - - case OBJECTTYPE_DATA_CURVE: - AddTabPage(TP_TRENDLINE, String(SchResId(STR_PAGE_TRENDLINE_TYPE)), TrendlineTabPage::Create, NULL); - AddTabPage(RID_SVXPAGE_LINE, String(SchResId(STR_PAGE_LINE))); - break; - - case OBJECTTYPE_DATA_STOCK_LOSS: - case OBJECTTYPE_DATA_STOCK_GAIN: - case OBJECTTYPE_PAGE: - case OBJECTTYPE_DIAGRAM_FLOOR: - case OBJECTTYPE_DIAGRAM_WALL: - case OBJECTTYPE_DIAGRAM: - AddTabPage(RID_SVXPAGE_LINE, String(SchResId(STR_PAGE_BORDER))); - AddTabPage(RID_SVXPAGE_AREA, String(SchResId(STR_PAGE_AREA))); - AddTabPage(RID_SVXPAGE_TRANSPARENCE, String(SchResId(STR_PAGE_TRANSPARENCY))); - break; - - case OBJECTTYPE_LEGEND_ENTRY: - case OBJECTTYPE_AXIS_UNITLABEL: - case OBJECTTYPE_UNKNOWN: - // nothing - break; - case OBJECTTYPE_DATA_CURVE_EQUATION: - AddTabPage(RID_SVXPAGE_LINE, String(SchResId(STR_PAGE_BORDER))); - AddTabPage(RID_SVXPAGE_AREA, String(SchResId(STR_PAGE_AREA))); - AddTabPage(RID_SVXPAGE_TRANSPARENCE, String(SchResId(STR_PAGE_TRANSPARENCY))); - AddTabPage(RID_SVXPAGE_CHAR_NAME, String(SchResId(STR_PAGE_FONT))); - AddTabPage(RID_SVXPAGE_CHAR_EFFECTS, String(SchResId(STR_PAGE_FONT_EFFECTS))); - AddTabPage(RID_SVXPAGE_NUMBERFORMAT, String(SchResId(STR_PAGE_NUMBERS))); - if( SvtLanguageOptions().IsCTLFontEnabled() ) - /* When rotation is supported for equation text boxes, use - SchAlignmentTabPage::Create here. The special - SchAlignmentTabPage::CreateWithoutRotation can be deleted. */ - AddTabPage(TP_ALIGNMENT, String(SchResId(STR_PAGE_ALIGNMENT)), SchAlignmentTabPage::CreateWithoutRotation, NULL); - break; - default: - break; - } - - // used to find out if user left the dialog with OK. When OK is pressed but - // no changes were done, Cancel is returned by the SfxTabDialog. See method - // DialogWasClosedWithOK. - m_aOriginalOKClickHdl = GetOKButton().GetClickHdl(); - GetOKButton().SetClickHdl( LINK( this, SchAttribTabDlg, OKPressed )); -} - -SchAttribTabDlg::~SchAttribTabDlg() -{ - delete m_pSymbolShapeProperties; - delete m_pAutoSymbolGraphic; -} - -void SchAttribTabDlg::PageCreated(sal_uInt16 nId, SfxTabPage &rPage) -{ - SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool())); - switch (nId) - { - case TP_LAYOUT: - break; - case RID_SVXPAGE_LINE: - aSet.Put (SvxColorTableItem(m_pViewElementListProvider->GetColorTable(),SID_COLOR_TABLE)); - aSet.Put (SvxDashListItem(m_pViewElementListProvider->GetDashList(),SID_DASH_LIST)); - aSet.Put (SvxLineEndListItem(m_pViewElementListProvider->GetLineEndList(),SID_LINEEND_LIST)); - aSet.Put (SfxUInt16Item(SID_PAGE_TYPE,nPageType)); - aSet.Put (SfxUInt16Item(SID_DLG_TYPE,nDlgType)); - - if( m_pParameter->HasSymbolProperties() ) - { - aSet.Put(OfaPtrItem(SID_OBJECT_LIST,m_pViewElementListProvider->GetSymbolList())); - if( m_pSymbolShapeProperties ) - aSet.Put(SfxTabDialogItem(SID_ATTR_SET,*m_pSymbolShapeProperties)); - if( m_pAutoSymbolGraphic ) - aSet.Put(SvxGraphicItem(SID_GRAPHIC,*m_pAutoSymbolGraphic)); - } - rPage.PageCreated(aSet); - break; - - case RID_SVXPAGE_AREA: - aSet.Put(SvxColorTableItem(m_pViewElementListProvider->GetColorTable(),SID_COLOR_TABLE)); - aSet.Put(SvxGradientListItem(m_pViewElementListProvider->GetGradientList(),SID_GRADIENT_LIST)); - aSet.Put(SvxHatchListItem(m_pViewElementListProvider->GetHatchList(),SID_HATCH_LIST)); - aSet.Put(SvxBitmapListItem(m_pViewElementListProvider->GetBitmapList(),SID_BITMAP_LIST)); - aSet.Put(SfxUInt16Item(SID_PAGE_TYPE,nPageType)); - aSet.Put(SfxUInt16Item(SID_DLG_TYPE,nDlgType)); - rPage.PageCreated(aSet); - break; - - case RID_SVXPAGE_TRANSPARENCE: - aSet.Put (SfxUInt16Item(SID_PAGE_TYPE,nPageType)); - aSet.Put (SfxUInt16Item(SID_DLG_TYPE,nDlgType)); - rPage.PageCreated(aSet); - break; - - case RID_SVXPAGE_CHAR_NAME: - - aSet.Put (SvxFontListItem(m_pViewElementListProvider->getFontList(), SID_ATTR_CHAR_FONTLIST)); - rPage.PageCreated(aSet); - break; - - case RID_SVXPAGE_CHAR_EFFECTS: - aSet.Put (SfxUInt16Item(SID_DISABLE_CTL,DISABLE_CASEMAP)); - rPage.PageCreated(aSet); - break; - - case TP_AXIS_LABEL: - { - bool bShowStaggeringControls = m_pParameter->CanAxisLabelsBeStaggered(); - ((SchAxisLabelTabPage&)rPage).ShowStaggeringControls( bShowStaggeringControls ); - ( dynamic_cast< SchAxisLabelTabPage& >( rPage ) ).SetComplexCategories( m_pParameter->IsComplexCategoriesAxis() ); - break; - } - - case TP_ALIGNMENT: - break; - - - case TP_AXIS_POSITIONS: - { - AxisPositionsTabPage* pPage = dynamic_cast< AxisPositionsTabPage* >( &rPage ); - if(pPage) - { - pPage->SetNumFormatter( m_pNumberFormatter ); - if( m_pParameter->IsCrossingAxisIsCategoryAxis() ) - { - pPage->SetCrossingAxisIsCategoryAxis( m_pParameter->IsCrossingAxisIsCategoryAxis() ); - pPage->SetCategories( m_pParameter->GetCategories() ); - } - pPage->SupportAxisPositioning( m_pParameter->IsSupportingAxisPositioning() ); - } - } - break; - - case TP_SCALE: - { - ScaleTabPage* pScaleTabPage = dynamic_cast< ScaleTabPage* >( &rPage ); - if(pScaleTabPage) - { - pScaleTabPage->SetNumFormatter( m_pNumberFormatter ); - pScaleTabPage->ShowAxisOrigin( m_pParameter->ShowAxisOrigin() ); - } - } - break; - - case TP_DATA_DESCR: - { - DataLabelsTabPage* pLabelPage = dynamic_cast< DataLabelsTabPage* >( &rPage ); - if( pLabelPage ) - pLabelPage->SetNumberFormatter( m_pNumberFormatter ); - } - break; - - case RID_SVXPAGE_NUMBERFORMAT: - aSet.Put (SvxNumberInfoItem( m_pNumberFormatter, (const sal_uInt16)SID_ATTR_NUMBERFORMAT_INFO)); - rPage.PageCreated(aSet); - break; - - case TP_YERRORBAR: - { - ErrorBarsTabPage * pTabPage = dynamic_cast< ErrorBarsTabPage * >( &rPage ); - OSL_ASSERT( pTabPage ); - if( pTabPage ) - { - pTabPage->SetAxisMinorStepWidthForErrorBarDecimals( m_fAxisMinorStepWidthForErrorBarDecimals ); - pTabPage->SetErrorBarType( ErrorBarResources::ERROR_BAR_Y ); - pTabPage->SetChartDocumentForRangeChoosing( m_pParameter->getDocument()); - } - break; - } - case TP_OPTIONS: - { - SchOptionTabPage* pTabPage = dynamic_cast< SchOptionTabPage* >( &rPage ); - if( pTabPage && m_pParameter ) - pTabPage->Init( m_pParameter->ProvidesSecondaryYAxis(), m_pParameter->ProvidesOverlapAndGapWidth(), - m_pParameter->ProvidesBarConnectors() ); - break; - } - } -} - -IMPL_LINK( SchAttribTabDlg, OKPressed, void * , EMPTYARG ) -{ - m_bOKPressed = true; - return m_aOriginalOKClickHdl.Call( this ); -} - -bool SchAttribTabDlg::DialogWasClosedWithOK() const -{ - return m_bOKPressed; -} - -//............................................................................. -} //namespace chart -//............................................................................. - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |