Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
card_group_display_widget.h
Go to the documentation of this file.
1
6
7#ifndef CARD_GROUP_DISPLAY_WIDGET_H
8#define CARD_GROUP_DISPLAY_WIDGET_H
9
12#include "../card_size_widget.h"
13
14#include <QItemSelectionModel>
15#include <QLabel>
16#include <QVBoxLayout>
17#include <QWidget>
19
20class CardGroupDisplayWidget : public QWidget
21{
22 Q_OBJECT
23
24public:
25 CardGroupDisplayWidget(QWidget *parent,
27 QItemSelectionModel *selectionModel,
28 QPersistentModelIndex trackedIndex,
29 QString zoneName,
30 QString cardGroupCategory,
31 QString activeGroupCriteria,
32 QStringList activeSortCriteria,
33 int bannerOpacity,
35 void onSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
37
39 QItemSelectionModel *selectionModel;
40 QPersistentModelIndex trackedIndex;
41 QHash<QPersistentModelIndex, QWidget *> indexToWidgetMap;
42 QString zoneName;
45 QStringList activeSortCriteria;
47
48public slots:
49 void mousePressEvent(QMouseEvent *event) override;
50 void onClick(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *card);
51 void onHover(const ExactCard &card);
52 virtual QWidget *constructWidgetForIndex(QPersistentModelIndex index);
53 virtual void updateCardDisplays();
54 virtual void onCardAddition(const QModelIndex &parent, int first, int last);
55 virtual void onCardRemoval(const QModelIndex &parent, int first, int last);
57 void resizeEvent(QResizeEvent *event) override;
58
59signals:
60 void cardClicked(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *card);
61 void cardHovered(const ExactCard &card);
62 void cleanupRequested(CardGroupDisplayWidget *cardGroupDisplayWidget);
63
64protected:
65 QVBoxLayout *layout;
67
68 virtual QWidget *getLayoutParent()
69 {
70 return this;
71 }
72
73 virtual void addToLayout(QWidget *toAdd)
74 {
75 layout->addWidget(toAdd);
76 }
77
78 virtual void insertIntoLayout(QWidget *toInsert, int insertAt)
79 {
80 layout->insertWidget(insertAt, toInsert);
81 }
82
83 virtual void removeFromLayout(QWidget *toRemove)
84 {
85 layout->removeWidget(toRemove);
86 }
87};
88#endif // CARD_GROUP_DISPLAY_WIDGET_H
TODO: Document this.
TODO: Document this.
Definition banner_widget.h:17
QItemSelectionModel * selectionModel
Definition card_group_display_widget.h:39
virtual void onCardAddition(const QModelIndex &parent, int first, int last)
Definition card_group_display_widget.cpp:136
QHash< QPersistentModelIndex, QWidget * > indexToWidgetMap
Definition card_group_display_widget.h:41
virtual void addToLayout(QWidget *toAdd)
Definition card_group_display_widget.h:73
QString activeGroupCriteria
Definition card_group_display_widget.h:44
QVBoxLayout * layout
Definition card_group_display_widget.h:65
void onActiveSortCriteriaChanged(QStringList activeSortCriteria)
Definition card_group_display_widget.cpp:174
CardSizeWidget * cardSizeWidget
Definition card_group_display_widget.h:46
virtual QWidget * getLayoutParent()
Definition card_group_display_widget.h:68
CardGroupDisplayWidget(QWidget *parent, DeckListModel *deckListModel, QItemSelectionModel *selectionModel, QPersistentModelIndex trackedIndex, QString zoneName, QString cardGroupCategory, QString activeGroupCriteria, QStringList activeSortCriteria, int bannerOpacity, CardSizeWidget *cardSizeWidget)
Definition card_group_display_widget.cpp:10
void onSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Definition card_group_display_widget.cpp:42
void cardClicked(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *card)
virtual void insertIntoLayout(QWidget *toInsert, int insertAt)
Definition card_group_display_widget.h:78
void cardHovered(const ExactCard &card)
QPersistentModelIndex trackedIndex
Definition card_group_display_widget.h:40
void clearAllDisplayWidgets()
Definition card_group_display_widget.cpp:79
void cleanupRequested(CardGroupDisplayWidget *cardGroupDisplayWidget)
void mousePressEvent(QMouseEvent *event) override
Definition card_group_display_widget.cpp:182
QStringList activeSortCriteria
Definition card_group_display_widget.h:45
virtual void onCardRemoval(const QModelIndex &parent, int first, int last)
Definition card_group_display_widget.cpp:155
virtual void removeFromLayout(QWidget *toRemove)
Definition card_group_display_widget.h:83
QString cardGroupCategory
Definition card_group_display_widget.h:43
DeckListModel * deckListModel
Definition card_group_display_widget.h:38
void onClick(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *card)
Definition card_group_display_widget.cpp:190
void resizeEvent(QResizeEvent *event) override
Definition card_group_display_widget.cpp:200
virtual QWidget * constructWidgetForIndex(QPersistentModelIndex index)
Definition card_group_display_widget.cpp:89
virtual void updateCardDisplays()
Definition card_group_display_widget.cpp:109
BannerWidget * banner
Definition card_group_display_widget.h:66
void onHover(const ExactCard &card)
Definition card_group_display_widget.cpp:195
QString zoneName
Definition card_group_display_widget.h:42
Definition card_info_picture_with_text_overlay_widget.h:18
A widget for adjusting card sizes using a slider.
Definition card_size_widget.h:21
Qt model representing a decklist for use in views (tree/table).
Definition deck_list_model.h:200
Represents a specific card instance, defined by its CardInfo and a particular printing.
Definition exact_card.h:19