summaryrefslogtreecommitdiff
path: root/chart2/source/controller/dialogs/res_Trendline.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source/controller/dialogs/res_Trendline.cxx')
-rw-r--r--chart2/source/controller/dialogs/res_Trendline.cxx279
1 files changed, 0 insertions, 279 deletions
diff --git a/chart2/source/controller/dialogs/res_Trendline.cxx b/chart2/source/controller/dialogs/res_Trendline.cxx
deleted file mode 100644
index dcd376530..000000000
--- a/chart2/source/controller/dialogs/res_Trendline.cxx
+++ /dev/null
@@ -1,279 +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"
-
-#include "dlg_InsertTrendline.hrc"
-#include "res_Trendline.hxx"
-#include "res_Trendline_IDs.hrc"
-#include "ResId.hxx"
-#include "Strings.hrc"
-#include "Bitmaps.hrc"
-#include "chartview/ChartSfxItemIds.hxx"
-
-#include <vector>
-#include <algorithm>
-
-namespace
-{
-template< class T >
- long lcl_getRightEdge( T & rControl )
-{
- return rControl.CalcMinimumSize().Width() + rControl.GetPosPixel().X() - rControl.GetParent()->GetPosPixel().X();
-}
-
-template< class T >
- void lcl_AdjustControlSize( T & rControl )
-{
- Size aSize( rControl.GetSizePixel());
- aSize.setWidth( rControl.CalcMinimumSize().Width());
- rControl.SetSizePixel( aSize );
-}
-
-void lcl_AdjustControlSize( Control & rControl, long nRightEdge )
-{
- Size aSize( rControl.GetSizePixel());
- Point aPosition( rControl.GetPosPixel());
- aSize.setWidth( nRightEdge - aPosition.getX());
- rControl.SetSizePixel( aSize );
-}
-
-} // anonymous namespace
-
-namespace chart
-{
-
-enum StatTrendLine
-{
- TRENDLINE_NONE,
- TRENDLINE_LINE,
- TRENDLINE_LOG,
- TRENDLINE_EXP,
- TRENDLINE_POW
-};
-
-TrendlineResources::TrendlineResources( Window * pParent, const SfxItemSet& rInAttrs, bool bNoneAvailable ) :
- m_aFLType( pParent, SchResId( FL_TYPE )),
-
- m_aRBNone( pParent, SchResId( RB_NONE )),
- m_aRBLinear( pParent, SchResId( RB_LINEAR )),
- m_aRBLogarithmic( pParent, SchResId( RB_LOGARITHMIC )),
- m_aRBExponential( pParent, SchResId( RB_EXPONENTIAL )),
- m_aRBPower( pParent, SchResId( RB_POWER )),
-
- m_aFINone( pParent, SchResId( FI_NONE )),
- m_aFILinear( pParent, SchResId( FI_LINEAR )),
- m_aFILogarithmic( pParent, SchResId( FI_LOGARITHMIC )),
- m_aFIExponential( pParent, SchResId( FI_EXPONENTIAL )),
- m_aFIPower( pParent, SchResId( FI_POWER )),
-
- m_aFLEquation( pParent, SchResId( FL_EQUATION )),
- m_aCBShowEquation( pParent, SchResId( CB_SHOW_EQUATION )),
- m_aCBShowCorrelationCoeff( pParent, SchResId( CB_SHOW_CORRELATION_COEFF )),
-
- m_eTrendLineType( CHREGRESS_NONE ),
- m_bNoneAvailable( bNoneAvailable ),
- m_bTrendLineUnique( true )
-{
- FillValueSets();
-
- if( m_bNoneAvailable )
- m_aRBNone.SetClickHdl( LINK(this, TrendlineResources, SelectTrendLine ));
- else
- m_aRBNone.Hide();
-
- m_aRBLinear.SetClickHdl( LINK(this, TrendlineResources, SelectTrendLine ));
- m_aRBLogarithmic.SetClickHdl( LINK(this, TrendlineResources, SelectTrendLine ));
- m_aRBExponential.SetClickHdl( LINK(this, TrendlineResources, SelectTrendLine ));
- m_aRBPower.SetClickHdl( LINK(this, TrendlineResources, SelectTrendLine ));
-
- Reset( rInAttrs );
- UpdateControlStates();
-}
-
-TrendlineResources::~TrendlineResources()
-{}
-
-long TrendlineResources::adjustControlSizes()
-{
- // calculate right edge
- ::std::vector< long > aControlRightEdges;
- aControlRightEdges.push_back( lcl_getRightEdge( m_aRBNone ));
- aControlRightEdges.push_back( lcl_getRightEdge( m_aRBLinear ));
- aControlRightEdges.push_back( lcl_getRightEdge( m_aRBLogarithmic ));
- aControlRightEdges.push_back( lcl_getRightEdge( m_aRBExponential ));
- aControlRightEdges.push_back( lcl_getRightEdge( m_aRBPower ));
- aControlRightEdges.push_back( lcl_getRightEdge( m_aCBShowEquation ));
- aControlRightEdges.push_back( lcl_getRightEdge( m_aCBShowCorrelationCoeff ));
-
- lcl_AdjustControlSize( m_aRBNone );
- lcl_AdjustControlSize( m_aRBLinear );
- lcl_AdjustControlSize( m_aRBLogarithmic );
- lcl_AdjustControlSize( m_aRBExponential );
- lcl_AdjustControlSize( m_aRBPower );
- lcl_AdjustControlSize( m_aCBShowEquation );
- lcl_AdjustControlSize( m_aCBShowCorrelationCoeff );
-
- // Note: FixedLine has no CalcMinimumSize, workaround: use a FixedText
- FixedText aDummyTextCtrl( m_aFLType.GetParent());
- aDummyTextCtrl.SetText( m_aFLType.GetText());
- aControlRightEdges.push_back( lcl_getRightEdge( aDummyTextCtrl ));
- aDummyTextCtrl.SetText( m_aFLEquation.GetText());
- aControlRightEdges.push_back( lcl_getRightEdge( aDummyTextCtrl ));
-
- long nRightEdgeOfControls = *(::std::max_element( aControlRightEdges.begin(), aControlRightEdges.end()));
- // leave some more space after the longest text
- nRightEdgeOfControls += m_aFLType.LogicToPixel( Size( 6, 0 ), MapMode( MAP_APPFONT )).getWidth();
-
- lcl_AdjustControlSize( m_aFLType, nRightEdgeOfControls );
- lcl_AdjustControlSize( m_aFLEquation, nRightEdgeOfControls );
-
- return nRightEdgeOfControls;
-}
-
-IMPL_LINK( TrendlineResources, SelectTrendLine, RadioButton *, pRadioButton )
-{
- if( pRadioButton == &m_aRBLinear )
- m_eTrendLineType = CHREGRESS_LINEAR;
- else if( pRadioButton == &m_aRBLogarithmic )
- m_eTrendLineType = CHREGRESS_LOG;
- else if( pRadioButton == &m_aRBExponential )
- m_eTrendLineType = CHREGRESS_EXP;
- else if( pRadioButton == &m_aRBPower )
- m_eTrendLineType = CHREGRESS_POWER;
- else if( pRadioButton == &m_aRBNone )
- {
- OSL_ASSERT( m_bNoneAvailable );
- m_eTrendLineType = CHREGRESS_NONE;
- }
- m_bTrendLineUnique = true;
-
- UpdateControlStates();
-
- return 0;
-}
-
-void TrendlineResources::Reset( const SfxItemSet& rInAttrs )
-{
- const SfxPoolItem *pPoolItem = NULL;
- SfxItemState aState = SFX_ITEM_UNKNOWN;
-
- aState = rInAttrs.GetItemState( SCHATTR_REGRESSION_TYPE, sal_True, &pPoolItem );
- m_bTrendLineUnique = ( aState != SFX_ITEM_DONTCARE );
- if( aState == SFX_ITEM_SET )
- {
- const SvxChartRegressItem * pItem = dynamic_cast< const SvxChartRegressItem * >( pPoolItem );
- if( pItem )
- m_eTrendLineType = pItem->GetValue();
- }
-
- aState = rInAttrs.GetItemState( SCHATTR_REGRESSION_SHOW_EQUATION, sal_True, &pPoolItem );
- if( aState == SFX_ITEM_DONTCARE )
- {
- m_aCBShowEquation.EnableTriState( sal_True );
- m_aCBShowEquation.SetState( STATE_DONTKNOW );
- }
- else
- {
- m_aCBShowEquation.EnableTriState( sal_False );
- if( aState == SFX_ITEM_SET )
- m_aCBShowEquation.Check( static_cast< const SfxBoolItem * >( pPoolItem )->GetValue());
- }
-
- aState = rInAttrs.GetItemState( SCHATTR_REGRESSION_SHOW_COEFF, sal_True, &pPoolItem );
- if( aState == SFX_ITEM_DONTCARE )
- {
- m_aCBShowCorrelationCoeff.EnableTriState( sal_True );
- m_aCBShowCorrelationCoeff.SetState( STATE_DONTKNOW );
- }
- else
- {
- m_aCBShowCorrelationCoeff.EnableTriState( sal_False );
- if( aState == SFX_ITEM_SET )
- m_aCBShowCorrelationCoeff.Check( static_cast< const SfxBoolItem * >( pPoolItem )->GetValue());
- }
-
- if( m_bTrendLineUnique )
- {
- switch( m_eTrendLineType )
- {
- case CHREGRESS_LINEAR :
- m_aRBLinear.Check();
- break;
- case CHREGRESS_LOG :
- m_aRBLogarithmic.Check();
- break;
- case CHREGRESS_EXP :
- m_aRBExponential.Check();
- break;
- case CHREGRESS_POWER :
- m_aRBPower.Check();
- break;
- case CHREGRESS_NONE:
- OSL_ASSERT( m_bNoneAvailable );
- m_aRBNone.Check();
- break;
- }
- }
-}
-
-sal_Bool TrendlineResources::FillItemSet(SfxItemSet& rOutAttrs) const
-{
- if( m_bTrendLineUnique )
- rOutAttrs.Put( SvxChartRegressItem( m_eTrendLineType, SCHATTR_REGRESSION_TYPE ));
- if( m_aCBShowEquation.GetState() != STATE_DONTKNOW )
- rOutAttrs.Put( SfxBoolItem( SCHATTR_REGRESSION_SHOW_EQUATION, m_aCBShowEquation.IsChecked() ));
- if( m_aCBShowCorrelationCoeff.GetState() != STATE_DONTKNOW )
- rOutAttrs.Put( SfxBoolItem( SCHATTR_REGRESSION_SHOW_COEFF, m_aCBShowCorrelationCoeff.IsChecked() ));
- return sal_True;
-}
-
-void TrendlineResources::FillValueSets()
-{
- if( m_bNoneAvailable )
- m_aFINone.SetImage( Image( SchResId( BMP_REGRESSION_NONE ) ) );
- m_aFILinear.SetImage( Image( SchResId( BMP_REGRESSION_LINEAR ) ) );
- m_aFILogarithmic.SetImage( Image( SchResId( BMP_REGRESSION_LOG ) ) );
- m_aFIExponential.SetImage( Image( SchResId( BMP_REGRESSION_EXP ) ) );
- m_aFIPower.SetImage( Image( SchResId( BMP_REGRESSION_POWER ) ) );
-}
-
-void TrendlineResources::UpdateControlStates()
-{
- if( m_bNoneAvailable )
- {
- bool bEnableEquationControls = !m_bTrendLineUnique || (m_eTrendLineType != CHREGRESS_NONE);
- m_aCBShowEquation.Enable( bEnableEquationControls );
- m_aCBShowCorrelationCoeff.Enable( bEnableEquationControls );
- }
-}
-
-} // namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */