Cockatrice 2025-11-30-Development-2.11.0-beta.38
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 */
47
48private:
49 QString trm;
50 enum Type t;
51 enum Attr a;
52
53public:
55 {
56 }
57
58 [[nodiscard]] Type type() const
59 {
60 return t;
61 }
62 [[nodiscard]] const QString &term() const
63 {
64 return trm;
65 }
66 [[nodiscard]] Attr attr() const
67 {
68 return a;
69 }
70
71 [[nodiscard]] QJsonObject toJson() const;
72 static CardFilter *fromJson(const QJsonObject &json);
73 static const QString typeName(Type t);
74 static const QString attrName(Attr a);
75};
76
77#endif
Definition filter_card.h:14
enum Type t
Definition filter_card.h:50
enum Attr a
Definition filter_card.h:51
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:58
static const QString attrName(Attr a)
Definition filter_card.cpp:58
Attr attr() const
Definition filter_card.h:66
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:62
QString trm
Definition filter_card.h:49
Attr
Definition filter_card.h:30
@ AttrTough
Definition filter_card.h:40
@ AttrSet
Definition filter_card.h:38
@ AttrLoyalty
Definition filter_card.h:33
@ AttrText
Definition filter_card.h:39
@ AttrFormat
Definition filter_card.h:44
@ AttrEnd
Definition filter_card.h:45
@ AttrPow
Definition filter_card.h:36
@ AttrColor
Definition filter_card.h:32
@ AttrSubType
Definition filter_card.h:43
@ AttrType
Definition filter_card.h:41
@ AttrCmc
Definition filter_card.h:31
@ AttrMainType
Definition filter_card.h:42
@ AttrRarity
Definition filter_card.h:37
@ AttrName
Definition filter_card.h:35
@ AttrManaCost
Definition filter_card.h:34
CardFilter(QString &term, Type type, Attr attr)
Definition filter_card.h:54