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