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
60class StartListeningContext;
61class EndListeningContext;
62class CopyFromClipContext;
63class CopyToClipContext;
64class CopyToDocContext;
65class MixDocContext;
66class ColumnSpanSet;
67class RangeColumnSpanSet;
68class ColumnSet;
69struct ColumnBlockPosition;
70class TableColumnBlockPositionSet;
71struct RefUpdateContext;
72struct RefUpdateInsertTabContext;
73struct RefUpdateDeleteTabContext;
74struct RefUpdateMoveTabContext;
75struct NoteEntry;
76class DocumentStreamAccess;
77class CellValues;
78class TableValues;
79class RowHeightContext;
80class CompileFormulaContext;
81struct SetFormulaDirtyContext;
82class ColumnIterator;
83class ScDrawObjData;
84}
85
86class SfxItemSet;
88class SvxBoxInfoItem;
89class SvxBoxItem;
90class SvxSearchItem;
91
93class ScEditDataArray;
94class ScFormulaCell;
95class ScOutlineTable;
96class ScPrintSaverTab;
97class ScProgress;
98class ScRangeList;
99class ScSheetEvents;
100class ScSortInfoArray;
103class ScStyleSheet;
105class ScUserListData;
106struct RowInfo;
107class ScFunctionData;
108class CollatorWrapper;
112struct ScSetStringParam;
113struct ScColWidthParam;
114class ScRangeName;
115class ScDBData;
116class ScHint;
117class ScPostIt;
119
120
121class ScColumnsRange final
122{
123 public:
124 class Iterator final
125 {
127 public:
128 typedef std::bidirectional_iterator_tag iterator_category;
131 typedef const SCCOL* pointer;
133
134 explicit Iterator(SCCOL nCol) : mCol(nCol) {}
135
136 Iterator& operator++() { ++mCol; return *this;}
137 Iterator& operator--() { --mCol; return *this;}
138
139 // Comparing iterators from different containers is undefined, so comparing mCol is enough.
140 bool operator==(const Iterator & rOther) const {return mCol == rOther.mCol;}
141 bool operator!=(const Iterator & rOther) const {return !(*this == rOther);}
142 SCCOL operator*() const {return mCol;}
143 };
144
145 ScColumnsRange(SCCOL nBegin, SCCOL nEnd) : maBegin(nBegin), maEnd(nEnd) {}
146 const Iterator & begin() { return maBegin; }
147 const Iterator & end() { return maEnd; }
148 std::reverse_iterator<Iterator> rbegin() { return std::reverse_iterator<Iterator>(maEnd); }
149 std::reverse_iterator<Iterator> rend() { return std::reverse_iterator<Iterator>(maBegin); }
150private:
153};
154
156{
157private:
158 typedef ::std::vector< ScRange > ScRangeVec;
159
161
162 OUString aName;
163 OUString aCodeName;
164 OUString aComment;
165
166 OUString aLinkDoc;
167 OUString aLinkFlt;
168 OUString aLinkOpt;
169 OUString aLinkTab;
172
173 // page style template
174 OUString aPageStyle;
175 Size aPageSizeTwips; // size of the print-page
176 SCCOL nRepeatStartX; // repeating rows/columns
177 SCCOL nRepeatEndX; // REPEAT_NONE, if not used
180
181 // last used col and row
186
187 std::unique_ptr<ScTableProtection> pTabProtection;
188
189 std::unique_ptr<ScCompressedArray<SCCOL, sal_uInt16>> mpColWidth;
190 std::unique_ptr<ScFlatUInt16RowSegments> mpRowHeights;
191
192 std::unique_ptr<ScBitMaskCompressedArray<SCCOL, CRFlags>> mpColFlags;
193 std::unique_ptr<ScBitMaskCompressedArray< SCROW, CRFlags>> pRowFlags;
194 std::unique_ptr<ScFlatBoolColSegments> mpHiddenCols;
195 std::unique_ptr<ScFlatBoolRowSegments> mpHiddenRows;
196 std::unique_ptr<ScFlatBoolColSegments> mpFilteredCols;
197 std::unique_ptr<ScFlatBoolRowSegments> mpFilteredRows;
198
199 ::std::set<SCROW> maRowPageBreaks;
200 ::std::set<SCROW> maRowManualBreaks;
201 ::std::set<SCCOL> maColPageBreaks;
202 ::std::set<SCCOL> maColManualBreaks;
203
204 std::unique_ptr<ScOutlineTable> pOutlineTable;
205
206 std::unique_ptr<ScSheetEvents> pSheetEvents;
207
212
215 std::unique_ptr<utl::TextSearch> pSearchText;
216
217 mutable OUString aUpperName; // #i62977# filled only on demand, reset in SetName
218
219 // sort parameter to minimize stack size of quicksort
222
224
225 std::optional<ScRange> moRepeatColRange;
226 std::optional<ScRange> moRepeatRowRange;
227
228 sal_uInt16 nLockCount;
229
230 std::unique_ptr<ScRangeList> pScenarioRanges;
234 std::unique_ptr<ScDBData> pDBDataNoName;
235 mutable std::unique_ptr<ScRangeName> mpRangeName;
236
237 std::unique_ptr<ScConditionalFormatList> mpCondFormatList;
239
241
242 bool bScenario:1;
246 mutable bool bTableAreaValid:1;
248 bool bVisible:1;
257 std::atomic<bool> bStreamValid;
258
259 // Default attributes for the unallocated columns.
261
262friend class ScDocument; // for FillInfo
263friend class ScColumn;
264friend class ScValueIterator;
268friend class ScCellIterator;
269template< ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType >
271template< ScQueryCellIteratorAccess accessType >
275friend class ScDocumentImport;
277friend class sc::ColumnSpanSet;
281
282public:
283 ScTable( ScDocument& rDoc, SCTAB nNewTab, const OUString& rNewName,
284 bool bColInfo = true, bool bRowInfo = true );
285 ~ScTable() COVERITY_NOEXCEPT_FALSE;
286 ScTable(const ScTable&) = delete;
287 ScTable& operator=(const ScTable&) = delete;
288
290 const ScDocument& GetDoc() const { return rDocument;}
291 SCTAB GetTab() const { return nTab; }
292
294
296 {
297 if ( nScCol >= aCol.size() )
299 return aCol[nScCol];
300 }
301 // out-of-line the cold part of the function
302 void CreateColumnIfNotExistsImpl( const SCCOL nScCol );
303
305 {
306 if( nCol >= aCol.size())
307 return aDefaultColData;
308 return aCol[nCol];
309 }
310
311 sal_uInt64 GetCellCount() const;
312 sal_uInt64 GetWeightedCount() const;
313 sal_uInt64 GetWeightedCount(SCROW nStartRow, SCROW nEndRow) const;
314 sal_uInt64 GetCodeCount() const; // RPN code in formula
315
316 sal_uInt16 GetTextWidth(SCCOL nCol, SCROW nRow) const;
317
318 bool SetOutlineTable( const ScOutlineTable* pNewOutline );
319 void StartOutlineTable();
320
321 void DoAutoOutline( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow );
322
323 bool TestRemoveSubTotals( const ScSubTotalParam& rParam );
324 void RemoveSubTotals( ScSubTotalParam& rParam );
325 bool DoSubTotals( ScSubTotalParam& rParam );
326
327 const ScSheetEvents* GetSheetEvents() const { return pSheetEvents.get(); }
328 void SetSheetEvents( std::unique_ptr<ScSheetEvents> pNew );
329
330 bool IsVisible() const { return bVisible; }
331 void SetVisible( bool bVis );
332
333 bool IsStreamValid() const { return bStreamValid; }
334 void SetStreamValid( bool bSet, bool bIgnoreLock = false );
335
336 [[nodiscard]] bool IsColValid( const SCCOL nScCol ) const
337 {
338 return nScCol >= static_cast< SCCOL >( 0 ) && nScCol < aCol.size();
339 }
340 [[nodiscard]] bool IsColRowValid( const SCCOL nScCol, const SCROW nScRow ) const
341 {
342 return IsColValid( nScCol ) && GetDoc().ValidRow( nScRow );
343 }
344 [[nodiscard]] bool IsColRowTabValid( const SCCOL nScCol, const SCROW nScRow, const SCTAB nScTab ) const
345 {
346 return IsColValid( nScCol ) && GetDoc().ValidRow( nScRow ) && ValidTab( nScTab );
347 }
348 [[nodiscard]] bool ValidCol(SCCOL nCol) const { return GetDoc().ValidCol(nCol); }
349 [[nodiscard]] bool ValidRow(SCROW nRow) const { return GetDoc().ValidRow(nRow); }
350 [[nodiscard]] bool ValidColRow(SCCOL nCol, SCROW nRow) const { return GetDoc().ValidColRow(nCol, nRow); }
351
353 void SetPendingRowHeights( bool bSet );
354
355 bool GetCalcNotification() const { return bCalcNotification; }
356 void SetCalcNotification( bool bSet );
357
358 bool IsLayoutRTL() const { return bLayoutRTL; }
359 bool IsLoadingRTL() const { return bLoadingRTL; }
360 void SetLayoutRTL( bool bSet );
361 void SetLoadingRTL( bool bSet );
362
363 bool IsScenario() const { return bScenario; }
364 void SetScenario( bool bFlag );
365 void GetScenarioComment( OUString& rComment) const { rComment = aComment; }
366 void SetScenarioComment( const OUString& rComment ) { aComment = rComment; }
367 const Color& GetScenarioColor() const { return aScenarioColor; }
368 void SetScenarioColor(const Color& rNew) { aScenarioColor = rNew; }
369 const Color& GetTabBgColor() const { return aTabBgColor; }
370 void SetTabBgColor(const Color& rColor);
373 void SetActiveScenario(bool bSet) { bActiveScenario = bSet; }
374 bool IsActiveScenario() const { return bActiveScenario; }
375
376 ScLinkMode GetLinkMode() const { return nLinkMode; }
377 bool IsLinked() const { return nLinkMode != ScLinkMode::NONE; }
378 const OUString& GetLinkDoc() const { return aLinkDoc; }
379 const OUString& GetLinkFlt() const { return aLinkFlt; }
380 const OUString& GetLinkOpt() const { return aLinkOpt; }
381 const OUString& GetLinkTab() const { return aLinkTab; }
383
384 void SetLink( ScLinkMode nMode, const OUString& rDoc, const OUString& rFlt,
385 const OUString& rOpt, const OUString& rTab, sal_uLong nRefreshDelay );
386
387 sal_Int64 GetHashCode () const;
388
389 const OUString& GetName() const { return aName; }
390 void SetName( const OUString& rNewName );
391
392 void SetAnonymousDBData(std::unique_ptr<ScDBData> pDBData);
394
395 const OUString& GetCodeName() const { return aCodeName; }
396 void SetCodeName( const OUString& rNewName ) { aCodeName = rNewName; }
397
398 const OUString& GetUpperName() const;
399
400 const OUString& GetPageStyle() const { return aPageStyle; }
401 void SetPageStyle( const OUString& rName );
402 void PageStyleModified( const OUString& rNewName );
403
404 bool IsProtected() const;
405 void SetProtection(const ScTableProtection* pProtect);
406 const ScTableProtection* GetProtection() const;
407 void GetUnprotectedCells( ScRangeList& rRangeList ) const;
408
409 bool IsEditActionAllowed( sc::ColRowEditAction eAction, SCCOLROW nStart, SCCOLROW nEnd ) const;
410
411 Size GetPageSize() const;
412 void SetPageSize( const Size& rSize );
413 void SetRepeatArea( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCROW nEndRow );
414
415 void LockTable();
416 void UnlockTable();
417
418 bool IsBlockEditable( SCCOL nCol1, SCROW nRow1, SCCOL nCol2,
419 SCROW nRow2, bool* pOnlyNotBecauseOfMatrix = nullptr,
420 bool bNoMatrixAtAll = false ) const;
421 bool IsSelectionEditable( const ScMarkData& rMark,
422 bool* pOnlyNotBecauseOfMatrix = nullptr ) const;
423
424 bool HasBlockMatrixFragment( const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2,
425 bool bNoMatrixAtAll = false ) const;
426 bool HasSelectionMatrixFragment( const ScMarkData& rMark ) const;
427
428 // This also includes e.g. notes. Use IsEmptyData() for cell data only.
429 bool IsBlockEmpty( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ) const;
430
431 bool SetString( SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString& rString,
432 const ScSetStringParam * pParam = nullptr );
433
434 bool SetEditText( SCCOL nCol, SCROW nRow, std::unique_ptr<EditTextObject> pEditText );
435 void SetEditText( SCCOL nCol, SCROW nRow, const EditTextObject& rEditText, const SfxItemPool* pEditPool );
436 SCROW GetFirstEditTextRow( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ) const;
437
438 void SetEmptyCell( SCCOL nCol, SCROW nRow );
439 void SetFormula(
440 SCCOL nCol, SCROW nRow, const ScTokenArray& rArray, formula::FormulaGrammar::Grammar eGram );
441 void SetFormula(
442 SCCOL nCol, SCROW nRow, const OUString& rFormula, formula::FormulaGrammar::Grammar eGram );
443
451
452 bool SetFormulaCells( SCCOL nCol, SCROW nRow, std::vector<ScFormulaCell*>& rCells );
453
454 bool HasFormulaCell( const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2 ) const;
455
456 svl::SharedString GetSharedString( SCCOL nCol, SCROW nRow ) const;
457
458 void SetValue( SCCOL nCol, SCROW nRow, const double& rVal );
459 void SetValues( const SCCOL nCol, const SCROW nRow, const std::vector<double>& rVals );
460 void SetError( SCCOL nCol, SCROW nRow, FormulaError nError);
461 SCSIZE GetPatternCount( SCCOL nCol ) const;
462 SCSIZE GetPatternCount( SCCOL nCol, SCROW nRow1, SCROW nRow2 ) const;
463 bool ReservePatternCount( SCCOL nCol, SCSIZE nReserve );
464
465 void SetRawString( SCCOL nCol, SCROW nRow, const svl::SharedString& rStr );
466 OUString GetString( SCCOL nCol, SCROW nRow, const ScInterpreterContext* pContext = nullptr ) const;
467 double* GetValueCell( SCCOL nCol, SCROW nRow );
468 // Note that if pShared is set and a value is returned that way, the returned OUString is empty.
469 OUString GetInputString( SCCOL nCol, SCROW nRow, bool bForceSystemLocale = false ) const;
470 double GetValue( SCCOL nCol, SCROW nRow ) const;
471 const EditTextObject* GetEditText( SCCOL nCol, SCROW nRow ) const;
472 void RemoveEditTextCharAttribs( SCCOL nCol, SCROW nRow, const ScPatternAttr& rAttr );
473 OUString GetFormula( SCCOL nCol, SCROW nRow ) const;
474 const ScFormulaCell* GetFormulaCell( SCCOL nCol, SCROW nRow ) const;
476
477 CellType GetCellType( const ScAddress& rPos ) const
478 {
479 if (!GetDoc().ValidColRow(rPos.Col(),rPos.Row()))
480 return CELLTYPE_NONE;
481 if (rPos.Col() >= aCol.size())
482 return CELLTYPE_NONE;
483 return aCol[rPos.Col()].GetCellType( rPos.Row() );
484 }
485 CellType GetCellType( SCCOL nCol, SCROW nRow ) const;
487 ScRefCellValue GetCellValue( SCCOL nCol, SCROW nRow ) const;
488
489 void GetFirstDataPos(SCCOL& rCol, SCROW& rRow) const;
490 void GetLastDataPos(SCCOL& rCol, SCROW& rRow) const;
491
492 // Sparklines
493
494 std::shared_ptr<sc::Sparkline> GetSparkline(SCCOL nCol, SCROW nRow);
495 sc::Sparkline* CreateSparkline(SCCOL nCol, SCROW nRow, std::shared_ptr<sc::SparklineGroup> const& pSparklineGroup);
496 bool DeleteSparkline(SCCOL nCol, SCROW nRow);
497
499 void CopySparklinesToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable* pDestTab);
500 void FillSparkline(bool bVertical, SCCOLROW nFixed, SCCOLROW nIteratingStart, SCCOLROW nIteratingEnd, SCCOLROW nFillStart, SCCOLROW nFillEnd);
501
502 // Notes / Comments
503 std::unique_ptr<ScPostIt> ReleaseNote( SCCOL nCol, SCROW nRow );
504 ScPostIt* GetNote( SCCOL nCol, SCROW nRow );
505 void SetNote( SCCOL nCol, SCROW nRow, std::unique_ptr<ScPostIt> pNote );
506
507 size_t GetNoteCount( SCCOL nCol ) const;
508 SCROW GetNotePosition( SCCOL nCol, size_t nIndex ) const;
510 void ForgetNoteCaptions( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, bool bPreserveData );
511
512 void GetAllNoteEntries( std::vector<sc::NoteEntry>& rNotes ) const;
513 void GetNotesInRange( const ScRange& rRange, std::vector<sc::NoteEntry>& rNotes ) const;
514 CommentCaptionState GetAllNoteCaptionsState( const ScRange& rRange, std::vector<sc::NoteEntry>& rNotes );
515 bool ContainsNotesInRange( const ScRange& rRange ) const;
516
517 bool TestInsertRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize ) const;
518 void InsertRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize );
519 void DeleteRow(
520 const sc::ColumnSet& rRegroupCols, SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize,
521 bool* pUndoOutline, std::vector<ScAddress>* pGroupPos );
522
523 bool TestInsertCol( SCROW nStartRow, SCROW nEndRow, SCSIZE nSize ) const;
524 void InsertCol(
525 const sc::ColumnSet& rRegroupCols, SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize );
526 void DeleteCol(
527 const sc::ColumnSet& rRegroupCols, SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize, bool* pUndoOutline );
528
529 void DeleteArea(
530 SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, InsertDeleteFlags nDelFlag,
531 bool bBroadcast = true, sc::ColumnSpanSet* pBroadcastSpans = nullptr );
532
533 void CopyToClip( sc::CopyToClipContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable* pTable );
534 void CopyToClip( sc::CopyToClipContext& rCxt, const ScRangeList& rRanges, ScTable* pTable );
535
537 SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const SvNumberFormatterMergeMap& rMap,
538 ScTable* pDestTab );
539
540 void CopyCellToDocument( SCCOL nSrcCol, SCROW nSrcRow, SCCOL nDestCol, SCROW nDestRow, ScTable& rDestTab );
541
543
545 sc::CopyFromClipContext& rCxt, const ScTable& rClipTab, sc::ColumnSpanSet& rBroadcastSpans );
546
548 sc::CopyFromClipContext& rCxt, const SCCOL nCol1, const SCROW nRow1,
549 const SCCOL nCol2, const SCROW nRow2,
550 const SCROW nSrcRow, const ScTable* pSrcTab );
551
552 void CopyFromClip(
553 sc::CopyFromClipContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
554 SCCOL nDx, SCROW nDy, ScTable* pTable );
555
558 SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
559
560 void SetDirtyFromClip(
561 SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sc::ColumnSpanSet& rBroadcastSpans );
562
563 void CopyToTable(
564 sc::CopyToDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
565 InsertDeleteFlags nFlags, bool bMarked, ScTable* pDestTab,
566 const ScMarkData* pMarkData, bool bAsLink, bool bColRowFlags,
567 bool bGlobalNamesToLocal, bool bCopyCaptions );
568
569 void CopyCaptionsToTable( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable* pDestTab, bool bCloneCaption );
570
571 void UndoToTable(
572 sc::CopyToDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
573 InsertDeleteFlags nFlags, bool bMarked, ScTable* pDestTab );
574
575 void CopyConditionalFormat( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
576 SCCOL nDx, SCROW nDy, const ScTable* pTable);
584 void TransposeClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCROW nCombinedStartRow,
585 SCROW nRowDestOffset, ScTable* pTransClip, InsertDeleteFlags nFlags,
586 bool bAsLink, bool bIncludeFiltered);
587
588 // mark of this document
589 void MixMarked(
590 sc::MixDocContext& rCxt, const ScMarkData& rMark, ScPasteFunc nFunction,
591 bool bSkipEmpty, const ScTable* pSrcTab );
592
593 void MixData(
594 sc::MixDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
595 ScPasteFunc nFunction, bool bSkipEmpty, const ScTable* pSrcTab );
596
597 void CopyData( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
598 SCCOL nDestCol, SCROW nDestRow, SCTAB nDestTab );
599
600 void CopyScenarioFrom( const ScTable* pSrcTab );
601 void CopyScenarioTo( ScTable* pDestTab ) const;
602 bool TestCopyScenarioTo( const ScTable* pDestTab ) const;
603 void MarkScenarioIn(ScMarkData& rMark, ScScenarioFlags nNeededBits) const;
604 bool HasScenarioRange( const ScRange& rRange ) const;
606 const ScRangeList* GetScenarioRanges() const;
607
608 void CopyUpdated( const ScTable* pPosTab, ScTable* pDestTab ) const;
609
610 void InvalidateTableArea();
612
614 bool GetCellArea( SCCOL& rEndCol, SCROW& rEndRow ); // FALSE = empty
615 bool GetTableArea( SCCOL& rEndCol, SCROW& rEndRow, bool bCalcHiddens = false) const;
616 bool GetPrintArea( SCCOL& rEndCol, SCROW& rEndRow, bool bNotes, bool bCalcHiddens = false) const;
617 bool GetPrintAreaHor( SCROW nStartRow, SCROW nEndRow,
618 SCCOL& rEndCol ) const;
619 bool GetPrintAreaVer( SCCOL nStartCol, SCCOL nEndCol,
620 SCROW& rEndRow, bool bNotes ) const;
621
622 bool GetDataStart( SCCOL& rStartCol, SCROW& rStartRow ) const;
623
624 void ExtendPrintArea( OutputDevice* pDev,
625 SCCOL nStartCol, SCROW nStartRow, SCCOL& rEndCol, SCROW nEndRow );
626
627 void GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow,
628 bool bIncludeOld, bool bOnlyDown ) const;
629
630 bool GetDataAreaSubrange( ScRange& rRange ) const;
631
632 bool ShrinkToUsedDataArea( bool& o_bShrunk, SCCOL& rStartCol, SCROW& rStartRow,
633 SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly,
634 bool bStickyTopRow, bool bStickyLeftCol,
635 ScDataAreaExtras* pDataAreaExtras ) const;
636
637 SCROW GetLastDataRow( SCCOL nCol1, SCCOL nCol2, SCROW nLastRow,
638 ScDataAreaExtras* pDataAreaExtras = nullptr ) const;
639
640 bool IsEmptyData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const;
641 SCSIZE GetEmptyLinesInBlock( SCCOL nStartCol, SCROW nStartRow,
642 SCCOL nEndCol, SCROW nEndRow, ScDirection eDir ) const;
643
644 void FindAreaPos( SCCOL& rCol, SCROW& rRow, ScMoveDirection eDirection ) const;
645 void GetNextPos( SCCOL& rCol, SCROW& rRow, SCCOL nMovX, SCROW nMovY,
646 bool bMarked, bool bUnprotected, const ScMarkData& rMark, SCCOL nTabStartCol ) const;
647
648 bool SkipRow( const SCCOL rCol, SCROW& rRow, const SCROW nMovY, const ScMarkData& rMark,
649 const bool bUp, const SCROW nUsedY, const bool bMarked, const bool bSheetProtected ) const;
650 void LimitChartArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow ) const;
651
652 bool HasData( SCCOL nCol, SCROW nRow ) const;
653 bool HasStringData( SCCOL nCol, SCROW nRow ) const;
654 bool HasValueData( SCCOL nCol, SCROW nRow ) const;
655 bool HasStringCells( SCCOL nStartCol, SCROW nStartRow,
656 SCCOL nEndCol, SCROW nEndRow ) const;
657
658 sc::MultiDataCellState HasMultipleDataCells( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ) const;
659
660 FormulaError GetErrCode( const ScAddress& rPos ) const
661 {
662 return IsColRowValid(rPos.Col(),rPos.Row()) ?
663 aCol[rPos.Col()].GetErrCode( rPos.Row() ) :
664 FormulaError::NONE;
665 }
666
667 void ResetChanged( const ScRange& rRange );
668
672 void SetDirtyAfterLoad();
673 void SetDirtyVar();
674 void SetTableOpDirty( const ScRange& );
675 void CalcAll();
676 void CalcAfterLoad( sc::CompileFormulaContext& rCxt, bool bStartListening );
678 void CompileXML( sc::CompileFormulaContext& rCxt, ScProgress& rProgress );
679
685 bool BroadcastBroadcasters( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SfxHintId nHint );
686
688
689 void UpdateReference(
690 sc::RefUpdateContext& rCxt, ScDocument* pUndoDoc = nullptr,
691 bool bIncludeDraw = true, bool bUpdateNoteCaptionPos = true );
692
693 void UpdateDrawRef( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1,
694 SCCOL nCol2, SCROW nRow2, SCTAB nTab2,
695 SCCOL nDx, SCROW nDy, SCTAB nDz, bool bUpdateNoteCaptionPos = true );
696
697 void UpdateTranspose( const ScRange& rSource, const ScAddress& rDest,
698 ScDocument* pUndoDoc );
699
700 void UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY );
701
704 void UpdateMoveTab( sc::RefUpdateMoveTabContext& rCxt, SCTAB nTabNo, ScProgress* pProgress );
705 void UpdateCompile( bool bForceIfNameInUse = false );
706 void SetTabNo(SCTAB nNewTab);
707 void FindRangeNamesInUse(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
708 sc::UpdatedRangeNames& rIndexes) const;
709 void Fill( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
710 sal_uInt64 nFillCount, FillDir eFillDir, FillCmd eFillCmd, FillDateCmd eFillDateCmd,
711 double nStepValue, double nMaxValue, ScProgress* pProgress);
712 OUString GetAutoFillPreview( const ScRange& rSource, SCCOL nEndX, SCROW nEndY );
713
714 void UpdateSelectionFunction( ScFunctionData& rData, const ScMarkData& rMark );
715
716 void AutoFormat( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
717 sal_uInt16 nFormatNo );
718 void GetAutoFormatData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScAutoFormatData& rData);
719 bool SearchAndReplace(
720 const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow, const ScMarkData& rMark,
721 ScRangeList& rMatchedRanges, OUString& rUndoStr, ScDocument* pUndoDoc, bool& bMatchedRangesWereClamped);
722
723 void FindMaxRotCol( RowInfo* pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2 );
724
725 bool HasAttrib( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, HasAttrFlags nMask ) const;
726 bool HasAttribSelection( const ScMarkData& rMark, HasAttrFlags nMask ) const;
727 bool HasAttrib( SCCOL nCol, SCROW nRow, HasAttrFlags nMask,
728 SCROW* nStartRow = nullptr, SCROW* nEndRow = nullptr ) const;
729 bool IsMerged( SCCOL nCol, SCROW nRow ) const;
730 bool ExtendMerge( SCCOL nStartCol, SCROW nStartRow,
731 SCCOL& rEndCol, SCROW& rEndRow,
732 bool bRefresh );
733 void SetMergedCells( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
734
735 const SfxPoolItem* GetAttr( SCCOL nCol, SCROW nRow, sal_uInt16 nWhich ) const;
736 template<class T> const T* GetAttr( SCCOL nCol, SCROW nRow, TypedWhichId<T> nWhich ) const
737 {
738 return static_cast<const T*>(GetAttr(nCol, nRow, sal_uInt16(nWhich)));
739 }
740 const SfxPoolItem* GetAttr( SCCOL nCol, SCROW nRow, sal_uInt16 nWhich, SCROW& nStartRow, SCROW& nEndRow ) const;
741 template<class T> const T* GetAttr( SCCOL nCol, SCROW nRow, TypedWhichId<T> nWhich, SCROW& nStartRow, SCROW& nEndRow ) const
742 {
743 return static_cast<const T*>(GetAttr(nCol, nRow, sal_uInt16(nWhich), nStartRow, nEndRow));
744 }
745 const ScPatternAttr* GetPattern( SCCOL nCol, SCROW nRow ) const;
746 const ScPatternAttr* GetMostUsedPattern( SCCOL nCol, SCROW nStartRow, SCROW nEndRow ) const;
747
748 sal_uInt32 GetNumberFormat( const ScInterpreterContext& rContext, const ScAddress& rPos ) const;
749 sal_uInt32 GetNumberFormat( SCCOL nCol, SCROW nRow ) const;
750 sal_uInt32 GetNumberFormat( SCCOL nCol, SCROW nStartRow, SCROW nEndRow ) const;
751
752 void SetNumberFormat( SCCOL nCol, SCROW nRow, sal_uInt32 nNumberFormat );
753
755 const ScMarkData& rMark, bool bDeep ) const;
756 void MergePatternArea( ScMergePatternState& rState, SCCOL nCol1, SCROW nRow1,
757 SCCOL nCol2, SCROW nRow2, bool bDeep ) const;
758 void MergeBlockFrame( SvxBoxItem* pLineOuter, SvxBoxInfoItem* pLineInner,
759 ScLineFlags& rFlags,
760 SCCOL nStartCol, SCROW nStartRow,
761 SCCOL nEndCol, SCROW nEndRow ) const;
762 void ApplyBlockFrame(const SvxBoxItem& rLineOuter,
763 const SvxBoxInfoItem* pLineInner,
764 SCCOL nStartCol, SCROW nStartRow,
765 SCCOL nEndCol, SCROW nEndRow );
766
767 void ApplyAttr( SCCOL nCol, SCROW nRow, const SfxPoolItem& rAttr );
768 void ApplyPattern( SCCOL nCol, SCROW nRow, const ScPatternAttr& rAttr );
769 void ApplyPatternArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
770 const ScPatternAttr& rAttr, ScEditDataArray* pDataArray = nullptr,
771 bool* const pIsChanged = nullptr );
772 void SetAttrEntries( SCCOL nStartCol, SCCOL nEndCol, std::vector<ScAttrEntry> && vNewData);
773
774 void SetPattern( const ScAddress& rPos, const ScPatternAttr& rAttr );
775 const ScPatternAttr* SetPattern( SCCOL nCol, SCROW nRow, std::unique_ptr<ScPatternAttr> );
776 void SetPattern( SCCOL nCol, SCROW nRow, const ScPatternAttr& rAttr );
778 const ScPatternAttr& rPattern, SvNumFormatType nNewType );
779 void AddCondFormatData( const ScRangeList& rRange, sal_uInt32 nIndex );
780 void RemoveCondFormatData( const ScRangeList& rRange, sal_uInt32 nIndex );
781 void SetPatternAreaCondFormat( SCCOL nCol, SCROW nStartRow, SCROW nEndRow,
782 const ScPatternAttr& rAttr, const ScCondFormatIndexes& rCondFormatIndexes );
783
784 void ApplyStyle( SCCOL nCol, SCROW nRow, const ScStyleSheet* rStyle );
785 void ApplyStyleArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScStyleSheet& rStyle );
786 void ApplySelectionStyle(const ScStyleSheet& rStyle, const ScMarkData& rMark);
787 void ApplySelectionLineStyle( const ScMarkData& rMark,
788 const ::editeng::SvxBorderLine* pLine, bool bColorOnly );
789
790 const ScStyleSheet* GetStyle( SCCOL nCol, SCROW nRow ) const;
791 const ScStyleSheet* GetSelectionStyle( const ScMarkData& rMark, bool& rFound ) const;
792 const ScStyleSheet* GetAreaStyle( bool& rFound, SCCOL nCol1, SCROW nRow1,
793 SCCOL nCol2, SCROW nRow2 ) const;
794
795 void StyleSheetChanged( const SfxStyleSheetBase* pStyleSheet, bool bRemoved,
796 OutputDevice* pDev,
797 double nPPTX, double nPPTY,
798 const Fraction& rZoomX, const Fraction& rZoomY );
799
800 bool IsStyleSheetUsed( const ScStyleSheet& rStyle ) const;
801
802 bool ApplyFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScMF nFlags );
803 bool RemoveFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScMF nFlags );
804
805 void ApplySelectionCache( SfxItemPoolCache* pCache, const ScMarkData& rMark, ScEditDataArray* pDataArray = nullptr, bool* const pIsChanged = nullptr );
806 void DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData& rMark, bool bBroadcast = true );
807
808 void ClearSelectionItems( const sal_uInt16* pWhich, const ScMarkData& rMark );
809 void ChangeSelectionIndent( bool bIncrement, const ScMarkData& rMark );
810
811 const std::optional<ScRange>& GetRepeatColRange() const { return moRepeatColRange; }
812 const std::optional<ScRange>& GetRepeatRowRange() const { return moRepeatRowRange; }
813 void SetRepeatColRange( std::optional<ScRange> oNew );
814 void SetRepeatRowRange( std::optional<ScRange> oNew );
815
816 sal_uInt16 GetPrintRangeCount() const { return static_cast< sal_uInt16 >( aPrintRanges.size() ); }
817 const ScRange* GetPrintRange(sal_uInt16 nPos) const;
819 bool IsPrintEntireSheet() const { return bPrintEntireSheet; }
820
822 void ClearPrintRanges();
824 void AddPrintRange( const ScRange& rNew );
826 void SetPrintEntireSheet();
827
828 void FillPrintSaver( ScPrintSaverTab& rSaveTab ) const;
829 void RestorePrintRanges( const ScPrintSaverTab& rSaveTab );
830
831 sal_uInt16 GetOptimalColWidth( SCCOL nCol, OutputDevice* pDev,
832 double nPPTX, double nPPTY,
833 const Fraction& rZoomX, const Fraction& rZoomY,
834 bool bFormula, const ScMarkData* pMarkData,
835 const ScColWidthParam* pParam );
836 bool SetOptimalHeight(
837 sc::RowHeightContext& rCxt, SCROW nStartRow, SCROW nEndRow, bool bApi,
838 ScProgress* pOuterProgress = nullptr, sal_uInt64 nProgressStart = 0 );
839
841 sc::RowHeightContext& rCxt, SCROW nStartRow, SCROW nEndRow,
842 ScProgress* pOuterProgress = nullptr, sal_uInt64 nProgressStart = 0 );
843
845 OutputDevice* pDev,
846 double nPPTX, double nPPTY,
847 const Fraction& rZoomX, const Fraction& rZoomY,
848 bool bWidth, bool bTotalSize,
849 bool bInPrintTwips = false);
850 void SetColWidth( SCCOL nCol, sal_uInt16 nNewWidth );
851 void SetColWidthOnly( SCCOL nCol, sal_uInt16 nNewWidth );
852 void SetRowHeight( SCROW nRow, sal_uInt16 nNewHeight );
853 bool SetRowHeightRange( SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight,
854 double nPPTY, bool bApi );
855
863 void SetRowHeightOnly( SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight );
864
865 // nPPT to test for modification
866 void SetManualHeight( SCROW nStartRow, SCROW nEndRow, bool bManual );
867
868 sal_uInt16 GetColWidth( SCCOL nCol, bool bHiddenAsZero = true ) const;
869 tools::Long GetColWidth( SCCOL nStartCol, SCCOL nEndCol ) const;
870 sal_uInt16 GetRowHeight( SCROW nRow, SCROW* pStartRow, SCROW* pEndRow, bool bHiddenAsZero = true ) const;
871 tools::Long GetRowHeight( SCROW nStartRow, SCROW nEndRow, bool bHiddenAsZero = true ) const;
872 tools::Long GetScaledRowHeight( SCROW nStartRow, SCROW nEndRow, double fScale ) const;
873 tools::Long GetColOffset( SCCOL nCol, bool bHiddenAsZero = true ) const;
874 tools::Long GetRowOffset( SCROW nRow, bool bHiddenAsZero = true ) const;
875
884 SCROW GetRowForHeight(tools::Long nHeight) const;
885
886 sal_uInt16 GetOriginalWidth( SCCOL nCol ) const;
887 sal_uInt16 GetOriginalHeight( SCROW nRow ) const;
888
889 sal_uInt16 GetCommonWidth( SCCOL nEndCol ) const;
890
891 SCROW GetHiddenRowCount( SCROW nRow ) const;
892
893 void ShowCol(SCCOL nCol, bool bShow);
894 void ShowRow(SCROW nRow, bool bShow);
895 void DBShowRow(SCROW nRow, bool bShow);
896
897 void ShowRows(SCROW nRow1, SCROW nRow2, bool bShow);
898 void DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow);
899
900 void SetRowFlags( SCROW nRow, CRFlags nNewFlags );
901 void SetRowFlags( SCROW nStartRow, SCROW nEndRow, CRFlags nNewFlags );
902
904 SCROW GetLastFlaggedRow() const;
905
910
911 bool IsDataFiltered(SCCOL nColStart, SCROW nRowStart, SCCOL nColEnd, SCROW nRowEnd) const;
912 bool IsDataFiltered(const ScRange& rRange) const;
913 CRFlags GetColFlags( SCCOL nCol ) const;
914 CRFlags GetRowFlags( SCROW nRow ) const;
915
917 { return pRowFlags.get(); }
918
919 bool UpdateOutlineCol( SCCOL nStartCol, SCCOL nEndCol, bool bShow );
920 bool UpdateOutlineRow( SCROW nStartRow, SCROW nEndRow, bool bShow );
921
922 void UpdatePageBreaks( const ScRange* pUserArea );
923 void RemoveManualBreaks();
924 bool HasManualBreaks() const;
925 void SetRowManualBreaks( ::std::set<SCROW>&& rBreaks );
926 void SetColManualBreaks( ::std::set<SCCOL>&& rBreaks );
927
928 void GetAllRowBreaks(::std::set<SCROW>& rBreaks, bool bPage, bool bManual) const;
929 void GetAllColBreaks(::std::set<SCCOL>& rBreaks, bool bPage, bool bManual) const;
930 bool HasRowPageBreak(SCROW nRow) const;
931 bool HasColPageBreak(SCCOL nCol) const;
932 bool HasRowManualBreak(SCROW nRow) const;
933 bool HasColManualBreak(SCCOL nCol) const;
934
945 SCROW GetNextManualBreak(SCROW nRow) const;
946
947 void RemoveRowPageBreaks(SCROW nStartRow, SCROW nEndRow);
948 void RemoveRowBreak(SCROW nRow, bool bPage, bool bManual);
949 void RemoveColBreak(SCCOL nCol, bool bPage, bool bManual);
950 void SetRowBreak(SCROW nRow, bool bPage, bool bManual);
951 void SetColBreak(SCCOL nCol, bool bPage, bool bManual);
952 css::uno::Sequence<
953 css::sheet::TablePageBreakData> GetRowBreakData() const;
954
955 bool RowHidden(SCROW nRow, SCROW* pFirstRow = nullptr, SCROW* pLastRow = nullptr) const;
956 bool RowHiddenLeaf(SCROW nRow, SCROW* pFirstRow = nullptr, SCROW* pLastRow = nullptr) const;
957 bool HasHiddenRows(SCROW nStartRow, SCROW nEndRow) const;
958 bool ColHidden(SCCOL nCol, SCCOL* pFirstCol = nullptr, SCCOL* pLastCol = nullptr) const;
959 bool SetRowHidden(SCROW nStartRow, SCROW nEndRow, bool bHidden);
960 void SetColHidden(SCCOL nStartCol, SCCOL nEndCol, bool bHidden);
961 void CopyColHidden(const ScTable& rTable, SCCOL nStartCol, SCCOL nEndCol);
962 void CopyRowHidden(const ScTable& rTable, SCROW nStartRow, SCROW nEndRow);
963 void CopyRowHeight(const ScTable& rSrcTable, SCROW nStartRow, SCROW nEndRow, SCROW nSrcOffset);
964 SCROW FirstVisibleRow(SCROW nStartRow, SCROW nEndRow) const;
965 SCROW LastVisibleRow(SCROW nStartRow, SCROW nEndRow) const;
966 SCROW CountVisibleRows(SCROW nStartRow, SCROW nEndRow) const;
967 tools::Long GetTotalRowHeight(SCROW nStartRow, SCROW nEndRow, bool bHiddenAsZero = true) const;
968
969 SCCOL CountVisibleCols(SCCOL nStartCol, SCCOL nEndCol) const;
970
971 SCCOLROW LastHiddenColRow(SCCOLROW nPos, bool bCol) const;
972
973 bool RowFiltered(SCROW nRow, SCROW* pFirstRow = nullptr, SCROW* pLastRow = nullptr) const;
974 bool ColFiltered(SCCOL nCol, SCCOL* pFirstCol = nullptr, SCCOL* pLastCol = nullptr) const;
975 bool HasFilteredRows(SCROW nStartRow, SCROW nEndRow) const;
976 void CopyColFiltered(const ScTable& rTable, SCCOL nStartCol, SCCOL nEndCol);
977 void CopyRowFiltered(const ScTable& rTable, SCROW nStartRow, SCROW nEndRow);
978 void SetRowFiltered(SCROW nStartRow, SCROW nEndRow, bool bFiltered);
979 void SetColFiltered(SCCOL nStartCol, SCCOL nEndCol, bool bFiltered);
980 SCROW FirstNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const;
981 SCROW LastNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const;
982 SCROW CountNonFilteredRows(SCROW nStartRow, SCROW nEndRow) const;
983
984 bool IsManualRowHeight(SCROW nRow) const;
985
986 bool HasUniformRowHeight( SCROW nRow1, SCROW nRow2 ) const;
987
988 void SyncColRowFlags();
989
990 void StripHidden( SCCOL& rX1, SCROW& rY1, SCCOL& rX2, SCROW& rY2 );
991 void ExtendHidden( SCCOL& rX1, SCROW& rY1, SCCOL& rX2, SCROW& rY2 );
992
994 void Sort(
995 const ScSortParam& rSortParam, bool bKeepQuery, bool bUpdateRefs,
996 ScProgress* pProgress, sc::ReorderParam* pUndo );
997
998 void Reorder( const sc::ReorderParam& rParam );
999
1000 // For ValidQuery() see ScQueryEvalutor class.
1001 void TopTenQuery( ScQueryParam& );
1002 void PrepareQuery( ScQueryParam& rQueryParam );
1003 SCSIZE Query(const ScQueryParam& rQueryParam, bool bKeepSub);
1004 bool CreateQueryParam(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam);
1005
1006 void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, ScFilterEntries& rFilterEntries, bool bFiltering = false);
1007 void GetFilteredFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, ScFilterEntries& rFilterEntries, bool bFiltering );
1008 [[nodiscard]]
1009 bool GetDataEntries(SCCOL nCol, SCROW nRow, std::set<ScTypedStrData>& rStrings);
1010
1011 bool HasColHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow ) const;
1012 bool HasRowHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow ) const;
1013
1014 sal_Int32 GetMaxStringLen( SCCOL nCol,
1015 SCROW nRowStart, SCROW nRowEnd, rtl_TextEncoding eCharSet ) const;
1016 sal_Int32 GetMaxNumberStringLen( sal_uInt16& nPrecision,
1017 SCCOL nCol,
1018 SCROW nRowStart, SCROW nRowEnd ) const;
1019
1020 bool IsSortCollatorGlobal() const;
1021 void InitSortCollator( const ScSortParam& rPar );
1022 void DestroySortCollator();
1023 void SetDrawPageSize( bool bResetStreamValid = true, bool bUpdateNoteCaptionPos = true,
1024 const ScObjectHandling eObjectHandling = ScObjectHandling::RecalcPosMode);
1025
1026 void SetRangeName(std::unique_ptr<ScRangeName> pNew);
1027 ScRangeName* GetRangeName() const;
1028
1030 sc::EndListeningContext& rEndListenCxt, sc::CompileFormulaContext& rCompileCxt );
1031
1033 sc::StartListeningContext& rStartListenCxt, sc::CompileFormulaContext& rCompileCxt );
1034
1036 sc::EndListeningContext& rEndListenCxt, sc::CompileFormulaContext& rCompileCxt );
1037
1041
1042 void DeleteConditionalFormat(sal_uLong nOldIndex);
1043
1044 sal_uLong AddCondFormat( std::unique_ptr<ScConditionalFormat> pNew );
1045
1046 SvtScriptType GetScriptType( SCCOL nCol, SCROW nRow ) const;
1047 void SetScriptType( SCCOL nCol, SCROW nRow, SvtScriptType nType );
1048 void UpdateScriptTypes( const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2 );
1049
1050 SvtScriptType GetRangeScriptType( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol, SCROW nRow1, SCROW nRow2 );
1051
1055 bool HandleRefArrayForParallelism( SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScFormulaCellGroupRef& mxGroup );
1056#ifdef DBG_UTIL
1057 void AssertNoInterpretNeeded( SCCOL nCol, SCROW nRow1, SCROW nRow2 );
1058#endif
1059
1060 void SplitFormulaGroups( SCCOL nCol, std::vector<SCROW>& rRows );
1061 void UnshareFormulaCells( SCCOL nCol, std::vector<SCROW>& rRows );
1062 void RegroupFormulaCells( SCCOL nCol );
1063
1066
1068 const SvtBroadcaster* GetBroadcaster( SCCOL nCol, SCROW nRow ) const;
1069 void DeleteBroadcasters( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol, SCROW nRow1, SCROW nRow2 );
1071
1072 void FillMatrix( ScMatrix& rMat, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, svl::SharedStringPool* pPool ) const;
1073
1074 void InterpretDirtyCells( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
1075 bool InterpretCellsIfNeeded( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
1076
1077 void SetFormulaResults( SCCOL nCol, SCROW nRow, const double* pResults, size_t nLen );
1078
1079 void CalculateInColumnInThread( ScInterpreterContext& rContext, SCCOL nColStart, SCCOL nColEnd,
1080 SCROW nRowStart, SCROW nRowEnd, unsigned nThisThread, unsigned nThreadsTotal);
1081 void HandleStuffAfterParallelCalculation( SCCOL nColStart, SCCOL nColEnd, SCROW nRow, size_t nLen, ScInterpreter* pInterpreter);
1082
1091 void StartListeners( sc::StartListeningContext& rCxt, bool bAll );
1092
1097 void SetDirtyIfPostponed();
1098
1104
1105 void TransferCellValuesTo( const SCCOL nCol, SCROW nRow, size_t nLen, sc::CellValues& rDest );
1106 void CopyCellValuesFrom( const SCCOL nCol, SCROW nRow, const sc::CellValues& rSrc );
1107
1108 std::optional<sc::ColumnIterator> GetColumnIterator( SCCOL nCol, SCROW nRow1, SCROW nRow2 ) const;
1109
1110 bool EnsureFormulaCellResults( const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2, bool bSkipRunning = false );
1111
1114 const SCCOL nCol1, const SCROW nRow1, const SCCOL nCol2, const SCROW nRow2,
1115 sc::TableValues* pUndo );
1116
1117 void SwapNonEmpty(
1118 sc::TableValues& rValues, sc::StartListeningContext& rStartCxt, sc::EndListeningContext& rEndCxt );
1119
1120 void finalizeOutlineImport();
1121
1122 void StoreToCache(SvStream& rStrm) const;
1123
1124 void RestoreFromCache(SvStream& rStrm);
1125
1126#if DUMP_COLUMN_STORAGE
1127 void DumpColumnStorage( SCCOL nCol ) const;
1128#endif
1129
1136 static void UpdateSearchItemAddressForReplace( const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow );
1137
1140 ScColumnsRange GetColumnsRange(SCCOL begin, SCCOL end) const;
1141 SCCOL ClampToAllocatedColumns(SCCOL nCol) const { return std::min(nCol, static_cast<SCCOL>(aCol.size() - 1)); }
1143
1151 OString dumpSheetGeomData(bool bColumns, SheetGeomType eGeomType);
1152
1153 std::set<SCCOL> QueryColumnsWithFormulaCells() const;
1154
1155 const ScColumnData& ColumnData( SCCOL nCol ) const { return nCol < aCol.size() ? aCol[ nCol ] : aDefaultColData; }
1156
1157 void CheckIntegrity() const;
1158
1159private:
1160
1162 const ScFormulaCell& rSrcCell,
1163 SCCOLROW& rInner, SCCOL nCol, SCROW nRow1, SCROW nRow2,
1164 ScProgress* pProgress, sal_uInt64& rProgress );
1165
1166 void FillSeriesSimple(
1167 const ScCellValue& rSrcCell, SCCOLROW& rInner, SCCOLROW nIMin, SCCOLROW nIMax,
1168 const SCCOLROW& rCol, const SCCOLROW& rRow, bool bVertical, ScProgress* pProgress, sal_uInt64& rProgress );
1169
1170 void FillAutoSimple(
1171 SCCOLROW nISrcStart, SCCOLROW nISrcEnd, SCCOLROW nIStart, SCCOLROW nIEnd,
1172 SCCOLROW& rInner, const SCCOLROW& rCol, const SCCOLROW& rRow,
1173 sal_uInt64 nActFormCnt, sal_uInt64 nMaxFormCnt,
1174 bool bHasFiltered, bool bVertical, bool bPositive,
1175 ScProgress* pProgress, sal_uInt64& rProgress );
1176
1177 void FillSeries( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
1178 sal_uInt64 nFillCount, FillDir eFillDir, FillCmd eFillCmd,
1179 FillDateCmd eFillDateCmd,
1180 double nStepValue, double nMaxValue, sal_uInt16 nMinDigits,
1181 bool bAttribs, ScProgress* pProgress,
1182 bool bSkipOverlappedCells = false,
1183 std::vector<sal_Int32>* pNonOverlappedCellIdx = nullptr);
1184 void FillAnalyse( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
1185 FillCmd& rCmd, FillDateCmd& rDateCmd,
1186 double& rInc, sal_uInt16& rMinDigits,
1187 ScUserListData*& rListData, sal_uInt16& rListIndex,
1188 bool bHasFiltered, bool& rSkipOverlappedCells,
1189 std::vector<sal_Int32>& rNonOverlappedCellIdx );
1190 void FillAuto( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
1191 sal_uInt64 nFillCount, FillDir eFillDir, ScProgress* pProgress );
1192
1193 bool ValidNextPos( SCCOL nCol, SCROW nRow, const ScMarkData& rMark,
1194 bool bMarked, bool bUnprotected ) const;
1195
1196 void AutoFormatArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
1197 const ScPatternAttr& rAttr, sal_uInt16 nFormatNo);
1198 void GetAutoFormatAttr(SCCOL nCol, SCROW nRow, sal_uInt16 nIndex, ScAutoFormatData& rData);
1199 void GetAutoFormatFrame(SCCOL nCol, SCROW nRow, sal_uInt16 nFlags, sal_uInt16 nIndex, ScAutoFormatData& rData);
1200 bool SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, sc::ColumnBlockConstPosition& rBlockPos, SCROW nRow,
1201 const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc);
1202 bool Search(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1203 const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc);
1204 bool Search(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1205 SCCOL nLastCol, SCROW nLastRow,
1206 const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc,
1207 std::vector< sc::ColumnBlockConstPosition >& blockPos);
1208 bool SearchAll(const SvxSearchItem& rSearchItem, const ScMarkData& rMark,
1209 ScRangeList& rMatchedRanges, OUString& rUndoStr, ScDocument* pUndoDoc);
1210 bool Replace(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1211 const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc);
1212 bool ReplaceAll(
1213 const SvxSearchItem& rSearchItem, const ScMarkData& rMark, ScRangeList& rMatchedRanges,
1214 OUString& rUndoStr, ScDocument* pUndoDoc, bool& bMatchedRangesWereClamped);
1215
1216 bool SearchStyle(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1217 const ScMarkData& rMark);
1218 bool ReplaceStyle(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1219 const ScMarkData& rMark, bool bIsUndo);
1220 bool SearchAllStyle(
1221 const SvxSearchItem& rSearchItem, const ScMarkData& rMark, ScRangeList& rMatchedRanges);
1222 bool ReplaceAllStyle(
1223 const SvxSearchItem& rSearchItem, const ScMarkData& rMark, ScRangeList& rMatchedRanges,
1224 ScDocument* pUndoDoc);
1226 const SvxSearchItem& rSearchItem,
1227 SCCOL& rCol, SCROW& rRow, const ScMarkData& rMark, ScRangeList& rMatchedRanges,
1228 OUString& rUndoStr, ScDocument* pUndoDoc);
1229 bool SearchRangeForEmptyCell(const ScRange& rRange,
1230 const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1231 OUString& rUndoStr);
1233 const ScRange& rRange, const SvxSearchItem& rSearchItem,
1234 ScRangeList& rMatchedRanges, OUString& rUndoStr, ScDocument* pUndoDoc);
1235
1236 // use the global sort parameter:
1237 bool IsSorted(SCCOLROW nStart, SCCOLROW nEnd) const;
1238 static void DecoladeRow( ScSortInfoArray*, SCROW nRow1, SCROW nRow2 );
1239 short CompareCell(
1240 sal_uInt16 nSort,
1241 ScRefCellValue& rCell1, SCCOL nCell1Col, SCROW nCell1Row,
1242 ScRefCellValue& rCell2, SCCOL nCell2Col, SCROW nCell2Row ) const;
1243 short Compare(SCCOLROW nIndex1, SCCOLROW nIndex2) const;
1244 short Compare( ScSortInfoArray*, SCCOLROW nIndex1, SCCOLROW nIndex2) const;
1245 std::unique_ptr<ScSortInfoArray> CreateSortInfoArray( const sc::ReorderParam& rParam );
1246 std::unique_ptr<ScSortInfoArray> CreateSortInfoArray(
1247 const ScSortParam& rSortParam, SCCOLROW nInd1, SCCOLROW nInd2,
1248 bool bKeepQuery, bool bUpdateRefs );
1249 void QuickSort( ScSortInfoArray*, SCCOLROW nLo, SCCOLROW nHi);
1250 void SortReorderByColumn( const ScSortInfoArray* pArray, SCROW nRow1, SCROW nRow2,
1251 bool bPattern, ScProgress* pProgress );
1252 void SortReorderAreaExtrasByColumn( const ScSortInfoArray* pArray, SCROW nDataRow1, SCROW nDataRow2,
1253 const ScDataAreaExtras& rDataAreaExtras, ScProgress* pProgress );
1254
1255 void SortReorderByRow( ScSortInfoArray* pArray, SCCOL nCol1, SCCOL nCol2,
1256 ScProgress* pProgress, bool bOnlyDataAreaExtras );
1257 void SortReorderByRowRefUpdate( ScSortInfoArray* pArray, SCCOL nCol1, SCCOL nCol2,
1258 ScProgress* pProgress );
1259 void SortReorderAreaExtrasByRow( ScSortInfoArray* pArray, SCCOL nDataCol1, SCCOL nDataCol2,
1260 const ScDataAreaExtras& rDataAreaExtras, ScProgress* pProgress );
1261
1262 bool CreateExcelQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam);
1263 bool CreateStarQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam);
1264 OUString GetUpperCellString(SCCOL nCol, SCROW nRow);
1265
1266 bool RefVisible(const ScFormulaCell* pCell);
1267
1268 bool IsEmptyLine(SCROW nRow, SCCOL nStartCol, SCCOL nEndCol) const;
1269
1270 void IncDate(double& rVal, sal_uInt16& nDayOfMonth, double nStep, FillDateCmd eCmd);
1271 void FillFormula(
1272 const ScFormulaCell* pSrcCell, SCCOL nDestCol, SCROW nDestRow, bool bLast );
1273 void UpdateInsertTabAbs(SCTAB nNewPos);
1274 bool GetNextSpellingCell(SCCOL& rCol, SCROW& rRow, bool bInSel,
1275 const ScMarkData& rMark) const;
1276 bool GetNextMarkedCell( SCCOL& rCol, SCROW& rRow, const ScMarkData& rMark ) const;
1277 void TestTabRefAbs(SCTAB nTable) const;
1280
1281 void StartListening( const ScAddress& rAddress, SvtListener* pListener );
1282 void EndListening( const ScAddress& rAddress, SvtListener* pListener );
1283 void StartListening( sc::StartListeningContext& rCxt, const ScAddress& rAddress, SvtListener& rListener );
1284 void EndListening( sc::EndListeningContext& rCxt, const ScAddress& rAddress, SvtListener& rListener );
1285
1286 void AttachFormulaCells( sc::StartListeningContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
1287 void DetachFormulaCells( sc::EndListeningContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
1288
1289 void SetLoadingMedium(bool bLoading);
1290
1291 SCSIZE FillMaxRot( RowInfo* pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2,
1292 SCCOL nCol, SCROW nAttrRow1, SCROW nAttrRow2, SCSIZE nArrY,
1293 const ScPatternAttr* pPattern, const SfxItemSet* pCondSet );
1294
1295 // idle calculation of OutputDevice text width for cell
1296 // also invalidates script type, broadcasts for "calc as shown"
1297 void InvalidateTextWidth( const ScAddress* pAdrFrom, const ScAddress* pAdrTo,
1298 bool bNumFormatChanged, bool bBroadcast );
1299
1300 void SkipFilteredRows(SCROW& rRow, SCROW& rLastNonFilteredRow, bool bForward);
1301
1306 void MaybeAddExtraColumn(SCCOL& rCol, SCROW nRow, OutputDevice* pDev, double nPPTX, double nPPTY);
1307
1308 void CopyPrintRange(const ScTable& rTable);
1309
1310 SCCOL FindNextVisibleColWithContent(SCCOL nCol, bool bRight, SCROW nRow) const;
1311
1312 SCCOL FindNextVisibleCol(SCCOL nCol, bool bRight) const;
1313
1322 void TransposeColPatterns(ScTable* pTransClip, SCCOL nCol1, SCCOL nCol, SCROW nRow1,
1323 SCROW nRow2, SCROW nCombinedStartRow, bool bIncludeFiltered,
1324 const std::vector<SCROW>& rFilteredRows, SCROW nRowDestOffset);
1325
1334 void TransposeColNotes(ScTable* pTransClip, SCCOL nCol1, SCCOL nCol, SCROW nRow1, SCROW nRow2,
1335 SCROW nCombinedStartRow, bool bIncludeFiltered, SCROW nRowDestOffset);
1336
1337 ScColumn* FetchColumn( SCCOL nCol );
1338 const ScColumn* FetchColumn( SCCOL nCol ) const;
1339
1341 sc::EndListeningContext& rCxt, SCCOL nCol, SCROW nRow, std::vector<ScAddress>* pGroupPos );
1342
1344 sc::EndListeningContext& rCxt, const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2,
1345 std::vector<ScAddress>* pGroupPos );
1346
1347 void EndListeningGroup( sc::EndListeningContext& rCxt, const SCCOL nCol, SCROW nRow );
1348 void SetNeedsListeningGroup( SCCOL nCol, SCROW nRow );
1349
1351 OString dumpColumnRowSizes(bool bColumns);
1353 OString dumpHiddenFiltered(bool bColumns, bool bHidden);
1355 OString dumpColumnRowGroups(bool bColumns) const;
1356
1357 SCCOL GetLOKFreezeCol() const;
1358 SCROW GetLOKFreezeRow() const;
1359 bool SetLOKFreezeCol(SCCOL nFreezeCol);
1360 bool SetLOKFreezeRow(SCROW nFreezeRow);
1361
1366 {
1367 static constexpr SCROW ROW_NOT_FOUND = -1;
1368
1369 public:
1370 explicit VisibleDataCellIterator(const ScDocument& rDoc, ScFlatBoolRowSegments& rRowSegs, ScColumn& rColumn);
1371
1380
1387
1394 SCROW getRow() const { return mnCurRow;}
1395
1396 private:
1403 };
1404
1405};
1406
1407/* 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:142
std::bidirectional_iterator_tag iterator_category
Definition: table.hxx:128
const SCCOL * pointer
Definition: table.hxx:131
Iterator & operator--()
Definition: table.hxx:137
Iterator(SCCOL nCol)
Definition: table.hxx:134
Iterator & operator++()
Definition: table.hxx:136
bool operator==(const Iterator &rOther) const
Definition: table.hxx:140
bool operator!=(const Iterator &rOther) const
Definition: table.hxx:141
const Iterator maBegin
Definition: table.hxx:151
const Iterator & end()
Definition: table.hxx:147
std::reverse_iterator< Iterator > rbegin()
Definition: table.hxx:148
std::reverse_iterator< Iterator > rend()
Definition: table.hxx:149
const Iterator & begin()
Definition: table.hxx:146
ScColumnsRange(SCCOL nBegin, SCCOL nEnd)
Definition: table.hxx:145
const Iterator maEnd
Definition: table.hxx:152
Compressed array of row (or column) entries, e.g.
Accessor class to ScDocument.
bool ValidRow(SCROW nRow) const
Definition: document.hxx:899
bool ValidCol(SCCOL nCol) const
Definition: document.hxx:898
bool ValidColRow(SCCOL nCol, SCROW nRow) const
Definition: document.hxx:900
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:1366
static constexpr SCROW ROW_NOT_FOUND
Definition: table.hxx:1367
VisibleDataCellIterator(const ScDocument &rDoc, ScFlatBoolRowSegments &rRowSegs, ScColumn &rColumn)
Definition: table1.cxx:2355
ScFlatBoolRowSegments & mrRowSegs
Definition: table.hxx:1398
ScRefCellValue next()
Find the next visible data cell position.
Definition: table1.cxx:2408
const ScDocument & mrDocument
Definition: table.hxx:1397
SCROW getRow() const
Get the current row position.
Definition: table.hxx:1394
ScRefCellValue reset(SCROW nRow)
Set the start row position.
Definition: table1.cxx:2364
std::unique_ptr< ScFlatBoolColSegments > mpHiddenCols
Definition: table.hxx:194
SCCOL mnEndCol
Definition: table.hxx:184
const T * GetAttr(SCCOL nCol, SCROW nRow, TypedWhichId< T > nWhich, SCROW &nStartRow, SCROW &nEndRow) const
Definition: table.hxx:741
void CopyScenarioFrom(const ScTable *pSrcTab)
Definition: table2.cxx:1575
bool CreateExcelQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam &rQueryParam)
Definition: table3.cxx:2676
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:175
SCCOL GetLOKFreezeCol() const
Definition: table7.cxx:589
OUString aPageStyle
Definition: table.hxx:174
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:247
bool ValidCol(SCCOL nCol) const
Definition: table.hxx:348
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:171
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:374
void SetAllFormulasDirty(const sc::SetFormulaDirtyContext &rCxt)
Definition: table2.cxx:2115
void PrepareQuery(ScQueryParam &rQueryParam)
Definition: table3.cxx:2568
std::unique_ptr< ScFlatBoolRowSegments > mpFilteredRows
Definition: table.hxx:197
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:245
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:363
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:660
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:167
Color aTabBgColor
Definition: table.hxx:232
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:217
bool HasRowHeader(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
Definition: table3.cxx:2929
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:234
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:237
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:221
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:3062
bool bVisible
Definition: table.hxx:248
bool GetCalcNotification() const
Definition: table.hxx:355
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:382
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:381
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:736
const std::optional< ScRange > & GetRepeatRowRange() const
Definition: table.hxx:812
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:249
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:202
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:400
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:160
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:2754
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:350
std::unique_ptr< ScBitMaskCompressedArray< SCROW, CRFlags > > pRowFlags
Definition: table.hxx:193
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:344
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:376
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:242
ScColumn & CreateColumnIfNotExists(const SCCOL nScCol)
Definition: table.hxx:295
const ScColumnData & ColumnData(SCCOL nCol) const
Definition: table.hxx:1155
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:254
SCROW nRepeatEndY
Definition: table.hxx:179
bool GetDataStart(SCCOL &rStartCol, SCROW &rStartRow) const
Definition: table1.cxx:809
::std::set< SCROW > maRowPageBreaks
Definition: table.hxx:199
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:396
bool IsColValid(const SCCOL nScCol) const
Definition: table.hxx:336
void CopyUpdated(const ScTable *pPosTab, ScTable *pDestTab) const
Definition: table2.cxx:1549
std::unique_ptr< ScBitMaskCompressedArray< SCCOL, CRFlags > > mpColFlags
Definition: table.hxx:192
void SetStreamValid(bool bSet, bool bIgnoreLock=false)
Definition: table1.cxx:378
const ScSheetEvents * GetSheetEvents() const
Definition: table.hxx:327
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:244
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:2996
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:3013
bool SetRowHidden(SCROW nStartRow, SCROW nEndRow, bool bHidden)
Definition: table5.cxx:572
sal_uLong nLinkRefreshDelay
Definition: table.hxx:170
bool bTableAreaValid
Definition: table.hxx:246
bool bActiveScenario
Definition: table.hxx:253
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:226
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:196
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:811
SCCOL nRepeatStartX
Definition: table.hxx:176
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:228
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:352
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:169
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:208
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:211
bool mbForceBreaks
Definition: table.hxx:255
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:166
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:2900
SCTAB nTab
Definition: table.hxx:213
bool HasUniformRowHeight(SCROW nRow1, SCROW nRow2) const
Definition: table7.cxx:257
std::unique_ptr< ScRangeList > pScenarioRanges
Definition: table.hxx:230
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:3033
bool IsLayoutRTL() const
Definition: table.hxx:358
bool bCalcNotification
Definition: table.hxx:250
std::unique_ptr< ScOutlineTable > pOutlineTable
Definition: table.hxx:204
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:816
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:231
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:377
void SetNumberFormat(SCCOL nCol, SCROW nRow, sal_uInt32 nNumberFormat)
Definition: table2.cxx:2273
OUString aName
Definition: table.hxx:162
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:340
ScAddress maLOKFreezeCell
Definition: table.hxx:240
bool IsProtected() const
Definition: table5.cxx:1094
bool IsStreamValid() const
Definition: table.hxx:333
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:2968
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:393
void CompileAll(sc::CompileFormulaContext &rCxt)
Definition: table2.cxx:2185
const Color & GetTabBgColor() const
Definition: table.hxx:369
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:243
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:367
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:330
SCROW nTableAreaY
Definition: table.hxx:209
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:2064
ScColumnData aDefaultColData
Definition: table.hxx:260
void UnshareFormulaCells(SCCOL nCol, std::vector< SCROW > &rRows)
Definition: table7.cxx:278
ScColumnData & GetColumnData(SCCOL nCol)
Definition: table.hxx:304
ScColumnsRange GetWritableColumnsRange(SCCOL begin, SCCOL end)
Definition: table1.cxx:2700
ScConditionalFormatList * GetCondFormList()
Definition: table1.cxx:2687
SCROW mnEndRow
Definition: table.hxx:185
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 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:251
bool IsLoadingRTL() const
Definition: table.hxx:359
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:293
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:916
void RemoveManualBreaks()
Definition: table5.cxx:304
SCCOL nRepeatEndX
Definition: table.hxx:177
ScRangeVec aPrintRanges
Definition: table.hxx:223
bool IsEmptyData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
Definition: table1.cxx:1191
::std::set< SCROW > maRowManualBreaks
Definition: table.hxx:200
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:183
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:189
void RestoreFromCache(SvStream &rStrm)
Definition: table7.cxx:475
const OUString & GetLinkFlt() const
Definition: table.hxx:379
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:164
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:1142
void CopyColFiltered(const ScTable &rTable, SCCOL nStartCol, SCCOL nEndCol)
Definition: table5.cxx:892
const OUString & GetLinkOpt() const
Definition: table.hxx:380
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:178
const ScDocument & GetDoc() const
Definition: table.hxx:290
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:163
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:2860
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:168
void CompileColRowNameFormula(sc::CompileFormulaContext &rCxt)
Definition: table4.cxx:2960
std::unique_ptr< ScFlatBoolRowSegments > mpHiddenRows
Definition: table.hxx:195
SCTAB GetTab() const
Definition: table.hxx:291
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:238
ScScenarioFlags GetScenarioFlags() const
Definition: table.hxx:371
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:190
SCROW CountVisibleRows(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:751
CellType GetCellType(const ScAddress &rPos) const
Definition: table.hxx:477
void SetScenarioComment(const OUString &rComment)
Definition: table.hxx:366
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:235
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:3044
ScScenarioFlags nScenarioFlags
Definition: table.hxx:233
SvtBroadcaster * GetBroadcaster(SCCOL nCol, SCROW nRow)
Definition: table1.cxx:2577
void InvalidateCellArea()
Definition: table.hxx:613
const ScPatternAttr * GetPattern(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:2281
ScSortParam aSortParam
Definition: table.hxx:220
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:158
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:210
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:3053
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:819
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:252
SCCOL ClampToAllocatedColumns(SCCOL nCol) const
Definition: table.hxx:1141
const ScTableProtection * GetProtection() const
Definition: table5.cxx:1106
sal_uInt64 GetCellCount() const
Definition: table3.cxx:3003
void EndListeningIntersectedGroup(sc::EndListeningContext &rCxt, SCCOL nCol, SCROW nRow, std::vector< ScAddress > *pGroupPos)
Definition: table7.cxx:308
ScDocument & rDocument
Definition: table.hxx:214
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:373
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:2958
void SetScenarioColor(const Color &rNew)
Definition: table.hxx:368
void MarkScenarioIn(ScMarkData &rMark, ScScenarioFlags nNeededBits) const
Definition: table2.cxx:1585
void GetScenarioComment(OUString &rComment) const
Definition: table.hxx:365
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:289
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:395
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:372
SCROW GetLastChangedRowFlagsWidth() const
Definition: table2.cxx:3934
std::unique_ptr< ScTableProtection > pTabProtection
Definition: table.hxx:187
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:389
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:201
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:225
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:2326
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:257
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:215
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:206
bool ValidRow(SCROW nRow) const
Definition: table.hxx:349
bool SearchRangeForEmptyCell(const ScRange &rRange, const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, OUString &rUndoStr)
Definition: table6.cxx:971
bool mbCellAreaDirty
Definition: table.hxx:182
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:2573
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:378
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:41
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:86
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:276
CommentCaptionState
Definition: document.hxx:262
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.
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