Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
analytics_panel_widget_factory.h
Go to the documentation of this file.
1#ifndef COCKATRICE_DECK_ANALYTICS_WIDGET_FACTORY_H
2#define COCKATRICE_DECK_ANALYTICS_WIDGET_FACTORY_H
3
4#include <QList>
5#include <QMap>
6#include <QString>
7#include <QWidget>
8#include <functional>
9
12
14{
15public:
16 using Creator = std::function<AbstractAnalyticsPanelWidget *(QWidget *, DeckListStatisticsAnalyzer *)>;
17
19 {
20 QString type; // stable ID ("manaProdDevotion")
21 QString title; // translated, user-facing
23 };
24
26
27 // NEW: richer registration
28 void registerWidget(const Descriptor &desc);
29
31 create(const QString &type, QWidget *parent, DeckListStatisticsAnalyzer *analyzer) const;
32
33 // NEW: expose widgets to UI
35
36private:
37 AnalyticsPanelWidgetFactory() = default; // Ensure private constructor
40
42};
43
44#endif
Definition abstract_analytics_panel_widget.h:18
void registerWidget(const Descriptor &desc)
Definition analytics_panel_widget_factory.cpp:13
QMap< QString, Descriptor > widgets
Definition analytics_panel_widget_factory.h:41
AbstractAnalyticsPanelWidget * create(const QString &type, QWidget *parent, DeckListStatisticsAnalyzer *analyzer) const
Definition analytics_panel_widget_factory.cpp:19
std::function< AbstractAnalyticsPanelWidget *(QWidget *, DeckListStatisticsAnalyzer *)> Creator
Definition analytics_panel_widget_factory.h:16
QList< Descriptor > availableWidgets() const
Definition analytics_panel_widget_factory.cpp:33
AnalyticsPanelWidgetFactory & operator=(const AnalyticsPanelWidgetFactory &)=delete
static AnalyticsPanelWidgetFactory & instance()
Definition analytics_panel_widget_factory.cpp:7
AnalyticsPanelWidgetFactory(const AnalyticsPanelWidgetFactory &)=delete
Definition deck_list_statistics_analyzer.h:26
Definition remote_connection_controller.h:20
Definition game.h:18
EmailType type
Definition smtpclient.cpp:30
Definition analytics_panel_widget_factory.h:19
QString title
Definition analytics_panel_widget_factory.h:21
QString type
Definition analytics_panel_widget_factory.h:20
Creator creator
Definition analytics_panel_widget_factory.h:22