mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-09 01:23:57 -07:00
Rename some things.
Took 17 minutes Took 11 seconds Took 18 seconds
This commit is contained in:
parent
f10c3608c5
commit
42e289b57d
30 changed files with 132 additions and 130 deletions
|
|
@ -144,11 +144,11 @@ set(cockatrice_SOURCES
|
||||||
src/interface/widgets/cards/card_size_widget.cpp
|
src/interface/widgets/cards/card_size_widget.cpp
|
||||||
src/interface/widgets/cards/deck_card_zone_display_widget.cpp
|
src/interface/widgets/cards/deck_card_zone_display_widget.cpp
|
||||||
src/interface/widgets/cards/deck_preview_card_picture_widget.cpp
|
src/interface/widgets/cards/deck_preview_card_picture_widget.cpp
|
||||||
|
src/interface/widgets/deck_analytics/abstract_analytics_panel_widget.cpp
|
||||||
src/interface/widgets/deck_analytics/add_analytics_panel_dialog.cpp
|
src/interface/widgets/deck_analytics/add_analytics_panel_dialog.cpp
|
||||||
|
src/interface/widgets/deck_analytics/analytics_panel_widget_factory.cpp
|
||||||
|
src/interface/widgets/deck_analytics/analytics_panel_widget_registrar.cpp
|
||||||
src/interface/widgets/deck_analytics/deck_analytics_widget.cpp
|
src/interface/widgets/deck_analytics/deck_analytics_widget.cpp
|
||||||
src/interface/widgets/deck_analytics/deck_analytics_widget_base.cpp
|
|
||||||
src/interface/widgets/deck_analytics/deck_analytics_widget_factory.cpp
|
|
||||||
src/interface/widgets/deck_analytics/deck_analytics_widget_registrar.cpp
|
|
||||||
src/interface/widgets/deck_analytics/deck_list_statistics_analyzer.cpp
|
src/interface/widgets/deck_analytics/deck_list_statistics_analyzer.cpp
|
||||||
src/interface/widgets/deck_analytics/resizable_panel.cpp
|
src/interface/widgets/deck_analytics/resizable_panel.cpp
|
||||||
src/interface/widgets/deck_analytics/analyzer_modules/draw_probability/draw_probability_config.cpp
|
src/interface/widgets/deck_analytics/analyzer_modules/draw_probability/draw_probability_config.cpp
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
#include "deck_analytics_widget_base.h"
|
#include "abstract_analytics_panel_widget.h"
|
||||||
|
|
||||||
#include "deck_list_statistics_analyzer.h"
|
#include "deck_list_statistics_analyzer.h"
|
||||||
|
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
|
||||||
AnalyticsWidgetBase::AnalyticsWidgetBase(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
|
AbstractAnalyticsPanelWidget::AbstractAnalyticsPanelWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
|
||||||
: QWidget(parent), analyzer(analyzer)
|
: QWidget(parent), analyzer(analyzer)
|
||||||
{
|
{
|
||||||
layout = new QVBoxLayout(this);
|
layout = new QVBoxLayout(this);
|
||||||
|
|
@ -21,15 +21,15 @@ AnalyticsWidgetBase::AnalyticsWidgetBase(QWidget *parent, DeckListStatisticsAnal
|
||||||
// config button
|
// config button
|
||||||
configureButton = new QPushButton(tr("Configure"), this);
|
configureButton = new QPushButton(tr("Configure"), this);
|
||||||
configureButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
configureButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
||||||
connect(configureButton, &QPushButton::clicked, this, &AnalyticsWidgetBase::applyConfigFromDialog);
|
connect(configureButton, &QPushButton::clicked, this, &AbstractAnalyticsPanelWidget::applyConfigFromDialog);
|
||||||
bannerAndSettingsLayout->addWidget(configureButton, 0);
|
bannerAndSettingsLayout->addWidget(configureButton, 0);
|
||||||
|
|
||||||
layout->addWidget(bannerAndSettingsContainer);
|
layout->addWidget(bannerAndSettingsContainer);
|
||||||
|
|
||||||
connect(analyzer, &DeckListStatisticsAnalyzer::statsUpdated, this, &AnalyticsWidgetBase::updateDisplay);
|
connect(analyzer, &DeckListStatisticsAnalyzer::statsUpdated, this, &AbstractAnalyticsPanelWidget::updateDisplay);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AnalyticsWidgetBase::applyConfigFromDialog()
|
bool AbstractAnalyticsPanelWidget::applyConfigFromDialog()
|
||||||
{
|
{
|
||||||
QDialog *dlg = createConfigDialog(this);
|
QDialog *dlg = createConfigDialog(this);
|
||||||
if (!dlg) {
|
if (!dlg) {
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
class DeckListStatisticsAnalyzer;
|
class DeckListStatisticsAnalyzer;
|
||||||
|
|
||||||
class AnalyticsWidgetBase : public QWidget
|
class AbstractAnalyticsPanelWidget : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public slots:
|
public slots:
|
||||||
|
|
@ -19,7 +19,7 @@ public slots:
|
||||||
virtual QDialog *createConfigDialog(QWidget *parent) = 0;
|
virtual QDialog *createConfigDialog(QWidget *parent) = 0;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit AnalyticsWidgetBase(QWidget *parent, DeckListStatisticsAnalyzer *analyzer);
|
explicit AbstractAnalyticsPanelWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer);
|
||||||
|
|
||||||
void setDisplayTitle(const QString &title)
|
void setDisplayTitle(const QString &title)
|
||||||
{
|
{
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#include "add_analytics_panel_dialog.h"
|
#include "add_analytics_panel_dialog.h"
|
||||||
|
|
||||||
#include "deck_analytics_widget_factory.h"
|
#include "analytics_panel_widget_factory.h"
|
||||||
|
|
||||||
#include <QDialogButtonBox>
|
#include <QDialogButtonBox>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
|
|
@ -14,7 +14,7 @@ AddAnalyticsPanelDialog::AddAnalyticsPanelDialog(QWidget *parent) : QDialog(pare
|
||||||
typeCombo = new QComboBox(this);
|
typeCombo = new QComboBox(this);
|
||||||
|
|
||||||
// Populate using descriptors
|
// Populate using descriptors
|
||||||
const auto widgets = DeckAnalyticsWidgetFactory::instance().availableWidgets();
|
const auto widgets = AnalyticsPanelWidgetFactory::instance().availableWidgets();
|
||||||
|
|
||||||
for (const auto &desc : widgets) {
|
for (const auto &desc : widgets) {
|
||||||
// Show translated title to user
|
// Show translated title to user
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
#ifndef COCKATRICE_ADD_ANALYTICS_PANEL_DIALOG_H
|
#ifndef COCKATRICE_ADD_ANALYTICS_PANEL_DIALOG_H
|
||||||
#define COCKATRICE_ADD_ANALYTICS_PANEL_DIALOG_H
|
#define COCKATRICE_ADD_ANALYTICS_PANEL_DIALOG_H
|
||||||
|
|
||||||
#include "deck_analytics_widget_factory.h"
|
#include "analytics_panel_widget_factory.h"
|
||||||
|
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
#include "analytics_panel_widget_factory.h"
|
||||||
|
|
||||||
|
#include "abstract_analytics_panel_widget.h"
|
||||||
|
|
||||||
|
AnalyticsPanelWidgetFactory &AnalyticsPanelWidgetFactory::instance()
|
||||||
|
{
|
||||||
|
static AnalyticsPanelWidgetFactory f;
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AnalyticsPanelWidgetFactory::registerWidget(const Descriptor &desc)
|
||||||
|
{
|
||||||
|
widgets.insert(desc.type, desc);
|
||||||
|
}
|
||||||
|
|
||||||
|
AbstractAnalyticsPanelWidget *
|
||||||
|
AnalyticsPanelWidgetFactory::create(const QString &type, QWidget *parent, DeckListStatisticsAnalyzer *analyzer) const
|
||||||
|
{
|
||||||
|
auto it = widgets.find(type);
|
||||||
|
if (it == widgets.end())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
|
auto w = it->creator(parent, analyzer);
|
||||||
|
|
||||||
|
w->setDisplayTitle(it->title);
|
||||||
|
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
|
||||||
|
QList<AnalyticsPanelWidgetFactory::Descriptor> AnalyticsPanelWidgetFactory::availableWidgets() const
|
||||||
|
{
|
||||||
|
return widgets.values();
|
||||||
|
}
|
||||||
|
|
@ -7,13 +7,13 @@
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
||||||
class AnalyticsWidgetBase;
|
class AbstractAnalyticsPanelWidget;
|
||||||
class DeckListStatisticsAnalyzer;
|
class DeckListStatisticsAnalyzer;
|
||||||
|
|
||||||
class DeckAnalyticsWidgetFactory
|
class AnalyticsPanelWidgetFactory
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
using Creator = std::function<AnalyticsWidgetBase *(QWidget *, DeckListStatisticsAnalyzer *)>;
|
using Creator = std::function<AbstractAnalyticsPanelWidget *(QWidget *, DeckListStatisticsAnalyzer *)>;
|
||||||
|
|
||||||
struct Descriptor
|
struct Descriptor
|
||||||
{
|
{
|
||||||
|
|
@ -22,20 +22,21 @@ public:
|
||||||
Creator creator;
|
Creator creator;
|
||||||
};
|
};
|
||||||
|
|
||||||
static DeckAnalyticsWidgetFactory &instance();
|
static AnalyticsPanelWidgetFactory &instance();
|
||||||
|
|
||||||
// NEW: richer registration
|
// NEW: richer registration
|
||||||
void registerWidget(const Descriptor &desc);
|
void registerWidget(const Descriptor &desc);
|
||||||
|
|
||||||
AnalyticsWidgetBase *create(const QString &type, QWidget *parent, DeckListStatisticsAnalyzer *analyzer) const;
|
AbstractAnalyticsPanelWidget *
|
||||||
|
create(const QString &type, QWidget *parent, DeckListStatisticsAnalyzer *analyzer) const;
|
||||||
|
|
||||||
// NEW: expose widgets to UI
|
// NEW: expose widgets to UI
|
||||||
QList<Descriptor> availableWidgets() const;
|
QList<Descriptor> availableWidgets() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DeckAnalyticsWidgetFactory() = default; // Ensure private constructor
|
AnalyticsPanelWidgetFactory() = default; // Ensure private constructor
|
||||||
DeckAnalyticsWidgetFactory(const DeckAnalyticsWidgetFactory &) = delete;
|
AnalyticsPanelWidgetFactory(const AnalyticsPanelWidgetFactory &) = delete;
|
||||||
DeckAnalyticsWidgetFactory &operator=(const DeckAnalyticsWidgetFactory &) = delete;
|
AnalyticsPanelWidgetFactory &operator=(const AnalyticsPanelWidgetFactory &) = delete;
|
||||||
|
|
||||||
QMap<QString, Descriptor> widgets;
|
QMap<QString, Descriptor> widgets;
|
||||||
};
|
};
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
#include "analytics_panel_widget_registrar.h"
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
#ifndef COCKATRICE_DECK_ANALYTICS_WIDGET_REGISTRAR_H
|
||||||
|
#define COCKATRICE_DECK_ANALYTICS_WIDGET_REGISTRAR_H
|
||||||
|
|
||||||
|
#include "analytics_panel_widget_factory.h"
|
||||||
|
|
||||||
|
class AnalyticsPanelWidgetRegistrar
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
AnalyticsPanelWidgetRegistrar(const QString &type,
|
||||||
|
const QString &title,
|
||||||
|
AnalyticsPanelWidgetFactory::Creator creator)
|
||||||
|
{
|
||||||
|
AnalyticsPanelWidgetFactory::instance().registerWidget({type, title, creator});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // COCKATRICE_DECK_ANALYTICS_WIDGET_REGISTRAR_H
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
#include <libcockatrice/card/database/card_database_manager.h>
|
#include <libcockatrice/card/database/card_database_manager.h>
|
||||||
|
|
||||||
DrawProbabilityWidget::DrawProbabilityWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
|
DrawProbabilityWidget::DrawProbabilityWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
|
||||||
: AnalyticsWidgetBase(parent, analyzer)
|
: AbstractAnalyticsPanelWidget(parent, analyzer)
|
||||||
{
|
{
|
||||||
controls = new QWidget(this);
|
controls = new QWidget(this);
|
||||||
controlLayout = new QHBoxLayout(controls);
|
controlLayout = new QHBoxLayout(controls);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef COCKATRICE_DRAW_PROBABILITY_WIDGET_H
|
#ifndef COCKATRICE_DRAW_PROBABILITY_WIDGET_H
|
||||||
#define COCKATRICE_DRAW_PROBABILITY_WIDGET_H
|
#define COCKATRICE_DRAW_PROBABILITY_WIDGET_H
|
||||||
|
|
||||||
#include "../../deck_analytics_widget_base.h"
|
#include "../../abstract_analytics_panel_widget.h"
|
||||||
#include "../../deck_list_statistics_analyzer.h"
|
#include "../../deck_list_statistics_analyzer.h"
|
||||||
#include "draw_probability_config.h"
|
#include "draw_probability_config.h"
|
||||||
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
#include <QSpinBox>
|
#include <QSpinBox>
|
||||||
#include <QTableWidget>
|
#include <QTableWidget>
|
||||||
|
|
||||||
class DrawProbabilityWidget : public AnalyticsWidgetBase
|
class DrawProbabilityWidget : public AbstractAnalyticsPanelWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
#include "../../../general/display/charts/bars/bar_widget.h"
|
#include "../../../general/display/charts/bars/bar_widget.h"
|
||||||
#include "../../../general/display/charts/bars/color_bar.h"
|
#include "../../../general/display/charts/bars/color_bar.h"
|
||||||
#include "../../../general/display/charts/pies/color_pie.h"
|
#include "../../../general/display/charts/pies/color_pie.h"
|
||||||
#include "../../deck_analytics_widget_registrar.h"
|
#include "../../analytics_panel_widget_registrar.h"
|
||||||
#include "mana_base_config_dialog.h"
|
#include "mana_base_config_dialog.h"
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
|
@ -12,14 +12,14 @@
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
|
||||||
DeckAnalyticsWidgetRegistrar registerManaBase{
|
AnalyticsPanelWidgetRegistrar registerManaBase{
|
||||||
"manaBase", ManaBaseWidget::tr("Mana Base"),
|
"manaBase", ManaBaseWidget::tr("Mana Base"),
|
||||||
[](QWidget *parent, DeckListStatisticsAnalyzer *analyzer) { return new ManaBaseWidget(parent, analyzer); }};
|
[](QWidget *parent, DeckListStatisticsAnalyzer *analyzer) { return new ManaBaseWidget(parent, analyzer); }};
|
||||||
|
|
||||||
} // anonymous namespace
|
} // anonymous namespace
|
||||||
|
|
||||||
ManaBaseWidget::ManaBaseWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer, ManaBaseConfig cfg)
|
ManaBaseWidget::ManaBaseWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer, ManaBaseConfig cfg)
|
||||||
: AnalyticsWidgetBase(parent, analyzer), config(std::move(cfg))
|
: AbstractAnalyticsPanelWidget(parent, analyzer), config(std::move(cfg))
|
||||||
{
|
{
|
||||||
barContainer = new QWidget(this);
|
barContainer = new QWidget(this);
|
||||||
barLayout = new QHBoxLayout(barContainer);
|
barLayout = new QHBoxLayout(barContainer);
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
#define MANA_BASE_WIDGET_H
|
#define MANA_BASE_WIDGET_H
|
||||||
|
|
||||||
#include "../../../general/display/banner_widget.h"
|
#include "../../../general/display/banner_widget.h"
|
||||||
#include "../../deck_analytics_widget_base.h"
|
#include "../../abstract_analytics_panel_widget.h"
|
||||||
#include "../../deck_list_statistics_analyzer.h"
|
#include "../../deck_list_statistics_analyzer.h"
|
||||||
#include "mana_base_config.h"
|
#include "mana_base_config.h"
|
||||||
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
#include <libcockatrice/models/deck_list/deck_list_model.h>
|
#include <libcockatrice/models/deck_list/deck_list_model.h>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
class ManaBaseWidget : public AnalyticsWidgetBase
|
class ManaBaseWidget : public AbstractAnalyticsPanelWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
#include <QListWidget>
|
#include <QListWidget>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
ManaCurveAddDialog::ManaCurveAddDialog(DeckListStatisticsAnalyzer *analyzer, QWidget *parent)
|
ManaCurveConfigDialog::ManaCurveConfigDialog(DeckListStatisticsAnalyzer *analyzer, QWidget *parent)
|
||||||
: QDialog(parent), analyzer(analyzer)
|
: QDialog(parent), analyzer(analyzer)
|
||||||
{
|
{
|
||||||
auto *lay = new QVBoxLayout(this);
|
auto *lay = new QVBoxLayout(this);
|
||||||
|
|
@ -35,8 +35,8 @@ ManaCurveAddDialog::ManaCurveAddDialog(DeckListStatisticsAnalyzer *analyzer, QWi
|
||||||
|
|
||||||
buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
|
buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
|
||||||
lay->addWidget(buttons);
|
lay->addWidget(buttons);
|
||||||
connect(buttons, &QDialogButtonBox::accepted, this, &ManaCurveAddDialog::accept);
|
connect(buttons, &QDialogButtonBox::accepted, this, &ManaCurveConfigDialog::accept);
|
||||||
connect(buttons, &QDialogButtonBox::rejected, this, &ManaCurveAddDialog::reject);
|
connect(buttons, &QDialogButtonBox::rejected, this, &ManaCurveConfigDialog::reject);
|
||||||
|
|
||||||
// populate dynamic data
|
// populate dynamic data
|
||||||
QStringList cats = analyzer->getManaCurveByType().keys();
|
QStringList cats = analyzer->getManaCurveByType().keys();
|
||||||
|
|
@ -50,7 +50,7 @@ ManaCurveAddDialog::ManaCurveAddDialog(DeckListStatisticsAnalyzer *analyzer, QWi
|
||||||
retranslateUi();
|
retranslateUi();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ManaCurveAddDialog::retranslateUi()
|
void ManaCurveConfigDialog::retranslateUi()
|
||||||
{
|
{
|
||||||
labelGroupBy->setText(tr("Group By:"));
|
labelGroupBy->setText(tr("Group By:"));
|
||||||
groupBy->setItemText(0, tr("type"));
|
groupBy->setItemText(0, tr("type"));
|
||||||
|
|
@ -65,7 +65,7 @@ void ManaCurveAddDialog::retranslateUi()
|
||||||
showCatRows->setText(tr("Show per-category rows"));
|
showCatRows->setText(tr("Show per-category rows"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ManaCurveAddDialog::setFromConfig(const ManaCurveConfig &cfg)
|
void ManaCurveConfigDialog::setFromConfig(const ManaCurveConfig &cfg)
|
||||||
{
|
{
|
||||||
groupBy->setCurrentText(cfg.groupBy);
|
groupBy->setCurrentText(cfg.groupBy);
|
||||||
// restore filters
|
// restore filters
|
||||||
|
|
@ -76,7 +76,7 @@ void ManaCurveAddDialog::setFromConfig(const ManaCurveConfig &cfg)
|
||||||
showCatRows->setChecked(cfg.showCategoryRows);
|
showCatRows->setChecked(cfg.showCategoryRows);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ManaCurveAddDialog::accept()
|
void ManaCurveConfigDialog::accept()
|
||||||
{
|
{
|
||||||
cfg.groupBy = groupBy->currentText();
|
cfg.groupBy = groupBy->currentText();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,11 @@ class QListWidget;
|
||||||
class QCheckBox;
|
class QCheckBox;
|
||||||
class QComboBox;
|
class QComboBox;
|
||||||
|
|
||||||
class ManaCurveAddDialog : public QDialog
|
class ManaCurveConfigDialog : public QDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit ManaCurveAddDialog(DeckListStatisticsAnalyzer *analyzer, QWidget *parent = nullptr);
|
explicit ManaCurveConfigDialog(DeckListStatisticsAnalyzer *analyzer, QWidget *parent = nullptr);
|
||||||
void retranslateUi();
|
void retranslateUi();
|
||||||
void setFromConfig(const ManaCurveConfig &cfg);
|
void setFromConfig(const ManaCurveConfig &cfg);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
#include "../../../general/display/charts/bars/bar_chart_background_widget.h"
|
#include "../../../general/display/charts/bars/bar_chart_background_widget.h"
|
||||||
#include "../../../general/display/charts/bars/bar_chart_widget.h"
|
#include "../../../general/display/charts/bars/bar_chart_widget.h"
|
||||||
#include "../../../general/display/charts/bars/segmented_bar_widget.h"
|
#include "../../../general/display/charts/bars/segmented_bar_widget.h"
|
||||||
#include "../../deck_analytics_widget_registrar.h"
|
#include "../../analytics_panel_widget_registrar.h"
|
||||||
#include "../../deck_list_statistics_analyzer.h"
|
#include "../../deck_list_statistics_analyzer.h"
|
||||||
#include "libcockatrice/utility/color.h"
|
#include "libcockatrice/utility/color.h"
|
||||||
#include "libcockatrice/utility/qt_utils.h"
|
#include "libcockatrice/utility/qt_utils.h"
|
||||||
|
|
@ -18,14 +18,14 @@
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
|
||||||
DeckAnalyticsWidgetRegistrar registerManaCurve{
|
AnalyticsPanelWidgetRegistrar registerManaCurve{
|
||||||
"manaCurve", ManaCurveWidget::tr("Mana Curve"),
|
"manaCurve", ManaCurveWidget::tr("Mana Curve"),
|
||||||
[](QWidget *parent, DeckListStatisticsAnalyzer *analyzer) { return new ManaCurveWidget(parent, analyzer); }};
|
[](QWidget *parent, DeckListStatisticsAnalyzer *analyzer) { return new ManaCurveWidget(parent, analyzer); }};
|
||||||
|
|
||||||
} // anonymous namespace
|
} // anonymous namespace
|
||||||
|
|
||||||
ManaCurveWidget::ManaCurveWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer, ManaCurveConfig cfg)
|
ManaCurveWidget::ManaCurveWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer, ManaCurveConfig cfg)
|
||||||
: AnalyticsWidgetBase(parent, analyzer), config(cfg)
|
: AbstractAnalyticsPanelWidget(parent, analyzer), config(cfg)
|
||||||
{
|
{
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
|
|
||||||
|
|
@ -46,14 +46,14 @@ ManaCurveWidget::ManaCurveWidget(QWidget *parent, DeckListStatisticsAnalyzer *an
|
||||||
|
|
||||||
QDialog *ManaCurveWidget::createConfigDialog(QWidget *parent)
|
QDialog *ManaCurveWidget::createConfigDialog(QWidget *parent)
|
||||||
{
|
{
|
||||||
auto *dlg = new ManaCurveAddDialog(analyzer, parent);
|
auto *dlg = new ManaCurveConfigDialog(analyzer, parent);
|
||||||
dlg->setFromConfig(config);
|
dlg->setFromConfig(config);
|
||||||
return dlg;
|
return dlg;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject ManaCurveWidget::extractConfigFromDialog(QDialog *dlg) const
|
QJsonObject ManaCurveWidget::extractConfigFromDialog(QDialog *dlg) const
|
||||||
{
|
{
|
||||||
auto *mc = qobject_cast<ManaCurveAddDialog *>(dlg);
|
auto *mc = qobject_cast<ManaCurveConfigDialog *>(dlg);
|
||||||
return mc ? mc->result().toJson() : QJsonObject{};
|
return mc ? mc->result().toJson() : QJsonObject{};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
#ifndef MANA_CURVE_WIDGET_H
|
#ifndef MANA_CURVE_WIDGET_H
|
||||||
#define MANA_CURVE_WIDGET_H
|
#define MANA_CURVE_WIDGET_H
|
||||||
|
|
||||||
#include "../../deck_analytics_widget_base.h"
|
#include "../../abstract_analytics_panel_widget.h"
|
||||||
#include "mana_curve_category_widget.h"
|
#include "mana_curve_category_widget.h"
|
||||||
#include "mana_curve_config.h"
|
#include "mana_curve_config.h"
|
||||||
#include "mana_curve_total_widget.h"
|
#include "mana_curve_total_widget.h"
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
class SegmentedBarWidget;
|
class SegmentedBarWidget;
|
||||||
class DeckListStatisticsAnalyzer;
|
class DeckListStatisticsAnalyzer;
|
||||||
|
|
||||||
class ManaCurveWidget : public AnalyticsWidgetBase
|
class ManaCurveWidget : public AbstractAnalyticsPanelWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
#include "../../../general/display/charts/bars/bar_widget.h"
|
#include "../../../general/display/charts/bars/bar_widget.h"
|
||||||
#include "../../../general/display/charts/bars/color_bar.h"
|
#include "../../../general/display/charts/bars/color_bar.h"
|
||||||
#include "../../../general/display/charts/pies/color_pie.h"
|
#include "../../../general/display/charts/pies/color_pie.h"
|
||||||
#include "../../deck_analytics_widget_registrar.h"
|
#include "../../analytics_panel_widget_registrar.h"
|
||||||
#include "../../deck_list_statistics_analyzer.h"
|
#include "../../deck_list_statistics_analyzer.h"
|
||||||
#include "mana_devotion_config_dialog.h"
|
#include "mana_devotion_config_dialog.h"
|
||||||
|
|
||||||
|
|
@ -13,14 +13,14 @@
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
|
||||||
DeckAnalyticsWidgetRegistrar registerManaDevotion{
|
AnalyticsPanelWidgetRegistrar registerManaDevotion{
|
||||||
"manaDevotion", ManaDevotionWidget::tr("Mana Devotion"),
|
"manaDevotion", ManaDevotionWidget::tr("Mana Devotion"),
|
||||||
[](QWidget *parent, DeckListStatisticsAnalyzer *analyzer) { return new ManaDevotionWidget(parent, analyzer); }};
|
[](QWidget *parent, DeckListStatisticsAnalyzer *analyzer) { return new ManaDevotionWidget(parent, analyzer); }};
|
||||||
|
|
||||||
} // anonymous namespace
|
} // anonymous namespace
|
||||||
|
|
||||||
ManaDevotionWidget::ManaDevotionWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer, ManaDevotionConfig cfg)
|
ManaDevotionWidget::ManaDevotionWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer, ManaDevotionConfig cfg)
|
||||||
: AnalyticsWidgetBase(parent, analyzer), config(std::move(cfg))
|
: AbstractAnalyticsPanelWidget(parent, analyzer), config(std::move(cfg))
|
||||||
{
|
{
|
||||||
barContainer = new QWidget(this);
|
barContainer = new QWidget(this);
|
||||||
barLayout = new QHBoxLayout(barContainer);
|
barLayout = new QHBoxLayout(barContainer);
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,12 @@
|
||||||
#ifndef MANA_DEVOTION_WIDGET_H
|
#ifndef MANA_DEVOTION_WIDGET_H
|
||||||
#define MANA_DEVOTION_WIDGET_H
|
#define MANA_DEVOTION_WIDGET_H
|
||||||
#include "../../../general/display/banner_widget.h"
|
#include "../../../general/display/banner_widget.h"
|
||||||
#include "../../deck_analytics_widget_base.h"
|
#include "../../abstract_analytics_panel_widget.h"
|
||||||
#include "mana_devotion_config.h"
|
#include "mana_devotion_config.h"
|
||||||
|
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
|
|
||||||
class ManaDevotionWidget : public AnalyticsWidgetBase
|
class ManaDevotionWidget : public AbstractAnalyticsPanelWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
static const QStringList kColors = {"W", "U", "B", "R", "G", "C"};
|
static const QStringList kColors = {"W", "U", "B", "R", "G", "C"};
|
||||||
|
|
||||||
ManaDistributionAddDialog::ManaDistributionAddDialog(DeckListStatisticsAnalyzer *analyzer, QWidget *parent)
|
ManaDistributionConfigDialog::ManaDistributionConfigDialog(DeckListStatisticsAnalyzer *analyzer, QWidget *parent)
|
||||||
: QDialog(parent), analyzer(analyzer)
|
: QDialog(parent), analyzer(analyzer)
|
||||||
{
|
{
|
||||||
auto *lay = new QVBoxLayout(this);
|
auto *lay = new QVBoxLayout(this);
|
||||||
|
|
@ -35,15 +35,15 @@ ManaDistributionAddDialog::ManaDistributionAddDialog(DeckListStatisticsAnalyzer
|
||||||
|
|
||||||
buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
|
buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
|
||||||
lay->addWidget(buttons);
|
lay->addWidget(buttons);
|
||||||
connect(buttons, &QDialogButtonBox::accepted, this, &ManaDistributionAddDialog::accept);
|
connect(buttons, &QDialogButtonBox::accepted, this, &ManaDistributionConfigDialog::accept);
|
||||||
connect(buttons, &QDialogButtonBox::rejected, this, &ManaDistributionAddDialog::reject);
|
connect(buttons, &QDialogButtonBox::rejected, this, &ManaDistributionConfigDialog::reject);
|
||||||
|
|
||||||
displayType->addItems({"pie", "bar"}); // combo items
|
displayType->addItems({"pie", "bar"}); // combo items
|
||||||
|
|
||||||
retranslateUi();
|
retranslateUi();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ManaDistributionAddDialog::retranslateUi()
|
void ManaDistributionConfigDialog::retranslateUi()
|
||||||
{
|
{
|
||||||
labelDisplayType->setText(tr("Top display type:"));
|
labelDisplayType->setText(tr("Top display type:"));
|
||||||
displayType->setItemText(0, tr("pie"));
|
displayType->setItemText(0, tr("pie"));
|
||||||
|
|
@ -56,7 +56,7 @@ void ManaDistributionAddDialog::retranslateUi()
|
||||||
// QDialogButtonBox buttons are automatically translated
|
// QDialogButtonBox buttons are automatically translated
|
||||||
}
|
}
|
||||||
|
|
||||||
void ManaDistributionAddDialog::setFromConfig(const ManaDistributionConfig &cfgIn)
|
void ManaDistributionConfigDialog::setFromConfig(const ManaDistributionConfig &cfgIn)
|
||||||
{
|
{
|
||||||
cfg = cfgIn;
|
cfg = cfgIn;
|
||||||
|
|
||||||
|
|
@ -68,7 +68,7 @@ void ManaDistributionAddDialog::setFromConfig(const ManaDistributionConfig &cfgI
|
||||||
showColorRows->setChecked(cfg.showColorRows);
|
showColorRows->setChecked(cfg.showColorRows);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ManaDistributionAddDialog::accept()
|
void ManaDistributionConfigDialog::accept()
|
||||||
{
|
{
|
||||||
cfg.displayType = displayType->currentText();
|
cfg.displayType = displayType->currentText();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,11 +13,11 @@ class QListWidget;
|
||||||
class QCheckBox;
|
class QCheckBox;
|
||||||
class DeckListStatisticsAnalyzer;
|
class DeckListStatisticsAnalyzer;
|
||||||
|
|
||||||
class ManaDistributionAddDialog : public QDialog
|
class ManaDistributionConfigDialog : public QDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit ManaDistributionAddDialog(DeckListStatisticsAnalyzer *analyzer, QWidget *parent = nullptr);
|
explicit ManaDistributionConfigDialog(DeckListStatisticsAnalyzer *analyzer, QWidget *parent = nullptr);
|
||||||
void retranslateUi();
|
void retranslateUi();
|
||||||
|
|
||||||
void setFromConfig(const ManaDistributionConfig &cfg);
|
void setFromConfig(const ManaDistributionConfig &cfg);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#include "mana_distribution_widget.h"
|
#include "mana_distribution_widget.h"
|
||||||
|
|
||||||
#include "../../deck_analytics_widget_registrar.h"
|
#include "../../analytics_panel_widget_registrar.h"
|
||||||
#include "mana_distribution_config_dialog.h"
|
#include "mana_distribution_config_dialog.h"
|
||||||
|
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
|
|
@ -10,8 +10,7 @@
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
AnalyticsPanelWidgetRegistrar registerManaDistribution{
|
||||||
DeckAnalyticsWidgetRegistrar registerManaDistribution{
|
|
||||||
"manaProdDevotion", ManaDistributionWidget::tr("Mana Production + Devotion"),
|
"manaProdDevotion", ManaDistributionWidget::tr("Mana Production + Devotion"),
|
||||||
[](QWidget *parent, DeckListStatisticsAnalyzer *analyzer) { return new ManaDistributionWidget(parent, analyzer); }};
|
[](QWidget *parent, DeckListStatisticsAnalyzer *analyzer) { return new ManaDistributionWidget(parent, analyzer); }};
|
||||||
|
|
||||||
|
|
@ -20,7 +19,7 @@ DeckAnalyticsWidgetRegistrar registerManaDistribution{
|
||||||
static const QStringList kColors = {"W", "U", "B", "R", "G", "C"};
|
static const QStringList kColors = {"W", "U", "B", "R", "G", "C"};
|
||||||
|
|
||||||
ManaDistributionWidget::ManaDistributionWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
|
ManaDistributionWidget::ManaDistributionWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
|
||||||
: AnalyticsWidgetBase(parent, analyzer)
|
: AbstractAnalyticsPanelWidget(parent, analyzer)
|
||||||
{
|
{
|
||||||
container = new QWidget(this);
|
container = new QWidget(this);
|
||||||
containerLayout = new QVBoxLayout(container);
|
containerLayout = new QVBoxLayout(container);
|
||||||
|
|
@ -117,7 +116,7 @@ void ManaDistributionWidget::updateDisplay()
|
||||||
|
|
||||||
QDialog *ManaDistributionWidget::createConfigDialog(QWidget *parent)
|
QDialog *ManaDistributionWidget::createConfigDialog(QWidget *parent)
|
||||||
{
|
{
|
||||||
auto *dlg = new ManaDistributionAddDialog(analyzer, parent);
|
auto *dlg = new ManaDistributionConfigDialog(analyzer, parent);
|
||||||
dlg->setWindowTitle(tr("Mana Distribution Settings"));
|
dlg->setWindowTitle(tr("Mana Distribution Settings"));
|
||||||
dlg->setFromConfig(config);
|
dlg->setFromConfig(config);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
#include "../../../general/display/charts/bars/color_bar.h"
|
#include "../../../general/display/charts/bars/color_bar.h"
|
||||||
#include "../../../general/display/charts/pies/color_pie.h"
|
#include "../../../general/display/charts/pies/color_pie.h"
|
||||||
#include "../../deck_analytics_widget_base.h"
|
#include "../../abstract_analytics_panel_widget.h"
|
||||||
#include "../../deck_list_statistics_analyzer.h"
|
#include "../../deck_list_statistics_analyzer.h"
|
||||||
#include "mana_distribution_config.h"
|
#include "mana_distribution_config.h"
|
||||||
#include "mana_distribution_single_display_widget.h"
|
#include "mana_distribution_single_display_widget.h"
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
class ManaDistributionWidget : public AnalyticsWidgetBase
|
class ManaDistributionWidget : public AbstractAnalyticsPanelWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,8 @@
|
||||||
#include "deck_analytics_widget.h"
|
#include "deck_analytics_widget.h"
|
||||||
|
|
||||||
|
#include "abstract_analytics_panel_widget.h"
|
||||||
#include "add_analytics_panel_dialog.h"
|
#include "add_analytics_panel_dialog.h"
|
||||||
#include "analyzer_modules/mana_base/mana_base_widget.h"
|
#include "analytics_panel_widget_factory.h"
|
||||||
#include "analyzer_modules/mana_curve/mana_curve_widget.h"
|
|
||||||
#include "analyzer_modules/mana_devotion/mana_devotion_widget.h"
|
|
||||||
#include "analyzer_modules/mana_distribution/mana_distribution_widget.h"
|
|
||||||
#include "deck_analytics_widget_base.h"
|
|
||||||
#include "deck_analytics_widget_factory.h"
|
|
||||||
#include "deck_list_statistics_analyzer.h"
|
#include "deck_list_statistics_analyzer.h"
|
||||||
#include "resizable_panel.h"
|
#include "resizable_panel.h"
|
||||||
|
|
||||||
|
|
@ -86,8 +82,8 @@ void DeckAnalyticsWidget::onAddPanel()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
AnalyticsWidgetBase *analyticsWidget =
|
AbstractAnalyticsPanelWidget *analyticsWidget =
|
||||||
DeckAnalyticsWidgetFactory::instance().create(selection, this, statsAnalyzer);
|
AnalyticsPanelWidgetFactory::instance().create(selection, this, statsAnalyzer);
|
||||||
if (!analyticsWidget) {
|
if (!analyticsWidget) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -100,7 +96,9 @@ void DeckAnalyticsWidget::onAddPanel()
|
||||||
addPanelInstance(selection, analyticsWidget, analyticsWidget->saveConfig());
|
addPanelInstance(selection, analyticsWidget, analyticsWidget->saveConfig());
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeckAnalyticsWidget::addPanelInstance(const QString &typeId, AnalyticsWidgetBase *panel, const QJsonObject &cfg)
|
void DeckAnalyticsWidget::addPanelInstance(const QString &typeId,
|
||||||
|
AbstractAnalyticsPanelWidget *panel,
|
||||||
|
const QJsonObject &cfg)
|
||||||
{
|
{
|
||||||
panel->loadConfig(cfg);
|
panel->loadConfig(cfg);
|
||||||
panel->updateDisplay();
|
panel->updateDisplay();
|
||||||
|
|
@ -164,7 +162,7 @@ void DeckAnalyticsWidget::addDefaultPanels()
|
||||||
QVector<DefaultPanel> defaults = {{"manaCurve", {}}, {"manaBase", {}}, {"manaDevotion", {}}};
|
QVector<DefaultPanel> defaults = {{"manaCurve", {}}, {"manaBase", {}}, {"manaDevotion", {}}};
|
||||||
|
|
||||||
for (auto &d : defaults) {
|
for (auto &d : defaults) {
|
||||||
AnalyticsWidgetBase *w = DeckAnalyticsWidgetFactory::instance().create(d.type, this, statsAnalyzer);
|
AbstractAnalyticsPanelWidget *w = AnalyticsPanelWidgetFactory::instance().create(d.type, this, statsAnalyzer);
|
||||||
if (!w) {
|
if (!w) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
@ -197,7 +195,7 @@ bool DeckAnalyticsWidget::loadLayoutInternal()
|
||||||
QString type = o["type"].toString();
|
QString type = o["type"].toString();
|
||||||
QJsonObject cfg = o["config"].toObject();
|
QJsonObject cfg = o["config"].toObject();
|
||||||
|
|
||||||
AnalyticsWidgetBase *w = DeckAnalyticsWidgetFactory::instance().create(type, this, statsAnalyzer);
|
AbstractAnalyticsPanelWidget *w = AnalyticsPanelWidgetFactory::instance().create(type, this, statsAnalyzer);
|
||||||
if (!w) {
|
if (!w) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
#ifndef DECK_ANALYTICS_WIDGET_H
|
#ifndef DECK_ANALYTICS_WIDGET_H
|
||||||
#define DECK_ANALYTICS_WIDGET_H
|
#define DECK_ANALYTICS_WIDGET_H
|
||||||
|
|
||||||
#include "deck_analytics_widget_base.h"
|
#include "abstract_analytics_panel_widget.h"
|
||||||
#include "deck_list_statistics_analyzer.h"
|
#include "deck_list_statistics_analyzer.h"
|
||||||
#include "resizable_panel.h"
|
#include "resizable_panel.h"
|
||||||
|
|
||||||
|
|
@ -46,7 +46,7 @@ protected:
|
||||||
int indexOfSelectedWrapper() const;
|
int indexOfSelectedWrapper() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void addPanelInstance(const QString &typeId, AnalyticsWidgetBase *panel, const QJsonObject &cfg = {});
|
void addPanelInstance(const QString &typeId, AbstractAnalyticsPanelWidget *panel, const QJsonObject &cfg = {});
|
||||||
|
|
||||||
QVBoxLayout *layout;
|
QVBoxLayout *layout;
|
||||||
QWidget *controlContainer;
|
QWidget *controlContainer;
|
||||||
|
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
#include "deck_analytics_widget_factory.h"
|
|
||||||
|
|
||||||
#include "deck_analytics_widget_base.h"
|
|
||||||
|
|
||||||
DeckAnalyticsWidgetFactory &DeckAnalyticsWidgetFactory::instance()
|
|
||||||
{
|
|
||||||
static DeckAnalyticsWidgetFactory f;
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
void DeckAnalyticsWidgetFactory::registerWidget(const Descriptor &desc)
|
|
||||||
{
|
|
||||||
widgets.insert(desc.type, desc);
|
|
||||||
}
|
|
||||||
|
|
||||||
AnalyticsWidgetBase *
|
|
||||||
DeckAnalyticsWidgetFactory::create(const QString &type, QWidget *parent, DeckListStatisticsAnalyzer *analyzer) const
|
|
||||||
{
|
|
||||||
auto it = widgets.find(type);
|
|
||||||
if (it == widgets.end())
|
|
||||||
return nullptr;
|
|
||||||
|
|
||||||
auto w = it->creator(parent, analyzer);
|
|
||||||
|
|
||||||
w->setDisplayTitle(it->title);
|
|
||||||
|
|
||||||
return w;
|
|
||||||
}
|
|
||||||
|
|
||||||
QList<DeckAnalyticsWidgetFactory::Descriptor> DeckAnalyticsWidgetFactory::availableWidgets() const
|
|
||||||
{
|
|
||||||
return widgets.values();
|
|
||||||
}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
#include "deck_analytics_widget_registrar.h"
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
#ifndef COCKATRICE_DECK_ANALYTICS_WIDGET_REGISTRAR_H
|
|
||||||
#define COCKATRICE_DECK_ANALYTICS_WIDGET_REGISTRAR_H
|
|
||||||
|
|
||||||
#include "deck_analytics_widget_factory.h"
|
|
||||||
|
|
||||||
class DeckAnalyticsWidgetRegistrar
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
DeckAnalyticsWidgetRegistrar(const QString &type, const QString &title, DeckAnalyticsWidgetFactory::Creator creator)
|
|
||||||
{
|
|
||||||
DeckAnalyticsWidgetFactory::instance().registerWidget({type, title, creator});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // COCKATRICE_DECK_ANALYTICS_WIDGET_REGISTRAR_H
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
#include <QPixmap>
|
#include <QPixmap>
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
|
|
||||||
ResizablePanel::ResizablePanel(const QString &_typeId, AnalyticsWidgetBase *analyticsPanel, QWidget *parent)
|
ResizablePanel::ResizablePanel(const QString &_typeId, AbstractAnalyticsPanelWidget *analyticsPanel, QWidget *parent)
|
||||||
: QWidget(parent), panel(analyticsPanel), typeId(_typeId)
|
: QWidget(parent), panel(analyticsPanel), typeId(_typeId)
|
||||||
{
|
{
|
||||||
setAcceptDrops(true);
|
setAcceptDrops(true);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef COCKATRICE_RESIZABLE_PANEL_H
|
#ifndef COCKATRICE_RESIZABLE_PANEL_H
|
||||||
#define COCKATRICE_RESIZABLE_PANEL_H
|
#define COCKATRICE_RESIZABLE_PANEL_H
|
||||||
|
|
||||||
#include "deck_analytics_widget_base.h"
|
#include "abstract_analytics_panel_widget.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QDrag>
|
#include <QDrag>
|
||||||
|
|
@ -19,7 +19,9 @@ class ResizablePanel : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit ResizablePanel(const QString &typeId, AnalyticsWidgetBase *analyticsPanel, QWidget *parent = nullptr);
|
explicit ResizablePanel(const QString &typeId,
|
||||||
|
AbstractAnalyticsPanelWidget *analyticsPanel,
|
||||||
|
QWidget *parent = nullptr);
|
||||||
|
|
||||||
void setSelected(bool selected);
|
void setSelected(bool selected);
|
||||||
void setHeightFromSaved(int h);
|
void setHeightFromSaved(int h);
|
||||||
|
|
@ -33,7 +35,7 @@ public:
|
||||||
return typeId;
|
return typeId;
|
||||||
}
|
}
|
||||||
|
|
||||||
AnalyticsWidgetBase *panel;
|
AbstractAnalyticsPanelWidget *panel;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void dragStarted(ResizablePanel *panel);
|
void dragStarted(ResizablePanel *panel);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue