From f7a2e12cb582bda905a75fc547ad632c9b371d06 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 12 Oct 2018 16:39:16 +0100 Subject: weld DataLabelsDialog and DataLabelsTabPage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I509d58b2677b5e8f0db476e2650661cb128a5279 Reviewed-on: https://gerrit.libreoffice.org/61723 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- .../controller/dialogs/TextDirectionListBox.cxx | 13 ++ .../controller/dialogs/dlg_InsertDataLabel.cxx | 8 +- chart2/source/controller/dialogs/res_DataLabel.cxx | 220 ++++++++++----------- chart2/source/controller/dialogs/res_DataLabel.hxx | 55 +++--- chart2/source/controller/dialogs/tp_DataLabel.cxx | 13 +- chart2/source/controller/dialogs/tp_DataLabel.hxx | 2 +- .../source/controller/inc/TextDirectionListBox.hxx | 7 + .../source/controller/inc/dlg_InsertDataLabel.hxx | 11 +- .../controller/main/ChartController_Insert.cxx | 6 +- chart2/uiconfig/ui/dlg_DataLabel.ui | 172 ++++++---------- chart2/uiconfig/ui/tp_DataLabel.ui | 189 ++++++------------ 11 files changed, 291 insertions(+), 405 deletions(-) (limited to 'chart2') diff --git a/chart2/source/controller/dialogs/TextDirectionListBox.cxx b/chart2/source/controller/dialogs/TextDirectionListBox.cxx index 1fd5b7604c10..a622e2b651d2 100644 --- a/chart2/source/controller/dialogs/TextDirectionListBox.cxx +++ b/chart2/source/controller/dialogs/TextDirectionListBox.cxx @@ -42,6 +42,19 @@ TextDirectionListBox::TextDirectionListBox( vcl::Window* pParent ) : VCL_BUILDER_FACTORY(TextDirectionListBox) +SchTextDirectionListBox::SchTextDirectionListBox(std::unique_ptr pControl) + : svx::SvxFrameDirectionListBox(std::move(pControl)) +{ + append(SvxFrameDirection::Horizontal_LR_TB, SchResId(STR_TEXT_DIRECTION_LTR)); + append(SvxFrameDirection::Horizontal_RL_TB, SchResId(STR_TEXT_DIRECTION_RTL)); + append(SvxFrameDirection::Environment, SchResId(STR_TEXT_DIRECTION_SUPER)); + + if (!SvtLanguageOptions().IsCTLFontEnabled()) + { + hide(); + } +} + } //namespace chart /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/source/controller/dialogs/dlg_InsertDataLabel.cxx b/chart2/source/controller/dialogs/dlg_InsertDataLabel.cxx index 4bfb943fddc9..57817d883d66 100644 --- a/chart2/source/controller/dialogs/dlg_InsertDataLabel.cxx +++ b/chart2/source/controller/dialogs/dlg_InsertDataLabel.cxx @@ -23,11 +23,9 @@ namespace chart { -DataLabelsDialog::DataLabelsDialog(vcl::Window* pWindow, const SfxItemSet& rInAttrs, SvNumberFormatter* pFormatter) : - ModalDialog(pWindow - ,"dlg_DataLabels" - ,"modules/schart/ui/dlg_DataLabel.ui"), - m_apDataLabelResources( new DataLabelResources(this, GetFrameWeld(), rInAttrs) ) +DataLabelsDialog::DataLabelsDialog(weld::Window* pWindow, const SfxItemSet& rInAttrs, SvNumberFormatter* pFormatter) + : GenericDialogController(pWindow, "modules/schart/ui/dlg_DataLabel.ui", "dlg_DataLabels") + , m_apDataLabelResources(new DataLabelResources(m_xBuilder.get(), pWindow, rInAttrs)) { m_apDataLabelResources->SetNumberFormatter( pFormatter ); m_apDataLabelResources->Reset(rInAttrs); diff --git a/chart2/source/controller/dialogs/res_DataLabel.cxx b/chart2/source/controller/dialogs/res_DataLabel.cxx index 95094b4b8d8a..e44a346a0a46 100644 --- a/chart2/source/controller/dialogs/res_DataLabel.cxx +++ b/chart2/source/controller/dialogs/res_DataLabel.cxx @@ -69,65 +69,54 @@ bool lcl_ReadNumberFormatFromItemSet( const SfxItemSet& rSet, sal_uInt16 nValueW return bSet; } -void lcl_setBoolItemToCheckBox( const SfxItemSet& rInAttrs, sal_uInt16 nWhichId, CheckBox& rCheckbox ) +void lcl_setBoolItemToCheckBox(const SfxItemSet& rInAttrs, sal_uInt16 nWhichId, weld::CheckButton& rCheckbox) { - rCheckbox.EnableTriState( false ); - const SfxPoolItem *pPoolItem = nullptr; if( rInAttrs.GetItemState(nWhichId, true, &pPoolItem) == SfxItemState::SET ) - rCheckbox.Check( static_cast(pPoolItem)->GetValue() ); + rCheckbox.set_active(static_cast(pPoolItem)->GetValue()); else - { - rCheckbox.EnableTriState(); - rCheckbox.SetState( TRISTATE_INDET ); - } + rCheckbox.set_state(TRISTATE_INDET); } }//end anonymous namespace -DataLabelResources::DataLabelResources(VclBuilderContainer* pWindow, weld::Window* pParent, const SfxItemSet& rInAttrs ) - : - m_pNumberFormatter(nullptr), - m_bNumberFormatMixedState(true), - m_bPercentFormatMixedState(true), - m_nNumberFormatForValue(0), - m_nNumberFormatForPercent(11), - m_bSourceFormatMixedState(true), - m_bPercentSourceMixedState(true), - m_bSourceFormatForValue(true), - m_bSourceFormatForPercent(true), - m_pWindow(pParent), - m_pPool(rInAttrs.GetPool()) +DataLabelResources::DataLabelResources(weld::Builder* pBuilder, weld::Window* pParent, const SfxItemSet& rInAttrs) + : m_pNumberFormatter(nullptr) + , m_bNumberFormatMixedState(true) + , m_bPercentFormatMixedState(true) + , m_nNumberFormatForValue(0) + , m_nNumberFormatForPercent(11) + , m_bSourceFormatMixedState(true) + , m_bPercentSourceMixedState(true) + , m_bSourceFormatForValue(true) + , m_bSourceFormatForPercent(true) + , m_pWindow(pParent) + , m_pPool(rInAttrs.GetPool()) + , m_xCBNumber(pBuilder->weld_check_button("CB_VALUE_AS_NUMBER")) + , m_xPB_NumberFormatForValue(pBuilder->weld_button("PB_NUMBERFORMAT")) + , m_xCBPercent(pBuilder->weld_check_button("CB_VALUE_AS_PERCENTAGE")) + , m_xPB_NumberFormatForPercent(pBuilder->weld_button("PB_PERCENT_NUMBERFORMAT")) + , m_xFT_NumberFormatForPercent(pBuilder->weld_label("STR_DLG_NUMBERFORMAT_FOR_PERCENTAGE_VALUE")) + , m_xCBCategory(pBuilder->weld_check_button("CB_CATEGORY")) + , m_xCBSymbol(pBuilder->weld_check_button("CB_SYMBOL")) + , m_xCBWrapText(pBuilder->weld_check_button("CB_WRAP_TEXT")) + , m_xSeparatorResources(pBuilder->weld_widget("boxSEPARATOR")) + , m_xLB_Separator(pBuilder->weld_combo_box("LB_TEXT_SEPARATOR")) + , m_xBxLabelPlacement(pBuilder->weld_widget("boxPLACEMENT")) + , m_xLB_LabelPlacement(pBuilder->weld_combo_box("LB_LABEL_PLACEMENT")) + , m_xBxOrientation(pBuilder->weld_widget("boxORIENTATION")) + , m_xFT_Dial(pBuilder->weld_label("CT_LABEL_DIAL")) + , m_xNF_Degrees(pBuilder->weld_spin_button("NF_LABEL_DEGREES")) + , m_xBxTextDirection(pBuilder->weld_widget("boxTXT_DIRECTION")) + , m_xLB_TextDirection(new SchTextDirectionListBox(pBuilder->weld_combo_box("LB_LABEL_TEXTDIR"))) + , m_xDC_Dial(new weld::CustomWeld(*pBuilder, "CT_DIAL", m_aDC_Dial)) { - pWindow->get(m_pCBNumber, "CB_VALUE_AS_NUMBER"); - pWindow->get(m_pPB_NumberFormatForValue, "PB_NUMBERFORMAT"); - pWindow->get(m_pCBPercent, "CB_VALUE_AS_PERCENTAGE"); - pWindow->get(m_pPB_NumberFormatForPercent, "PB_PERCENT_NUMBERFORMAT"); - pWindow->get(m_pFT_NumberFormatForPercent,"STR_DLG_NUMBERFORMAT_FOR_PERCENTAGE_VALUE"); - pWindow->get(m_pCBCategory, "CB_CATEGORY"); - pWindow->get(m_pCBSymbol, "CB_SYMBOL"); - pWindow->get(m_pCBWrapText, "CB_WRAP_TEXT"); - - pWindow->get(m_pBxLabelPlacement, "boxPLACEMENT"); - pWindow->get(m_pLB_LabelPlacement, "LB_LABEL_PLACEMENT"); - - pWindow->get(m_pDC_Dial, "CT_DIAL"); - pWindow->get(m_pFT_Dial, "CT_LABEL_DIAL"); - - m_pDC_Dial->SetText(m_pFT_Dial->GetText()); - - pWindow->get(m_pNF_Degrees, "NF_LABEL_DEGREES"); - pWindow->get(m_pLB_TextDirection, "LB_LABEL_TEXTDIR"); - pWindow->get(m_pBxTextDirection, "boxTXT_DIRECTION"); - pWindow->get(m_pBxOrientation, "boxORIENTATION"); - - pWindow->get(m_pSeparatorResources, "boxSEPARATOR"); - pWindow->get(m_pLB_Separator, "LB_TEXT_SEPARATOR"); + m_aDC_Dial.SetText(m_xFT_Dial->get_label()); //fill label placement list std::map< sal_Int32, OUString > aPlacementToStringMap; - for( sal_Int32 nEnum=0; nEnumGetEntryCount(); ++nEnum ) - aPlacementToStringMap[nEnum] = m_pLB_LabelPlacement->GetEntry(static_cast(nEnum)); + for( sal_Int32 nEnum=0; nEnumget_count(); ++nEnum ) + aPlacementToStringMap[nEnum] = m_xLB_LabelPlacement->get_text(static_cast(nEnum)); std::vector< sal_Int32 > aAvailablePlacementList; @@ -135,25 +124,24 @@ DataLabelResources::DataLabelResources(VclBuilderContainer* pWindow, weld::Windo if( rInAttrs.GetItemState(SCHATTR_DATADESCR_AVAILABLE_PLACEMENTS, true, &pPoolItem) == SfxItemState::SET ) aAvailablePlacementList = static_cast(pPoolItem)->GetList(); - m_pLB_LabelPlacement->Clear(); + m_xLB_LabelPlacement->clear(); for( size_t nN=0; nN( nN ); sal_Int32 nPlacement = aAvailablePlacementList[nN]; m_aPlacementToListBoxMap[nPlacement]=nListBoxPos; m_aListBoxToPlacementMap[nListBoxPos]=nPlacement; - m_pLB_LabelPlacement->InsertEntry( aPlacementToStringMap[nPlacement] ); + m_xLB_LabelPlacement->append_text( aPlacementToStringMap[nPlacement] ); } - m_pLB_LabelPlacement->SetDropDownLineCount(m_pLB_LabelPlacement->GetEntryCount()); //some click handler - m_pPB_NumberFormatForValue->SetClickHdl( LINK( this, DataLabelResources, NumberFormatDialogHdl ) ); - m_pPB_NumberFormatForPercent->SetClickHdl( LINK( this, DataLabelResources, NumberFormatDialogHdl ) ); - m_pCBNumber->SetClickHdl( LINK( this, DataLabelResources, CheckHdl )); - m_pCBPercent->SetClickHdl( LINK( this, DataLabelResources, CheckHdl )); - m_pCBCategory->SetClickHdl( LINK( this, DataLabelResources, CheckHdl )); - m_pCBSymbol->SetClickHdl( LINK( this, DataLabelResources, CheckHdl )); - m_pCBWrapText->SetClickHdl( LINK( this, DataLabelResources, CheckHdl )); + m_xPB_NumberFormatForValue->connect_clicked( LINK( this, DataLabelResources, NumberFormatDialogHdl ) ); + m_xPB_NumberFormatForPercent->connect_clicked( LINK( this, DataLabelResources, NumberFormatDialogHdl ) ); + m_xCBNumber->connect_toggled( LINK( this, DataLabelResources, CheckHdl )); + m_xCBPercent->connect_toggled( LINK( this, DataLabelResources, CheckHdl )); + m_xCBCategory->connect_toggled( LINK( this, DataLabelResources, CheckHdl )); + m_xCBSymbol->connect_toggled( LINK( this, DataLabelResources, CheckHdl )); + m_xCBWrapText->connect_toggled( LINK( this, DataLabelResources, CheckHdl )); m_bNumberFormatMixedState = !lcl_ReadNumberFormatFromItemSet( rInAttrs, SID_ATTR_NUMBERFORMAT_VALUE, SID_ATTR_NUMBERFORMAT_SOURCE, m_nNumberFormatForValue, m_bSourceFormatForValue, m_bSourceFormatMixedState ); m_bPercentFormatMixedState = !lcl_ReadNumberFormatFromItemSet( rInAttrs, SCHATTR_PERCENT_NUMBERFORMAT_VALUE, SCHATTR_PERCENT_NUMBERFORMAT_SOURCE, m_nNumberFormatForPercent, m_bSourceFormatForPercent , m_bPercentSourceMixedState); @@ -162,10 +150,10 @@ DataLabelResources::DataLabelResources(VclBuilderContainer* pWindow, weld::Windo { bool bForbidPercentValue = rInAttrs.Get( SCHATTR_DATADESCR_NO_PERCENTVALUE ).GetValue(); if( bForbidPercentValue ) - m_pCBPercent->Enable(false); + m_xCBPercent->set_sensitive(false); } - m_pDC_Dial->SetLinkedField( m_pNF_Degrees ); + m_aDC_Dial.SetLinkedField(m_xNF_Degrees.get()); } DataLabelResources::~DataLabelResources() @@ -177,7 +165,7 @@ void DataLabelResources::SetNumberFormatter( SvNumberFormatter* pFormatter ) m_pNumberFormatter = pFormatter; } -IMPL_LINK( DataLabelResources, NumberFormatDialogHdl, Button *, pButton, void ) +IMPL_LINK(DataLabelResources, NumberFormatDialogHdl, weld::Button&, rButton, void) { if( !m_pPool || !m_pNumberFormatter ) { @@ -185,15 +173,15 @@ IMPL_LINK( DataLabelResources, NumberFormatDialogHdl, Button *, pButton, void ) return; } - if( pButton == m_pPB_NumberFormatForValue && !m_pCBNumber->IsChecked()) - m_pCBNumber->Check(); - else if( pButton == m_pPB_NumberFormatForPercent && !m_pCBPercent->IsChecked()) - m_pCBPercent->Check(); + if (&rButton == m_xPB_NumberFormatForValue.get() && !m_xCBNumber->get_active()) + m_xCBNumber->set_active(true); + else if (&rButton == m_xPB_NumberFormatForPercent.get() && !m_xCBPercent->get_active()) + m_xCBPercent->set_active(true); SfxItemSet aNumberSet = NumberFormatDialog::CreateEmptyItemSetForNumberFormatDialog( *m_pPool ); aNumberSet.Put (SvxNumberInfoItem( m_pNumberFormatter, static_cast(SID_ATTR_NUMBERFORMAT_INFO))); - bool bPercent = ( pButton == m_pPB_NumberFormatForPercent ); + bool bPercent = (&rButton == m_xPB_NumberFormatForPercent.get()); sal_uLong& rnFormatKey = bPercent ? m_nNumberFormatForPercent : m_nNumberFormatForValue; bool& rUseSourceFormat = bPercent ? m_bSourceFormatForPercent : m_bSourceFormatForValue; @@ -206,7 +194,7 @@ IMPL_LINK( DataLabelResources, NumberFormatDialogHdl, Button *, pButton, void ) NumberFormatDialog aDlg(m_pWindow, aNumberSet); if( bPercent ) - aDlg.set_title(m_pFT_NumberFormatForPercent->GetText()); + aDlg.set_title(m_xFT_NumberFormatForPercent->get_label()); if (aDlg.run() == RET_OK) { const SfxItemSet* pResult = aDlg.GetOutputItemSet(); @@ -225,57 +213,55 @@ IMPL_LINK( DataLabelResources, NumberFormatDialogHdl, Button *, pButton, void ) } } -IMPL_LINK( DataLabelResources, CheckHdl, Button*, pBox, void ) +IMPL_LINK_NOARG(DataLabelResources, CheckHdl, weld::ToggleButton&, void) { - if( pBox ) - static_cast(pBox)->EnableTriState( false ); EnableControls(); } void DataLabelResources::EnableControls() { - m_pCBSymbol->Enable( m_pCBNumber->IsChecked() || (m_pCBPercent->IsChecked() && m_pCBPercent->IsEnabled()) - || m_pCBCategory->IsChecked() ); + m_xCBSymbol->set_sensitive( m_xCBNumber->get_active() || (m_xCBPercent->get_active() && m_xCBPercent->get_sensitive()) + || m_xCBCategory->get_active() ); - m_pCBWrapText->Enable( m_pCBNumber->IsChecked() || (m_pCBPercent->IsChecked() && m_pCBPercent->IsEnabled()) - || m_pCBCategory->IsChecked() ); + m_xCBWrapText->set_sensitive( m_xCBNumber->get_active() || (m_xCBPercent->get_active() && m_xCBPercent->get_sensitive()) + || m_xCBCategory->get_active() ); // Enable or disable separator, placement and direction based on the check // box states. Note that the check boxes are tri-state. { long nNumberOfCheckedLabelParts = 0; - if (m_pCBNumber->GetState() != TRISTATE_FALSE) + if (m_xCBNumber->get_state() != TRISTATE_FALSE) ++nNumberOfCheckedLabelParts; - if (m_pCBPercent->GetState() != TRISTATE_FALSE && m_pCBPercent->IsEnabled()) + if (m_xCBPercent->get_state() != TRISTATE_FALSE && m_xCBPercent->get_sensitive()) ++nNumberOfCheckedLabelParts; - if (m_pCBCategory->GetState() != TRISTATE_FALSE) + if (m_xCBCategory->get_state() != TRISTATE_FALSE) ++nNumberOfCheckedLabelParts; - m_pSeparatorResources->Enable( nNumberOfCheckedLabelParts > 1 ); + m_xSeparatorResources->set_sensitive( nNumberOfCheckedLabelParts > 1 ); bool bEnableTextDir = nNumberOfCheckedLabelParts > 0; - m_pBxTextDirection->Enable( bEnableTextDir ); - bool bEnablePlacement = nNumberOfCheckedLabelParts > 0 && m_pLB_LabelPlacement->GetEntryCount()>1; - m_pBxLabelPlacement->Enable( bEnablePlacement ); + m_xBxTextDirection->set_sensitive( bEnableTextDir ); + bool bEnablePlacement = nNumberOfCheckedLabelParts > 0 && m_xLB_LabelPlacement->get_count()>1; + m_xBxLabelPlacement->set_sensitive( bEnablePlacement ); } - m_pPB_NumberFormatForValue->Enable( m_pNumberFormatter && m_pCBNumber->IsChecked() ); - m_pPB_NumberFormatForPercent->Enable( m_pNumberFormatter && m_pCBPercent->IsChecked() && m_pCBPercent->IsEnabled() ); + m_xPB_NumberFormatForValue->set_sensitive( m_pNumberFormatter && m_xCBNumber->get_active() ); + m_xPB_NumberFormatForPercent->set_sensitive( m_pNumberFormatter && m_xCBPercent->get_active() && m_xCBPercent->get_sensitive() ); - bool bEnableRotation = ( m_pCBNumber->IsChecked() || m_pCBPercent->IsChecked() || m_pCBCategory->IsChecked() ); - m_pBxOrientation->Enable( bEnableRotation ); + bool bEnableRotation = ( m_xCBNumber->get_active() || m_xCBPercent->get_active() || m_xCBCategory->get_active() ); + m_xBxOrientation->set_sensitive( bEnableRotation ); } void DataLabelResources::FillItemSet( SfxItemSet* rOutAttrs ) const { - if( m_pCBNumber->IsChecked() ) + if( m_xCBNumber->get_active() ) { if( !m_bNumberFormatMixedState ) rOutAttrs->Put( SfxUInt32Item( SID_ATTR_NUMBERFORMAT_VALUE, m_nNumberFormatForValue )); if( !m_bSourceFormatMixedState ) rOutAttrs->Put( SfxBoolItem( SID_ATTR_NUMBERFORMAT_SOURCE, m_bSourceFormatForValue )); } - if( m_pCBPercent->IsChecked() ) + if( m_xCBPercent->get_active() ) { if( !m_bPercentFormatMixedState ) rOutAttrs->Put( SfxUInt32Item( SCHATTR_PERCENT_NUMBERFORMAT_VALUE, m_nNumberFormatForPercent )); @@ -283,33 +269,33 @@ void DataLabelResources::FillItemSet( SfxItemSet* rOutAttrs ) const rOutAttrs->Put( SfxBoolItem( SCHATTR_PERCENT_NUMBERFORMAT_SOURCE, m_bSourceFormatForPercent )); } - if( m_pCBNumber->GetState()!= TRISTATE_INDET ) - rOutAttrs->Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_NUMBER, m_pCBNumber->IsChecked() ) ); - if( m_pCBPercent->GetState()!= TRISTATE_INDET ) - rOutAttrs->Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_PERCENTAGE, m_pCBPercent->IsChecked() ) ); - if( m_pCBCategory->GetState()!= TRISTATE_INDET ) - rOutAttrs->Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_CATEGORY, m_pCBCategory->IsChecked() ) ); - if( m_pCBSymbol->GetState()!= TRISTATE_INDET ) - rOutAttrs->Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_SYMBOL, m_pCBSymbol->IsChecked()) ); - if( m_pCBWrapText->GetState()!= TRISTATE_INDET ) - rOutAttrs->Put( SfxBoolItem( SCHATTR_DATADESCR_WRAP_TEXT, m_pCBWrapText->IsChecked()) ); - - OUString aSep = our_aLBEntryMap[m_pLB_Separator->GetSelectedEntryPos()]; + if( m_xCBNumber->get_state()!= TRISTATE_INDET ) + rOutAttrs->Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_NUMBER, m_xCBNumber->get_active() ) ); + if( m_xCBPercent->get_state()!= TRISTATE_INDET ) + rOutAttrs->Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_PERCENTAGE, m_xCBPercent->get_active() ) ); + if( m_xCBCategory->get_state()!= TRISTATE_INDET ) + rOutAttrs->Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_CATEGORY, m_xCBCategory->get_active() ) ); + if( m_xCBSymbol->get_state()!= TRISTATE_INDET ) + rOutAttrs->Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_SYMBOL, m_xCBSymbol->get_active()) ); + if( m_xCBWrapText->get_state()!= TRISTATE_INDET ) + rOutAttrs->Put( SfxBoolItem( SCHATTR_DATADESCR_WRAP_TEXT, m_xCBWrapText->get_active()) ); + + OUString aSep = our_aLBEntryMap[m_xLB_Separator->get_active()]; rOutAttrs->Put( SfxStringItem( SCHATTR_DATADESCR_SEPARATOR, aSep) ); - std::map< sal_uInt16, sal_Int32 >::const_iterator aIt( m_aListBoxToPlacementMap.find(m_pLB_LabelPlacement->GetSelectedEntryPos()) ); + std::map< sal_uInt16, sal_Int32 >::const_iterator aIt( m_aListBoxToPlacementMap.find(m_xLB_LabelPlacement->get_active()) ); if(aIt!=m_aListBoxToPlacementMap.end()) { sal_Int32 nValue = aIt->second; rOutAttrs->Put( SfxInt32Item( SCHATTR_DATADESCR_PLACEMENT, nValue ) ); } - if( m_pLB_TextDirection->GetSelectedEntryCount() > 0 ) - rOutAttrs->Put( SvxFrameDirectionItem( m_pLB_TextDirection->GetSelectEntryValue(), EE_PARA_WRITINGDIR ) ); + if (m_xLB_TextDirection->get_active() != -1) + rOutAttrs->Put( SvxFrameDirectionItem( m_xLB_TextDirection->get_active_id(), EE_PARA_WRITINGDIR ) ); - if( m_pDC_Dial->IsVisible() ) + if( m_aDC_Dial.IsVisible() ) { - sal_Int32 nDegrees = m_pDC_Dial->GetRotation(); + sal_Int32 nDegrees = m_aDC_Dial.GetRotation(); rOutAttrs->Put(SfxInt32Item( SCHATTR_TEXT_DEGREES, nDegrees ) ); } } @@ -317,13 +303,13 @@ void DataLabelResources::FillItemSet( SfxItemSet* rOutAttrs ) const void DataLabelResources::Reset(const SfxItemSet& rInAttrs) { // default state - m_pCBSymbol->Enable( false ); + m_xCBSymbol->set_sensitive( false ); - lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_SHOW_NUMBER, *m_pCBNumber ); - lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_SHOW_PERCENTAGE, *m_pCBPercent ); - lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_SHOW_CATEGORY, *m_pCBCategory ); - lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_SHOW_SYMBOL, *m_pCBSymbol ); - lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_WRAP_TEXT, *m_pCBWrapText ); + lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_SHOW_NUMBER, *m_xCBNumber ); + lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_SHOW_PERCENTAGE, *m_xCBPercent ); + lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_SHOW_CATEGORY, *m_xCBCategory ); + lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_SHOW_SYMBOL, *m_xCBSymbol ); + lcl_setBoolItemToCheckBox( rInAttrs, SCHATTR_DATADESCR_WRAP_TEXT, *m_xCBWrapText ); m_bNumberFormatMixedState = !lcl_ReadNumberFormatFromItemSet( rInAttrs, SID_ATTR_NUMBERFORMAT_VALUE, SID_ATTR_NUMBERFORMAT_SOURCE, m_nNumberFormatForValue, m_bSourceFormatForValue, m_bSourceFormatMixedState ); m_bPercentFormatMixedState = !lcl_ReadNumberFormatFromItemSet( rInAttrs, SCHATTR_PERCENT_NUMBERFORMAT_VALUE, SCHATTR_PERCENT_NUMBERFORMAT_SOURCE, m_nNumberFormatForPercent, m_bSourceFormatForPercent , m_bPercentSourceMixedState); @@ -333,10 +319,10 @@ void DataLabelResources::Reset(const SfxItemSet& rInAttrs) for(sal_uInt32 i=0; i < SAL_N_ELEMENTS(our_aLBEntryMap); ++i ) { if( our_aLBEntryMap[i] == static_cast(pPoolItem)->GetValue()) - m_pLB_Separator->SelectEntryPos( i ); + m_xLB_Separator->set_active( i ); } else - m_pLB_Separator->SelectEntryPos( 0 ); + m_xLB_Separator->set_active( 0 ); if( rInAttrs.GetItemState(SCHATTR_DATADESCR_PLACEMENT, true, &pPoolItem) == SfxItemState::SET ) { @@ -345,24 +331,24 @@ void DataLabelResources::Reset(const SfxItemSet& rInAttrs) if(aIt!=m_aPlacementToListBoxMap.end()) { sal_uInt16 nPos = aIt->second; - m_pLB_LabelPlacement->SelectEntryPos( nPos ); + m_xLB_LabelPlacement->set_active( nPos ); } else - m_pLB_LabelPlacement->SetNoSelection(); + m_xLB_LabelPlacement->set_active(-1); } else - m_pLB_LabelPlacement->SetNoSelection(); + m_xLB_LabelPlacement->set_active(-1); if( rInAttrs.GetItemState(EE_PARA_WRITINGDIR, true, &pPoolItem ) == SfxItemState::SET ) - m_pLB_TextDirection->SelectEntryValue( static_cast(pPoolItem)->GetValue() ); + m_xLB_TextDirection->set_active_id( static_cast(pPoolItem)->GetValue() ); if( rInAttrs.GetItemState( SCHATTR_TEXT_DEGREES, true, &pPoolItem ) == SfxItemState::SET ) { sal_Int32 nDegrees = static_cast< const SfxInt32Item * >( pPoolItem )->GetValue(); - m_pDC_Dial->SetRotation( nDegrees ); + m_aDC_Dial.SetRotation( nDegrees ); } else - m_pDC_Dial->SetRotation( 0 ); + m_aDC_Dial.SetRotation( 0 ); EnableControls(); } diff --git a/chart2/source/controller/dialogs/res_DataLabel.hxx b/chart2/source/controller/dialogs/res_DataLabel.hxx index 807c3fc70dc1..036441266cf6 100644 --- a/chart2/source/controller/dialogs/res_DataLabel.hxx +++ b/chart2/source/controller/dialogs/res_DataLabel.hxx @@ -34,7 +34,7 @@ namespace chart class DataLabelResources final { public: - DataLabelResources( VclBuilderContainer* pWindow, weld::Window* pParent, const SfxItemSet& rInAttrs ); + DataLabelResources(weld::Builder* pBuilder, weld::Window* pParent, const SfxItemSet& rInAttrs); ~DataLabelResources(); void FillItemSet(SfxItemSet* rOutAttrs) const; @@ -43,29 +43,6 @@ public: void SetNumberFormatter( SvNumberFormatter* pFormatter ); private: - VclPtr m_pCBNumber; - VclPtr m_pPB_NumberFormatForValue; - VclPtr m_pCBPercent; - VclPtr m_pPB_NumberFormatForPercent; - VclPtr m_pFT_NumberFormatForPercent; - VclPtr m_pCBCategory; - VclPtr m_pCBSymbol; - VclPtr m_pCBWrapText; - - VclPtr m_pSeparatorResources; - VclPtr m_pLB_Separator; - - VclPtr m_pBxLabelPlacement; - VclPtr m_pLB_LabelPlacement; - - VclPtr m_pBxOrientation; - VclPtr m_pDC_Dial; - VclPtr m_pFT_Dial; - VclPtr m_pNF_Degrees; - - VclPtr m_pBxTextDirection; - VclPtr m_pLB_TextDirection; - std::map< sal_Int32, sal_uInt16 > m_aPlacementToListBoxMap; std::map< sal_uInt16, sal_Int32 > m_aListBoxToPlacementMap; @@ -83,8 +60,34 @@ private: weld::Window* m_pWindow; SfxItemPool* m_pPool; - DECL_LINK(NumberFormatDialogHdl, Button *, void ); - DECL_LINK(CheckHdl, Button*, void ); + svx::SvxDialControl m_aDC_Dial; + + std::unique_ptr m_xCBNumber; + std::unique_ptr m_xPB_NumberFormatForValue; + std::unique_ptr m_xCBPercent; + std::unique_ptr m_xPB_NumberFormatForPercent; + std::unique_ptr m_xFT_NumberFormatForPercent; + std::unique_ptr m_xCBCategory; + std::unique_ptr m_xCBSymbol; + std::unique_ptr m_xCBWrapText; + + std::unique_ptr m_xSeparatorResources; + std::unique_ptr m_xLB_Separator; + + std::unique_ptr m_xBxLabelPlacement; + std::unique_ptr m_xLB_LabelPlacement; + + std::unique_ptr m_xBxOrientation; + std::unique_ptr m_xFT_Dial; + std::unique_ptr m_xNF_Degrees; + + std::unique_ptr m_xBxTextDirection; + + std::unique_ptr m_xLB_TextDirection; + std::unique_ptr m_xDC_Dial; + + DECL_LINK(NumberFormatDialogHdl, weld::Button&, void ); + DECL_LINK(CheckHdl, weld::ToggleButton&, void ); void EnableControls(); }; diff --git a/chart2/source/controller/dialogs/tp_DataLabel.cxx b/chart2/source/controller/dialogs/tp_DataLabel.cxx index 30d35707789b..7d189fad49ca 100644 --- a/chart2/source/controller/dialogs/tp_DataLabel.cxx +++ b/chart2/source/controller/dialogs/tp_DataLabel.cxx @@ -24,18 +24,15 @@ namespace chart { -DataLabelsTabPage::DataLabelsTabPage(vcl::Window* pWindow, const SfxItemSet& rInAttrs) - : SfxTabPage(pWindow - , "tp_DataLabel" - , "modules/schart/ui/tp_DataLabel.ui" - , &rInAttrs) - , m_aDataLabelResources(this, GetFrameWeld(), rInAttrs) +DataLabelsTabPage::DataLabelsTabPage(TabPageParent pWindow, const SfxItemSet& rInAttrs) + : SfxTabPage(pWindow , "modules/schart/ui/tp_DataLabel.ui", "tp_DataLabel", &rInAttrs) + , m_aDataLabelResources(m_xBuilder.get(), pWindow.GetFrameWeld(), rInAttrs) { } -VclPtr DataLabelsTabPage::Create(TabPageParent pWindow, const SfxItemSet* rOutAttrs) +VclPtr DataLabelsTabPage::Create(TabPageParent pParent, const SfxItemSet* rOutAttrs) { - return VclPtr::Create(pWindow.pParent, *rOutAttrs); + return VclPtr::Create(pParent, *rOutAttrs); } bool DataLabelsTabPage::FillItemSet(SfxItemSet* rOutAttrs) diff --git a/chart2/source/controller/dialogs/tp_DataLabel.hxx b/chart2/source/controller/dialogs/tp_DataLabel.hxx index 3abb43900c4d..48a7fbcaeeec 100644 --- a/chart2/source/controller/dialogs/tp_DataLabel.hxx +++ b/chart2/source/controller/dialogs/tp_DataLabel.hxx @@ -30,7 +30,7 @@ namespace chart class DataLabelsTabPage : public SfxTabPage { public: - DataLabelsTabPage(vcl::Window* pWindow, const SfxItemSet& rInAttrs); + DataLabelsTabPage(TabPageParent pWindow, const SfxItemSet& rInAttrs); static VclPtr Create(TabPageParent pWindow, const SfxItemSet* rInAttrs); diff --git a/chart2/source/controller/inc/TextDirectionListBox.hxx b/chart2/source/controller/inc/TextDirectionListBox.hxx index c3054072f1d3..e04fcca15718 100644 --- a/chart2/source/controller/inc/TextDirectionListBox.hxx +++ b/chart2/source/controller/inc/TextDirectionListBox.hxx @@ -33,6 +33,13 @@ public: explicit TextDirectionListBox( vcl::Window* pParent ); }; +class SchTextDirectionListBox : public svx::SvxFrameDirectionListBox +{ +public: + explicit SchTextDirectionListBox(std::unique_ptr pControl); +}; + + } //namespace chart #endif diff --git a/chart2/source/controller/inc/dlg_InsertDataLabel.hxx b/chart2/source/controller/inc/dlg_InsertDataLabel.hxx index 30040f03409d..a16815b7a379 100644 --- a/chart2/source/controller/inc/dlg_InsertDataLabel.hxx +++ b/chart2/source/controller/inc/dlg_InsertDataLabel.hxx @@ -19,7 +19,7 @@ #ifndef INCLUDED_CHART2_SOURCE_CONTROLLER_INC_DLG_INSERTDATALABEL_HXX #define INCLUDED_CHART2_SOURCE_CONTROLLER_INC_DLG_INSERTDATALABEL_HXX -#include +#include #include #include @@ -29,16 +29,13 @@ namespace chart { class DataLabelResources; -class DataLabelsDialog : public ModalDialog +class DataLabelsDialog : public weld::GenericDialogController { private: -// OKButton m_aBtnOK; -// CancelButton m_aBtnCancel; -// HelpButton m_aBtnHelp; - std::unique_ptr < DataLabelResources > m_apDataLabelResources; + std::unique_ptr m_apDataLabelResources; public: - DataLabelsDialog(vcl::Window* pParent, const SfxItemSet& rInAttrs, SvNumberFormatter* pFormatter); + DataLabelsDialog(weld::Window* pParent, const SfxItemSet& rInAttrs, SvNumberFormatter* pFormatter); virtual ~DataLabelsDialog() override; void FillItemSet(SfxItemSet& rOutAttrs); diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx index a998d18453d1..b644e04cb8e9 100644 --- a/chart2/source/controller/main/ChartController_Insert.cxx +++ b/chart2/source/controller/main/ChartController_Insert.cxx @@ -284,12 +284,12 @@ void ChartController::executeDispatch_InsertMenu_DataLabels() NumberFormatterWrapper aNumberFormatterWrapper( xNumberFormatsSupplier ); SvNumberFormatter* pNumberFormatter = aNumberFormatterWrapper.getSvNumberFormatter(); - ScopedVclPtrInstance< DataLabelsDialog > aDlg( GetChartWindow(), aItemSet, pNumberFormatter); + DataLabelsDialog aDlg(GetChartFrame(), aItemSet, pNumberFormatter); - if( aDlg->Execute() == RET_OK ) + if (aDlg.run() == RET_OK) { SfxItemSet aOutItemSet = aItemConverter.CreateEmptyItemSet(); - aDlg->FillItemSet( aOutItemSet ); + aDlg.FillItemSet(aOutItemSet); // lock controllers till end of block ControllerLockGuardUNO aCLGuard( getModel() ); bool bChanged = aItemConverter.ApplyItemSet( aOutItemSet );//model should be changed now diff --git a/chart2/uiconfig/ui/dlg_DataLabel.ui b/chart2/uiconfig/ui/dlg_DataLabel.ui index 3cf3618e0aff..ad6424771569 100644 --- a/chart2/uiconfig/ui/dlg_DataLabel.ui +++ b/chart2/uiconfig/ui/dlg_DataLabel.ui @@ -1,106 +1,20 @@ - + - 359 1 10 - - - - - - - - - - Best fit - 0 - - - Center - 1 - - - Above - 2 - - - Top left - 3 - - - Left - 4 - - - Bottom left - 5 - - - Below - 6 - - - Bottom right - 7 - - - Right - 8 - - - Top right - 9 - - - Inside - 10 - - - Outside - 11 - - - Near origin - 12 - - - - - - - - - - - - - Space - 0 - - - Comma - 1 - - - Semicolon - 2 - - - New line - 3 - - - False 6 Data Labels for all Data Series dialog + + + False @@ -193,7 +107,7 @@ Show value as _number True - False + True False True 0 @@ -208,7 +122,7 @@ Show value as _percentage True - False + True False True 0 @@ -223,7 +137,7 @@ Show _category True - False + True False True 0 @@ -238,7 +152,7 @@ Show _legend key True - False + True False True 0 @@ -253,7 +167,7 @@ Auto text _wrap True - False + True False True 0 @@ -268,7 +182,7 @@ Number _format... True - False + True True center True @@ -282,7 +196,7 @@ Percentage f_ormat... True - False + True True center True @@ -315,10 +229,10 @@ True False - 0 _Separator True LB_TEXT_SEPARATOR + 0 False @@ -327,11 +241,16 @@ - + True False center - liststoreSEPARATOR + + Space + Comma + Semicolon + New line + False @@ -355,10 +274,10 @@ True False - 0 Place_ment True LB_LABEL_PLACEMENT + 0 False @@ -367,11 +286,25 @@ - + True False center - liststorePLACEMENT + + Best fit + Center + Above + Top left + Left + Bottom left + Below + Bottom right + Right + Top right + Inside + Outside + Near origin + False @@ -396,6 +329,9 @@ 2 + + + @@ -404,8 +340,8 @@ True False - 0 Text Attributes + 0 @@ -442,9 +378,25 @@ False 12 - + True - False + True + never + never + in + + + True + False + + + True + True + GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_STRUCTURE_MASK + + + + False @@ -455,8 +407,9 @@ True - False + True center + True adjustmentDEGREE True @@ -506,9 +459,10 @@ - + True False + True False @@ -531,8 +485,8 @@ True False - 0 Rotate Text + 0 diff --git a/chart2/uiconfig/ui/tp_DataLabel.ui b/chart2/uiconfig/ui/tp_DataLabel.ui index bc884d204f2d..f5de4af731a1 100644 --- a/chart2/uiconfig/ui/tp_DataLabel.ui +++ b/chart2/uiconfig/ui/tp_DataLabel.ui @@ -1,101 +1,12 @@ - + - 359 1 10 - - - - - - - - - - Best fit - 0 - - - Center - 1 - - - Above - 2 - - - Top left - 3 - - - Left - 4 - - - Bottom left - 5 - - - Below - 6 - - - Bottom right - 7 - - - Right - 8 - - - Top right - 9 - - - Inside - 10 - - - Outside - 11 - - - Near origin - 12 - - - - - - - - - - - - - Space - 0 - - - Comma - 1 - - - Semicolon - 2 - - - New line - 3 - - - True False @@ -125,7 +36,7 @@ Show value as _number True - False + True False True 0 @@ -134,15 +45,13 @@ 0 0 - 1 - 1 Show value as _percentage True - False + True False True 0 @@ -151,15 +60,13 @@ 0 1 - 1 - 1 Show _category True - False + True False True 0 @@ -168,15 +75,13 @@ 0 2 - 1 - 1 Show _legend key True - False + True False True 0 @@ -185,15 +90,13 @@ 0 3 - 1 - 1 Auto text _wrap True - False + True False True 0 @@ -202,15 +105,13 @@ 0 4 - 1 - 1 Number _format... True - False + True True center True @@ -218,15 +119,13 @@ 1 0 - 1 - 1 Percentage f_ormat... True - False + True True center True @@ -234,8 +133,6 @@ 1 1 - 1 - 1 @@ -250,8 +147,6 @@ 1 3 - 1 - 1 @@ -263,10 +158,10 @@ True False - 0 _Separator True LB_TEXT_SEPARATOR + 0 False @@ -275,11 +170,16 @@ - + True False center - liststoreSEPARATOR + + Space + Comma + Semicolon + New line + False @@ -292,7 +192,6 @@ 0 5 2 - 1 @@ -304,10 +203,10 @@ True False - 0 Place_ment True LB_LABEL_PLACEMENT + 0 False @@ -316,11 +215,25 @@ - + True False center - liststorePLACEMENT + + Best fit + Center + Above + Top left + Left + Bottom left + Below + Bottom right + Right + Top right + Inside + Outside + Near origin + False @@ -333,7 +246,6 @@ 0 6 2 - 1 @@ -344,10 +256,11 @@ 1 2 - 1 - 1 + + + @@ -356,8 +269,8 @@ True False - 0 Text Attributes + 0 @@ -394,9 +307,25 @@ False 12 - + True - False + True + never + never + in + + + True + False + + + True + True + GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_STRUCTURE_MASK + + + + False @@ -407,8 +336,9 @@ True - False + True center + True adjustmentDEGREE True @@ -458,9 +388,10 @@ - + True False + True False @@ -483,8 +414,8 @@ True False - 0 Rotate Text + 0 -- cgit v1.2.3