Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
dlg_select_set_for_cards.h
Go to the documentation of this file.
1
6
7#ifndef DLG_SELECT_SET_FOR_CARDS_H
8#define DLG_SELECT_SET_FOR_CARDS_H
9
10#include <QDialog>
11#include <QList>
12#include <QMap>
13#include <QString>
14#include <QStringList>
15#include <QWidget>
16#include <qtmetamacros.h>
17
19class SetEntryWidget; // Forward declaration
20class FlowWidget;
21class QCheckBox;
22class QLabel;
23class QListWidget;
24class QPushButton;
25class QScrollArea;
26class QVBoxLayout;
27
28class DlgSelectSetForCards : public QDialog
29{
30 Q_OBJECT
31
32public:
33 explicit DlgSelectSetForCards(QWidget *parent, DeckStateManager *deckStateManager);
34 void retranslateUi();
35 void sortSetsByCount();
38 QVBoxLayout *listLayout;
41
42signals:
46
47public slots:
48 void actOK();
49 void actClear();
51 void updateLayoutOrder();
52 void updateCardLists();
53 void dragEnterEvent(QDragEnterEvent *event) override;
54 void dropEvent(QDropEvent *event) override;
55
56private:
57 QVBoxLayout *layout;
59 QScrollArea *scrollArea;
60 QScrollArea *uneditedCardsArea;
63 QScrollArea *modifiedCardsArea;
66 QWidget *listContainer;
67 QListWidget *listWidget;
70 QPushButton *clearButton;
72
74};
75
76class SetEntryWidget : public QWidget
77{
78 Q_OBJECT
79
80public:
81 explicit SetEntryWidget(DlgSelectSetForCards *parent, const QString &setName, int count);
82 void toggleExpansion();
83 void checkVisibility();
84 QStringList getAllCardsForSet();
85 void populateCardList();
87 [[nodiscard]] bool isChecked() const;
89 QString setName;
91
92public slots:
93 void mousePressEvent(QMouseEvent *event) override;
94 void enterEvent(QEnterEvent *event) override;
95 void leaveEvent(QEvent *event) override;
96 void dragMoveEvent(QDragMoveEvent *event) override;
97
98private:
99 QVBoxLayout *layout;
100 QCheckBox *checkBox;
101 QPushButton *expandButton;
102 QLabel *countLabel;
107 QVBoxLayout *cardListLayout;
108 QStringList possibleCards;
109 QStringList unusedCards;
110};
111
112#endif // DLG_SELECT_SET_FOR_CARDS_H
This class centralizes the management of the state of the deck in the deck editor tab....
Definition deck_state_manager.h:32
Definition dlg_select_set_for_cards.h:29
QMap< QString, QStringList > cardsForSets
Definition dlg_select_set_for_cards.h:40
QScrollArea * scrollArea
Definition dlg_select_set_for_cards.h:59
QMap< QString, QStringList > getModifiedCards()
Definition dlg_select_set_for_cards.cpp:405
void actClear()
Definition dlg_select_set_for_cards.cpp:220
QLabel * uneditedCardsLabel
Definition dlg_select_set_for_cards.h:62
QPushButton * setAllToPreferredButton
Definition dlg_select_set_for_cards.h:71
void sortSetsByCount()
Definition dlg_select_set_for_cards.cpp:239
FlowWidget * uneditedCardsFlowWidget
Definition dlg_select_set_for_cards.h:61
QListWidget * listWidget
Definition dlg_select_set_for_cards.h:67
DlgSelectSetForCards(QWidget *parent, DeckStateManager *deckStateManager)
Definition dlg_select_set_for_cards.cpp:58
QScrollArea * uneditedCardsArea
Definition dlg_select_set_for_cards.h:60
DeckStateManager * deckStateManager
Definition dlg_select_set_for_cards.h:68
QLabel * modifiedCardsLabel
Definition dlg_select_set_for_cards.h:65
void updateCardLists()
Definition dlg_select_set_for_cards.cpp:286
QPushButton * clearButton
Definition dlg_select_set_for_cards.h:70
QList< SetEntryWidget * > entry_widgets
Definition dlg_select_set_for_cards.h:39
FlowWidget * modifiedCardsFlowWidget
Definition dlg_select_set_for_cards.h:64
void dragEnterEvent(QDragEnterEvent *event) override
Definition dlg_select_set_for_cards.cpp:343
QVBoxLayout * listLayout
Definition dlg_select_set_for_cards.h:38
void updateLayoutOrder()
Definition dlg_select_set_for_cards.cpp:431
void actSetAllToPreferred()
Definition dlg_select_set_for_cards.cpp:229
QVBoxLayout * layout
Definition dlg_select_set_for_cards.h:57
QMap< QString, int > getSetsForCards()
Definition dlg_select_set_for_cards.cpp:265
void dropEvent(QDropEvent *event) override
Definition dlg_select_set_for_cards.cpp:353
void retranslateUi()
Definition dlg_select_set_for_cards.cpp:171
QLabel * instructionLabel
Definition dlg_select_set_for_cards.h:58
QWidget * listContainer
Definition dlg_select_set_for_cards.h:66
QScrollArea * modifiedCardsArea
Definition dlg_select_set_for_cards.h:63
QMap< QString, QStringList > getCardsForSets()
Definition dlg_select_set_for_cards.cpp:384
QMap< QString, SetEntryWidget * > setEntries
Definition dlg_select_set_for_cards.h:69
void actOK()
Definition dlg_select_set_for_cards.cpp:197
Definition flow_widget.h:27
Definition remote_connection_controller.h:20
Definition game.h:18
Definition dlg_select_set_for_cards.h:77
QString setName
Definition dlg_select_set_for_cards.h:89
DlgSelectSetForCards * parent
Definition dlg_select_set_for_cards.h:88
QLabel * countLabel
Definition dlg_select_set_for_cards.h:102
QStringList getAllCardsForSet()
Definition dlg_select_set_for_cards.cpp:595
QStringList possibleCards
Definition dlg_select_set_for_cards.h:108
QVBoxLayout * layout
Definition dlg_select_set_for_cards.h:99
void updateCardDisplayWidgets()
Definition dlg_select_set_for_cards.cpp:631
QVBoxLayout * cardListLayout
Definition dlg_select_set_for_cards.h:107
QLabel * possibleCardsLabel
Definition dlg_select_set_for_cards.h:103
void mousePressEvent(QMouseEvent *event) override
Definition dlg_select_set_for_cards.cpp:487
void toggleExpansion()
Definition dlg_select_set_for_cards.cpp:571
bool isChecked() const
Definition dlg_select_set_for_cards.cpp:566
QStringList unusedCards
Definition dlg_select_set_for_cards.h:109
QLabel * alreadySelectedCardsLabel
Definition dlg_select_set_for_cards.h:105
void enterEvent(QEnterEvent *event) override
Definition dlg_select_set_for_cards.cpp:523
QCheckBox * checkBox
Definition dlg_select_set_for_cards.h:100
bool expanded
Definition dlg_select_set_for_cards.h:90
QPushButton * expandButton
Definition dlg_select_set_for_cards.h:101
void checkVisibility()
Definition dlg_select_set_for_cards.cpp:586
void populateCardList()
Definition dlg_select_set_for_cards.cpp:607
void leaveEvent(QEvent *event) override
Definition dlg_select_set_for_cards.cpp:534
FlowWidget * cardListContainer
Definition dlg_select_set_for_cards.h:104
FlowWidget * alreadySelectedCardListContainer
Definition dlg_select_set_for_cards.h:106
void dragMoveEvent(QDragMoveEvent *event) override
Definition dlg_select_set_for_cards.cpp:545
SetEntryWidget(DlgSelectSetForCards *parent, const QString &setName, int count)
Definition dlg_select_set_for_cards.cpp:444