Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
visual_deck_display_options_widget.h
Go to the documentation of this file.
1#ifndef COCKATRICE_VISUAL_DECK_DISPLAY_OPTIONS_WIDGET_H
2#define COCKATRICE_VISUAL_DECK_DISPLAY_OPTIONS_WIDGET_H
3
5
6#include <QComboBox>
7#include <QHBoxLayout>
8#include <QLabel>
9#include <QListWidget>
10#include <QPushButton>
11#include <QWidget>
12
27class VisualDeckDisplayOptionsWidget : public QWidget
28{
29 Q_OBJECT
30signals:
35 void displayTypeChanged(const DisplayType &displayType);
36
42
47 void sortCriteriaChanged(const QStringList &activeSortCriteria);
48
49public slots:
55 void retranslateUi();
56
57public:
62 explicit VisualDeckDisplayOptionsWidget(QWidget *parent);
63
68 {
69 return currentDisplayType;
70 }
71
75 QString getActiveGroupCriteria() const
76 {
78 }
79
83 QStringList getActiveSortCriteria() const
84 {
85 return activeSortCriteria;
86 }
87
88private slots:
95
101 void updateDisplayType();
102
103private:
105 QHBoxLayout *groupAndSortLayout;
106
109
111 QPushButton *displayTypeButton;
112
115
117 QComboBox *groupByComboBox;
118
120 QString activeGroupCriteria = "maintype";
121
124
126 QLabel *sortByLabel;
127
129 QLabel *sortLabel;
130
132 QListWidget *sortByListWidget;
133
135 QStringList activeSortCriteria = {"name", "cmc", "colors", "maintype"};
136};
137
138#endif // COCKATRICE_VISUAL_DECK_DISPLAY_OPTIONS_WIDGET_H
Definition settings_button_widget.h:17
QHBoxLayout * groupAndSortLayout
Layout for grouping and sorting UI elements.
Definition visual_deck_display_options_widget.h:105
SettingsButtonWidget * sortCriteriaButton
Encapsulates the sort settings widgets (label + list).
Definition visual_deck_display_options_widget.h:123
DisplayType currentDisplayType
Current deck display type.
Definition visual_deck_display_options_widget.h:108
void retranslateUi()
Updates all UI text for retranslation/localization.
Definition visual_deck_display_options_widget.cpp:86
QString getActiveGroupCriteria() const
Gets the currently active group-by criterion.
Definition visual_deck_display_options_widget.h:75
QPushButton * displayTypeButton
Button used to toggle the display layout.
Definition visual_deck_display_options_widget.h:111
QLabel * sortLabel
Descriptive label inside the sort criteria button.
Definition visual_deck_display_options_widget.h:129
QLabel * sortByLabel
Label for “Sort by”.
Definition visual_deck_display_options_widget.h:126
void groupCriteriaChanged(const QString &activeGroupCriteria)
Emitted when a new grouping criterion is selected.
void displayTypeChanged(const DisplayType &displayType)
Emitted when the display type (flat or overlapping layout) changes.
QString activeGroupCriteria
Currently active group-by criterion.
Definition visual_deck_display_options_widget.h:120
QStringList getActiveSortCriteria() const
Gets the currently active ordered sort criteria.
Definition visual_deck_display_options_widget.h:83
QComboBox * groupByComboBox
Combo box listing group-by criteria.
Definition visual_deck_display_options_widget.h:117
VisualDeckDisplayOptionsWidget(QWidget *parent)
Constructs a new VisualDeckDisplayOptionsWidget.
Definition visual_deck_display_options_widget.cpp:5
QListWidget * sortByListWidget
Draggable list of sort criteria.
Definition visual_deck_display_options_widget.h:132
DisplayType getDisplayType() const
Gets the current display type (Overlap or Flat).
Definition visual_deck_display_options_widget.h:67
void updateDisplayType()
Toggles the display layout between flat and overlapping modes.
Definition visual_deck_display_options_widget.cpp:109
QStringList activeSortCriteria
Ordered list of current sort criteria.
Definition visual_deck_display_options_widget.h:135
void sortCriteriaChanged(const QStringList &activeSortCriteria)
Emitted when the order of sort criteria changes.
void onSortCriteriaChange()
Slot triggered whenever the sort list is reordered.
Definition visual_deck_display_options_widget.cpp:98
QLabel * groupByLabel
Label for the group-by selector.
Definition visual_deck_display_options_widget.h:114
TODO: Document this.
DisplayType
Definition visual_deck_editor_widget.h:29
@ Overlap
Definition visual_deck_editor_widget.h:31