Kaydet (Commit) a6d2e1ef authored tarafından Kohei Yoshida's avatar Kohei Yoshida

ResetChanged() now takes range list.

üst bc0afba7
......@@ -863,7 +863,7 @@ public:
const ::editeng::SvxBorderLine** ppRight,
const ::editeng::SvxBorderLine** ppBottom ) const;
void ResetChanged( const ScRange& rRange );
void ResetChanged( const ScRangeList& rRanges );
void SetDirty();
void SetDirty( const ScRange& );
......
......@@ -3490,13 +3490,18 @@ sal_uInt16 ScDocument::GetErrCode( const ScAddress& rPos ) const
}
void ScDocument::ResetChanged( const ScRange& rRange )
void ScDocument::ResetChanged( const ScRangeList& rRanges )
{
SCTAB nStartTab = rRange.aStart.Tab();
SCTAB nEndTab = rRange.aEnd.Tab();
for (SCTAB nTab=nStartTab; nTab<=nEndTab && nTab < static_cast<SCTAB>(maTabs.size()); nTab++)
if (maTabs[nTab])
maTabs[nTab]->ResetChanged( rRange );
SCTAB nTabSize = static_cast<SCTAB>(maTabs.size());
for (size_t i = 0, n = rRanges.size(); i < n; ++i)
{
const ScRange& rRange = *rRanges[i];
SCTAB nTab1 = rRange.aStart.Tab();
SCTAB nTab2 = rRange.aEnd.Tab();
for (SCTAB nTab = nTab1; nTab1 <= nTab2 && nTab < nTabSize; ++nTab)
if (maTabs[nTab])
maTabs[nTab]->ResetChanged(rRange);
}
}
//
......
......@@ -182,14 +182,10 @@ void ScDocShell::PostPaint( const ScRangeList& rRanges, sal_uInt16 nPart, sal_uI
aPaintRanges.Append(ScRange(nCol1, nRow1, nTab1, nCol2, nRow2, nTab2));
}
for (size_t i = 0, n = aPaintRanges.size(); i < n; ++i)
{
const ScRange& r = *aPaintRanges[i];
Broadcast(ScPaintHint(r, nPart));
Broadcast(ScPaintHint(aPaintRanges.Combine(), nPart));
if (nPart & PAINT_GRID)
aDocument.ResetChanged(r);
}
if (nPart & PAINT_GRID)
aDocument.ResetChanged(aPaintRanges);
}
void ScDocShell::PostPaintGridAll()
......
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