Cockatrice 2026-06-01-Development-3.1.0-beta.3
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
9
10#include <QComboBox>
11#include <QLineEdit>
12#include <QSpinBox>
13#include <QTableWidget>
14
16{
17 Q_OBJECT
18public:
20
21 QDialog *createConfigDialog(QWidget *parent) override;
22 QJsonObject extractConfigFromDialog(QDialog *dlg) const override;
24
25public slots:
26 void updateDisplay() override;
27 void loadConfig(const QJsonObject &cfg) override;
28 void retranslateUi();
29
30private slots:
32
33private:
35
37 QLabel *labelPrefix;
38 QLabel *labelMiddle;
39 QLabel *labelSuffix;
40 QLineEdit *cardNameEdit;
41 QComboBox *criteriaCombo; // Card Name / Type / Subtype / Mana Value
42 QComboBox *filterCombo; // The actual value
43 QComboBox *exactnessCombo; // At least / Exactly
44 QSpinBox *quantitySpin; // N
45 QSpinBox *drawnSpin; // M
46
47 QSpinBox *manaValueSpin;
48
49 QTableWidget *resultTable;
50
51 double hypergeometricProbability(int N, int K, int n, int k);
52 double calculateProbability(int totalCards, int copies, int drawn, bool atLeast);
53};
54
55#endif // COCKATRICE_DRAW_PROBABILITY_WIDGET_H
DeckListStatisticsAnalyzer * analyzer
Definition abstract_analytics_panel_widget.h:52
AbstractAnalyticsPanelWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
Definition abstract_analytics_panel_widget.cpp:7
Definition deck_list_statistics_analyzer.h:24
QComboBox * exactnessCombo
Definition draw_probability_widget.h:43
void applyConfigToToolbar()
Definition draw_probability_widget.cpp:129
DrawProbabilityWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
Definition draw_probability_widget.cpp:20
void updateFilterOptions()
Definition draw_probability_widget.cpp:157
QLabel * labelPrefix
Definition draw_probability_widget.h:37
QTableWidget * resultTable
Definition draw_probability_widget.h:49
DrawProbabilityConfig config
Definition draw_probability_widget.h:34
QSpinBox * drawnSpin
Definition draw_probability_widget.h:45
QSpinBox * quantitySpin
Definition draw_probability_widget.h:44
void updateDisplay() override
Definition draw_probability_widget.cpp:145
void loadConfig(const QJsonObject &cfg) override
Definition draw_probability_widget.cpp:150
double hypergeometricProbability(int N, int K, int n, int k)
Definition draw_probability_widget.cpp:218
QLineEdit * cardNameEdit
Definition draw_probability_widget.h:40
FlowWidget * controls
Definition draw_probability_widget.h:36
QComboBox * filterCombo
Definition draw_probability_widget.h:42
double calculateProbability(int totalCards, int copies, int drawn, bool atLeast)
QSpinBox * manaValueSpin
Definition draw_probability_widget.h:47
QLabel * labelSuffix
Definition draw_probability_widget.h:39
QComboBox * criteriaCombo
Definition draw_probability_widget.h:41
QDialog * createConfigDialog(QWidget *parent) override
Definition draw_probability_widget.cpp:116
QJsonObject extractConfigFromDialog(QDialog *dlg) const override
Definition draw_probability_widget.cpp:123
QLabel * labelMiddle
Definition draw_probability_widget.h:38
void retranslateUi()
Definition draw_probability_widget.cpp:96
Definition flow_widget.h:22
A QLayout subclass that arranges child widgets in wrapping rows (horizontal flow) or wrapping columns...
A QWidget that wraps a FlowLayout inside an optional QScrollArea.
Definition draw_probability_config.h:8