Cockatrice 2026-04-21-Development-2.11.0-beta.61
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
library_menu.h
Go to the documentation of this file.
1
6
7#ifndef COCKATRICE_LIBRARY_MENU_H
8#define COCKATRICE_LIBRARY_MENU_H
9
12
13#include <QAction>
14#include <QMenu>
15
16class Player;
17class PlayerActions;
18
20{
21 Q_OBJECT
22public slots:
25
26public:
27 LibraryMenu(Player *player, QWidget *parent = nullptr);
28 void createDrawActions();
30 void createMoveActions();
31 void createViewActions();
32 void retranslateUi() override;
39 void setShortcutsActive() override;
40 void setShortcutsInactive() override;
41
42 [[nodiscard]] bool isAlwaysRevealTopCardChecked() const
43 {
44 return aAlwaysRevealTopCard->isChecked();
45 }
46
47 [[nodiscard]] bool isAlwaysLookAtTopCardChecked() const
48 {
49 return aAlwaysLookAtTopCard->isChecked();
50 }
51
52 // expose useful actions/menus if PlayerMenu needs them
53 [[nodiscard]] QMenu *revealLibrary() const
54 {
55 return mRevealLibrary;
56 }
57 [[nodiscard]] QMenu *lendLibraryMenu() const
58 {
59 return mLendLibrary;
60 }
61 [[nodiscard]] QMenu *revealTopCardMenu() const
62 {
63 return mRevealTopCard;
64 }
65
66 QMenu *topLibraryMenu = nullptr;
67 QMenu *bottomLibraryMenu = nullptr;
68
69 // Expose submenus that PlayerMenu tracks in its lists
70 QMenu *mRevealLibrary = nullptr;
71 QMenu *mLendLibrary = nullptr;
72 QMenu *mRevealTopCard = nullptr;
73
74 QAction *aDrawCard = nullptr;
75 QAction *aDrawCards = nullptr;
76 QAction *aUndoDraw = nullptr;
77
78 QAction *aShuffle = nullptr;
79 QAction *aViewLibrary = nullptr;
80 QAction *aViewTopCards = nullptr;
81 QAction *aViewBottomCards = nullptr;
82 QAction *aAlwaysRevealTopCard = nullptr;
83 QAction *aAlwaysLookAtTopCard = nullptr;
84 QAction *aOpenDeckInDeckEditor = nullptr;
85
86 QAction *aMoveTopToPlay = nullptr;
87 QAction *aMoveTopToPlayFaceDown = nullptr;
88 QAction *aMoveTopCardToBottom = nullptr;
89 QAction *aMoveTopCardToGraveyard = nullptr;
90 QAction *aMoveTopCardToExile = nullptr;
91 QAction *aMoveTopCardsToGraveyard = nullptr;
93 QAction *aMoveTopCardsToExile = nullptr;
94 QAction *aMoveTopCardsToExileFaceDown = nullptr;
95 QAction *aMoveTopCardsUntil = nullptr;
96 QAction *aShuffleTopCards = nullptr;
97
98 QAction *aDrawBottomCard = nullptr;
99 QAction *aDrawBottomCards = nullptr;
100 QAction *aMoveBottomToPlay = nullptr;
101 QAction *aMoveBottomToPlayFaceDown = nullptr;
102 QAction *aMoveBottomCardToTop = nullptr;
103 QAction *aMoveBottomCardToGraveyard = nullptr;
104 QAction *aMoveBottomCardToExile = nullptr;
105 QAction *aMoveBottomCardsToGraveyard = nullptr;
107 QAction *aMoveBottomCardsToExile = nullptr;
109 QAction *aShuffleBottomCards = nullptr;
110
112
113private:
115};
116
117#endif // COCKATRICE_LIBRARY_MENU_H
Polymorphic interface for player-bound UI components managed by PlayerMenu.
Interface for player-bound UI components that need shortcut and translation lifecycle management.
Definition abstract_player_component.h:18
QAction * aViewLibrary
Definition library_menu.h:79
QAction * aMoveTopCardsToExileFaceDown
Definition library_menu.h:94
QAction * aDrawCard
Definition library_menu.h:74
QMenu * topLibraryMenu
Definition library_menu.h:66
void createShuffleActions()
Definition library_menu.cpp:113
void createMoveActions()
Definition library_menu.cpp:127
QAction * aViewBottomCards
Definition library_menu.h:81
void populateRevealLibraryMenuWithActivePlayers()
Definition library_menu.cpp:256
QAction * aAlwaysRevealTopCard
Definition library_menu.h:82
QAction * aMoveBottomCardToGraveyard
Definition library_menu.h:103
QMenu * bottomLibraryMenu
Definition library_menu.h:67
QAction * aDrawCards
Definition library_menu.h:75
QMenu * mRevealLibrary
Definition library_menu.h:70
void retranslateUi() override
Retranslate all user-visible strings. Called on language change.
Definition library_menu.cpp:206
QAction * aMoveTopCardsToGraveyardFaceDown
Definition library_menu.h:92
QAction * aMoveTopToPlay
Definition library_menu.h:86
void createDrawActions()
Definition library_menu.cpp:95
int defaultNumberTopCards
Definition library_menu.h:111
QMenu * lendLibraryMenu() const
Definition library_menu.h:57
QAction * aShuffleBottomCards
Definition library_menu.h:109
void onRevealTopCardTriggered()
Definition library_menu.cpp:324
void populateLendLibraryMenuWithActivePlayers()
Definition library_menu.cpp:276
QAction * aMoveTopCardToGraveyard
Definition library_menu.h:89
QAction * aViewTopCards
Definition library_menu.h:80
Player * player
Definition library_menu.h:114
QAction * aShuffleTopCards
Definition library_menu.h:96
QAction * aMoveBottomCardsToExileFaceDown
Definition library_menu.h:108
QAction * aMoveBottomCardToTop
Definition library_menu.h:102
QAction * aShuffle
Definition library_menu.h:78
bool isAlwaysLookAtTopCardChecked() const
Definition library_menu.h:47
void createViewActions()
Definition library_menu.cpp:182
QAction * aMoveTopCardToExile
Definition library_menu.h:90
QAction * aMoveBottomToPlay
Definition library_menu.h:100
QAction * aMoveTopCardsToExile
Definition library_menu.h:93
QAction * aMoveBottomCardsToGraveyard
Definition library_menu.h:105
void setShortcutsActive() override
Bind keyboard shortcuts. Called when this player gains focus.
Definition library_menu.cpp:339
void onRevealLibraryTriggered()
Definition library_menu.cpp:310
QAction * aDrawBottomCards
Definition library_menu.h:99
QAction * aMoveTopCardToBottom
Definition library_menu.h:88
QAction * aUndoDraw
Definition library_menu.h:76
QAction * aMoveBottomCardsToExile
Definition library_menu.h:107
void populateRevealTopCardMenuWithActivePlayers()
Definition library_menu.cpp:290
QMenu * mRevealTopCard
Definition library_menu.h:72
void resetTopCardMenuActions()
Definition library_menu.cpp:89
bool isAlwaysRevealTopCardChecked() const
Definition library_menu.h:42
QAction * aOpenDeckInDeckEditor
Definition library_menu.h:84
LibraryMenu(Player *player, QWidget *parent=nullptr)
Definition library_menu.cpp:13
QMenu * revealTopCardMenu() const
Definition library_menu.h:61
QAction * aMoveBottomToPlayFaceDown
Definition library_menu.h:101
QAction * aMoveTopCardsUntil
Definition library_menu.h:95
QMenu * mLendLibrary
Definition library_menu.h:71
void onLendLibraryTriggered()
Definition library_menu.cpp:317
QAction * aMoveTopCardsToGraveyard
Definition library_menu.h:91
void setShortcutsInactive() override
Unbind keyboard shortcuts. Called when this player loses focus.
Definition library_menu.cpp:377
void enableOpenInDeckEditorAction() const
Definition library_menu.cpp:84
QAction * aMoveBottomCardToExile
Definition library_menu.h:104
QAction * aDrawBottomCard
Definition library_menu.h:98
QMenu * revealLibrary() const
Definition library_menu.h:53
QAction * aAlwaysLookAtTopCard
Definition library_menu.h:83
QAction * aMoveTopToPlayFaceDown
Definition library_menu.h:87
QAction * aMoveBottomCardsToGraveyardFaceDown
Definition library_menu.h:106
Definition player_actions.h:35
Definition player.h:66
TearOffMenu(const QString &title, QWidget *parent=nullptr)
Definition tearoff_menu.h:16
TODO: Document this.