Cockatrice
2026-03-05-Development-2.11.0-beta.54
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
4
#include "
../../abstract_analytics_panel_widget.h
"
5
#include "
../../deck_list_statistics_analyzer.h
"
6
#include "
draw_probability_config.h
"
7
8
#include <QComboBox>
9
#include <QLineEdit>
10
#include <QSpinBox>
11
#include <QTableWidget>
12
13
class
DrawProbabilityWidget
:
public
AbstractAnalyticsPanelWidget
14
{
15
Q_OBJECT
16
public
:
17
DrawProbabilityWidget
(QWidget *parent,
DeckListStatisticsAnalyzer
*
analyzer
);
18
19
QDialog *
createConfigDialog
(QWidget *parent)
override
;
20
QJsonObject
extractConfigFromDialog
(QDialog *dlg)
const override
;
21
void
applyConfigToToolbar
();
22
23
public
slots:
24
void
updateDisplay
()
override
;
25
void
loadConfig
(
const
QJsonObject &cfg)
override
;
26
void
retranslateUi
();
27
28
private
slots:
29
void
updateFilterOptions
();
30
31
private
:
32
DrawProbabilityConfig
config
;
33
34
QWidget *
controls
;
35
QHBoxLayout *
controlLayout
;
36
QLabel *
labelPrefix
;
37
QLabel *
labelMiddle
;
38
QLabel *
labelSuffix
;
39
QLineEdit *
cardNameEdit
;
40
QComboBox *
criteriaCombo
;
// Card Name / Type / Subtype / Mana Value
41
QComboBox *
filterCombo
;
// The actual value
42
QComboBox *
exactnessCombo
;
// At least / Exactly
43
QSpinBox *
quantitySpin
;
// N
44
QSpinBox *
drawnSpin
;
// M
45
46
QSpinBox *
manaValueSpin
;
47
48
QTableWidget *
resultTable
;
49
50
double
hypergeometricProbability
(
int
N,
int
K,
int
n,
int
k);
51
double
calculateProbability
(
int
totalCards,
int
copies,
int
drawn,
bool
atLeast);
52
};
53
54
#endif
// COCKATRICE_DRAW_PROBABILITY_WIDGET_H
abstract_analytics_panel_widget.h
AbstractAnalyticsPanelWidget::analyzer
DeckListStatisticsAnalyzer * analyzer
Definition
abstract_analytics_panel_widget.h:52
AbstractAnalyticsPanelWidget::AbstractAnalyticsPanelWidget
AbstractAnalyticsPanelWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
Definition
abstract_analytics_panel_widget.cpp:7
DeckListStatisticsAnalyzer
Definition
deck_list_statistics_analyzer.h:23
DrawProbabilityWidget::exactnessCombo
QComboBox * exactnessCombo
Definition
draw_probability_widget.h:42
DrawProbabilityWidget::applyConfigToToolbar
void applyConfigToToolbar()
Definition
draw_probability_widget.cpp:131
DrawProbabilityWidget::DrawProbabilityWidget
DrawProbabilityWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
Definition
draw_probability_widget.cpp:20
DrawProbabilityWidget::controlLayout
QHBoxLayout * controlLayout
Definition
draw_probability_widget.h:35
DrawProbabilityWidget::updateFilterOptions
void updateFilterOptions()
Definition
draw_probability_widget.cpp:159
DrawProbabilityWidget::controls
QWidget * controls
Definition
draw_probability_widget.h:34
DrawProbabilityWidget::labelPrefix
QLabel * labelPrefix
Definition
draw_probability_widget.h:36
DrawProbabilityWidget::resultTable
QTableWidget * resultTable
Definition
draw_probability_widget.h:48
DrawProbabilityWidget::config
DrawProbabilityConfig config
Definition
draw_probability_widget.h:32
DrawProbabilityWidget::drawnSpin
QSpinBox * drawnSpin
Definition
draw_probability_widget.h:44
DrawProbabilityWidget::quantitySpin
QSpinBox * quantitySpin
Definition
draw_probability_widget.h:43
DrawProbabilityWidget::updateDisplay
void updateDisplay() override
Definition
draw_probability_widget.cpp:147
DrawProbabilityWidget::loadConfig
void loadConfig(const QJsonObject &cfg) override
Definition
draw_probability_widget.cpp:152
DrawProbabilityWidget::hypergeometricProbability
double hypergeometricProbability(int N, int K, int n, int k)
Definition
draw_probability_widget.cpp:220
DrawProbabilityWidget::cardNameEdit
QLineEdit * cardNameEdit
Definition
draw_probability_widget.h:39
DrawProbabilityWidget::filterCombo
QComboBox * filterCombo
Definition
draw_probability_widget.h:41
DrawProbabilityWidget::calculateProbability
double calculateProbability(int totalCards, int copies, int drawn, bool atLeast)
DrawProbabilityWidget::manaValueSpin
QSpinBox * manaValueSpin
Definition
draw_probability_widget.h:46
DrawProbabilityWidget::labelSuffix
QLabel * labelSuffix
Definition
draw_probability_widget.h:38
DrawProbabilityWidget::criteriaCombo
QComboBox * criteriaCombo
Definition
draw_probability_widget.h:40
DrawProbabilityWidget::createConfigDialog
QDialog * createConfigDialog(QWidget *parent) override
Definition
draw_probability_widget.cpp:118
DrawProbabilityWidget::extractConfigFromDialog
QJsonObject extractConfigFromDialog(QDialog *dlg) const override
Definition
draw_probability_widget.cpp:125
DrawProbabilityWidget::labelMiddle
QLabel * labelMiddle
Definition
draw_probability_widget.h:37
DrawProbabilityWidget::retranslateUi
void retranslateUi()
Definition
draw_probability_widget.cpp:98
deck_list_statistics_analyzer.h
draw_probability_config.h
DrawProbabilityConfig
Definition
draw_probability_config.h:8
cockatrice
src
interface
widgets
deck_analytics
analyzer_modules
draw_probability
draw_probability_widget.h
Generated by
1.14.0