Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform 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 "player.h"
11
12#include <QIcon>
13#include <QMap>
14#include <QStyledItemDelegate>
15#include <QTreeWidget>
16
17class ServerInfo_PlayerProperties;
18class TabSupervisor;
19class AbstractClient;
20class AbstractGame;
21class UserContextMenu;
22
23class PlayerListItemDelegate : public QStyledItemDelegate
24{
25public:
26 explicit PlayerListItemDelegate(QObject *parent);
27 bool editorEvent(QEvent *event,
28 QAbstractItemModel *model,
29 const QStyleOptionViewItem &option,
30 const QModelIndex &index) override;
31};
32
33class PlayerListTWI : public QTreeWidgetItem
34{
35public:
37 bool operator<(const QTreeWidgetItem &other) const override;
38};
39
40class PlayerListWidget : public QTreeWidget
41{
42 Q_OBJECT
43private:
45 QMap<int, QTreeWidgetItem *> players;
52signals:
53 void openMessageDialog(const QString &userName, bool focus);
54
55public:
56 PlayerListWidget(TabSupervisor *_tabSupervisor,
57 AbstractClient *_client,
58 AbstractGame *_game,
59 QWidget *parent = nullptr);
60 void retranslateUi();
61 void setActivePlayer(int playerId);
62 void setGameStarted(bool _gameStarted, bool resuming);
63 void showContextMenu(const QPoint &pos, const QModelIndex &index);
64
65public slots:
66 void addPlayer(const ServerInfo_PlayerProperties &player);
67 void removePlayer(int playerId);
68 void updatePlayerProperties(const ServerInfo_PlayerProperties &prop, int playerId = -1);
69};
70
71#endif
Definition abstract_client.h:51
Definition abstract_game.h:21
Definition player_list_widget.h:24
bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index) override
Definition player_list_widget.cpp:20
PlayerListItemDelegate(QObject *parent)
Definition player_list_widget.cpp:16
PlayerListTWI()
Definition player_list_widget.cpp:39
bool operator<(const QTreeWidgetItem &other) const override
Definition player_list_widget.cpp:43
void openMessageDialog(const QString &userName, bool focus)
QIcon spectatorIcon
Definition player_list_widget.h:50
void addPlayer(const ServerInfo_PlayerProperties &player)
Definition player_list_widget.cpp:96
UserContextMenu * userContextMenu
Definition player_list_widget.h:49
void removePlayer(int playerId)
Definition player_list_widget.cpp:163
AbstractGame * game
Definition player_list_widget.h:48
PlayerListWidget(TabSupervisor *_tabSupervisor, AbstractClient *_client, AbstractGame *_game, QWidget *parent=nullptr)
Definition player_list_widget.cpp:53
QMap< int, QTreeWidgetItem * > players
Definition player_list_widget.h:45
PlayerListItemDelegate * itemDelegate
Definition player_list_widget.h:44
void retranslateUi()
Definition player_list_widget.cpp:92
QIcon lockIcon
Definition player_list_widget.h:50
void setActivePlayer(int playerId)
Definition player_list_widget.cpp:172
QIcon readyIcon
Definition player_list_widget.h:50
void setGameStarted(bool _gameStarted, bool resuming)
Definition player_list_widget.cpp:188
bool gameStarted
Definition player_list_widget.h:51
void showContextMenu(const QPoint &pos, const QModelIndex &index)
Definition player_list_widget.cpp:212
AbstractClient * client
Definition player_list_widget.h:47
QIcon notReadyIcon
Definition player_list_widget.h:50
QIcon playerIcon
Definition player_list_widget.h:50
TabSupervisor * tabSupervisor
Definition player_list_widget.h:46
QIcon judgeIcon
Definition player_list_widget.h:50
void updatePlayerProperties(const ServerInfo_PlayerProperties &prop, int playerId=-1)
Definition player_list_widget.cpp:107
QIcon concededIcon
Definition player_list_widget.h:50
Definition tab_supervisor.h:83
Definition user_context_menu.h:26
TODO: Document this.