Cockatrice
2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Toggle main menu visibility
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
4
#include "
visual_deck_editor_widget.h
"
5
6
#include <QList>
7
#include <QString>
8
#include <QStringList>
9
#include <QWidget>
10
#include <qtmetamacros.h>
11
12
class
CompactPushButton
;
13
class
QComboBox;
14
class
QHBoxLayout;
15
class
QLabel;
16
class
QListWidget;
17
class
SettingsButtonWidget
;
18
33
class
VisualDeckDisplayOptionsWidget
:
public
QWidget
34
{
35
Q_OBJECT
36
signals:
41
void
displayTypeChanged
(
const
DisplayType
&displayType);
42
47
void
groupCriteriaChanged
(
const
QString &
activeGroupCriteria
);
48
53
void
sortCriteriaChanged
(
const
QStringList &
activeSortCriteria
);
54
55
public
slots:
61
void
retranslateUi
();
62
void
updateCompactMode
(
bool
mode);
63
int
expandedWidth
()
const
;
64
int
compactWidth
()
const
;
65
66
public
:
71
explicit
VisualDeckDisplayOptionsWidget
(QWidget *parent);
72
76
DisplayType
getDisplayType
()
const
77
{
78
return
currentDisplayType
;
79
}
80
84
QString
getActiveGroupCriteria
()
const
85
{
86
return
activeGroupCriteria
;
87
}
88
92
QStringList
getActiveSortCriteria
()
const
93
{
94
return
activeSortCriteria
;
95
}
96
97
private
slots:
103
void
onSortCriteriaChange
();
104
110
void
updateDisplayType
();
111
112
private
:
114
QHBoxLayout *
groupAndSortLayout
;
115
117
DisplayType
currentDisplayType
=
DisplayType::Overlap
;
118
120
CompactPushButton
*
displayTypeButton
;
121
123
QLabel *
groupByLabel
;
124
126
QComboBox *
groupByComboBox
;
127
129
QString
activeGroupCriteria
=
"maintype"
;
130
132
SettingsButtonWidget
*
sortCriteriaButton
;
133
135
QLabel *
sortByLabel
;
136
138
QLabel *
sortLabel
;
139
141
QListWidget *
sortByListWidget
;
142
144
QStringList
activeSortCriteria
= {
"name"
,
"cmc"
,
"colors"
,
"maintype"
};
145
};
146
147
#endif
// COCKATRICE_VISUAL_DECK_DISPLAY_OPTIONS_WIDGET_H
CompactPushButton
Definition
compact_push_button.h:12
SettingsButtonWidget
Definition
settings_button_widget.h:21
VisualDeckDisplayOptionsWidget::groupAndSortLayout
QHBoxLayout * groupAndSortLayout
Layout for grouping and sorting UI elements.
Definition
visual_deck_display_options_widget.h:114
VisualDeckDisplayOptionsWidget::sortCriteriaButton
SettingsButtonWidget * sortCriteriaButton
Encapsulates the sort settings widgets (label + list).
Definition
visual_deck_display_options_widget.h:132
VisualDeckDisplayOptionsWidget::displayTypeButton
CompactPushButton * displayTypeButton
Button used to toggle the display layout.
Definition
visual_deck_display_options_widget.h:120
VisualDeckDisplayOptionsWidget::currentDisplayType
DisplayType currentDisplayType
Current deck display type.
Definition
visual_deck_display_options_widget.h:117
VisualDeckDisplayOptionsWidget::updateCompactMode
void updateCompactMode(bool mode)
Definition
visual_deck_display_options_widget.cpp:149
VisualDeckDisplayOptionsWidget::retranslateUi
void retranslateUi()
Updates all UI text for retranslation/localization.
Definition
visual_deck_display_options_widget.cpp:106
VisualDeckDisplayOptionsWidget::getActiveGroupCriteria
QString getActiveGroupCriteria() const
Gets the currently active group-by criterion.
Definition
visual_deck_display_options_widget.h:84
VisualDeckDisplayOptionsWidget::sortLabel
QLabel * sortLabel
Descriptive label inside the sort criteria button.
Definition
visual_deck_display_options_widget.h:138
VisualDeckDisplayOptionsWidget::sortByLabel
QLabel * sortByLabel
Label for "Sort by".
Definition
visual_deck_display_options_widget.h:135
VisualDeckDisplayOptionsWidget::groupCriteriaChanged
void groupCriteriaChanged(const QString &activeGroupCriteria)
Emitted when a new grouping criterion is selected.
VisualDeckDisplayOptionsWidget::displayTypeChanged
void displayTypeChanged(const DisplayType &displayType)
Emitted when the display type (flat or overlapping layout) changes.
VisualDeckDisplayOptionsWidget::activeGroupCriteria
QString activeGroupCriteria
Currently active group-by criterion.
Definition
visual_deck_display_options_widget.h:129
VisualDeckDisplayOptionsWidget::getActiveSortCriteria
QStringList getActiveSortCriteria() const
Gets the currently active ordered sort criteria.
Definition
visual_deck_display_options_widget.h:92
VisualDeckDisplayOptionsWidget::compactWidth
int compactWidth() const
Definition
visual_deck_display_options_widget.cpp:161
VisualDeckDisplayOptionsWidget::groupByComboBox
QComboBox * groupByComboBox
Combo box listing group-by criteria.
Definition
visual_deck_display_options_widget.h:126
VisualDeckDisplayOptionsWidget::VisualDeckDisplayOptionsWidget
VisualDeckDisplayOptionsWidget(QWidget *parent)
Constructs a new VisualDeckDisplayOptionsWidget.
Definition
visual_deck_display_options_widget.cpp:26
VisualDeckDisplayOptionsWidget::expandedWidth
int expandedWidth() const
Definition
visual_deck_display_options_widget.cpp:154
VisualDeckDisplayOptionsWidget::sortByListWidget
QListWidget * sortByListWidget
Draggable list of sort criteria.
Definition
visual_deck_display_options_widget.h:141
VisualDeckDisplayOptionsWidget::getDisplayType
DisplayType getDisplayType() const
Gets the current display type (Overlap or Flat).
Definition
visual_deck_display_options_widget.h:76
VisualDeckDisplayOptionsWidget::updateDisplayType
void updateDisplayType()
Toggles the display layout between flat and overlapping modes.
Definition
visual_deck_display_options_widget.cpp:130
VisualDeckDisplayOptionsWidget::activeSortCriteria
QStringList activeSortCriteria
Ordered list of current sort criteria.
Definition
visual_deck_display_options_widget.h:144
VisualDeckDisplayOptionsWidget::sortCriteriaChanged
void sortCriteriaChanged(const QStringList &activeSortCriteria)
Emitted when the order of sort criteria changes.
VisualDeckDisplayOptionsWidget::onSortCriteriaChange
void onSortCriteriaChange()
Slot triggered whenever the sort list is reordered.
Definition
visual_deck_display_options_widget.cpp:119
VisualDeckDisplayOptionsWidget::groupByLabel
QLabel * groupByLabel
Label for the group-by selector.
Definition
visual_deck_display_options_widget.h:123
visual_deck_editor_widget.h
DisplayType
DisplayType
Definition
visual_deck_editor_widget.h:40
DisplayType::Overlap
@ Overlap
Definition
visual_deck_editor_widget.h:42
cockatrice
src
interface
widgets
visual_deck_editor
visual_deck_display_options_widget.h
Generated by
1.18.0