summaryrefslogtreecommitdiff
path: root/sc/source/core/data/olinetab.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/core/data/olinetab.cxx')
-rw-r--r--sc/source/core/data/olinetab.cxx22
1 files changed, 10 insertions, 12 deletions
diff --git a/sc/source/core/data/olinetab.cxx b/sc/source/core/data/olinetab.cxx
index 55f7ba46b898..af444c4b2123 100644
--- a/sc/source/core/data/olinetab.cxx
+++ b/sc/source/core/data/olinetab.cxx
@@ -41,10 +41,11 @@
#include "global.hxx"
#include "rechead.hxx"
#include "address.hxx"
+#include "table.hxx"
//------------------------------------------------------------------------
-ScOutlineEntry::ScOutlineEntry( SCCOLROW nNewStart, SCCOLROW nNewSize, BOOL bNewHidden ) :
+ScOutlineEntry::ScOutlineEntry( SCCOLROW nNewStart, SCCOLROW nNewSize, bool bNewHidden ) :
nStart ( nNewStart ),
nSize ( nNewSize ),
bHidden ( bNewHidden ),
@@ -93,12 +94,12 @@ void ScOutlineEntry::SetPosSize( SCCOLROW nNewPos, SCSIZE nNewSize )
SetSize( nNewSize );
}
-void ScOutlineEntry::SetHidden( BOOL bNewHidden )
+void ScOutlineEntry::SetHidden( bool bNewHidden )
{
bHidden = bNewHidden;
}
-void ScOutlineEntry::SetVisible( BOOL bNewVisible )
+void ScOutlineEntry::SetVisible( bool bNewVisible )
{
bVisible = bNewVisible;
}
@@ -637,10 +638,9 @@ BOOL ScOutlineArray::DeleteSpace( SCCOLROW nStartPos, SCSIZE nSize )
return bNeedSave;
}
-BOOL ScOutlineArray::ManualAction( SCCOLROW nStartPos, SCCOLROW nEndPos,
- BOOL bShow, const ScBitMaskCompressedArray< SCCOLROW, BYTE>& rHiddenFlags )
+bool ScOutlineArray::ManualAction( SCCOLROW nStartPos, SCCOLROW nEndPos, bool bShow, ScTable& rTable, bool bCol )
{
- BOOL bModified = FALSE;
+ bool bModified = false;
ScSubOutlineIterator aIter( this );
ScOutlineEntry* pEntry;
while((pEntry=aIter.GetNext())!=NULL)
@@ -654,18 +654,16 @@ BOOL ScOutlineArray::ManualAction( SCCOLROW nStartPos, SCCOLROW nEndPos,
{
// #i12341# hide if all columns/rows are hidden, show if at least one
// is visible
-
- SCCOLROW nEnd = rHiddenFlags.GetBitStateEnd( nEntryStart,
- CR_HIDDEN, CR_HIDDEN);
- BOOL bAllHidden = (nEntryEnd <= nEnd && nEnd <
+ SCCOLROW nEnd = rTable.LastHiddenColRow(nEntryStart, bCol);
+ bool bAllHidden = (nEntryEnd <= nEnd && nEnd <
::std::numeric_limits<SCCOLROW>::max());
- BOOL bToggle = ( bShow != bAllHidden );
+ bool bToggle = ( bShow != bAllHidden );
if ( bToggle )
{
pEntry->SetHidden( !bShow );
SetVisibleBelow( aIter.LastLevel(), aIter.LastEntry(), bShow, bShow );
- bModified = TRUE;
+ bModified = true;
}
}
}