mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-11 13:17:00 -04:00
perliminaries for filtered card list
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@152 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
#include <wx/splitter.h>
|
||||
|
||||
DECLARE_TYPEOF_COLLECTION(StatsDimensionP);
|
||||
DECLARE_TYPEOF_COLLECTION(String);
|
||||
DECLARE_TYPEOF_COLLECTION(CardP);
|
||||
|
||||
// ----------------------------------------------------------------------------- : StatCategoryList
|
||||
@@ -131,6 +132,24 @@ void StatsPanel::onCommand(int id) {
|
||||
}
|
||||
}
|
||||
|
||||
class StatsFilter : public CardListFilter {
|
||||
public:
|
||||
StatsFilter(Set& set, const vector<StatsDimensionP>& dims, const vector<String>& values)
|
||||
: set(set), dims(dims), values(values)
|
||||
{}
|
||||
virtual bool keep(const CardP& card) {
|
||||
Context& ctx = set.getContext(card);
|
||||
FOR_EACH_2(d, dims, v, values) {
|
||||
if (*d->script.invoke(ctx) != v) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
private:
|
||||
Set& set;
|
||||
vector<StatsDimensionP> dims;
|
||||
vector<String> values;
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------- : Selection
|
||||
|
||||
CardP StatsPanel::selectedCard() const {
|
||||
|
||||
Reference in New Issue
Block a user