22#include <document.hxx> 
   31    maColWidths(0, rRoot.GetDoc().GetSheetLimits().GetMaxColCount(), 0),
 
   33    maRowHeights(0, rRoot.GetDoc().GetSheetLimits().GetMaxRowCount(), 0),
 
   35    maHiddenRows(0, rRoot.GetDoc().GetSheetLimits().GetMaxRowCount(), false),
 
   38    mnDefHeight( 
ScGlobal::nStdRowHeight ),
 
   40    mbHasStdWidthRec( false ),
 
   41    mbHasDefHeight( false ),
 
   68    nCol2 = ::std::min( nCol2, rDoc.
MaxCol() );
 
   75    nCol1 = ::std::min( nCol1, nCol2 );
 
   79    for (
SCCOL nCol = nCol1; nCol <= nCol2; ++nCol)
 
   93    nCol2 = ::std::min( nCol2, 
GetDoc().MaxCol() );
 
   94    nCol1 = ::std::min( nCol1, nCol2 );
 
   96    for (
SCCOL nCol = nCol1; nCol <= nCol2; ++nCol)
 
  121    if (!
maRowFlags.search(nScRow, nFlagVal).second)
 
  127    maRowFlags.insert_back(nScRow, nScRow+1, nFlagVal);
 
  141    if (!
maRowFlags.search(nScRow, nFlagVal).second)
 
  147    maRowFlags.insert_back(nScRow, nScRow+1, nFlagVal);
 
  159    if (!
maRowFlags.search(nScRow, nFlagVal).second)
 
  163    maRowFlags.insert_back(nScRow, nScRow+1, nFlagVal);
 
  170    OSL_ENSURE( (nCol1 <= nCol2) && 
GetDoc().
ValidCol( nCol2 ), 
"XclImpColRowSettings::SetDefaultXF - invalid column index" );
 
  171    nCol2 = ::std::min( nCol2, 
GetDoc().MaxCol() );
 
  172    nCol1 = ::std::min( nCol1, nCol2 );
 
  174    for( 
SCCOL nCol = nCol1; nCol <= nCol2; ++nCol )
 
  188    for (
SCCOL nCol = 0; nCol <= rDoc.
MaxCol(); ++nCol)
 
  227            sal_uInt16 nHeight = 0;
 
  238                    for (
SCROW i = nPrevRow; 
i <= nRow - 1; ++
i)
 
  241                        if (!
maRowHeights.search_tree(
i, nHeight, 
nullptr, &nLast).second)
 
  279            rDoc.
ShowCol( nCol, nScTab, 
false );
 
  290            nFirstFilterScRow = pFilter->
StartRow();
 
  291            nLastFilterScRow = pFilter->
EndRow();
 
  298    if (nLastXLRow < rDoc.
MaxRow())
 
  300        bool bHidden = 
false;
 
  304        maHiddenRows.insert_back(nLastXLRow, 
GetDoc().GetSheetLimits().GetMaxRowCount(), bHidden);
 
  308    bool bPrevHidden = 
false;
 
  317                if (nFirstFilterScRow <= nPrevRow && nPrevRow <= nLastFilterScRow)
 
  319                    SCROW nLast = ::std::min(nRow-1, nLastFilterScRow);
 
  326        bPrevHidden = bHidden;
 
  338    std::pair<ColRowFlagsType::const_iterator,bool> r = 
maColFlags.search(nCol, nFlagVal);
 
  346    maColFlags.insert(r.first, nCol, nCol+1, nFlagVal);
 
  352    if (!
maColFlags.search(nCol, nFlagVal).second)
 
  356    return bool(nFlagVal & nMask);
 
bool ValidRow(SCROW nRow, SCROW nMaxRow)
 
bool ValidCol(SCCOL nCol, SCCOL nMaxCol)
 
SC_DLLPUBLIC SCCOL MaxCol() const
 
SC_DLLPUBLIC SCROW MaxRow() const
 
SC_DLLPUBLIC void ShowCol(SCCOL nCol, SCTAB nTab, bool bShow)
 
SC_DLLPUBLIC void ShowRows(SCROW nRow1, SCROW nRow2, SCTAB nTab, bool bShow)
 
SC_DLLPUBLIC void SetColWidthOnly(SCCOL nCol, SCTAB nTab, sal_uInt16 nNewWidth)
 
SC_DLLPUBLIC void SetRowHeightOnly(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, sal_uInt16 nNewHeight)
 
SC_DLLPUBLIC void SetRowHidden(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bHidden)
 
SC_DLLPUBLIC void SetRowFlags(SCROW nRow, SCTAB nTab, CRFlags nNewFlags)
 
SC_DLLPUBLIC void SetManualHeight(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bManual)
 
SC_DLLPUBLIC void SetRowFiltered(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bFiltered)
 
SC_DLLPUBLIC ScColumnsRange GetColumnsRange(SCTAB nTab, SCCOL nColBegin, SCCOL nColEnd) const
 
static SC_DLLPUBLIC sal_uInt16 nStdRowHeight
 
XclImpAutoFilterData * GetByTab(SCTAB nTab)
 
void SetDefWidth(sal_uInt16 nDefWidth, bool bStdWidthRec=false)
 
void Convert(SCTAB nScTab)
Inserts all column and row settings of the specified sheet, except the hidden flags.
 
bool mbHasDefHeight
true = Width from STANDARDWIDTH (overrides DEFCOLWIDTH record).
 
bool mbHasStdWidthRec
Default row flags from DEFAULTROWHEIGHT record.
 
void SetHeight(SCROW nRow, sal_uInt16 nHeight)
 
void SetDefaultXF(SCCOL nScCol1, SCCOL nScCol2, sal_uInt16 nXFIndex)
 
XclImpColRowSettings(const XclImpRoot &rRoot)
 
void HideColRange(SCCOL nCol1, SCCOL nCol2)
 
sal_uInt16 mnDefRowFlags
Default height from DEFAULTROWHEIGHT record.
 
sal_uInt16 mnDefHeight
Default width from DEFCOLWIDTH or STANDARDWIDTH record.
 
ColRowFlagsType maRowFlags
 
void SetManualRowHeight(SCROW nScRow)
 
WidthHeightStoreType maRowHeights
 
WidthHeightStoreType maColWidths
 
ColRowFlagsType maColFlags
 
void SetDefHeight(sal_uInt16 nDefHeight, sal_uInt16 nFlags)
 
RowHiddenType maHiddenRows
 
void ConvertHiddenFlags(SCTAB nScTab)
Sets the HIDDEN flags at all hidden columns and rows in the specified sheet.
 
virtual ~XclImpColRowSettings() override
 
bool GetColFlag(SCCOL nCol, ExcColRowFlags nMask) const
 
void SetRowSettings(SCROW nRow, sal_uInt16 nHeight, sal_uInt16 nFlags)
 
void SetWidthRange(SCCOL nCol1, SCCOL nCol2, sal_uInt16 nWidth)
 
void ApplyColFlag(SCCOL nCol, ExcColRowFlags nNewVal)
 
bool mbDirty
true = mnDefHeight and mnDefRowFlags are valid.
 
Access to global data from other classes.
 
XclImpXFRangeBuffer & GetXFRangeBuffer() const
Returns the buffer of XF index ranges for a sheet.
 
XclImpAutoFilterBuffer & GetFilterManager() const
Returns the filter manager.
 
const XclImpRoot & GetRoot() const
Returns this root instance - for code readability in derived classes.
 
Contains the XF indexes for every used cell in a single sheet.
 
void SetColumnDefXF(SCCOL nScCol, sal_uInt16 nXFIndex)
Inserts a new XF index for all cells in a column.
 
XclBiff GetBiff() const
Returns the current BIFF version of the importer/exporter.
 
const ScAddress & GetXclMaxPos() const
Returns the highest possible cell address in an Excel document (using current BIFF version).
 
ScDocument & GetDoc() const
Returns reference to the destination document (import) or source document (export).
 
constexpr sal_Int32 STD_COL_WIDTH
 
static sal_uInt16 nDefWidth
 
@ EXC_BIFF8
MS Excel 5.0, MS Excel 7.0 (95)
 
const sal_uInt16 EXC_ROW_HIDDEN
 
const sal_uInt16 EXC_ROW_UNSYNCED
 
const sal_uInt16 EXC_DEFROW_UNSYNCED
 
const sal_uInt16 EXC_ROW_FLAGDEFHEIGHT
 
const sal_uInt16 EXC_DEFROW_DEFAULTFLAGS
 
const sal_uInt16 EXC_DEFROW_HIDDEN
 
const sal_uInt16 EXC_ROW_HEIGHTMASK