| 24 | #include <KLocalizedString> |
| 25 | |
| 26 | BoxPlotDock::BoxPlotDock(QWidget* parent) |
| 27 | : BaseDock(parent) { |
| 28 | ui.setupUi(this); |
| 29 | setPlotRangeCombobox(ui.cbPlotRanges); |
| 30 | setBaseWidgets(ui.leName, ui.teComment); |
| 31 | setVisibilityWidgets(ui.chkVisible, ui.chkLegendVisible); |
| 32 | |
| 33 | // Tab "General" |
| 34 | m_buttonNew = new QPushButton(); |
| 35 | m_buttonNew->setIcon(QIcon::fromTheme(QStringLiteral("list-add"))); |
| 36 | connect(m_buttonNew, &QPushButton::clicked, this, &BoxPlotDock::addDataColumn); |
| 37 | |
| 38 | m_gridLayout = new QGridLayout(ui.frameDataColumns); |
| 39 | m_gridLayout->setContentsMargins(0, 0, 0, 0); |
| 40 | m_gridLayout->setHorizontalSpacing(2); |
| 41 | m_gridLayout->setVerticalSpacing(2); |
| 42 | ui.frameDataColumns->setLayout(m_gridLayout); |
| 43 | |
| 44 | // Tab "Box" |
| 45 | auto* gridLayout = static_cast<QGridLayout*>(ui.tabBox->layout()); |
| 46 | backgroundWidget = new BackgroundWidget(ui.tabBox); |
| 47 | gridLayout->addWidget(backgroundWidget, 5, 0, 1, 3); |
| 48 | |
| 49 | // lines |
| 50 | borderLineWidget = new LineWidget(ui.tabBox); |
| 51 | gridLayout->addWidget(borderLineWidget, 8, 0, 1, 3); |
| 52 | |
| 53 | medianLineWidget = new LineWidget(ui.tabBox); |
| 54 | gridLayout->addWidget(medianLineWidget, 11, 0, 1, 3); |
| 55 | |
| 56 | // Tab "Markers" |
| 57 | gridLayout = static_cast<QGridLayout*>(ui.tabSymbol->layout()); |
| 58 | symbolWidget = new SymbolWidget(ui.tabSymbol); |
| 59 | gridLayout->addWidget(symbolWidget, 2, 0, 1, 3); |
| 60 | |
| 61 | // Tab "Whiskers" |
| 62 | gridLayout = static_cast<QGridLayout*>(ui.tabWhiskers->layout()); |
| 63 | whiskersLineWidget = new LineWidget(ui.tabBox); |
| 64 | gridLayout->addWidget(whiskersLineWidget, 1, 0, 1, 3); |
| 65 | |
| 66 | whiskersCapLineWidget = new LineWidget(ui.tabBox); |
| 67 | gridLayout->addWidget(whiskersCapLineWidget, 5, 0, 1, 3); |
| 68 | |
| 69 | // adjust layouts in the tabs |
| 70 | for (int i = 0; i < ui.tabWidget->count(); ++i) { |
| 71 | auto* layout = dynamic_cast<QGridLayout*>(ui.tabWidget->widget(i)->layout()); |
| 72 | if (!layout) |
| 73 | continue; |
| 74 | |
| 75 | layout->setContentsMargins(2, 2, 2, 2); |
| 76 | layout->setHorizontalSpacing(2); |
| 77 | layout->setVerticalSpacing(2); |
| 78 | } |
| 79 | |
| 80 | // Validators |
| 81 | ui.leWhiskersRangeParameter->setValidator(new QDoubleValidator(ui.leWhiskersRangeParameter)); |
| 82 | |
| 83 | updateLocale(); |