diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-11-14 15:44:08 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-11-15 18:45:22 +0100 |
commit | 39aa91cfb4620a650ceba01076a1c0aa2fbfdadf (patch) | |
tree | 5b0323f38674e127225eb860b117c623a57f47e8 /chart2 | |
parent | 21c41659969cba4dc50d3208fb1736032c971661 (diff) |
Resolves: tdf#121341 weld TrendlineTabPage
Change-Id: I8ecc1901388986bd6a3822e8d0055e48d873586c
Reviewed-on: https://gerrit.libreoffice.org/63387
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/source/controller/dialogs/res_Trendline.cxx | 270 | ||||
-rw-r--r-- | chart2/source/controller/dialogs/res_Trendline.hxx | 66 | ||||
-rw-r--r-- | chart2/source/controller/dialogs/tp_Trendline.cxx | 11 | ||||
-rw-r--r-- | chart2/source/controller/dialogs/tp_Trendline.hxx | 2 | ||||
-rw-r--r-- | chart2/uiconfig/ui/tp_Trendline.ui | 139 |
5 files changed, 228 insertions, 260 deletions
diff --git a/chart2/source/controller/dialogs/res_Trendline.cxx b/chart2/source/controller/dialogs/res_Trendline.cxx index f75ce892183e..8f140428a9da 100644 --- a/chart2/source/controller/dialogs/res_Trendline.cxx +++ b/chart2/source/controller/dialogs/res_Trendline.cxx @@ -24,6 +24,7 @@ #include <editeng/sizeitem.hxx> #include <svl/intitem.hxx> #include <svl/stritem.hxx> +#include <svl/zforlist.hxx> #include <sfx2/tabdlg.hxx> #include <vector> @@ -32,58 +33,57 @@ namespace chart { -static void lcl_setValue( FormattedField& rFmtField, double fValue ) +static void lcl_setValue(weld::FormattedSpinButton& rFmtField, double fValue ) { - rFmtField.SetValue( fValue ); - rFmtField.SetDefaultValue( fValue ); + rFmtField.set_value(fValue); +//TODO rFmtField.SetDefaultValue( fValue ); } -TrendlineResources::TrendlineResources( vcl::Window * pParent, const SfxItemSet& rInAttrs ) : - m_eTrendLineType( SvxChartRegress::Linear ), - m_bTrendLineUnique( true ), - m_pNumFormatter( nullptr ), - m_nNbPoints( 0 ) +TrendlineResources::TrendlineResources(weld::Builder& rBuilder, const SfxItemSet& rInAttrs) + : m_eTrendLineType(SvxChartRegress::Linear) + , m_bTrendLineUnique(true) + , m_pNumFormatter(nullptr) + , m_nNbPoints(0) + , m_xRB_Linear(rBuilder.weld_radio_button("linear")) + , m_xRB_Logarithmic(rBuilder.weld_radio_button("logarithmic")) + , m_xRB_Exponential(rBuilder.weld_radio_button("exponential")) + , m_xRB_Power(rBuilder.weld_radio_button("power")) + , m_xRB_Polynomial(rBuilder.weld_radio_button("polynomial")) + , m_xRB_MovingAverage(rBuilder.weld_radio_button("movingAverage")) + , m_xFI_Linear(rBuilder.weld_image("imageLinear")) + , m_xFI_Logarithmic(rBuilder.weld_image("imageLogarithmic")) + , m_xFI_Exponential(rBuilder.weld_image("imageExponential")) + , m_xFI_Power(rBuilder.weld_image("imagePower")) + , m_xFI_Polynomial(rBuilder.weld_image("imagePolynomial")) + , m_xFI_MovingAverage(rBuilder.weld_image("imageMovingAverage")) + , m_xNF_Degree(rBuilder.weld_spin_button("degree")) + , m_xNF_Period(rBuilder.weld_spin_button("period")) + , m_xEE_Name(rBuilder.weld_entry("entry_name")) + , m_xFmtFld_ExtrapolateForward(rBuilder.weld_formatted_spin_button("extrapolateForward")) + , m_xFmtFld_ExtrapolateBackward(rBuilder.weld_formatted_spin_button("extrapolateBackward")) + , m_xCB_SetIntercept(rBuilder.weld_check_button("setIntercept")) + , m_xFmtFld_InterceptValue(rBuilder.weld_formatted_spin_button("interceptValue")) + , m_xCB_ShowEquation(rBuilder.weld_check_button("showEquation")) + , m_xEE_XName(rBuilder.weld_entry("entry_Xname")) + , m_xEE_YName(rBuilder.weld_entry("entry_Yname")) + , m_xCB_ShowCorrelationCoeff(rBuilder.weld_check_button("showCorrelationCoefficient")) { - SfxTabPage* pTabPage = reinterpret_cast<SfxTabPage*>(pParent); - pTabPage->get(m_pRB_Linear,"linear"); - pTabPage->get(m_pRB_Logarithmic,"logarithmic"); - pTabPage->get(m_pRB_Exponential,"exponential"); - pTabPage->get(m_pRB_Power,"power"); - pTabPage->get(m_pRB_Polynomial,"polynomial"); - pTabPage->get(m_pRB_MovingAverage,"movingAverage"); - pTabPage->get(m_pNF_Degree,"degree"); - pTabPage->get(m_pNF_Period,"period"); - pTabPage->get(m_pEE_Name,"entry_name"); - pTabPage->get(m_pFmtFld_ExtrapolateForward,"extrapolateForward"); - pTabPage->get(m_pFmtFld_ExtrapolateBackward,"extrapolateBackward"); - pTabPage->get(m_pCB_SetIntercept,"setIntercept"); - pTabPage->get(m_pFmtFld_InterceptValue,"interceptValue"); - pTabPage->get(m_pCB_ShowEquation,"showEquation"); - pTabPage->get(m_pEE_XName,"entry_Xname"); - pTabPage->get(m_pEE_YName,"entry_Yname"); - pTabPage->get(m_pCB_ShowCorrelationCoeff,"showCorrelationCoefficient"); - pTabPage->get(m_pFI_Linear,"imageLinear"); - pTabPage->get(m_pFI_Logarithmic,"imageLogarithmic"); - pTabPage->get(m_pFI_Exponential,"imageExponential"); - pTabPage->get(m_pFI_Power,"imagePower"); - pTabPage->get(m_pFI_Polynomial,"imagePolynomial"); - pTabPage->get(m_pFI_MovingAverage,"imageMovingAverage"); FillValueSets(); - Link<Button*,void> aLink = LINK(this, TrendlineResources, SelectTrendLine ); - m_pRB_Linear->SetClickHdl( aLink ); - m_pRB_Logarithmic->SetClickHdl( aLink ); - m_pRB_Exponential->SetClickHdl( aLink ); - m_pRB_Power->SetClickHdl( aLink ); - m_pRB_Polynomial->SetClickHdl( aLink ); - m_pRB_MovingAverage->SetClickHdl( aLink ); + Link<weld::ToggleButton&,void> aLink = LINK(this, TrendlineResources, SelectTrendLine); + m_xRB_Linear->connect_toggled( aLink ); + m_xRB_Logarithmic->connect_toggled( aLink ); + m_xRB_Exponential->connect_toggled( aLink ); + m_xRB_Power->connect_toggled( aLink ); + m_xRB_Polynomial->connect_toggled( aLink ); + m_xRB_MovingAverage->connect_toggled( aLink ); - Link<Edit&,void> aLink2 = LINK(this, TrendlineResources, ChangeValue ); - m_pNF_Degree->SetModifyHdl( aLink2 ); - m_pNF_Period->SetModifyHdl( aLink2 ); - m_pFmtFld_InterceptValue->SetModifyHdl( aLink2 ); + Link<weld::SpinButton&,void> aLink2 = LINK(this, TrendlineResources, ChangeSpinValue); + m_xNF_Degree->connect_value_changed(aLink2); + m_xNF_Period->connect_value_changed(aLink2); + m_xFmtFld_InterceptValue->connect_value_changed(LINK(this, TrendlineResources, ChangeFormattedValue)); - m_pCB_ShowEquation->SetToggleHdl( LINK(this, TrendlineResources, ShowEquation ) ); + m_xCB_ShowEquation->connect_toggled(LINK(this, TrendlineResources, ShowEquation)); Reset( rInAttrs ); UpdateControlStates(); @@ -92,19 +92,19 @@ TrendlineResources::TrendlineResources( vcl::Window * pParent, const SfxItemSet& TrendlineResources::~TrendlineResources() {} -IMPL_LINK( TrendlineResources, SelectTrendLine, Button *, pRadioButton, void ) +IMPL_LINK_NOARG(TrendlineResources, SelectTrendLine, weld::ToggleButton&, void) { - if( pRadioButton == m_pRB_Linear ) + if (m_xRB_Linear->get_active()) m_eTrendLineType = SvxChartRegress::Linear; - else if( pRadioButton == m_pRB_Logarithmic ) + else if (m_xRB_Logarithmic->get_active()) m_eTrendLineType = SvxChartRegress::Log; - else if( pRadioButton == m_pRB_Exponential ) + else if (m_xRB_Exponential->get_active()) m_eTrendLineType = SvxChartRegress::Exp; - else if( pRadioButton == m_pRB_Power ) + else if (m_xRB_Power->get_active()) m_eTrendLineType = SvxChartRegress::Power; - else if( pRadioButton == m_pRB_Polynomial ) + else if (m_xRB_Polynomial->get_active()) m_eTrendLineType = SvxChartRegress::Polynomial; - else if( pRadioButton == m_pRB_MovingAverage ) + else if (m_xRB_MovingAverage->get_active()) m_eTrendLineType = SvxChartRegress::MovingAverage; m_bTrendLineUnique = true; @@ -118,29 +118,29 @@ void TrendlineResources::Reset( const SfxItemSet& rInAttrs ) if( rInAttrs.GetItemState( SCHATTR_REGRESSION_CURVE_NAME, true, &pPoolItem ) == SfxItemState::SET ) { OUString aName = static_cast< const SfxStringItem* >(pPoolItem)->GetValue(); - m_pEE_Name->SetText(aName); + m_xEE_Name->set_text(aName); } else { - m_pEE_Name->SetText(""); + m_xEE_Name->set_text(""); } if( rInAttrs.GetItemState( SCHATTR_REGRESSION_XNAME, true, &pPoolItem ) == SfxItemState::SET ) { OUString aName = static_cast< const SfxStringItem* >(pPoolItem)->GetValue(); - m_pEE_XName->SetText(aName); + m_xEE_XName->set_text(aName); } else { - m_pEE_XName->SetText("x"); + m_xEE_XName->set_text("x"); } if( rInAttrs.GetItemState( SCHATTR_REGRESSION_YNAME, true, &pPoolItem ) == SfxItemState::SET ) { OUString aName = static_cast< const SfxStringItem* >(pPoolItem)->GetValue(); - m_pEE_YName->SetText(aName); + m_xEE_YName->set_text(aName); } else { - m_pEE_YName->SetText("f(x)"); + m_xEE_YName->set_text("f(x)"); } SfxItemState aState = rInAttrs.GetItemState( SCHATTR_REGRESSION_TYPE, true, &pPoolItem ); @@ -157,21 +157,21 @@ void TrendlineResources::Reset( const SfxItemSet& rInAttrs ) if( rInAttrs.GetItemState( SCHATTR_REGRESSION_DEGREE, true, &pPoolItem ) == SfxItemState::SET ) { sal_Int32 nDegree = static_cast< const SfxInt32Item * >( pPoolItem )->GetValue(); - m_pNF_Degree->SetValue( nDegree ); + m_xNF_Degree->set_value( nDegree ); } else { - m_pNF_Degree->SetValue( 2 ); + m_xNF_Degree->set_value( 2 ); } if( rInAttrs.GetItemState( SCHATTR_REGRESSION_PERIOD, true, &pPoolItem ) == SfxItemState::SET ) { sal_Int32 nPeriod = static_cast< const SfxInt32Item * >( pPoolItem )->GetValue(); - m_pNF_Period->SetValue( nPeriod ); + m_xNF_Period->set_value( nPeriod ); } else { - m_pNF_Period->SetValue( 2 ); + m_xNF_Period->set_value( 2 ); } double nValue = 0.0; @@ -179,59 +179,53 @@ void TrendlineResources::Reset( const SfxItemSet& rInAttrs ) { nValue = static_cast<const SvxDoubleItem*>(pPoolItem)->GetValue() ; } - lcl_setValue( *m_pFmtFld_ExtrapolateForward, nValue ); + lcl_setValue(*m_xFmtFld_ExtrapolateForward, nValue); nValue = 0.0; if( rInAttrs.GetItemState( SCHATTR_REGRESSION_EXTRAPOLATE_BACKWARD, true, &pPoolItem ) == SfxItemState::SET ) { nValue = static_cast<const SvxDoubleItem*>(pPoolItem)->GetValue() ; } - lcl_setValue( *m_pFmtFld_ExtrapolateBackward, nValue ); + lcl_setValue(*m_xFmtFld_ExtrapolateBackward, nValue); nValue = 0.0; if( rInAttrs.GetItemState( SCHATTR_REGRESSION_INTERCEPT_VALUE, true, &pPoolItem ) == SfxItemState::SET ) { nValue = static_cast<const SvxDoubleItem*>(pPoolItem)->GetValue() ; } - lcl_setValue( *m_pFmtFld_InterceptValue, nValue ); + lcl_setValue(*m_xFmtFld_InterceptValue, nValue); aState = rInAttrs.GetItemState( SCHATTR_REGRESSION_SET_INTERCEPT, true, &pPoolItem ); if( aState == SfxItemState::DONTCARE ) { - m_pCB_SetIntercept->EnableTriState(); - m_pCB_SetIntercept->SetState( TRISTATE_INDET ); + m_xCB_SetIntercept->set_state(TRISTATE_INDET); } else { - m_pCB_SetIntercept->EnableTriState( false ); if( aState == SfxItemState::SET ) - m_pCB_SetIntercept->Check( static_cast< const SfxBoolItem * >( pPoolItem )->GetValue()); + m_xCB_SetIntercept->set_active( static_cast< const SfxBoolItem * >( pPoolItem )->GetValue()); } aState = rInAttrs.GetItemState( SCHATTR_REGRESSION_SHOW_EQUATION, true, &pPoolItem ); if( aState == SfxItemState::DONTCARE ) { - m_pCB_ShowEquation->EnableTriState(); - m_pCB_ShowEquation->SetState( TRISTATE_INDET ); + m_xCB_ShowEquation->set_state(TRISTATE_INDET); } else { - m_pCB_ShowEquation->EnableTriState( false ); if( aState == SfxItemState::SET ) - m_pCB_ShowEquation->Check( static_cast< const SfxBoolItem * >( pPoolItem )->GetValue()); + m_xCB_ShowEquation->set_active( static_cast< const SfxBoolItem * >( pPoolItem )->GetValue()); } aState = rInAttrs.GetItemState( SCHATTR_REGRESSION_SHOW_COEFF, true, &pPoolItem ); if( aState == SfxItemState::DONTCARE ) { - m_pCB_ShowCorrelationCoeff->EnableTriState(); - m_pCB_ShowCorrelationCoeff->SetState( TRISTATE_INDET ); + m_xCB_ShowCorrelationCoeff->set_state(TRISTATE_INDET); } else { - m_pCB_ShowCorrelationCoeff->EnableTriState( false ); if( aState == SfxItemState::SET ) - m_pCB_ShowCorrelationCoeff->Check( static_cast< const SfxBoolItem * >( pPoolItem )->GetValue()); + m_xCB_ShowCorrelationCoeff->set_active( static_cast< const SfxBoolItem * >( pPoolItem )->GetValue()); } if( m_bTrendLineUnique ) @@ -239,22 +233,22 @@ void TrendlineResources::Reset( const SfxItemSet& rInAttrs ) switch( m_eTrendLineType ) { case SvxChartRegress::Linear : - m_pRB_Linear->Check(); + m_xRB_Linear->set_active(true); break; case SvxChartRegress::Log : - m_pRB_Logarithmic->Check(); + m_xRB_Logarithmic->set_active(true); break; case SvxChartRegress::Exp : - m_pRB_Exponential->Check(); + m_xRB_Exponential->set_active(true); break; case SvxChartRegress::Power : - m_pRB_Power->Check(); + m_xRB_Power->set_active(true); break; case SvxChartRegress::Polynomial : - m_pRB_Polynomial->Check(); + m_xRB_Polynomial->set_active(true); break; case SvxChartRegress::MovingAverage : - m_pRB_MovingAverage->Check(); + m_xRB_MovingAverage->set_active(true); break; default: break; @@ -267,116 +261,117 @@ void TrendlineResources::FillItemSet(SfxItemSet* rOutAttrs) const if( m_bTrendLineUnique ) rOutAttrs->Put( SvxChartRegressItem( m_eTrendLineType, SCHATTR_REGRESSION_TYPE )); - if( m_pCB_ShowEquation->GetState() != TRISTATE_INDET ) - rOutAttrs->Put( SfxBoolItem( SCHATTR_REGRESSION_SHOW_EQUATION, m_pCB_ShowEquation->IsChecked() )); + if( m_xCB_ShowEquation->get_state() != TRISTATE_INDET ) + rOutAttrs->Put( SfxBoolItem( SCHATTR_REGRESSION_SHOW_EQUATION, m_xCB_ShowEquation->get_active() )); - if( m_pCB_ShowCorrelationCoeff->GetState() != TRISTATE_INDET ) - rOutAttrs->Put( SfxBoolItem( SCHATTR_REGRESSION_SHOW_COEFF, m_pCB_ShowCorrelationCoeff->IsChecked() )); + if( m_xCB_ShowCorrelationCoeff->get_state() != TRISTATE_INDET ) + rOutAttrs->Put( SfxBoolItem( SCHATTR_REGRESSION_SHOW_COEFF, m_xCB_ShowCorrelationCoeff->get_active() )); - OUString aName = m_pEE_Name->GetText(); + OUString aName = m_xEE_Name->get_text(); rOutAttrs->Put(SfxStringItem(SCHATTR_REGRESSION_CURVE_NAME, aName)); - aName = m_pEE_XName->GetText(); + aName = m_xEE_XName->get_text(); if ( aName.isEmpty() ) aName = "x"; rOutAttrs->Put(SfxStringItem(SCHATTR_REGRESSION_XNAME, aName)); - aName = m_pEE_YName->GetText(); + aName = m_xEE_YName->get_text(); if ( aName.isEmpty() ) aName = "f(x)"; rOutAttrs->Put(SfxStringItem(SCHATTR_REGRESSION_YNAME, aName)); - sal_Int32 aDegree = m_pNF_Degree->GetValue(); + sal_Int32 aDegree = m_xNF_Degree->get_value(); rOutAttrs->Put(SfxInt32Item( SCHATTR_REGRESSION_DEGREE, aDegree ) ); - sal_Int32 aPeriod = m_pNF_Period->GetValue(); + sal_Int32 aPeriod = m_xNF_Period->get_value(); rOutAttrs->Put(SfxInt32Item( SCHATTR_REGRESSION_PERIOD, aPeriod ) ); sal_uInt32 nIndex = 0; double aValue = 0.0; - (void)m_pNumFormatter->IsNumberFormat(m_pFmtFld_ExtrapolateForward->GetText(),nIndex,aValue); + (void)m_pNumFormatter->IsNumberFormat(m_xFmtFld_ExtrapolateForward->get_text(),nIndex,aValue); rOutAttrs->Put(SvxDoubleItem( aValue, SCHATTR_REGRESSION_EXTRAPOLATE_FORWARD ) ); aValue = 0.0; - (void)m_pNumFormatter->IsNumberFormat(m_pFmtFld_ExtrapolateBackward->GetText(),nIndex,aValue); + (void)m_pNumFormatter->IsNumberFormat(m_xFmtFld_ExtrapolateBackward->get_text(),nIndex,aValue); rOutAttrs->Put(SvxDoubleItem( aValue, SCHATTR_REGRESSION_EXTRAPOLATE_BACKWARD ) ); - if( m_pCB_SetIntercept->GetState() != TRISTATE_INDET ) - rOutAttrs->Put( SfxBoolItem( SCHATTR_REGRESSION_SET_INTERCEPT, m_pCB_SetIntercept->IsChecked() )); + if( m_xCB_SetIntercept->get_state() != TRISTATE_INDET ) + rOutAttrs->Put( SfxBoolItem( SCHATTR_REGRESSION_SET_INTERCEPT, m_xCB_SetIntercept->get_active() )); aValue = 0.0; - (void)m_pNumFormatter->IsNumberFormat(m_pFmtFld_InterceptValue->GetText(),nIndex,aValue); + (void)m_pNumFormatter->IsNumberFormat(m_xFmtFld_InterceptValue->get_text(),nIndex,aValue); rOutAttrs->Put(SvxDoubleItem( aValue, SCHATTR_REGRESSION_INTERCEPT_VALUE ) ); } void TrendlineResources::FillValueSets() { - m_pFI_Linear->SetImage(Image(BitmapEx(BMP_REGRESSION_LINEAR))); - m_pFI_Logarithmic->SetImage(Image(BitmapEx(BMP_REGRESSION_LOG))); - m_pFI_Exponential->SetImage(Image(BitmapEx(BMP_REGRESSION_EXP))); - m_pFI_Power->SetImage(Image(BitmapEx(BMP_REGRESSION_POWER))); - m_pFI_Polynomial->SetImage(Image(BitmapEx(BMP_REGRESSION_POLYNOMIAL))); - m_pFI_MovingAverage->SetImage(Image(BitmapEx(BMP_REGRESSION_MOVING_AVERAGE))); + m_xFI_Linear->set_from_icon_name(BMP_REGRESSION_LINEAR); + m_xFI_Logarithmic->set_from_icon_name(BMP_REGRESSION_LOG); + m_xFI_Exponential->set_from_icon_name(BMP_REGRESSION_EXP); + m_xFI_Power->set_from_icon_name(BMP_REGRESSION_POWER); + m_xFI_Polynomial->set_from_icon_name(BMP_REGRESSION_POLYNOMIAL); + m_xFI_MovingAverage->set_from_icon_name(BMP_REGRESSION_MOVING_AVERAGE); } void TrendlineResources::UpdateControlStates() { if( m_nNbPoints > 0 ) { - sal_Int32 nMaxValue = m_nNbPoints - 1 + ( m_pCB_SetIntercept->IsChecked()?1:0 ); -// if( nMaxValue > 10) nMaxValue = 10; - m_pNF_Degree->SetMax( nMaxValue ); - m_pNF_Period->SetMax( m_nNbPoints - 1 ); + sal_Int32 nMaxValue = m_nNbPoints - 1 + (m_xCB_SetIntercept->get_active() ? 1 : 0); + m_xNF_Degree->set_max(nMaxValue); + m_xNF_Period->set_max(m_nNbPoints - 1); } bool bMovingAverage = ( m_eTrendLineType == SvxChartRegress::MovingAverage ); bool bInterceptAvailable = ( m_eTrendLineType == SvxChartRegress::Linear ) || ( m_eTrendLineType == SvxChartRegress::Polynomial ) || ( m_eTrendLineType == SvxChartRegress::Exp ); - m_pFmtFld_ExtrapolateForward->Enable( !bMovingAverage ); - m_pFmtFld_ExtrapolateBackward->Enable( !bMovingAverage ); - m_pCB_SetIntercept->Enable( bInterceptAvailable ); - m_pFmtFld_InterceptValue->Enable( bInterceptAvailable ); + m_xFmtFld_ExtrapolateForward->set_sensitive( !bMovingAverage ); + m_xFmtFld_ExtrapolateBackward->set_sensitive( !bMovingAverage ); + m_xCB_SetIntercept->set_sensitive( bInterceptAvailable ); + m_xFmtFld_InterceptValue->set_sensitive( bInterceptAvailable ); if( bMovingAverage ) { - m_pCB_ShowEquation->SetState( TRISTATE_FALSE ); - m_pCB_ShowCorrelationCoeff->SetState( TRISTATE_FALSE ); + m_xCB_ShowEquation->set_state(TRISTATE_FALSE); + m_xCB_ShowCorrelationCoeff->set_state(TRISTATE_FALSE); } - m_pCB_ShowEquation->Enable( !bMovingAverage ); - m_pCB_ShowCorrelationCoeff->Enable( !bMovingAverage ); - m_pEE_XName->Enable( !bMovingAverage && m_pCB_ShowEquation->IsChecked() ); - m_pEE_YName->Enable( !bMovingAverage && m_pCB_ShowEquation->IsChecked() ); + m_xCB_ShowEquation->set_sensitive( !bMovingAverage ); + m_xCB_ShowCorrelationCoeff->set_sensitive( !bMovingAverage ); + m_xEE_XName->set_sensitive( !bMovingAverage && m_xCB_ShowEquation->get_active() ); + m_xEE_YName->set_sensitive( !bMovingAverage && m_xCB_ShowEquation->get_active() ); } -IMPL_LINK( TrendlineResources, ChangeValue, Edit&, rNumericField, void) +IMPL_LINK(TrendlineResources, ChangeSpinValue, weld::SpinButton&, rNumericField, void) { - if( &rNumericField == m_pNF_Degree ) + if (&rNumericField == m_xNF_Degree.get()) { - if( !m_pRB_Polynomial->IsChecked() ) + if (!m_xRB_Polynomial->get_active()) { - m_pRB_Polynomial->Check(); - SelectTrendLine(m_pRB_Polynomial); + m_xRB_Polynomial->set_active(true); + SelectTrendLine(*m_xRB_Polynomial); } } - else if( &rNumericField == m_pNF_Period ) + else if (&rNumericField == m_xNF_Period.get()) { - if( !m_pRB_MovingAverage->IsChecked() ) + if (!m_xRB_MovingAverage->get_active()) { - m_pRB_MovingAverage->Check(); - SelectTrendLine(m_pRB_MovingAverage); + m_xRB_MovingAverage->set_active(true); + SelectTrendLine(*m_xRB_MovingAverage); } } - else if( &rNumericField == m_pFmtFld_InterceptValue ) - { - if( !m_pCB_SetIntercept->IsChecked() ) - m_pCB_SetIntercept->Check(); - } + UpdateControlStates(); +} + +IMPL_LINK_NOARG(TrendlineResources, ChangeFormattedValue, weld::FormattedSpinButton&, void) +{ + if (!m_xCB_SetIntercept->get_active()) + m_xCB_SetIntercept->set_active(true); UpdateControlStates(); } void TrendlineResources::SetNumFormatter( SvNumberFormatter* pFormatter ) { m_pNumFormatter = pFormatter; - m_pFmtFld_ExtrapolateForward->SetFormatter( m_pNumFormatter ); - m_pFmtFld_ExtrapolateBackward->SetFormatter( m_pNumFormatter ); - m_pFmtFld_InterceptValue->SetFormatter( m_pNumFormatter ); + m_xFmtFld_ExtrapolateForward->set_formatter( m_pNumFormatter ); + m_xFmtFld_ExtrapolateBackward->set_formatter( m_pNumFormatter ); + m_xFmtFld_InterceptValue->set_formatter( m_pNumFormatter ); } void TrendlineResources::SetNbPoints( sal_Int32 nNbPoints ) @@ -385,13 +380,10 @@ void TrendlineResources::SetNbPoints( sal_Int32 nNbPoints ) UpdateControlStates(); } -IMPL_LINK( TrendlineResources, ShowEquation, CheckBox&, rCheckBox, void) +IMPL_LINK_NOARG(TrendlineResources, ShowEquation, weld::ToggleButton&, void) { - if( &rCheckBox == m_pCB_ShowEquation ) - { - m_pEE_XName->Enable( m_pCB_ShowEquation->IsChecked() ); - m_pEE_YName->Enable( m_pCB_ShowEquation->IsChecked() ); - } + m_xEE_XName->set_sensitive(m_xCB_ShowEquation->get_active()); + m_xEE_YName->set_sensitive(m_xCB_ShowEquation->get_active()); UpdateControlStates(); } diff --git a/chart2/source/controller/dialogs/res_Trendline.hxx b/chart2/source/controller/dialogs/res_Trendline.hxx index 604b8d38d236..0d5eb85e8a1f 100644 --- a/chart2/source/controller/dialogs/res_Trendline.hxx +++ b/chart2/source/controller/dialogs/res_Trendline.hxx @@ -19,12 +19,9 @@ #ifndef INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_RES_TRENDLINE_HXX #define INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_RES_TRENDLINE_HXX -#include <vcl/button.hxx> -#include <vcl/fixed.hxx> #include <svl/itemset.hxx> #include <svx/chrtitem.hxx> -#include <vcl/field.hxx> -#include <vcl/fmtfield.hxx> +#include <vcl/weld.hxx> class SvNumberFormatter; @@ -34,7 +31,7 @@ namespace chart class TrendlineResources final { public: - TrendlineResources( vcl::Window* pParent, const SfxItemSet& rInAttrs ); + TrendlineResources(weld::Builder& rParent, const SfxItemSet& rInAttrs); ~TrendlineResources(); void Reset(const SfxItemSet& rInAttrs); @@ -46,32 +43,6 @@ public: void SetNbPoints( sal_Int32 nNbPoints ); private: - VclPtr<RadioButton> m_pRB_Linear; - VclPtr<RadioButton> m_pRB_Logarithmic; - VclPtr<RadioButton> m_pRB_Exponential; - VclPtr<RadioButton> m_pRB_Power; - VclPtr<RadioButton> m_pRB_Polynomial; - VclPtr<RadioButton> m_pRB_MovingAverage; - - VclPtr<FixedImage> m_pFI_Linear; - VclPtr<FixedImage> m_pFI_Logarithmic; - VclPtr<FixedImage> m_pFI_Exponential; - VclPtr<FixedImage> m_pFI_Power; - VclPtr<FixedImage> m_pFI_Polynomial; - VclPtr<FixedImage> m_pFI_MovingAverage; - - VclPtr<NumericField> m_pNF_Degree; - VclPtr<NumericField> m_pNF_Period; - VclPtr<Edit> m_pEE_Name; - VclPtr<FormattedField> m_pFmtFld_ExtrapolateForward; - VclPtr<FormattedField> m_pFmtFld_ExtrapolateBackward; - VclPtr<CheckBox> m_pCB_SetIntercept; - VclPtr<FormattedField> m_pFmtFld_InterceptValue; - VclPtr<CheckBox> m_pCB_ShowEquation; - VclPtr<Edit> m_pEE_XName; - VclPtr<Edit> m_pEE_YName; - VclPtr<CheckBox> m_pCB_ShowCorrelationCoeff; - SvxChartRegress m_eTrendLineType; bool m_bTrendLineUnique; @@ -79,10 +50,37 @@ private: SvNumberFormatter* m_pNumFormatter; sal_Int32 m_nNbPoints; + std::unique_ptr<weld::RadioButton> m_xRB_Linear; + std::unique_ptr<weld::RadioButton> m_xRB_Logarithmic; + std::unique_ptr<weld::RadioButton> m_xRB_Exponential; + std::unique_ptr<weld::RadioButton> m_xRB_Power; + std::unique_ptr<weld::RadioButton> m_xRB_Polynomial; + std::unique_ptr<weld::RadioButton> m_xRB_MovingAverage; + + std::unique_ptr<weld::Image> m_xFI_Linear; + std::unique_ptr<weld::Image> m_xFI_Logarithmic; + std::unique_ptr<weld::Image> m_xFI_Exponential; + std::unique_ptr<weld::Image> m_xFI_Power; + std::unique_ptr<weld::Image> m_xFI_Polynomial; + std::unique_ptr<weld::Image> m_xFI_MovingAverage; + + std::unique_ptr<weld::SpinButton> m_xNF_Degree; + std::unique_ptr<weld::SpinButton> m_xNF_Period; + std::unique_ptr<weld::Entry> m_xEE_Name; + std::unique_ptr<weld::FormattedSpinButton> m_xFmtFld_ExtrapolateForward; + std::unique_ptr<weld::FormattedSpinButton> m_xFmtFld_ExtrapolateBackward; + std::unique_ptr<weld::CheckButton> m_xCB_SetIntercept; + std::unique_ptr<weld::FormattedSpinButton> m_xFmtFld_InterceptValue; + std::unique_ptr<weld::CheckButton> m_xCB_ShowEquation; + std::unique_ptr<weld::Entry> m_xEE_XName; + std::unique_ptr<weld::Entry> m_xEE_YName; + std::unique_ptr<weld::CheckButton> m_xCB_ShowCorrelationCoeff; + void UpdateControlStates(); - DECL_LINK( SelectTrendLine, Button*, void ); - DECL_LINK( ChangeValue, Edit&, void); - DECL_LINK( ShowEquation, CheckBox&, void); + DECL_LINK(SelectTrendLine, weld::ToggleButton&, void); + DECL_LINK(ChangeSpinValue, weld::SpinButton&, void); + DECL_LINK(ChangeFormattedValue, weld::FormattedSpinButton&, void); + DECL_LINK(ShowEquation, weld::ToggleButton&, void); }; } // namespace chart diff --git a/chart2/source/controller/dialogs/tp_Trendline.cxx b/chart2/source/controller/dialogs/tp_Trendline.cxx index dc316a8fa54a..60d77bf29280 100644 --- a/chart2/source/controller/dialogs/tp_Trendline.cxx +++ b/chart2/source/controller/dialogs/tp_Trendline.cxx @@ -24,16 +24,15 @@ namespace chart { -TrendlineTabPage::TrendlineTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs ) : - SfxTabPage( pParent, "TP_TRENDLINE", "modules/schart/ui/tp_Trendline.ui", &rInAttrs ), - m_aTrendlineResources( this, rInAttrs ) +TrendlineTabPage::TrendlineTabPage(TabPageParent pParent, const SfxItemSet& rInAttrs) + : SfxTabPage(pParent, "modules/schart/ui/tp_Trendline.ui", "TP_TRENDLINE", &rInAttrs) + , m_aTrendlineResources(*m_xBuilder, rInAttrs) { } -VclPtr<SfxTabPage> TrendlineTabPage::Create( - TabPageParent pParent, const SfxItemSet* rOutAttrs ) +VclPtr<SfxTabPage> TrendlineTabPage::Create(TabPageParent pParent, const SfxItemSet* rOutAttrs) { - return VclPtr<TrendlineTabPage>::Create( pParent.pParent, *rOutAttrs ); + return VclPtr<TrendlineTabPage>::Create(pParent, *rOutAttrs); } bool TrendlineTabPage::FillItemSet( SfxItemSet* rOutAttrs ) diff --git a/chart2/source/controller/dialogs/tp_Trendline.hxx b/chart2/source/controller/dialogs/tp_Trendline.hxx index 8981939b5009..03dd251cb91e 100644 --- a/chart2/source/controller/dialogs/tp_Trendline.hxx +++ b/chart2/source/controller/dialogs/tp_Trendline.hxx @@ -29,7 +29,7 @@ namespace chart class TrendlineTabPage : public SfxTabPage { public: - TrendlineTabPage ( vcl::Window* pParent, const SfxItemSet& rInAttrs ); + TrendlineTabPage(TabPageParent pParent, const SfxItemSet& rInAttrs); static VclPtr<SfxTabPage> Create( TabPageParent pParent, const SfxItemSet* rInAttrs ); virtual bool FillItemSet( SfxItemSet* rOutAttrs ) override; diff --git a/chart2/uiconfig/ui/tp_Trendline.ui b/chart2/uiconfig/ui/tp_Trendline.ui index 697b001751e9..a9550a9ebe9d 100644 --- a/chart2/uiconfig/ui/tp_Trendline.ui +++ b/chart2/uiconfig/ui/tp_Trendline.ui @@ -1,4 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.22.1 --> <interface domain="chart"> <requires lib="gtk+" version="3.18"/> <object class="GtkAdjustment" id="adjustmentDegree"> @@ -7,7 +8,19 @@ <property name="step_increment">1</property> <property name="page_increment">10</property> </object> - <object class="GtkAdjustment" id="adjustmentForwardBacward"> + <object class="GtkAdjustment" id="adjustmentForwardBackward"> + <property name="lower">-10000</property> + <property name="upper">10000</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustmentForwardBackward1"> + <property name="lower">-10000</property> + <property name="upper">10000</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustmentForwardBackward2"> <property name="lower">-10000</property> <property name="upper">10000</property> <property name="step_increment">1</property> @@ -57,13 +70,10 @@ <property name="xalign">0</property> <property name="active">True</property> <property name="draw_indicator">True</property> - <property name="group">logarithmic</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -76,13 +86,11 @@ <property name="xalign">0</property> <property name="active">True</property> <property name="draw_indicator">True</property> - <property name="group">exponential</property> + <property name="group">linear</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">1</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -95,13 +103,11 @@ <property name="xalign">0</property> <property name="active">True</property> <property name="draw_indicator">True</property> - <property name="group">power</property> + <property name="group">linear</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">2</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -114,13 +120,11 @@ <property name="xalign">0</property> <property name="active">True</property> <property name="draw_indicator">True</property> - <property name="group">polynomial</property> + <property name="group">linear</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">3</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -133,13 +137,11 @@ <property name="xalign">0</property> <property name="active">True</property> <property name="draw_indicator">True</property> - <property name="group">movingAverage</property> + <property name="group">linear</property> </object> <packing> <property name="left_attach">3</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -157,8 +159,6 @@ <packing> <property name="left_attach">3</property> <property name="top_attach">2</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -171,33 +171,30 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="label" translatable="yes" context="tp_Trendline|label3">Degree</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">degree</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> <object class="GtkSpinButton" id="degree"> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="activates_default">True</property> <property name="adjustment">adjustmentDegree</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> </object> <packing> <property name="left_attach">3</property> <property name="top_attach">1</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -210,33 +207,30 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="label" translatable="yes" context="tp_Trendline|label4">Period</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">period</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> <object class="GtkSpinButton" id="period"> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="activates_default">True</property> <property name="adjustment">adjustmentPeriod</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> </object> <packing> <property name="left_attach">3</property> <property name="top_attach">3</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -248,8 +242,6 @@ <packing> <property name="left_attach">0</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -261,8 +253,6 @@ <packing> <property name="left_attach">0</property> <property name="top_attach">1</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -274,8 +264,6 @@ <packing> <property name="left_attach">0</property> <property name="top_attach">2</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -287,8 +275,6 @@ <packing> <property name="left_attach">0</property> <property name="top_attach">3</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -300,8 +286,6 @@ <packing> <property name="left_attach">2</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -313,8 +297,6 @@ <packing> <property name="left_attach">2</property> <property name="top_attach">2</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -367,58 +349,55 @@ <object class="GtkLabel" id="label7"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="tp_Trendline|label7">Extrapolate Forward</property> <property name="use_underline">True</property> <property name="mnemonic_widget">extrapolateForward</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">1</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> <object class="GtkLabel" id="label8"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="tp_Trendline|label8">Extrapolate Backward</property> <property name="use_underline">True</property> <property name="mnemonic_widget">extrapolateBackward</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">2</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> - <object class="svtlo-FormattedField" id="extrapolateForward"> + <object class="GtkSpinButton" id="extrapolateForward"> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="activates_default">True</property> <property name="caps_lock_warning">False</property> - <property name="input_purpose">number</property> + <property name="adjustment">adjustmentForwardBackward</property> + <property name="digits">2</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">1</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> - <object class="svtlo-FormattedField" id="extrapolateBackward"> + <object class="GtkSpinButton" id="extrapolateBackward"> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="activates_default">True</property> + <property name="adjustment">adjustmentForwardBackward1</property> + <property name="digits">2</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">2</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -430,12 +409,13 @@ <property name="use_underline">True</property> <property name="xalign">0</property> <property name="draw_indicator">True</property> + <accessibility> + <relation type="label-for" target="interceptValue"/> + </accessibility> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">3</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -452,7 +432,6 @@ <property name="left_attach">0</property> <property name="top_attach">4</property> <property name="width">2</property> - <property name="height">1</property> </packing> </child> <child> @@ -469,106 +448,100 @@ <property name="left_attach">0</property> <property name="top_attach">5</property> <property name="width">2</property> - <property name="height">1</property> </packing> </child> <child> <object class="GtkLabel" id="label5"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="tp_Trendline|label5">Trendline _Name</property> <property name="use_underline">True</property> <property name="mnemonic_widget">entry_name</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> <object class="GtkEntry" id="entry_name"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="activates_default">True</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> - <object class="svtlo-FormattedField" id="interceptValue"> + <object class="GtkSpinButton" id="interceptValue"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="text" translatable="no">0</property> + <property name="activates_default">True</property> + <property name="text">0</property> <property name="caps_lock_warning">False</property> <property name="input_purpose">number</property> + <property name="adjustment">adjustmentForwardBackward2</property> + <property name="digits">2</property> + <accessibility> + <relation type="labelled-by" target="setIntercept"/> + </accessibility> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">3</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> <object class="GtkLabel" id="label6"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="tp_Trendline|label6">_X Variable Name</property> <property name="use_underline">True</property> <property name="mnemonic_widget">entry_Xname</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">6</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> <object class="GtkEntry" id="entry_Xname"> <property name="visible">True</property> <property name="can_focus">True</property> - </object> + <property name="activates_default">True</property> + </object> <packing> <property name="left_attach">1</property> <property name="top_attach">6</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> <object class="GtkLabel" id="label9"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="tp_Trendline|label9">_Y Variable Name</property> <property name="use_underline">True</property> <property name="mnemonic_widget">entry_Yname</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">7</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> <object class="GtkEntry" id="entry_Yname"> <property name="visible">True</property> <property name="can_focus">True</property> - </object> + <property name="activates_default">True</property> + </object> <packing> <property name="left_attach">1</property> <property name="top_attach">7</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> </object> @@ -593,4 +566,10 @@ </packing> </child> </object> + <object class="GtkSizeGroup"> + <widgets> + <widget name="label3"/> + <widget name="label4"/> + </widgets> + </object> </interface> |