Cockatrice 2026-06-01-Development-3.1.0-beta.3
A 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);
49 virtual void onCardAdded(CardItem *addedCard);
50
51public:
52 enum
53 {
55 };
56 int type() const override
57 {
58 return Type;
59 }
60 virtual void
61 handleDropEvent(const QList<CardDragItem *> &dragItem, CardZoneLogic *startZone, const QPoint &dropPoint) = 0;
62 CardZone(CardZoneLogic *logic, QGraphicsItem *parent = nullptr);
63 void retranslateUi();
64
66 {
67 return logic;
68 }
69
70 void setMenu(QMenu *_menu, QAction *_doubleClickAction = 0)
71 {
72 menu = _menu;
73 doubleClickAction = _doubleClickAction;
74 }
75
76private:
78};
79
80#endif
Q_LOGGING_CATEGORY(CardZoneLog, "card_zone")
AbstractGraphicsItem(QGraphicsItem *parent=nullptr)
Definition abstract_graphics_item.h:23
Definition card_item.h:28
Definition card_zone_logic.h:26
CardZone(CardZoneLogic *logic, QGraphicsItem *parent=nullptr)
Definition card_zone.cpp:9
CardZoneLogic * logic
Definition card_zone.h:77
virtual QPointF closestGridPoint(const QPointF &point)
Definition card_zone.cpp:62
CardZoneLogic * getLogic() const
Definition card_zone.h:65
virtual void reorganizeCards()=0
QAction * doubleClickAction
Definition card_zone.h:30
void setMenu(QMenu *_menu, QAction *_doubleClickAction=0)
Definition card_zone.h:70
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override
Definition card_zone.cpp:33
bool showContextMenu(const QPoint &screenPos)
Definition card_zone.cpp:40
void mousePressEvent(QGraphicsSceneMouseEvent *event) override
Definition card_zone.cpp:49
virtual void onCardAdded(CardItem *addedCard)
Called when a card is added to this zone. Default: reparents card to this item.
Definition card_zone.cpp:19
virtual void handleDropEvent(const QList< CardDragItem * > &dragItem, CardZoneLogic *startZone, const QPoint &dropPoint)=0
@ Type
Definition card_zone.h:54
void retranslateUi()
Definition card_zone.cpp:26
QMenu * menu
Definition card_zone.h:29
int type() const override
Definition card_zone.h:56
QMenu * getMenu() const
Definition card_zone.h:37
@ typeZone
Definition graphics_item_type.h:16