Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
draw_probability_widget.h
Go to the documentation of this file.
1#ifndef COCKATRICE_DRAW_PROBABILITY_WIDGET_H
2#define COCKATRICE_DRAW_PROBABILITY_WIDGET_H
3
6
7#include <qtmetamacros.h>
8
10class FlowWidget;
11class QComboBox;
12class QLabel;
13class QLineEdit;
14class QSpinBox;
15class QTableWidget;
16class QWidget;
17
19{
20 Q_OBJECT
21public:
23
24 QDialog *createConfigDialog(QWidget *parent) override;
25 QJsonObject extractConfigFromDialog(QDialog *dlg) const override;
27
28public slots:
29 void updateDisplay() override;
30 void loadConfig(const QJsonObject &cfg) override;
31 void retranslateUi();
32
33private slots:
35
36private:
38
40 QLabel *labelPrefix;
41 QLabel *labelMiddle;
42 QLabel *labelSuffix;
43 QLineEdit *cardNameEdit;
44 QComboBox *criteriaCombo; // Card Name / Type / Subtype / Mana Value
45 QComboBox *filterCombo; // The actual value
46 QComboBox *exactnessCombo; // At least / Exactly
47 QSpinBox *quantitySpin; // N
48 QSpinBox *drawnSpin; // M
49
50 QSpinBox *manaValueSpin;
51
52 QTableWidget *resultTable;
53
54 double hypergeometricProbability(int N, int K, int n, int k);
55 double calculateProbability(int totalCards, int copies, int drawn, bool atLeast);
56};
57
58#endif // COCKATRICE_DRAW_PROBABILITY_WIDGET_H
DeckListStatisticsAnalyzer * analyzer
Definition abstract_analytics_panel_widget.h:56
AbstractAnalyticsPanelWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
Definition abstract_analytics_panel_widget.cpp:15
Definition deck_list_statistics_analyzer.h:26
QComboBox * exactnessCombo
Definition draw_probability_widget.h:46
void applyConfigToToolbar()
Definition draw_probability_widget.cpp:148
DrawProbabilityWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
Definition draw_probability_widget.cpp:39
void updateFilterOptions()
Definition draw_probability_widget.cpp:176
QLabel * labelPrefix
Definition draw_probability_widget.h:40
QTableWidget * resultTable
Definition draw_probability_widget.h:52
DrawProbabilityConfig config
Definition draw_probability_widget.h:37
QSpinBox * drawnSpin
Definition draw_probability_widget.h:48
QSpinBox * quantitySpin
Definition draw_probability_widget.h:47
void updateDisplay() override
Definition draw_probability_widget.cpp:164
void loadConfig(const QJsonObject &cfg) override
Definition draw_probability_widget.cpp:169
double hypergeometricProbability(int N, int K, int n, int k)
Definition draw_probability_widget.cpp:237
QLineEdit * cardNameEdit
Definition draw_probability_widget.h:43
FlowWidget * controls
Definition draw_probability_widget.h:39
QComboBox * filterCombo
Definition draw_probability_widget.h:45
double calculateProbability(int totalCards, int copies, int drawn, bool atLeast)
QSpinBox * manaValueSpin
Definition draw_probability_widget.h:50
QLabel * labelSuffix
Definition draw_probability_widget.h:42
QComboBox * criteriaCombo
Definition draw_probability_widget.h:44
QDialog * createConfigDialog(QWidget *parent) override
Definition draw_probability_widget.cpp:135
QJsonObject extractConfigFromDialog(QDialog *dlg) const override
Definition draw_probability_widget.cpp:142
QLabel * labelMiddle
Definition draw_probability_widget.h:41
void retranslateUi()
Definition draw_probability_widget.cpp:115
Definition flow_widget.h:27
Definition draw_probability_config.h:8