Cockatrice 2026-01-14-Development-2.11.0-beta.46
A cross-platform 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
46{
47public:
56 explicit AbstractDecklistCardNode(InnerDecklistNode *_parent = nullptr, int position = -1)
57 : AbstractDecklistNode(_parent, position)
58 {
59 }
60
62 [[nodiscard]] virtual int getNumber() const = 0;
63
65 virtual void setNumber(int _number) = 0;
66
68 [[nodiscard]] QString getName() const override = 0;
69
71 virtual void setName(const QString &_name) = 0;
72
74 [[nodiscard]] virtual QString getCardProviderId() const override = 0;
75
77 virtual void setCardProviderId(const QString &_cardProviderId) = 0;
78
80 [[nodiscard]] virtual QString getCardSetShortName() const override = 0;
81
83 virtual void setCardSetShortName(const QString &_cardSetShortName) = 0;
84
86 [[nodiscard]] virtual QString getCardCollectorNumber() const override = 0;
87
89 virtual void setCardCollectorNumber(const QString &_cardSetNumber) = 0;
90
92 virtual bool getFormatLegality() const = 0;
93
95 virtual void setFormatLegality(const bool _formatLegal) = 0;
96
105 [[nodiscard]] int height() const override
106 {
107 return 0;
108 }
109
121 bool compare(AbstractDecklistNode *other) const override;
122
128 bool compareNumber(AbstractDecklistNode *other) const;
129
135 bool compareName(AbstractDecklistNode *other) const;
136
144 bool readElement(QXmlStreamReader *xml) override;
145
152 void writeElement(QXmlStreamWriter *xml) override;
153};
154
155#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:56
bool compareNumber(AbstractDecklistNode *other) const
Compare this card node to another by quantity.
Definition abstract_deck_list_card_node.cpp:15
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:3
bool compareName(AbstractDecklistNode *other) const
Compare this card node to another by name.
Definition abstract_deck_list_card_node.cpp:27
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:47
int height() const override
Get the height of this node in the tree.
Definition abstract_deck_list_card_node.h:105
bool readElement(QXmlStreamReader *xml) override
Deserialize this node’s properties from XML.
Definition abstract_deck_list_card_node.cpp:37
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:73
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:62