LibreOffice Module sc (master) 1
table.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include <tools/gen.hxx>
23#include <tools/color.hxx>
24#include "attarray.hxx"
25#include "column.hxx"
26#include "colcontainer.hxx"
27#include "sortparam.hxx"
28#include "types.hxx"
29#include "cellvalue.hxx"
30#include <formula/types.hxx>
31#include "calcmacros.hxx"
33#include "document.hxx"
34#include "drwlayer.hxx"
35#include "SparklineList.hxx"
36
37#include <algorithm>
38#include <atomic>
39#include <memory>
40#include <optional>
41#include <set>
42#include <vector>
43
44template <typename A, typename D> class ScBitMaskCompressedArray;
45template <typename A, typename D> class ScCompressedArray;
46
47namespace utl {
48 class TextSearch;
49}
50
51namespace com::sun::star {
52 namespace sheet {
53 struct TablePageBreakData;
54 }
55}
56
57namespace formula { struct VectorRefArray; }
58namespace sc {
59
60struct BroadcasterState;
61class StartListeningContext;
62class EndListeningContext;
63class CopyFromClipContext;
64class CopyToClipContext;
65class CopyToDocContext;
66class MixDocContext;
67class ColumnSpanSet;
68class RangeColumnSpanSet;
69class ColumnSet;
70struct ColumnBlockPosition;
71class TableColumnBlockPositionSet;
72struct RefUpdateContext;
73struct RefUpdateInsertTabContext;
74struct RefUpdateDeleteTabContext;
75struct RefUpdateMoveTabContext;
76struct NoteEntry;
77class DocumentStreamAccess;
78class CellValues;
79class TableValues;
80class RowHeightContext;
81class CompileFormulaContext;
82struct SetFormulaDirtyContext;
83class ColumnIterator;
84class ScDrawObjData;
85}
86
87class SfxItemSet;
89class SvxBoxInfoItem;
90class SvxBoxItem;
91class SvxSearchItem;
92
94class ScEditDataArray;
95class ScFormulaCell;
96class ScOutlineTable;
97class ScPrintSaverTab;
98class ScProgress;
99class ScRangeList;
100class ScSheetEvents;
101class ScSortInfoArray;
104class ScStyleSheet;
106class ScUserListData;
107struct RowInfo;
108class ScFunctionData;
109class CollatorWrapper;
113struct ScSetStringParam;
114struct ScColWidthParam;
115class ScRangeName;
116class ScDBData;
117class ScHint;
118class ScPostIt;
120
121
122class ScColumnsRange final
123{
124 public:
125 class Iterator final
126 {
128 public:
129 typedef std::bidirectional_iterator_tag iterator_category;
132 typedef const SCCOL* pointer;
134
135 explicit Iterator(SCCOL nCol) : mCol(nCol) {}
136
137 Iterator& operator++() { ++mCol; return *this;}
138 Iterator& operator--() { --mCol; return *this;}
139
140 // Comparing iterators from different containers is undefined, so comparing mCol is enough.
141 bool operator==(const Iterator & rOther) const {return mCol == rOther.mCol;}
142 bool operator!=(const Iterator & rOther) const {return !(*this == rOther);}
143 SCCOL operator*() const {return mCol;}
144 };
145
146 ScColumnsRange(SCCOL nBegin, SCCOL nEnd) : maBegin(nBegin), maEnd(nEnd) {}
147 const Iterator & begin() { return maBegin; }
148 const Iterator & end() { return maEnd; }
149 std::reverse_iterator<Iterator> rbegin() { return std::reverse_iterator<Iterator>(maEnd); }
150 std::reverse_iterator<Iterator> rend() { return std::reverse_iterator<Iterator>(maBegin); }
151private:
154};
155
157{
158private:
159 typedef ::std::vector< ScRange > ScRangeVec;
160
162
163 OUString aName;
164 OUString aCodeName;
165 OUString aComment;
166
167 OUString aLinkDoc;
168 OUString aLinkFlt;
169 OUString aLinkOpt;
170 OUString aLinkTab;
173
174 // page style template
175 OUString aPageStyle;
176 Size aPageSizeTwips; // size of the print-page
177 SCCOL nRepeatStartX; // repeating rows/columns
178 SCCOL nRepeatEndX; // REPEAT_NONE, if not used
181
182 // last used col and row
187
188 std::unique_ptr<ScTableProtection> pTabProtection;
189
190 std::unique_ptr<ScCompressedArray<SCCOL, sal_uInt16>> mpColWidth;
191 std::unique_ptr<ScFlatUInt16RowSegments> mpRowHeights;
192
193 std::unique_ptr<ScBitMaskCompressedArray<SCCOL, CRFlags>> mpColFlags;
194 std::unique_ptr<ScBitMaskCompressedArray< SCROW, CRFlags>> pRowFlags;
195 std::unique_ptr<ScFlatBoolColSegments> mpHiddenCols;
196 std::unique_ptr<ScFlatBoolRowSegments> mpHiddenRows;
197 std::unique_ptr<ScFlatBoolColSegments> mpFilteredCols;
198 std::unique_ptr<ScFlatBoolRowSegments> mpFilteredRows;
199
200 ::std::set<SCROW> maRowPageBreaks;
201 ::std::set<SCROW> maRowManualBreaks;
202 ::std::set<SCCOL> maColPageBreaks;
203 ::std::set<SCCOL> maColManualBreaks;
204
205 std::unique_ptr<ScOutlineTable> pOutlineTable;
206
207 std::unique_ptr<ScSheetEvents> pSheetEvents;
208
213
216 std::unique_ptr<utl::TextSearch> pSearchText;
217
218 mutable OUString aUpperName; // #i62977# filled only on demand, reset in SetName
219
220 // sort parameter to minimize stack size of quicksort
223
225
226 std::optional<ScRange> moRepeatColRange;
227 std::optional<ScRange> moRepeatRowRange;
228
229 sal_uInt16 nLockCount;
230
231 std::unique_ptr<ScRangeList> pScenarioRanges;
235 std::unique_ptr<ScDBData> pDBDataNoName;
236 mutable std::unique_ptr<ScRangeName> mpRangeName;
237
238 std::unique_ptr<ScConditionalFormatList> mpCondFormatList;
240
242
243 bool bScenario:1;
247 mutable bool bTableAreaValid:1;
249 bool bVisible:1;
258 std::atomic<bool> bStreamValid;
259
260 // Default attributes for the unallocated columns.
262
263friend class ScDocument; // for FillInfo
264friend class ScColumn;
265friend class ScValueIterator;
269friend class ScCellIterator;
270template< ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType >
272template< ScQueryCellIteratorAccess accessType >
276friend class ScDocumentImport;
278friend class sc::ColumnSpanSet;
282
283public:
284 ScTable( ScDocument& rDoc, SCTAB nNewTab, const OUString& rNewName,
285 bool bColInfo = true, bool bRowInfo = true );
286 ~ScTable() COVERITY_NOEXCEPT_FALSE;
287 ScTable(const ScTable&) = delete;
288 ScTable& operator=(const ScTable&) = delete;
289
291 const ScDocument& GetDoc() const { return rDocument;}
292 SCTAB GetTab() const { return nTab; }
293
295
297 {
298 if ( nScCol >= aCol.size() )
300 return aCol[nScCol];
301 }
302 // out-of-line the cold part of the function
303 void CreateColumnIfNotExistsImpl( const SCCOL nScCol );
304
306 {
307 if( nCol >= aCol.size())
308 return aDefaultColData;
309 return aCol[nCol];
310 }
311
312 sal_uInt64 GetCellCount() const;
313 sal_uInt64 GetWeightedCount() const;
314 sal_uInt64 GetWeightedCount(SCROW nStartRow, SCROW nEndRow) const;
315 sal_uInt64 GetCodeCount() const; // RPN code in formula
316
317 sal_uInt16 GetTextWidth(SCCOL nCol, SCROW nRow) const;
318
319 bool SetOutlineTable( const ScOutlineTable* pNewOutline );
320 void StartOutlineTable();
321
322 void DoAutoOutline( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow );
323
324 bool TestRemoveSubTotals( const ScSubTotalParam& rParam );
325 void RemoveSubTotals( ScSubTotalParam& rParam );
326 bool DoSubTotals( ScSubTotalParam& rParam );
327
328 const ScSheetEvents* GetSheetEvents() const { return pSheetEvents.get(); }
329 void SetSheetEvents( std::unique_ptr<ScSheetEvents> pNew );
330
331 bool IsVisible() const { return bVisible; }
332 void SetVisible( bool bVis );
333
334 bool IsStreamValid() const { return bStreamValid; }
335 void SetStreamValid( bool bSet, bool bIgnoreLock = false );
336
337 [[nodiscard]] bool IsColValid( const SCCOL nScCol ) const
338 {
339 return nScCol >= static_cast< SCCOL >( 0 ) && nScCol < aCol.size();
340 }
341 [[nodiscard]] bool IsColRowValid( const SCCOL nScCol, const SCROW nScRow ) const
342 {
343 return IsColValid( nScCol ) && GetDoc().ValidRow( nScRow );
344 }
345 [[nodiscard]] bool IsColRowTabValid( const SCCOL nScCol, const SCROW nScRow, const SCTAB nScTab ) const
346 {
347 return IsColValid( nScCol ) && GetDoc().ValidRow( nScRow ) && ValidTab( nScTab );
348 }
349 [[nodiscard]] bool ValidCol(SCCOL nCol) const { return GetDoc().ValidCol(nCol); }
350 [[nodiscard]] bool ValidRow(SCROW nRow) const { return GetDoc().ValidRow(nRow); }
351 [[nodiscard]] bool ValidColRow(SCCOL nCol, SCROW nRow) const { return GetDoc().ValidColRow(nCol, nRow); }
352
354 void SetPendingRowHeights( bool bSet );
355
356 bool GetCalcNotification() const { return bCalcNotification; }
357 void SetCalcNotification( bool bSet );
358
359 bool IsLayoutRTL() const { return bLayoutRTL; }
360 bool IsLoadingRTL() const { return bLoadingRTL; }
361 void SetLayoutRTL( bool bSet );
362 void SetLoadingRTL( bool bSet );
363
364 bool IsScenario() const { return bScenario; }
365 void SetScenario( bool bFlag );
366 void GetScenarioComment( OUString& rComment) const { rComment = aComment; }
367 void SetScenarioComment( const OUString& rComment ) { aComment = rComment; }
368 const Color& GetScenarioColor() const { return aScenarioColor; }
369 void SetScenarioColor(const Color& rNew) { aScenarioColor = rNew; }
370 const Color& GetTabBgColor() const { return aTabBgColor; }
371 void SetTabBgColor(const Color& rColor);
374 void SetActiveScenario(bool bSet) { bActiveScenario = bSet; }
375 bool IsActiveScenario() const { return bActiveScenario; }
376
377 ScLinkMode GetLinkMode() const { return nLinkMode; }
378 bool IsLinked() const { return nLinkMode != ScLinkMode::NONE; }
379 const OUString& GetLinkDoc() const { return aLinkDoc; }
380 const OUString& GetLinkFlt() const { return aLinkFlt; }
381 const OUString& GetLinkOpt() const { return aLinkOpt; }
382 const OUString& GetLinkTab() const { return aLinkTab; }
384
385 void SetLink( ScLinkMode nMode, const OUString& rDoc, const OUString& rFlt,
386 const OUString& rOpt, const OUString& rTab, sal_uLong nRefreshDelay );
387
388 sal_Int64 GetHashCode () const;
389
390 const OUString& GetName() const { return aName; }
391 void SetName( const OUString& rNewName );
392
393 void SetAnonymousDBData(std::unique_ptr<ScDBData> pDBData);
395
396 const OUString& GetCodeName() const { return aCodeName; }
397 void SetCodeName( const OUString& rNewName ) { aCodeName = rNewName; }
398
399 const OUString& GetUpperName() const;
400
401 const OUString& GetPageStyle() const { return aPageStyle; }
402 void SetPageStyle( const OUString& rName );
403 void PageStyleModified( const OUString& rNewName );
404
405 bool IsProtected() const;
406 void SetProtection(const ScTableProtection* pProtect);
407 const ScTableProtection* GetProtection() const;
408 void GetUnprotectedCells( ScRangeList& rRangeList ) const;
409
410 bool IsEditActionAllowed( sc::ColRowEditAction eAction, SCCOLROW nStart, SCCOLROW nEnd ) const;
411
412 Size GetPageSize() const;
413 void SetPageSize( const Size& rSize );
414 void SetRepeatArea( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCROW nEndRow );
415
416 void LockTable();
417 void UnlockTable();
418
419 bool IsBlockEditable( SCCOL nCol1, SCROW nRow1, SCCOL nCol2,
420 SCROW nRow2, bool* pOnlyNotBecauseOfMatrix = nullptr,
421 bool bNoMatrixAtAll = false ) const;
422 bool IsSelectionEditable( const ScMarkData& rMark,
423 bool* pOnlyNotBecauseOfMatrix = nullptr ) const;
424
425 bool HasBlockMatrixFragment( const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2,
426 bool bNoMatrixAtAll = false ) const;
427 bool HasSelectionMatrixFragment( const ScMarkData& rMark ) const;
428
429 // This also includes e.g. notes. Use IsEmptyData() for cell data only.
430 bool IsBlockEmpty( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ) const;
431
432 bool SetString( SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString& rString,
433 const ScSetStringParam * pParam = nullptr );
434
435 bool SetEditText( SCCOL nCol, SCROW nRow, std::unique_ptr<EditTextObject> pEditText );
436 void SetEditText( SCCOL nCol, SCROW nRow, const EditTextObject& rEditText, const SfxItemPool* pEditPool );
437 SCROW GetFirstEditTextRow( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ) const;
438
439 void SetEmptyCell( SCCOL nCol, SCROW nRow );
440 void SetFormula(
441 SCCOL nCol, SCROW nRow, const ScTokenArray& rArray, formula::FormulaGrammar::Grammar eGram );
442 void SetFormula(
443 SCCOL nCol, SCROW nRow, const OUString& rFormula, formula::FormulaGrammar::Grammar eGram );
444
452
453 bool SetFormulaCells( SCCOL nCol, SCROW nRow, std::vector<ScFormulaCell*>& rCells );
454
455 bool HasFormulaCell( const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2 ) const;
456
457 svl::SharedString GetSharedString( SCCOL nCol, SCROW nRow ) const;
458
459 void SetValue( SCCOL nCol, SCROW nRow, const double& rVal );
460 void SetValues( const SCCOL nCol, const SCROW nRow, const std::vector<double>& rVals );
461 void SetError( SCCOL nCol, SCROW nRow, FormulaError nError);
462 SCSIZE GetPatternCount( SCCOL nCol ) const;
463 SCSIZE GetPatternCount( SCCOL nCol, SCROW nRow1, SCROW nRow2 ) const;
464 bool ReservePatternCount( SCCOL nCol, SCSIZE nReserve );
465
466 void SetRawString( SCCOL nCol, SCROW nRow, const svl::SharedString& rStr );
467 OUString GetString( SCCOL nCol, SCROW nRow, const ScInterpreterContext* pContext = nullptr ) const;
468 double* GetValueCell( SCCOL nCol, SCROW nRow );
469 // Note that if pShared is set and a value is returned that way, the returned OUString is empty.
470 OUString GetInputString( SCCOL nCol, SCROW nRow, bool bForceSystemLocale = false ) const;
471 double GetValue( SCCOL nCol, SCROW nRow ) const;
472 const EditTextObject* GetEditText( SCCOL nCol, SCROW nRow ) const;
473 void RemoveEditTextCharAttribs( SCCOL nCol, SCROW nRow, const ScPatternAttr& rAttr );
474 OUString GetFormula( SCCOL nCol, SCROW nRow ) const;
475 const ScFormulaCell* GetFormulaCell( SCCOL nCol, SCROW nRow ) const;
477
478 CellType GetCellType( const ScAddress& rPos ) const
479 {
480 if (!GetDoc().ValidColRow(rPos.Col(),rPos.Row()))
481 return CELLTYPE_NONE;
482 if (rPos.Col() >= aCol.size())
483 return CELLTYPE_NONE;
484 return aCol[rPos.Col()].GetCellType( rPos.Row() );
485 }
486 CellType GetCellType( SCCOL nCol, SCROW nRow ) const;
488 ScRefCellValue GetCellValue( SCCOL nCol, SCROW nRow ) const;
489
490 void GetFirstDataPos(SCCOL& rCol, SCROW& rRow) const;
491 void GetLastDataPos(SCCOL& rCol, SCROW& rRow) const;
492
493 // Sparklines
494
495 std::shared_ptr<sc::Sparkline> GetSparkline(SCCOL nCol, SCROW nRow);
496 sc::Sparkline* CreateSparkline(SCCOL nCol, SCROW nRow, std::shared_ptr<sc::SparklineGroup> const& pSparklineGroup);
497 bool DeleteSparkline(SCCOL nCol, SCROW nRow);
498
500 void CopySparklinesToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable* pDestTab);
501 void FillSparkline(bool bVertical, SCCOLROW nFixed, SCCOLROW nIteratingStart, SCCOLROW nIteratingEnd, SCCOLROW nFillStart, SCCOLROW nFillEnd);
502
503 // Notes / Comments
504 std::unique_ptr<ScPostIt> ReleaseNote( SCCOL nCol, SCROW nRow );
505 ScPostIt* GetNote( SCCOL nCol, SCROW nRow );
506 void SetNote( SCCOL nCol, SCROW nRow, std::unique_ptr<ScPostIt> pNote );
507
508 size_t GetNoteCount( SCCOL nCol ) const;
509 SCROW GetNotePosition( SCCOL nCol, size_t nIndex ) const;
511 void ForgetNoteCaptions( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, bool bPreserveData );
512
513 void GetAllNoteEntries( std::vector<sc::NoteEntry>& rNotes ) const;
514 void GetNotesInRange( const ScRange& rRange, std::vector<sc::NoteEntry>& rNotes ) const;
515 CommentCaptionState GetAllNoteCaptionsState( const ScRange& rRange, std::vector<sc::NoteEntry>& rNotes );
516 bool ContainsNotesInRange( const ScRange& rRange ) const;
517
518 bool TestInsertRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize ) const;
519 void InsertRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize );
520 void DeleteRow(
521 const sc::ColumnSet& rRegroupCols, SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize,
522 bool* pUndoOutline, std::vector<ScAddress>* pGroupPos );
523
524 bool TestInsertCol( SCROW nStartRow, SCROW nEndRow, SCSIZE nSize ) const;
525 void InsertCol(
526 const sc::ColumnSet& rRegroupCols, SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize );
527 void DeleteCol(
528 const sc::ColumnSet& rRegroupCols, SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize, bool* pUndoOutline );
529
530 void DeleteArea(
531 SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, InsertDeleteFlags nDelFlag,
532 bool bBroadcast = true, sc::ColumnSpanSet* pBroadcastSpans = nullptr );
533
534 void CopyToClip( sc::CopyToClipContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable* pTable );
535 void CopyToClip( sc::CopyToClipContext& rCxt, const ScRangeList& rRanges, ScTable* pTable );
536
538 SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const SvNumberFormatterMergeMap& rMap,
539 ScTable* pDestTab );
540
541 void CopyCellToDocument( SCCOL nSrcCol, SCROW nSrcRow, SCCOL nDestCol, SCROW nDestRow, ScTable& rDestTab );
542
544
546 sc::CopyFromClipContext& rCxt, const ScTable& rClipTab, sc::ColumnSpanSet& rBroadcastSpans );
547
549 sc::CopyFromClipContext& rCxt, const SCCOL nCol1, const SCROW nRow1,
550 const SCCOL nCol2, const SCROW nRow2,
551 const SCROW nSrcRow, const ScTable* pSrcTab );
552
553 void CopyFromClip(
554 sc::CopyFromClipContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
555 SCCOL nDx, SCROW nDy, ScTable* pTable );
556
559 SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
560
561 void SetDirtyFromClip(
562 SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sc::ColumnSpanSet& rBroadcastSpans );
563
564 void CopyToTable(
565 sc::CopyToDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
566 InsertDeleteFlags nFlags, bool bMarked, ScTable* pDestTab,
567 const ScMarkData* pMarkData, bool bAsLink, bool bColRowFlags,
568 bool bGlobalNamesToLocal, bool bCopyCaptions );
569
570 void CopyCaptionsToTable( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable* pDestTab, bool bCloneCaption );
571
572 void UndoToTable(
573 sc::CopyToDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
574 InsertDeleteFlags nFlags, bool bMarked, ScTable* pDestTab );
575
576 void CopyConditionalFormat( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
577 SCCOL nDx, SCROW nDy, const ScTable* pTable);
585 void TransposeClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCROW nCombinedStartRow,
586 SCROW nRowDestOffset, ScTable* pTransClip, InsertDeleteFlags nFlags,
587 bool bAsLink, bool bIncludeFiltered);
588
589 // mark of this document
590 void MixMarked(
591 sc::MixDocContext& rCxt, const ScMarkData& rMark, ScPasteFunc nFunction,
592 bool bSkipEmpty, const ScTable* pSrcTab );
593
594 void MixData(
595 sc::MixDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
596 ScPasteFunc nFunction, bool bSkipEmpty, const ScTable* pSrcTab );
597
598 void CopyData( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
599 SCCOL nDestCol, SCROW nDestRow, SCTAB nDestTab );
600
601 void CopyScenarioFrom( const ScTable* pSrcTab );
602 void CopyScenarioTo( ScTable* pDestTab ) const;
603 bool TestCopyScenarioTo( const ScTable* pDestTab ) const;
604 void MarkScenarioIn(ScMarkData& rMark, ScScenarioFlags nNeededBits) const;
605 bool HasScenarioRange( const ScRange& rRange ) const;
607 const ScRangeList* GetScenarioRanges() const;
608
609 void CopyUpdated( const ScTable* pPosTab, ScTable* pDestTab ) const;
610
611 void InvalidateTableArea();
613
615 bool GetCellArea( SCCOL& rEndCol, SCROW& rEndRow ); // FALSE = empty
616 bool GetTableArea( SCCOL& rEndCol, SCROW& rEndRow, bool bCalcHiddens = false) const;
617 bool GetPrintArea( SCCOL& rEndCol, SCROW& rEndRow, bool bNotes, bool bCalcHiddens = false) const;
618 bool GetPrintAreaHor( SCROW nStartRow, SCROW nEndRow,
619 SCCOL& rEndCol ) const;
620 bool GetPrintAreaVer( SCCOL nStartCol, SCCOL nEndCol,
621 SCROW& rEndRow, bool bNotes ) const;
622
623 bool GetDataStart( SCCOL& rStartCol, SCROW& rStartRow ) const;
624
625 void ExtendPrintArea( OutputDevice* pDev,
626 SCCOL nStartCol, SCROW nStartRow, SCCOL& rEndCol, SCROW nEndRow );
627
628 void GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow,
629 bool bIncludeOld, bool bOnlyDown ) const;
630
631 bool GetDataAreaSubrange( ScRange& rRange ) const;
632
633 bool ShrinkToUsedDataArea( bool& o_bShrunk, SCCOL& rStartCol, SCROW& rStartRow,
634 SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly,
635 bool bStickyTopRow, bool bStickyLeftCol,
636 ScDataAreaExtras* pDataAreaExtras ) const;
637
638 SCROW GetLastDataRow( SCCOL nCol1, SCCOL nCol2, SCROW nLastRow,
639 ScDataAreaExtras* pDataAreaExtras = nullptr ) const;
640
641 bool IsEmptyData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const;
642 SCSIZE GetEmptyLinesInBlock( SCCOL nStartCol, SCROW nStartRow,
643 SCCOL nEndCol, SCROW nEndRow, ScDirection eDir ) const;
644
645 void FindAreaPos( SCCOL& rCol, SCROW& rRow, ScMoveDirection eDirection ) const;
646 void GetNextPos( SCCOL& rCol, SCROW& rRow, SCCOL nMovX, SCROW nMovY,
647 bool bMarked, bool bUnprotected, const ScMarkData& rMark, SCCOL nTabStartCol ) const;
648
649 bool SkipRow( const SCCOL rCol, SCROW& rRow, const SCROW nMovY, const ScMarkData& rMark,
650 const bool bUp, const SCROW nUsedY, const bool bMarked, const bool bSheetProtected ) const;
651 void LimitChartArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow ) const;
652
653 bool HasData( SCCOL nCol, SCROW nRow ) const;
654 bool HasStringData( SCCOL nCol, SCROW nRow ) const;
655 bool HasValueData( SCCOL nCol, SCROW nRow ) const;
656 bool HasStringCells( SCCOL nStartCol, SCROW nStartRow,
657 SCCOL nEndCol, SCROW nEndRow ) const;
658
659 sc::MultiDataCellState HasMultipleDataCells( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ) const;
660
661 FormulaError GetErrCode( const ScAddress& rPos ) const
662 {
663 return IsColRowValid(rPos.Col(),rPos.Row()) ?
664 aCol[rPos.Col()].GetErrCode( rPos.Row() ) :
665 FormulaError::NONE;
666 }
667
668 void ResetChanged( const ScRange& rRange );
669
673 void SetDirtyAfterLoad();
674 void SetDirtyVar();
675 void SetTableOpDirty( const ScRange& );
676 void CalcAll();
677 void CalcAfterLoad( sc::CompileFormulaContext& rCxt, bool bStartListening );
679 void CompileXML( sc::CompileFormulaContext& rCxt, ScProgress& rProgress );
680
686 bool BroadcastBroadcasters( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SfxHintId nHint );
687
689
690 void UpdateReference(
691 sc::RefUpdateContext& rCxt, ScDocument* pUndoDoc = nullptr,
692 bool bIncludeDraw = true, bool bUpdateNoteCaptionPos = true );
693
694 void UpdateDrawRef( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1,
695 SCCOL nCol2, SCROW nRow2, SCTAB nTab2,
696 SCCOL nDx, SCROW nDy, SCTAB nDz, bool bUpdateNoteCaptionPos = true );
697
698 void UpdateTranspose( const ScRange& rSource, const ScAddress& rDest,
699 ScDocument* pUndoDoc );
700
701 void UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY );
702
705 void UpdateMoveTab( sc::RefUpdateMoveTabContext& rCxt, SCTAB nTabNo, ScProgress* pProgress );
706 void UpdateCompile( bool bForceIfNameInUse = false );
707 void SetTabNo(SCTAB nNewTab);
708 void FindRangeNamesInUse(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
709 sc::UpdatedRangeNames& rIndexes) const;
710 void Fill( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
711 sal_uInt64 nFillCount, FillDir eFillDir, FillCmd eFillCmd, FillDateCmd eFillDateCmd,
712 double nStepValue, double nMaxValue, ScProgress* pProgress);
713 OUString GetAutoFillPreview( const ScRange& rSource, SCCOL nEndX, SCROW nEndY );
714
715 void UpdateSelectionFunction( ScFunctionData& rData, const ScMarkData& rMark );
716
717 void AutoFormat( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
718 sal_uInt16 nFormatNo );
719 void GetAutoFormatData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScAutoFormatData& rData);
720 bool SearchAndReplace(
721 const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow, const ScMarkData& rMark,
722 ScRangeList& rMatchedRanges, OUString& rUndoStr, ScDocument* pUndoDoc, bool& bMatchedRangesWereClamped);
723
724 void FindMaxRotCol( RowInfo* pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2 );
725
726 bool HasAttrib( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, HasAttrFlags nMask ) const;
727 bool HasAttribSelection( const ScMarkData& rMark, HasAttrFlags nMask ) const;
728 bool HasAttrib( SCCOL nCol, SCROW nRow, HasAttrFlags nMask,
729 SCROW* nStartRow = nullptr, SCROW* nEndRow = nullptr ) const;
730 bool IsMerged( SCCOL nCol, SCROW nRow ) const;
731 bool ExtendMerge( SCCOL nStartCol, SCROW nStartRow,
732 SCCOL& rEndCol, SCROW& rEndRow,
733 bool bRefresh );
734 void SetMergedCells( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
735
736 const SfxPoolItem* GetAttr( SCCOL nCol, SCROW nRow, sal_uInt16 nWhich ) const;
737 template<class T> const T* GetAttr( SCCOL nCol, SCROW nRow, TypedWhichId<T> nWhich ) const
738 {
739 return static_cast<const T*>(GetAttr(nCol, nRow, sal_uInt16(nWhich)));
740 }
741 const SfxPoolItem* GetAttr( SCCOL nCol, SCROW nRow, sal_uInt16 nWhich, SCROW& nStartRow, SCROW& nEndRow ) const;
742 template<class T> const T* GetAttr( SCCOL nCol, SCROW nRow, TypedWhichId<T> nWhich, SCROW& nStartRow, SCROW& nEndRow ) const
743 {
744 return static_cast<const T*>(GetAttr(nCol, nRow, sal_uInt16(nWhich), nStartRow, nEndRow));
745 }
746 const ScPatternAttr* GetPattern( SCCOL nCol, SCROW nRow ) const;
747 const ScPatternAttr* GetMostUsedPattern( SCCOL nCol, SCROW nStartRow, SCROW nEndRow ) const;
748
749 sal_uInt32 GetNumberFormat( const ScInterpreterContext& rContext, const ScAddress& rPos ) const;
750 sal_uInt32 GetNumberFormat( SCCOL nCol, SCROW nRow ) const;
751 sal_uInt32 GetNumberFormat( SCCOL nCol, SCROW nStartRow, SCROW nEndRow ) const;
752
753 void SetNumberFormat( SCCOL nCol, SCROW nRow, sal_uInt32 nNumberFormat );
754
756 const ScMarkData& rMark, bool bDeep ) const;
757 void MergePatternArea( ScMergePatternState& rState, SCCOL nCol1, SCROW nRow1,
758 SCCOL nCol2, SCROW nRow2, bool bDeep ) const;
759 void MergeBlockFrame( SvxBoxItem* pLineOuter, SvxBoxInfoItem* pLineInner,
760 ScLineFlags& rFlags,
761 SCCOL nStartCol, SCROW nStartRow,
762 SCCOL nEndCol, SCROW nEndRow ) const;
763 void ApplyBlockFrame(const SvxBoxItem& rLineOuter,
764 const SvxBoxInfoItem* pLineInner,
765 SCCOL nStartCol, SCROW nStartRow,
766 SCCOL nEndCol, SCROW nEndRow );
767
768 void ApplyAttr( SCCOL nCol, SCROW nRow, const SfxPoolItem& rAttr );
769 void ApplyPattern( SCCOL nCol, SCROW nRow, const ScPatternAttr& rAttr );
770 void ApplyPatternArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
771 const ScPatternAttr& rAttr, ScEditDataArray* pDataArray = nullptr,
772 bool* const pIsChanged = nullptr );
773 void SetAttrEntries( SCCOL nStartCol, SCCOL nEndCol, std::vector<ScAttrEntry> && vNewData);
774
775 void SetPattern( const ScAddress& rPos, const ScPatternAttr& rAttr );
776 const ScPatternAttr* SetPattern( SCCOL nCol, SCROW nRow, std::unique_ptr<ScPatternAttr> );
777 void SetPattern( SCCOL nCol, SCROW nRow, const ScPatternAttr& rAttr );
779 const ScPatternAttr& rPattern, SvNumFormatType nNewType );
780 void AddCondFormatData( const ScRangeList& rRange, sal_uInt32 nIndex );
781 void RemoveCondFormatData( const ScRangeList& rRange, sal_uInt32 nIndex );
782 void SetPatternAreaCondFormat( SCCOL nCol, SCROW nStartRow, SCROW nEndRow,
783 const ScPatternAttr& rAttr, const ScCondFormatIndexes& rCondFormatIndexes );
784
785 void ApplyStyle( SCCOL nCol, SCROW nRow, const ScStyleSheet* rStyle );
786 void ApplyStyleArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScStyleSheet& rStyle );
787 void ApplySelectionStyle(const ScStyleSheet& rStyle, const ScMarkData& rMark);
788 void ApplySelectionLineStyle( const ScMarkData& rMark,
789 const ::editeng::SvxBorderLine* pLine, bool bColorOnly );
790
791 const ScStyleSheet* GetStyle( SCCOL nCol, SCROW nRow ) const;
792 const ScStyleSheet* GetSelectionStyle( const ScMarkData& rMark, bool& rFound ) const;
793 const ScStyleSheet* GetAreaStyle( bool& rFound, SCCOL nCol1, SCROW nRow1,
794 SCCOL nCol2, SCROW nRow2 ) const;
795
796 void StyleSheetChanged( const SfxStyleSheetBase* pStyleSheet, bool bRemoved,
797 OutputDevice* pDev,
798 double nPPTX, double nPPTY,
799 const Fraction& rZoomX, const Fraction& rZoomY );
800
801 bool IsStyleSheetUsed( const ScStyleSheet& rStyle ) const;
802
803 bool ApplyFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScMF nFlags );
804 bool RemoveFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScMF nFlags );
805
806 void ApplySelectionCache( SfxItemPoolCache* pCache, const ScMarkData& rMark, ScEditDataArray* pDataArray = nullptr, bool* const pIsChanged = nullptr );
807 void DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData& rMark, bool bBroadcast = true );
808
809 void ClearSelectionItems( const sal_uInt16* pWhich, const ScMarkData& rMark );
810 void ChangeSelectionIndent( bool bIncrement, const ScMarkData& rMark );
811
812 const std::optional<ScRange>& GetRepeatColRange() const { return moRepeatColRange; }
813 const std::optional<ScRange>& GetRepeatRowRange() const { return moRepeatRowRange; }
814 void SetRepeatColRange( std::optional<ScRange> oNew );
815 void SetRepeatRowRange( std::optional<ScRange> oNew );
816
817 sal_uInt16 GetPrintRangeCount() const { return static_cast< sal_uInt16 >( aPrintRanges.size() ); }
818 const ScRange* GetPrintRange(sal_uInt16 nPos) const;
820 bool IsPrintEntireSheet() const { return bPrintEntireSheet; }
821
823 void ClearPrintRanges();
825 void AddPrintRange( const ScRange& rNew );
827 void SetPrintEntireSheet();
828
829 void FillPrintSaver( ScPrintSaverTab& rSaveTab ) const;
830 void RestorePrintRanges( const ScPrintSaverTab& rSaveTab );
831
832 sal_uInt16 GetOptimalColWidth( SCCOL nCol, OutputDevice* pDev,
833 double nPPTX, double nPPTY,
834 const Fraction& rZoomX, const Fraction& rZoomY,
835 bool bFormula, const ScMarkData* pMarkData,
836 const ScColWidthParam* pParam );
837 bool SetOptimalHeight(
838 sc::RowHeightContext& rCxt, SCROW nStartRow, SCROW nEndRow, bool bApi,
839 ScProgress* pOuterProgress = nullptr, sal_uInt64 nProgressStart = 0 );
840
842 sc::RowHeightContext& rCxt, SCROW nStartRow, SCROW nEndRow,
843 ScProgress* pOuterProgress = nullptr, sal_uInt64 nProgressStart = 0 );
844
846 OutputDevice* pDev,
847 double nPPTX, double nPPTY,
848 const Fraction& rZoomX, const Fraction& rZoomY,
849 bool bWidth, bool bTotalSize,
850 bool bInPrintTwips = false);
851 void SetColWidth( SCCOL nCol, sal_uInt16 nNewWidth );
852 void SetColWidthOnly( SCCOL nCol, sal_uInt16 nNewWidth );
853 void SetRowHeight( SCROW nRow, sal_uInt16 nNewHeight );
854 bool SetRowHeightRange( SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight,
855 double nPPTY, bool bApi );
856
864 void SetRowHeightOnly( SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight );
865
866 // nPPT to test for modification
867 void SetManualHeight( SCROW nStartRow, SCROW nEndRow, bool bManual );
868
869 sal_uInt16 GetColWidth( SCCOL nCol, bool bHiddenAsZero = true ) const;
870 tools::Long GetColWidth( SCCOL nStartCol, SCCOL nEndCol ) const;
871 sal_uInt16 GetRowHeight( SCROW nRow, SCROW* pStartRow, SCROW* pEndRow, bool bHiddenAsZero = true ) const;
872 tools::Long GetRowHeight( SCROW nStartRow, SCROW nEndRow, bool bHiddenAsZero = true ) const;
873 tools::Long GetScaledRowHeight( SCROW nStartRow, SCROW nEndRow, double fScale ) const;
874 tools::Long GetColOffset( SCCOL nCol, bool bHiddenAsZero = true ) const;
875 tools::Long GetRowOffset( SCROW nRow, bool bHiddenAsZero = true ) const;
876
885 SCROW GetRowForHeight(tools::Long nHeight) const;
886
887 sal_uInt16 GetOriginalWidth( SCCOL nCol ) const;
888 sal_uInt16 GetOriginalHeight( SCROW nRow ) const;
889
890 sal_uInt16 GetCommonWidth( SCCOL nEndCol ) const;
891
892 SCROW GetHiddenRowCount( SCROW nRow ) const;
893
894 void ShowCol(SCCOL nCol, bool bShow);
895 void ShowRow(SCROW nRow, bool bShow);
896 void DBShowRow(SCROW nRow, bool bShow);
897
898 void ShowRows(SCROW nRow1, SCROW nRow2, bool bShow);
899 void DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow);
900
901 void SetRowFlags( SCROW nRow, CRFlags nNewFlags );
902 void SetRowFlags( SCROW nStartRow, SCROW nEndRow, CRFlags nNewFlags );
903
905 SCROW GetLastFlaggedRow() const;
906
911
912 bool IsDataFiltered(SCCOL nColStart, SCROW nRowStart, SCCOL nColEnd, SCROW nRowEnd) const;
913 bool IsDataFiltered(const ScRange& rRange) const;
914 CRFlags GetColFlags( SCCOL nCol ) const;
915 CRFlags GetRowFlags( SCROW nRow ) const;
916
918 { return pRowFlags.get(); }
919
920 bool UpdateOutlineCol( SCCOL nStartCol, SCCOL nEndCol, bool bShow );
921 bool UpdateOutlineRow( SCROW nStartRow, SCROW nEndRow, bool bShow );
922
923 void UpdatePageBreaks( const ScRange* pUserArea );
924 void RemoveManualBreaks();
925 bool HasManualBreaks() const;
926 void SetRowManualBreaks( ::std::set<SCROW>&& rBreaks );
927 void SetColManualBreaks( ::std::set<SCCOL>&& rBreaks );
928
929 void GetAllRowBreaks(::std::set<SCROW>& rBreaks, bool bPage, bool bManual) const;
930 void GetAllColBreaks(::std::set<SCCOL>& rBreaks, bool bPage, bool bManual) const;
931 bool HasRowPageBreak(SCROW nRow) const;
932 bool HasColPageBreak(SCCOL nCol) const;
933 bool HasRowManualBreak(SCROW nRow) const;
934 bool HasColManualBreak(SCCOL nCol) const;
935
946 SCROW GetNextManualBreak(SCROW nRow) const;
947
948 void RemoveRowPageBreaks(SCROW nStartRow, SCROW nEndRow);
949 void RemoveRowBreak(SCROW nRow, bool bPage, bool bManual);
950 void RemoveColBreak(SCCOL nCol, bool bPage, bool bManual);
951 void SetRowBreak(SCROW nRow, bool bPage, bool bManual);
952 void SetColBreak(SCCOL nCol, bool bPage, bool bManual);
953 css::uno::Sequence<
954 css::sheet::TablePageBreakData> GetRowBreakData() const;
955
956 bool RowHidden(SCROW nRow, SCROW* pFirstRow = nullptr, SCROW* pLastRow = nullptr) const;
957 bool RowHiddenLeaf(SCROW nRow, SCROW* pFirstRow = nullptr, SCROW* pLastRow = nullptr) const;
958 bool HasHiddenRows(SCROW nStartRow, SCROW nEndRow) const;
959 bool ColHidden(SCCOL nCol, SCCOL* pFirstCol = nullptr, SCCOL* pLastCol = nullptr) const;
960 bool SetRowHidden(SCROW nStartRow, SCROW nEndRow, bool bHidden);
961 void SetColHidden(SCCOL nStartCol, SCCOL nEndCol, bool bHidden);
962 void CopyColHidden(const ScTable& rTable, SCCOL nStartCol, SCCOL nEndCol);
963 void CopyRowHidden(const ScTable& rTable, SCROW nStartRow, SCROW nEndRow);
964 void CopyRowHeight(const ScTable& rSrcTable, SCROW nStartRow, SCROW nEndRow, SCROW nSrcOffset);
965 SCROW FirstVisibleRow(SCROW nStartRow, SCROW nEndRow) const;
966 SCROW LastVisibleRow(SCROW nStartRow, SCROW nEndRow) const;
967 SCROW CountVisibleRows(SCROW nStartRow, SCROW nEndRow) const;
968 tools::Long GetTotalRowHeight(SCROW nStartRow, SCROW nEndRow, bool bHiddenAsZero = true) const;
969
970 SCCOL CountVisibleCols(SCCOL nStartCol, SCCOL nEndCol) const;
971
972 SCCOLROW LastHiddenColRow(SCCOLROW nPos, bool bCol) const;
973
974 bool RowFiltered(SCROW nRow, SCROW* pFirstRow = nullptr, SCROW* pLastRow = nullptr) const;
975 bool ColFiltered(SCCOL nCol, SCCOL* pFirstCol = nullptr, SCCOL* pLastCol = nullptr) const;
976 bool HasFilteredRows(SCROW nStartRow, SCROW nEndRow) const;
977 void CopyColFiltered(const ScTable& rTable, SCCOL nStartCol, SCCOL nEndCol);
978 void CopyRowFiltered(const ScTable& rTable, SCROW nStartRow, SCROW nEndRow);
979 void SetRowFiltered(SCROW nStartRow, SCROW nEndRow, bool bFiltered);
980 void SetColFiltered(SCCOL nStartCol, SCCOL nEndCol, bool bFiltered);
981 SCROW FirstNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const;
982 SCROW LastNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const;
983 SCROW CountNonFilteredRows(SCROW nStartRow, SCROW nEndRow) const;
984
985 bool IsManualRowHeight(SCROW nRow) const;
986
987 bool HasUniformRowHeight( SCROW nRow1, SCROW nRow2 ) const;
988
989 void SyncColRowFlags();
990
991 void StripHidden( SCCOL& rX1, SCROW& rY1, SCCOL& rX2, SCROW& rY2 );
992 void ExtendHidden( SCCOL& rX1, SCROW& rY1, SCCOL& rX2, SCROW& rY2 );
993
995 void Sort(
996 const ScSortParam& rSortParam, bool bKeepQuery, bool bUpdateRefs,
997 ScProgress* pProgress, sc::ReorderParam* pUndo );
998
999 void Reorder( const sc::ReorderParam& rParam );
1000
1001 // For ValidQuery() see ScQueryEvalutor class.
1002 void TopTenQuery( ScQueryParam& );
1003 void PrepareQuery( ScQueryParam& rQueryParam );
1004 SCSIZE Query(const ScQueryParam& rQueryParam, bool bKeepSub);
1005 bool CreateQueryParam(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam);
1006
1007 void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, ScFilterEntries& rFilterEntries, bool bFiltering = false);
1008 void GetFilteredFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, ScFilterEntries& rFilterEntries, bool bFiltering );
1009 [[nodiscard]]
1010 bool GetDataEntries(SCCOL nCol, SCROW nRow, std::set<ScTypedStrData>& rStrings);
1011
1012 bool HasColHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow ) const;
1013 bool HasRowHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow ) const;
1014
1015 sal_Int32 GetMaxStringLen( SCCOL nCol,
1016 SCROW nRowStart, SCROW nRowEnd, rtl_TextEncoding eCharSet ) const;
1017 sal_Int32 GetMaxNumberStringLen( sal_uInt16& nPrecision,
1018 SCCOL nCol,
1019 SCROW nRowStart, SCROW nRowEnd ) const;
1020
1021 bool IsSortCollatorGlobal() const;
1022 void InitSortCollator( const ScSortParam& rPar );
1023 void DestroySortCollator();
1024 void SetDrawPageSize( bool bResetStreamValid = true, bool bUpdateNoteCaptionPos = true,
1025 const ScObjectHandling eObjectHandling = ScObjectHandling::RecalcPosMode);
1026
1027 void SetRangeName(std::unique_ptr<ScRangeName> pNew);
1028 ScRangeName* GetRangeName() const;
1029
1031 sc::EndListeningContext& rEndListenCxt, sc::CompileFormulaContext& rCompileCxt );
1032
1034 sc::StartListeningContext& rStartListenCxt, sc::CompileFormulaContext& rCompileCxt );
1035
1037 sc::EndListeningContext& rEndListenCxt, sc::CompileFormulaContext& rCompileCxt );
1038
1042
1043 void DeleteConditionalFormat(sal_uLong nOldIndex);
1044
1045 sal_uLong AddCondFormat( std::unique_ptr<ScConditionalFormat> pNew );
1046
1047 SvtScriptType GetScriptType( SCCOL nCol, SCROW nRow ) const;
1048 void SetScriptType( SCCOL nCol, SCROW nRow, SvtScriptType nType );
1049 void UpdateScriptTypes( const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2 );
1050
1051 SvtScriptType GetRangeScriptType( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol, SCROW nRow1, SCROW nRow2 );
1052
1056 bool HandleRefArrayForParallelism( SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScFormulaCellGroupRef& mxGroup );
1057#ifdef DBG_UTIL
1058 void AssertNoInterpretNeeded( SCCOL nCol, SCROW nRow1, SCROW nRow2 );
1059#endif
1060
1061 void SplitFormulaGroups( SCCOL nCol, std::vector<SCROW>& rRows );
1062 void UnshareFormulaCells( SCCOL nCol, std::vector<SCROW>& rRows );
1063 void RegroupFormulaCells( SCCOL nCol );
1064
1067
1069 const SvtBroadcaster* GetBroadcaster( SCCOL nCol, SCROW nRow ) const;
1070 void DeleteBroadcasters( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol, SCROW nRow1, SCROW nRow2 );
1072
1073 void FillMatrix( ScMatrix& rMat, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, svl::SharedStringPool* pPool ) const;
1074
1075 void InterpretDirtyCells( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
1076 bool InterpretCellsIfNeeded( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
1077
1078 void SetFormulaResults( SCCOL nCol, SCROW nRow, const double* pResults, size_t nLen );
1079
1080 void CalculateInColumnInThread( ScInterpreterContext& rContext, SCCOL nColStart, SCCOL nColEnd,
1081 SCROW nRowStart, SCROW nRowEnd, unsigned nThisThread, unsigned nThreadsTotal);
1082 void HandleStuffAfterParallelCalculation( SCCOL nColStart, SCCOL nColEnd, SCROW nRow, size_t nLen, ScInterpreter* pInterpreter);
1083
1092 void StartListeners( sc::StartListeningContext& rCxt, bool bAll );
1093
1098 void SetDirtyIfPostponed();
1099
1105
1106 void TransferCellValuesTo( const SCCOL nCol, SCROW nRow, size_t nLen, sc::CellValues& rDest );
1107 void CopyCellValuesFrom( const SCCOL nCol, SCROW nRow, const sc::CellValues& rSrc );
1108
1109 std::optional<sc::ColumnIterator> GetColumnIterator( SCCOL nCol, SCROW nRow1, SCROW nRow2 ) const;
1110
1111 bool EnsureFormulaCellResults( const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2, bool bSkipRunning = false );
1112
1115 const SCCOL nCol1, const SCROW nRow1, const SCCOL nCol2, const SCROW nRow2,
1116 sc::TableValues* pUndo );
1117
1118 void SwapNonEmpty(
1119 sc::TableValues& rValues, sc::StartListeningContext& rStartCxt, sc::EndListeningContext& rEndCxt );
1120
1121 void finalizeOutlineImport();
1122
1123 void StoreToCache(SvStream& rStrm) const;
1124
1125 void RestoreFromCache(SvStream& rStrm);
1126
1127#if DUMP_COLUMN_STORAGE
1128 void DumpColumnStorage( SCCOL nCol ) const;
1129#endif
1130
1137 static void UpdateSearchItemAddressForReplace( const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow );
1138
1141 ScColumnsRange GetColumnsRange(SCCOL begin, SCCOL end) const;
1142 SCCOL ClampToAllocatedColumns(SCCOL nCol) const { return std::min(nCol, static_cast<SCCOL>(aCol.size() - 1)); }
1144
1152 OString dumpSheetGeomData(bool bColumns, SheetGeomType eGeomType);
1153
1154 std::set<SCCOL> QueryColumnsWithFormulaCells() const;
1155
1156 const ScColumnData& ColumnData( SCCOL nCol ) const { return nCol < aCol.size() ? aCol[ nCol ] : aDefaultColData; }
1157
1158 void CheckIntegrity() const;
1159
1161
1162private:
1163
1165 const ScFormulaCell& rSrcCell,
1166 SCCOLROW& rInner, SCCOL nCol, SCROW nRow1, SCROW nRow2,
1167 ScProgress* pProgress, sal_uInt64& rProgress );
1168
1169 void FillSeriesSimple(
1170 const ScCellValue& rSrcCell, SCCOLROW& rInner, SCCOLROW nIMin, SCCOLROW nIMax,
1171 const SCCOLROW& rCol, const SCCOLROW& rRow, bool bVertical, ScProgress* pProgress, sal_uInt64& rProgress );
1172
1173 void FillAutoSimple(
1174 SCCOLROW nISrcStart, SCCOLROW nISrcEnd, SCCOLROW nIStart, SCCOLROW nIEnd,
1175 SCCOLROW& rInner, const SCCOLROW& rCol, const SCCOLROW& rRow,
1176 sal_uInt64 nActFormCnt, sal_uInt64 nMaxFormCnt,
1177 bool bHasFiltered, bool bVertical, bool bPositive,
1178 ScProgress* pProgress, sal_uInt64& rProgress );
1179
1180 void FillSeries( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
1181 sal_uInt64 nFillCount, FillDir eFillDir, FillCmd eFillCmd,
1182 FillDateCmd eFillDateCmd,
1183 double nStepValue, double nMaxValue, sal_uInt16 nMinDigits,
1184 bool bAttribs, ScProgress* pProgress,
1185 bool bSkipOverlappedCells = false,
1186 std::vector<sal_Int32>* pNonOverlappedCellIdx = nullptr);
1187 void FillAnalyse( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
1188 FillCmd& rCmd, FillDateCmd& rDateCmd,
1189 double& rInc, sal_uInt16& rMinDigits,
1190 ScUserListData*& rListData, sal_uInt16& rListIndex,
1191 bool bHasFiltered, bool& rSkipOverlappedCells,
1192 std::vector<sal_Int32>& rNonOverlappedCellIdx );
1193 void FillAuto( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
1194 sal_uInt64 nFillCount, FillDir eFillDir, ScProgress* pProgress );
1195
1196 bool ValidNextPos( SCCOL nCol, SCROW nRow, const ScMarkData& rMark,
1197 bool bMarked, bool bUnprotected ) const;
1198
1199 void AutoFormatArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
1200 const ScPatternAttr& rAttr, sal_uInt16 nFormatNo);
1201 void GetAutoFormatAttr(SCCOL nCol, SCROW nRow, sal_uInt16 nIndex, ScAutoFormatData& rData);
1202 void GetAutoFormatFrame(SCCOL nCol, SCROW nRow, sal_uInt16 nFlags, sal_uInt16 nIndex, ScAutoFormatData& rData);
1203 bool SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, sc::ColumnBlockConstPosition& rBlockPos, SCROW nRow,
1204 const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc);
1205 bool Search(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1206 const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc);
1207 bool Search(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1208 SCCOL nLastCol, SCROW nLastRow,
1209 const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc,
1210 std::vector< sc::ColumnBlockConstPosition >& blockPos);
1211 bool SearchAll(const SvxSearchItem& rSearchItem, const ScMarkData& rMark,
1212 ScRangeList& rMatchedRanges, OUString& rUndoStr, ScDocument* pUndoDoc);
1213 bool Replace(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1214 const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc);
1215 bool ReplaceAll(
1216 const SvxSearchItem& rSearchItem, const ScMarkData& rMark, ScRangeList& rMatchedRanges,
1217 OUString& rUndoStr, ScDocument* pUndoDoc, bool& bMatchedRangesWereClamped);
1218
1219 bool SearchStyle(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1220 const ScMarkData& rMark);
1221 bool ReplaceStyle(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1222 const ScMarkData& rMark, bool bIsUndo);
1223 bool SearchAllStyle(
1224 const SvxSearchItem& rSearchItem, const ScMarkData& rMark, ScRangeList& rMatchedRanges);
1225 bool ReplaceAllStyle(
1226 const SvxSearchItem& rSearchItem, const ScMarkData& rMark, ScRangeList& rMatchedRanges,
1227 ScDocument* pUndoDoc);
1229 const SvxSearchItem& rSearchItem,
1230 SCCOL& rCol, SCROW& rRow, const ScMarkData& rMark, ScRangeList& rMatchedRanges,
1231 OUString& rUndoStr, ScDocument* pUndoDoc);
1232 bool SearchRangeForEmptyCell(const ScRange& rRange,
1233 const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1234 OUString& rUndoStr);
1236 const ScRange& rRange, const SvxSearchItem& rSearchItem,
1237 ScRangeList& rMatchedRanges, OUString& rUndoStr, ScDocument* pUndoDoc);
1238
1239 // use the global sort parameter:
1240 bool IsSorted(SCCOLROW nStart, SCCOLROW nEnd) const;
1241 static void DecoladeRow( ScSortInfoArray*, SCROW nRow1, SCROW nRow2 );
1242 short CompareCell(
1243 sal_uInt16 nSort,
1244 ScRefCellValue& rCell1, SCCOL nCell1Col, SCROW nCell1Row,
1245 ScRefCellValue& rCell2, SCCOL nCell2Col, SCROW nCell2Row ) const;
1246 short Compare(SCCOLROW nIndex1, SCCOLROW nIndex2) const;
1247 short Compare( ScSortInfoArray*, SCCOLROW nIndex1, SCCOLROW nIndex2) const;
1248 std::unique_ptr<ScSortInfoArray> CreateSortInfoArray( const sc::ReorderParam& rParam );
1249 std::unique_ptr<ScSortInfoArray> CreateSortInfoArray(
1250 const ScSortParam& rSortParam, SCCOLROW nInd1, SCCOLROW nInd2,
1251 bool bKeepQuery, bool bUpdateRefs );
1252 void QuickSort( ScSortInfoArray*, SCCOLROW nLo, SCCOLROW nHi);
1253 void SortReorderByColumn( const ScSortInfoArray* pArray, SCROW nRow1, SCROW nRow2,
1254 bool bPattern, ScProgress* pProgress );
1255 void SortReorderAreaExtrasByColumn( const ScSortInfoArray* pArray, SCROW nDataRow1, SCROW nDataRow2,
1256 const ScDataAreaExtras& rDataAreaExtras, ScProgress* pProgress );
1257
1258 void SortReorderByRow( ScSortInfoArray* pArray, SCCOL nCol1, SCCOL nCol2,
1259 ScProgress* pProgress, bool bOnlyDataAreaExtras );
1260 void SortReorderByRowRefUpdate( ScSortInfoArray* pArray, SCCOL nCol1, SCCOL nCol2,
1261 ScProgress* pProgress );
1262 void SortReorderAreaExtrasByRow( ScSortInfoArray* pArray, SCCOL nDataCol1, SCCOL nDataCol2,
1263 const ScDataAreaExtras& rDataAreaExtras, ScProgress* pProgress );
1264
1265 bool CreateExcelQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam);
1266 bool CreateStarQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam);
1267 OUString GetUpperCellString(SCCOL nCol, SCROW nRow);
1268
1269 bool RefVisible(const ScFormulaCell* pCell);
1270
1271 bool IsEmptyLine(SCROW nRow, SCCOL nStartCol, SCCOL nEndCol) const;
1272
1273 void IncDate(double& rVal, sal_uInt16& nDayOfMonth, double nStep, FillDateCmd eCmd);
1274 void FillFormula(
1275 const ScFormulaCell* pSrcCell, SCCOL nDestCol, SCROW nDestRow, bool bLast );
1276 void UpdateInsertTabAbs(SCTAB nNewPos);
1277 bool GetNextSpellingCell(SCCOL& rCol, SCROW& rRow, bool bInSel,
1278 const ScMarkData& rMark) const;
1279 bool GetNextMarkedCell( SCCOL& rCol, SCROW& rRow, const ScMarkData& rMark ) const;
1280 void TestTabRefAbs(SCTAB nTable) const;
1283
1284 void StartListening( const ScAddress& rAddress, SvtListener* pListener );
1285 void EndListening( const ScAddress& rAddress, SvtListener* pListener );
1286 void StartListening( sc::StartListeningContext& rCxt, const ScAddress& rAddress, SvtListener& rListener );
1287 void EndListening( sc::EndListeningContext& rCxt, const ScAddress& rAddress, SvtListener& rListener );
1288
1289 void AttachFormulaCells( sc::StartListeningContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
1290 void DetachFormulaCells( sc::EndListeningContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
1291
1292 void SetLoadingMedium(bool bLoading);
1293
1294 SCSIZE FillMaxRot( RowInfo* pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2,
1295 SCCOL nCol, SCROW nAttrRow1, SCROW nAttrRow2, SCSIZE nArrY,
1296 const ScPatternAttr* pPattern, const SfxItemSet* pCondSet );
1297
1298 // idle calculation of OutputDevice text width for cell
1299 // also invalidates script type, broadcasts for "calc as shown"
1300 void InvalidateTextWidth( const ScAddress* pAdrFrom, const ScAddress* pAdrTo,
1301 bool bNumFormatChanged, bool bBroadcast );
1302
1303 void SkipFilteredRows(SCROW& rRow, SCROW& rLastNonFilteredRow, bool bForward);
1304
1309 void MaybeAddExtraColumn(SCCOL& rCol, SCROW nRow, OutputDevice* pDev, double nPPTX, double nPPTY);
1310
1311 void CopyPrintRange(const ScTable& rTable);
1312
1313 SCCOL FindNextVisibleColWithContent(SCCOL nCol, bool bRight, SCROW nRow) const;
1314
1315 SCCOL FindNextVisibleCol(SCCOL nCol, bool bRight) const;
1316
1325 void TransposeColPatterns(ScTable* pTransClip, SCCOL nCol1, SCCOL nCol, SCROW nRow1,
1326 SCROW nRow2, SCROW nCombinedStartRow, bool bIncludeFiltered,
1327 const std::vector<SCROW>& rFilteredRows, SCROW nRowDestOffset);
1328
1337 void TransposeColNotes(ScTable* pTransClip, SCCOL nCol1, SCCOL nCol, SCROW nRow1, SCROW nRow2,
1338 SCROW nCombinedStartRow, bool bIncludeFiltered, SCROW nRowDestOffset);
1339
1340 ScColumn* FetchColumn( SCCOL nCol );
1341 const ScColumn* FetchColumn( SCCOL nCol ) const;
1342
1344 sc::EndListeningContext& rCxt, SCCOL nCol, SCROW nRow, std::vector<ScAddress>* pGroupPos );
1345
1347 sc::EndListeningContext& rCxt, const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2,
1348 std::vector<ScAddress>* pGroupPos );
1349
1350 void EndListeningGroup( sc::EndListeningContext& rCxt, const SCCOL nCol, SCROW nRow );
1351 void SetNeedsListeningGroup( SCCOL nCol, SCROW nRow );
1352
1354 OString dumpColumnRowSizes(bool bColumns);
1356 OString dumpHiddenFiltered(bool bColumns, bool bHidden);
1358 OString dumpColumnRowGroups(bool bColumns) const;
1359
1360 SCCOL GetLOKFreezeCol() const;
1361 SCROW GetLOKFreezeRow() const;
1362 bool SetLOKFreezeCol(SCCOL nFreezeCol);
1363 bool SetLOKFreezeRow(SCROW nFreezeRow);
1364
1369 {
1370 static constexpr SCROW ROW_NOT_FOUND = -1;
1371
1372 public:
1373 explicit VisibleDataCellIterator(const ScDocument& rDoc, ScFlatBoolRowSegments& rRowSegs, ScColumn& rColumn);
1374
1383
1390
1397 SCROW getRow() const { return mnCurRow;}
1398
1399 private:
1406 };
1407
1408};
1409
1410/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bool ValidTab(SCTAB nTab)
Definition: address.hxx:111
size_t SCSIZE
size_t typedef to be able to find places where code was changed from USHORT to size_t and is used to ...
Definition: address.hxx:44
ScMF
Definition: attrib.hxx:34
SCROW Row() const
Definition: address.hxx:274
SCCOL Col() const
Definition: address.hxx:279
The data type represents bits, manageable by bitwise operations.
Walk through all cells in an area.
Definition: dociter.hxx:206
SCCOL size() const
BroadcastMode
Broadcast mode for SetDirty(SCROW,SCROW,BroadcastMode).
Definition: column.hxx:242
SCCOL operator*() const
Definition: table.hxx:143
std::bidirectional_iterator_tag iterator_category
Definition: table.hxx:129
const SCCOL * pointer
Definition: table.hxx:132
Iterator & operator--()
Definition: table.hxx:138
Iterator(SCCOL nCol)
Definition: table.hxx:135
Iterator & operator++()
Definition: table.hxx:137
bool operator==(const Iterator &rOther) const
Definition: table.hxx:141
bool operator!=(const Iterator &rOther) const
Definition: table.hxx:142
const Iterator maBegin
Definition: table.hxx:152
const Iterator & end()
Definition: table.hxx:148
std::reverse_iterator< Iterator > rbegin()
Definition: table.hxx:149
std::reverse_iterator< Iterator > rend()
Definition: table.hxx:150
const Iterator & begin()
Definition: table.hxx:147
ScColumnsRange(SCCOL nBegin, SCCOL nEnd)
Definition: table.hxx:146
const Iterator maEnd
Definition: table.hxx:153
Compressed array of row (or column) entries, e.g.
Accessor class to ScDocument.
bool ValidRow(SCROW nRow) const
Definition: document.hxx:900
bool ValidCol(SCCOL nCol) const
Definition: document.hxx:899
bool ValidColRow(SCCOL nCol, SCROW nRow) const
Definition: document.hxx:901
To calculate a single subtotal function.
Definition: subtotal.hxx:61
Row-wise value iterator.
Definition: dociter.hxx:334
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
Definition: markdata.hxx:43
Matrix data type that can store values of mixed types.
Definition: scmatrix.hxx:101
Additional class containing cell annotation data.
Definition: postit.hxx:58
sheet protection state container
Use this to iterate through non-empty visible cells in a single column.
Definition: table.hxx:1369
static constexpr SCROW ROW_NOT_FOUND
Definition: table.hxx:1370
VisibleDataCellIterator(const ScDocument &rDoc, ScFlatBoolRowSegments &rRowSegs, ScColumn &rColumn)
Definition: table1.cxx:2355
ScFlatBoolRowSegments & mrRowSegs
Definition: table.hxx:1401
ScRefCellValue next()
Find the next visible data cell position.
Definition: table1.cxx:2408
const ScDocument & mrDocument
Definition: table.hxx:1400
SCROW getRow() const
Get the current row position.
Definition: table.hxx:1397
ScRefCellValue reset(SCROW nRow)
Set the start row position.
Definition: table1.cxx:2364
std::unique_ptr< ScFlatBoolColSegments > mpHiddenCols
Definition: table.hxx:195
SCCOL mnEndCol
Definition: table.hxx:185
const T * GetAttr(SCCOL nCol, SCROW nRow, TypedWhichId< T > nWhich, SCROW &nStartRow, SCROW &nEndRow) const
Definition: table.hxx:742
void CopyScenarioFrom(const ScTable *pSrcTab)
Definition: table2.cxx:1575
bool CreateExcelQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam &rQueryParam)
Definition: table3.cxx:2700
const ScStyleSheet * GetSelectionStyle(const ScMarkData &rMark, bool &rFound) const
Definition: table2.cxx:3067
std::unique_ptr< ScSortInfoArray > CreateSortInfoArray(const sc::ReorderParam &rParam)
Definition: table3.cxx:461
Size aPageSizeTwips
Definition: table.hxx:176
SCCOL GetLOKFreezeCol() const
Definition: table7.cxx:589
OUString aPageStyle
Definition: table.hxx:175
void ApplySelectionCache(SfxItemPoolCache *pCache, const ScMarkData &rMark, ScEditDataArray *pDataArray=nullptr, bool *const pIsChanged=nullptr)
Definition: table2.cxx:3207
void Sort(const ScSortParam &rSortParam, bool bKeepQuery, bool bUpdateRefs, ScProgress *pProgress, sc::ReorderParam *pUndo)
Sort a range of data.
Definition: table3.cxx:1789
SCCOLROW LastHiddenColRow(SCCOLROW nPos, bool bCol) const
Definition: table5.cxx:817
ScRangeName * GetRangeName() const
Definition: table2.cxx:4258
void UnlockTable()
Definition: table2.cxx:2811
bool bTableAreaVisibleValid
Definition: table.hxx:248
bool ValidCol(SCCOL nCol) const
Definition: table.hxx:349
void UpdateInsertTab(sc::RefUpdateInsertTabContext &rCxt)
Definition: table1.cxx:1961
void ApplyStyleArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScStyleSheet &rStyle)
Definition: table2.cxx:3013
SCCOL FindNextVisibleCol(SCCOL nCol, bool bRight) const
Definition: table1.cxx:1290
sal_uInt16 GetOriginalHeight(SCROW nRow) const
Definition: table2.cxx:3661
bool UpdateOutlineCol(SCCOL nStartCol, SCCOL nEndCol, bool bShow)
Definition: table2.cxx:3951
bool IsBlockEditable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, bool *pOnlyNotBecauseOfMatrix=nullptr, bool bNoMatrixAtAll=false) const
Definition: table2.cxx:2640
SCCOL CountVisibleCols(SCCOL nStartCol, SCCOL nEndCol) const
Definition: table5.cxx:795
ScLinkMode nLinkMode
Definition: table.hxx:172
ScRefCellValue GetCellValue(SCCOL nCol, sc::ColumnBlockPosition &rBlockPos, SCROW nRow)
Definition: table2.cxx:2029
static void DecoladeRow(ScSortInfoArray *, SCROW nRow1, SCROW nRow2)
Definition: table3.cxx:1778
void ApplySelectionLineStyle(const ScMarkData &rMark, const ::editeng::SvxBorderLine *pLine, bool bColorOnly)
Definition: table2.cxx:3050
void AddCondFormatData(const ScRangeList &rRange, sal_uInt32 nIndex)
Definition: table2.cxx:2955
void UpdateDrawRef(UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, SCCOL nDx, SCROW nDy, SCTAB nDz, bool bUpdateNoteCaptionPos=true)
Definition: table1.cxx:1809
bool SearchRangeForAllEmptyCells(const ScRange &rRange, const SvxSearchItem &rSearchItem, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc)
Definition: table6.cxx:1081
bool SkipRow(const SCCOL rCol, SCROW &rRow, const SCROW nMovY, const ScMarkData &rMark, const bool bUp, const SCROW nUsedY, const bool bMarked, const bool bSheetProtected) const
Definition: table1.cxx:1475
void FillMatrix(ScMatrix &rMat, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, svl::SharedStringPool *pPool) const
Definition: table1.cxx:2600
bool HasBlockMatrixFragment(const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2, bool bNoMatrixAtAll=false) const
Definition: table2.cxx:2527
sal_uInt32 GetNumberFormat(const ScInterpreterContext &rContext, const ScAddress &rPos) const
Definition: table2.cxx:2253
void SetColHidden(SCCOL nStartCol, SCCOL nEndCol, bool bHidden)
Definition: table5.cxx:622
void CompileDBFormula(sc::CompileFormulaContext &rCxt)
Definition: table4.cxx:2954
void AssertNoInterpretNeeded(SCCOL nCol, SCROW nRow1, SCROW nRow2)
Definition: table1.cxx:2537
bool IsActiveScenario() const
Definition: table.hxx:375
void SetAllFormulasDirty(const sc::SetFormulaDirtyContext &rCxt)
Definition: table2.cxx:2115
void PrepareQuery(ScQueryParam &rQueryParam)
Definition: table3.cxx:2592
std::unique_ptr< ScFlatBoolRowSegments > mpFilteredRows
Definition: table.hxx:198
ScRefCellValue GetRefCellValue(SCCOL nCol, SCROW nRow)
Definition: table1.cxx:2561
ScColumnsRange GetAllocatedColumnsRange(SCCOL begin, SCCOL end) const
Definition: table1.cxx:2710
bool bPageSizeValid
Definition: table.hxx:246
SCROW LastVisibleRow(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:728
bool ReplaceStyle(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, bool bIsUndo)
Definition: table6.cxx:723
const OUString & GetUpperName() const
Definition: table1.cxx:363
void SortReorderByColumn(const ScSortInfoArray *pArray, SCROW nRow1, SCROW nRow2, bool bPattern, ScProgress *pProgress)
Definition: table3.cxx:945
void ShowRow(SCROW nRow, bool bShow)
Definition: table2.cxx:3707
void SetAttrEntries(SCCOL nStartCol, SCCOL nEndCol, std::vector< ScAttrEntry > &&vNewData)
Definition: table2.cxx:2914
bool IsScenario() const
Definition: table.hxx:364
void StyleSheetChanged(const SfxStyleSheetBase *pStyleSheet, bool bRemoved, OutputDevice *pDev, double nPPTX, double nPPTY, const Fraction &rZoomX, const Fraction &rZoomY)
Definition: table2.cxx:3134
void CopyStaticToDocument(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const SvNumberFormatterMergeMap &rMap, ScTable *pDestTab)
Definition: table2.cxx:545
void UpdateDeleteTab(sc::RefUpdateDeleteTabContext &rCxt)
Definition: table1.cxx:1990
void UpdateGrow(const ScRange &rArea, SCCOL nGrowX, SCROW nGrowY)
Definition: table1.cxx:1955
void ApplyAttr(SCCOL nCol, SCROW nRow, const SfxPoolItem &rAttr)
Definition: table2.cxx:3201
ScColumnsRange GetColumnsRange(SCCOL begin, SCCOL end) const
Definition: table1.cxx:2720
ScColumn * FetchColumn(SCCOL nCol)
Definition: table2.cxx:1235
bool HasFormulaCell(const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2) const
Definition: table7.cxx:294
bool HasAttrib(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, HasAttrFlags nMask) const
Definition: table2.cxx:2295
void GetAutoFormatFrame(SCCOL nCol, SCROW nRow, sal_uInt16 nFlags, sal_uInt16 nIndex, ScAutoFormatData &rData)
Definition: table4.cxx:2770
bool GetPrintAreaHor(SCROW nStartRow, SCROW nEndRow, SCCOL &rEndCol) const
Definition: table1.cxx:711
FormulaError GetErrCode(const ScAddress &rPos) const
Definition: table.hxx:661
bool GetCellArea(SCCOL &rEndCol, SCROW &rEndRow)
Definition: table1.cxx:517
void DeleteSelection(InsertDeleteFlags nDelFlag, const ScMarkData &rMark, bool bBroadcast=true)
Definition: table2.cxx:453
void CopyCellToDocument(SCCOL nSrcCol, SCROW nSrcRow, SCCOL nDestCol, SCROW nDestRow, ScTable &rDestTab)
Definition: table2.cxx:583
bool ColFiltered(SCCOL nCol, SCCOL *pFirstCol=nullptr, SCCOL *pLastCol=nullptr) const
Definition: table5.cxx:859
void InvalidateTableArea()
Definition: table2.cxx:1556
OUString aLinkFlt
Definition: table.hxx:168
Color aTabBgColor
Definition: table.hxx:233
void CopyData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCCOL nDestCol, SCROW nDestRow, SCTAB nDestTab)
Definition: table2.cxx:4141
OUString aUpperName
Definition: table.hxx:218
bool HasRowHeader(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
Definition: table3.cxx:2953
void ShowCol(SCCOL nCol, bool bShow)
Definition: table2.cxx:3687
void EndListeningGroup(sc::EndListeningContext &rCxt, const SCCOL nCol, SCROW nRow)
Definition: table7.cxx:328
void SetLink(ScLinkMode nMode, const OUString &rDoc, const OUString &rFlt, const OUString &rOpt, const OUString &rTab, sal_uLong nRefreshDelay)
Definition: table1.cxx:416
void SetDrawPageSize(bool bResetStreamValid=true, bool bUpdateNoteCaptionPos=true, const ScObjectHandling eObjectHandling=ScObjectHandling::RecalcPosMode)
Definition: table2.cxx:4221
void CalcAll()
Definition: table2.cxx:2177
std::unique_ptr< ScDBData > pDBDataNoName
Definition: table.hxx:235
OString dumpColumnRowSizes(bool bColumns)
Returns list-of-spans representation of the column-widths/row-heights in twips encoded as an OString.
Definition: table7.cxx:518
void SetDirty(const ScRange &, ScColumn::BroadcastMode)
Definition: table2.cxx:2123
std::unique_ptr< ScConditionalFormatList > mpCondFormatList
Definition: table.hxx:238
void SetTabBgColor(const Color &rColor)
Definition: table1.cxx:401
bool TestCopyScenarioTo(const ScTable *pDestTab) const
Definition: table2.cxx:1638
void SetRowFiltered(SCROW nStartRow, SCROW nEndRow, bool bFiltered)
Definition: table5.cxx:921
void DoAutoOutline(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow)
Definition: table2.cxx:4069
bool HasSelectionMatrixFragment(const ScMarkData &rMark) const
Definition: table2.cxx:2623
CollatorWrapper * pSortCollator
Definition: table.hxx:222
void SetNote(SCCOL nCol, SCROW nRow, std::unique_ptr< ScPostIt > pNote)
Definition: table2.cxx:1904
void UpdateSelectionFunction(ScFunctionData &rData, const ScMarkData &rMark)
Definition: table3.cxx:3086
bool bVisible
Definition: table.hxx:249
bool GetCalcNotification() const
Definition: table.hxx:356
void AutoFormat(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, sal_uInt16 nFormatNo)
Definition: table4.cxx:2621
SCROW FirstVisibleRow(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:705
const ScStyleSheet * GetAreaStyle(bool &rFound, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
Definition: table2.cxx:3093
void DeleteRow(const sc::ColumnSet &rRegroupCols, SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize, bool *pUndoOutline, std::vector< ScAddress > *pGroupPos)
Definition: table2.cxx:202
sal_uLong GetLinkRefreshDelay() const
Definition: table.hxx:383
bool IsDataFiltered(SCCOL nColStart, SCROW nRowStart, SCCOL nColEnd, SCROW nRowEnd) const
Definition: table2.cxx:3830
void DetachFormulaCells(sc::EndListeningContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Definition: table2.cxx:1279
const OUString & GetLinkTab() const
Definition: table.hxx:382
void InvalidatePageBreaks()
Definition: table2.cxx:1562
void FillAuto(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt64 nFillCount, FillDir eFillDir, ScProgress *pProgress)
Definition: table4.cxx:815
bool HasScenarioRange(const ScRange &rRange) const
Definition: table2.cxx:1596
const T * GetAttr(SCCOL nCol, SCROW nRow, TypedWhichId< T > nWhich) const
Definition: table.hxx:737
const std::optional< ScRange > & GetRepeatRowRange() const
Definition: table.hxx:813
void GetAllRowBreaks(::std::set< SCROW > &rBreaks, bool bPage, bool bManual) const
Definition: table5.cxx:332
void EndListening(const ScAddress &rAddress, SvtListener *pListener)
Definition: table5.cxx:1137
bool InterpretCellsIfNeeded(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Definition: table1.cxx:2615
bool RowHiddenLeaf(SCROW nRow, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
Definition: table5.cxx:510
bool bPendingRowHeights
Definition: table.hxx:250
bool SearchAllStyle(const SvxSearchItem &rSearchItem, const ScMarkData &rMark, ScRangeList &rMatchedRanges)
Definition: table6.cxx:748
void FillSeriesSimple(const ScCellValue &rSrcCell, SCCOLROW &rInner, SCCOLROW nIMin, SCCOLROW nIMax, const SCCOLROW &rCol, const SCCOLROW &rRow, bool bVertical, ScProgress *pProgress, sal_uInt64 &rProgress)
Definition: table4.cxx:1780
bool SearchAll(const SvxSearchItem &rSearchItem, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc)
Definition: table6.cxx:527
~ScTable() COVERITY_NOEXCEPT_FALSE
Definition: table1.cxx:321
void TransposeColPatterns(ScTable *pTransClip, SCCOL nCol1, SCCOL nCol, SCROW nRow1, SCROW nRow2, SCROW nCombinedStartRow, bool bIncludeFiltered, const std::vector< SCROW > &rFilteredRows, SCROW nRowDestOffset)
Transpose clipboard patterns.
Definition: table2.cxx:1049
SCSIZE GetPatternCount(SCCOL nCol) const
Definition: table4.cxx:2966
void CompileXML(sc::CompileFormulaContext &rCxt, ScProgress &rProgress)
Definition: table2.cxx:2194
bool IsBlockEmpty(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
Definition: table2.cxx:2359
::std::set< SCCOL > maColManualBreaks
Definition: table.hxx:203
bool SearchAndReplaceEmptyCells(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc)
Definition: table6.cxx:869
sal_uInt16 GetColWidth(SCCOL nCol, bool bHiddenAsZero=true) const
Definition: table2.cxx:3455
void CopyRowFiltered(const ScTable &rTable, SCROW nStartRow, SCROW nEndRow)
Definition: table5.cxx:907
Size GetPageSize() const
Definition: table5.cxx:1108
const OUString & GetPageStyle() const
Definition: table.hxx:401
sal_uInt16 GetRowHeight(SCROW nRow, SCROW *pStartRow, SCROW *pEndRow, bool bHiddenAsZero=true) const
Definition: table2.cxx:3553
ScFormulaCell * SetFormulaCell(SCCOL nCol, SCROW nRow, ScFormulaCell *pCell)
Takes ownership of pCell.
Definition: table2.cxx:1735
ScColContainer aCol
Definition: table.hxx:161
void GetAllColBreaks(::std::set< SCCOL > &rBreaks, bool bPage, bool bManual) const
Definition: table5.cxx:344
void SetColWidthOnly(SCCOL nCol, sal_uInt16 nNewWidth)
Definition: table2.cxx:3300
bool CreateStarQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam &rQueryParam)
Definition: table3.cxx:2778
void UndoToTable(sc::CopyToDocContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, InsertDeleteFlags nFlags, bool bMarked, ScTable *pDestTab)
Definition: table2.cxx:1497
void SetDirtyAfterLoad()
Definition: table2.cxx:2140
void MixData(sc::MixDocContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScPasteFunc nFunction, bool bSkipEmpty, const ScTable *pSrcTab)
Definition: table2.cxx:784
bool ValidColRow(SCCOL nCol, SCROW nRow) const
Definition: table.hxx:351
std::unique_ptr< ScBitMaskCompressedArray< SCROW, CRFlags > > pRowFlags
Definition: table.hxx:194
void GetAutoFormatAttr(SCCOL nCol, SCROW nRow, sal_uInt16 nIndex, ScAutoFormatData &rData)
Definition: table4.cxx:2757
sal_uInt16 GetOriginalWidth(SCCOL nCol) const
Definition: table2.cxx:3492
CommentCaptionState GetAllNoteCaptionsState(const ScRange &rRange, std::vector< sc::NoteEntry > &rNotes)
Definition: table2.cxx:1960
void SetLoadingRTL(bool bSet)
Definition: table1.cxx:396
bool HandleRefArrayForParallelism(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScFormulaCellGroupRef &mxGroup)
Definition: table1.cxx:2545
void RemoveEditTextCharAttribs(SCCOL nCol, SCROW nRow, const ScPatternAttr &rAttr)
Definition: table2.cxx:1813
void FindMaxRotCol(RowInfo *pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2)
Definition: table2.cxx:2452
bool IsColRowTabValid(const SCCOL nScCol, const SCROW nScRow, const SCTAB nScTab) const
Definition: table.hxx:345
void UpdateInsertTabAbs(SCTAB nNewPos)
Definition: table4.cxx:2908
bool SetOutlineTable(const ScOutlineTable *pNewOutline)
Definition: table2.cxx:91
OUString GetString(SCCOL nCol, SCROW nRow, const ScInterpreterContext *pContext=nullptr) const
Definition: table2.cxx:1774
bool HasData(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:2063
void RemoveCondFormatData(const ScRangeList &rRange, sal_uInt32 nIndex)
Definition: table2.cxx:2972
void SetRangeName(std::unique_ptr< ScRangeName > pNew)
Definition: table2.cxx:4250
bool IsEditActionAllowed(sc::ColRowEditAction eAction, SCCOLROW nStart, SCCOLROW nEnd) const
Definition: table7.cxx:344
sal_uInt16 GetCommonWidth(SCCOL nEndCol) const
Definition: table2.cxx:3502
ScLinkMode GetLinkMode() const
Definition: table.hxx:377
void UpdateScriptTypes(const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2)
Definition: table7.cxx:246
void PageStyleModified(const OUString &rNewName)
Definition: table5.cxx:1207
void FillPrintSaver(ScPrintSaverTab &rSaveTab) const
Definition: table1.cxx:2338
void SetRowFlags(SCROW nRow, CRFlags nNewFlags)
Definition: table2.cxx:3854
void MergeSelectionPattern(ScMergePatternState &rState, const ScMarkData &rMark, bool bDeep) const
Definition: table2.cxx:2821
const EditTextObject * GetEditText(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:1805
const ScPatternAttr * GetMostUsedPattern(SCCOL nCol, SCROW nStartRow, SCROW nEndRow) const
Definition: table2.cxx:2288
bool bScenario
Definition: table.hxx:243
ScColumn & CreateColumnIfNotExists(const SCCOL nScCol)
Definition: table.hxx:296
const ScColumnData & ColumnData(SCCOL nCol) const
Definition: table.hxx:1156
void FillAutoSimple(SCCOLROW nISrcStart, SCCOLROW nISrcEnd, SCCOLROW nIStart, SCCOLROW nIEnd, SCCOLROW &rInner, const SCCOLROW &rCol, const SCCOLROW &rRow, sal_uInt64 nActFormCnt, sal_uInt64 nMaxFormCnt, bool bHasFiltered, bool bVertical, bool bPositive, ScProgress *pProgress, sal_uInt64 &rProgress)
Definition: table4.cxx:1860
bool IsEmptyLine(SCROW nRow, SCCOL nStartCol, SCCOL nEndCol) const
Definition: table1.cxx:1251
bool mbPageBreaksValid
Definition: table.hxx:255
SCROW nRepeatEndY
Definition: table.hxx:180
bool GetDataStart(SCCOL &rStartCol, SCROW &rStartRow) const
Definition: table1.cxx:809
::std::set< SCROW > maRowPageBreaks
Definition: table.hxx:200
void GetAllNoteEntries(std::vector< sc::NoteEntry > &rNotes) const
Definition: table2.cxx:1943
const ScFormulaCell * GetFormulaCell(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:1829
bool SetEditText(SCCOL nCol, SCROW nRow, std::unique_ptr< EditTextObject > pEditText)
Definition: table2.cxx:1663
void QuickSort(ScSortInfoArray *, SCCOLROW nLo, SCCOLROW nHi)
Definition: table3.cxx:1689
void TransposeColNotes(ScTable *pTransClip, SCCOL nCol1, SCCOL nCol, SCROW nRow1, SCROW nRow2, SCROW nCombinedStartRow, bool bIncludeFiltered, SCROW nRowDestOffset)
Transpose clipboard notes.
Definition: table2.cxx:1120
void SetCodeName(const OUString &rNewName)
Definition: table.hxx:397
bool IsColValid(const SCCOL nScCol) const
Definition: table.hxx:337
void CopyUpdated(const ScTable *pPosTab, ScTable *pDestTab) const
Definition: table2.cxx:1549
std::unique_ptr< ScBitMaskCompressedArray< SCCOL, CRFlags > > mpColFlags
Definition: table.hxx:193
void SetStreamValid(bool bSet, bool bIgnoreLock=false)
Definition: table1.cxx:378
const ScSheetEvents * GetSheetEvents() const
Definition: table.hxx:328
void CopyRowHeight(const ScTable &rSrcTable, SCROW nStartRow, SCROW nEndRow, SCROW nSrcOffset)
Definition: table5.cxx:685
void GetDataArea(SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bIncludeOld, bool bOnlyDown) const
Definition: table1.cxx:885
void SetDirtyVar()
Definition: table2.cxx:2101
SCCOL GetLastChangedColFlagsWidth() const
Definition: table2.cxx:3920
void SortReorderAreaExtrasByColumn(const ScSortInfoArray *pArray, SCROW nDataRow1, SCROW nDataRow2, const ScDataAreaExtras &rDataAreaExtras, ScProgress *pProgress)
Definition: table3.cxx:925
bool bLoadingRTL
Definition: table.hxx:245
size_t GetNoteCount(SCCOL nCol) const
Definition: table2.cxx:1912
bool DeleteSparkline(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:1872
bool GetDataEntries(SCCOL nCol, SCROW nRow, std::set< ScTypedStrData > &rStrings)
Definition: table3.cxx:3020
void CopyScenarioTo(ScTable *pDestTab) const
Definition: table2.cxx:1567
tools::Long GetScaledRowHeight(SCROW nStartRow, SCROW nEndRow, double fScale) const
Definition: table2.cxx:3620
void FillAnalyse(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, FillCmd &rCmd, FillDateCmd &rDateCmd, double &rInc, sal_uInt16 &rMinDigits, ScUserListData *&rListData, sal_uInt16 &rListIndex, bool bHasFiltered, bool &rSkipOverlappedCells, std::vector< sal_Int32 > &rNonOverlappedCellIdx)
Definition: table4.cxx:241
void SetTableOpDirty(const ScRange &)
Definition: table2.cxx:2132
bool SearchStyle(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark)
Definition: table6.cxx:631
void CheckIntegrity() const
Definition: table7.cxx:646
sal_uInt64 GetWeightedCount() const
Definition: table3.cxx:3037
bool SetRowHidden(SCROW nStartRow, SCROW nEndRow, bool bHidden)
Definition: table5.cxx:572
sal_uLong nLinkRefreshDelay
Definition: table.hxx:171
bool bTableAreaValid
Definition: table.hxx:247
bool bActiveScenario
Definition: table.hxx:254
void CalculateInColumnInThread(ScInterpreterContext &rContext, SCCOL nColStart, SCCOL nColEnd, SCROW nRowStart, SCROW nRowEnd, unsigned nThisThread, unsigned nThreadsTotal)
Definition: table1.cxx:2633
void DeleteCol(const sc::ColumnSet &rRegroupCols, SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize, bool *pUndoOutline)
Definition: table2.cxx:356
void ApplyStyle(SCCOL nCol, SCROW nRow, const ScStyleSheet *rStyle)
Definition: table2.cxx:3006
std::optional< ScRange > moRepeatRowRange
Definition: table.hxx:227
void SetPageSize(const Size &rSize)
Definition: table5.cxx:1080
bool SearchAndReplace(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc, bool &bMatchedRangesWereClamped)
Definition: table6.cxx:807
std::unique_ptr< ScFlatBoolColSegments > mpFilteredCols
Definition: table.hxx:197
void FindAreaPos(SCCOL &rCol, SCROW &rRow, ScMoveDirection eDirection) const
Definition: table1.cxx:1377
void SetCondFormList(ScConditionalFormatList *pList)
Definition: table1.cxx:2682
void SyncColRowFlags()
Definition: table5.cxx:1059
tools::Long GetRowOffset(SCROW nRow, bool bHiddenAsZero=true) const
Definition: table2.cxx:4265
const std::optional< ScRange > & GetRepeatColRange() const
Definition: table.hxx:812
SCCOL nRepeatStartX
Definition: table.hxx:177
css::uno::Sequence< css::sheet::TablePageBreakData > GetRowBreakData() const
Definition: table5.cxx:464
void SetDirtyIfPostponed()
Mark formula cells dirty that have the mbPostponedDirty flag set or contain named ranges with relativ...
Definition: table2.cxx:2147
void GetUnprotectedCells(ScRangeList &rRangeList) const
Definition: table2.cxx:1993
bool ExtendMerge(SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bRefresh)
Definition: table2.cxx:2325
void SetColBreak(SCCOL nCol, bool bPage, bool bManual)
Definition: table5.cxx:449
void RestorePrintRanges(const ScPrintSaverTab &rSaveTab)
Definition: table1.cxx:2344
sal_uInt16 nLockCount
Definition: table.hxx:229
void CheckVectorizationState()
Definition: table2.cxx:2107
void CreateColumnIfNotExistsImpl(const SCCOL nScCol)
Definition: table1.cxx:2731
std::optional< sc::ColumnIterator > GetColumnIterator(SCCOL nCol, SCROW nRow1, SCROW nRow2) const
Definition: table7.cxx:425
bool IsPendingRowHeights() const
Definition: table.hxx:353
const ScStyleSheet * GetStyle(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:3060
void SetScriptType(SCCOL nCol, SCROW nRow, SvtScriptType nType)
Definition: table1.cxx:2472
void SetColWidth(SCCOL nCol, sal_uInt16 nNewWidth)
Definition: table2.cxx:3279
void SetMergedCells(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Definition: table2.cxx:2344
bool SetFormulaCells(SCCOL nCol, SCROW nRow, std::vector< ScFormulaCell * > &rCells)
Definition: table2.cxx:1746
ScPostIt * GetNote(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:1897
void CopyToTable(sc::CopyToDocContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, InsertDeleteFlags nFlags, bool bMarked, ScTable *pDestTab, const ScMarkData *pMarkData, bool bAsLink, bool bColRowFlags, bool bGlobalNamesToLocal, bool bCopyCaptions)
Definition: table2.cxx:1310
void MergeBlockFrame(SvxBoxItem *pLineOuter, SvxBoxInfoItem *pLineInner, ScLineFlags &rFlags, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
Definition: table2.cxx:2845
void CopyConditionalFormat(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCCOL nDx, SCROW nDy, const ScTable *pTable)
Definition: table2.cxx:630
bool HasRowPageBreak(SCROW nRow) const
Definition: table5.cxx:356
SCROW CountNonFilteredRows(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:983
void AddPrintRange(const ScRange &rNew)
Adds a new print ranges.
Definition: table1.cxx:2313
bool GetPrintArea(SCCOL &rEndCol, SCROW &rEndRow, bool bNotes, bool bCalcHiddens=false) const
Definition: table1.cxx:604
void SetRowHeight(SCROW nRow, sal_uInt16 nNewHeight)
Definition: table2.cxx:3312
OUString aLinkTab
Definition: table.hxx:170
void UpdateTranspose(const ScRange &rSource, const ScAddress &rDest, ScDocument *pUndoDoc)
Definition: table1.cxx:1948
void SetPatternAreaCondFormat(SCCOL nCol, SCROW nStartRow, SCROW nEndRow, const ScPatternAttr &rAttr, const ScCondFormatIndexes &rCondFormatIndexes)
Definition: table2.cxx:2989
void RemoveRowPageBreaks(SCROW nStartRow, SCROW nEndRow)
Definition: table5.cxx:394
bool TestInsertRow(SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize) const
Definition: table2.cxx:135
CRFlags GetColFlags(SCCOL nCol) const
Definition: table2.cxx:3874
void DeleteConditionalFormat(sal_uLong nOldIndex)
Definition: table1.cxx:2677
SCCOL nTableAreaX
Definition: table.hxx:209
void SortReorderAreaExtrasByRow(ScSortInfoArray *pArray, SCCOL nDataCol1, SCCOL nDataCol2, const ScDataAreaExtras &rDataAreaExtras, ScProgress *pProgress)
Definition: table3.cxx:898
bool HasColPageBreak(SCCOL nCol) const
Definition: table5.cxx:364
SCROW nTableAreaVisibleY
Definition: table.hxx:212
bool mbForceBreaks
Definition: table.hxx:256
bool CompileErrorCells(sc::CompileFormulaContext &rCxt, FormulaError nErrCode)
Definition: table2.cxx:2208
bool ColHidden(SCCOL nCol, SCCOL *pFirstCol=nullptr, SCCOL *pLastCol=nullptr) const
Definition: table5.cxx:555
OUString aLinkDoc
Definition: table.hxx:167
void UpdateReference(sc::RefUpdateContext &rCxt, ScDocument *pUndoDoc=nullptr, bool bIncludeDraw=true, bool bUpdateNoteCaptionPos=true)
Definition: table1.cxx:1831
bool HasColHeader(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
Definition: table3.cxx:2924
SCTAB nTab
Definition: table.hxx:214
bool HasUniformRowHeight(SCROW nRow1, SCROW nRow2) const
Definition: table7.cxx:257
std::unique_ptr< ScRangeList > pScenarioRanges
Definition: table.hxx:231
void SetRepeatArea(SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCROW nEndRow)
Definition: table5.cxx:1116
bool GetPrintAreaVer(SCCOL nStartCol, SCCOL nEndCol, SCROW &rEndRow, bool bNotes) const
Definition: table1.cxx:756
sal_uInt64 GetCodeCount() const
Definition: table3.cxx:3057
bool IsLayoutRTL() const
Definition: table.hxx:359
bool bCalcNotification
Definition: table.hxx:251
std::unique_ptr< ScOutlineTable > pOutlineTable
Definition: table.hxx:205
void SetValue(SCCOL nCol, SCROW nRow, const double &rVal)
Definition: table2.cxx:1762
void MergePatternArea(ScMergePatternState &rState, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, bool bDeep) const
Definition: table2.cxx:2835
bool RemoveFlags(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScMF nFlags)
Definition: table2.cxx:3170
tools::Long GetTotalRowHeight(SCROW nStartRow, SCROW nEndRow, bool bHiddenAsZero=true) const
Definition: table5.cxx:772
void StartListening(const ScAddress &rAddress, SvtListener *pListener)
Definition: table5.cxx:1129
sal_uInt16 GetPrintRangeCount() const
Definition: table.hxx:817
SCROW FirstNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:937
std::unique_ptr< ScPostIt > ReleaseNote(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:1889
Color aScenarioColor
Definition: table.hxx:232
formula::VectorRefArray FetchVectorRefArray(SCCOL nCol, SCROW nRow1, SCROW nRow2)
Definition: table1.cxx:2525
void DumpColumnStorage(SCCOL nCol) const
SCROW GetLOKFreezeRow() const
Definition: table7.cxx:594
SCROW GetHiddenRowCount(SCROW nRow) const
Definition: table2.cxx:3673
sc::MultiDataCellState HasMultipleDataCells(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
Definition: table7.cxx:35
void StartListeners(sc::StartListeningContext &rCxt, bool bAll)
Either start all formula cells as listeners unconditionally, or start those that are marked "needs li...
Definition: table2.cxx:1251
void InterpretDirtyCells(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Definition: table1.cxx:2608
bool IsLinked() const
Definition: table.hxx:378
void SetNumberFormat(SCCOL nCol, SCROW nRow, sal_uInt32 nNumberFormat)
Definition: table2.cxx:2273
OUString aName
Definition: table.hxx:163
bool ReservePatternCount(SCCOL nCol, SCSIZE nReserve)
Definition: table4.cxx:2982
sal_uInt16 GetTextWidth(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:86
short Compare(SCCOLROW nIndex1, SCCOLROW nIndex2) const
Definition: table3.cxx:1731
void UpdateMoveTab(sc::RefUpdateMoveTabContext &rCxt, SCTAB nTabNo, ScProgress *pProgress)
Definition: table1.cxx:2019
void InvalidateTextWidth(const ScAddress *pAdrFrom, const ScAddress *pAdrTo, bool bNumFormatChanged, bool bBroadcast)
Definition: table5.cxx:1213
void DestroySortCollator()
Definition: table3.cxx:644
void AttachFormulaCells(sc::StartListeningContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Definition: table2.cxx:1271
void PreprocessRangeNameUpdate(sc::EndListeningContext &rEndListenCxt, sc::CompileFormulaContext &rCompileCxt)
Definition: table7.cxx:225
void SetNeedsListeningGroup(SCCOL nCol, SCROW nRow)
Definition: table7.cxx:336
bool HasStringData(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:2071
SCROW GetLastFlaggedRow() const
Definition: table2.cxx:3890
void SetManualHeight(SCROW nStartRow, SCROW nEndRow, bool bManual)
Definition: table2.cxx:3440
void CopyOneCellFromClip(sc::CopyFromClipContext &rCxt, const SCCOL nCol1, const SCROW nRow1, const SCCOL nCol2, const SCROW nRow2, const SCROW nSrcRow, const ScTable *pSrcTab)
Definition: table7.cxx:126
bool IsColRowValid(const SCCOL nScCol, const SCROW nScRow) const
Definition: table.hxx:341
ScAddress maLOKFreezeCell
Definition: table.hxx:241
bool IsProtected() const
Definition: table5.cxx:1094
bool IsStreamValid() const
Definition: table.hxx:334
void SetRawString(SCCOL nCol, SCROW nRow, const svl::SharedString &rStr)
Definition: table2.cxx:1768
void GetFilteredFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam &rParam, ScFilterEntries &rFilterEntries, bool bFiltering)
Definition: table3.cxx:2992
void SetColFiltered(SCCOL nStartCol, SCCOL nEndCol, bool bFiltered)
Definition: table5.cxx:929
bool IsSorted(SCCOLROW nStart, SCCOLROW nEnd) const
Definition: table3.cxx:1768
void SetValues(const SCCOL nCol, const SCROW nRow, const std::vector< double > &rVals)
Definition: table7.cxx:181
void DeleteBeforeCopyFromClip(sc::CopyFromClipContext &rCxt, const ScTable &rClipTab, sc::ColumnSpanSet &rBroadcastSpans)
Definition: table7.cxx:98
void SetRepeatColRange(std::optional< ScRange > oNew)
Definition: table1.cxx:2285
void SetFormulaResults(SCCOL nCol, SCROW nRow, const double *pResults, size_t nLen)
Definition: table1.cxx:2625
ScDBData * GetAnonymousDBData()
Definition: table.hxx:394
void CompileAll(sc::CompileFormulaContext &rCxt)
Definition: table2.cxx:2185
const Color & GetTabBgColor() const
Definition: table.hxx:370
OUString GetAutoFillPreview(const ScRange &rSource, SCCOL nEndX, SCROW nEndY)
Definition: table4.cxx:1293
bool HasHiddenRows(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:540
void LimitChartArea(SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow) const
Definition: table1.cxx:1265
void FillFormulaVertical(const ScFormulaCell &rSrcCell, SCCOLROW &rInner, SCCOL nCol, SCROW nRow1, SCROW nRow2, ScProgress *pProgress, sal_uInt64 &rProgress)
Definition: table4.cxx:1715
OUString GetInputString(SCCOL nCol, SCROW nRow, bool bForceSystemLocale=false) const
Definition: table2.cxx:1790
void SetError(SCCOL nCol, SCROW nRow, FormulaError nError)
Definition: table4.cxx:2902
bool GetNextSpellingCell(SCCOL &rCol, SCROW &rRow, bool bInSel, const ScMarkData &rMark) const
Definition: table4.cxx:2914
OString dumpSheetGeomData(bool bColumns, SheetGeomType eGeomType)
Serializes the sheet's geometry data.
Definition: table7.cxx:485
void FillSparkline(bool bVertical, SCCOLROW nFixed, SCCOLROW nIteratingStart, SCCOLROW nIteratingEnd, SCCOLROW nFillStart, SCCOLROW nFillEnd)
Definition: table4.cxx:1242
bool ContainsNotesInRange(const ScRange &rRange) const
Definition: table2.cxx:1999
void SetFormula(SCCOL nCol, SCROW nRow, const ScTokenArray &rArray, formula::FormulaGrammar::Grammar eGram)
Definition: table2.cxx:1717
void MaybeAddExtraColumn(SCCOL &rCol, SCROW nRow, OutputDevice *pDev, double nPPTX, double nPPTY)
In case the cell text goes beyond the column width, move the max column position to the right.
Definition: table1.cxx:2158
bool bLayoutRTL
Definition: table.hxx:244
void GetLastDataPos(SCCOL &rCol, SCROW &rRow) const
Definition: table2.cxx:2052
sal_uInt16 GetOptimalColWidth(SCCOL nCol, OutputDevice *pDev, double nPPTX, double nPPTY, const Fraction &rZoomX, const Fraction &rZoomY, bool bFormula, const ScMarkData *pMarkData, const ScColWidthParam *pParam)
Definition: table1.cxx:430
void TransposeClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCROW nCombinedStartRow, SCROW nRowDestOffset, ScTable *pTransClip, InsertDeleteFlags nFlags, bool bAsLink, bool bIncludeFiltered)
Definition: table2.cxx:987
void SkipFilteredRows(SCROW &rRow, SCROW &rLastNonFilteredRow, bool bForward)
Definition: table6.cxx:281
bool ReplaceAll(const SvxSearchItem &rSearchItem, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc, bool &bMatchedRangesWereClamped)
Definition: table6.cxx:591
bool GetTableArea(SCCOL &rEndCol, SCROW &rEndRow, bool bCalcHiddens=false) const
Definition: table1.cxx:576
void RemoveRowBreak(SCROW nRow, bool bPage, bool bManual)
Definition: table5.cxx:404
void BroadcastRecalcOnRefMove()
Broadcast dirty formula cells that contain functions such as CELL(), COLUMN() or ROW() which may chan...
Definition: table2.cxx:2155
const Color & GetScenarioColor() const
Definition: table.hxx:368
bool HasAttribSelection(const ScMarkData &rMark, HasAttrFlags nMask) const
Definition: table2.cxx:2310
tools::Long GetNeededSize(SCCOL nCol, SCROW nRow, OutputDevice *pDev, double nPPTX, double nPPTY, const Fraction &rZoomX, const Fraction &rZoomY, bool bWidth, bool bTotalSize, bool bInPrintTwips=false)
Definition: table1.cxx:443
void HandleStuffAfterParallelCalculation(SCCOL nColStart, SCCOL nColEnd, SCROW nRow, size_t nLen, ScInterpreter *pInterpreter)
Definition: table1.cxx:2650
bool IsSortCollatorGlobal() const
Definition: table3.cxx:622
std::shared_ptr< sc::Sparkline > GetSparkline(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:1847
bool IsVisible() const
Definition: table.hxx:331
SCROW nTableAreaY
Definition: table.hxx:210
ScTable(ScDocument &rDoc, SCTAB nNewTab, const OUString &rNewName, bool bColInfo=true, bool bRowInfo=true)
Definition: table1.cxx:235
bool TestInsertCol(SCROW nStartRow, SCROW nEndRow, SCSIZE nSize) const
Definition: table2.cxx:260
bool HasValueData(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:2079
void UpdateCompile(bool bForceIfNameInUse=false)
Definition: table1.cxx:2047
bool DoSubTotals(ScSubTotalParam &rParam)
Definition: table3.cxx:2088
ScColumnData aDefaultColData
Definition: table.hxx:261
void UnshareFormulaCells(SCCOL nCol, std::vector< SCROW > &rRows)
Definition: table7.cxx:278
ScColumnData & GetColumnData(SCCOL nCol)
Definition: table.hxx:305
ScColumnsRange GetWritableColumnsRange(SCCOL begin, SCCOL end)
Definition: table1.cxx:2700
ScConditionalFormatList * GetCondFormList()
Definition: table1.cxx:2687
SCROW mnEndRow
Definition: table.hxx:186
OString dumpColumnRowGroups(bool bColumns) const
Returns list-of-spans representation of the column/row groupings encoded as an OString.
Definition: table7.cxx:578
void DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
Definition: table2.cxx:3756
void CreateAllNoteCaptions()
Definition: table2.cxx:1928
void StartOutlineTable()
Definition: table2.cxx:115
bool SetRowHeightRange(SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight, double nPPTY, bool bApi)
Definition: table2.cxx:3373
void CollectBroadcasterState(sc::BroadcasterState &rState) const
Definition: table7.cxx:652
void LockTable()
Definition: table2.cxx:2806
bool BroadcastBroadcasters(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SfxHintId nHint)
Broadcast single broadcasters in range, without explicitly setting anything dirty,...
Definition: table2.cxx:2162
void SetProtection(const ScTableProtection *pProtect)
Definition: table5.cxx:1096
void InsertRow(SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize)
Definition: table2.cxx:153
void EndListeningIntersectedGroups(sc::EndListeningContext &rCxt, const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2, std::vector< ScAddress > *pGroupPos)
Definition: table7.cxx:317
bool bGlobalKeepQuery
Definition: table.hxx:252
bool IsLoadingRTL() const
Definition: table.hxx:360
bool HasFilteredRows(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:877
formula::FormulaTokenRef ResolveStaticReference(SCCOL nCol, SCROW nRow)
Definition: table1.cxx:2490
void ShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
Definition: table2.cxx:3788
bool SetString(SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString &rString, const ScSetStringParam *pParam=nullptr)
Definition: table2.cxx:1651
void ApplyBlockFrame(const SvxBoxItem &rLineOuter, const SvxBoxInfoItem *pLineInner, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow)
Definition: table2.cxx:2859
void SetLoadingMedium(bool bLoading)
Definition: table2.cxx:2172
bool RowHidden(SCROW nRow, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
Definition: table5.cxx:480
void SortReorderByRow(ScSortInfoArray *pArray, SCCOL nCol1, SCCOL nCol2, ScProgress *pProgress, bool bOnlyDataAreaExtras)
Definition: table3.cxx:1087
ScOutlineTable * GetOutlineTable()
Definition: table.hxx:294
bool HasColManualBreak(SCCOL nCol) const
Definition: table5.cxx:380
void SetRowBreak(SCROW nRow, bool bPage, bool bManual)
Definition: table5.cxx:434
void DBShowRow(SCROW nRow, bool bShow)
Definition: table2.cxx:3730
const ScBitMaskCompressedArray< SCROW, CRFlags > * GetRowFlagsArray() const
Definition: table.hxx:917
void RemoveManualBreaks()
Definition: table5.cxx:304
SCCOL nRepeatEndX
Definition: table.hxx:178
ScRangeVec aPrintRanges
Definition: table.hxx:224
bool IsEmptyData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
Definition: table1.cxx:1191
::std::set< SCROW > maRowManualBreaks
Definition: table.hxx:201
SCSIZE GetEmptyLinesInBlock(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScDirection eDir) const
Definition: table1.cxx:1200
SCROW GetNextManualBreak(SCROW nRow) const
Get the row position of the next manual break that occurs at or below specified row.
Definition: table5.cxx:388
bool mbCellAreaEmpty
Definition: table.hxx:184
void FillFormula(const ScFormulaCell *pSrcCell, SCCOL nDestCol, SCROW nDestRow, bool bLast)
Definition: table4.cxx:773
void SetAnonymousDBData(std::unique_ptr< ScDBData > pDBData)
Definition: table1.cxx:2446
void FillSeries(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt64 nFillCount, FillDir eFillDir, FillCmd eFillCmd, FillDateCmd eFillDateCmd, double nStepValue, double nMaxValue, sal_uInt16 nMinDigits, bool bAttribs, ScProgress *pProgress, bool bSkipOverlappedCells=false, std::vector< sal_Int32 > *pNonOverlappedCellIdx=nullptr)
Definition: table4.cxx:2154
SCROW LastNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:960
void SetPendingRowHeights(bool bSet)
Definition: table1.cxx:386
std::unique_ptr< ScCompressedArray< SCCOL, sal_uInt16 > > mpColWidth
Definition: table.hxx:190
void RestoreFromCache(SvStream &rStrm)
Definition: table7.cxx:475
const OUString & GetLinkFlt() const
Definition: table.hxx:380
bool ShrinkToUsedDataArea(bool &o_bShrunk, SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bColumnsOnly, bool bStickyTopRow, bool bStickyLeftCol, ScDataAreaExtras *pDataAreaExtras) const
Definition: table1.cxx:1049
sc::Sparkline * CreateSparkline(SCCOL nCol, SCROW nRow, std::shared_ptr< sc::SparklineGroup > const &pSparklineGroup)
Definition: table2.cxx:1859
OUString aComment
Definition: table.hxx:165
void CopyFromClip(sc::CopyFromClipContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCCOL nDx, SCROW nDy, ScTable *pTable)
Definition: table2.cxx:723
SCCOL GetAllocatedColumnsCount() const
Definition: table.hxx:1143
void CopyColFiltered(const ScTable &rTable, SCCOL nStartCol, SCCOL nEndCol)
Definition: table5.cxx:892
const OUString & GetLinkOpt() const
Definition: table.hxx:381
void CopyToClip(sc::CopyToClipContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable *pTable)
Definition: table2.cxx:489
void SetVisible(bool bVis)
Definition: table1.cxx:370
SCROW nRepeatStartY
Definition: table.hxx:179
const ScDocument & GetDoc() const
Definition: table.hxx:291
bool InitColumnBlockPosition(sc::ColumnBlockPosition &rBlockPos, SCCOL nCol)
Definition: table2.cxx:712
OUString GetFormula(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:1821
sal_Int64 GetHashCode() const
Definition: table1.cxx:350
OUString aCodeName
Definition: table.hxx:164
bool GetDataAreaSubrange(ScRange &rRange) const
Definition: table1.cxx:1008
void SetOptimalHeightOnly(sc::RowHeightContext &rCxt, SCROW nStartRow, SCROW nEndRow, ScProgress *pOuterProgress=nullptr, sal_uInt64 nProgressStart=0)
Definition: table1.cxx:493
void ConvertFormulaToValue(sc::EndListeningContext &rCxt, const SCCOL nCol1, const SCROW nRow1, const SCCOL nCol2, const SCROW nRow2, sc::TableValues *pUndo)
Definition: table7.cxx:205
void SetDirtyFromClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sc::ColumnSpanSet &rBroadcastSpans)
Definition: table2.cxx:1287
void ExtendPrintArea(OutputDevice *pDev, SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW nEndRow)
Definition: table1.cxx:2069
void ResetChanged(const ScRange &rRange)
Definition: table2.cxx:2226
void SplitFormulaGroups(SCCOL nCol, std::vector< SCROW > &rRows)
Definition: table7.cxx:270
void SetLayoutRTL(bool bSet)
Definition: table1.cxx:391
sal_uLong AddCondFormat(std::unique_ptr< ScConditionalFormat > pNew)
Definition: table1.cxx:2451
bool CreateQueryParam(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam &rQueryParam)
Definition: table3.cxx:2884
void SetRowHeightOnly(SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight)
Set specified row height to specified ranges.
Definition: table2.cxx:3429
void UpdatePageBreaks(const ScRange *pUserArea)
Definition: table5.cxx:52
bool EnsureFormulaCellResults(const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2, bool bSkipRunning=false)
Definition: table7.cxx:433
void InvalidateScenarioRanges()
Definition: table2.cxx:1619
void SwapNonEmpty(sc::TableValues &rValues, sc::StartListeningContext &rStartCxt, sc::EndListeningContext &rEndCxt)
Definition: table7.cxx:216
CRFlags GetRowFlags(SCROW nRow) const
Definition: table2.cxx:3882
OUString aLinkOpt
Definition: table.hxx:169
void CompileColRowNameFormula(sc::CompileFormulaContext &rCxt)
Definition: table4.cxx:2960
std::unique_ptr< ScFlatBoolRowSegments > mpHiddenRows
Definition: table.hxx:196
SCTAB GetTab() const
Definition: table.hxx:292
void finalizeOutlineImport()
Definition: table7.cxx:451
static void UpdateSearchItemAddressForReplace(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow)
Replace behaves differently to the Search; adjust the rCol and rRow accordingly.
Definition: table6.cxx:557
sc::SparklineList maSparklineList
Definition: table.hxx:239
ScScenarioFlags GetScenarioFlags() const
Definition: table.hxx:372
void SortReorderByRowRefUpdate(ScSortInfoArray *pArray, SCCOL nCol1, SCCOL nCol2, ScProgress *pProgress)
Definition: table3.cxx:1249
bool RowFiltered(SCROW nRow, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
Definition: table5.cxx:841
std::set< SCCOL > QueryColumnsWithFormulaCells() const
Definition: table7.cxx:633
svl::SharedString GetSharedString(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:1754
void PreprocessDBDataUpdate(sc::EndListeningContext &rEndListenCxt, sc::CompileFormulaContext &rCompileCxt)
Definition: table7.cxx:232
bool HasStringCells(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
Definition: table2.cxx:2087
std::unique_ptr< ScFlatUInt16RowSegments > mpRowHeights
Definition: table.hxx:191
SCROW CountVisibleRows(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:751
CellType GetCellType(const ScAddress &rPos) const
Definition: table.hxx:478
void SetScenarioComment(const OUString &rComment)
Definition: table.hxx:367
void TransferCellValuesTo(const SCCOL nCol, SCROW nRow, size_t nLen, sc::CellValues &rDest)
Definition: table7.cxx:189
bool IsSelectionEditable(const ScMarkData &rMark, bool *pOnlyNotBecauseOfMatrix=nullptr) const
Definition: table2.cxx:2722
void MixMarked(sc::MixDocContext &rCxt, const ScMarkData &rMark, ScPasteFunc nFunction, bool bSkipEmpty, const ScTable *pSrcTab)
Definition: table2.cxx:793
void ForgetNoteCaptions(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, bool bPreserveData)
Definition: table2.cxx:1934
SCSIZE FillMaxRot(RowInfo *pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2, SCCOL nCol, SCROW nAttrRow1, SCROW nAttrRow2, SCSIZE nArrY, const ScPatternAttr *pPattern, const SfxItemSet *pCondSet)
Definition: table2.cxx:2383
bool GetNextMarkedCell(SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark) const
Definition: table1.cxx:1757
sc::SparklineList & GetSparklineList()
Definition: table2.cxx:1882
std::unique_ptr< ScRangeName > mpRangeName
Definition: table.hxx:236
void RemoveSubTotals(ScSubTotalParam &rParam)
Definition: table3.cxx:1985
SvtScriptType GetRangeScriptType(sc::ColumnBlockPosition &rBlockPos, SCCOL nCol, SCROW nRow1, SCROW nRow2)
Definition: table1.cxx:2480
void RemoveColBreak(SCCOL nCol, bool bPage, bool bManual)
Definition: table5.cxx:419
void AutoFormatArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScPatternAttr &rAttr, sal_uInt16 nFormatNo)
Definition: table4.cxx:2610
bool Replace(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, OUString &rUndoStr, ScDocument *pUndoDoc)
Definition: table6.cxx:575
sal_Int32 GetMaxStringLen(SCCOL nCol, SCROW nRowStart, SCROW nRowEnd, rtl_TextEncoding eCharSet) const
Definition: table3.cxx:3068
ScScenarioFlags nScenarioFlags
Definition: table.hxx:234
SvtBroadcaster * GetBroadcaster(SCCOL nCol, SCROW nRow)
Definition: table1.cxx:2577
void InvalidateCellArea()
Definition: table.hxx:614
const ScPatternAttr * GetPattern(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:2281
ScSortParam aSortParam
Definition: table.hxx:221
bool SetOptimalHeight(sc::RowHeightContext &rCxt, SCROW nStartRow, SCROW nEndRow, bool bApi, ScProgress *pOuterProgress=nullptr, sal_uInt64 nProgressStart=0)
Definition: table1.cxx:460
::std::vector< ScRange > ScRangeVec
Definition: table.hxx:159
void CopyCellValuesFrom(const SCCOL nCol, SCROW nRow, const sc::CellValues &rSrc)
Definition: table7.cxx:197
void ExtendHidden(SCCOL &rX1, SCROW &rY1, SCCOL &rX2, SCROW &rY2)
Definition: table2.cxx:3969
SCCOL nTableAreaVisibleX
Definition: table.hxx:211
void FindRangeNamesInUse(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sc::UpdatedRangeNames &rIndexes) const
Definition: table1.cxx:2062
void SetCalcNotification(bool bSet)
Definition: table2.cxx:130
const SfxPoolItem * GetAttr(SCCOL nCol, SCROW nRow, sal_uInt16 nWhich) const
Definition: table2.cxx:2239
sal_Int32 GetMaxNumberStringLen(sal_uInt16 &nPrecision, SCCOL nCol, SCROW nRowStart, SCROW nRowEnd) const
Definition: table3.cxx:3077
void CompileHybridFormula(sc::StartListeningContext &rStartListenCxt, sc::CompileFormulaContext &rCompileCxt)
Definition: table7.cxx:239
tools::Long GetColOffset(SCCOL nCol, bool bHiddenAsZero=true) const
Definition: table2.cxx:4355
void SetScenario(bool bFlag)
Definition: table1.cxx:411
bool IsPrintEntireSheet() const
Returns true, if the sheet is always printed.
Definition: table.hxx:820
void CopyPrintRange(const ScTable &rTable)
Definition: table1.cxx:2258
void SetPrintEntireSheet()
Marks the specified sheet to be printed completely.
Definition: table1.cxx:2324
bool bPrintEntireSheet
Definition: table.hxx:253
SCCOL ClampToAllocatedColumns(SCCOL nCol) const
Definition: table.hxx:1142
const ScTableProtection * GetProtection() const
Definition: table5.cxx:1106
sal_uInt64 GetCellCount() const
Definition: table3.cxx:3027
void EndListeningIntersectedGroup(sc::EndListeningContext &rCxt, SCCOL nCol, SCROW nRow, std::vector< ScAddress > *pGroupPos)
Definition: table7.cxx:308
ScDocument & rDocument
Definition: table.hxx:215
void RegroupFormulaCells(SCCOL nCol)
Definition: table7.cxx:286
void SetPattern(const ScAddress &rPos, const ScPatternAttr &rAttr)
Definition: table2.cxx:3182
void SetColManualBreaks(::std::set< SCCOL > &&rBreaks)
Definition: table5.cxx:325
void SetActiveScenario(bool bSet)
Definition: table.hxx:374
void StripHidden(SCCOL &rX1, SCROW &rY1, SCCOL &rX2, SCROW &rY2)
Definition: table2.cxx:3999
SCCOL FindNextVisibleColWithContent(SCCOL nCol, bool bRight, SCROW nRow) const
Definition: table1.cxx:1314
bool ApplyFlags(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScMF nFlags)
Definition: table2.cxx:3160
void CopyColHidden(const ScTable &rTable, SCCOL nStartCol, SCCOL nEndCol)
Definition: table5.cxx:656
SCROW GetFirstEditTextRow(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
Definition: table2.cxx:1682
const ScRangeList * GetScenarioRanges() const
Definition: table2.cxx:1624
void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, ScFilterEntries &rFilterEntries, bool bFiltering=false)
Definition: table3.cxx:2982
void SetScenarioColor(const Color &rNew)
Definition: table.hxx:369
void MarkScenarioIn(ScMarkData &rMark, ScScenarioFlags nNeededBits) const
Definition: table2.cxx:1585
void GetScenarioComment(OUString &rComment) const
Definition: table.hxx:366
void Reorder(const sc::ReorderParam &rParam)
Definition: table3.cxx:1876
SvtScriptType GetScriptType(SCCOL nCol, SCROW nRow) const
Definition: table1.cxx:2464
bool ValidNextPos(SCCOL nCol, SCROW nRow, const ScMarkData &rMark, bool bMarked, bool bUnprotected) const
Definition: table1.cxx:1439
bool HasManualBreaks() const
Definition: table5.cxx:313
bool IsManualRowHeight(SCROW nRow) const
Definition: table5.cxx:1004
ScDocument & GetDoc()
Definition: table.hxx:290
bool ReplaceAllStyle(const SvxSearchItem &rSearchItem, const ScMarkData &rMark, ScRangeList &rMatchedRanges, ScDocument *pUndoDoc)
Definition: table6.cxx:780
void StoreToCache(SvStream &rStrm) const
Definition: table7.cxx:459
void GetNextPos(SCCOL &rCol, SCROW &rRow, SCCOL nMovX, SCROW nMovY, bool bMarked, bool bUnprotected, const ScMarkData &rMark, SCCOL nTabStartCol) const
Definition: table1.cxx:1512
SCROW GetLastDataRow(SCCOL nCol1, SCCOL nCol2, SCROW nLastRow, ScDataAreaExtras *pDataAreaExtras=nullptr) const
Definition: table1.cxx:1173
void Fill(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt64 nFillCount, FillDir eFillDir, FillCmd eFillCmd, FillDateCmd eFillDateCmd, double nStepValue, double nMaxValue, ScProgress *pProgress)
Definition: table4.cxx:2599
OString dumpHiddenFiltered(bool bColumns, bool bHidden)
Returns list-of-spans representation of hidden/filtered states of columns/rows encoded as an OString.
Definition: table7.cxx:558
OUString GetUpperCellString(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:4214
void ApplySelectionStyle(const ScStyleSheet &rStyle, const ScMarkData &rMark)
Definition: table2.cxx:3044
double GetValue(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:1798
const OUString & GetCodeName() const
Definition: table.hxx:396
const ScRange * GetPrintRange(sal_uInt16 nPos) const
Definition: table1.cxx:2333
void SetSheetEvents(std::unique_ptr< ScSheetEvents > pNew)
Definition: table2.cxx:121
void SetName(const OUString &rNewName)
Definition: table1.cxx:355
void CopyCaptionsToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable *pDestTab, bool bCloneCaption)
Definition: table2.cxx:1483
void DeleteBroadcasters(sc::ColumnBlockPosition &rBlockPos, SCCOL nCol, SCROW nRow1, SCROW nRow2)
Definition: table1.cxx:2585
bool RefVisible(const ScFormulaCell *pCell)
Definition: table2.cxx:4192
SCROW GetRowForHeight(tools::Long nHeight) const
Get the last row such that the height of row 0 to the end row is as high as possible without exceedin...
Definition: table2.cxx:4288
void ApplyPatternIfNumberformatIncompatible(const ScRange &rRange, const ScPatternAttr &rPattern, SvNumFormatType nNewType)
Definition: table2.cxx:2945
void DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, InsertDeleteFlags nDelFlag, bool bBroadcast=true, sc::ColumnSpanSet *pBroadcastSpans=nullptr)
Definition: table2.cxx:421
bool SetLOKFreezeCol(SCCOL nFreezeCol)
Definition: table7.cxx:599
void StartListeningFormulaCells(sc::StartListeningContext &rStartCxt, sc::EndListeningContext &rEndCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Definition: table2.cxx:1298
bool SetLOKFreezeRow(SCROW nFreezeRow)
Definition: table7.cxx:616
void CopySparklinesToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable *pDestTab)
Definition: table2.cxx:1471
void TestTabRefAbs(SCTAB nTable) const
Definition: table4.cxx:2947
void SetScenarioFlags(ScScenarioFlags nNew)
Definition: table.hxx:373
SCROW GetLastChangedRowFlagsWidth() const
Definition: table2.cxx:3934
std::unique_ptr< ScTableProtection > pTabProtection
Definition: table.hxx:188
void IncDate(double &rVal, sal_uInt16 &nDayOfMonth, double nStep, FillDateCmd eCmd)
Definition: table4.cxx:1586
void ClearSelectionItems(const sal_uInt16 *pWhich, const ScMarkData &rMark)
Definition: table2.cxx:3254
bool UpdateOutlineRow(SCROW nStartRow, SCROW nEndRow, bool bShow)
Definition: table2.cxx:3961
const OUString & GetName() const
Definition: table.hxx:390
void CopyRowHidden(const ScTable &rTable, SCROW nStartRow, SCROW nEndRow)
Definition: table5.cxx:671
void InitSortCollator(const ScSortParam &rPar)
Definition: table3.cxx:628
::std::set< SCCOL > maColPageBreaks
Definition: table.hxx:202
bool IsStyleSheetUsed(const ScStyleSheet &rStyle) const
Definition: table2.cxx:3119
void GetFirstDataPos(SCCOL &rCol, SCROW &rRow) const
Definition: table2.cxx:2037
std::optional< ScRange > moRepeatColRange
Definition: table.hxx:226
short CompareCell(sal_uInt16 nSort, ScRefCellValue &rCell1, SCCOL nCell1Col, SCROW nCell1Row, ScRefCellValue &rCell2, SCCOL nCell2Col, SCROW nCell2Row) const
Definition: table3.cxx:1525
void SetTabNo(SCTAB nNewTab)
Definition: table1.cxx:2055
void TopTenQuery(ScQueryParam &)
Definition: table3.cxx:2350
bool HasRowManualBreak(SCROW nRow) const
Definition: table5.cxx:372
bool Search(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, OUString &rUndoStr, ScDocument *pUndoDoc)
Definition: table6.cxx:317
void CalcAfterLoad(sc::CompileFormulaContext &rCxt, bool bStartListening)
Definition: table2.cxx:2220
void SetPageStyle(const OUString &rName)
Definition: table5.cxx:1165
std::atomic< bool > bStreamValid
this is touched from formula group threading context
Definition: table.hxx:258
void SetRowManualBreaks(::std::set< SCROW > &&rBreaks)
Definition: table5.cxx:318
void ChangeSelectionIndent(bool bIncrement, const ScMarkData &rMark)
Definition: table2.cxx:3231
SCROW GetNotePosition(SCCOL nCol, size_t nIndex) const
Definition: table2.cxx:1920
void DeleteEmptyBroadcasters()
Definition: table1.cxx:2594
double * GetValueCell(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:1782
bool IsMerged(SCCOL nCol, SCROW nRow) const
Definition: table7.cxx:27
void GetAutoFormatData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScAutoFormatData &rData)
Definition: table4.cxx:2830
void SetEmptyCell(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:1709
std::unique_ptr< utl::TextSearch > pSearchText
Definition: table.hxx:216
void InsertCol(const sc::ColumnSet &rRegroupCols, SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize)
Definition: table2.cxx:277
void ClearPrintRanges()
Removes all print ranges.
Definition: table1.cxx:2303
std::unique_ptr< ScSheetEvents > pSheetEvents
Definition: table.hxx:207
bool ValidRow(SCROW nRow) const
Definition: table.hxx:350
bool SearchRangeForEmptyCell(const ScRange &rRange, const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, OUString &rUndoStr)
Definition: table6.cxx:971
bool mbCellAreaDirty
Definition: table.hxx:183
void ApplyPatternArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScPatternAttr &rAttr, ScEditDataArray *pDataArray=nullptr, bool *const pIsChanged=nullptr)
Definition: table2.cxx:2879
SCSIZE Query(const ScQueryParam &rQueryParam, bool bKeepSub)
Definition: table3.cxx:2597
void ApplyPattern(SCCOL nCol, SCROW nRow, const ScPatternAttr &rAttr)
Definition: table2.cxx:2873
void SetRepeatRowRange(std::optional< ScRange > oNew)
Definition: table1.cxx:2294
const OUString & GetLinkDoc() const
Definition: table.hxx:379
bool SearchCell(const SvxSearchItem &rSearchItem, SCCOL nCol, sc::ColumnBlockConstPosition &rBlockPos, SCROW nRow, const ScMarkData &rMark, OUString &rUndoStr, ScDocument *pUndoDoc)
Definition: table6.cxx:50
bool TestRemoveSubTotals(const ScSubTotalParam &rParam)
Definition: table3.cxx:1951
void GetNotesInRange(const ScRange &rRange, std::vector< sc::NoteEntry > &rNotes) const
Definition: table2.cxx:1949
Stores individual user-defined sort list.
Definition: userlist.hxx:33
Think of this as a mini-ScColumn like storage that only stores cell values in a column.
Definition: cellvalues.hxx:42
Simple container to keep track of sheet - column pair.
Definition: columnset.hxx:24
Structure that stores segments of boolean flags per column, and perform custom action on those segmen...
Provides methods to allow direct shifting of document content without broadcasting or shifting of bro...
Iterate through all edit text cells in a given sheet.
Optimized ColumnSpanSet version that operates on a single ScRange.
Tracks and gathers all created sparklines and sparkline groups.
Sparkline data, used for rendering the content of a cell.
Definition: Sparkline.hxx:29
Stores cell values for multiple tables.
Definition: cellvalues.hxx:89
Keep track of all named expressions that have been updated during reference update.
constexpr double nPPTX
constexpr double nPPTY
SheetGeomType
Represents the type of sheet geometry data.
Definition: document.hxx:277
CommentCaptionState
Definition: document.hxx:263
ScObjectHandling
Definition: drwlayer.hxx:91
FormulaError
ScMoveDirection
Definition: global.hxx:325
CellType
Definition: global.hxx:271
@ CELLTYPE_NONE
Definition: global.hxx:272
UpdateRefMode
Definition: global.hxx:300
ScPasteFunc
Definition: global.hxx:180
InsertDeleteFlags
Definition: global.hxx:149
HasAttrFlags
Definition: global.hxx:184
FillDateCmd
Definition: global.hxx:333
ScLinkMode
Definition: global.hxx:214
ScScenarioFlags
Definition: global.hxx:225
ScDirection
Definition: global.hxx:342
CRFlags
Definition: global.hxx:125
FillCmd
Definition: global.hxx:316
FillDir
Definition: global.hxx:308
SfxHintId
SvtScriptType
::boost::intrusive_ptr< FormulaToken > FormulaTokenRef
CAUTION! The following defines must be in the same namespace as the respective type.
Definition: broadcast.cxx:15
ColRowEditAction
Definition: global.hxx:426
long Long
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:398
sal_uIntPtr sal_uLong
Store arbitrary cell value of any kind.
Definition: cellvalue.hxx:32
Struct to hold non-data extended area, used with ScDocument::ShrinkToUsedDataArea().
Definition: sortparam.hxx:44
This is very similar to ScCellValue, except that it references the original value instead of copying ...
Definition: cellvalue.hxx:108
Store parameters used in the ScDocument::SetString() method.
Definition: stringutil.hxx:35
Store position data for column array storage.
Context for reference update during shifting, moving or copying of cell ranges.
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
Definition: types.hxx:23
sal_Int16 SCTAB
Definition: types.hxx:22
::boost::intrusive_ptr< ScFormulaCellGroup > ScFormulaCellGroupRef
Definition: types.hxx:43
sal_Int16 SCCOL
Definition: types.hxx:21
sal_Int32 SCROW
Definition: types.hxx:17
SvNumFormatType
std::unordered_map< sal_uInt32, sal_uInt32 > SvNumberFormatterMergeMap