Cockatrice
2026-06-01-Development-3.1.0-beta.3
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
deck_analytics_widget.h
Go to the documentation of this file.
1
6
7
#ifndef DECK_ANALYTICS_WIDGET_H
8
#define DECK_ANALYTICS_WIDGET_H
9
10
#include "
../general/layout_containers/flow_widget.h
"
11
#include "
abstract_analytics_panel_widget.h
"
12
#include "
deck_list_statistics_analyzer.h
"
13
#include "
resizable_panel.h
"
14
15
#include <QCheckBox>
16
#include <QJsonObject>
17
#include <QScrollArea>
18
#include <QVBoxLayout>
19
#include <QVector>
20
#include <QWidget>
21
22
class
LayoutInspector;
23
24
class
DeckAnalyticsWidget
:
public
QWidget
25
{
26
Q_OBJECT
27
28
public
slots:
29
void
updateDisplays
();
30
31
public
:
32
explicit
DeckAnalyticsWidget
(QWidget *parent,
DeckListStatisticsAnalyzer
*analyzer);
33
void
retranslateUi
();
34
void
includeSideboardChanged
(
bool
checked);
35
36
private
slots:
37
void
onAddPanel
();
38
void
onRemoveSelected
();
39
void
onPanelDropped
(
ResizablePanel
*dragged,
ResizablePanel
*target,
bool
insertBefore);
40
void
saveLayout
();
41
void
loadLayout
();
42
void
addDefaultPanels
();
43
bool
loadLayoutInternal
();
44
void
clearPanels
();
45
46
protected
:
47
bool
eventFilter
(QObject *obj, QEvent *event)
override
;
48
void
selectWrapper
(
ResizablePanel
*panel);
49
int
indexOfSelectedWrapper
()
const
;
50
51
private
:
52
void
addPanelInstance
(
const
QString &typeId,
AbstractAnalyticsPanelWidget
*panel,
const
QJsonObject &cfg = {});
53
54
QVBoxLayout *
layout
;
55
FlowWidget
*
controlContainer
;
56
57
QPushButton *
addButton
;
58
QPushButton *
removeButton
;
59
QPushButton *
saveButton
;
60
QPushButton *
loadButton
;
61
62
QCheckBox *
includeSideboardCheckBox
;
63
64
QScrollArea *
scrollArea
;
65
QWidget *
panelContainer
;
66
QVBoxLayout *
panelLayout
;
67
68
QVector<ResizablePanel *>
panelWrappers
;
69
ResizablePanel
*
selectedWrapper
=
nullptr
;
70
71
DeckListStatisticsAnalyzer
*
statsAnalyzer
;
72
LayoutInspector *
insp
=
nullptr
;
73
};
74
75
#endif
// DECK_ANALYTICS_WIDGET_H
abstract_analytics_panel_widget.h
AbstractAnalyticsPanelWidget
Definition
abstract_analytics_panel_widget.h:14
DeckAnalyticsWidget::includeSideboardChanged
void includeSideboardChanged(bool checked)
Definition
deck_analytics_widget.cpp:77
DeckAnalyticsWidget::selectWrapper
void selectWrapper(ResizablePanel *panel)
Definition
deck_analytics_widget.cpp:257
DeckAnalyticsWidget::selectedWrapper
ResizablePanel * selectedWrapper
Definition
deck_analytics_widget.h:69
DeckAnalyticsWidget::insp
LayoutInspector * insp
Definition
deck_analytics_widget.h:72
DeckAnalyticsWidget::panelContainer
QWidget * panelContainer
Definition
deck_analytics_widget.h:65
DeckAnalyticsWidget::indexOfSelectedWrapper
int indexOfSelectedWrapper() const
Definition
deck_analytics_widget.cpp:275
DeckAnalyticsWidget::eventFilter
bool eventFilter(QObject *obj, QEvent *event) override
Definition
deck_analytics_widget.cpp:244
DeckAnalyticsWidget::onAddPanel
void onAddPanel()
Definition
deck_analytics_widget.cpp:88
DeckAnalyticsWidget::controlContainer
FlowWidget * controlContainer
Definition
deck_analytics_widget.h:55
DeckAnalyticsWidget::saveLayout
void saveLayout()
Definition
deck_analytics_widget.cpp:147
DeckAnalyticsWidget::onPanelDropped
void onPanelDropped(ResizablePanel *dragged, ResizablePanel *target, bool insertBefore)
Definition
deck_analytics_widget.cpp:283
DeckAnalyticsWidget::loadLayout
void loadLayout()
Definition
deck_analytics_widget.cpp:163
DeckAnalyticsWidget::includeSideboardCheckBox
QCheckBox * includeSideboardCheckBox
Definition
deck_analytics_widget.h:62
DeckAnalyticsWidget::addButton
QPushButton * addButton
Definition
deck_analytics_widget.h:57
DeckAnalyticsWidget::layout
QVBoxLayout * layout
Definition
deck_analytics_widget.h:54
DeckAnalyticsWidget::scrollArea
QScrollArea * scrollArea
Definition
deck_analytics_widget.h:64
DeckAnalyticsWidget::loadButton
QPushButton * loadButton
Definition
deck_analytics_widget.h:60
DeckAnalyticsWidget::removeButton
QPushButton * removeButton
Definition
deck_analytics_widget.h:58
DeckAnalyticsWidget::loadLayoutInternal
bool loadLayoutInternal()
Definition
deck_analytics_widget.cpp:196
DeckAnalyticsWidget::retranslateUi
void retranslateUi()
Definition
deck_analytics_widget.cpp:68
DeckAnalyticsWidget::addDefaultPanels
void addDefaultPanels()
Definition
deck_analytics_widget.cpp:170
DeckAnalyticsWidget::updateDisplays
void updateDisplays()
Definition
deck_analytics_widget.cpp:83
DeckAnalyticsWidget::saveButton
QPushButton * saveButton
Definition
deck_analytics_widget.h:59
DeckAnalyticsWidget::DeckAnalyticsWidget
DeckAnalyticsWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
Definition
deck_analytics_widget.cpp:20
DeckAnalyticsWidget::clearPanels
void clearPanels()
Definition
deck_analytics_widget.cpp:235
DeckAnalyticsWidget::panelWrappers
QVector< ResizablePanel * > panelWrappers
Definition
deck_analytics_widget.h:68
DeckAnalyticsWidget::onRemoveSelected
void onRemoveSelected()
Definition
deck_analytics_widget.cpp:134
DeckAnalyticsWidget::addPanelInstance
void addPanelInstance(const QString &typeId, AbstractAnalyticsPanelWidget *panel, const QJsonObject &cfg={})
Definition
deck_analytics_widget.cpp:114
DeckAnalyticsWidget::statsAnalyzer
DeckListStatisticsAnalyzer * statsAnalyzer
Definition
deck_analytics_widget.h:71
DeckAnalyticsWidget::panelLayout
QVBoxLayout * panelLayout
Definition
deck_analytics_widget.h:66
DeckListStatisticsAnalyzer
Definition
deck_list_statistics_analyzer.h:24
FlowWidget
Definition
flow_widget.h:22
ResizablePanel
Definition
resizable_panel.h:19
deck_list_statistics_analyzer.h
flow_widget.h
A QWidget that wraps a FlowLayout inside an optional QScrollArea.
resizable_panel.h
cockatrice
src
interface
widgets
deck_analytics
deck_analytics_widget.h
Generated by
1.16.1