Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
deck_card_zone_display_widget.h
Go to the documentation of this file.
1
6
7#ifndef DECK_CARD_ZONE_DISPLAY_WIDGET_H
8#define DECK_CARD_ZONE_DISPLAY_WIDGET_H
9
11
12#include <QHash>
13#include <QList>
14#include <QMouseEvent>
15#include <QPersistentModelIndex>
16#include <QString>
17#include <QStringList>
18#include <QWidget>
19#include <qtmetamacros.h>
20
21class BannerWidget;
23class CardSizeWidget;
24class DeckListModel;
25class ExactCard;
26class OverlapWidget;
27class QItemSelection;
28class QItemSelectionModel;
29class QModelIndex;
30class QVBoxLayout;
31
32class DeckCardZoneDisplayWidget : public QWidget
33{
34 Q_OBJECT
35
36public:
37 DeckCardZoneDisplayWidget(QWidget *parent,
39 QItemSelectionModel *selectionModel,
40 QPersistentModelIndex trackedIndex,
41 QString zoneName,
42 QString activeGroupCriteria,
43 QStringList activeSortCriteria,
45 int bannerOpacity,
47 CardSizeWidget *_cardSizeWidget);
48 void onSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
50 QItemSelectionModel *selectionModel;
51 QPersistentModelIndex trackedIndex;
52 QString zoneName;
54
55public slots:
56 void onHover(const ExactCard &card);
58 void constructAppropriateWidget(QPersistentModelIndex index);
59 void displayCards();
64 void onCategoryAddition(const QModelIndex &parent, int first, int last);
65 void onCategoryRemoval(const QModelIndex &parent, int first, int last);
67
68signals:
69 void cardClicked(QMouseEvent *event, const ExactCard &card, const QString &zoneName);
70 void cardHovered(const ExactCard &card);
73
74private:
76 QStringList activeSortCriteria;
78 int bannerOpacity = 20;
81 QVBoxLayout *layout;
84 QVBoxLayout *cardGroupLayout;
87};
88
89#endif // DECK_CARD_ZONE_DISPLAY_WIDGET_H
Definition banner_widget.h:19
Definition card_group_display_widget.h:30
A widget for adjusting card sizes using a slider.
Definition card_size_widget.h:23
int subBannerOpacity
Definition deck_card_zone_display_widget.h:79
void cardHovered(const ExactCard &card)
void cardClicked(QMouseEvent *event, const ExactCard &card, const QString &zoneName)
void onCategoryRemoval(const QModelIndex &parent, int first, int last)
Definition deck_card_zone_display_widget.cpp:233
void onHover(const ExactCard &card)
Definition deck_card_zone_display_widget.cpp:87
QVBoxLayout * layout
Definition deck_card_zone_display_widget.h:81
CardSizeWidget * cardSizeWidget
Definition deck_card_zone_display_widget.h:80
QVBoxLayout * cardGroupLayout
Definition deck_card_zone_display_widget.h:84
QHash< QPersistentModelIndex, QWidget * > indexToWidgetMap
Definition deck_card_zone_display_widget.h:86
void cleanupInvalidCardGroup(CardGroupDisplayWidget *displayWidget)
Definition deck_card_zone_display_widget.cpp:202
void constructAppropriateWidget(QPersistentModelIndex index)
Definition deck_card_zone_display_widget.cpp:119
QStringList activeSortCriteria
Definition deck_card_zone_display_widget.h:76
QList< QString > getGroupCriteriaValueList()
Definition deck_card_zone_display_widget.cpp:262
void displayCards()
Definition deck_card_zone_display_widget.cpp:161
QString activeGroupCriteria
Definition deck_card_zone_display_widget.h:75
void requestCleanup(DeckCardZoneDisplayWidget *displayWidget)
QWidget * cardGroupContainer
Definition deck_card_zone_display_widget.h:83
void onCategoryAddition(const QModelIndex &parent, int first, int last)
Definition deck_card_zone_display_widget.cpp:218
void onActiveGroupCriteriaChanged(QString activeGroupCriteria)
Definition deck_card_zone_display_widget.cpp:250
void onSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Definition deck_card_zone_display_widget.cpp:92
QPersistentModelIndex trackedIndex
Definition deck_card_zone_display_widget.h:51
QString zoneName
Definition deck_card_zone_display_widget.h:52
DisplayType displayType
Definition deck_card_zone_display_widget.h:77
void refreshDisplayType(const DisplayType &displayType)
Definition deck_card_zone_display_widget.cpp:179
QItemSelectionModel * selectionModel
Definition deck_card_zone_display_widget.h:50
OverlapWidget * overlapWidget
Definition deck_card_zone_display_widget.h:85
void activeSortCriteriaChanged(QStringList activeSortCriteria)
void updateZoneCardCount()
Definition deck_card_zone_display_widget.cpp:281
void onActiveSortCriteriaChanged(QStringList activeSortCriteria)
Definition deck_card_zone_display_widget.cpp:256
BannerWidget * banner
Definition deck_card_zone_display_widget.h:82
DeckListModel * deckListModel
Definition deck_card_zone_display_widget.h:49
int bannerOpacity
Definition deck_card_zone_display_widget.h:78
DeckCardZoneDisplayWidget(QWidget *parent, DeckListModel *deckListModel, QItemSelectionModel *selectionModel, QPersistentModelIndex trackedIndex, QString zoneName, QString activeGroupCriteria, QStringList activeSortCriteria, DisplayType displayType, int bannerOpacity, int subBannerOpacity, CardSizeWidget *_cardSizeWidget)
Definition deck_card_zone_display_widget.cpp:37
Qt model representing a decklist for use in views (tree/table).
Definition deck_list_model.h:228
Represents a specific card instance, defined by its CardInfo and a particular printing.
Definition exact_card.h:24
A widget for managing overlapping child widgets.
Definition overlap_widget.h:18
Definition mana_curve_category_widget.h:11
Definition remote_connection_controller.h:20
DisplayType
Definition visual_deck_editor_widget.h:40
@ Overlap
Definition visual_deck_editor_widget.h:42