[Libreoffice-commits] core.git: chart2/source

Katarina Behrens bubli at bubli.org
Thu Jul 17 13:55:15 PDT 2014


 chart2/source/controller/dialogs/res_ErrorBar.cxx |   20 ++++++++++++--------
 chart2/source/controller/inc/res_ErrorBar.hxx     |    2 ++
 2 files changed, 14 insertions(+), 8 deletions(-)

New commits:
commit 1e2107e76b9dbd1213b811960c86f8eae57457e5
Author: Katarina Behrens <bubli at bubli.org>
Date:   Thu Jul 17 22:35:46 2014 +0200

    fdo#77319: set spinbox value AFTER adjusting no. of decimal places
    
    Doing it the other way round truncates the values
    
    Change-Id: Ieb14c9d1b9dde496eac24737aced7c8da8ce1346

diff --git a/chart2/source/controller/dialogs/res_ErrorBar.cxx b/chart2/source/controller/dialogs/res_ErrorBar.cxx
index 60b4987..8157301 100644
--- a/chart2/source/controller/dialogs/res_ErrorBar.cxx
+++ b/chart2/source/controller/dialogs/res_ErrorBar.cxx
@@ -93,6 +93,8 @@ ErrorBarResources::ErrorBarResources( VclBuilderContainer* pParent, Dialog * pPa
         m_eErrorBarType( eType ),
         m_nConstDecimalDigits( 1 ),
         m_nConstSpinSize( 1 ),
+        m_fPlusValue(0.0),
+        m_fMinusValue(0.0),
         m_pParentDialog( pParentDialog ),
         m_pCurrentRangeChoosingField( 0 ),
         m_bHasInternalDataProvider( true ),
@@ -271,6 +273,13 @@ void ErrorBarResources::UpdateControlStates()
         m_pMfNegative->SetDecimalDigits( m_nConstDecimalDigits );
         m_pMfNegative->SetSpinSize( m_nConstSpinSize );
     }
+
+    sal_Int32 nPlusValue = static_cast< sal_Int32 >( m_fPlusValue * pow(10.0,m_pMfPositive->GetDecimalDigits()) );
+    sal_Int32 nMinusValue = static_cast< sal_Int32 >( m_fMinusValue * pow(10.0,m_pMfNegative->GetDecimalDigits()) );
+
+    m_pMfPositive->SetValue( nPlusValue );
+    m_pMfNegative->SetValue( nMinusValue );
+
     m_pMfPositive->SetCustomUnitText( aCustomUnit );
     m_pMfNegative->SetCustomUnitText( aCustomUnit );
 
@@ -530,24 +539,19 @@ void ErrorBarResources::Reset(const SfxItemSet& rInAttrs)
     // parameters
     aState = rInAttrs.GetItemState( SCHATTR_STAT_CONSTPLUS, true, &pPoolItem );
     m_bPlusUnique = ( aState != SFX_ITEM_DONTCARE );
-    double fPlusValue = 0.0;
     if( aState == SFX_ITEM_SET )
     {
-        fPlusValue = ((const SvxDoubleItem*) pPoolItem)->GetValue();
-        sal_Int32 nPlusValue = static_cast< sal_Int32 >( fPlusValue * pow(10.0,m_pMfPositive->GetDecimalDigits()) );
-        m_pMfPositive->SetValue( nPlusValue );
+        m_fPlusValue = ((const SvxDoubleItem*) pPoolItem)->GetValue();
     }
 
     aState = rInAttrs.GetItemState( SCHATTR_STAT_CONSTMINUS, true, &pPoolItem );
     m_bMinusUnique = ( aState != SFX_ITEM_DONTCARE );
     if( aState == SFX_ITEM_SET )
     {
-        double fMinusValue = ((const SvxDoubleItem*) pPoolItem)->GetValue();
-        sal_Int32 nMinusValue = static_cast< sal_Int32 >( fMinusValue * pow(10.0,m_pMfNegative->GetDecimalDigits()) );
-        m_pMfNegative->SetValue( nMinusValue );
+        m_fMinusValue = ((const SvxDoubleItem*) pPoolItem)->GetValue();
 
         if( m_eErrorKind != CHERROR_RANGE &&
-            fPlusValue == fMinusValue )
+            m_fPlusValue == m_fMinusValue )
             m_pCbSyncPosNeg->Check();
     }
 
diff --git a/chart2/source/controller/inc/res_ErrorBar.hxx b/chart2/source/controller/inc/res_ErrorBar.hxx
index b69f766..0ad485c 100644
--- a/chart2/source/controller/inc/res_ErrorBar.hxx
+++ b/chart2/source/controller/inc/res_ErrorBar.hxx
@@ -113,6 +113,8 @@ private:
     tErrorBarType        m_eErrorBarType;
     sal_uInt16           m_nConstDecimalDigits;
     sal_Int64            m_nConstSpinSize;
+    double               m_fPlusValue;
+    double               m_fMinusValue;
 
     Dialog *             m_pParentDialog;
     boost::scoped_ptr< RangeSelectionHelper >  m_apRangeSelectionHelper;


More information about the Libreoffice-commits mailing list