diff options
Diffstat (limited to 'sc/inc')
-rw-r--r-- | sc/inc/column.hxx | 4 | ||||
-rw-r--r-- | sc/inc/typedstrdata.hxx | 14 |
2 files changed, 14 insertions, 4 deletions
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index 9303575a5d9d..56aa1f9fc65e 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -204,6 +204,7 @@ class ScColumn : protected ScColumnData SCTAB nTab; bool mbFiltering : 1; // it is true if there is a filtering in the column + bool mbFilteredRow : 1; // it is true if the actual row of the filtered column is hidden bool mbEmptyBroadcastersPending : 1; // a broadcaster not removed during EnableDelayDeletingBroadcasters() friend class ScDocument; // for FillInfo @@ -255,6 +256,7 @@ public: SCTAB GetTab() const { return nTab; } SCCOL GetCol() const { return nCol; } bool HasFiltering() const { return mbFiltering; } + bool IsFilteredRow() const { return mbFilteredRow; } sc::CellStoreType& GetCellStore() { return maCells; } const sc::CellStoreType& GetCellStore() const { return maCells; } sc::CellTextAttrStoreType& GetCellAttrStore() { return maCellTextAttrs; } @@ -598,7 +600,7 @@ public: void GetFilterEntries( sc::ColumnBlockConstPosition& rBlockPos, SCROW nStartRow, SCROW nEndRow, - ScFilterEntries& rFilterEntries, bool bFiltering ); + ScFilterEntries& rFilterEntries, bool bFiltering, bool bHiddenRow = false ); bool GetDataEntries( SCROW nRow, std::set<ScTypedStrData>& rStrings) const; diff --git a/sc/inc/typedstrdata.hxx b/sc/inc/typedstrdata.hxx index 7918b5501fca..25406d0e5f52 100644 --- a/sc/inc/typedstrdata.hxx +++ b/sc/inc/typedstrdata.hxx @@ -26,22 +26,29 @@ public: }; ScTypedStrData( - OUString&& rStr, double fVal = 0.0, double fRVal = 0.0, StringType nType = Standard, bool bDate = false ) : + OUString&& rStr, double fVal = 0.0, double fRVal = 0.0, StringType nType = Standard, bool bDate = false, bool bIsHiddenByFilter = false ) : maStrValue(std::move(rStr)), mfValue(fVal), mfRoundedValue(fRVal), meStrType(nType), - mbIsDate( bDate ) {} + mbIsDate( bDate ), + mbIsHiddenByFilter(bIsHiddenByFilter) {} ScTypedStrData( const OUString& rStr, double fVal = 0.0, double fRVal = 0.0, StringType eType = Standard, - bool bDate = false ); + bool bDate = false, bool bIsHiddenByFilter = false ); bool IsDate() const { return mbIsDate;} + bool IsHiddenByFilter() const { return mbIsHiddenByFilter;} const OUString& GetString() const { return maStrValue;} StringType GetStringType() const { return meStrType;} double GetValue() const { return mfValue; } double GetRoundedValue() const { return mfRoundedValue; } + struct LessHiddenRows + { + bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const; + }; + struct LessCaseSensitive { bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const; @@ -70,6 +77,7 @@ private: double mfRoundedValue; // rounded value by format code StringType meStrType; bool mbIsDate; + bool mbIsHiddenByFilter; }; class FindTypedStrData |