summaryrefslogtreecommitdiff
path: root/sc/source/ui/view/output.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/view/output.cxx')
-rw-r--r--sc/source/ui/view/output.cxx53
1 files changed, 25 insertions, 28 deletions
diff --git a/sc/source/ui/view/output.cxx b/sc/source/ui/view/output.cxx
index 265e54fe0e12..961572fc0185 100644
--- a/sc/source/ui/view/output.cxx
+++ b/sc/source/ui/view/output.cxx
@@ -322,8 +322,9 @@ void ScOutputData::DrawGrid( BOOL bGrid, BOOL bPage )
long nPosX;
long nPosY;
SCSIZE nArrY;
- BYTE nOldFlags = 0;
- BYTE nFlags;
+ ScBreakType nBreak = BREAK_NONE;
+ ScBreakType nBreakOld = BREAK_NONE;
+
BOOL bSingle;
Color aPageColor;
Color aManualColor;
@@ -378,27 +379,27 @@ void ScOutputData::DrawGrid( BOOL bGrid, BOOL bPage )
if ( bPage )
{
// Seitenumbrueche auch in ausgeblendeten suchen
- nFlags = 0;
SCCOL nCol = nXplus1;
while (nCol <= MAXCOL)
{
- BYTE nDocFl = pDoc->GetColFlags( nCol, nTab );
- nFlags = nDocFl & ( CR_PAGEBREAK | CR_MANUALBREAK );
- if ( nFlags || !(nDocFl & CR_HIDDEN) )
+ nBreak = pDoc->HasColBreak(nCol, nTab);
+ bool bHidden = pDoc->ColHidden(nCol, nTab);
+
+ if ( nBreak || !bHidden )
break;
++nCol;
}
- if (nFlags != nOldFlags)
+ if (nBreak != nBreakOld)
{
aGrid.Flush();
- pDev->SetLineColor( (nFlags & CR_MANUALBREAK) ? aManualColor :
- (nFlags) ? aPageColor : aGridColor );
- nOldFlags = nFlags;
+ pDev->SetLineColor( (nBreak & BREAK_MANUAL) ? aManualColor :
+ nBreak ? aPageColor : aGridColor );
+ nBreakOld = nBreak;
}
}
- BOOL bDraw = bGrid || nOldFlags; // einfaches Gitter nur wenn eingestellt
+ BOOL bDraw = bGrid || nBreakOld; // einfaches Gitter nur wenn eingestellt
//! Mit dieser Abfrage wird zuviel weggelassen, wenn ein automatischer
//! Umbruch mitten in den Wiederholungsspalten liegt.
@@ -409,7 +410,7 @@ void ScOutputData::DrawGrid( BOOL bGrid, BOOL bPage )
{
if ( nX == MAXCOL )
bDraw = FALSE;
- else if (pDoc->GetColFlags(nXplus1,nTab) & ( CR_PAGEBREAK | CR_MANUALBREAK ))
+ else if (pDoc->HasColBreak(nXplus1, nTab))
bDraw = FALSE;
}
#endif
@@ -500,28 +501,24 @@ void ScOutputData::DrawGrid( BOOL bGrid, BOOL bPage )
{
if ( bPage )
{
- // Seitenumbrueche auch in ausgeblendeten suchen
- nFlags = 0;
- ScCompressedArrayIterator< SCROW, BYTE > aIter(
- pDoc->GetRowFlagsArray( nTab), nYplus1, MAXROW);
- do
+ for (SCROW i = nYplus1; i <= MAXROW; ++i)
{
- BYTE nDocFl = *aIter;
- nFlags = nDocFl & ( CR_PAGEBREAK | CR_MANUALBREAK );
- if ( nFlags || !(nDocFl & CR_HIDDEN) )
+ nBreak = pDoc->HasRowBreak(i, nTab);
+ bool bHidden = pDoc->RowHidden(i, nTab);
+ if (nBreak || !bHidden)
break;
- } while (aIter.NextRange());
+ }
- if (nFlags != nOldFlags)
+ if (nBreakOld != nBreak)
{
aGrid.Flush();
- pDev->SetLineColor( (nFlags & CR_MANUALBREAK) ? aManualColor :
- (nFlags) ? aPageColor : aGridColor );
- nOldFlags = nFlags;
+ pDev->SetLineColor( (nBreak & BREAK_MANUAL) ? aManualColor :
+ (nBreak) ? aPageColor : aGridColor );
+ nBreakOld = nBreak;
}
}
- BOOL bDraw = bGrid || nOldFlags; // einfaches Gitter nur wenn eingestellt
+ BOOL bDraw = bGrid || nBreakOld; // einfaches Gitter nur wenn eingestellt
//! Mit dieser Abfrage wird zuviel weggelassen, wenn ein automatischer
//! Umbruch mitten in den Wiederholungszeilen liegt.
@@ -532,7 +529,7 @@ void ScOutputData::DrawGrid( BOOL bGrid, BOOL bPage )
{
if ( nY == MAXROW )
bDraw = FALSE;
- else if (pDoc->GetRowFlags(nYplus1,nTab) & ( CR_PAGEBREAK | CR_MANUALBREAK ))
+ else if (pDoc->HasRowBreak(nYplus1, nTab))
bDraw = FALSE;
}
#endif
@@ -654,7 +651,7 @@ void ScOutputData::FindRotated()
const ScPatternAttr* pPattern = pInfo->pPatternAttr;
const SfxItemSet* pCondSet = pInfo->pConditionSet;
- if ( !pPattern && (pDoc->GetColFlags(nX,nTab) & CR_HIDDEN) == 0 )
+ if ( !pPattern && !pDoc->ColHidden(nX, nTab) )
{
pPattern = pDoc->GetPattern( nX, nY, nTab );
pCondSet = pDoc->GetCondResult( nX, nY, nTab );