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
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 <QJsonObject>
7
#include <QString>
8
#include <QWidget>
9
#include <qtmetamacros.h>
10
11
class
DeckListStatisticsAnalyzer
;
12
class
QDialog;
13
class
QHBoxLayout;
14
class
QPushButton;
15
class
QVBoxLayout;
16
17
class
AbstractAnalyticsPanelWidget
:
public
QWidget
18
{
19
Q_OBJECT
20
public
slots:
21
virtual
void
updateDisplay
() = 0;
22
// Widgets must return a config dialog
23
virtual
QDialog *
createConfigDialog
(QWidget *parent) = 0;
24
25
public
:
26
explicit
AbstractAnalyticsPanelWidget
(QWidget *parent,
DeckListStatisticsAnalyzer
*
analyzer
);
27
28
void
setDisplayTitle
(
const
QString &title)
29
{
30
displayTitle
= title;
31
if
(
bannerWidget
) {
32
bannerWidget
->
setText
(
displayTitle
);
33
}
34
}
35
36
QString
displayTitleText
()
const
37
{
38
return
displayTitle
;
39
}
40
41
virtual
QJsonObject
saveConfig
()
const
42
{
43
return
{};
44
}
45
virtual
void
loadConfig
(
const
QJsonObject &)
46
{
47
}
48
49
// Unified helper to run config dialog and update widget
50
bool
applyConfigFromDialog
();
51
52
// Dialog → JSON must be supplied by each subclass
53
virtual
QJsonObject
extractConfigFromDialog
(QDialog *dlg)
const
= 0;
54
55
protected
:
56
DeckListStatisticsAnalyzer
*
analyzer
;
57
QVBoxLayout *
layout
;
58
QWidget *
bannerAndSettingsContainer
;
59
QHBoxLayout *
bannerAndSettingsLayout
;
60
QString
displayTitle
;
61
BannerWidget
*
bannerWidget
;
62
QPushButton *
configureButton
;
63
};
64
65
#endif
// COCKATRICE_DECK_ANALYTICS_WIDGET_BASE_H
banner_widget.h
AbstractAnalyticsPanelWidget::createConfigDialog
virtual QDialog * createConfigDialog(QWidget *parent)=0
AbstractAnalyticsPanelWidget::setDisplayTitle
void setDisplayTitle(const QString &title)
Definition
abstract_analytics_panel_widget.h:28
AbstractAnalyticsPanelWidget::analyzer
DeckListStatisticsAnalyzer * analyzer
Definition
abstract_analytics_panel_widget.h:56
AbstractAnalyticsPanelWidget::extractConfigFromDialog
virtual QJsonObject extractConfigFromDialog(QDialog *dlg) const =0
AbstractAnalyticsPanelWidget::layout
QVBoxLayout * layout
Definition
abstract_analytics_panel_widget.h:57
AbstractAnalyticsPanelWidget::applyConfigFromDialog
bool applyConfigFromDialog()
Definition
abstract_analytics_panel_widget.cpp:41
AbstractAnalyticsPanelWidget::configureButton
QPushButton * configureButton
Definition
abstract_analytics_panel_widget.h:62
AbstractAnalyticsPanelWidget::saveConfig
virtual QJsonObject saveConfig() const
Definition
abstract_analytics_panel_widget.h:41
AbstractAnalyticsPanelWidget::displayTitle
QString displayTitle
Definition
abstract_analytics_panel_widget.h:60
AbstractAnalyticsPanelWidget::loadConfig
virtual void loadConfig(const QJsonObject &)
Definition
abstract_analytics_panel_widget.h:45
AbstractAnalyticsPanelWidget::AbstractAnalyticsPanelWidget
AbstractAnalyticsPanelWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
Definition
abstract_analytics_panel_widget.cpp:15
AbstractAnalyticsPanelWidget::bannerAndSettingsContainer
QWidget * bannerAndSettingsContainer
Definition
abstract_analytics_panel_widget.h:58
AbstractAnalyticsPanelWidget::bannerWidget
BannerWidget * bannerWidget
Definition
abstract_analytics_panel_widget.h:61
AbstractAnalyticsPanelWidget::displayTitleText
QString displayTitleText() const
Definition
abstract_analytics_panel_widget.h:36
AbstractAnalyticsPanelWidget::updateDisplay
virtual void updateDisplay()=0
AbstractAnalyticsPanelWidget::bannerAndSettingsLayout
QHBoxLayout * bannerAndSettingsLayout
Definition
abstract_analytics_panel_widget.h:59
BannerWidget
Definition
banner_widget.h:19
BannerWidget::setText
void setText(const QString &text) const
Definition
banner_widget.cpp:54
DeckListStatisticsAnalyzer
Definition
deck_list_statistics_analyzer.h:26
cockatrice
src
interface
widgets
deck_analytics
abstract_analytics_panel_widget.h
Generated by
1.18.0