Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
view_zone_widget.h
Go to the documentation of this file.
1
6
7#ifndef ZONEVIEWWIDGET_H
8#define ZONEVIEWWIDGET_H
9
11
12#include <QCheckBox>
13#include <QComboBox>
14#include <QGraphicsProxyWidget>
15#include <QGraphicsWidget>
16#include <QLineEdit>
18
19class QLabel;
20class QPushButton;
21class CardZone;
22class ZoneViewZone;
23class Player;
24class CardDatabase;
25class QScrollBar;
26class GameScene;
27class ServerInfo_Card;
28class QGraphicsSceneMouseEvent;
29class QGraphicsSceneWheelEvent;
30class QStyleOption;
31
32class ScrollableGraphicsProxyWidget : public QGraphicsProxyWidget
33{
34 Q_OBJECT
35public slots:
36 void recieveWheelEvent(QGraphicsSceneWheelEvent *event)
37 {
38 wheelEvent(event);
39 }
40};
41
48class ZoneViewWidget : public QGraphicsWidget
49{
50 Q_OBJECT
51private:
53 QGraphicsWidget *zoneContainer;
54
55 QPushButton *closeButton;
56 QScrollBar *scrollBar;
58
59 QLineEdit searchEdit;
60 QComboBox groupBySelector;
61 QComboBox sortBySelector;
62 QCheckBox shuffleCheckBox;
64
68
69 void resizeScrollbar(qreal newZoneHeight);
70signals:
72private slots:
73 void processGroupBy(int value);
74 void processSortBy(int value);
76 void resizeToZoneContents(bool forceInitialHeight = false);
77 void handleScrollBarChange(int value);
78 void zoneDeleted();
79 void moveEvent(QGraphicsSceneMoveEvent * /* event */) override;
80 void resizeEvent(QGraphicsSceneResizeEvent * /* event */) override;
81 void expandWindow();
82
83public:
84 ZoneViewWidget(Player *_player,
85 CardZoneLogic *_origZone,
86 int numberCards = 0,
87 bool _revealZone = false,
88 bool _writeableRevealZone = false,
89 const QList<const ServerInfo_Card *> &cardList = QList<const ServerInfo_Card *>(),
90 bool _isReversed = false);
92 {
93 return zone;
94 }
96 {
97 return player;
98 }
99 void retranslateUi();
100
101protected:
102 void closeEvent(QCloseEvent *event) override;
103 void initStyleOption(QStyleOption *option) const override;
104 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override;
105};
106
107#endif
TODO: Document this.
Core in-memory container for card and set data.
Definition card_database.h:29
Definition card_zone_logic.h:26
Definition card_zone.h:26
Manages the game board display including players, zones, cards, and animations.
Definition game_scene.h:38
Definition player.h:65
Definition view_zone_widget.h:33
void recieveWheelEvent(QGraphicsSceneWheelEvent *event)
Definition view_zone_widget.h:36
void zoneDeleted()
Definition view_zone_widget.cpp:362
void initStyleOption(QStyleOption *option) const override
Definition view_zone_widget.cpp:368
QCheckBox pileViewCheckBox
Definition view_zone_widget.h:63
QScrollBar * scrollBar
Definition view_zone_widget.h:56
void processSortBy(int value)
Definition view_zone_widget.cpp:192
QGraphicsWidget * zoneContainer
Definition view_zone_widget.h:53
void retranslateUi()
Definition view_zone_widget.cpp:213
void processSetPileView(QT_STATE_CHANGED_T value)
Definition view_zone_widget.cpp:207
void processGroupBy(int value)
Definition view_zone_widget.cpp:176
Player * getPlayer() const
Definition view_zone_widget.h:95
void resizeEvent(QGraphicsSceneResizeEvent *) override
Definition view_zone_widget.cpp:273
void resizeToZoneContents(bool forceInitialHeight=false)
Definition view_zone_widget.cpp:321
Player * player
Definition view_zone_widget.h:67
void closePressed(ZoneViewWidget *zv)
QPushButton * closeButton
Definition view_zone_widget.h:55
QCheckBox shuffleCheckBox
Definition view_zone_widget.h:62
ScrollableGraphicsProxyWidget * scrollBarProxy
Definition view_zone_widget.h:57
ZoneViewZone * zone
Definition view_zone_widget.h:52
void expandWindow()
Definition view_zone_widget.cpp:379
QComboBox sortBySelector
Definition view_zone_widget.h:61
void handleScrollBarChange(int value)
Definition view_zone_widget.cpp:346
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override
Definition view_zone_widget.cpp:404
ZoneViewWidget(Player *_player, CardZoneLogic *_origZone, int numberCards=0, bool _revealZone=false, bool _writeableRevealZone=false, const QList< const ServerInfo_Card * > &cardList=QList< const ServerInfo_Card * >(), bool _isReversed=false)
Definition view_zone_widget.cpp:31
QLineEdit searchEdit
Definition view_zone_widget.h:59
void moveEvent(QGraphicsSceneMoveEvent *) override
Definition view_zone_widget.cpp:244
void closeEvent(QCloseEvent *event) override
Definition view_zone_widget.cpp:351
QComboBox groupBySelector
Definition view_zone_widget.h:60
int extraHeight
Definition view_zone_widget.h:66
bool canBeShuffled
Definition view_zone_widget.h:65
void resizeScrollbar(qreal newZoneHeight)
Definition view_zone_widget.cpp:279
ZoneViewZone * getZone() const
Definition view_zone_widget.h:91
Definition view_zone.h:35
#define QT_STATE_CHANGED_T
Definition macros.h:11