Cockatrice 2026-10-19-Development-3.1.2-beta.2
A 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 <QJsonObject>
11#include <QObject>
12#include <QString>
13#include <qtmetamacros.h>
14
15class CardFilter : public QObject
16{
17 Q_OBJECT
18
19public:
28
29 /* if you add an attribute here you also need to
30 * add its string representation in attrName */
50
51private:
52 QString trm;
53 enum Type t;
54 enum Attr a;
55
56public:
58 {
59 }
60
61 [[nodiscard]] Type type() const
62 {
63 return t;
64 }
65 [[nodiscard]] const QString &term() const
66 {
67 return trm;
68 }
69 [[nodiscard]] Attr attr() const
70 {
71 return a;
72 }
73
74 [[nodiscard]] QJsonObject toJson() const;
75 static CardFilter *fromJson(const QJsonObject &json);
76 static const QString typeName(Type t);
77 static const QString attrName(Attr a);
78};
79
80#endif
Definition filter_card.h:16
enum Type t
Definition filter_card.h:53
enum Attr a
Definition filter_card.h:54
static CardFilter * fromJson(const QJsonObject &json)
Definition filter_card.cpp:17
QJsonObject toJson() const
Definition filter_card.cpp:8
static const QString typeName(Type t)
Definition filter_card.cpp:45
Type type() const
Definition filter_card.h:61
static const QString attrName(Attr a)
Definition filter_card.cpp:61
Attr attr() const
Definition filter_card.h:69
Type
Definition filter_card.h:21
@ TypeAndNot
Definition filter_card.h:24
@ TypeEnd
Definition filter_card.h:26
@ TypeOrNot
Definition filter_card.h:25
@ TypeOr
Definition filter_card.h:23
@ TypeAnd
Definition filter_card.h:22
const QString & term() const
Definition filter_card.h:65
QString trm
Definition filter_card.h:52
Attr
Definition filter_card.h:32
@ AttrTough
Definition filter_card.h:43
@ AttrSet
Definition filter_card.h:41
@ AttrLoyalty
Definition filter_card.h:35
@ AttrText
Definition filter_card.h:42
@ AttrFormat
Definition filter_card.h:47
@ AttrEnd
Definition filter_card.h:48
@ AttrPow
Definition filter_card.h:39
@ AttrColor
Definition filter_card.h:34
@ AttrSubType
Definition filter_card.h:46
@ AttrType
Definition filter_card.h:44
@ AttrCmc
Definition filter_card.h:33
@ AttrMainType
Definition filter_card.h:45
@ AttrRarity
Definition filter_card.h:40
@ AttrNameExact
Definition filter_card.h:38
@ AttrName
Definition filter_card.h:37
@ AttrManaCost
Definition filter_card.h:36
CardFilter(QString &term, Type type, Attr attr)
Definition filter_card.h:57