Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
abstract_deck_list_card_node.h
Go to the documentation of this file.
1
10
11#ifndef COCKATRICE_ABSTRACT_DECK_LIST_CARD_NODE_H
12#define COCKATRICE_ABSTRACT_DECK_LIST_CARD_NODE_H
13
15
16#include <QString>
17
19
50{
51public:
60 explicit AbstractDecklistCardNode(InnerDecklistNode *_parent = nullptr, int position = -1)
61 : AbstractDecklistNode(_parent, position)
62 {
63 }
64
66 [[nodiscard]] virtual int getNumber() const = 0;
67
69 virtual void setNumber(int _number) = 0;
70
72 [[nodiscard]] QString getName() const override = 0;
73
75 virtual void setName(const QString &_name) = 0;
76
78 [[nodiscard]] virtual QString getCardProviderId() const override = 0;
79
81 virtual void setCardProviderId(const QString &_cardProviderId) = 0;
82
84 [[nodiscard]] virtual QString getCardSetShortName() const override = 0;
85
87 virtual void setCardSetShortName(const QString &_cardSetShortName) = 0;
88
90 [[nodiscard]] virtual QString getCardCollectorNumber() const override = 0;
91
93 virtual void setCardCollectorNumber(const QString &_cardSetNumber) = 0;
94
96 virtual bool getFormatLegality() const = 0;
97
99 virtual void setFormatLegality(const bool _formatLegal) = 0;
100
109 [[nodiscard]] int height() const override
110 {
111 return 0;
112 }
113
125 bool compare(AbstractDecklistNode *other) const override;
126
132 bool compareNumber(AbstractDecklistNode *other) const;
133
139 bool compareName(AbstractDecklistNode *other) const;
140
147 void writeElement(QXmlStreamWriter *xml) override;
148};
149
150#endif // COCKATRICE_ABSTRACT_DECK_LIST_CARD_NODE_H
Defines the AbstractDecklistNode base class used as the foundation for all nodes in the deck list tre...
AbstractDecklistCardNode(InnerDecklistNode *_parent=nullptr, int position=-1)
Construct a new AbstractDecklistCardNode.
Definition abstract_deck_list_card_node.h:60
bool compareNumber(AbstractDecklistNode *other) const
Compare this card node to another by quantity.
Definition abstract_deck_list_card_node.cpp:20
virtual void setNumber(int _number)=0
virtual QString getCardCollectorNumber() const override=0
bool compare(AbstractDecklistNode *other) const override
Compare this card node against another for sorting.
Definition abstract_deck_list_card_node.cpp:8
bool compareName(AbstractDecklistNode *other) const
Compare this card node to another by name.
Definition abstract_deck_list_card_node.cpp:32
virtual void setCardCollectorNumber(const QString &_cardSetNumber)=0
virtual int getNumber() const =0
virtual void setName(const QString &_name)=0
virtual QString getCardProviderId() const override=0
void writeElement(QXmlStreamWriter *xml) override
Serialize this node’s properties to XML.
Definition abstract_deck_list_card_node.cpp:42
int height() const override
Get the height of this node in the tree.
Definition abstract_deck_list_card_node.h:109
virtual QString getCardSetShortName() const override=0
virtual void setCardSetShortName(const QString &_cardSetShortName)=0
virtual void setCardProviderId(const QString &_cardProviderId)=0
virtual bool getFormatLegality() const =0
QString getName() const override=0
virtual void setFormatLegality(const bool _formatLegal)=0
Base class for all nodes in the deck list tree.
Definition abstract_deck_list_node.h:75
AbstractDecklistNode(InnerDecklistNode *_parent=nullptr, int position=-1)
Construct a new AbstractDecklistNode and insert it into its parent.
Definition abstract_deck_list_node.cpp:5
Represents a container node in the deck list hierarchy (zones and groupings).
Definition inner_deck_list_node.h:73