| 48 | #include <gsl/gsl_statistics.h> |
| 49 | |
| 50 | StatisticsColumnWidget::StatisticsColumnWidget(const Column* column, QWidget* parent) |
| 51 | : QWidget(parent) |
| 52 | , m_column(column) |
| 53 | , m_project(new Project) |
| 54 | , m_tabWidget(new QTabWidget) { |
| 55 | auto* layout = new QVBoxLayout; |
| 56 | layout->addWidget(m_tabWidget); |
| 57 | setLayout(layout); |
| 58 | |
| 59 | const QString htmlColor = GuiTools::isDarkMode() ? QLatin1String("#5f5f5f") : QLatin1String("#D1D1D1"); |
| 60 | // clang-format off |
| 61 | if (column->isNumeric()) { |
| 62 | m_htmlOverview = QStringLiteral("<table border=0 width=100%><tr><td colspan=2 align=center bgcolor=") + htmlColor |
| 63 | + QStringLiteral("><b><big>") + i18n("Location Measures") + QStringLiteral("</big><b></td></tr>") |
| 64 | + QStringLiteral("<tr><td width=60%><b>") + i18n("Count") + QStringLiteral("<b></td><td>%1</td></tr>") |
| 65 | + QStringLiteral("<tr><td><b>") + i18n("Minimum") + QStringLiteral("<b></td><td>%2</td></tr>") |
| 66 | + QStringLiteral("<tr><td><b>") + i18n("Maximum") + QStringLiteral("<b></td><td>%3</td></tr>") |
| 67 | + QStringLiteral("<tr><td><b>") + i18n("Arithmetic mean") + QStringLiteral("<b></td><td>%4</td></tr>") |
| 68 | + QStringLiteral("<tr><td><b>") + i18n("Geometric mean") + QStringLiteral("<b></td><td>%5</td></tr>") |
| 69 | + QStringLiteral("<tr><td><b>") + i18n("Harmonic mean") + QStringLiteral("<b></td><td>%6</td></tr>") |
| 70 | + QStringLiteral("<tr><td><b>") + i18n("Contraharmonic mean") + QStringLiteral("<b></td><td>%7</td></tr>") |
| 71 | + QStringLiteral("<tr><td><b>") + i18n("Mode") + QStringLiteral("<b></td><td>%8</td></tr>") |
| 72 | + QStringLiteral("<tr><td><b>") + i18n("First Quartile") + QStringLiteral("<b></td><td>%9</td></tr>") |
| 73 | + QStringLiteral("<tr><td><b>") + i18n("Median") + QStringLiteral("<b></td><td>%10</td></tr>") |
| 74 | + QStringLiteral("<tr><td><b>") + i18n("Third Quartile") + QStringLiteral("<b></td><td>%11</td></tr>") |
| 75 | + QStringLiteral("<tr><td><b>") + i18n("Trimean") + QStringLiteral("<b></td><td>%12</td></tr>") |
| 76 | + QStringLiteral("<tr></tr>") |
| 77 | + QStringLiteral("<tr><td colspan=2 align=center bgcolor=") + htmlColor + QStringLiteral("><b><big>") |
| 78 | + i18n("Dispersion Measures") + QStringLiteral("</big></b></td></tr>") |
| 79 | + QStringLiteral("<tr><td><b>") + i18n("Range") + QStringLiteral("<b></td><td>%13</td></tr>") |
| 80 | + QStringLiteral("<tr><td><b>") + i18n("Variance") + QStringLiteral("<b></td><td>%14</td></tr>") |
| 81 | + QStringLiteral("<tr><td><b>") + i18n("Standard deviation") + QStringLiteral("<b></td><td>%15</td></tr>") |
| 82 | + QStringLiteral("<tr><td><b>") + i18n("Mean absolute deviation around mean") + QStringLiteral("<b></td><td>%16</td></tr>") |
| 83 | + QStringLiteral("<tr><td><b>") + i18n("Mean absolute deviation around median") + QStringLiteral("<b></td><td>%17</td></tr>") |
| 84 | + QStringLiteral("<tr><td><b>") + i18n("Median absolute deviation") + QStringLiteral("<b></td><td>%18</td></tr>") |
| 85 | + QStringLiteral("<tr><td><b>") + i18n("Interquartile Range") + QStringLiteral("<b></td><td>%19</td></tr>") |
| 86 | + QStringLiteral("<tr></tr>") |
| 87 | + QStringLiteral("<tr><td colspan=2 align=center bgcolor=") + htmlColor + QStringLiteral("><b><big>") |
| 88 | + i18n("Shape Measures") + QStringLiteral("</big></b></td></tr>") |
| 89 | + QStringLiteral("<tr><td><b>") + i18n("Skewness") + QStringLiteral("<b></td><td>%20</td></tr>") |
| 90 | + QStringLiteral("<tr><td><b>") + i18n("Kurtosis") + QStringLiteral("<b></td><td>%21</td></tr>") |
| 91 | + QStringLiteral("<tr><td><b>") + i18n("Entropy") + QStringLiteral("<b></td><td>%22</td></tr>") |
| 92 | + QStringLiteral("</table>"); |
| 93 | } else if (column->columnMode() == AbstractColumn::ColumnMode::Text) { |
| 94 | m_htmlOverview = QStringLiteral("<table border=0 width=100%><tr><td colspan=2 align=center bgcolor=") |
| 95 | + htmlColor + QStringLiteral("><b><big>") + i18n("General") + QStringLiteral("</big><b></td></tr><tr>") |
| 96 | + QStringLiteral("<td width=60%><b>") + i18n("Count") + QStringLiteral("<b></td><td>%1</td></tr>") |
| 97 | + QStringLiteral("<tr><td><b>") + i18n("Unique Values") + QStringLiteral("<b></td><td>%2</td></tr>") |
| 98 | + QStringLiteral("</table>"); |
| 99 | } else { // datetime |
| 100 | m_htmlOverview = QStringLiteral("<table border=0 width=100%><tr><td colspan=2 align=center bgcolor=") |
| 101 | + htmlColor + QStringLiteral("><b><big>") + i18n("General") + QStringLiteral("</big><b></td></tr>") |
| 102 | + QStringLiteral("<tr><td width=60%><b>") + i18n("Count") + QStringLiteral("<b></td><td>%1</td></tr>") |
| 103 | + QStringLiteral("<tr><td><b>") + i18n("Minimum") + QStringLiteral("<b></td><td>%2</td></tr>") |
| 104 | + QStringLiteral("<tr><td><b>") + i18n("Maximum") + QStringLiteral("<b></td><td>%3</td></tr>") |
| 105 | + QStringLiteral("</table>"); |
| 106 | } |
| 107 | // clang-format on |
nothing calls this directly
no test coverage detected