Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
player_list_widget.h
Go to the documentation of this file.
1
6
7#ifndef PLAYERLISTWIDGET_H
8#define PLAYERLISTWIDGET_H
9
10#include <QIcon>
11#include <QMap>
12#include <QString>
13#include <QStyledItemDelegate>
14#include <QTreeWidget>
15#include <QTreeWidgetItem>
16#include <qtmetamacros.h>
17
19class TabSupervisor;
20class AbstractClient;
21class AbstractGame;
22class UserContextMenu;
23class QModelIndex;
24class QObject;
25class QPoint;
26class QWidget;
27
28class PlayerListItemDelegate : public QStyledItemDelegate
29{
30public:
31 explicit PlayerListItemDelegate(QObject *parent);
32 bool editorEvent(QEvent *event,
33 QAbstractItemModel *model,
34 const QStyleOptionViewItem &option,
35 const QModelIndex &index) override;
36};
37
38class PlayerListTWI : public QTreeWidgetItem
39{
40public:
42 bool operator<(const QTreeWidgetItem &other) const override;
43};
44
45class PlayerListWidget : public QTreeWidget
46{
47 Q_OBJECT
48private:
57signals:
58 void openMessageDialog(const QString &userName, bool focus);
59
60public:
61 PlayerListWidget(TabSupervisor *_tabSupervisor,
62 AbstractClient *_client,
63 AbstractGame *_game,
64 QWidget *parent = nullptr);
65 void retranslateUi();
66 void setActivePlayer(int playerId);
67 void setGameStarted(bool _gameStarted, bool resuming);
68 void showContextMenu(const QPoint &pos, const QModelIndex &index);
69
70public slots:
71 void addPlayer(const ServerInfo_PlayerProperties &player);
72 void removePlayer(int playerId);
73 void updatePlayerProperties(const ServerInfo_PlayerProperties &prop, int playerId = -1);
74 void clearSpectators();
75};
76
77#endif
Definition abstract_client.h:73
Definition abstract_game.h:23
Definition player_list_widget.h:29
bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index) override
Definition player_list_widget.cpp:34
PlayerListItemDelegate(QObject *parent)
Definition player_list_widget.cpp:30
PlayerListTWI()
Definition player_list_widget.cpp:49
bool operator<(const QTreeWidgetItem &other) const override
Definition player_list_widget.cpp:53
void openMessageDialog(const QString &userName, bool focus)
QIcon spectatorIcon
Definition player_list_widget.h:55
void addPlayer(const ServerInfo_PlayerProperties &player)
Definition player_list_widget.cpp:107
UserContextMenu * userContextMenu
Definition player_list_widget.h:54
void removePlayer(int playerId)
Definition player_list_widget.cpp:188
AbstractGame * game
Definition player_list_widget.h:53
PlayerListWidget(TabSupervisor *_tabSupervisor, AbstractClient *_client, AbstractGame *_game, QWidget *parent=nullptr)
Definition player_list_widget.cpp:64
QMap< int, QTreeWidgetItem * > players
Definition player_list_widget.h:50
void clearSpectators()
Definition player_list_widget.cpp:198
PlayerListItemDelegate * itemDelegate
Definition player_list_widget.h:49
void retranslateUi()
Definition player_list_widget.cpp:103
QIcon lockIcon
Definition player_list_widget.h:55
void setActivePlayer(int playerId)
Definition player_list_widget.cpp:209
QIcon readyIcon
Definition player_list_widget.h:55
void setGameStarted(bool _gameStarted, bool resuming)
Definition player_list_widget.cpp:225
bool gameStarted
Definition player_list_widget.h:56
void showContextMenu(const QPoint &pos, const QModelIndex &index)
Definition player_list_widget.cpp:250
AbstractClient * client
Definition player_list_widget.h:52
QIcon notReadyIcon
Definition player_list_widget.h:55
QIcon playerIcon
Definition player_list_widget.h:55
TabSupervisor * tabSupervisor
Definition player_list_widget.h:51
QIcon judgeIcon
Definition player_list_widget.h:55
void updatePlayerProperties(const ServerInfo_PlayerProperties &prop, int playerId=-1)
Definition player_list_widget.cpp:123
QIcon concededIcon
Definition player_list_widget.h:55
Definition game.h:18
Definition tab_supervisor.h:92
Definition user_context_menu.h:32
Definition serverinfo_playerproperties.proto:3