Cockatrice
2026-06-27-Development-3.1.0-beta.3
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 "
utility_menu.h
"
19
20
#include <QList>
21
#include <QMenu>
22
#include <QObject>
23
24
class
CardItem
;
25
class
CardMenu
;
26
class
PlayerGraphicsItem
;
27
class
PlayerMenu
:
public
QObject
28
{
29
Q_OBJECT
30
31
signals:
32
void
cardMenuUpdated
(
CardMenu
*cardMenu);
33
void
cardInfoRequested
(
const
CardRef
&cardRef);
34
void
shortcutsActivated
();
35
void
shortcutsDeactivated
();
36
void
retranslateRequested
();
37
38
public
slots:
39
void
setMenusForGraphicItems
();
40
QMenu *
updateCardMenu
(
const
CardItem
*card);
41
42
private
slots:
43
void
refreshShortcuts
();
44
45
public
:
46
explicit
PlayerMenu
(
PlayerGraphicsItem
*
player
);
48
void
retranslateUi
();
49
50
[[nodiscard]] QMenu *
getPlayerMenu
()
const
51
{
52
return
playerMenu
;
53
}
54
55
[[nodiscard]] QMenu *
getCountersMenu
()
56
{
57
return
countersMenu
;
58
}
59
60
[[nodiscard]]
LibraryMenu
*
getLibraryMenu
()
const
61
{
62
return
libraryMenu
;
63
}
64
65
[[nodiscard]]
UtilityMenu
*
getUtilityMenu
()
const
66
{
67
return
utilityMenu
;
68
}
69
70
[[nodiscard]]
bool
getShortcutsActive
()
const
71
{
72
return
shortcutsActive
;
73
}
74
76
void
setShortcutsActive
();
78
void
setShortcutsInactive
();
79
80
private
:
81
PlayerGraphicsItem
*
player
;
82
TearOffMenu
*
playerMenu
;
83
QMenu *
countersMenu
;
84
HandMenu
*
handMenu
;
85
LibraryMenu
*
libraryMenu
;
86
SideboardMenu
*
sideboardMenu
;
87
GraveyardMenu
*
graveMenu
;
88
RfgMenu
*
rfgMenu
;
89
UtilityMenu
*
utilityMenu
;
90
SayMenu
*
sayMenu
;
91
CustomZoneMenu
*
customZonesMenu
;
92
96
QList<AbstractPlayerComponent *>
managedComponents
;
97
bool
shortcutsActive
=
false
;
98
100
template
<
typename
MenuT,
typename
... Args> MenuT *
addManagedMenu
(Args &&...args)
101
{
102
auto
*menu =
new
MenuT(std::forward<Args>(args)...);
103
playerMenu
->addMenu(menu);
104
managedComponents
.append(menu);
105
return
menu;
106
}
107
109
template
<
typename
ComponentT,
typename
... Args> ComponentT *
createManagedComponent
(Args &&...args)
110
{
111
auto
*component =
new
ComponentT(std::forward<Args>(args)...);
112
managedComponents
.append(component);
113
return
component;
114
}
115
};
116
117
#endif
// COCKATRICE_PLAYER_MENU_H
CardItem
Definition
card_item.h:28
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:25
PlayerMenu::countersMenu
QMenu * countersMenu
Definition
player_menu.h:83
PlayerMenu::shortcutsActive
bool shortcutsActive
Definition
player_menu.h:97
PlayerMenu::retranslateRequested
void retranslateRequested()
PlayerMenu::cardMenuUpdated
void cardMenuUpdated(CardMenu *cardMenu)
PlayerMenu::playerMenu
TearOffMenu * playerMenu
Definition
player_menu.h:82
PlayerMenu::customZonesMenu
CustomZoneMenu * customZonesMenu
Definition
player_menu.h:91
PlayerMenu::utilityMenu
UtilityMenu * utilityMenu
Definition
player_menu.h:89
PlayerMenu::handMenu
HandMenu * handMenu
Definition
player_menu.h:84
PlayerMenu::createManagedComponent
ComponentT * createManagedComponent(Args &&...args)
Creates component and registers in managedComponents, but does NOT add it as a submenu.
Definition
player_menu.h:109
PlayerMenu::refreshShortcuts
void refreshShortcuts()
Definition
player_menu.cpp:109
PlayerMenu::shortcutsDeactivated
void shortcutsDeactivated()
PlayerMenu::setMenusForGraphicItems
void setMenusForGraphicItems()
Definition
player_menu.cpp:60
PlayerMenu::player
PlayerGraphicsItem * player
Definition
player_menu.h:81
PlayerMenu::retranslateUi
void retranslateUi()
Retranslate all user-visible strings. Called on language change.
Definition
player_menu.cpp:94
PlayerMenu::updateCardMenu
QMenu * updateCardMenu(const CardItem *card)
Definition
player_menu.cpp:72
PlayerMenu::addManagedMenu
MenuT * addManagedMenu(Args &&...args)
Creates component, adds it as a submenu of playerMenu, and registers in managedComponents.
Definition
player_menu.h:100
PlayerMenu::sideboardMenu
SideboardMenu * sideboardMenu
Definition
player_menu.h:86
PlayerMenu::getCountersMenu
QMenu * getCountersMenu()
Definition
player_menu.h:55
PlayerMenu::shortcutsActivated
void shortcutsActivated()
PlayerMenu::getLibraryMenu
LibraryMenu * getLibraryMenu() const
Definition
player_menu.h:60
PlayerMenu::libraryMenu
LibraryMenu * libraryMenu
Definition
player_menu.h:85
PlayerMenu::setShortcutsInactive
void setShortcutsInactive()
Unbind keyboard shortcuts. Called when this player loses focus.
Definition
player_menu.cpp:133
PlayerMenu::setShortcutsActive
void setShortcutsActive()
Bind keyboard shortcuts. Called when this player gains focus.
Definition
player_menu.cpp:124
PlayerMenu::PlayerMenu
PlayerMenu(PlayerGraphicsItem *player)
Definition
player_menu.cpp:14
PlayerMenu::managedComponents
QList< AbstractPlayerComponent * > managedComponents
Drives AbstractPlayerComponent lifecycle delegation. Counters are iterated separately via player->get...
Definition
player_menu.h:96
PlayerMenu::sayMenu
SayMenu * sayMenu
Definition
player_menu.h:90
PlayerMenu::getShortcutsActive
bool getShortcutsActive() const
Definition
player_menu.h:70
PlayerMenu::cardInfoRequested
void cardInfoRequested(const CardRef &cardRef)
PlayerMenu::rfgMenu
RfgMenu * rfgMenu
Definition
player_menu.h:88
PlayerMenu::graveMenu
GraveyardMenu * graveMenu
Definition
player_menu.h:87
PlayerMenu::getUtilityMenu
UtilityMenu * getUtilityMenu() const
Definition
player_menu.h:65
PlayerMenu::getPlayerMenu
QMenu * getPlayerMenu() const
Definition
player_menu.h:50
RfgMenu
Definition
rfg_menu.h:18
SayMenu
Definition
say_menu.h:16
SideboardMenu
Definition
sideboard_menu.h:16
TearOffMenu
Definition
tearoff_menu.h:14
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
tearoff_menu.h
utility_menu.h
cockatrice
src
game_graphics
player
menu
player_menu.h
Generated by
1.16.1