| 155 | } |
| 156 | |
| 157 | void RandomValuesDialog::distributionChanged(int index) { |
| 158 | DEBUG(Q_FUNC_INFO << ", index = " << index) |
| 159 | const auto dist = (nsl_sf_stats_distribution)ui.cbDistribution->itemData(index).toInt(); |
| 160 | DEBUG(Q_FUNC_INFO << ", dist = " << nsl_sf_stats_distribution_name[(int)dist]) |
| 161 | |
| 162 | // default settings: show two parameter (used by most distributions) |
| 163 | ui.lParameter1->show(); |
| 164 | ui.leParameter1->show(); |
| 165 | ui.lParameter2->show(); |
| 166 | ui.leParameter2->show(); |
| 167 | ui.lParameter3->hide(); |
| 168 | ui.leParameter3->hide(); |
| 169 | ui.lFunc->setText(QStringLiteral("p(x) =")); |
| 170 | |
| 171 | const auto numberLocale = QLocale(); |
| 172 | switch (dist) { |
| 173 | case nsl_sf_stats_gaussian: |
| 174 | ui.lParameter1->setText(UTF8_QSTRING("μ =")); |
| 175 | ui.lParameter2->setText(UTF8_QSTRING("σ =")); |
| 176 | ui.leParameter1->setText(numberLocale.toString(0.0)); |
| 177 | ui.leParameter2->setText(numberLocale.toString(1.0)); |
| 178 | break; |
| 179 | case nsl_sf_stats_gaussian_tail: |
| 180 | ui.lParameter3->show(); |
| 181 | ui.leParameter3->show(); |
| 182 | ui.lParameter1->setText(UTF8_QSTRING("μ =")); |
| 183 | ui.lParameter2->setText(UTF8_QSTRING("σ =")); |
| 184 | ui.lParameter3->setText(QStringLiteral("a =")); |
| 185 | ui.leParameter1->setText(numberLocale.toString(0.0)); |
| 186 | ui.leParameter2->setText(numberLocale.toString(1.0)); |
| 187 | ui.leParameter3->setText(numberLocale.toString(0.0)); |
| 188 | break; |
| 189 | case nsl_sf_stats_exponential: |
| 190 | ui.lParameter1->setText(UTF8_QSTRING("λ =")); |
| 191 | ui.lParameter2->setText(UTF8_QSTRING("μ =")); |
| 192 | ui.leParameter1->setText(numberLocale.toString(1.0)); |
| 193 | ui.leParameter2->setText(numberLocale.toString(0.0)); |
| 194 | break; |
| 195 | case nsl_sf_stats_laplace: |
| 196 | ui.lParameter1->setText(UTF8_QSTRING("μ =")); |
| 197 | ui.lParameter2->setText(UTF8_QSTRING("σ =")); |
| 198 | ui.leParameter1->setText(numberLocale.toString(0.0)); |
| 199 | ui.leParameter2->setText(numberLocale.toString(1.0)); |
| 200 | break; |
| 201 | case nsl_sf_stats_exponential_power: |
| 202 | ui.lParameter3->show(); |
| 203 | ui.leParameter3->show(); |
| 204 | ui.lParameter1->setText(UTF8_QSTRING("μ =")); |
| 205 | ui.lParameter2->setText(UTF8_QSTRING("σ =")); |
| 206 | ui.lParameter3->setText(QStringLiteral("b =")); |
| 207 | ui.leParameter1->setText(numberLocale.toString(0.0)); |
| 208 | ui.leParameter2->setText(numberLocale.toString(1.0)); |
| 209 | ui.leParameter3->setText(numberLocale.toString(1.0)); |
| 210 | break; |
| 211 | case nsl_sf_stats_cauchy_lorentz: |
| 212 | ui.lParameter1->setText(UTF8_QSTRING("γ =")); |
| 213 | ui.lParameter2->setText(UTF8_QSTRING("μ =")); |
| 214 | ui.leParameter1->setText(numberLocale.toString(1.0)); |