Bump version to 4.3-4
[LibreOffice.git] / sc / source / filter / xml / cachedattraccess.cxx
blobcf69ec00595a7f3537aba78a260b44747d681de1
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
11 #include "cachedattraccess.hxx"
12 #include "document.hxx"
14 ScXMLCachedRowAttrAccess::Cache::Cache() :
15 mnTab(-1), mnRow1(-1), mnRow2(-1), mbValue(false) {}
17 bool ScXMLCachedRowAttrAccess::Cache::hasCache(sal_Int32 nTab, sal_Int32 nRow) const
19 return mnTab == nTab && mnRow1 <= nRow && nRow <= mnRow2;
22 ScXMLCachedRowAttrAccess::ScXMLCachedRowAttrAccess(ScDocument* pDoc) :
23 mpDoc(pDoc) {}
25 bool ScXMLCachedRowAttrAccess::rowHidden(sal_Int32 nTab, sal_Int32 nRow)
27 if (!maHidden.hasCache(nTab, nRow))
29 SCROW nRow1, nRow2;
30 maHidden.mbValue = mpDoc->RowHidden(
31 static_cast<SCROW>(nRow), static_cast<SCTAB>(nTab), &nRow1, &nRow2);
32 maHidden.mnRow1 = static_cast<sal_Int32>(nRow1);
33 maHidden.mnRow2 = static_cast<sal_Int32>(nRow2);
35 return maHidden.mbValue;
38 bool ScXMLCachedRowAttrAccess::rowFiltered(sal_Int32 nTab, sal_Int32 nRow)
40 if (!maFiltered.hasCache(nTab, nRow))
42 SCROW nRow1, nRow2;
43 maFiltered.mbValue = mpDoc->RowFiltered(
44 static_cast<SCROW>(nRow), static_cast<SCTAB>(nTab), &nRow1, &nRow2);
45 maFiltered.mnRow1 = static_cast<sal_Int32>(nRow1);
46 maFiltered.mnRow2 = static_cast<sal_Int32>(nRow2);
48 return maFiltered.mbValue;
51 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */