Cockatrice
2026-01-14-Development-2.11.0-beta.46
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
abstract_analytics_panel_widget.h
Go to the documentation of this file.
1
#ifndef COCKATRICE_DECK_ANALYTICS_WIDGET_BASE_H
2
#define COCKATRICE_DECK_ANALYTICS_WIDGET_BASE_H
3
4
#include "
../general/display/banner_widget.h
"
5
6
#include <QDialog>
7
#include <QJsonObject>
8
#include <QVBoxLayout>
9
#include <QWidget>
10
11
class
DeckListStatisticsAnalyzer
;
12
13
class
AbstractAnalyticsPanelWidget
:
public
QWidget
14
{
15
Q_OBJECT
16
public
slots:
17
virtual
void
updateDisplay
() = 0;
18
// Widgets must return a config dialog
19
virtual
QDialog *
createConfigDialog
(QWidget *parent) = 0;
20
21
public
:
22
explicit
AbstractAnalyticsPanelWidget
(QWidget *parent,
DeckListStatisticsAnalyzer
*
analyzer
);
23
24
void
setDisplayTitle
(
const
QString &title)
25
{
26
displayTitle
= title;
27
if
(
bannerWidget
) {
28
bannerWidget
->setText(
displayTitle
);
29
}
30
}
31
32
QString
displayTitleText
()
const
33
{
34
return
displayTitle
;
35
}
36
37
virtual
QJsonObject
saveConfig
()
const
38
{
39
return
{};
40
}
41
virtual
void
loadConfig
(
const
QJsonObject &)
42
{
43
}
44
45
// Unified helper to run config dialog and update widget
46
bool
applyConfigFromDialog
();
47
48
// Dialog → JSON must be supplied by each subclass
49
virtual
QJsonObject
extractConfigFromDialog
(QDialog *dlg)
const
= 0;
50
51
protected
:
52
DeckListStatisticsAnalyzer
*
analyzer
;
53
QVBoxLayout *
layout
;
54
QWidget *
bannerAndSettingsContainer
;
55
QHBoxLayout *
bannerAndSettingsLayout
;
56
QString
displayTitle
;
57
BannerWidget
*
bannerWidget
;
58
QPushButton *
configureButton
;
59
};
60
61
#endif
// COCKATRICE_DECK_ANALYTICS_WIDGET_BASE_H
banner_widget.h
TODO: Document this.
AbstractAnalyticsPanelWidget::createConfigDialog
virtual QDialog * createConfigDialog(QWidget *parent)=0
AbstractAnalyticsPanelWidget::setDisplayTitle
void setDisplayTitle(const QString &title)
Definition
abstract_analytics_panel_widget.h:24
AbstractAnalyticsPanelWidget::analyzer
DeckListStatisticsAnalyzer * analyzer
Definition
abstract_analytics_panel_widget.h:52
AbstractAnalyticsPanelWidget::extractConfigFromDialog
virtual QJsonObject extractConfigFromDialog(QDialog *dlg) const =0
AbstractAnalyticsPanelWidget::layout
QVBoxLayout * layout
Definition
abstract_analytics_panel_widget.h:53
AbstractAnalyticsPanelWidget::applyConfigFromDialog
bool applyConfigFromDialog()
Definition
abstract_analytics_panel_widget.cpp:33
AbstractAnalyticsPanelWidget::configureButton
QPushButton * configureButton
Definition
abstract_analytics_panel_widget.h:58
AbstractAnalyticsPanelWidget::saveConfig
virtual QJsonObject saveConfig() const
Definition
abstract_analytics_panel_widget.h:37
AbstractAnalyticsPanelWidget::displayTitle
QString displayTitle
Definition
abstract_analytics_panel_widget.h:56
AbstractAnalyticsPanelWidget::loadConfig
virtual void loadConfig(const QJsonObject &)
Definition
abstract_analytics_panel_widget.h:41
AbstractAnalyticsPanelWidget::AbstractAnalyticsPanelWidget
AbstractAnalyticsPanelWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
Definition
abstract_analytics_panel_widget.cpp:7
AbstractAnalyticsPanelWidget::bannerAndSettingsContainer
QWidget * bannerAndSettingsContainer
Definition
abstract_analytics_panel_widget.h:54
AbstractAnalyticsPanelWidget::bannerWidget
BannerWidget * bannerWidget
Definition
abstract_analytics_panel_widget.h:57
AbstractAnalyticsPanelWidget::displayTitleText
QString displayTitleText() const
Definition
abstract_analytics_panel_widget.h:32
AbstractAnalyticsPanelWidget::updateDisplay
virtual void updateDisplay()=0
AbstractAnalyticsPanelWidget::bannerAndSettingsLayout
QHBoxLayout * bannerAndSettingsLayout
Definition
abstract_analytics_panel_widget.h:55
BannerWidget
Definition
banner_widget.h:17
DeckListStatisticsAnalyzer
Definition
deck_list_statistics_analyzer.h:23
cockatrice
src
interface
widgets
deck_analytics
abstract_analytics_panel_widget.h
Generated by
1.14.0