* Add MagicCards.info like fitler parser. * Use FilterString whenever one of [:=<>] is in the edit box. * Opts * Opt * - Capture errors - Allow querying any property by full name * clang format * Update cockatrice/src/filter_string.cpp Co-Authored-By: basicer <basicer@basicer.com> * - Some refactoring for clarity - More filters - Add filter help * Clangify * Add icon * Fix test name * Remove stay debug * - Add Rarity filter - Make " trigger filter string mode * You have to pass both filter types * clangify * - Allow filtering by legality - Import legality into card.xml * Add format filter to filtertree * More color search options * RIP extended * More fixes * Fix c:m * set syntax help parent * Fix warning * add additional explanations to syntax help * Allow multiple ands/ors to be chained * Cleanup and refactor Signed-off-by: Zach Halpern <ZaHalpern+github@gmail.com> * Move utility into guards Signed-off-by: Zach Halpern <ZaHalpern+github@gmail.com> * I heard you like refactors so I put a refactor inside your refactor (#3594) * I heard you like refactors so I put a refactor inside your refactor so you can refactor while you refactor * clangify * Update tab_deck_editor.h
66 lines
1.1 KiB
C++
66 lines
1.1 KiB
C++
#ifndef CARDFILTER_H
|
|
#define CARDFILTER_H
|
|
|
|
#include <QObject>
|
|
#include <QString>
|
|
#include <utility>
|
|
|
|
class CardFilter : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
enum Type
|
|
{
|
|
TypeAnd = 0,
|
|
TypeOr,
|
|
TypeAndNot,
|
|
TypeOrNot,
|
|
TypeEnd
|
|
};
|
|
|
|
/* if you add an attribute here you also need to
|
|
* add its string representation in attrName */
|
|
enum Attr
|
|
{
|
|
AttrCmc = 0,
|
|
AttrColor,
|
|
AttrLoyalty,
|
|
AttrManaCost,
|
|
AttrName,
|
|
AttrPow,
|
|
AttrRarity,
|
|
AttrSet,
|
|
AttrText,
|
|
AttrTough,
|
|
AttrType,
|
|
AttrFormat,
|
|
AttrEnd
|
|
};
|
|
|
|
private:
|
|
QString trm;
|
|
enum Type t;
|
|
enum Attr a;
|
|
|
|
public:
|
|
CardFilter(QString &term, Type type, Attr attr) : trm(term), t(type), a(attr){};
|
|
|
|
Type type() const
|
|
{
|
|
return t;
|
|
}
|
|
const QString &term() const
|
|
{
|
|
return trm;
|
|
}
|
|
Attr attr() const
|
|
{
|
|
return a;
|
|
}
|
|
|
|
static const QString typeName(Type t);
|
|
static const QString attrName(Attr a);
|
|
};
|
|
|
|
#endif
|