diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-12-10 16:14:25 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-12-11 14:17:53 +0100 |
commit | 2579895f2c18fd7d606715f91b1463900f6d6937 (patch) | |
tree | c264aaa33baf77807523cd76316f70b8f6d46a98 /sc | |
parent | d87f6fd46dcb4f1e043877014330c11084c43c4e (diff) |
Related: tdf#129300 add ScVerticalStackCell to provide a description
Change-Id: I8ed99f19ff6f4751c0867147fc1a60ac917f083b
Reviewed-on: https://gerrit.libreoffice.org/84876
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/inc/attrib.hxx | 12 | ||||
-rw-r--r-- | sc/inc/globstr.hrc | 2 | ||||
-rw-r--r-- | sc/qa/extras/anchor.cxx | 1 | ||||
-rw-r--r-- | sc/source/core/data/attrib.cxx | 20 | ||||
-rw-r--r-- | sc/source/core/data/docpool.cxx | 2 | ||||
-rw-r--r-- | sc/source/core/tool/autoform.cxx | 2 | ||||
-rw-r--r-- | sc/source/filter/excel/xistyle.cxx | 2 | ||||
-rw-r--r-- | sc/source/filter/oox/stylesbuffer.cxx | 2 | ||||
-rw-r--r-- | sc/source/ui/unoobj/afmtuno.cxx | 10 | ||||
-rw-r--r-- | sc/source/ui/unoobj/cellsuno.cxx | 10 | ||||
-rw-r--r-- | sc/source/ui/unoobj/styleuno.cxx | 10 | ||||
-rw-r--r-- | sc/source/ui/view/formatsh.cxx | 2 |
12 files changed, 55 insertions, 20 deletions
diff --git a/sc/inc/attrib.hxx b/sc/inc/attrib.hxx index a19a3ec0952d..9b6a6b956320 100644 --- a/sc/inc/attrib.hxx +++ b/sc/inc/attrib.hxx @@ -309,6 +309,18 @@ public: const IntlWrapper& rIntl) const override; }; +class SC_DLLPUBLIC ScVerticalStackCell final : public SfxBoolItem +{ +public: + ScVerticalStackCell(bool bStack = false); + virtual ScVerticalStackCell* Clone(SfxItemPool *pPool = nullptr) const override; + virtual bool GetPresentation(SfxItemPresentation ePres, + MapUnit eCoreMetric, + MapUnit ePresMetric, + OUString &rText, + const IntlWrapper& rIntl) const override; +}; + #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/globstr.hrc b/sc/inc/globstr.hrc index 4582d832cfb2..ceedfbebcd35 100644 --- a/sc/inc/globstr.hrc +++ b/sc/inc/globstr.hrc @@ -517,6 +517,8 @@ #define STR_TEXTORIENTANGLE NC_("STR_TEXTORIENTANGLE", "Text orientation angle") #define STR_SHRINKTOFITCELL_ON NC_("STR_SHRINKTOFITCELL_ON", "Shrink to fit cell: On") #define STR_SHRINKTOFITCELL_OFF NC_("STR_SHRINKTOFITCELL_OFF", "Shrink to fit cell: Off") +#define STR_VERTICALSTACKCELL_ON NC_("STR_VERTICALSTACKCELL_ON", "Vertically stacked: On") +#define STR_VERTICALSTACKCELL_OFF NC_("STR_VERTICALSTACKCELL_OFF", "Vertically stacked: Off") #endif diff --git a/sc/qa/extras/anchor.cxx b/sc/qa/extras/anchor.cxx index c003c09d8084..5d759afa9293 100644 --- a/sc/qa/extras/anchor.cxx +++ b/sc/qa/extras/anchor.cxx @@ -16,6 +16,7 @@ #include <com/sun/star/sheet/XSpreadsheetDocument.hpp> #include <com/sun/star/text/XText.hpp> +#include <attrib.hxx> #include <docsh.hxx> #include <drwlayer.hxx> #include <scitems.hxx> diff --git a/sc/source/core/data/attrib.cxx b/sc/source/core/data/attrib.cxx index 4cbd076b4423..24d1a0901a26 100644 --- a/sc/source/core/data/attrib.cxx +++ b/sc/source/core/data/attrib.cxx @@ -768,4 +768,24 @@ bool ScShrinkToFitCell::GetPresentation(SfxItemPresentation, return true; } +ScVerticalStackCell::ScVerticalStackCell(bool bStack) + : SfxBoolItem(ATTR_STACKED, bStack) +{ +} + +ScVerticalStackCell* ScVerticalStackCell::Clone(SfxItemPool*) const +{ + return new ScVerticalStackCell(GetValue()); +} + +bool ScVerticalStackCell::GetPresentation(SfxItemPresentation, + MapUnit, MapUnit, + OUString& rText, + const IntlWrapper&) const +{ + const char* pId = GetValue() ? STR_VERTICALSTACKCELL_ON : STR_VERTICALSTACKCELL_OFF; + rText = ScResId(pId); + return true; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/core/data/docpool.cxx b/sc/source/core/data/docpool.cxx index d5d6918587ed..e379f75b1d16 100644 --- a/sc/source/core/data/docpool.cxx +++ b/sc/source/core/data/docpool.cxx @@ -249,7 +249,7 @@ ScDocumentPool::ScDocumentPool() mvPoolDefaults[ ATTR_INDENT - ATTR_STARTINDEX ] = new SfxUInt16Item( ATTR_INDENT, 0 ); mvPoolDefaults[ ATTR_VER_JUSTIFY - ATTR_STARTINDEX ] = new SvxVerJustifyItem( SvxCellVerJustify::Standard, ATTR_VER_JUSTIFY); mvPoolDefaults[ ATTR_VER_JUSTIFY_METHOD - ATTR_STARTINDEX ] = new SvxJustifyMethodItem( SvxCellJustifyMethod::Auto, ATTR_VER_JUSTIFY_METHOD); - mvPoolDefaults[ ATTR_STACKED - ATTR_STARTINDEX ] = new SfxBoolItem( ATTR_STACKED, false ); + mvPoolDefaults[ ATTR_STACKED - ATTR_STARTINDEX ] = new ScVerticalStackCell(false); mvPoolDefaults[ ATTR_ROTATE_VALUE - ATTR_STARTINDEX ] = new ScRotateValueItem( 0 ); mvPoolDefaults[ ATTR_ROTATE_MODE - ATTR_STARTINDEX ] = new SvxRotateModeItem( SVX_ROTATE_MODE_BOTTOM, ATTR_ROTATE_MODE ); mvPoolDefaults[ ATTR_VERTICAL_ASIAN - ATTR_STARTINDEX ] = new SfxBoolItem( ATTR_VERTICAL_ASIAN ); diff --git a/sc/source/core/tool/autoform.cxx b/sc/source/core/tool/autoform.cxx index 63ae9fd8e956..d5f290ecff84 100644 --- a/sc/source/core/tool/autoform.cxx +++ b/sc/source/core/tool/autoform.cxx @@ -369,7 +369,7 @@ void ScAutoFormatData::PutItem( sal_uInt16 nIndex, const SfxPoolItem& rItem ) case ATTR_BACKGROUND: rField.SetBackground( static_cast<const SvxBrushItem&>(rItem) ); break; case ATTR_HOR_JUSTIFY: rField.SetHorJustify( static_cast<const SvxHorJustifyItem&>(rItem) ); break; case ATTR_VER_JUSTIFY: rField.SetVerJustify( static_cast<const SvxVerJustifyItem&>(rItem) ); break; - case ATTR_STACKED: rField.SetStacked( static_cast<const SfxBoolItem&>(rItem) ); break; + case ATTR_STACKED: rField.SetStacked( static_cast<const ScVerticalStackCell&>(rItem) ); break; case ATTR_MARGIN: rField.SetMargin( static_cast<const SvxMarginItem&>(rItem) ); break; case ATTR_LINEBREAK: rField.SetLinebreak( static_cast<const SfxBoolItem&>(rItem) ); break; case ATTR_ROTATE_VALUE: rField.SetRotateAngle( static_cast<const ScRotateValueItem&>(rItem) ); break; diff --git a/sc/source/filter/excel/xistyle.cxx b/sc/source/filter/excel/xistyle.cxx index 6d97fa2bdbfc..00320dd2c3a6 100644 --- a/sc/source/filter/excel/xistyle.cxx +++ b/sc/source/filter/excel/xistyle.cxx @@ -830,7 +830,7 @@ void XclImpCellAlign::FillToItemSet( SfxItemSet& rItemSet, const XclImpFont* pFo // text orientation/rotation (BIFF2-BIFF7 sets mnOrient) sal_uInt8 nXclRot = (mnOrient == EXC_ORIENT_NONE) ? mnRotation : XclTools::GetXclRotFromOrient( mnOrient ); bool bStacked = (nXclRot == EXC_ROT_STACKED); - ScfTools::PutItem( rItemSet, SfxBoolItem( ATTR_STACKED, bStacked ), bSkipPoolDefs ); + ScfTools::PutItem( rItemSet, ScShrinkToFitCell( bStacked ), bSkipPoolDefs ); // set an angle in the range from -90 to 90 degrees sal_Int32 nAngle = XclTools::GetScRotation( nXclRot, 0 ); ScfTools::PutItem( rItemSet, ScRotateValueItem( nAngle ), bSkipPoolDefs ); diff --git a/sc/source/filter/oox/stylesbuffer.cxx b/sc/source/filter/oox/stylesbuffer.cxx index e600c7f7ef33..378ae7c2dcf1 100644 --- a/sc/source/filter/oox/stylesbuffer.cxx +++ b/sc/source/filter/oox/stylesbuffer.cxx @@ -1297,7 +1297,7 @@ void Alignment::fillToItemSet( SfxItemSet& rItemSet, bool bSkipPoolDefs ) const // set an angle in the range from -90 to 90 degrees ScfTools::PutItem( rItemSet, ScRotateValueItem( maApiData.mnRotation ), bSkipPoolDefs ); // Orientation - ScfTools::PutItem( rItemSet, SfxBoolItem( ATTR_STACKED, maApiData.meOrientation == css::table::CellOrientation_STACKED ), bSkipPoolDefs ); + ScfTools::PutItem( rItemSet, ScVerticalStackCell( maApiData.meOrientation == css::table::CellOrientation_STACKED ), bSkipPoolDefs ); // indent ScfTools::PutItem( rItemSet, SfxUInt16Item( ATTR_INDENT, maApiData.mnIndent ), bSkipPoolDefs ); // line wrap diff --git a/sc/source/ui/unoobj/afmtuno.cxx b/sc/source/ui/unoobj/afmtuno.cxx index 0bd7b7baf669..1c637d2cd480 100644 --- a/sc/source/ui/unoobj/afmtuno.cxx +++ b/sc/source/ui/unoobj/afmtuno.cxx @@ -592,18 +592,18 @@ void SAL_CALL ScAutoFormatFieldObj::setPropertyValue( switch( eOrient ) { case table::CellOrientation_STANDARD: - pData->PutItem( nFieldIndex, SfxBoolItem( ATTR_STACKED, false ) ); + pData->PutItem( nFieldIndex, ScVerticalStackCell( false ) ); break; case table::CellOrientation_TOPBOTTOM: - pData->PutItem( nFieldIndex, SfxBoolItem( ATTR_STACKED, false ) ); + pData->PutItem( nFieldIndex, ScVerticalStackCell( false ) ); pData->PutItem( nFieldIndex, ScRotateValueItem( 27000 ) ); break; case table::CellOrientation_BOTTOMTOP: - pData->PutItem( nFieldIndex, SfxBoolItem( ATTR_STACKED, false ) ); + pData->PutItem( nFieldIndex, ScVerticalStackCell( false ) ); pData->PutItem( nFieldIndex, ScRotateValueItem( 9000 ) ); break; case table::CellOrientation_STACKED: - pData->PutItem( nFieldIndex, SfxBoolItem( ATTR_STACKED, true ) ); + pData->PutItem( nFieldIndex, ScVerticalStackCell( true ) ); break; default: { @@ -688,7 +688,7 @@ uno::Any SAL_CALL ScAutoFormatFieldObj::getPropertyValue( const OUString& aPrope { const ScRotateValueItem* pRotItem = pData->GetItem( nFieldIndex, ATTR_ROTATE_VALUE ); sal_Int32 nRot = pRotItem ? pRotItem->GetValue() : 0; - bool bStacked = static_cast<const SfxBoolItem*>(pItem)->GetValue(); + bool bStacked = static_cast<const ScVerticalStackCell*>(pItem)->GetValue(); SvxOrientationItem( nRot, bStacked, 0 ).QueryValue( aVal ); } break; diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx index 676ab2bd4fe6..a5ffd152b5e0 100644 --- a/sc/source/ui/unoobj/cellsuno.cxx +++ b/sc/source/ui/unoobj/cellsuno.cxx @@ -2124,20 +2124,20 @@ static void lcl_SetCellProperty( const SfxItemPropertySimpleEntry& rEntry, const switch( eOrient ) { case table::CellOrientation_STANDARD: - rSet.Put( SfxBoolItem( ATTR_STACKED, false ) ); + rSet.Put( ScVerticalStackCell( false ) ); break; case table::CellOrientation_TOPBOTTOM: - rSet.Put( SfxBoolItem( ATTR_STACKED, false ) ); + rSet.Put( ScVerticalStackCell( false ) ); rSet.Put( ScRotateValueItem( 27000 ) ); rSecondItemId = ATTR_ROTATE_VALUE; break; case table::CellOrientation_BOTTOMTOP: - rSet.Put( SfxBoolItem( ATTR_STACKED, false ) ); + rSet.Put( ScVerticalStackCell( false ) ); rSet.Put( ScRotateValueItem( 9000 ) ); rSecondItemId = ATTR_ROTATE_VALUE; break; case table::CellOrientation_STACKED: - rSet.Put( SfxBoolItem( ATTR_STACKED, true ) ); + rSet.Put( ScVerticalStackCell( true ) ); break; default: { @@ -2415,7 +2415,7 @@ void ScCellRangesBase::GetOnePropertyValue( const SfxItemPropertySimpleEntry* pE case ATTR_STACKED: { sal_Int32 nRot = pDataSet->Get(ATTR_ROTATE_VALUE).GetValue(); - bool bStacked = static_cast<const SfxBoolItem&>(pDataSet->Get(pEntry->nWID)).GetValue(); + bool bStacked = static_cast<const ScVerticalStackCell&>(pDataSet->Get(pEntry->nWID)).GetValue(); SvxOrientationItem( nRot, bStacked, 0 ).QueryValue( rAny ); } break; diff --git a/sc/source/ui/unoobj/styleuno.cxx b/sc/source/ui/unoobj/styleuno.cxx index 493c77c84781..37af7b737f8b 100644 --- a/sc/source/ui/unoobj/styleuno.cxx +++ b/sc/source/ui/unoobj/styleuno.cxx @@ -1545,18 +1545,18 @@ void ScStyleObj::setPropertyValue_Impl( const OUString& rPropertyName, const Sfx switch (eOrient) { case table::CellOrientation_STANDARD: - rSet.Put(SfxBoolItem(ATTR_STACKED, false)); + rSet.Put(ScVerticalStackCell(false)); break; case table::CellOrientation_TOPBOTTOM: - rSet.Put(SfxBoolItem(ATTR_STACKED, false)); + rSet.Put(ScVerticalStackCell(false)); rSet.Put(ScRotateValueItem(27000)); break; case table::CellOrientation_BOTTOMTOP: - rSet.Put(SfxBoolItem(ATTR_STACKED, false)); + rSet.Put(ScVerticalStackCell(false)); rSet.Put(ScRotateValueItem(9000)); break; case table::CellOrientation_STACKED: - rSet.Put(SfxBoolItem(ATTR_STACKED, true)); + rSet.Put(ScVerticalStackCell(true)); break; default: { @@ -1795,7 +1795,7 @@ uno::Any ScStyleObj::getPropertyValue_Impl( const OUString& aPropertyName ) case ATTR_STACKED: { sal_Int32 nRot = pItemSet->Get(ATTR_ROTATE_VALUE).GetValue(); - bool bStacked = static_cast<const SfxBoolItem&>(pItemSet->Get(nWhich)).GetValue(); + bool bStacked = static_cast<const ScVerticalStackCell&>(pItemSet->Get(nWhich)).GetValue(); SvxOrientationItem( nRot, bStacked, 0 ).QueryValue( aAny ); } break; diff --git a/sc/source/ui/view/formatsh.cxx b/sc/source/ui/view/formatsh.cxx index 3460d6e3d927..28fe4e829ee2 100644 --- a/sc/source/ui/view/formatsh.cxx +++ b/sc/source/ui/view/formatsh.cxx @@ -2688,7 +2688,7 @@ void ScFormatShell::ExecuteTextDirection( const SfxRequest& rReq ) bool bVert = (nSlot == SID_TEXTDIRECTION_TOP_TO_BOTTOM); ScPatternAttr aAttr( GetViewData()->GetDocument()->GetPool() ); SfxItemSet& rItemSet = aAttr.GetItemSet(); - rItemSet.Put( SfxBoolItem( ATTR_STACKED, bVert ) ); + rItemSet.Put( ScVerticalStackCell( bVert ) ); rItemSet.Put( SfxBoolItem( ATTR_VERTICAL_ASIAN, bVert ) ); pTabViewShell->ApplySelectionPattern( aAttr ); pTabViewShell->AdjustBlockHeight(); |