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
10
#include "
../../../interface/widgets/menus/tearoff_menu.h
"
11
#include "
abstract_player_component.h
"
12
13
#include <QAction>
14
#include <QMenu>
15
16
class
Player
;
17
class
PlayerActions
;
18
19
class
LibraryMenu
:
public
TearOffMenu
,
public
AbstractPlayerComponent
20
{
21
Q_OBJECT
22
public
slots:
23
void
enableOpenInDeckEditorAction
()
const
;
24
void
resetTopCardMenuActions
();
25
26
public
:
27
LibraryMenu
(
Player
*
player
, QWidget *parent =
nullptr
);
28
void
createDrawActions
();
29
void
createShuffleActions
();
30
void
createMoveActions
();
31
void
createViewActions
();
32
void
retranslateUi
()
override
;
33
void
populateRevealLibraryMenuWithActivePlayers
();
34
void
populateLendLibraryMenuWithActivePlayers
();
35
void
populateRevealTopCardMenuWithActivePlayers
();
36
void
onRevealLibraryTriggered
();
37
void
onLendLibraryTriggered
();
38
void
onRevealTopCardTriggered
();
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
;
92
QAction *
aMoveTopCardsToGraveyardFaceDown
=
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
;
106
QAction *
aMoveBottomCardsToGraveyardFaceDown
=
nullptr
;
107
QAction *
aMoveBottomCardsToExile
=
nullptr
;
108
QAction *
aMoveBottomCardsToExileFaceDown
=
nullptr
;
109
QAction *
aShuffleBottomCards
=
nullptr
;
110
111
int
defaultNumberTopCards
= 1;
112
113
private
:
114
Player
*
player
;
115
};
116
117
#endif
// COCKATRICE_LIBRARY_MENU_H
abstract_player_component.h
Polymorphic interface for player-bound UI components managed by PlayerMenu.
AbstractPlayerComponent
Interface for player-bound UI components that need shortcut and translation lifecycle management.
Definition
abstract_player_component.h:18
LibraryMenu::aViewLibrary
QAction * aViewLibrary
Definition
library_menu.h:79
LibraryMenu::aMoveTopCardsToExileFaceDown
QAction * aMoveTopCardsToExileFaceDown
Definition
library_menu.h:94
LibraryMenu::aDrawCard
QAction * aDrawCard
Definition
library_menu.h:74
LibraryMenu::topLibraryMenu
QMenu * topLibraryMenu
Definition
library_menu.h:66
LibraryMenu::createShuffleActions
void createShuffleActions()
Definition
library_menu.cpp:113
LibraryMenu::createMoveActions
void createMoveActions()
Definition
library_menu.cpp:127
LibraryMenu::aViewBottomCards
QAction * aViewBottomCards
Definition
library_menu.h:81
LibraryMenu::populateRevealLibraryMenuWithActivePlayers
void populateRevealLibraryMenuWithActivePlayers()
Definition
library_menu.cpp:256
LibraryMenu::aAlwaysRevealTopCard
QAction * aAlwaysRevealTopCard
Definition
library_menu.h:82
LibraryMenu::aMoveBottomCardToGraveyard
QAction * aMoveBottomCardToGraveyard
Definition
library_menu.h:103
LibraryMenu::bottomLibraryMenu
QMenu * bottomLibraryMenu
Definition
library_menu.h:67
LibraryMenu::aDrawCards
QAction * aDrawCards
Definition
library_menu.h:75
LibraryMenu::mRevealLibrary
QMenu * mRevealLibrary
Definition
library_menu.h:70
LibraryMenu::retranslateUi
void retranslateUi() override
Retranslate all user-visible strings. Called on language change.
Definition
library_menu.cpp:206
LibraryMenu::aMoveTopCardsToGraveyardFaceDown
QAction * aMoveTopCardsToGraveyardFaceDown
Definition
library_menu.h:92
LibraryMenu::aMoveTopToPlay
QAction * aMoveTopToPlay
Definition
library_menu.h:86
LibraryMenu::createDrawActions
void createDrawActions()
Definition
library_menu.cpp:95
LibraryMenu::defaultNumberTopCards
int defaultNumberTopCards
Definition
library_menu.h:111
LibraryMenu::lendLibraryMenu
QMenu * lendLibraryMenu() const
Definition
library_menu.h:57
LibraryMenu::aShuffleBottomCards
QAction * aShuffleBottomCards
Definition
library_menu.h:109
LibraryMenu::onRevealTopCardTriggered
void onRevealTopCardTriggered()
Definition
library_menu.cpp:324
LibraryMenu::populateLendLibraryMenuWithActivePlayers
void populateLendLibraryMenuWithActivePlayers()
Definition
library_menu.cpp:276
LibraryMenu::aMoveTopCardToGraveyard
QAction * aMoveTopCardToGraveyard
Definition
library_menu.h:89
LibraryMenu::aViewTopCards
QAction * aViewTopCards
Definition
library_menu.h:80
LibraryMenu::player
Player * player
Definition
library_menu.h:114
LibraryMenu::aShuffleTopCards
QAction * aShuffleTopCards
Definition
library_menu.h:96
LibraryMenu::aMoveBottomCardsToExileFaceDown
QAction * aMoveBottomCardsToExileFaceDown
Definition
library_menu.h:108
LibraryMenu::aMoveBottomCardToTop
QAction * aMoveBottomCardToTop
Definition
library_menu.h:102
LibraryMenu::aShuffle
QAction * aShuffle
Definition
library_menu.h:78
LibraryMenu::isAlwaysLookAtTopCardChecked
bool isAlwaysLookAtTopCardChecked() const
Definition
library_menu.h:47
LibraryMenu::createViewActions
void createViewActions()
Definition
library_menu.cpp:182
LibraryMenu::aMoveTopCardToExile
QAction * aMoveTopCardToExile
Definition
library_menu.h:90
LibraryMenu::aMoveBottomToPlay
QAction * aMoveBottomToPlay
Definition
library_menu.h:100
LibraryMenu::aMoveTopCardsToExile
QAction * aMoveTopCardsToExile
Definition
library_menu.h:93
LibraryMenu::aMoveBottomCardsToGraveyard
QAction * aMoveBottomCardsToGraveyard
Definition
library_menu.h:105
LibraryMenu::setShortcutsActive
void setShortcutsActive() override
Bind keyboard shortcuts. Called when this player gains focus.
Definition
library_menu.cpp:339
LibraryMenu::onRevealLibraryTriggered
void onRevealLibraryTriggered()
Definition
library_menu.cpp:310
LibraryMenu::aDrawBottomCards
QAction * aDrawBottomCards
Definition
library_menu.h:99
LibraryMenu::aMoveTopCardToBottom
QAction * aMoveTopCardToBottom
Definition
library_menu.h:88
LibraryMenu::aUndoDraw
QAction * aUndoDraw
Definition
library_menu.h:76
LibraryMenu::aMoveBottomCardsToExile
QAction * aMoveBottomCardsToExile
Definition
library_menu.h:107
LibraryMenu::populateRevealTopCardMenuWithActivePlayers
void populateRevealTopCardMenuWithActivePlayers()
Definition
library_menu.cpp:290
LibraryMenu::mRevealTopCard
QMenu * mRevealTopCard
Definition
library_menu.h:72
LibraryMenu::resetTopCardMenuActions
void resetTopCardMenuActions()
Definition
library_menu.cpp:89
LibraryMenu::isAlwaysRevealTopCardChecked
bool isAlwaysRevealTopCardChecked() const
Definition
library_menu.h:42
LibraryMenu::aOpenDeckInDeckEditor
QAction * aOpenDeckInDeckEditor
Definition
library_menu.h:84
LibraryMenu::LibraryMenu
LibraryMenu(Player *player, QWidget *parent=nullptr)
Definition
library_menu.cpp:13
LibraryMenu::revealTopCardMenu
QMenu * revealTopCardMenu() const
Definition
library_menu.h:61
LibraryMenu::aMoveBottomToPlayFaceDown
QAction * aMoveBottomToPlayFaceDown
Definition
library_menu.h:101
LibraryMenu::aMoveTopCardsUntil
QAction * aMoveTopCardsUntil
Definition
library_menu.h:95
LibraryMenu::mLendLibrary
QMenu * mLendLibrary
Definition
library_menu.h:71
LibraryMenu::onLendLibraryTriggered
void onLendLibraryTriggered()
Definition
library_menu.cpp:317
LibraryMenu::aMoveTopCardsToGraveyard
QAction * aMoveTopCardsToGraveyard
Definition
library_menu.h:91
LibraryMenu::setShortcutsInactive
void setShortcutsInactive() override
Unbind keyboard shortcuts. Called when this player loses focus.
Definition
library_menu.cpp:377
LibraryMenu::enableOpenInDeckEditorAction
void enableOpenInDeckEditorAction() const
Definition
library_menu.cpp:84
LibraryMenu::aMoveBottomCardToExile
QAction * aMoveBottomCardToExile
Definition
library_menu.h:104
LibraryMenu::aDrawBottomCard
QAction * aDrawBottomCard
Definition
library_menu.h:98
LibraryMenu::revealLibrary
QMenu * revealLibrary() const
Definition
library_menu.h:53
LibraryMenu::aAlwaysLookAtTopCard
QAction * aAlwaysLookAtTopCard
Definition
library_menu.h:83
LibraryMenu::aMoveTopToPlayFaceDown
QAction * aMoveTopToPlayFaceDown
Definition
library_menu.h:87
LibraryMenu::aMoveBottomCardsToGraveyardFaceDown
QAction * aMoveBottomCardsToGraveyardFaceDown
Definition
library_menu.h:106
PlayerActions
Definition
player_actions.h:35
Player
Definition
player.h:66
TearOffMenu::TearOffMenu
TearOffMenu(const QString &title, QWidget *parent=nullptr)
Definition
tearoff_menu.h:16
tearoff_menu.h
TODO: Document this.
cockatrice
src
game
player
menu
library_menu.h
Generated by
1.14.0