Kaydet (Commit) 76488b00 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

fdo#63998: Filtering by page fields to work again.

Change-Id: I267ccb30cfa6347313fa1de96e18731f0e22d57d
üst d9bfa462
...@@ -56,6 +56,8 @@ public: ...@@ -56,6 +56,8 @@ public:
/** returns true if the matching condition is met for a single cell /** returns true if the matching condition is met for a single cell
value, or false otherwise. */ value, or false otherwise. */
virtual bool match( const ScDPItemData& rCellData ) const = 0; virtual bool match( const ScDPItemData& rCellData ) const = 0;
virtual std::vector<ScDPItemData> getMatchValues() const = 0;
}; };
/** ordinary single-item filter. */ /** ordinary single-item filter. */
...@@ -66,7 +68,7 @@ public: ...@@ -66,7 +68,7 @@ public:
virtual ~SingleFilter() {} virtual ~SingleFilter() {}
virtual bool match(const ScDPItemData& rCellData) const; virtual bool match(const ScDPItemData& rCellData) const;
virtual std::vector<ScDPItemData> getMatchValues() const;
const ScDPItemData& getMatchValue() const; const ScDPItemData& getMatchValue() const;
private: private:
...@@ -82,6 +84,7 @@ public: ...@@ -82,6 +84,7 @@ public:
GroupFilter(); GroupFilter();
virtual ~GroupFilter() {} virtual ~GroupFilter() {}
virtual bool match(const ScDPItemData& rCellData) const; virtual bool match(const ScDPItemData& rCellData) const;
virtual std::vector<ScDPItemData> getMatchValues() const;
void addMatchItem(const ScDPItemData& rItem); void addMatchItem(const ScDPItemData& rItem);
size_t getMatchItemCount() const; size_t getMatchItemCount() const;
......
...@@ -62,6 +62,13 @@ bool ScDPFilteredCache::SingleFilter::match(const ScDPItemData& rCellData) const ...@@ -62,6 +62,13 @@ bool ScDPFilteredCache::SingleFilter::match(const ScDPItemData& rCellData) const
return maItem == rCellData; return maItem == rCellData;
} }
std::vector<ScDPItemData> ScDPFilteredCache::SingleFilter::getMatchValues() const
{
std::vector<ScDPItemData> aValues;
aValues.push_back(maItem);
return aValues;
}
const ScDPItemData& ScDPFilteredCache::SingleFilter::getMatchValue() const const ScDPItemData& ScDPFilteredCache::SingleFilter::getMatchValue() const
{ {
return maItem; return maItem;
...@@ -83,6 +90,11 @@ bool ScDPFilteredCache::GroupFilter::match(const ScDPItemData& rCellData) const ...@@ -83,6 +90,11 @@ bool ScDPFilteredCache::GroupFilter::match(const ScDPItemData& rCellData) const
return false; return false;
} }
std::vector<ScDPItemData> ScDPFilteredCache::GroupFilter::getMatchValues() const
{
return maItems;
}
void ScDPFilteredCache::GroupFilter::addMatchItem(const ScDPItemData& rItem) void ScDPFilteredCache::GroupFilter::addMatchItem(const ScDPItemData& rItem)
{ {
maItems.push_back(rItem); maItems.push_back(rItem);
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment