Cockatrice 2026-01-14-Development-2.11.0-beta.46
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
filter_card.h
Go to the documentation of this file.
1
6
7#ifndef CARDFILTER_H
8#define CARDFILTER_H
9
10#include <QObject>
11#include <QString>
12
13class CardFilter : public QObject
14{
15 Q_OBJECT
16
17public:
26
27 /* if you add an attribute here you also need to
28 * add its string representation in attrName */
48
49private:
50 QString trm;
51 enum Type t;
52 enum Attr a;
53
54public:
56 {
57 }
58
59 [[nodiscard]] Type type() const
60 {
61 return t;
62 }
63 [[nodiscard]] const QString &term() const
64 {
65 return trm;
66 }
67 [[nodiscard]] Attr attr() const
68 {
69 return a;
70 }
71
72 [[nodiscard]] QJsonObject toJson() const;
73 static CardFilter *fromJson(const QJsonObject &json);
74 static const QString typeName(Type t);
75 static const QString attrName(Attr a);
76};
77
78#endif
Definition filter_card.h:14
enum Type t
Definition filter_card.h:51
enum Attr a
Definition filter_card.h:52
static CardFilter * fromJson(const QJsonObject &json)
Definition filter_card.cpp:14
QJsonObject toJson() const
Definition filter_card.cpp:5
static const QString typeName(Type t)
Definition filter_card.cpp:42
Type type() const
Definition filter_card.h:59
static const QString attrName(Attr a)
Definition filter_card.cpp:58
Attr attr() const
Definition filter_card.h:67
Type
Definition filter_card.h:19
@ TypeAndNot
Definition filter_card.h:22
@ TypeEnd
Definition filter_card.h:24
@ TypeOrNot
Definition filter_card.h:23
@ TypeOr
Definition filter_card.h:21
@ TypeAnd
Definition filter_card.h:20
const QString & term() const
Definition filter_card.h:63
QString trm
Definition filter_card.h:50
Attr
Definition filter_card.h:30
@ AttrTough
Definition filter_card.h:41
@ AttrSet
Definition filter_card.h:39
@ AttrLoyalty
Definition filter_card.h:33
@ AttrText
Definition filter_card.h:40
@ AttrFormat
Definition filter_card.h:45
@ AttrEnd
Definition filter_card.h:46
@ AttrPow
Definition filter_card.h:37
@ AttrColor
Definition filter_card.h:32
@ AttrSubType
Definition filter_card.h:44
@ AttrType
Definition filter_card.h:42
@ AttrCmc
Definition filter_card.h:31
@ AttrMainType
Definition filter_card.h:43
@ AttrRarity
Definition filter_card.h:38
@ AttrNameExact
Definition filter_card.h:36
@ AttrName
Definition filter_card.h:35
@ AttrManaCost
Definition filter_card.h:34
CardFilter(QString &term, Type type, Attr attr)
Definition filter_card.h:55