Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
message_log_widget.h
Go to the documentation of this file.
1
6
7#ifndef MESSAGELOGWIDGET_H
8#define MESSAGELOGWIDGET_H
9
11
12#include <QPair>
13#include <QString>
14#include <qtmetamacros.h>
15#include <sys/types.h>
16
17class AbstractGame;
18class CardItem;
20class PlayerLogic;
22class CardZoneLogic;
23class QWidget;
24class ServerInfo_User;
25class TabSupervisor;
26template <typename T> class QList;
27
29{
30 Q_OBJECT
31private:
38
41
42 static QPair<QString, QString> getFromStr(CardZoneLogic *zone, QString cardName, int position, bool ownerChange);
43
44public:
46 MessageLogWidget(TabSupervisor *_tabSupervisor, AbstractGame *_game, QWidget *parent = nullptr);
47
48public slots:
51 void logAlwaysRevealTopCard(PlayerLogic *player, CardZoneLogic *zone, bool reveal);
52 void logAlwaysLookAtTopCard(PlayerLogic *player, CardZoneLogic *zone, bool reveal);
53 void logAttachCard(PlayerLogic *player, QString cardName, PlayerLogic *targetPlayer, QString targetCardName);
54 void logConcede(int playerId);
55 void logUnconcede(int playerId);
56 void logConnectionStateChanged(PlayerLogic *player, bool connectionState);
57 void logCreateArrow(PlayerLogic *player,
58 PlayerLogic *startPlayer,
59 QString startCard,
60 PlayerLogic *targetPlayer,
61 QString targetCard,
62 bool playerTarget);
63 void logCreateToken(PlayerLogic *player, QString cardName, QString pt, bool faceDown);
64 void logDeckSelect(PlayerLogic *player, QString deckHash, int sideboardSize);
65 void logDestroyCard(PlayerLogic *player, QString cardName);
66 void logDrawCards(PlayerLogic *player, int number, bool deckIsEmpty);
67 void logDumpZone(PlayerLogic *player, CardZoneLogic *zone, int numberCards, bool isReversed = false);
68 void logFlipCard(PlayerLogic *player, QString cardName, bool faceDown);
69 void logGameClosed();
70 void logGameStart();
71 void logGameFlooded();
72 void logJoin(PlayerLogic *player);
73 void logJoinSpectator(QString name);
74 void logKicked();
75 void logLeave(PlayerLogic *player, QString reason);
76 void logLeaveSpectator(QString name, QString reason);
77 void logNotReadyStart(PlayerLogic *player);
78 void logMoveCard(PlayerLogic *player,
79 CardItem *card,
80 CardZoneLogic *startZone,
81 int oldX,
82 CardZoneLogic *targetZone,
83 int newX);
84 void logMulligan(PlayerLogic *player, int number);
85 void logReplayStarted(int gameId);
86 void logReadyStart(PlayerLogic *player);
87 void logRevealCards(PlayerLogic *player,
88 CardZoneLogic *zone,
89 int cardId,
90 QString cardName,
91 PlayerLogic *otherPlayer,
92 bool faceDown,
93 int amount,
94 bool isLentToAnotherPlayer);
95 void logReverseTurn(PlayerLogic *player, bool reversed);
96 void logRollDie(PlayerLogic *player, int sides, const QList<uint> &rolls);
97 void logSay(PlayerLogic *player, QString message);
98 void logSetActivePhase(int phase);
99 void logSetActivePlayer(PlayerLogic *player);
100 void logSetAnnotation(PlayerLogic *player, CardItem *card, QString newAnnotation);
101 void logSetCardCounter(PlayerLogic *player, QString cardName, int counterId, int value, int oldValue);
102 void logSetCounter(PlayerLogic *player, QString counterName, int value, int oldValue);
103 void logSetDoesntUntap(PlayerLogic *player, CardItem *card, bool doesntUntap);
104 void logSetPT(PlayerLogic *player, CardItem *card, QString newPT);
105 void logSetSideboardLock(PlayerLogic *player, bool locked);
106 void logSetTapped(PlayerLogic *player, CardItem *card, bool tapped);
107 void logShuffle(PlayerLogic *player, CardZoneLogic *zone, int start, int end);
108 void logSpectatorSay(const ServerInfo_User &spectator, QString message);
109 void logUnattachCard(PlayerLogic *player, QString cardName);
110 void logUndoDraw(PlayerLogic *player, QString cardName);
111 void logUndoDrawFailed(PlayerLogic *player);
112 void setContextJudgeName(QString player);
113 void appendHtmlServerMessage(const QString &html,
114 bool optionalIsBold = false,
115 QString optionalFontColor = QString()) override;
116
117private:
118 [[nodiscard]] QString getCurrentTime() const override;
119};
120
121#endif
Definition abstract_game.h:23
Definition card_item.h:33
Definition card_zone_logic.h:27
ChatView(TabSupervisor *_tabSupervisor, AbstractGame *_game, bool _showTimestamps, QWidget *parent=nullptr)
Definition chat_view.cpp:57
void logAlwaysRevealTopCard(PlayerLogic *player, CardZoneLogic *zone, bool reveal)
Definition message_log_widget.cpp:135
void logDeckSelect(PlayerLogic *player, QString deckHash, int sideboardSize)
Definition message_log_widget.cpp:266
void logLeaveSpectator(QString name, QString reason)
Definition message_log_widget.cpp:476
void connectToPlayerEventHandler(PlayerEventHandler *player)
Definition message_log_widget.cpp:862
void logRollDie(PlayerLogic *player, int sides, const QList< uint > &rolls)
Definition message_log_widget.cpp:608
void logGameStart()
Definition message_log_widget.cpp:441
QString messageSuffix
Definition message_log_widget.h:40
void logCreateToken(PlayerLogic *player, QString cardName, QString pt, bool faceDown)
Definition message_log_widget.cpp:253
void logUnattachCard(PlayerLogic *player, QString cardName)
Definition message_log_widget.cpp:818
void logShuffle(PlayerLogic *player, CardZoneLogic *zone, int start, int end)
Definition message_log_widget.cpp:781
void logGameFlooded()
Definition message_log_widget.cpp:446
void logCreateArrow(PlayerLogic *player, PlayerLogic *startPlayer, QString startCard, PlayerLogic *targetPlayer, QString targetCard, bool playerTarget)
Definition message_log_widget.cpp:194
void logSetSideboardLock(PlayerLogic *player, bool locked)
Definition message_log_widget.cpp:747
void logDrawCards(PlayerLogic *player, int number, bool deckIsEmpty)
Definition message_log_widget.cpp:392
void logUndoDraw(PlayerLogic *player, QString cardName)
Definition message_log_widget.cpp:825
void logAlwaysLookAtTopCard(PlayerLogic *player, CardZoneLogic *zone, bool reveal)
Definition message_log_widget.cpp:143
void logReverseTurn(PlayerLogic *player, bool reversed)
Definition message_log_widget.cpp:601
void logSpectatorSay(const ServerInfo_User &spectator, QString message)
Definition message_log_widget.cpp:813
void logSay(PlayerLogic *player, QString message)
Definition message_log_widget.cpp:645
void logSetTapped(PlayerLogic *player, CardItem *card, bool tapped)
Definition message_log_widget.cpp:758
MessageLogWidget(TabSupervisor *_tabSupervisor, AbstractGame *_game, QWidget *parent=nullptr)
Definition message_log_widget.cpp:891
void logJoinSpectator(QString name)
Definition message_log_widget.cpp:457
QString getCurrentTime() const override
Definition message_log_widget.cpp:854
void logNotReadyStart(PlayerLogic *player)
Definition message_log_widget.cpp:483
void logDumpZone(PlayerLogic *player, CardZoneLogic *zone, int numberCards, bool isReversed=false)
Definition message_log_widget.cpp:409
static QPair< QString, QString > getFromStr(CardZoneLogic *zone, QString cardName, int position, bool ownerChange)
Definition message_log_widget.cpp:54
void logSetActivePlayer(PlayerLogic *player)
Definition message_log_widget.cpp:659
void logSetAnnotation(PlayerLogic *player, CardItem *card, QString newAnnotation)
Definition message_log_widget.cpp:665
void appendHtmlServerMessage(const QString &html, bool optionalIsBold=false, QString optionalFontColor=QString()) override
Definition message_log_widget.cpp:848
void logLeave(PlayerLogic *player, QString reason)
Definition message_log_widget.cpp:468
void logSetCardCounter(PlayerLogic *player, QString cardName, int counterId, int value, int oldValue)
Definition message_log_widget.cpp:674
void logUndoDrawFailed(PlayerLogic *player)
Definition message_log_widget.cpp:836
void logSetDoesntUntap(PlayerLogic *player, CardItem *card, bool doesntUntap)
Definition message_log_widget.cpp:709
MessageContext
Definition message_log_widget.h:33
@ MessageContext_None
Definition message_log_widget.h:34
@ MessageContext_Mulligan
Definition message_log_widget.h:36
@ MessageContext_MoveCard
Definition message_log_widget.h:35
void logReplayStarted(int gameId)
Definition message_log_widget.cpp:504
void logGameClosed()
Definition message_log_widget.cpp:436
void logDestroyCard(PlayerLogic *player, QString cardName)
Definition message_log_widget.cpp:279
void setContextJudgeName(QString player)
Definition message_log_widget.cpp:842
void logAttachCard(PlayerLogic *player, QString cardName, PlayerLogic *targetPlayer, QString targetCardName)
Definition message_log_widget.cpp:151
void logMoveCard(PlayerLogic *player, CardItem *card, CardZoneLogic *startZone, int oldX, CardZoneLogic *targetZone, int newX)
Definition message_log_widget.cpp:285
void logConnectionStateChanged(PlayerLogic *player, bool connectionState)
Definition message_log_widget.cpp:181
void logFlipCard(PlayerLogic *player, QString cardName, bool faceDown)
Definition message_log_widget.cpp:425
void logConcede(int playerId)
Definition message_log_widget.cpp:163
void logSetCounter(PlayerLogic *player, QString counterName, int value, int oldValue)
Definition message_log_widget.cpp:694
void logKicked()
Definition message_log_widget.cpp:463
void logSetPT(PlayerLogic *player, CardItem *card, QString newPT)
Definition message_log_widget.cpp:720
void logMulligan(PlayerLogic *player, int number)
Definition message_log_widget.cpp:489
void logJoin(PlayerLogic *player)
Definition message_log_widget.cpp:451
void containerProcessingDone()
Definition message_log_widget.cpp:120
void containerProcessingStarted(const GameEventContext &context)
Definition message_log_widget.cpp:126
void logUnconcede(int playerId)
Definition message_log_widget.cpp:172
MessageContext currentContext
Definition message_log_widget.h:39
QString messagePrefix
Definition message_log_widget.h:40
void logSetActivePhase(int phase)
Definition message_log_widget.cpp:650
void logRevealCards(PlayerLogic *player, CardZoneLogic *zone, int cardId, QString cardName, PlayerLogic *otherPlayer, bool faceDown, int amount, bool isLentToAnotherPlayer)
Definition message_log_widget.cpp:514
void logReadyStart(PlayerLogic *player)
Definition message_log_widget.cpp:509
Applies player-specific game events and emits corresponding log signals.
Definition player_event_handler.h:70
Definition player_logic.h:56
Definition remote_connection_controller.h:20
Definition tab_supervisor.h:92
Definition game_event_context.proto:2
Definition serverinfo_user.proto:2