diff options
author | Marco Cecchetti <marco.cecchetti@collabora.com> | 2015-07-19 18:18:00 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2015-09-09 07:41:51 +0000 |
commit | 9ed1dd01be8afa0961e388a79e9ff4c1235820c2 (patch) | |
tree | 366cad6bae91e791be462e4c03f499ab0ba3e2f2 /chart2/source/controller/dialogs | |
parent | 79bc956e7f44b762bfd6560e5a9c9812fa3dcf4d (diff) |
tdf#90839: support for wrapped text in data labels and for centered data value
Now in a pie chart the text of a label can be wrapped, the wrapping is
automatic and the maximum text width is fixed to almost half the pie
radius. This feature is used to import correctly the relative text
wrapping property provided by MSO.
Moreover the data value and percent value of a label are now centered
horizontally, respect with the label text.
Conflicts:
chart2/qa/extras/xshape/chart2xshape.cxx
Change-Id: Ie10d6184365436f763cd9693a5bbefcfa9b3862b
Reviewed-on: https://gerrit.libreoffice.org/17193
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'chart2/source/controller/dialogs')
-rw-r--r-- | chart2/source/controller/dialogs/res_DataLabel.cxx | 8 | ||||
-rw-r--r-- | chart2/source/controller/dialogs/res_DataLabel.hxx | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/chart2/source/controller/dialogs/res_DataLabel.cxx b/chart2/source/controller/dialogs/res_DataLabel.cxx index 0c532e081d9f..591b8fa3bf51 100644 --- a/chart2/source/controller/dialogs/res_DataLabel.cxx +++ b/chart2/source/controller/dialogs/res_DataLabel.cxx @@ -105,6 +105,7 @@ DataLabelResources::DataLabelResources(VclBuilderContainer* pWindow, vcl::Window 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"); @@ -155,6 +156,7 @@ DataLabelResources::DataLabelResources(VclBuilderContainer* pWindow, vcl::Window 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_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); @@ -238,6 +240,9 @@ void DataLabelResources::EnableControls() m_pCBSymbol->Enable( m_pCBNumber->IsChecked() || (m_pCBPercent->IsChecked() && m_pCBPercent->IsEnabled()) || m_pCBCategory->IsChecked() ); + m_pCBWrapText->Enable( m_pCBNumber->IsChecked() || (m_pCBPercent->IsChecked() && m_pCBPercent->IsEnabled()) + || m_pCBCategory->IsChecked() ); + // Enable or disable separator, placement and direction based on the check // box states. Note that the check boxes are tri-state. { @@ -289,6 +294,8 @@ bool DataLabelResources::FillItemSet( SfxItemSet* rOutAttrs ) const 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_pCBSymbol->GetState()!= TRISTATE_INDET ) + rOutAttrs->Put( SfxBoolItem( SCHATTR_DATADESCR_WRAP_TEXT, m_pCBWrapText->IsChecked()) ); OUString aSep = m_aEntryMap[m_pLB_Separator->GetSelectEntryPos()]; rOutAttrs->Put( SfxStringItem( SCHATTR_DATADESCR_SEPARATOR, aSep) ); @@ -321,6 +328,7 @@ void DataLabelResources::Reset(const SfxItemSet& rInAttrs) 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 ); 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); diff --git a/chart2/source/controller/dialogs/res_DataLabel.hxx b/chart2/source/controller/dialogs/res_DataLabel.hxx index acfc93a30dde..e716320072dc 100644 --- a/chart2/source/controller/dialogs/res_DataLabel.hxx +++ b/chart2/source/controller/dialogs/res_DataLabel.hxx @@ -52,6 +52,7 @@ private: VclPtr<FixedText> m_pFT_NumberFormatForPercent; VclPtr<CheckBox> m_pCBCategory; VclPtr<CheckBox> m_pCBSymbol; + VclPtr<CheckBox> m_pCBWrapText; VclPtr<VclHBox> m_pSeparatorResources; VclPtr<ListBox> m_pLB_Separator; |