Cockatrice 2026-01-14-Development-2.11.0-beta.46
A cross-platform 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
15#include "card_size_widget.h"
16
17#include <QVBoxLayout>
18#include <QWidget>
20
21class DeckCardZoneDisplayWidget : public QWidget
22{
23 Q_OBJECT
24
25public:
26 DeckCardZoneDisplayWidget(QWidget *parent,
28 QItemSelectionModel *selectionModel,
29 QPersistentModelIndex trackedIndex,
30 QString zoneName,
31 QString activeGroupCriteria,
32 QStringList activeSortCriteria,
34 int bannerOpacity,
36 CardSizeWidget *_cardSizeWidget);
37 void onSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
39 QItemSelectionModel *selectionModel;
40 QPersistentModelIndex trackedIndex;
41 QString zoneName;
43
44public slots:
45 void onClick(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *card);
46 void onHover(const ExactCard &card);
48 void constructAppropriateWidget(QPersistentModelIndex index);
49 void displayCards();
53 QList<QString> getGroupCriteriaValueList();
54 void onCategoryAddition(const QModelIndex &parent, int first, int last);
55 void onCategoryRemoval(const QModelIndex &parent, int first, int last);
56
57signals:
58 void cardClicked(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *card, QString zoneName);
59 void cardHovered(const ExactCard &card);
62
63private:
65 QStringList activeSortCriteria;
67 int bannerOpacity = 20;
70 QVBoxLayout *layout;
73 QVBoxLayout *cardGroupLayout;
75 QHash<QPersistentModelIndex, QWidget *> indexToWidgetMap;
76};
77
78#endif // DECK_CARD_ZONE_DISPLAY_WIDGET_H
TODO: Document this.
TODO: Document this.
TODO: Document this.
Definition banner_widget.h:17
Definition card_group_display_widget.h:21
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
int subBannerOpacity
Definition deck_card_zone_display_widget.h:68
void cardHovered(const ExactCard &card)
void onCategoryRemoval(const QModelIndex &parent, int first, int last)
Definition deck_card_zone_display_widget.cpp:205
void onHover(const ExactCard &card)
Definition deck_card_zone_display_widget.cpp:59
QVBoxLayout * layout
Definition deck_card_zone_display_widget.h:70
CardSizeWidget * cardSizeWidget
Definition deck_card_zone_display_widget.h:69
QVBoxLayout * cardGroupLayout
Definition deck_card_zone_display_widget.h:73
QHash< QPersistentModelIndex, QWidget * > indexToWidgetMap
Definition deck_card_zone_display_widget.h:75
void cleanupInvalidCardGroup(CardGroupDisplayWidget *displayWidget)
Definition deck_card_zone_display_widget.cpp:174
void constructAppropriateWidget(QPersistentModelIndex index)
Definition deck_card_zone_display_widget.cpp:91
QStringList activeSortCriteria
Definition deck_card_zone_display_widget.h:65
QList< QString > getGroupCriteriaValueList()
Definition deck_card_zone_display_widget.cpp:234
void displayCards()
Definition deck_card_zone_display_widget.cpp:127
QString activeGroupCriteria
Definition deck_card_zone_display_widget.h:64
void requestCleanup(DeckCardZoneDisplayWidget *displayWidget)
QWidget * cardGroupContainer
Definition deck_card_zone_display_widget.h:72
void onClick(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *card)
Definition deck_card_zone_display_widget.cpp:54
void onCategoryAddition(const QModelIndex &parent, int first, int last)
Definition deck_card_zone_display_widget.cpp:190
void onActiveGroupCriteriaChanged(QString activeGroupCriteria)
Definition deck_card_zone_display_widget.cpp:222
void onSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Definition deck_card_zone_display_widget.cpp:64
QPersistentModelIndex trackedIndex
Definition deck_card_zone_display_widget.h:40
QString zoneName
Definition deck_card_zone_display_widget.h:41
DisplayType displayType
Definition deck_card_zone_display_widget.h:66
void refreshDisplayType(const DisplayType &displayType)
Definition deck_card_zone_display_widget.cpp:151
QItemSelectionModel * selectionModel
Definition deck_card_zone_display_widget.h:39
void cardClicked(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *card, QString zoneName)
OverlapWidget * overlapWidget
Definition deck_card_zone_display_widget.h:74
void activeSortCriteriaChanged(QStringList activeSortCriteria)
void onActiveSortCriteriaChanged(QStringList activeSortCriteria)
Definition deck_card_zone_display_widget.cpp:228
BannerWidget * banner
Definition deck_card_zone_display_widget.h:71
DeckListModel * deckListModel
Definition deck_card_zone_display_widget.h:38
int bannerOpacity
Definition deck_card_zone_display_widget.h:67
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:10
Qt model representing a decklist for use in views (tree/table).
Definition deck_list_model.h:214
Represents a specific card instance, defined by its CardInfo and a particular printing.
Definition exact_card.h:19
A widget for managing overlapping child widgets.
Definition overlap_widget.h:15
TODO: Document this.
TODO: Document this.
DisplayType
Definition visual_deck_editor_widget.h:30
@ Overlap
Definition visual_deck_editor_widget.h:32