Cockatrice
2026-09-01-Development-3.1.0-beta.10
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
player_menu.h
Go to the documentation of this file.
1
6
7
#ifndef COCKATRICE_PLAYER_MENU_H
8
#define COCKATRICE_PLAYER_MENU_H
9
10
#include "
../../../interface/widgets/menus/tearoff_menu.h
"
11
#include "
custom_zone_menu.h
"
12
#include "
grave_menu.h
"
13
#include "
hand_menu.h
"
14
#include "
library_menu.h
"
15
#include "
rfg_menu.h
"
16
#include "
say_menu.h
"
17
#include "
sideboard_menu.h
"
18
#include "
tally_menu.h
"
19
#include "
utility_menu.h
"
20
21
#include <QList>
22
#include <QMenu>
23
#include <QObject>
24
#include <
libcockatrice/utility/card_ref.h
>
25
26
class
CardItem
;
27
class
CardMenu
;
28
class
PlayerGraphicsItem
;
29
class
PlayerMenu
:
public
QObject
30
{
31
Q_OBJECT
32
33
signals:
34
void
cardMenuUpdated
(
CardMenu
*cardMenu);
35
void
cardInfoRequested
(
const
CardRef
&cardRef);
36
void
shortcutsActivated
();
37
void
shortcutsDeactivated
();
38
void
retranslateRequested
();
39
40
public
slots:
41
void
setMenusForGraphicItems
();
42
QMenu *
updateCardMenu
(
const
CardItem
*card);
43
44
private
slots:
45
void
refreshShortcuts
();
46
47
public
:
48
explicit
PlayerMenu
(
PlayerGraphicsItem
*
player
);
50
void
retranslateUi
();
51
52
[[nodiscard]] QMenu *
getPlayerMenu
()
const
53
{
54
return
playerMenu
;
55
}
56
57
[[nodiscard]] QMenu *
getCountersMenu
()
58
{
59
return
countersMenu
;
60
}
61
62
[[nodiscard]]
LibraryMenu
*
getLibraryMenu
()
const
63
{
64
return
libraryMenu
;
65
}
66
67
[[nodiscard]]
UtilityMenu
*
getUtilityMenu
()
const
68
{
69
return
utilityMenu
;
70
}
71
72
[[nodiscard]]
bool
getShortcutsActive
()
const
73
{
74
return
shortcutsActive
;
75
}
76
78
void
setShortcutsActive
();
80
void
setShortcutsInactive
();
81
82
private
:
83
PlayerGraphicsItem
*
player
;
84
TearOffMenu
*
playerMenu
;
85
QMenu *
countersMenu
;
86
HandMenu
*
handMenu
;
87
LibraryMenu
*
libraryMenu
;
88
SideboardMenu
*
sideboardMenu
;
89
GraveyardMenu
*
graveMenu
;
90
RfgMenu
*
rfgMenu
;
91
UtilityMenu
*
utilityMenu
;
92
TallyMenu
*
tallyMenu
;
93
SayMenu
*
sayMenu
;
94
CustomZoneMenu
*
customZonesMenu
;
95
99
QList<AbstractPlayerComponent *>
managedComponents
;
100
bool
shortcutsActive
=
false
;
101
103
template
<
typename
MenuT,
typename
... Args> MenuT *
addManagedMenu
(Args &&...args)
104
{
105
auto
*menu =
new
MenuT(std::forward<Args>(args)...);
106
playerMenu
->addMenu(menu);
107
managedComponents
.append(menu);
108
return
menu;
109
}
110
112
template
<
typename
ComponentT,
typename
... Args> ComponentT *
createManagedComponent
(Args &&...args)
113
{
114
auto
*component =
new
ComponentT(std::forward<Args>(args)...);
115
managedComponents
.append(component);
116
return
component;
117
}
118
};
119
120
#endif
// COCKATRICE_PLAYER_MENU_H
card_ref.h
CardItem
Definition
card_item.h:27
CardMenu
Definition
card_menu.h:17
CustomZoneMenu
Definition
custom_zone_menu.h:16
GraveyardMenu
Definition
grave_menu.h:18
HandMenu
Definition
hand_menu.h:20
LibraryMenu
Definition
library_menu.h:21
PlayerGraphicsItem
Definition
player_graphics_item.h:26
PlayerMenu::countersMenu
QMenu * countersMenu
Definition
player_menu.h:85
PlayerMenu::shortcutsActive
bool shortcutsActive
Definition
player_menu.h:100
PlayerMenu::retranslateRequested
void retranslateRequested()
PlayerMenu::cardMenuUpdated
void cardMenuUpdated(CardMenu *cardMenu)
PlayerMenu::playerMenu
TearOffMenu * playerMenu
Definition
player_menu.h:84
PlayerMenu::customZonesMenu
CustomZoneMenu * customZonesMenu
Definition
player_menu.h:94
PlayerMenu::utilityMenu
UtilityMenu * utilityMenu
Definition
player_menu.h:91
PlayerMenu::handMenu
HandMenu * handMenu
Definition
player_menu.h:86
PlayerMenu::createManagedComponent
ComponentT * createManagedComponent(Args &&...args)
Creates component and registers in managedComponents, but does NOT add it as a submenu.
Definition
player_menu.h:112
PlayerMenu::refreshShortcuts
void refreshShortcuts()
Definition
player_menu.cpp:112
PlayerMenu::shortcutsDeactivated
void shortcutsDeactivated()
PlayerMenu::tallyMenu
TallyMenu * tallyMenu
Definition
player_menu.h:92
PlayerMenu::setMenusForGraphicItems
void setMenusForGraphicItems()
Definition
player_menu.cpp:63
PlayerMenu::player
PlayerGraphicsItem * player
Definition
player_menu.h:83
PlayerMenu::retranslateUi
void retranslateUi()
Retranslate all user-visible strings. Called on language change.
Definition
player_menu.cpp:97
PlayerMenu::updateCardMenu
QMenu * updateCardMenu(const CardItem *card)
Definition
player_menu.cpp:75
PlayerMenu::addManagedMenu
MenuT * addManagedMenu(Args &&...args)
Creates component, adds it as a submenu of playerMenu, and registers in managedComponents.
Definition
player_menu.h:103
PlayerMenu::sideboardMenu
SideboardMenu * sideboardMenu
Definition
player_menu.h:88
PlayerMenu::getCountersMenu
QMenu * getCountersMenu()
Definition
player_menu.h:57
PlayerMenu::shortcutsActivated
void shortcutsActivated()
PlayerMenu::getLibraryMenu
LibraryMenu * getLibraryMenu() const
Definition
player_menu.h:62
PlayerMenu::libraryMenu
LibraryMenu * libraryMenu
Definition
player_menu.h:87
PlayerMenu::setShortcutsInactive
void setShortcutsInactive()
Unbind keyboard shortcuts. Called when this player loses focus.
Definition
player_menu.cpp:136
PlayerMenu::setShortcutsActive
void setShortcutsActive()
Bind keyboard shortcuts. Called when this player gains focus.
Definition
player_menu.cpp:127
PlayerMenu::PlayerMenu
PlayerMenu(PlayerGraphicsItem *player)
Definition
player_menu.cpp:15
PlayerMenu::managedComponents
QList< AbstractPlayerComponent * > managedComponents
Drives AbstractPlayerComponent lifecycle delegation. Counters are iterated separately via player->get...
Definition
player_menu.h:99
PlayerMenu::sayMenu
SayMenu * sayMenu
Definition
player_menu.h:93
PlayerMenu::getShortcutsActive
bool getShortcutsActive() const
Definition
player_menu.h:72
PlayerMenu::cardInfoRequested
void cardInfoRequested(const CardRef &cardRef)
PlayerMenu::rfgMenu
RfgMenu * rfgMenu
Definition
player_menu.h:90
PlayerMenu::graveMenu
GraveyardMenu * graveMenu
Definition
player_menu.h:89
PlayerMenu::getUtilityMenu
UtilityMenu * getUtilityMenu() const
Definition
player_menu.h:67
PlayerMenu::getPlayerMenu
QMenu * getPlayerMenu() const
Definition
player_menu.h:52
RfgMenu
Definition
rfg_menu.h:18
SayMenu
Definition
say_menu.h:16
SideboardMenu
Definition
sideboard_menu.h:16
TallyMenu
Definition
tally_menu.h:11
TearOffMenu
Definition
tearoff_menu.h:15
UtilityMenu
Definition
utility_menu.h:17
custom_zone_menu.h
grave_menu.h
hand_menu.h
library_menu.h
rfg_menu.h
say_menu.h
sideboard_menu.h
CardRef
Definition
card_ref.h:14
tally_menu.h
tearoff_menu.h
utility_menu.h
cockatrice
src
game_graphics
player
menu
player_menu.h
Generated by
1.16.1