Cockatrice
2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Toggle main menu visibility
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 "
draw_probability_config.h
"
6
7
#include <qtmetamacros.h>
8
9
class
DeckListStatisticsAnalyzer
;
10
class
FlowWidget
;
11
class
QComboBox;
12
class
QLabel;
13
class
QLineEdit;
14
class
QSpinBox;
15
class
QTableWidget;
16
class
QWidget;
17
18
class
DrawProbabilityWidget
:
public
AbstractAnalyticsPanelWidget
19
{
20
Q_OBJECT
21
public
:
22
DrawProbabilityWidget
(QWidget *parent,
DeckListStatisticsAnalyzer
*
analyzer
);
23
24
QDialog *
createConfigDialog
(QWidget *parent)
override
;
25
QJsonObject
extractConfigFromDialog
(QDialog *dlg)
const override
;
26
void
applyConfigToToolbar
();
27
28
public
slots:
29
void
updateDisplay
()
override
;
30
void
loadConfig
(
const
QJsonObject &cfg)
override
;
31
void
retranslateUi
();
32
33
private
slots:
34
void
updateFilterOptions
();
35
36
private
:
37
DrawProbabilityConfig
config
;
38
39
FlowWidget
*
controls
;
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
abstract_analytics_panel_widget.h
AbstractAnalyticsPanelWidget::analyzer
DeckListStatisticsAnalyzer * analyzer
Definition
abstract_analytics_panel_widget.h:56
AbstractAnalyticsPanelWidget::AbstractAnalyticsPanelWidget
AbstractAnalyticsPanelWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
Definition
abstract_analytics_panel_widget.cpp:15
DeckListStatisticsAnalyzer
Definition
deck_list_statistics_analyzer.h:26
DrawProbabilityWidget::exactnessCombo
QComboBox * exactnessCombo
Definition
draw_probability_widget.h:46
DrawProbabilityWidget::applyConfigToToolbar
void applyConfigToToolbar()
Definition
draw_probability_widget.cpp:148
DrawProbabilityWidget::DrawProbabilityWidget
DrawProbabilityWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
Definition
draw_probability_widget.cpp:39
DrawProbabilityWidget::updateFilterOptions
void updateFilterOptions()
Definition
draw_probability_widget.cpp:176
DrawProbabilityWidget::labelPrefix
QLabel * labelPrefix
Definition
draw_probability_widget.h:40
DrawProbabilityWidget::resultTable
QTableWidget * resultTable
Definition
draw_probability_widget.h:52
DrawProbabilityWidget::config
DrawProbabilityConfig config
Definition
draw_probability_widget.h:37
DrawProbabilityWidget::drawnSpin
QSpinBox * drawnSpin
Definition
draw_probability_widget.h:48
DrawProbabilityWidget::quantitySpin
QSpinBox * quantitySpin
Definition
draw_probability_widget.h:47
DrawProbabilityWidget::updateDisplay
void updateDisplay() override
Definition
draw_probability_widget.cpp:164
DrawProbabilityWidget::loadConfig
void loadConfig(const QJsonObject &cfg) override
Definition
draw_probability_widget.cpp:169
DrawProbabilityWidget::hypergeometricProbability
double hypergeometricProbability(int N, int K, int n, int k)
Definition
draw_probability_widget.cpp:237
DrawProbabilityWidget::cardNameEdit
QLineEdit * cardNameEdit
Definition
draw_probability_widget.h:43
DrawProbabilityWidget::controls
FlowWidget * controls
Definition
draw_probability_widget.h:39
DrawProbabilityWidget::filterCombo
QComboBox * filterCombo
Definition
draw_probability_widget.h:45
DrawProbabilityWidget::calculateProbability
double calculateProbability(int totalCards, int copies, int drawn, bool atLeast)
DrawProbabilityWidget::manaValueSpin
QSpinBox * manaValueSpin
Definition
draw_probability_widget.h:50
DrawProbabilityWidget::labelSuffix
QLabel * labelSuffix
Definition
draw_probability_widget.h:42
DrawProbabilityWidget::criteriaCombo
QComboBox * criteriaCombo
Definition
draw_probability_widget.h:44
DrawProbabilityWidget::createConfigDialog
QDialog * createConfigDialog(QWidget *parent) override
Definition
draw_probability_widget.cpp:135
DrawProbabilityWidget::extractConfigFromDialog
QJsonObject extractConfigFromDialog(QDialog *dlg) const override
Definition
draw_probability_widget.cpp:142
DrawProbabilityWidget::labelMiddle
QLabel * labelMiddle
Definition
draw_probability_widget.h:41
DrawProbabilityWidget::retranslateUi
void retranslateUi()
Definition
draw_probability_widget.cpp:115
FlowWidget
Definition
flow_widget.h:27
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.18.0