Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
deck_view_container.h
Go to the documentation of this file.
1
6
7#ifndef DECK_VIEW_CONTAINER_H
8#define DECK_VIEW_CONTAINER_H
9
12
13#include <QPushButton>
14#include <QString>
15#include <QWidget>
16#include <qtmetamacros.h>
17
18class QVBoxLayout;
21class Response;
22class TabGame;
23class DeckView;
24
28class ToggleButton : public QPushButton
29{
30 Q_OBJECT
31private:
32 bool state;
33signals:
35
36public:
37 explicit ToggleButton(QWidget *parent = nullptr);
38 [[nodiscard]] bool getState() const
39 {
40 return state;
41 }
42 void setState(bool _state);
43
44protected:
45 void paintEvent(QPaintEvent *event) override;
46};
47
51class DeckViewContainer : public QWidget
52{
53 Q_OBJECT
54private:
55 QVBoxLayout *deckViewLayout;
67
69 void sendReadyStartCommand(bool ready);
70 void notifyPlaymatBlacklisted(const QString &cardName, const QString &message);
71private slots:
74 void loadLocalDeck();
75 void loadRemoteDeck();
76 void loadFromClipboard();
77 void loadFromWebsite();
78 void unloadDeck();
79 void readyStart();
80 void forceStart();
81 void deckSelectFinished(const Response &r);
85 void refreshShortcuts();
87signals:
89 void notIdle();
90
91public:
92 DeckViewContainer(int _playerId, TabGame *parent);
93 void retranslateUi();
94 void setReadyStart(bool ready);
95 void readyAndUpdate();
96 void setSideboardLocked(bool locked);
97 void setDeck(const DeckList &deck);
98 void setVisualDeckStorageExists(bool exists);
101
102public slots:
103 void loadDeckFromFile(const QString &filePath);
104 void loadDeckFromDeckList(const DeckList &deck);
105};
106
107#endif // DECK_VIEW_CONTAINER_H
Definition abstract_card_item.h:29
Represents a complete deck, including metadata, zones, cards, and sideboard plans.
Definition deck_list.h:67
int playmatRotationIndex
Per-match cursor for round-robin playmat mode.
Definition deck_view_container.h:63
void loadRemoteDeck()
Definition deck_view_container.cpp:383
void loadFromClipboard()
Definition deck_view_container.cpp:395
void sendReadyStartCommand(bool ready)
Definition deck_view_container.cpp:478
QPushButton * loadFromWebsiteButton
Definition deck_view_container.h:56
void deckSelectFinished(const Response &r)
Definition deck_view_container.cpp:419
void unloadDeck()
Definition deck_view_container.cpp:276
void newCardAdded(AbstractCardItem *card)
void readyAndUpdate()
Definition deck_view_container.cpp:505
void loadFromWebsite()
Definition deck_view_container.cpp:407
void setSideboardLocked(bool locked)
Definition deck_view_container.cpp:510
int playerId
Definition deck_view_container.h:62
VisualDeckStorageWidget * visualDeckStorageWidget
Definition deck_view_container.h:60
void loadLocalDeck()
Definition deck_view_container.cpp:282
void setVisualDeckStorageExists(bool exists)
Definition deck_view_container.cpp:254
QString lastBlacklistedPlaymatNotice
Card name already reported as blacklisted, to avoid repeat popups.
Definition deck_view_container.h:66
DeckViewContainer(int _playerId, TabGame *parent)
Definition deck_view_container.cpp:75
void readyStart()
Definition deck_view_container.cpp:437
QPushButton * loadFromClipboardButton
Definition deck_view_container.h:56
void setReadyStart(bool ready)
Definition deck_view_container.cpp:495
void updateSideboardLockButtonText()
Definition deck_view_container.cpp:224
void retranslateUi()
Definition deck_view_container.cpp:151
ToggleButton * readyStartButton
Definition deck_view_container.h:58
void sideboardPlanChanged()
Definition deck_view_container.cpp:465
QPushButton * loadRemoteButton
Definition deck_view_container.h:56
TabGame * parentGame
Definition deck_view_container.h:61
void tryCreateVisualDeckStorageWidget()
Definition deck_view_container.cpp:137
void switchToDeckLoadedView()
Definition deck_view_container.cpp:202
DeckView * deckView
Definition deck_view_container.h:59
QVBoxLayout * deckViewLayout
Definition deck_view_container.h:55
void resolveAndSendPlaymat()
Definition deck_view_container.cpp:326
void refreshShortcuts()
Definition deck_view_container.cpp:236
void forceStart()
Definition deck_view_container.cpp:442
QPushButton * unloadDeckButton
Definition deck_view_container.h:57
void loadDeckFromDeckList(const DeckList &deck)
Definition deck_view_container.cpp:306
void loadDeckFromFile(const QString &filePath)
Definition deck_view_container.cpp:292
ToggleButton * sideboardLockButton
Definition deck_view_container.h:58
void onPlaymatSettingsChanged()
Definition deck_view_container.cpp:373
void notifyPlaymatBlacklisted(const QString &cardName, const QString &message)
Definition deck_view_container.cpp:428
DeckList currentDeck
Cached deck for live settings re-resolution.
Definition deck_view_container.h:64
PlaymatInfo lastResolvedPlaymat
Tracks last sent playmat to avoid repeats in random mode.
Definition deck_view_container.h:65
QPushButton * loadLocalButton
Definition deck_view_container.h:56
void advancePlaymatRotation()
Definition deck_view_container.cpp:378
QPushButton * forceStartGameButton
Definition deck_view_container.h:57
void switchToDeckSelectView()
Definition deck_view_container.cpp:169
void setDeck(const DeckList &deck)
Definition deck_view_container.cpp:519
void sideboardLockButtonClicked()
Definition deck_view_container.cpp:457
Definition deck_view.h:158
Definition tab_game.h:67
Definition deck_view_container.h:29
bool getState() const
Definition deck_view_container.h:38
bool state
Definition deck_view_container.h:32
void stateChanged()
void setState(bool _state)
Definition deck_view_container.cpp:68
void paintEvent(QPaintEvent *event) override
Definition deck_view_container.cpp:55
ToggleButton(QWidget *parent=nullptr)
Definition deck_view_container.cpp:51
Definition visual_deck_storage_widget.h:32
Defines the DeckList class, which manages a full deck structure including cards, zones,...
A resolved playmat (card + positioning parameters).
Definition playmat_params.h:42
Definition response.proto:11