Kaydet (Commit) 1a25d464 authored tarafından Markus Mohrhard's avatar Markus Mohrhard

remaining places in calc core are adapted to overlapping cond formats

Change-Id: I096623d3c531d21eca2f5be29f22a1677a738b0d
üst 3cb337fd
...@@ -297,7 +297,7 @@ void ScAttrArray::AddCondFormat( SCROW nStartRow, SCROW nEndRow, sal_uInt32 nInd ...@@ -297,7 +297,7 @@ void ScAttrArray::AddCondFormat( SCROW nStartRow, SCROW nEndRow, sal_uInt32 nInd
nTempEndRow = std::min<SCROW>( nPatternEndRow, nEndRow ); nTempEndRow = std::min<SCROW>( nPatternEndRow, nEndRow );
const SfxPoolItem* pItem = NULL; const SfxPoolItem* pItem = NULL;
SfxItemState eState = pPattern->GetItemSet().GetItemState( ATTR_CONDITIONAL, true, &pItem ); pPattern->GetItemSet().GetItemState( ATTR_CONDITIONAL, true, &pItem );
std::vector< sal_uInt32 > aCondFormatData; std::vector< sal_uInt32 > aCondFormatData;
if(pItem) if(pItem)
aCondFormatData = static_cast<const ScCondFormatItem*>(pItem)->GetCondFormatData(); aCondFormatData = static_cast<const ScCondFormatItem*>(pItem)->GetCondFormatData();
...@@ -1229,9 +1229,9 @@ bool ScAttrArray::HasAttrib( SCROW nRow1, SCROW nRow2, sal_uInt16 nMask ) const ...@@ -1229,9 +1229,9 @@ bool ScAttrArray::HasAttrib( SCROW nRow1, SCROW nRow2, sal_uInt16 nMask ) const
} }
if ( nMask & HASATTR_CONDITIONAL ) if ( nMask & HASATTR_CONDITIONAL )
{ {
const SfxUInt32Item* pConditional = bool bContainsCondFormat =
(const SfxUInt32Item*) &pPattern->GetItem( ATTR_CONDITIONAL ); !static_cast<const ScCondFormatItem&>(pPattern->GetItem( ATTR_CONDITIONAL )).GetCondFormatData().empty();
if ( pConditional->GetValue() != 0 ) if ( bContainsCondFormat )
bFound = true; bFound = true;
} }
if ( nMask & HASATTR_PROTECTED ) if ( nMask & HASATTR_PROTECTED )
...@@ -1242,9 +1242,9 @@ bool ScAttrArray::HasAttrib( SCROW nRow1, SCROW nRow2, sal_uInt16 nMask ) const ...@@ -1242,9 +1242,9 @@ bool ScAttrArray::HasAttrib( SCROW nRow1, SCROW nRow2, sal_uInt16 nMask ) const
if ( pProtect->GetProtection() || pProtect->GetHideCell() ) if ( pProtect->GetProtection() || pProtect->GetHideCell() )
bFoundTemp = true; bFoundTemp = true;
const SfxUInt32Item* pConditional = bool bContainsCondFormat =
(const SfxUInt32Item*) &pPattern->GetItem( ATTR_CONDITIONAL ); !static_cast<const ScCondFormatItem&>(pPattern->GetItem( ATTR_CONDITIONAL )).GetCondFormatData().empty();
if ( pConditional->GetValue() != 0 ) if ( bContainsCondFormat )
{ {
SCROW nRowStartCond = std::max<SCROW>( nRow1, i ? pData[i-1].nRow + 1: 0 ); SCROW nRowStartCond = std::max<SCROW>( nRow1, i ? pData[i-1].nRow + 1: 0 );
SCROW nRowEndCond = std::min<SCROW>( nRow2, pData[i].nRow ); SCROW nRowEndCond = std::min<SCROW>( nRow2, pData[i].nRow );
......
...@@ -126,9 +126,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev, ...@@ -126,9 +126,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev,
} }
// bedingte Formatierung // bedingte Formatierung
const SfxItemSet* pCondSet = NULL; const SfxItemSet* pCondSet = pDocument->GetCondResult( nCol, nRow, nTab );
if ( ((const SfxUInt32Item&)pPattern->GetItem(ATTR_CONDITIONAL)).GetValue() )
pCondSet = pDocument->GetCondResult( nCol, nRow, nTab );
// Zeilenumbruch? // Zeilenumbruch?
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment