*** orig/chart2/source/view/main/ChartView.cxx Fri Jun 6 17:19:10 2008 --- new/chart2/source/view/main/ChartView.cxx Mon Jul 14 13:09:38 2008 *************** *** 550,556 **** void initializeCooSysAndSeriesPlotter( const uno::Reference< frame::XModel >& xChartModel ); void initAxisUsageList(); ! void doAutoScaling(); void updateScalesAndIncrementsOnAxes(); void setScalesFromCooSysToPlotter(); void setNumberFormatsFromAxes(); --- 550,556 ---- void initializeCooSysAndSeriesPlotter( const uno::Reference< frame::XModel >& xChartModel ); void initAxisUsageList(); ! void doAutoScaling( const uno::Reference< chart2::XDiagram >& xDiagram ); void updateScalesAndIncrementsOnAxes(); void setScalesFromCooSysToPlotter(); void setNumberFormatsFromAxes(); *************** *** 878,884 **** m_rVCooSysList[nC]->updateScalesAndIncrementsOnAxes(); } ! void SeriesPlotterContainer::doAutoScaling() { //precondition: need a initialized m_aSeriesPlotterList //precondition: need a initialized m_aAxisUsageList --- 878,884 ---- m_rVCooSysList[nC]->updateScalesAndIncrementsOnAxes(); } ! void SeriesPlotterContainer::doAutoScaling( const uno::Reference< chart2::XDiagram >& xDiagram ) { //precondition: need a initialized m_aSeriesPlotterList //precondition: need a initialized m_aAxisUsageList *************** *** 928,935 **** if(!aVCooSysList_Y.size()) continue; for( nC=0; nC < aVCooSysList_Y.size(); nC++) ! aVCooSysList_Y[nC]->prepareScaleAutomatismForDimensionAndIndex(rAxisUsage.aScaleAutomatism,1,nAxisIndex); ExplicitScaleData aExplicitScale; ExplicitIncrementData aExplicitIncrement; --- 928,944 ---- if(!aVCooSysList_Y.size()) continue; + sal_Int32 nAttachedAxisIndex; + Reference< chart2::XChartType > xChartType( DiagramHelper::getChartTypeByIndex( xDiagram, 0 ) ); + bool bAttachedToSameAxis = ChartTypeHelper::allSeriesAttachedToSameAxis( xChartType, nAttachedAxisIndex ); + for( nC=0; nC < aVCooSysList_Y.size(); nC++) ! { ! if( bAttachedToSameAxis && nAttachedAxisIndex != nAxisIndex ) ! aVCooSysList_Y[nC]->prepareScaleAutomatismForDimensionAndIndex( rAxisUsage.aScaleAutomatism, 1, nAttachedAxisIndex ); ! else ! aVCooSysList_Y[nC]->prepareScaleAutomatismForDimensionAndIndex( rAxisUsage.aScaleAutomatism, 1, nAxisIndex ); ! } ExplicitScaleData aExplicitScale; ExplicitIncrementData aExplicitIncrement; *************** *** 1069,1075 **** // - prepare list of all axis and how they are used rSeriesPlotterContainer.initAxisUsageList(); ! rSeriesPlotterContainer.doAutoScaling(); rSeriesPlotterContainer.setScalesFromCooSysToPlotter(); rSeriesPlotterContainer.setNumberFormatsFromAxes(); --- 1078,1084 ---- // - prepare list of all axis and how they are used rSeriesPlotterContainer.initAxisUsageList(); ! rSeriesPlotterContainer.doAutoScaling( xDiagram ); rSeriesPlotterContainer.setScalesFromCooSysToPlotter(); rSeriesPlotterContainer.setNumberFormatsFromAxes(); *************** *** 1127,1133 **** createTransformationSceneToScreen( aNewInnerRect ) )); //redo autoscaling to get size and text dependent automatic main increment count ! rSeriesPlotterContainer.doAutoScaling(); rSeriesPlotterContainer.updateScalesAndIncrementsOnAxes(); rSeriesPlotterContainer.setScalesFromCooSysToPlotter(); --- 1136,1142 ---- createTransformationSceneToScreen( aNewInnerRect ) )); //redo autoscaling to get size and text dependent automatic main increment count ! rSeriesPlotterContainer.doAutoScaling( xDiagram ); rSeriesPlotterContainer.updateScalesAndIncrementsOnAxes(); rSeriesPlotterContainer.setScalesFromCooSysToPlotter();