Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
card_zone.h
Go to the documentation of this file.
1
6
7#ifndef CARDZONE_H
8#define CARDZONE_H
9
13
14#include <QLoggingCategory>
15#include <QString>
16
17inline Q_LOGGING_CATEGORY(CardZoneLog, "card_zone");
18
26{
27 Q_OBJECT
28protected:
29 QMenu *menu;
31
32 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override;
33 void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
34 virtual void reorganizeCards() = 0;
35 virtual QPointF closestGridPoint(const QPointF &point);
36
37 QMenu *getMenu() const
38 {
39 return menu;
40 }
41public slots:
42 bool showContextMenu(const QPoint &screenPos);
43 void onCardAdded(CardItem *addedCard);
44
45public:
46 enum
47 {
49 };
50 int type() const override
51 {
52 return Type;
53 }
54 virtual void
55 handleDropEvent(const QList<CardDragItem *> &dragItem, CardZoneLogic *startZone, const QPoint &dropPoint) = 0;
56 CardZone(CardZoneLogic *logic, QGraphicsItem *parent = nullptr);
57 void retranslateUi();
58
60 {
61 return logic;
62 }
63
64 void setMenu(QMenu *_menu, QAction *_doubleClickAction = 0)
65 {
66 menu = _menu;
67 doubleClickAction = _doubleClickAction;
68 }
69
70private:
72};
73
74#endif
TODO: Document this.
Q_LOGGING_CATEGORY(CardZoneLog, "card_zone")
TODO: Document this.
AbstractGraphicsItem(QGraphicsItem *parent=nullptr)
Definition abstract_graphics_item.h:23
Definition card_item.h:29
Definition card_zone_logic.h:26
CardZone(CardZoneLogic *logic, QGraphicsItem *parent=nullptr)
Definition card_zone.cpp:9
CardZoneLogic * logic
Definition card_zone.h:71
virtual QPointF closestGridPoint(const QPointF &point)
Definition card_zone.cpp:57
CardZoneLogic * getLogic() const
Definition card_zone.h:59
virtual void reorganizeCards()=0
QAction * doubleClickAction
Definition card_zone.h:30
void setMenu(QMenu *_menu, QAction *_doubleClickAction=0)
Definition card_zone.h:64
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override
Definition card_zone.cpp:31
bool showContextMenu(const QPoint &screenPos)
Definition card_zone.cpp:37
void mousePressEvent(QGraphicsSceneMouseEvent *event) override
Definition card_zone.cpp:46
void onCardAdded(CardItem *addedCard)
Definition card_zone.cpp:19
virtual void handleDropEvent(const QList< CardDragItem * > &dragItem, CardZoneLogic *startZone, const QPoint &dropPoint)=0
void retranslateUi()
Definition card_zone.cpp:25
@ Type
Definition card_zone.h:48
QMenu * menu
Definition card_zone.h:29
int type() const override
Definition card_zone.h:50
QMenu * getMenu() const
Definition card_zone.h:37
TODO: Document this.
@ typeZone
Definition graphics_item_type.h:16