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#include "SolverSettings.hxx"
37
38#include <algorithm>
39#include <atomic>
40#include <memory>
41#include <optional>
42#include <set>
43#include <vector>
44
45template <typename A, typename D> class ScBitMaskCompressedArray;
46template <typename A, typename D> class ScCompressedArray;
47
48namespace utl {
49 class TextSearch;
50}
51
52namespace com::sun::star {
53 namespace sheet {
54 struct TablePageBreakData;
55 }
56}
57
58namespace formula { struct VectorRefArray; }
59namespace sc {
60
61struct BroadcasterState;
62class StartListeningContext;
63class EndListeningContext;
64class CopyFromClipContext;
65class CopyToClipContext;
66class CopyToDocContext;
67class MixDocContext;
68class ColumnSpanSet;
69class RangeColumnSpanSet;
70class ColumnSet;
71struct ColumnBlockPosition;
72class TableColumnBlockPositionSet;
73struct RefUpdateContext;
74struct RefUpdateInsertTabContext;
75struct RefUpdateDeleteTabContext;
76struct RefUpdateMoveTabContext;
77struct NoteEntry;
78class DocumentStreamAccess;
79class CellValues;
80class TableValues;
81class RowHeightContext;
82class CompileFormulaContext;
83struct SetFormulaDirtyContext;
84class ColumnIterator;
85class ScDrawObjData;
86}
87
88class SfxItemSet;
90class SvxBoxInfoItem;
91class SvxBoxItem;
92class SvxSearchItem;
93
95class ScEditDataArray;
96class ScFormulaCell;
97class ScOutlineTable;
98class ScPrintSaverTab;
99class ScProgress;
100class ScRangeList;
101class ScSheetEvents;
102class ScSortInfoArray;
105class ScStyleSheet;
107class ScUserListData;
108struct RowInfo;
109class ScFunctionData;
110class CollatorWrapper;
114struct ScSetStringParam;
115struct ScColWidthParam;
116class ScRangeName;
117class ScDBData;
118class ScHint;
119class ScPostIt;
121
122
123class ScColumnsRange final
124{
125 public:
126 class Iterator final
127 {
129 public:
130 typedef std::bidirectional_iterator_tag iterator_category;
133 typedef const SCCOL* pointer;
135
136 explicit Iterator(SCCOL nCol) : mCol(nCol) {}
137
138 Iterator& operator++() { ++mCol; return *this;}
139 Iterator& operator--() { --mCol; return *this;}
140
141 // Comparing iterators from different containers is undefined, so comparing mCol is enough.
142 bool operator==(const Iterator & rOther) const {return mCol == rOther.mCol;}
143 bool operator!=(const Iterator & rOther) const {return !(*this == rOther);}
144 SCCOL operator*() const {return mCol;}
145 };
146
147 ScColumnsRange(SCCOL nBegin, SCCOL nEnd) : maBegin(nBegin), maEnd(nEnd) {}
148 const Iterator & begin() { return maBegin; }
149 const Iterator & end() { return maEnd; }
150 std::reverse_iterator<Iterator> rbegin() { return std::reverse_iterator<Iterator>(maEnd); }
151 std::reverse_iterator<Iterator> rend() { return std::reverse_iterator<Iterator>(maBegin); }
152private:
155};
156
158{
159private:
160 typedef ::std::vector< ScRange > ScRangeVec;
161
163
164 OUString aName;
165 OUString aCodeName;
166 OUString aComment;
167
168 OUString aLinkDoc;
169 OUString aLinkFlt;
170 OUString aLinkOpt;
171 OUString aLinkTab;
174
175 // page style template
176 OUString aPageStyle;
177 Size aPageSizeTwips; // size of the print-page
178 SCCOL nRepeatStartX; // repeating rows/columns
179 SCCOL nRepeatEndX; // REPEAT_NONE, if not used
182
183 // last used col and row
188
189 // Standard row height for this sheet - benefits XLSX because default height defined per sheet
190 sal_uInt16 mnOptimalMinRowHeight; // in Twips
191
192 std::unique_ptr<ScTableProtection> pTabProtection;
193
194 std::unique_ptr<ScCompressedArray<SCCOL, sal_uInt16>> mpColWidth;
195 std::unique_ptr<ScFlatUInt16RowSegments> mpRowHeights;
196
197 std::unique_ptr<ScBitMaskCompressedArray<SCCOL, CRFlags>> mpColFlags;
198 std::unique_ptr<ScBitMaskCompressedArray< SCROW, CRFlags>> pRowFlags;
199 std::unique_ptr<ScFlatBoolColSegments> mpHiddenCols;
200 std::unique_ptr<ScFlatBoolRowSegments> mpHiddenRows;
201 std::unique_ptr<ScFlatBoolColSegments> mpFilteredCols;
202 std::unique_ptr<ScFlatBoolRowSegments> mpFilteredRows;
203
204 ::std::set<SCROW> maRowPageBreaks;
205 ::std::set<SCROW> maRowManualBreaks;
206 ::std::set<SCCOL> maColPageBreaks;
207 ::std::set<SCCOL> maColManualBreaks;
208
209 std::unique_ptr<ScOutlineTable> pOutlineTable;
210
211 std::unique_ptr<ScSheetEvents> pSheetEvents;
212
217
220 std::unique_ptr<utl::TextSearch> pSearchText;
221
222 mutable OUString aUpperName; // #i62977# filled only on demand, reset in SetName
223
224 // sort parameter to minimize stack size of quicksort
227
229
230 std::optional<ScRange> moRepeatColRange;
231 std::optional<ScRange> moRepeatRowRange;
232
233 sal_uInt16 nLockCount;
234
235 std::unique_ptr<ScRangeList> pScenarioRanges;
239 std::unique_ptr<ScDBData> pDBDataNoName;
240 mutable std::unique_ptr<ScRangeName> mpRangeName;
241
242 std::unique_ptr<ScConditionalFormatList> mpCondFormatList;
244
246
247 bool bScenario:1;
251 mutable bool bTableAreaValid:1;
253 bool bVisible:1;
262 std::atomic<bool> bStreamValid;
263
264 // Solver settings in current tab
265 std::shared_ptr<sc::SolverSettings> m_pSolverSettings;
266
267 // Default attributes for the unallocated columns.
269
270friend class ScDocument; // for FillInfo
271friend class ScColumn;
272friend class ScValueIterator;
276friend class ScCellIterator;
277template< ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType queryType >
279template< ScQueryCellIteratorAccess accessType >
283friend class ScDocumentImport;
285friend class sc::ColumnSpanSet;
289
290public:
291 ScTable( ScDocument& rDoc, SCTAB nNewTab, const OUString& rNewName,
292 bool bColInfo = true, bool bRowInfo = true );
293 ~ScTable() COVERITY_NOEXCEPT_FALSE;
294 ScTable(const ScTable&) = delete;
295 ScTable& operator=(const ScTable&) = delete;
296
298 const ScDocument& GetDoc() const { return rDocument;}
299 SCTAB GetTab() const { return nTab; }
300
302
304 {
305 if ( nScCol >= aCol.size() )
307 return aCol[nScCol];
308 }
309 // out-of-line the cold part of the function
310 void CreateColumnIfNotExistsImpl( const SCCOL nScCol );
311
313 {
314 if( nCol >= aCol.size())
315 return aDefaultColData;
316 return aCol[nCol];
317 }
318
319 sal_uInt64 GetCellCount() const;
320 sal_uInt64 GetWeightedCount() const;
321 sal_uInt64 GetWeightedCount(SCROW nStartRow, SCROW nEndRow) const;
322 sal_uInt64 GetCodeCount() const; // RPN code in formula
323
324 sal_uInt16 GetTextWidth(SCCOL nCol, SCROW nRow) const;
325
326 bool SetOutlineTable( const ScOutlineTable* pNewOutline );
327 void StartOutlineTable();
328
329 void DoAutoOutline( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow );
330
331 bool TestRemoveSubTotals( const ScSubTotalParam& rParam );
332 void RemoveSubTotals( ScSubTotalParam& rParam );
333 bool DoSubTotals( ScSubTotalParam& rParam );
334
335 const ScSheetEvents* GetSheetEvents() const { return pSheetEvents.get(); }
336 void SetSheetEvents( std::unique_ptr<ScSheetEvents> pNew );
337
338 bool IsVisible() const { return bVisible; }
339 void SetVisible( bool bVis );
340
341 bool IsStreamValid() const { return bStreamValid; }
342 void SetStreamValid( bool bSet, bool bIgnoreLock = false );
343
344 [[nodiscard]] bool IsColValid( const SCCOL nScCol ) const
345 {
346 return nScCol >= static_cast< SCCOL >( 0 ) && nScCol < aCol.size();
347 }
348 [[nodiscard]] bool IsColRowValid( const SCCOL nScCol, const SCROW nScRow ) const
349 {
350 return IsColValid( nScCol ) && GetDoc().ValidRow( nScRow );
351 }
352 [[nodiscard]] bool IsColRowTabValid( const SCCOL nScCol, const SCROW nScRow, const SCTAB nScTab ) const
353 {
354 return IsColValid( nScCol ) && GetDoc().ValidRow( nScRow ) && ValidTab( nScTab );
355 }
356 [[nodiscard]] bool ValidCol(SCCOL nCol) const { return GetDoc().ValidCol(nCol); }
357 [[nodiscard]] bool ValidRow(SCROW nRow) const { return GetDoc().ValidRow(nRow); }
358 [[nodiscard]] bool ValidColRow(SCCOL nCol, SCROW nRow) const { return GetDoc().ValidColRow(nCol, nRow); }
359
361 void SetPendingRowHeights( bool bSet );
362
363 bool GetCalcNotification() const { return bCalcNotification; }
364 void SetCalcNotification( bool bSet );
365
366 bool IsLayoutRTL() const { return bLayoutRTL; }
367 bool IsLoadingRTL() const { return bLoadingRTL; }
368 void SetLayoutRTL( bool bSet );
369 void SetLoadingRTL( bool bSet );
370
371 bool IsScenario() const { return bScenario; }
372 void SetScenario( bool bFlag );
373 void GetScenarioComment( OUString& rComment) const { rComment = aComment; }
374 void SetScenarioComment( const OUString& rComment ) { aComment = rComment; }
375 const Color& GetScenarioColor() const { return aScenarioColor; }
376 void SetScenarioColor(const Color& rNew) { aScenarioColor = rNew; }
377 const Color& GetTabBgColor() const { return aTabBgColor; }
378 void SetTabBgColor(const Color& rColor);
381 void SetActiveScenario(bool bSet) { bActiveScenario = bSet; }
382 bool IsActiveScenario() const { return bActiveScenario; }
383
384 ScLinkMode GetLinkMode() const { return nLinkMode; }
385 bool IsLinked() const { return nLinkMode != ScLinkMode::NONE; }
386 const OUString& GetLinkDoc() const { return aLinkDoc; }
387 const OUString& GetLinkFlt() const { return aLinkFlt; }
388 const OUString& GetLinkOpt() const { return aLinkOpt; }
389 const OUString& GetLinkTab() const { return aLinkTab; }
391
392 void SetLink( ScLinkMode nMode, const OUString& rDoc, const OUString& rFlt,
393 const OUString& rOpt, const OUString& rTab, sal_uLong nRefreshDelay );
394
395 sal_Int64 GetHashCode () const;
396
397 const OUString& GetName() const { return aName; }
398 void SetName( const OUString& rNewName );
399
400 void SetAnonymousDBData(std::unique_ptr<ScDBData> pDBData);
402
403 const OUString& GetCodeName() const { return aCodeName; }
404 void SetCodeName( const OUString& rNewName ) { aCodeName = rNewName; }
405
406 const OUString& GetUpperName() const;
407
408 const OUString& GetPageStyle() const { return aPageStyle; }
409 void SetPageStyle( const OUString& rName );
410 void PageStyleModified( const OUString& rNewName );
411
412 bool IsProtected() const;
413 void SetProtection(const ScTableProtection* pProtect);
414 const ScTableProtection* GetProtection() const;
415 void GetUnprotectedCells( ScRangeList& rRangeList ) const;
416
417 bool IsEditActionAllowed( sc::ColRowEditAction eAction, SCCOLROW nStart, SCCOLROW nEnd ) const;
418
419 Size GetPageSize() const;
420 void SetPageSize( const Size& rSize );
421 void SetRepeatArea( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCROW nEndRow );
422
423 void LockTable();
424 void UnlockTable();
425
426 bool IsBlockEditable( SCCOL nCol1, SCROW nRow1, SCCOL nCol2,
427 SCROW nRow2, bool* pOnlyNotBecauseOfMatrix = nullptr,
428 bool bNoMatrixAtAll = false ) const;
429 bool IsSelectionEditable( const ScMarkData& rMark,
430 bool* pOnlyNotBecauseOfMatrix = nullptr ) const;
431
432 bool HasBlockMatrixFragment( const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2,
433 bool bNoMatrixAtAll = false ) const;
434 bool HasSelectionMatrixFragment( const ScMarkData& rMark ) const;
435
436 // This also includes e.g. notes. Use IsEmptyData() for cell data only.
437 bool IsBlockEmpty( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ) const;
438
439 bool SetString( SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString& rString,
440 const ScSetStringParam * pParam = nullptr );
441
442 bool SetEditText( SCCOL nCol, SCROW nRow, std::unique_ptr<EditTextObject> pEditText );
443 void SetEditText( SCCOL nCol, SCROW nRow, const EditTextObject& rEditText, const SfxItemPool* pEditPool );
444 SCROW GetFirstEditTextRow( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ) const;
445
446 void SetEmptyCell( SCCOL nCol, SCROW nRow );
447 void SetFormula(
448 SCCOL nCol, SCROW nRow, const ScTokenArray& rArray, formula::FormulaGrammar::Grammar eGram );
449 void SetFormula(
450 SCCOL nCol, SCROW nRow, const OUString& rFormula, formula::FormulaGrammar::Grammar eGram );
451
452 SC_DLLPUBLIC std::shared_ptr<sc::SolverSettings> GetSolverSettings();
453
461
462 bool SetFormulaCells( SCCOL nCol, SCROW nRow, std::vector<ScFormulaCell*>& rCells );
463
464 bool HasFormulaCell( const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2 ) const;
465
466 svl::SharedString GetSharedString( SCCOL nCol, SCROW nRow ) const;
467
468 void SetValue( SCCOL nCol, SCROW nRow, const double& rVal );
469 void SetValues( const SCCOL nCol, const SCROW nRow, const std::vector<double>& rVals );
470 void SetError( SCCOL nCol, SCROW nRow, FormulaError nError);
471 SCSIZE GetPatternCount( SCCOL nCol ) const;
472 SCSIZE GetPatternCount( SCCOL nCol, SCROW nRow1, SCROW nRow2 ) const;
473 bool ReservePatternCount( SCCOL nCol, SCSIZE nReserve );
474
475 void SetRawString( SCCOL nCol, SCROW nRow, const svl::SharedString& rStr );
476 OUString GetString( SCCOL nCol, SCROW nRow, const ScInterpreterContext* pContext = nullptr ) const;
477 double* GetValueCell( SCCOL nCol, SCROW nRow );
478 // Note that if pShared is set and a value is returned that way, the returned OUString is empty.
479 OUString GetInputString( SCCOL nCol, SCROW nRow, bool bForceSystemLocale = false ) const;
480 double GetValue( SCCOL nCol, SCROW nRow ) const;
481 const EditTextObject* GetEditText( SCCOL nCol, SCROW nRow ) const;
482 void RemoveEditTextCharAttribs( SCCOL nCol, SCROW nRow, const ScPatternAttr& rAttr );
483 OUString GetFormula( SCCOL nCol, SCROW nRow ) const;
484 const ScFormulaCell* GetFormulaCell( SCCOL nCol, SCROW nRow ) const;
486
487 CellType GetCellType( const ScAddress& rPos ) const
488 {
489 if (!GetDoc().ValidColRow(rPos.Col(),rPos.Row()))
490 return CELLTYPE_NONE;
491 if (rPos.Col() >= aCol.size())
492 return CELLTYPE_NONE;
493 return aCol[rPos.Col()].GetCellType( rPos.Row() );
494 }
495 CellType GetCellType( SCCOL nCol, SCROW nRow ) const;
497 ScRefCellValue GetCellValue( SCCOL nCol, SCROW nRow ) const;
498
499 void GetFirstDataPos(SCCOL& rCol, SCROW& rRow) const;
500 void GetLastDataPos(SCCOL& rCol, SCROW& rRow) const;
501
502 // Sparklines
503
504 std::shared_ptr<sc::Sparkline> GetSparkline(SCCOL nCol, SCROW nRow);
505 sc::Sparkline* CreateSparkline(SCCOL nCol, SCROW nRow, std::shared_ptr<sc::SparklineGroup> const& pSparklineGroup);
506 bool DeleteSparkline(SCCOL nCol, SCROW nRow);
507
509 void CopySparklinesToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable* pDestTab);
510 void FillSparkline(bool bVertical, SCCOLROW nFixed, SCCOLROW nIteratingStart, SCCOLROW nIteratingEnd, SCCOLROW nFillStart, SCCOLROW nFillEnd);
511
512 // Notes / Comments
513 std::unique_ptr<ScPostIt> ReleaseNote( SCCOL nCol, SCROW nRow );
514 ScPostIt* GetNote( SCCOL nCol, SCROW nRow );
515 void SetNote( SCCOL nCol, SCROW nRow, std::unique_ptr<ScPostIt> pNote );
516
517 size_t GetNoteCount( SCCOL nCol ) const;
518 SCROW GetNotePosition( SCCOL nCol, size_t nIndex ) const;
520 void ForgetNoteCaptions( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, bool bPreserveData );
521
522 void GetAllNoteEntries( std::vector<sc::NoteEntry>& rNotes ) const;
523 void GetNotesInRange( const ScRange& rRange, std::vector<sc::NoteEntry>& rNotes ) const;
524 CommentCaptionState GetAllNoteCaptionsState( const ScRange& rRange, std::vector<sc::NoteEntry>& rNotes );
525 bool ContainsNotesInRange( const ScRange& rRange ) const;
526
527 bool TestInsertRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize ) const;
528 void InsertRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize );
529 void DeleteRow(
530 const sc::ColumnSet& rRegroupCols, SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize,
531 bool* pUndoOutline, std::vector<ScAddress>* pGroupPos );
532
533 bool TestInsertCol( SCROW nStartRow, SCROW nEndRow, SCSIZE nSize ) const;
534 void InsertCol(
535 const sc::ColumnSet& rRegroupCols, SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize );
536 void DeleteCol(
537 const sc::ColumnSet& rRegroupCols, SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize, bool* pUndoOutline );
538
539 void DeleteArea(
540 SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, InsertDeleteFlags nDelFlag,
541 bool bBroadcast = true, sc::ColumnSpanSet* pBroadcastSpans = nullptr );
542
543 void CopyToClip( sc::CopyToClipContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable* pTable );
544 void CopyToClip( sc::CopyToClipContext& rCxt, const ScRangeList& rRanges, ScTable* pTable );
545
547 SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const SvNumberFormatterMergeMap& rMap,
548 ScTable* pDestTab );
549
550 void CopyCellToDocument( SCCOL nSrcCol, SCROW nSrcRow, SCCOL nDestCol, SCROW nDestRow, ScTable& rDestTab );
551
553
555 sc::CopyFromClipContext& rCxt, const ScTable& rClipTab, sc::ColumnSpanSet& rBroadcastSpans );
556
558 sc::CopyFromClipContext& rCxt, const SCCOL nCol1, const SCROW nRow1,
559 const SCCOL nCol2, const SCROW nRow2,
560 const SCROW nSrcRow, const ScTable* pSrcTab );
561
562 void CopyFromClip(
563 sc::CopyFromClipContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
564 SCCOL nDx, SCROW nDy, ScTable* pTable );
565
568 SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
569
570 void SetDirtyFromClip(
571 SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sc::ColumnSpanSet& rBroadcastSpans );
572
573 void CopyToTable(
574 sc::CopyToDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
575 InsertDeleteFlags nFlags, bool bMarked, ScTable* pDestTab,
576 const ScMarkData* pMarkData, bool bAsLink, bool bColRowFlags,
577 bool bGlobalNamesToLocal, bool bCopyCaptions );
578
579 void CopyCaptionsToTable( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable* pDestTab, bool bCloneCaption );
580
581 void UndoToTable(
582 sc::CopyToDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
583 InsertDeleteFlags nFlags, bool bMarked, ScTable* pDestTab );
584
585 void CopyConditionalFormat( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
586 SCCOL nDx, SCROW nDy, const ScTable* pTable);
594 void TransposeClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCROW nCombinedStartRow,
595 SCROW nRowDestOffset, ScTable* pTransClip, InsertDeleteFlags nFlags,
596 bool bAsLink, bool bIncludeFiltered);
597
598 // mark of this document
599 void MixMarked(
600 sc::MixDocContext& rCxt, const ScMarkData& rMark, ScPasteFunc nFunction,
601 bool bSkipEmpty, const ScTable* pSrcTab );
602
603 void MixData(
604 sc::MixDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
605 ScPasteFunc nFunction, bool bSkipEmpty, const ScTable* pSrcTab );
606
607 void CopyData( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
608 SCCOL nDestCol, SCROW nDestRow, SCTAB nDestTab );
609
610 void CopyScenarioFrom( const ScTable* pSrcTab );
611 void CopyScenarioTo( ScTable* pDestTab ) const;
612 bool TestCopyScenarioTo( const ScTable* pDestTab ) const;
613 void MarkScenarioIn(ScMarkData& rMark, ScScenarioFlags nNeededBits) const;
614 bool HasScenarioRange( const ScRange& rRange ) const;
616 const ScRangeList* GetScenarioRanges() const;
617
618 void CopyUpdated( const ScTable* pPosTab, ScTable* pDestTab ) const;
619
620 void InvalidateTableArea();
622
624 bool GetCellArea( SCCOL& rEndCol, SCROW& rEndRow ); // FALSE = empty
625 bool GetTableArea( SCCOL& rEndCol, SCROW& rEndRow, bool bCalcHiddens = false) const;
626 bool GetPrintArea( SCCOL& rEndCol, SCROW& rEndRow, bool bNotes, bool bCalcHiddens = false) const;
627 bool GetPrintAreaHor( SCROW nStartRow, SCROW nEndRow,
628 SCCOL& rEndCol ) const;
629 bool GetPrintAreaVer( SCCOL nStartCol, SCCOL nEndCol,
630 SCROW& rEndRow, bool bNotes ) const;
631
632 bool GetDataStart( SCCOL& rStartCol, SCROW& rStartRow ) const;
633
634 void ExtendPrintArea( OutputDevice* pDev,
635 SCCOL nStartCol, SCROW nStartRow, SCCOL& rEndCol, SCROW nEndRow );
636
637 void GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow,
638 bool bIncludeOld, bool bOnlyDown ) const;
639
640 bool GetDataAreaSubrange( ScRange& rRange ) const;
641
642 bool ShrinkToUsedDataArea( bool& o_bShrunk, SCCOL& rStartCol, SCROW& rStartRow,
643 SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly,
644 bool bStickyTopRow, bool bStickyLeftCol,
645 ScDataAreaExtras* pDataAreaExtras ) const;
646
647 SCROW GetLastDataRow( SCCOL nCol1, SCCOL nCol2, SCROW nLastRow,
648 ScDataAreaExtras* pDataAreaExtras = nullptr ) const;
649
650 bool IsEmptyData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const;
651 SCSIZE GetEmptyLinesInBlock( SCCOL nStartCol, SCROW nStartRow,
652 SCCOL nEndCol, SCROW nEndRow, ScDirection eDir ) const;
653
654 void FindAreaPos( SCCOL& rCol, SCROW& rRow, ScMoveDirection eDirection ) const;
655 void GetNextPos( SCCOL& rCol, SCROW& rRow, SCCOL nMovX, SCROW nMovY,
656 bool bMarked, bool bUnprotected, const ScMarkData& rMark, SCCOL nTabStartCol ) const;
657
658 bool SkipRow( const SCCOL rCol, SCROW& rRow, const SCROW nMovY, const ScMarkData& rMark,
659 const bool bUp, const SCROW nUsedY, const bool bMarked, const bool bSheetProtected ) const;
660 void LimitChartArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow ) const;
661
662 bool HasData( SCCOL nCol, SCROW nRow ) const;
663 bool HasStringData( SCCOL nCol, SCROW nRow ) const;
664 bool HasValueData( SCCOL nCol, SCROW nRow ) const;
665 bool HasStringCells( SCCOL nStartCol, SCROW nStartRow,
666 SCCOL nEndCol, SCROW nEndRow ) const;
667
668 sc::MultiDataCellState HasMultipleDataCells( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ) const;
669
670 FormulaError GetErrCode( const ScAddress& rPos ) const
671 {
672 return IsColRowValid(rPos.Col(),rPos.Row()) ?
673 aCol[rPos.Col()].GetErrCode( rPos.Row() ) :
674 FormulaError::NONE;
675 }
676
677 void ResetChanged( const ScRange& rRange );
678
682 void SetDirtyAfterLoad();
683 void SetDirtyVar();
684 void SetTableOpDirty( const ScRange& );
685 void CalcAll();
686 void CalcAfterLoad( sc::CompileFormulaContext& rCxt, bool bStartListening );
688 void CompileXML( sc::CompileFormulaContext& rCxt, ScProgress& rProgress );
689
695 bool BroadcastBroadcasters( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SfxHintId nHint );
696
698
699 void UpdateReference(
700 sc::RefUpdateContext& rCxt, ScDocument* pUndoDoc = nullptr,
701 bool bIncludeDraw = true, bool bUpdateNoteCaptionPos = true );
702
703 void UpdateDrawRef( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1,
704 SCCOL nCol2, SCROW nRow2, SCTAB nTab2,
705 SCCOL nDx, SCROW nDy, SCTAB nDz, bool bUpdateNoteCaptionPos = true );
706
707 void UpdateTranspose( const ScRange& rSource, const ScAddress& rDest,
708 ScDocument* pUndoDoc );
709
710 void UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY );
711
714 void UpdateMoveTab( sc::RefUpdateMoveTabContext& rCxt, SCTAB nTabNo, ScProgress* pProgress );
715 void UpdateCompile( bool bForceIfNameInUse = false );
716 void SetTabNo(SCTAB nNewTab);
717 void FindRangeNamesInUse(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
718 sc::UpdatedRangeNames& rIndexes) const;
719 void Fill( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
720 sal_uInt64 nFillCount, FillDir eFillDir, FillCmd eFillCmd, FillDateCmd eFillDateCmd,
721 double nStepValue, const tools::Duration& rDurationStep,
722 double nMaxValue, ScProgress* pProgress);
723 OUString GetAutoFillPreview( const ScRange& rSource, SCCOL nEndX, SCROW nEndY );
724
725 void UpdateSelectionFunction( ScFunctionData& rData, const ScMarkData& rMark );
726
727 void AutoFormat( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
728 sal_uInt16 nFormatNo );
729 void GetAutoFormatData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScAutoFormatData& rData);
730 bool SearchAndReplace(
731 const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow, const ScMarkData& rMark,
732 ScRangeList& rMatchedRanges, OUString& rUndoStr, ScDocument* pUndoDoc, bool& bMatchedRangesWereClamped);
733
734 void FindMaxRotCol( RowInfo* pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2 );
735
736 bool HasAttrib( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, HasAttrFlags nMask ) const;
737 bool HasAttribSelection( const ScMarkData& rMark, HasAttrFlags nMask ) const;
738 bool HasAttrib( SCCOL nCol, SCROW nRow, HasAttrFlags nMask,
739 SCROW* nStartRow = nullptr, SCROW* nEndRow = nullptr ) const;
740 bool IsMerged( SCCOL nCol, SCROW nRow ) const;
741 bool ExtendMerge( SCCOL nStartCol, SCROW nStartRow,
742 SCCOL& rEndCol, SCROW& rEndRow,
743 bool bRefresh );
744 void SetMergedCells( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
745
746 const SfxPoolItem* GetAttr( SCCOL nCol, SCROW nRow, sal_uInt16 nWhich ) const;
747 template<class T> const T* GetAttr( SCCOL nCol, SCROW nRow, TypedWhichId<T> nWhich ) const
748 {
749 return static_cast<const T*>(GetAttr(nCol, nRow, sal_uInt16(nWhich)));
750 }
751 const SfxPoolItem* GetAttr( SCCOL nCol, SCROW nRow, sal_uInt16 nWhich, SCROW& nStartRow, SCROW& nEndRow ) const;
752 template<class T> const T* GetAttr( SCCOL nCol, SCROW nRow, TypedWhichId<T> nWhich, SCROW& nStartRow, SCROW& nEndRow ) const
753 {
754 return static_cast<const T*>(GetAttr(nCol, nRow, sal_uInt16(nWhich), nStartRow, nEndRow));
755 }
756 const ScPatternAttr* GetPattern( SCCOL nCol, SCROW nRow ) const;
757 const ScPatternAttr* GetMostUsedPattern( SCCOL nCol, SCROW nStartRow, SCROW nEndRow ) const;
758
759 sal_uInt32 GetNumberFormat( const ScInterpreterContext& rContext, const ScAddress& rPos ) const;
760 sal_uInt32 GetNumberFormat( SCCOL nCol, SCROW nRow ) const;
761 sal_uInt32 GetNumberFormat( SCCOL nCol, SCROW nStartRow, SCROW nEndRow ) const;
762
763 void SetNumberFormat( SCCOL nCol, SCROW nRow, sal_uInt32 nNumberFormat );
764
766 const ScMarkData& rMark, bool bDeep ) const;
767 void MergePatternArea( ScMergePatternState& rState, SCCOL nCol1, SCROW nRow1,
768 SCCOL nCol2, SCROW nRow2, bool bDeep ) const;
769 void MergeBlockFrame( SvxBoxItem* pLineOuter, SvxBoxInfoItem* pLineInner,
770 ScLineFlags& rFlags,
771 SCCOL nStartCol, SCROW nStartRow,
772 SCCOL nEndCol, SCROW nEndRow ) const;
773 void ApplyBlockFrame(const SvxBoxItem& rLineOuter,
774 const SvxBoxInfoItem* pLineInner,
775 SCCOL nStartCol, SCROW nStartRow,
776 SCCOL nEndCol, SCROW nEndRow );
777
778 void ApplyAttr( SCCOL nCol, SCROW nRow, const SfxPoolItem& rAttr );
779 void ApplyPattern( SCCOL nCol, SCROW nRow, const ScPatternAttr& rAttr );
780 void ApplyPatternArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
781 const ScPatternAttr& rAttr, ScEditDataArray* pDataArray = nullptr,
782 bool* const pIsChanged = nullptr );
783 void SetAttrEntries( SCCOL nStartCol, SCCOL nEndCol, std::vector<ScAttrEntry> && vNewData);
784
785 void SetPattern( const ScAddress& rPos, const ScPatternAttr& rAttr );
786 const ScPatternAttr* SetPattern( SCCOL nCol, SCROW nRow, std::unique_ptr<ScPatternAttr> );
787 void SetPattern( SCCOL nCol, SCROW nRow, const ScPatternAttr& rAttr );
789 const ScPatternAttr& rPattern, SvNumFormatType nNewType );
790 void AddCondFormatData( const ScRangeList& rRange, sal_uInt32 nIndex );
791 void RemoveCondFormatData( const ScRangeList& rRange, sal_uInt32 nIndex );
792 void SetPatternAreaCondFormat( SCCOL nCol, SCROW nStartRow, SCROW nEndRow,
793 const ScPatternAttr& rAttr, const ScCondFormatIndexes& rCondFormatIndexes );
794
795 void ApplyStyle( SCCOL nCol, SCROW nRow, const ScStyleSheet* rStyle );
796 void ApplyStyleArea( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScStyleSheet& rStyle );
797 void ApplySelectionStyle(const ScStyleSheet& rStyle, const ScMarkData& rMark);
798 void ApplySelectionLineStyle( const ScMarkData& rMark,
799 const ::editeng::SvxBorderLine* pLine, bool bColorOnly );
800
801 const ScStyleSheet* GetStyle( SCCOL nCol, SCROW nRow ) const;
802 const ScStyleSheet* GetSelectionStyle( const ScMarkData& rMark, bool& rFound ) const;
803 const ScStyleSheet* GetAreaStyle( bool& rFound, SCCOL nCol1, SCROW nRow1,
804 SCCOL nCol2, SCROW nRow2 ) const;
805
806 void StyleSheetChanged( const SfxStyleSheetBase* pStyleSheet, bool bRemoved,
807 OutputDevice* pDev,
808 double nPPTX, double nPPTY,
809 const Fraction& rZoomX, const Fraction& rZoomY );
810
811 bool IsStyleSheetUsed( const ScStyleSheet& rStyle ) const;
812
813 bool ApplyFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScMF nFlags );
814 bool RemoveFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScMF nFlags );
815
816 void ApplySelectionCache( SfxItemPoolCache* pCache, const ScMarkData& rMark, ScEditDataArray* pDataArray = nullptr, bool* const pIsChanged = nullptr );
817 void DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData& rMark, bool bBroadcast = true );
818
819 void ClearSelectionItems( const sal_uInt16* pWhich, const ScMarkData& rMark );
820 void ChangeSelectionIndent( bool bIncrement, const ScMarkData& rMark );
821
822 const std::optional<ScRange>& GetRepeatColRange() const { return moRepeatColRange; }
823 const std::optional<ScRange>& GetRepeatRowRange() const { return moRepeatRowRange; }
824 void SetRepeatColRange( std::optional<ScRange> oNew );
825 void SetRepeatRowRange( std::optional<ScRange> oNew );
826
827 sal_uInt16 GetPrintRangeCount() const { return static_cast< sal_uInt16 >( aPrintRanges.size() ); }
828 const ScRange* GetPrintRange(sal_uInt16 nPos) const;
830 bool IsPrintEntireSheet() const { return bPrintEntireSheet; }
831
833 void ClearPrintRanges();
835 void AddPrintRange( const ScRange& rNew );
837 void SetPrintEntireSheet();
838
839 void FillPrintSaver( ScPrintSaverTab& rSaveTab ) const;
840 void RestorePrintRanges( const ScPrintSaverTab& rSaveTab );
841
842 sal_uInt16 GetOptimalColWidth( SCCOL nCol, OutputDevice* pDev,
843 double nPPTX, double nPPTY,
844 const Fraction& rZoomX, const Fraction& rZoomY,
845 bool bFormula, const ScMarkData* pMarkData,
846 const ScColWidthParam* pParam );
847 bool SetOptimalHeight(
848 sc::RowHeightContext& rCxt, SCROW nStartRow, SCROW nEndRow, bool bApi,
849 ScProgress* pOuterProgress = nullptr, sal_uInt64 nProgressStart = 0 );
850
852 sc::RowHeightContext& rCxt, SCROW nStartRow, SCROW nEndRow,
853 ScProgress* pOuterProgress = nullptr, sal_uInt64 nProgressStart = 0 );
854
856 OutputDevice* pDev,
857 double nPPTX, double nPPTY,
858 const Fraction& rZoomX, const Fraction& rZoomY,
859 bool bWidth, bool bTotalSize,
860 bool bInPrintTwips = false);
861 void SetColWidth( SCCOL nCol, sal_uInt16 nNewWidth );
862 void SetColWidthOnly( SCCOL nCol, sal_uInt16 nNewWidth );
863 void SetRowHeight( SCROW nRow, sal_uInt16 nNewHeight );
864 bool SetRowHeightRange( SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight,
865 double nPPTY, bool bApi );
866
874 void SetRowHeightOnly( SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight );
875
876 // nPPT to test for modification
877 void SetManualHeight( SCROW nStartRow, SCROW nEndRow, bool bManual );
878
879 sal_uInt16 GetOptimalMinRowHeight() const
880 {
884 };
885 void SetOptimalMinRowHeight(sal_uInt16 nSet) { mnOptimalMinRowHeight = nSet; }
886
887 sal_uInt16 GetColWidth( SCCOL nCol, bool bHiddenAsZero = true ) const;
888 tools::Long GetColWidth( SCCOL nStartCol, SCCOL nEndCol ) const;
889 sal_uInt16 GetRowHeight( SCROW nRow, SCROW* pStartRow, SCROW* pEndRow, bool bHiddenAsZero = true ) const;
890 tools::Long GetRowHeight( SCROW nStartRow, SCROW nEndRow, bool bHiddenAsZero = true ) const;
891 tools::Long GetScaledRowHeight( SCROW nStartRow, SCROW nEndRow, double fScale ) const;
892 tools::Long GetColOffset( SCCOL nCol, bool bHiddenAsZero = true ) const;
893 tools::Long GetRowOffset( SCROW nRow, bool bHiddenAsZero = true ) const;
894
903 SCROW GetRowForHeight(tools::Long nHeight) const;
904
905 sal_uInt16 GetOriginalWidth( SCCOL nCol ) const;
906 sal_uInt16 GetOriginalHeight( SCROW nRow ) const;
907
908 sal_uInt16 GetCommonWidth( SCCOL nEndCol ) const;
909
910 SCROW GetHiddenRowCount( SCROW nRow ) const;
911
912 void ShowCol(SCCOL nCol, bool bShow);
913 void ShowRow(SCROW nRow, bool bShow);
914 void DBShowRow(SCROW nRow, bool bShow);
915
916 void ShowRows(SCROW nRow1, SCROW nRow2, bool bShow);
917 void DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow);
918
919 void SetRowFlags( SCROW nRow, CRFlags nNewFlags );
920 void SetRowFlags( SCROW nStartRow, SCROW nEndRow, CRFlags nNewFlags );
921
923 SCROW GetLastFlaggedRow() const;
924
929
930 bool IsDataFiltered(SCCOL nColStart, SCROW nRowStart, SCCOL nColEnd, SCROW nRowEnd) const;
931 bool IsDataFiltered(const ScRange& rRange) const;
932 CRFlags GetColFlags( SCCOL nCol ) const;
933 CRFlags GetRowFlags( SCROW nRow ) const;
934
936 { return pRowFlags.get(); }
937
938 bool UpdateOutlineCol( SCCOL nStartCol, SCCOL nEndCol, bool bShow );
939 bool UpdateOutlineRow( SCROW nStartRow, SCROW nEndRow, bool bShow );
940
941 void UpdatePageBreaks( const ScRange* pUserArea );
942 void RemoveManualBreaks();
943 bool HasManualBreaks() const;
944 void SetRowManualBreaks( ::std::set<SCROW>&& rBreaks );
945 void SetColManualBreaks( ::std::set<SCCOL>&& rBreaks );
946
947 void GetAllRowBreaks(::std::set<SCROW>& rBreaks, bool bPage, bool bManual) const;
948 void GetAllColBreaks(::std::set<SCCOL>& rBreaks, bool bPage, bool bManual) const;
949 bool HasRowPageBreak(SCROW nRow) const;
950 bool HasColPageBreak(SCCOL nCol) const;
951 bool HasRowManualBreak(SCROW nRow) const;
952 bool HasColManualBreak(SCCOL nCol) const;
953
964 SCROW GetNextManualBreak(SCROW nRow) const;
965
966 void RemoveRowPageBreaks(SCROW nStartRow, SCROW nEndRow);
967 void RemoveRowBreak(SCROW nRow, bool bPage, bool bManual);
968 void RemoveColBreak(SCCOL nCol, bool bPage, bool bManual);
969 void SetRowBreak(SCROW nRow, bool bPage, bool bManual);
970 void SetColBreak(SCCOL nCol, bool bPage, bool bManual);
971 css::uno::Sequence<
972 css::sheet::TablePageBreakData> GetRowBreakData() const;
973
974 bool RowHidden(SCROW nRow, SCROW* pFirstRow = nullptr, SCROW* pLastRow = nullptr) const;
975 bool RowHiddenLeaf(SCROW nRow, SCROW* pFirstRow = nullptr, SCROW* pLastRow = nullptr) const;
976 bool HasHiddenRows(SCROW nStartRow, SCROW nEndRow) const;
977 bool ColHidden(SCCOL nCol, SCCOL* pFirstCol = nullptr, SCCOL* pLastCol = nullptr) const;
978 bool SetRowHidden(SCROW nStartRow, SCROW nEndRow, bool bHidden);
979 void SetColHidden(SCCOL nStartCol, SCCOL nEndCol, bool bHidden);
980 void CopyColHidden(const ScTable& rTable, SCCOL nStartCol, SCCOL nEndCol);
981 void CopyRowHidden(const ScTable& rTable, SCROW nStartRow, SCROW nEndRow);
982 void CopyRowHeight(const ScTable& rSrcTable, SCROW nStartRow, SCROW nEndRow, SCROW nSrcOffset);
983 SCROW FirstVisibleRow(SCROW nStartRow, SCROW nEndRow) const;
984 SCROW LastVisibleRow(SCROW nStartRow, SCROW nEndRow) const;
985 SCROW CountVisibleRows(SCROW nStartRow, SCROW nEndRow) const;
986 tools::Long GetTotalRowHeight(SCROW nStartRow, SCROW nEndRow, bool bHiddenAsZero = true) const;
987
988 SCCOL CountVisibleCols(SCCOL nStartCol, SCCOL nEndCol) const;
989
990 SCCOLROW LastHiddenColRow(SCCOLROW nPos, bool bCol) const;
991
992 bool RowFiltered(SCROW nRow, SCROW* pFirstRow = nullptr, SCROW* pLastRow = nullptr) const;
993 bool ColFiltered(SCCOL nCol, SCCOL* pFirstCol = nullptr, SCCOL* pLastCol = nullptr) const;
994 bool HasFilteredRows(SCROW nStartRow, SCROW nEndRow) const;
995 void CopyColFiltered(const ScTable& rTable, SCCOL nStartCol, SCCOL nEndCol);
996 void CopyRowFiltered(const ScTable& rTable, SCROW nStartRow, SCROW nEndRow);
997 void SetRowFiltered(SCROW nStartRow, SCROW nEndRow, bool bFiltered);
998 void SetColFiltered(SCCOL nStartCol, SCCOL nEndCol, bool bFiltered);
999 SCROW FirstNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const;
1000 SCROW LastNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const;
1001 SCROW CountNonFilteredRows(SCROW nStartRow, SCROW nEndRow) const;
1002
1004 Color GetCellTextColor(ScAddress aPos) const;
1005
1006 bool IsManualRowHeight(SCROW nRow) const;
1007
1008 bool HasUniformRowHeight( SCROW nRow1, SCROW nRow2 ) const;
1009
1010 void SyncColRowFlags();
1011
1012 void StripHidden( SCCOL& rX1, SCROW& rY1, SCCOL& rX2, SCROW& rY2 );
1013 void ExtendHidden( SCCOL& rX1, SCROW& rY1, SCCOL& rX2, SCROW& rY2 );
1014
1016 void Sort(
1017 const ScSortParam& rSortParam, bool bKeepQuery, bool bUpdateRefs,
1018 ScProgress* pProgress, sc::ReorderParam* pUndo );
1019
1020 void Reorder( const sc::ReorderParam& rParam );
1021
1022 // For ValidQuery() see ScQueryEvalutor class.
1023 void TopTenQuery( ScQueryParam& );
1024 void PrepareQuery( ScQueryParam& rQueryParam );
1025 SCSIZE Query(const ScQueryParam& rQueryParam, bool bKeepSub);
1026 bool CreateQueryParam(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam);
1027
1028 void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, ScFilterEntries& rFilterEntries, bool bFiltering = false);
1029 void GetFilteredFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, ScFilterEntries& rFilterEntries, bool bFiltering );
1030 [[nodiscard]]
1031 bool GetDataEntries(SCCOL nCol, SCROW nRow, std::set<ScTypedStrData>& rStrings);
1032
1033 bool HasColHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow ) const;
1034 bool HasRowHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow ) const;
1035
1036 sal_Int32 GetMaxStringLen( SCCOL nCol,
1037 SCROW nRowStart, SCROW nRowEnd, rtl_TextEncoding eCharSet ) const;
1038 sal_Int32 GetMaxNumberStringLen( sal_uInt16& nPrecision,
1039 SCCOL nCol,
1040 SCROW nRowStart, SCROW nRowEnd ) const;
1041
1042 bool IsSortCollatorGlobal() const;
1043 void InitSortCollator( const ScSortParam& rPar );
1044 void DestroySortCollator();
1045 void SetDrawPageSize( bool bResetStreamValid = true, bool bUpdateNoteCaptionPos = true,
1046 const ScObjectHandling eObjectHandling = ScObjectHandling::RecalcPosMode);
1047
1048 void SetRangeName(std::unique_ptr<ScRangeName> pNew);
1049 ScRangeName* GetRangeName() const;
1050
1052 sc::EndListeningContext& rEndListenCxt, sc::CompileFormulaContext& rCompileCxt );
1053
1055 sc::StartListeningContext& rStartListenCxt, sc::CompileFormulaContext& rCompileCxt );
1056
1058 sc::EndListeningContext& rEndListenCxt, sc::CompileFormulaContext& rCompileCxt );
1059
1063
1064 void DeleteConditionalFormat(sal_uLong nOldIndex);
1065
1066 sal_uLong AddCondFormat( std::unique_ptr<ScConditionalFormat> pNew );
1067
1068 SvtScriptType GetScriptType( SCCOL nCol, SCROW nRow ) const;
1069 void SetScriptType( SCCOL nCol, SCROW nRow, SvtScriptType nType );
1070 void UpdateScriptTypes( const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2 );
1071
1072 SvtScriptType GetRangeScriptType( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol, SCROW nRow1, SCROW nRow2 );
1073
1077 bool HandleRefArrayForParallelism( SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScFormulaCellGroupRef& mxGroup );
1078#ifdef DBG_UTIL
1079 void AssertNoInterpretNeeded( SCCOL nCol, SCROW nRow1, SCROW nRow2 );
1080#endif
1081
1082 void SplitFormulaGroups( SCCOL nCol, std::vector<SCROW>& rRows );
1083 void UnshareFormulaCells( SCCOL nCol, std::vector<SCROW>& rRows );
1084 void RegroupFormulaCells( SCCOL nCol );
1085
1088
1090 const SvtBroadcaster* GetBroadcaster( SCCOL nCol, SCROW nRow ) const;
1091 void DeleteBroadcasters( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol, SCROW nRow1, SCROW nRow2 );
1093
1094 void FillMatrix( ScMatrix& rMat, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, svl::SharedStringPool* pPool ) const;
1095
1096 void InterpretDirtyCells( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
1097 bool InterpretCellsIfNeeded( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
1098
1099 void SetFormulaResults( SCCOL nCol, SCROW nRow, const double* pResults, size_t nLen );
1100
1101 void CalculateInColumnInThread( ScInterpreterContext& rContext, SCCOL nColStart, SCCOL nColEnd,
1102 SCROW nRowStart, SCROW nRowEnd, unsigned nThisThread, unsigned nThreadsTotal);
1103 void HandleStuffAfterParallelCalculation( SCCOL nColStart, SCCOL nColEnd, SCROW nRow, size_t nLen, ScInterpreter* pInterpreter);
1104
1113 void StartListeners( sc::StartListeningContext& rCxt, bool bAll );
1114
1119 void SetDirtyIfPostponed();
1120
1126
1127 void TransferCellValuesTo( const SCCOL nCol, SCROW nRow, size_t nLen, sc::CellValues& rDest );
1128 void CopyCellValuesFrom( const SCCOL nCol, SCROW nRow, const sc::CellValues& rSrc );
1129
1130 std::optional<sc::ColumnIterator> GetColumnIterator( SCCOL nCol, SCROW nRow1, SCROW nRow2 ) const;
1131
1132 bool EnsureFormulaCellResults( const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2, bool bSkipRunning = false );
1133
1136 const SCCOL nCol1, const SCROW nRow1, const SCCOL nCol2, const SCROW nRow2,
1137 sc::TableValues* pUndo );
1138
1139 void SwapNonEmpty(
1140 sc::TableValues& rValues, sc::StartListeningContext& rStartCxt, sc::EndListeningContext& rEndCxt );
1141
1142 void finalizeOutlineImport();
1143
1144 void StoreToCache(SvStream& rStrm) const;
1145
1146 void RestoreFromCache(SvStream& rStrm);
1147
1148#if DUMP_COLUMN_STORAGE
1149 void DumpColumnStorage( SCCOL nCol ) const;
1150#endif
1151
1158 static void UpdateSearchItemAddressForReplace( const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow );
1159
1162 ScColumnsRange GetColumnsRange(SCCOL begin, SCCOL end) const;
1163 SCCOL ClampToAllocatedColumns(SCCOL nCol) const { return std::min(nCol, static_cast<SCCOL>(aCol.size() - 1)); }
1165
1173 OString dumpSheetGeomData(bool bColumns, SheetGeomType eGeomType);
1174
1175 std::set<SCCOL> QueryColumnsWithFormulaCells() const;
1176
1177 const ScColumnData& ColumnData( SCCOL nCol ) const { return nCol < aCol.size() ? aCol[ nCol ] : aDefaultColData; }
1178
1179 void CheckIntegrity() const;
1180
1182
1183private:
1184
1186 const ScFormulaCell& rSrcCell,
1187 SCCOLROW& rInner, SCCOL nCol, SCROW nRow1, SCROW nRow2,
1188 ScProgress* pProgress, sal_uInt64& rProgress );
1189
1190 void FillSeriesSimple(
1191 const ScCellValue& rSrcCell, SCCOLROW& rInner, SCCOLROW nIMin, SCCOLROW nIMax,
1192 const SCCOLROW& rCol, const SCCOLROW& rRow, bool bVertical, ScProgress* pProgress, sal_uInt64& rProgress );
1193
1194 void FillAutoSimple(
1195 SCCOLROW nISrcStart, SCCOLROW nISrcEnd, SCCOLROW nIStart, SCCOLROW nIEnd,
1196 SCCOLROW& rInner, const SCCOLROW& rCol, const SCCOLROW& rRow,
1197 sal_uInt64 nActFormCnt, sal_uInt64 nMaxFormCnt,
1198 bool bHasFiltered, bool bVertical, bool bPositive,
1199 ScProgress* pProgress, sal_uInt64& rProgress );
1200
1201 void FillSeries( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
1202 sal_uInt64 nFillCount, FillDir eFillDir, FillCmd eFillCmd,
1203 FillDateCmd eFillDateCmd,
1204 double nStepValue, const tools::Duration& rDurationStep,
1205 double nMaxValue, sal_uInt16 nMinDigits,
1206 bool bAttribs, ScProgress* pProgress,
1207 bool bSkipOverlappedCells = false,
1208 std::vector<sal_Int32>* pNonOverlappedCellIdx = nullptr);
1209 void FillAnalyse( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
1210 FillCmd& rCmd, FillDateCmd& rDateCmd,
1211 double& rInc, tools::Duration& rDuration, sal_uInt16& rMinDigits,
1212 ScUserListData*& rListData, sal_uInt16& rListIndex,
1213 bool bHasFiltered, bool& rSkipOverlappedCells,
1214 std::vector<sal_Int32>& rNonOverlappedCellIdx );
1215 void FillAuto( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2,
1216 sal_uInt64 nFillCount, FillDir eFillDir, ScProgress* pProgress );
1217
1218 bool ValidNextPos( SCCOL nCol, SCROW nRow, const ScMarkData& rMark,
1219 bool bMarked, bool bUnprotected ) const;
1220
1221 void AutoFormatArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow,
1222 const ScPatternAttr& rAttr, sal_uInt16 nFormatNo);
1223 void GetAutoFormatAttr(SCCOL nCol, SCROW nRow, sal_uInt16 nIndex, ScAutoFormatData& rData);
1224 void GetAutoFormatFrame(SCCOL nCol, SCROW nRow, sal_uInt16 nFlags, sal_uInt16 nIndex, ScAutoFormatData& rData);
1225 bool SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, sc::ColumnBlockConstPosition& rBlockPos, SCROW nRow,
1226 const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc);
1227 bool Search(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1228 const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc);
1229 bool Search(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1230 SCCOL nLastCol, SCROW nLastRow,
1231 const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc,
1232 std::vector< sc::ColumnBlockConstPosition >& blockPos);
1233 bool SearchAll(const SvxSearchItem& rSearchItem, const ScMarkData& rMark,
1234 ScRangeList& rMatchedRanges, OUString& rUndoStr, ScDocument* pUndoDoc);
1235 bool Replace(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1236 const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc);
1237 bool ReplaceAll(
1238 const SvxSearchItem& rSearchItem, const ScMarkData& rMark, ScRangeList& rMatchedRanges,
1239 OUString& rUndoStr, ScDocument* pUndoDoc, bool& bMatchedRangesWereClamped);
1240
1241 bool SearchStyle(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1242 const ScMarkData& rMark);
1243 bool ReplaceStyle(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1244 const ScMarkData& rMark, bool bIsUndo);
1245 bool SearchAllStyle(
1246 const SvxSearchItem& rSearchItem, const ScMarkData& rMark, ScRangeList& rMatchedRanges);
1247 bool ReplaceAllStyle(
1248 const SvxSearchItem& rSearchItem, const ScMarkData& rMark, ScRangeList& rMatchedRanges,
1249 ScDocument* pUndoDoc);
1251 const SvxSearchItem& rSearchItem,
1252 SCCOL& rCol, SCROW& rRow, const ScMarkData& rMark, ScRangeList& rMatchedRanges,
1253 OUString& rUndoStr, ScDocument* pUndoDoc);
1254 bool SearchRangeForEmptyCell(const ScRange& rRange,
1255 const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow,
1256 OUString& rUndoStr);
1258 const ScRange& rRange, const SvxSearchItem& rSearchItem,
1259 ScRangeList& rMatchedRanges, OUString& rUndoStr, ScDocument* pUndoDoc);
1260
1261 // use the global sort parameter:
1262 bool IsSorted(SCCOLROW nStart, SCCOLROW nEnd) const;
1263 static void DecoladeRow( ScSortInfoArray*, SCROW nRow1, SCROW nRow2 );
1264 short CompareCell(
1265 sal_uInt16 nSort,
1266 ScRefCellValue& rCell1, SCCOL nCell1Col, SCROW nCell1Row,
1267 ScRefCellValue& rCell2, SCCOL nCell2Col, SCROW nCell2Row ) const;
1268 short Compare(SCCOLROW nIndex1, SCCOLROW nIndex2) const;
1269 short Compare( ScSortInfoArray*, SCCOLROW nIndex1, SCCOLROW nIndex2) const;
1270 std::unique_ptr<ScSortInfoArray> CreateSortInfoArray( const sc::ReorderParam& rParam );
1271 std::unique_ptr<ScSortInfoArray> CreateSortInfoArray(
1272 const ScSortParam& rSortParam, SCCOLROW nInd1, SCCOLROW nInd2,
1273 bool bKeepQuery, bool bUpdateRefs );
1274 void QuickSort( ScSortInfoArray*, SCCOLROW nLo, SCCOLROW nHi);
1275 void SortReorderByColumn( const ScSortInfoArray* pArray, SCROW nRow1, SCROW nRow2,
1276 bool bPattern, ScProgress* pProgress );
1277 void SortReorderAreaExtrasByColumn( const ScSortInfoArray* pArray, SCROW nDataRow1, SCROW nDataRow2,
1278 const ScDataAreaExtras& rDataAreaExtras, ScProgress* pProgress );
1279
1280 void SortReorderByRow( ScSortInfoArray* pArray, SCCOL nCol1, SCCOL nCol2,
1281 ScProgress* pProgress, bool bOnlyDataAreaExtras );
1282 void SortReorderByRowRefUpdate( ScSortInfoArray* pArray, SCCOL nCol1, SCCOL nCol2,
1283 ScProgress* pProgress );
1284 void SortReorderAreaExtrasByRow( ScSortInfoArray* pArray, SCCOL nDataCol1, SCCOL nDataCol2,
1285 const ScDataAreaExtras& rDataAreaExtras, ScProgress* pProgress );
1286
1287 bool CreateExcelQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam);
1288 bool CreateStarQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam);
1289 OUString GetUpperCellString(SCCOL nCol, SCROW nRow);
1290
1291 bool RefVisible(const ScFormulaCell* pCell);
1292
1293 bool IsEmptyLine(SCROW nRow, SCCOL nStartCol, SCCOL nEndCol) const;
1294
1295 void IncDate(double& rVal, sal_uInt16& nDayOfMonth, double nStep, FillDateCmd eCmd);
1296 void FillFormula(
1297 const ScFormulaCell* pSrcCell, SCCOL nDestCol, SCROW nDestRow, bool bLast );
1298 void UpdateInsertTabAbs(SCTAB nNewPos);
1299 bool GetNextSpellingCell(SCCOL& rCol, SCROW& rRow, bool bInSel,
1300 const ScMarkData& rMark) const;
1301 bool GetNextMarkedCell( SCCOL& rCol, SCROW& rRow, const ScMarkData& rMark ) const;
1302 void TestTabRefAbs(SCTAB nTable) const;
1305
1306 void StartListening( const ScAddress& rAddress, SvtListener* pListener );
1307 void EndListening( const ScAddress& rAddress, SvtListener* pListener );
1308 void StartListening( sc::StartListeningContext& rCxt, const ScAddress& rAddress, SvtListener& rListener );
1309 void EndListening( sc::EndListeningContext& rCxt, const ScAddress& rAddress, SvtListener& rListener );
1310
1311 void AttachFormulaCells( sc::StartListeningContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
1312 void DetachFormulaCells( sc::EndListeningContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
1313
1314 void SetLoadingMedium(bool bLoading);
1315
1316 SCSIZE FillMaxRot( RowInfo* pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2,
1317 SCCOL nCol, SCROW nAttrRow1, SCROW nAttrRow2, SCSIZE nArrY,
1318 const ScPatternAttr* pPattern, const SfxItemSet* pCondSet );
1319
1320 // idle calculation of OutputDevice text width for cell
1321 // also invalidates script type, broadcasts for "calc as shown"
1322 void InvalidateTextWidth( const ScAddress* pAdrFrom, const ScAddress* pAdrTo,
1323 bool bNumFormatChanged, bool bBroadcast );
1324
1325 void SkipFilteredRows(SCROW& rRow, SCROW& rLastNonFilteredRow, bool bForward);
1326
1331 void MaybeAddExtraColumn(SCCOL& rCol, SCROW nRow, OutputDevice* pDev, double nPPTX, double nPPTY);
1332
1333 void CopyPrintRange(const ScTable& rTable);
1334
1335 SCCOL FindNextVisibleColWithContent(SCCOL nCol, bool bRight, SCROW nRow) const;
1336
1337 SCCOL FindNextVisibleCol(SCCOL nCol, bool bRight) const;
1338
1347 void TransposeColPatterns(ScTable* pTransClip, SCCOL nCol1, SCCOL nCol, SCROW nRow1,
1348 SCROW nRow2, SCROW nCombinedStartRow, bool bIncludeFiltered,
1349 const std::vector<SCROW>& rFilteredRows, SCROW nRowDestOffset);
1350
1359 void TransposeColNotes(ScTable* pTransClip, SCCOL nCol1, SCCOL nCol, SCROW nRow1, SCROW nRow2,
1360 SCROW nCombinedStartRow, bool bIncludeFiltered, SCROW nRowDestOffset);
1361
1362 ScColumn* FetchColumn( SCCOL nCol );
1363 const ScColumn* FetchColumn( SCCOL nCol ) const;
1364
1366 sc::EndListeningContext& rCxt, SCCOL nCol, SCROW nRow, std::vector<ScAddress>* pGroupPos );
1367
1369 sc::EndListeningContext& rCxt, const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2,
1370 std::vector<ScAddress>* pGroupPos );
1371
1372 void EndListeningGroup( sc::EndListeningContext& rCxt, const SCCOL nCol, SCROW nRow );
1373 void SetNeedsListeningGroup( SCCOL nCol, SCROW nRow );
1374
1376 OString dumpColumnRowSizes(bool bColumns);
1378 OString dumpHiddenFiltered(bool bColumns, bool bHidden);
1380 OString dumpColumnRowGroups(bool bColumns) const;
1381
1382 SCCOL GetLOKFreezeCol() const;
1383 SCROW GetLOKFreezeRow() const;
1384 bool SetLOKFreezeCol(SCCOL nFreezeCol);
1385 bool SetLOKFreezeRow(SCROW nFreezeRow);
1386
1391 {
1392 static constexpr SCROW ROW_NOT_FOUND = -1;
1393
1394 public:
1395 explicit VisibleDataCellIterator(const ScDocument& rDoc, ScFlatBoolRowSegments& rRowSegs, ScColumn& rColumn);
1396
1405
1412
1419 SCROW getRow() const { return mnCurRow;}
1420
1421 private:
1428 };
1429
1430};
1431
1432/* 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:243
SCCOL operator*() const
Definition: table.hxx:144
std::bidirectional_iterator_tag iterator_category
Definition: table.hxx:130
const SCCOL * pointer
Definition: table.hxx:133
Iterator & operator--()
Definition: table.hxx:139
Iterator(SCCOL nCol)
Definition: table.hxx:136
Iterator & operator++()
Definition: table.hxx:138
bool operator==(const Iterator &rOther) const
Definition: table.hxx:142
bool operator!=(const Iterator &rOther) const
Definition: table.hxx:143
const Iterator maBegin
Definition: table.hxx:153
const Iterator & end()
Definition: table.hxx:149
std::reverse_iterator< Iterator > rbegin()
Definition: table.hxx:150
std::reverse_iterator< Iterator > rend()
Definition: table.hxx:151
const Iterator & begin()
Definition: table.hxx:148
ScColumnsRange(SCCOL nBegin, SCCOL nEnd)
Definition: table.hxx:147
const Iterator maEnd
Definition: table.hxx:154
Compressed array of row (or column) entries, e.g.
Accessor class to ScDocument.
bool ValidRow(SCROW nRow) const
Definition: document.hxx:900
bool ValidCol(SCCOL nCol) const
Definition: document.hxx:899
bool ValidColRow(SCCOL nCol, SCROW nRow) const
Definition: document.hxx:901
To calculate a single subtotal function.
Definition: subtotal.hxx:61
static SC_DLLPUBLIC sal_uInt16 nStdRowHeight
Definition: global.hxx:596
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:1391
static constexpr SCROW ROW_NOT_FOUND
Definition: table.hxx:1392
VisibleDataCellIterator(const ScDocument &rDoc, ScFlatBoolRowSegments &rRowSegs, ScColumn &rColumn)
Definition: table1.cxx:2364
ScFlatBoolRowSegments & mrRowSegs
Definition: table.hxx:1423
ScRefCellValue next()
Find the next visible data cell position.
Definition: table1.cxx:2417
const ScDocument & mrDocument
Definition: table.hxx:1422
SCROW getRow() const
Get the current row position.
Definition: table.hxx:1419
ScRefCellValue reset(SCROW nRow)
Set the start row position.
Definition: table1.cxx:2373
std::unique_ptr< ScFlatBoolColSegments > mpHiddenCols
Definition: table.hxx:199
SCCOL mnEndCol
Definition: table.hxx:186
const T * GetAttr(SCCOL nCol, SCROW nRow, TypedWhichId< T > nWhich, SCROW &nStartRow, SCROW &nEndRow) const
Definition: table.hxx:752
void CopyScenarioFrom(const ScTable *pSrcTab)
Definition: table2.cxx:1576
bool CreateExcelQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam &rQueryParam)
Definition: table3.cxx:2731
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:177
SCCOL GetLOKFreezeCol() const
Definition: table7.cxx:587
OUString aPageStyle
Definition: table.hxx:176
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:1820
SCCOLROW LastHiddenColRow(SCCOLROW nPos, bool bCol) const
Definition: table5.cxx:824
ScRangeName * GetRangeName() const
Definition: table2.cxx:4258
void UnlockTable()
Definition: table2.cxx:2812
bool bTableAreaVisibleValid
Definition: table.hxx:252
bool ValidCol(SCCOL nCol) const
Definition: table.hxx:356
void UpdateInsertTab(sc::RefUpdateInsertTabContext &rCxt)
Definition: table1.cxx:1970
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:1296
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:2641
SCCOL CountVisibleCols(SCCOL nStartCol, SCCOL nEndCol) const
Definition: table5.cxx:802
ScLinkMode nLinkMode
Definition: table.hxx:173
ScRefCellValue GetCellValue(SCCOL nCol, sc::ColumnBlockPosition &rBlockPos, SCROW nRow)
Definition: table2.cxx:2030
static void DecoladeRow(ScSortInfoArray *, SCROW nRow1, SCROW nRow2)
Definition: table3.cxx:1809
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:1815
void Fill(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt64 nFillCount, FillDir eFillDir, FillCmd eFillCmd, FillDateCmd eFillDateCmd, double nStepValue, const tools::Duration &rDurationStep, double nMaxValue, ScProgress *pProgress)
Definition: table4.cxx:2629
bool SearchRangeForAllEmptyCells(const ScRange &rRange, const SvxSearchItem &rSearchItem, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc)
Definition: table6.cxx:1074
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:1481
void FillMatrix(ScMatrix &rMat, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, svl::SharedStringPool *pPool) const
Definition: table1.cxx:2609
bool HasBlockMatrixFragment(const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2, bool bNoMatrixAtAll=false) const
Definition: table2.cxx:2528
sal_uInt32 GetNumberFormat(const ScInterpreterContext &rContext, const ScAddress &rPos) const
Definition: table2.cxx:2254
void SetColHidden(SCCOL nStartCol, SCCOL nEndCol, bool bHidden)
Definition: table5.cxx:629
void CompileDBFormula(sc::CompileFormulaContext &rCxt)
Definition: table4.cxx:2985
void AssertNoInterpretNeeded(SCCOL nCol, SCROW nRow1, SCROW nRow2)
Definition: table1.cxx:2546
bool IsActiveScenario() const
Definition: table.hxx:382
void SetAllFormulasDirty(const sc::SetFormulaDirtyContext &rCxt)
Definition: table2.cxx:2116
void PrepareQuery(ScQueryParam &rQueryParam)
Definition: table3.cxx:2623
std::unique_ptr< ScFlatBoolRowSegments > mpFilteredRows
Definition: table.hxx:202
ScRefCellValue GetRefCellValue(SCCOL nCol, SCROW nRow)
Definition: table1.cxx:2570
ScColumnsRange GetAllocatedColumnsRange(SCCOL begin, SCCOL end) const
Definition: table1.cxx:2719
bool bPageSizeValid
Definition: table.hxx:250
SCROW LastVisibleRow(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:735
bool ReplaceStyle(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, bool bIsUndo)
Definition: table6.cxx:716
const OUString & GetUpperName() const
Definition: table1.cxx:367
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:371
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:551
void UpdateDeleteTab(sc::RefUpdateDeleteTabContext &rCxt)
Definition: table1.cxx:1999
void UpdateGrow(const ScRange &rArea, SCCOL nGrowX, SCROW nGrowY)
Definition: table1.cxx:1964
void ApplyAttr(SCCOL nCol, SCROW nRow, const SfxPoolItem &rAttr)
Definition: table2.cxx:3201
ScColumnsRange GetColumnsRange(SCCOL begin, SCCOL end) const
Definition: table1.cxx:2729
ScColumn * FetchColumn(SCCOL nCol)
Definition: table2.cxx:1236
bool HasFormulaCell(const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2) const
Definition: table7.cxx:292
bool HasAttrib(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, HasAttrFlags nMask) const
Definition: table2.cxx:2296
void GetAutoFormatFrame(SCCOL nCol, SCROW nRow, sal_uInt16 nFlags, sal_uInt16 nIndex, ScAutoFormatData &rData)
Definition: table4.cxx:2801
bool GetPrintAreaHor(SCROW nStartRow, SCROW nEndRow, SCCOL &rEndCol) const
Definition: table1.cxx:717
FormulaError GetErrCode(const ScAddress &rPos) const
Definition: table.hxx:670
bool GetCellArea(SCCOL &rEndCol, SCROW &rEndRow)
Definition: table1.cxx:521
void DeleteSelection(InsertDeleteFlags nDelFlag, const ScMarkData &rMark, bool bBroadcast=true)
Definition: table2.cxx:456
void CopyCellToDocument(SCCOL nSrcCol, SCROW nSrcRow, SCCOL nDestCol, SCROW nDestRow, ScTable &rDestTab)
Definition: table2.cxx:589
bool ColFiltered(SCCOL nCol, SCCOL *pFirstCol=nullptr, SCCOL *pLastCol=nullptr) const
Definition: table5.cxx:866
void InvalidateTableArea()
Definition: table2.cxx:1557
OUString aLinkFlt
Definition: table.hxx:169
Color aTabBgColor
Definition: table.hxx:237
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:222
bool HasRowHeader(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
Definition: table3.cxx:2984
void ShowCol(SCCOL nCol, bool bShow)
Definition: table2.cxx:3687
void EndListeningGroup(sc::EndListeningContext &rCxt, const SCCOL nCol, SCROW nRow)
Definition: table7.cxx:326
void SetLink(ScLinkMode nMode, const OUString &rDoc, const OUString &rFlt, const OUString &rOpt, const OUString &rTab, sal_uLong nRefreshDelay)
Definition: table1.cxx:420
void SetDrawPageSize(bool bResetStreamValid=true, bool bUpdateNoteCaptionPos=true, const ScObjectHandling eObjectHandling=ScObjectHandling::RecalcPosMode)
Definition: table2.cxx:4221
void CalcAll()
Definition: table2.cxx:2178
std::unique_ptr< ScDBData > pDBDataNoName
Definition: table.hxx:239
OString dumpColumnRowSizes(bool bColumns)
Returns list-of-spans representation of the column-widths/row-heights in twips encoded as an OString.
Definition: table7.cxx:516
void SetDirty(const ScRange &, ScColumn::BroadcastMode)
Definition: table2.cxx:2124
std::unique_ptr< ScConditionalFormatList > mpCondFormatList
Definition: table.hxx:242
void SetTabBgColor(const Color &rColor)
Definition: table1.cxx:405
bool TestCopyScenarioTo(const ScTable *pDestTab) const
Definition: table2.cxx:1639
void SetRowFiltered(SCROW nStartRow, SCROW nEndRow, bool bFiltered)
Definition: table5.cxx:928
void DoAutoOutline(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow)
Definition: table2.cxx:4069
bool HasSelectionMatrixFragment(const ScMarkData &rMark) const
Definition: table2.cxx:2624
CollatorWrapper * pSortCollator
Definition: table.hxx:226
void SetNote(SCCOL nCol, SCROW nRow, std::unique_ptr< ScPostIt > pNote)
Definition: table2.cxx:1905
void UpdateSelectionFunction(ScFunctionData &rData, const ScMarkData &rMark)
Definition: table3.cxx:3117
bool bVisible
Definition: table.hxx:253
bool GetCalcNotification() const
Definition: table.hxx:363
void AutoFormat(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, sal_uInt16 nFormatNo)
Definition: table4.cxx:2652
SCROW FirstVisibleRow(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:712
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:390
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:1280
const OUString & GetLinkTab() const
Definition: table.hxx:389
void InvalidatePageBreaks()
Definition: table2.cxx:1563
void FillAuto(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt64 nFillCount, FillDir eFillDir, ScProgress *pProgress)
Definition: table4.cxx:814
bool HasScenarioRange(const ScRange &rRange) const
Definition: table2.cxx:1597
const T * GetAttr(SCCOL nCol, SCROW nRow, TypedWhichId< T > nWhich) const
Definition: table.hxx:747
const std::optional< ScRange > & GetRepeatRowRange() const
Definition: table.hxx:823
void FillAnalyse(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, FillCmd &rCmd, FillDateCmd &rDateCmd, double &rInc, tools::Duration &rDuration, sal_uInt16 &rMinDigits, ScUserListData *&rListData, sal_uInt16 &rListIndex, bool bHasFiltered, bool &rSkipOverlappedCells, std::vector< sal_Int32 > &rNonOverlappedCellIdx)
Definition: table4.cxx:230
void GetAllRowBreaks(::std::set< SCROW > &rBreaks, bool bPage, bool bManual) const
Definition: table5.cxx:339
void EndListening(const ScAddress &rAddress, SvtListener *pListener)
Definition: table5.cxx:1214
bool InterpretCellsIfNeeded(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Definition: table1.cxx:2624
bool RowHiddenLeaf(SCROW nRow, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
Definition: table5.cxx:517
bool bPendingRowHeights
Definition: table.hxx:254
bool SearchAllStyle(const SvxSearchItem &rSearchItem, const ScMarkData &rMark, ScRangeList &rMatchedRanges)
Definition: table6.cxx:741
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:1793
bool SearchAll(const SvxSearchItem &rSearchItem, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc)
Definition: table6.cxx:520
~ScTable() COVERITY_NOEXCEPT_FALSE
Definition: table1.cxx:325
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:1050
SCSIZE GetPatternCount(SCCOL nCol) const
Definition: table4.cxx:2997
void CompileXML(sc::CompileFormulaContext &rCxt, ScProgress &rProgress)
Definition: table2.cxx:2195
bool IsBlockEmpty(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
Definition: table2.cxx:2360
::std::set< SCCOL > maColManualBreaks
Definition: table.hxx:207
bool SearchAndReplaceEmptyCells(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc)
Definition: table6.cxx:862
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:914
Size GetPageSize() const
Definition: table5.cxx:1185
const OUString & GetPageStyle() const
Definition: table.hxx:408
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:1736
sal_uInt16 mnOptimalMinRowHeight
Definition: table.hxx:190
ScColContainer aCol
Definition: table.hxx:162
void GetAllColBreaks(::std::set< SCCOL > &rBreaks, bool bPage, bool bManual) const
Definition: table5.cxx:351
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:2809
void UndoToTable(sc::CopyToDocContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, InsertDeleteFlags nFlags, bool bMarked, ScTable *pDestTab)
Definition: table2.cxx:1498
void SetDirtyAfterLoad()
Definition: table2.cxx:2141
void MixData(sc::MixDocContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScPasteFunc nFunction, bool bSkipEmpty, const ScTable *pSrcTab)
Definition: table2.cxx:785
bool ValidColRow(SCCOL nCol, SCROW nRow) const
Definition: table.hxx:358
std::unique_ptr< ScBitMaskCompressedArray< SCROW, CRFlags > > pRowFlags
Definition: table.hxx:198
void GetAutoFormatAttr(SCCOL nCol, SCROW nRow, sal_uInt16 nIndex, ScAutoFormatData &rData)
Definition: table4.cxx:2788
sal_uInt16 GetOriginalWidth(SCCOL nCol) const
Definition: table2.cxx:3492
CommentCaptionState GetAllNoteCaptionsState(const ScRange &rRange, std::vector< sc::NoteEntry > &rNotes)
Definition: table2.cxx:1961
void FillSeries(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt64 nFillCount, FillDir eFillDir, FillCmd eFillCmd, FillDateCmd eFillDateCmd, double nStepValue, const tools::Duration &rDurationStep, double nMaxValue, sal_uInt16 nMinDigits, bool bAttribs, ScProgress *pProgress, bool bSkipOverlappedCells=false, std::vector< sal_Int32 > *pNonOverlappedCellIdx=nullptr)
Definition: table4.cxx:2167
void SetLoadingRTL(bool bSet)
Definition: table1.cxx:400
bool HandleRefArrayForParallelism(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScFormulaCellGroupRef &mxGroup)
Definition: table1.cxx:2554
void RemoveEditTextCharAttribs(SCCOL nCol, SCROW nRow, const ScPatternAttr &rAttr)
Definition: table2.cxx:1814
void FindMaxRotCol(RowInfo *pRowInfo, SCSIZE nArrCount, SCCOL nX1, SCCOL nX2)
Definition: table2.cxx:2453
bool IsColRowTabValid(const SCCOL nScCol, const SCROW nScRow, const SCTAB nScTab) const
Definition: table.hxx:352
void UpdateInsertTabAbs(SCTAB nNewPos)
Definition: table4.cxx:2939
bool SetOutlineTable(const ScOutlineTable *pNewOutline)
Definition: table2.cxx:91
OUString GetString(SCCOL nCol, SCROW nRow, const ScInterpreterContext *pContext=nullptr) const
Definition: table2.cxx:1775
bool HasData(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:2064
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:342
sal_uInt16 GetCommonWidth(SCCOL nEndCol) const
Definition: table2.cxx:3502
ScLinkMode GetLinkMode() const
Definition: table.hxx:384
void UpdateScriptTypes(const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2)
Definition: table7.cxx:244
void PageStyleModified(const OUString &rNewName)
Definition: table5.cxx:1284
void FillPrintSaver(ScPrintSaverTab &rSaveTab) const
Definition: table1.cxx:2347
void SetRowFlags(SCROW nRow, CRFlags nNewFlags)
Definition: table2.cxx:3854
void MergeSelectionPattern(ScMergePatternState &rState, const ScMarkData &rMark, bool bDeep) const
Definition: table2.cxx:2822
const EditTextObject * GetEditText(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:1806
const ScPatternAttr * GetMostUsedPattern(SCCOL nCol, SCROW nStartRow, SCROW nEndRow) const
Definition: table2.cxx:2289
bool bScenario
Definition: table.hxx:247
ScColumn & CreateColumnIfNotExists(const SCCOL nScCol)
Definition: table.hxx:303
const ScColumnData & ColumnData(SCCOL nCol) const
Definition: table.hxx:1177
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:1873
bool IsEmptyLine(SCROW nRow, SCCOL nStartCol, SCCOL nEndCol) const
Definition: table1.cxx:1257
bool mbPageBreaksValid
Definition: table.hxx:259
SCROW nRepeatEndY
Definition: table.hxx:181
bool GetDataStart(SCCOL &rStartCol, SCROW &rStartRow) const
Definition: table1.cxx:815
::std::set< SCROW > maRowPageBreaks
Definition: table.hxx:204
void GetAllNoteEntries(std::vector< sc::NoteEntry > &rNotes) const
Definition: table2.cxx:1944
const ScFormulaCell * GetFormulaCell(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:1830
bool SetEditText(SCCOL nCol, SCROW nRow, std::unique_ptr< EditTextObject > pEditText)
Definition: table2.cxx:1664
void QuickSort(ScSortInfoArray *, SCCOLROW nLo, SCCOLROW nHi)
Definition: table3.cxx:1720
void TransposeColNotes(ScTable *pTransClip, SCCOL nCol1, SCCOL nCol, SCROW nRow1, SCROW nRow2, SCROW nCombinedStartRow, bool bIncludeFiltered, SCROW nRowDestOffset)
Transpose clipboard notes.
Definition: table2.cxx:1121
void SetCodeName(const OUString &rNewName)
Definition: table.hxx:404
bool IsColValid(const SCCOL nScCol) const
Definition: table.hxx:344
void CopyUpdated(const ScTable *pPosTab, ScTable *pDestTab) const
Definition: table2.cxx:1550
std::unique_ptr< ScBitMaskCompressedArray< SCCOL, CRFlags > > mpColFlags
Definition: table.hxx:197
void SetStreamValid(bool bSet, bool bIgnoreLock=false)
Definition: table1.cxx:382
const ScSheetEvents * GetSheetEvents() const
Definition: table.hxx:335
void CopyRowHeight(const ScTable &rSrcTable, SCROW nStartRow, SCROW nEndRow, SCROW nSrcOffset)
Definition: table5.cxx:692
std::shared_ptr< sc::SolverSettings > m_pSolverSettings
Definition: table.hxx:265
void GetDataArea(SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bIncludeOld, bool bOnlyDown) const
Definition: table1.cxx:891
void SetDirtyVar()
Definition: table2.cxx:2102
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:249
size_t GetNoteCount(SCCOL nCol) const
Definition: table2.cxx:1913
bool DeleteSparkline(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:1873
bool GetDataEntries(SCCOL nCol, SCROW nRow, std::set< ScTypedStrData > &rStrings)
Definition: table3.cxx:3051
void CopyScenarioTo(ScTable *pDestTab) const
Definition: table2.cxx:1568
tools::Long GetScaledRowHeight(SCROW nStartRow, SCROW nEndRow, double fScale) const
Definition: table2.cxx:3620
void SetTableOpDirty(const ScRange &)
Definition: table2.cxx:2133
bool SearchStyle(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark)
Definition: table6.cxx:624
void CheckIntegrity() const
Definition: table7.cxx:644
sal_uInt64 GetWeightedCount() const
Definition: table3.cxx:3068
bool SetRowHidden(SCROW nStartRow, SCROW nEndRow, bool bHidden)
Definition: table5.cxx:579
sal_uLong nLinkRefreshDelay
Definition: table.hxx:172
bool bTableAreaValid
Definition: table.hxx:251
bool bActiveScenario
Definition: table.hxx:258
void CalculateInColumnInThread(ScInterpreterContext &rContext, SCCOL nColStart, SCCOL nColEnd, SCROW nRowStart, SCROW nRowEnd, unsigned nThisThread, unsigned nThreadsTotal)
Definition: table1.cxx:2642
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:231
void SetPageSize(const Size &rSize)
Definition: table5.cxx:1157
bool SearchAndReplace(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc, bool &bMatchedRangesWereClamped)
Definition: table6.cxx:800
std::unique_ptr< ScFlatBoolColSegments > mpFilteredCols
Definition: table.hxx:201
void FindAreaPos(SCCOL &rCol, SCROW &rRow, ScMoveDirection eDirection) const
Definition: table1.cxx:1383
void SetCondFormList(ScConditionalFormatList *pList)
Definition: table1.cxx:2691
void SyncColRowFlags()
Definition: table5.cxx:1136
tools::Long GetRowOffset(SCROW nRow, bool bHiddenAsZero=true) const
Definition: table2.cxx:4265
const std::optional< ScRange > & GetRepeatColRange() const
Definition: table.hxx:822
SCCOL nRepeatStartX
Definition: table.hxx:178
css::uno::Sequence< css::sheet::TablePageBreakData > GetRowBreakData() const
Definition: table5.cxx:471
void SetDirtyIfPostponed()
Mark formula cells dirty that have the mbPostponedDirty flag set or contain named ranges with relativ...
Definition: table2.cxx:2148
void GetUnprotectedCells(ScRangeList &rRangeList) const
Definition: table2.cxx:1994
bool ExtendMerge(SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bRefresh)
Definition: table2.cxx:2326
void SetColBreak(SCCOL nCol, bool bPage, bool bManual)
Definition: table5.cxx:456
void RestorePrintRanges(const ScPrintSaverTab &rSaveTab)
Definition: table1.cxx:2353
sal_uInt16 nLockCount
Definition: table.hxx:233
void CheckVectorizationState()
Definition: table2.cxx:2108
void CreateColumnIfNotExistsImpl(const SCCOL nScCol)
Definition: table1.cxx:2740
std::optional< sc::ColumnIterator > GetColumnIterator(SCCOL nCol, SCROW nRow1, SCROW nRow2) const
Definition: table7.cxx:423
bool IsPendingRowHeights() const
Definition: table.hxx:360
const ScStyleSheet * GetStyle(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:3060
void SetScriptType(SCCOL nCol, SCROW nRow, SvtScriptType nType)
Definition: table1.cxx:2481
void SetColWidth(SCCOL nCol, sal_uInt16 nNewWidth)
Definition: table2.cxx:3279
void SetMergedCells(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Definition: table2.cxx:2345
bool SetFormulaCells(SCCOL nCol, SCROW nRow, std::vector< ScFormulaCell * > &rCells)
Definition: table2.cxx:1747
ScPostIt * GetNote(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:1898
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:1311
void MergeBlockFrame(SvxBoxItem *pLineOuter, SvxBoxInfoItem *pLineInner, ScLineFlags &rFlags, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
Definition: table2.cxx:2846
void CopyConditionalFormat(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCCOL nDx, SCROW nDy, const ScTable *pTable)
Definition: table2.cxx:636
bool HasRowPageBreak(SCROW nRow) const
Definition: table5.cxx:363
SCROW CountNonFilteredRows(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:990
void AddPrintRange(const ScRange &rNew)
Adds a new print ranges.
Definition: table1.cxx:2322
bool GetPrintArea(SCCOL &rEndCol, SCROW &rEndRow, bool bNotes, bool bCalcHiddens=false) const
Definition: table1.cxx:608
void SetRowHeight(SCROW nRow, sal_uInt16 nNewHeight)
Definition: table2.cxx:3312
OUString aLinkTab
Definition: table.hxx:171
void UpdateTranspose(const ScRange &rSource, const ScAddress &rDest, ScDocument *pUndoDoc)
Definition: table1.cxx:1957
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:401
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:2686
SCCOL nTableAreaX
Definition: table.hxx:213
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:371
SCROW nTableAreaVisibleY
Definition: table.hxx:216
bool mbForceBreaks
Definition: table.hxx:260
bool CompileErrorCells(sc::CompileFormulaContext &rCxt, FormulaError nErrCode)
Definition: table2.cxx:2209
bool ColHidden(SCCOL nCol, SCCOL *pFirstCol=nullptr, SCCOL *pLastCol=nullptr) const
Definition: table5.cxx:562
OUString aLinkDoc
Definition: table.hxx:168
void UpdateReference(sc::RefUpdateContext &rCxt, ScDocument *pUndoDoc=nullptr, bool bIncludeDraw=true, bool bUpdateNoteCaptionPos=true)
Definition: table1.cxx:1837
bool HasColHeader(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
Definition: table3.cxx:2955
SCTAB nTab
Definition: table.hxx:218
bool HasUniformRowHeight(SCROW nRow1, SCROW nRow2) const
Definition: table7.cxx:255
std::unique_ptr< ScRangeList > pScenarioRanges
Definition: table.hxx:235
void SetRepeatArea(SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCROW nEndRow)
Definition: table5.cxx:1193
bool GetPrintAreaVer(SCCOL nStartCol, SCCOL nEndCol, SCROW &rEndRow, bool bNotes) const
Definition: table1.cxx:762
sal_uInt64 GetCodeCount() const
Definition: table3.cxx:3088
bool IsLayoutRTL() const
Definition: table.hxx:366
bool bCalcNotification
Definition: table.hxx:255
std::unique_ptr< ScOutlineTable > pOutlineTable
Definition: table.hxx:209
void SetValue(SCCOL nCol, SCROW nRow, const double &rVal)
Definition: table2.cxx:1763
void MergePatternArea(ScMergePatternState &rState, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, bool bDeep) const
Definition: table2.cxx:2836
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:779
void StartListening(const ScAddress &rAddress, SvtListener *pListener)
Definition: table5.cxx:1206
sal_uInt16 GetPrintRangeCount() const
Definition: table.hxx:827
SCROW FirstNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:944
std::unique_ptr< ScPostIt > ReleaseNote(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:1890
Color aScenarioColor
Definition: table.hxx:236
formula::VectorRefArray FetchVectorRefArray(SCCOL nCol, SCROW nRow1, SCROW nRow2)
Definition: table1.cxx:2534
void DumpColumnStorage(SCCOL nCol) const
SCROW GetLOKFreezeRow() const
Definition: table7.cxx:592
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:1252
void InterpretDirtyCells(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Definition: table1.cxx:2617
bool IsLinked() const
Definition: table.hxx:385
void SetNumberFormat(SCCOL nCol, SCROW nRow, sal_uInt32 nNumberFormat)
Definition: table2.cxx:2274
OUString aName
Definition: table.hxx:164
bool ReservePatternCount(SCCOL nCol, SCSIZE nReserve)
Definition: table4.cxx:3013
sal_uInt16 GetTextWidth(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:86
short Compare(SCCOLROW nIndex1, SCCOLROW nIndex2) const
Definition: table3.cxx:1762
void UpdateMoveTab(sc::RefUpdateMoveTabContext &rCxt, SCTAB nTabNo, ScProgress *pProgress)
Definition: table1.cxx:2028
void InvalidateTextWidth(const ScAddress *pAdrFrom, const ScAddress *pAdrTo, bool bNumFormatChanged, bool bBroadcast)
Definition: table5.cxx:1290
void DestroySortCollator()
Definition: table3.cxx:644
void AttachFormulaCells(sc::StartListeningContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Definition: table2.cxx:1272
void PreprocessRangeNameUpdate(sc::EndListeningContext &rEndListenCxt, sc::CompileFormulaContext &rCompileCxt)
Definition: table7.cxx:223
void SetNeedsListeningGroup(SCCOL nCol, SCROW nRow)
Definition: table7.cxx:334
bool HasStringData(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:2072
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:348
ScAddress maLOKFreezeCell
Definition: table.hxx:245
bool IsProtected() const
Definition: table5.cxx:1171
bool IsStreamValid() const
Definition: table.hxx:341
void SetRawString(SCCOL nCol, SCROW nRow, const svl::SharedString &rStr)
Definition: table2.cxx:1769
void GetFilteredFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam &rParam, ScFilterEntries &rFilterEntries, bool bFiltering)
Definition: table3.cxx:3023
void SetColFiltered(SCCOL nStartCol, SCCOL nEndCol, bool bFiltered)
Definition: table5.cxx:936
bool IsSorted(SCCOLROW nStart, SCCOLROW nEnd) const
Definition: table3.cxx:1799
void SetValues(const SCCOL nCol, const SCROW nRow, const std::vector< double > &rVals)
Definition: table7.cxx:179
void DeleteBeforeCopyFromClip(sc::CopyFromClipContext &rCxt, const ScTable &rClipTab, sc::ColumnSpanSet &rBroadcastSpans)
Definition: table7.cxx:98
void SetRepeatColRange(std::optional< ScRange > oNew)
Definition: table1.cxx:2294
void SetFormulaResults(SCCOL nCol, SCROW nRow, const double *pResults, size_t nLen)
Definition: table1.cxx:2634
ScDBData * GetAnonymousDBData()
Definition: table.hxx:401
void CompileAll(sc::CompileFormulaContext &rCxt)
Definition: table2.cxx:2186
const Color & GetTabBgColor() const
Definition: table.hxx:377
SC_DLLPUBLIC std::shared_ptr< sc::SolverSettings > GetSolverSettings()
Definition: table7.cxx:656
OUString GetAutoFillPreview(const ScRange &rSource, SCCOL nEndX, SCROW nEndY)
Definition: table4.cxx:1296
bool HasHiddenRows(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:547
void LimitChartArea(SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow) const
Definition: table1.cxx:1271
void FillFormulaVertical(const ScFormulaCell &rSrcCell, SCCOLROW &rInner, SCCOL nCol, SCROW nRow1, SCROW nRow2, ScProgress *pProgress, sal_uInt64 &rProgress)
Definition: table4.cxx:1728
OUString GetInputString(SCCOL nCol, SCROW nRow, bool bForceSystemLocale=false) const
Definition: table2.cxx:1791
void SetError(SCCOL nCol, SCROW nRow, FormulaError nError)
Definition: table4.cxx:2933
bool GetNextSpellingCell(SCCOL &rCol, SCROW &rRow, bool bInSel, const ScMarkData &rMark) const
Definition: table4.cxx:2945
OString dumpSheetGeomData(bool bColumns, SheetGeomType eGeomType)
Serializes the sheet's geometry data.
Definition: table7.cxx:483
void FillSparkline(bool bVertical, SCCOLROW nFixed, SCCOLROW nIteratingStart, SCCOLROW nIteratingEnd, SCCOLROW nFillStart, SCCOLROW nFillEnd)
Definition: table4.cxx:1245
bool ContainsNotesInRange(const ScRange &rRange) const
Definition: table2.cxx:2000
void SetFormula(SCCOL nCol, SCROW nRow, const ScTokenArray &rArray, formula::FormulaGrammar::Grammar eGram)
Definition: table2.cxx:1718
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:2167
bool bLayoutRTL
Definition: table.hxx:248
void GetLastDataPos(SCCOL &rCol, SCROW &rRow) const
Definition: table2.cxx:2053
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:434
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:988
void SkipFilteredRows(SCROW &rRow, SCROW &rLastNonFilteredRow, bool bForward)
Definition: table6.cxx:274
bool ReplaceAll(const SvxSearchItem &rSearchItem, const ScMarkData &rMark, ScRangeList &rMatchedRanges, OUString &rUndoStr, ScDocument *pUndoDoc, bool &bMatchedRangesWereClamped)
Definition: table6.cxx:584
bool GetTableArea(SCCOL &rEndCol, SCROW &rEndRow, bool bCalcHiddens=false) const
Definition: table1.cxx:580
void RemoveRowBreak(SCROW nRow, bool bPage, bool bManual)
Definition: table5.cxx:411
void BroadcastRecalcOnRefMove()
Broadcast dirty formula cells that contain functions such as CELL(), COLUMN() or ROW() which may chan...
Definition: table2.cxx:2156
const Color & GetScenarioColor() const
Definition: table.hxx:375
bool HasAttribSelection(const ScMarkData &rMark, HasAttrFlags nMask) const
Definition: table2.cxx:2311
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:447
void HandleStuffAfterParallelCalculation(SCCOL nColStart, SCCOL nColEnd, SCROW nRow, size_t nLen, ScInterpreter *pInterpreter)
Definition: table1.cxx:2659
bool IsSortCollatorGlobal() const
Definition: table3.cxx:622
std::shared_ptr< sc::Sparkline > GetSparkline(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:1848
bool IsVisible() const
Definition: table.hxx:338
SCROW nTableAreaY
Definition: table.hxx:214
ScTable(ScDocument &rDoc, SCTAB nNewTab, const OUString &rNewName, bool bColInfo=true, bool bRowInfo=true)
Definition: table1.cxx:237
bool TestInsertCol(SCROW nStartRow, SCROW nEndRow, SCSIZE nSize) const
Definition: table2.cxx:260
bool HasValueData(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:2080
void UpdateCompile(bool bForceIfNameInUse=false)
Definition: table1.cxx:2056
bool DoSubTotals(ScSubTotalParam &rParam)
Definition: table3.cxx:2119
ScColumnData aDefaultColData
Definition: table.hxx:268
void UnshareFormulaCells(SCCOL nCol, std::vector< SCROW > &rRows)
Definition: table7.cxx:276
ScColumnData & GetColumnData(SCCOL nCol)
Definition: table.hxx:312
ScColumnsRange GetWritableColumnsRange(SCCOL begin, SCCOL end)
Definition: table1.cxx:2709
ScConditionalFormatList * GetCondFormList()
Definition: table1.cxx:2696
SCROW mnEndRow
Definition: table.hxx:187
OString dumpColumnRowGroups(bool bColumns) const
Returns list-of-spans representation of the column/row groupings encoded as an OString.
Definition: table7.cxx:576
void DBShowRows(SCROW nRow1, SCROW nRow2, bool bShow)
Definition: table2.cxx:3756
void CreateAllNoteCaptions()
Definition: table2.cxx:1929
void StartOutlineTable()
Definition: table2.cxx:115
bool SetRowHeightRange(SCROW nStartRow, SCROW nEndRow, sal_uInt16 nNewHeight, double nPPTY, bool bApi)
Definition: table2.cxx:3373
void CollectBroadcasterState(sc::BroadcasterState &rState) const
Definition: table7.cxx:650
void LockTable()
Definition: table2.cxx:2807
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:2163
void SetProtection(const ScTableProtection *pProtect)
Definition: table5.cxx:1173
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:315
bool bGlobalKeepQuery
Definition: table.hxx:256
bool IsLoadingRTL() const
Definition: table.hxx:367
bool HasFilteredRows(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:884
formula::FormulaTokenRef ResolveStaticReference(SCCOL nCol, SCROW nRow)
Definition: table1.cxx:2499
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:1652
void ApplyBlockFrame(const SvxBoxItem &rLineOuter, const SvxBoxInfoItem *pLineInner, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow)
Definition: table2.cxx:2860
void SetLoadingMedium(bool bLoading)
Definition: table2.cxx:2173
bool RowHidden(SCROW nRow, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
Definition: table5.cxx:487
void SortReorderByRow(ScSortInfoArray *pArray, SCCOL nCol1, SCCOL nCol2, ScProgress *pProgress, bool bOnlyDataAreaExtras)
Definition: table3.cxx:1087
ScOutlineTable * GetOutlineTable()
Definition: table.hxx:301
bool HasColManualBreak(SCCOL nCol) const
Definition: table5.cxx:387
void SetRowBreak(SCROW nRow, bool bPage, bool bManual)
Definition: table5.cxx:441
void DBShowRow(SCROW nRow, bool bShow)
Definition: table2.cxx:3730
const ScBitMaskCompressedArray< SCROW, CRFlags > * GetRowFlagsArray() const
Definition: table.hxx:935
void RemoveManualBreaks()
Definition: table5.cxx:311
SCCOL nRepeatEndX
Definition: table.hxx:179
ScRangeVec aPrintRanges
Definition: table.hxx:228
bool IsEmptyData(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
Definition: table1.cxx:1197
::std::set< SCROW > maRowManualBreaks
Definition: table.hxx:205
SCSIZE GetEmptyLinesInBlock(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScDirection eDir) const
Definition: table1.cxx:1206
SCROW GetNextManualBreak(SCROW nRow) const
Get the row position of the next manual break that occurs at or below specified row.
Definition: table5.cxx:395
bool mbCellAreaEmpty
Definition: table.hxx:185
void FillFormula(const ScFormulaCell *pSrcCell, SCCOL nDestCol, SCROW nDestRow, bool bLast)
Definition: table4.cxx:772
sal_uInt16 GetOptimalMinRowHeight() const
Definition: table.hxx:879
void SetAnonymousDBData(std::unique_ptr< ScDBData > pDBData)
Definition: table1.cxx:2455
SCROW LastNonFilteredRow(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:967
void SetPendingRowHeights(bool bSet)
Definition: table1.cxx:390
std::unique_ptr< ScCompressedArray< SCCOL, sal_uInt16 > > mpColWidth
Definition: table.hxx:194
void RestoreFromCache(SvStream &rStrm)
Definition: table7.cxx:473
const OUString & GetLinkFlt() const
Definition: table.hxx:387
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:1055
sc::Sparkline * CreateSparkline(SCCOL nCol, SCROW nRow, std::shared_ptr< sc::SparklineGroup > const &pSparklineGroup)
Definition: table2.cxx:1860
OUString aComment
Definition: table.hxx:166
void CopyFromClip(sc::CopyFromClipContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCCOL nDx, SCROW nDy, ScTable *pTable)
Definition: table2.cxx:724
SCCOL GetAllocatedColumnsCount() const
Definition: table.hxx:1164
void CopyColFiltered(const ScTable &rTable, SCCOL nStartCol, SCCOL nEndCol)
Definition: table5.cxx:899
const OUString & GetLinkOpt() const
Definition: table.hxx:388
void CopyToClip(sc::CopyToClipContext &rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable *pTable)
Definition: table2.cxx:492
void SetVisible(bool bVis)
Definition: table1.cxx:374
SCROW nRepeatStartY
Definition: table.hxx:180
const ScDocument & GetDoc() const
Definition: table.hxx:298
bool InitColumnBlockPosition(sc::ColumnBlockPosition &rBlockPos, SCCOL nCol)
Definition: table2.cxx:713
OUString GetFormula(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:1822
sal_Int64 GetHashCode() const
Definition: table1.cxx:354
OUString aCodeName
Definition: table.hxx:165
bool GetDataAreaSubrange(ScRange &rRange) const
Definition: table1.cxx:1014
void SetOptimalHeightOnly(sc::RowHeightContext &rCxt, SCROW nStartRow, SCROW nEndRow, ScProgress *pOuterProgress=nullptr, sal_uInt64 nProgressStart=0)
Definition: table1.cxx:497
void ConvertFormulaToValue(sc::EndListeningContext &rCxt, const SCCOL nCol1, const SCROW nRow1, const SCCOL nCol2, const SCROW nRow2, sc::TableValues *pUndo)
Definition: table7.cxx:203
void SetDirtyFromClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sc::ColumnSpanSet &rBroadcastSpans)
Definition: table2.cxx:1288
void ExtendPrintArea(OutputDevice *pDev, SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW nEndRow)
Definition: table1.cxx:2078
void ResetChanged(const ScRange &rRange)
Definition: table2.cxx:2227
void SplitFormulaGroups(SCCOL nCol, std::vector< SCROW > &rRows)
Definition: table7.cxx:268
void SetLayoutRTL(bool bSet)
Definition: table1.cxx:395
sal_uLong AddCondFormat(std::unique_ptr< ScConditionalFormat > pNew)
Definition: table1.cxx:2460
bool CreateQueryParam(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam &rQueryParam)
Definition: table3.cxx:2915
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:59
bool EnsureFormulaCellResults(const SCCOL nCol1, SCROW nRow1, const SCCOL nCol2, SCROW nRow2, bool bSkipRunning=false)
Definition: table7.cxx:431
void InvalidateScenarioRanges()
Definition: table2.cxx:1620
void SwapNonEmpty(sc::TableValues &rValues, sc::StartListeningContext &rStartCxt, sc::EndListeningContext &rEndCxt)
Definition: table7.cxx:214
CRFlags GetRowFlags(SCROW nRow) const
Definition: table2.cxx:3882
OUString aLinkOpt
Definition: table.hxx:170
void CompileColRowNameFormula(sc::CompileFormulaContext &rCxt)
Definition: table4.cxx:2991
std::unique_ptr< ScFlatBoolRowSegments > mpHiddenRows
Definition: table.hxx:200
SCTAB GetTab() const
Definition: table.hxx:299
void finalizeOutlineImport()
Definition: table7.cxx:449
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:550
sc::SparklineList maSparklineList
Definition: table.hxx:243
ScScenarioFlags GetScenarioFlags() const
Definition: table.hxx:379
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:848
std::set< SCCOL > QueryColumnsWithFormulaCells() const
Definition: table7.cxx:631
svl::SharedString GetSharedString(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:1755
void PreprocessDBDataUpdate(sc::EndListeningContext &rEndListenCxt, sc::CompileFormulaContext &rCompileCxt)
Definition: table7.cxx:230
bool HasStringCells(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow) const
Definition: table2.cxx:2088
std::unique_ptr< ScFlatUInt16RowSegments > mpRowHeights
Definition: table.hxx:195
SCROW CountVisibleRows(SCROW nStartRow, SCROW nEndRow) const
Definition: table5.cxx:758
Color GetCellBackgroundColor(ScAddress aPos) const
Definition: table5.cxx:1011
CellType GetCellType(const ScAddress &rPos) const
Definition: table.hxx:487
void SetScenarioComment(const OUString &rComment)
Definition: table.hxx:374
void TransferCellValuesTo(const SCCOL nCol, SCROW nRow, size_t nLen, sc::CellValues &rDest)
Definition: table7.cxx:187
bool IsSelectionEditable(const ScMarkData &rMark, bool *pOnlyNotBecauseOfMatrix=nullptr) const
Definition: table2.cxx:2723
void MixMarked(sc::MixDocContext &rCxt, const ScMarkData &rMark, ScPasteFunc nFunction, bool bSkipEmpty, const ScTable *pSrcTab)
Definition: table2.cxx:794
void ForgetNoteCaptions(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, bool bPreserveData)
Definition: table2.cxx:1935
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:2384
bool GetNextMarkedCell(SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark) const
Definition: table1.cxx:1763
sc::SparklineList & GetSparklineList()
Definition: table2.cxx:1883
std::unique_ptr< ScRangeName > mpRangeName
Definition: table.hxx:240
void RemoveSubTotals(ScSubTotalParam &rParam)
Definition: table3.cxx:2016
SvtScriptType GetRangeScriptType(sc::ColumnBlockPosition &rBlockPos, SCCOL nCol, SCROW nRow1, SCROW nRow2)
Definition: table1.cxx:2489
void RemoveColBreak(SCCOL nCol, bool bPage, bool bManual)
Definition: table5.cxx:426
void AutoFormatArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScPatternAttr &rAttr, sal_uInt16 nFormatNo)
Definition: table4.cxx:2641
bool Replace(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, OUString &rUndoStr, ScDocument *pUndoDoc)
Definition: table6.cxx:568
sal_Int32 GetMaxStringLen(SCCOL nCol, SCROW nRowStart, SCROW nRowEnd, rtl_TextEncoding eCharSet) const
Definition: table3.cxx:3099
ScScenarioFlags nScenarioFlags
Definition: table.hxx:238
SvtBroadcaster * GetBroadcaster(SCCOL nCol, SCROW nRow)
Definition: table1.cxx:2586
void InvalidateCellArea()
Definition: table.hxx:623
const ScPatternAttr * GetPattern(SCCOL nCol, SCROW nRow) const
Definition: table2.cxx:2282
ScSortParam aSortParam
Definition: table.hxx:225
bool SetOptimalHeight(sc::RowHeightContext &rCxt, SCROW nStartRow, SCROW nEndRow, bool bApi, ScProgress *pOuterProgress=nullptr, sal_uInt64 nProgressStart=0)
Definition: table1.cxx:464
::std::vector< ScRange > ScRangeVec
Definition: table.hxx:160
void CopyCellValuesFrom(const SCCOL nCol, SCROW nRow, const sc::CellValues &rSrc)
Definition: table7.cxx:195
void ExtendHidden(SCCOL &rX1, SCROW &rY1, SCCOL &rX2, SCROW &rY2)
Definition: table2.cxx:3969
SCCOL nTableAreaVisibleX
Definition: table.hxx:215
void FindRangeNamesInUse(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sc::UpdatedRangeNames &rIndexes) const
Definition: table1.cxx:2071
void SetCalcNotification(bool bSet)
Definition: table2.cxx:130
const SfxPoolItem * GetAttr(SCCOL nCol, SCROW nRow, sal_uInt16 nWhich) const
Definition: table2.cxx:2240
sal_Int32 GetMaxNumberStringLen(sal_uInt16 &nPrecision, SCCOL nCol, SCROW nRowStart, SCROW nRowEnd) const
Definition: table3.cxx:3108
void CompileHybridFormula(sc::StartListeningContext &rStartListenCxt, sc::CompileFormulaContext &rCompileCxt)
Definition: table7.cxx:237
tools::Long GetColOffset(SCCOL nCol, bool bHiddenAsZero=true) const
Definition: table2.cxx:4355
void SetScenario(bool bFlag)
Definition: table1.cxx:415
bool IsPrintEntireSheet() const
Returns true, if the sheet is always printed.
Definition: table.hxx:830
void CopyPrintRange(const ScTable &rTable)
Definition: table1.cxx:2267
void SetPrintEntireSheet()
Marks the specified sheet to be printed completely.
Definition: table1.cxx:2333
bool bPrintEntireSheet
Definition: table.hxx:257
SCCOL ClampToAllocatedColumns(SCCOL nCol) const
Definition: table.hxx:1163
const ScTableProtection * GetProtection() const
Definition: table5.cxx:1183
sal_uInt64 GetCellCount() const
Definition: table3.cxx:3058
void EndListeningIntersectedGroup(sc::EndListeningContext &rCxt, SCCOL nCol, SCROW nRow, std::vector< ScAddress > *pGroupPos)
Definition: table7.cxx:306
ScDocument & rDocument
Definition: table.hxx:219
void RegroupFormulaCells(SCCOL nCol)
Definition: table7.cxx:284
void SetPattern(const ScAddress &rPos, const ScPatternAttr &rAttr)
Definition: table2.cxx:3182
void SetColManualBreaks(::std::set< SCCOL > &&rBreaks)
Definition: table5.cxx:332
void SetActiveScenario(bool bSet)
Definition: table.hxx:381
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:1320
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:663
SCROW GetFirstEditTextRow(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
Definition: table2.cxx:1683
const ScRangeList * GetScenarioRanges() const
Definition: table2.cxx:1625
void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, ScFilterEntries &rFilterEntries, bool bFiltering=false)
Definition: table3.cxx:3013
void SetScenarioColor(const Color &rNew)
Definition: table.hxx:376
void MarkScenarioIn(ScMarkData &rMark, ScScenarioFlags nNeededBits) const
Definition: table2.cxx:1586
void GetScenarioComment(OUString &rComment) const
Definition: table.hxx:373
void Reorder(const sc::ReorderParam &rParam)
Definition: table3.cxx:1907
SvtScriptType GetScriptType(SCCOL nCol, SCROW nRow) const
Definition: table1.cxx:2473
bool ValidNextPos(SCCOL nCol, SCROW nRow, const ScMarkData &rMark, bool bMarked, bool bUnprotected) const
Definition: table1.cxx:1445
bool HasManualBreaks() const
Definition: table5.cxx:320
bool IsManualRowHeight(SCROW nRow) const
Definition: table5.cxx:1083
ScDocument & GetDoc()
Definition: table.hxx:297
bool ReplaceAllStyle(const SvxSearchItem &rSearchItem, const ScMarkData &rMark, ScRangeList &rMatchedRanges, ScDocument *pUndoDoc)
Definition: table6.cxx:773
void StoreToCache(SvStream &rStrm) const
Definition: table7.cxx:457
Color GetCellTextColor(ScAddress aPos) const
Definition: table5.cxx:1052
void GetNextPos(SCCOL &rCol, SCROW &rRow, SCCOL nMovX, SCROW nMovY, bool bMarked, bool bUnprotected, const ScMarkData &rMark, SCCOL nTabStartCol) const
Definition: table1.cxx:1518
SCROW GetLastDataRow(SCCOL nCol1, SCCOL nCol2, SCROW nLastRow, ScDataAreaExtras *pDataAreaExtras=nullptr) const
Definition: table1.cxx:1179
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:556
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:1799
const OUString & GetCodeName() const
Definition: table.hxx:403
const ScRange * GetPrintRange(sal_uInt16 nPos) const
Definition: table1.cxx:2342
void SetSheetEvents(std::unique_ptr< ScSheetEvents > pNew)
Definition: table2.cxx:121
void SetName(const OUString &rNewName)
Definition: table1.cxx:359
void CopyCaptionsToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable *pDestTab, bool bCloneCaption)
Definition: table2.cxx:1484
void DeleteBroadcasters(sc::ColumnBlockPosition &rBlockPos, SCCOL nCol, SCROW nRow1, SCROW nRow2)
Definition: table1.cxx:2594
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:424
bool SetLOKFreezeCol(SCCOL nFreezeCol)
Definition: table7.cxx:597
void StartListeningFormulaCells(sc::StartListeningContext &rStartCxt, sc::EndListeningContext &rEndCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Definition: table2.cxx:1299
bool SetLOKFreezeRow(SCROW nFreezeRow)
Definition: table7.cxx:614
void CopySparklinesToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable *pDestTab)
Definition: table2.cxx:1472
void TestTabRefAbs(SCTAB nTable) const
Definition: table4.cxx:2978
void SetScenarioFlags(ScScenarioFlags nNew)
Definition: table.hxx:380
SCROW GetLastChangedRowFlagsWidth() const
Definition: table2.cxx:3934
std::unique_ptr< ScTableProtection > pTabProtection
Definition: table.hxx:192
void IncDate(double &rVal, sal_uInt16 &nDayOfMonth, double nStep, FillDateCmd eCmd)
Definition: table4.cxx:1599
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:397
void CopyRowHidden(const ScTable &rTable, SCROW nStartRow, SCROW nEndRow)
Definition: table5.cxx:678
void InitSortCollator(const ScSortParam &rPar)
Definition: table3.cxx:628
::std::set< SCCOL > maColPageBreaks
Definition: table.hxx:206
bool IsStyleSheetUsed(const ScStyleSheet &rStyle) const
Definition: table2.cxx:3119
void GetFirstDataPos(SCCOL &rCol, SCROW &rRow) const
Definition: table2.cxx:2038
std::optional< ScRange > moRepeatColRange
Definition: table.hxx:230
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:2064
void TopTenQuery(ScQueryParam &)
Definition: table3.cxx:2381
bool HasRowManualBreak(SCROW nRow) const
Definition: table5.cxx:379
bool Search(const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, const ScMarkData &rMark, OUString &rUndoStr, ScDocument *pUndoDoc)
Definition: table6.cxx:310
void CalcAfterLoad(sc::CompileFormulaContext &rCxt, bool bStartListening)
Definition: table2.cxx:2221
void SetPageStyle(const OUString &rName)
Definition: table5.cxx:1242
std::atomic< bool > bStreamValid
this is touched from formula group threading context
Definition: table.hxx:262
void SetRowManualBreaks(::std::set< SCROW > &&rBreaks)
Definition: table5.cxx:325
void ChangeSelectionIndent(bool bIncrement, const ScMarkData &rMark)
Definition: table2.cxx:3231
SCROW GetNotePosition(SCCOL nCol, size_t nIndex) const
Definition: table2.cxx:1921
void DeleteEmptyBroadcasters()
Definition: table1.cxx:2603
double * GetValueCell(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:1783
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:2861
void SetEmptyCell(SCCOL nCol, SCROW nRow)
Definition: table2.cxx:1710
std::unique_ptr< utl::TextSearch > pSearchText
Definition: table.hxx:220
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:2312
std::unique_ptr< ScSheetEvents > pSheetEvents
Definition: table.hxx:211
bool ValidRow(SCROW nRow) const
Definition: table.hxx:357
bool SearchRangeForEmptyCell(const ScRange &rRange, const SvxSearchItem &rSearchItem, SCCOL &rCol, SCROW &rRow, OUString &rUndoStr)
Definition: table6.cxx:964
bool mbCellAreaDirty
Definition: table.hxx:184
void ApplyPatternArea(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScPatternAttr &rAttr, ScEditDataArray *pDataArray=nullptr, bool *const pIsChanged=nullptr)
Definition: table2.cxx:2880
SCSIZE Query(const ScQueryParam &rQueryParam, bool bKeepSub)
Definition: table3.cxx:2628
void ApplyPattern(SCCOL nCol, SCROW nRow, const ScPatternAttr &rAttr)
Definition: table2.cxx:2874
void SetRepeatRowRange(std::optional< ScRange > oNew)
Definition: table1.cxx:2303
const OUString & GetLinkDoc() const
Definition: table.hxx:386
bool SearchCell(const SvxSearchItem &rSearchItem, SCCOL nCol, sc::ColumnBlockConstPosition &rBlockPos, SCROW nRow, const ScMarkData &rMark, OUString &rUndoStr, ScDocument *pUndoDoc)
Definition: table6.cxx:47
void SetOptimalMinRowHeight(sal_uInt16 nSet)
Definition: table.hxx:885
bool TestRemoveSubTotals(const ScSubTotalParam &rParam)
Definition: table3.cxx:1982
void GetNotesInRange(const ScRange &rRange, std::vector< sc::NoteEntry > &rNotes) const
Definition: table2.cxx:1950
Stores individual user-defined sort list.
Definition: userlist.hxx:32
Think of this as a mini-ScColumn like storage that only stores cell values in a column.
Definition: cellvalues.hxx:42
Simple container to keep track of sheet - column pair.
Definition: columnset.hxx:24
Structure that stores segments of boolean flags per column, and perform custom action on those segmen...
Provides methods to allow direct shifting of document content without broadcasting or shifting of bro...
Iterate through all edit text cells in a given sheet.
Optimized ColumnSpanSet version that operates on a single ScRange.
Tracks and gathers all created sparklines and sparkline groups.
Sparkline data, used for rendering the content of a cell.
Definition: Sparkline.hxx:29
Stores cell values for multiple tables.
Definition: cellvalues.hxx:89
Keep track of all named expressions that have been updated during reference update.
constexpr double nPPTX
constexpr double nPPTY
SheetGeomType
Represents the type of sheet geometry data.
Definition: document.hxx:277
CommentCaptionState
Definition: document.hxx:263
ScObjectHandling
Definition: drwlayer.hxx:91
FormulaError
ScMoveDirection
Definition: global.hxx:326
CellType
Definition: global.hxx:272
@ CELLTYPE_NONE
Definition: global.hxx:273
UpdateRefMode
Definition: global.hxx:301
ScPasteFunc
Definition: global.hxx:181
InsertDeleteFlags
Definition: global.hxx:149
HasAttrFlags
Definition: global.hxx:185
FillDateCmd
Definition: global.hxx:334
ScLinkMode
Definition: global.hxx:215
ScScenarioFlags
Definition: global.hxx:226
ScDirection
Definition: global.hxx:343
CRFlags
Definition: global.hxx:125
FillCmd
Definition: global.hxx:317
FillDir
Definition: global.hxx:309
SfxHintId
SvtScriptType
::boost::intrusive_ptr< FormulaToken > FormulaTokenRef
CAUTION! The following defines must be in the same namespace as the respective type.
Definition: broadcast.cxx:15
ColRowEditAction
Definition: global.hxx:427
long Long
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:398
#define SC_DLLPUBLIC
Definition: scdllapi.h:27
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:53
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