| 1 | /**************************************************************************** |
| 2 | ** |
| 3 | ** Copyright (C) 2016 The Qt Company Ltd. |
| 4 | ** Contact: https://www.qt.io/licensing/ |
| 5 | ** |
| 6 | ** This file is part of the Qt Data Visualization module of the Qt Toolkit. |
| 7 | ** |
| 8 | ** $QT_BEGIN_LICENSE:GPL$ |
| 9 | ** Commercial License Usage |
| 10 | ** Licensees holding valid commercial Qt licenses may use this file in |
| 11 | ** accordance with the commercial license agreement provided with the |
| 12 | ** Software or, alternatively, in accordance with the terms contained in |
| 13 | ** a written agreement between you and The Qt Company. For licensing terms |
| 14 | ** and conditions see https://www.qt.io/terms-conditions. For further |
| 15 | ** information use the contact form at https://www.qt.io/contact-us. |
| 16 | ** |
| 17 | ** GNU General Public License Usage |
| 18 | ** Alternatively, this file may be used under the terms of the GNU |
| 19 | ** General Public License version 3 or (at your option) any later version |
| 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by |
| 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 |
| 22 | ** included in the packaging of this file. Please review the following |
| 23 | ** information to ensure the GNU General Public License requirements will |
| 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. |
| 25 | ** |
| 26 | ** $QT_END_LICENSE$ |
| 27 | ** |
| 28 | ****************************************************************************/ |
| 29 | |
| 30 | #include "graphmodifier.h" |
| 31 | #include <QtDataVisualization/q3dtheme.h> |
| 32 | |
| 33 | #include <QApplication> |
| 34 | #include <QWidget> |
| 35 | #include <QHBoxLayout> |
| 36 | #include <QVBoxLayout> |
| 37 | #include <QPushButton> |
| 38 | #include <QCheckBox> |
| 39 | #include <QRadioButton> |
| 40 | #include <QSlider> |
| 41 | #include <QLabel> |
| 42 | #include <QScreen> |
| 43 | #include <QPainter> |
| 44 | #include <QFontComboBox> |
| 45 | #include <QFrame> |
| 46 | #include <QDebug> |
| 47 | |
| 48 | using namespace QtDataVisualization; |
| 49 | |
| 50 | const int initialTheme = 4; |
| 51 | |
| 52 | int main(int argc, char *argv[]) |
| 53 | { |
| 54 | QApplication app(argc, argv); |
| 55 | |
| 56 | QWidget *widget = new QWidget; |
| 57 | QHBoxLayout *hLayout = new QHBoxLayout(widget); |
| 58 | QVBoxLayout *vLayout = new QVBoxLayout(); |
| 59 | QVBoxLayout *vLayout2 = new QVBoxLayout(); |
| 60 | QVBoxLayout *vLayout3 = new QVBoxLayout(); |
| 61 | vLayout->setAlignment(Qt::AlignTop); |
| 62 | vLayout2->setAlignment(Qt::AlignTop); |
| 63 | vLayout3->setAlignment(Qt::AlignTop); |
| 64 | |
| 65 | Q3DSurface *surfaceGraph = new Q3DSurface(); |
| 66 | QSize screenSize = surfaceGraph->screen()->size(); |
| 67 | |
| 68 | // Set to default, should be same as the initial on themeList |
| 69 | surfaceGraph->activeTheme()->setType(Q3DTheme::Theme(initialTheme)); |
| 70 | |
| 71 | QWidget *container = QWidget::createWindowContainer(window: surfaceGraph); |
| 72 | container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 4)); |
| 73 | container->setMaximumSize(screenSize); |
| 74 | container->setSizePolicy(hor: QSizePolicy::Expanding, ver: QSizePolicy::Expanding); |
| 75 | container->setFocusPolicy(Qt::StrongFocus); |
| 76 | |
| 77 | widget->setWindowTitle(QStringLiteral("Surface tester" )); |
| 78 | |
| 79 | hLayout->addWidget(container, stretch: 1); |
| 80 | hLayout->addLayout(layout: vLayout); |
| 81 | hLayout->addLayout(layout: vLayout2); |
| 82 | hLayout->addLayout(layout: vLayout3); |
| 83 | |
| 84 | QCheckBox *smoothCB = new QCheckBox(widget); |
| 85 | smoothCB->setText(QStringLiteral("Flat Surface" )); |
| 86 | smoothCB->setChecked(true); |
| 87 | |
| 88 | QCheckBox *surfaceGridCB = new QCheckBox(widget); |
| 89 | surfaceGridCB->setText(QStringLiteral("Surface Grid" )); |
| 90 | surfaceGridCB->setChecked(true); |
| 91 | |
| 92 | QCheckBox *surfaceCB = new QCheckBox(widget); |
| 93 | surfaceCB->setText(QStringLiteral("Surface Visible" )); |
| 94 | surfaceCB->setChecked(true); |
| 95 | |
| 96 | QCheckBox *seriesVisibleCB = new QCheckBox(widget); |
| 97 | seriesVisibleCB->setText(QStringLiteral("Series Visible" )); |
| 98 | seriesVisibleCB->setChecked(true); |
| 99 | |
| 100 | #ifdef MULTI_SERIES |
| 101 | smoothCB->setText(QStringLiteral("S1 Flat Surface" )); |
| 102 | surfaceGridCB->setText(QStringLiteral("S1 Surface Grid" )); |
| 103 | surfaceCB->setText(QStringLiteral("S1 Surface Visible" )); |
| 104 | seriesVisibleCB->setText(QStringLiteral("Series 1 Visible" )); |
| 105 | |
| 106 | QCheckBox *smoothS2CB = new QCheckBox(widget); |
| 107 | smoothS2CB->setText(QStringLiteral("S2 Flat Surface" )); |
| 108 | smoothS2CB->setChecked(true); |
| 109 | |
| 110 | QCheckBox *surfaceGridS2CB = new QCheckBox(widget); |
| 111 | surfaceGridS2CB->setText(QStringLiteral("S2 Surface Grid" )); |
| 112 | surfaceGridS2CB->setChecked(true); |
| 113 | |
| 114 | QCheckBox *surfaceS2CB = new QCheckBox(widget); |
| 115 | surfaceS2CB->setText(QStringLiteral("S2 Surface Visible" )); |
| 116 | surfaceS2CB->setChecked(true); |
| 117 | |
| 118 | QCheckBox *series2VisibleCB = new QCheckBox(widget); |
| 119 | series2VisibleCB->setText(QStringLiteral("Series 2 Visible" )); |
| 120 | series2VisibleCB->setChecked(true); |
| 121 | |
| 122 | QCheckBox *smoothS3CB = new QCheckBox(widget); |
| 123 | smoothS3CB->setText(QStringLiteral("S3 Flat Surface" )); |
| 124 | smoothS3CB->setChecked(true); |
| 125 | |
| 126 | QCheckBox *surfaceGridS3CB = new QCheckBox(widget); |
| 127 | surfaceGridS3CB->setText(QStringLiteral("S3 Surface Grid" )); |
| 128 | surfaceGridS3CB->setChecked(true); |
| 129 | |
| 130 | QCheckBox *surfaceS3CB = new QCheckBox(widget); |
| 131 | surfaceS3CB->setText(QStringLiteral("S3 Surface Visible" )); |
| 132 | surfaceS3CB->setChecked(true); |
| 133 | |
| 134 | QCheckBox *series3VisibleCB = new QCheckBox(widget); |
| 135 | series3VisibleCB->setText(QStringLiteral("Series 3 Visible" )); |
| 136 | series3VisibleCB->setChecked(true); |
| 137 | |
| 138 | QCheckBox *smoothS4CB = new QCheckBox(widget); |
| 139 | smoothS4CB->setText(QStringLiteral("S4 Flat Surface" )); |
| 140 | smoothS4CB->setChecked(true); |
| 141 | |
| 142 | QCheckBox *surfaceGridS4CB = new QCheckBox(widget); |
| 143 | surfaceGridS4CB->setText(QStringLiteral("S4 Surface Grid" )); |
| 144 | surfaceGridS4CB->setChecked(true); |
| 145 | |
| 146 | QCheckBox *surfaceS4CB = new QCheckBox(widget); |
| 147 | surfaceS4CB->setText(QStringLiteral("S4 Surface Visible" )); |
| 148 | surfaceS4CB->setChecked(true); |
| 149 | |
| 150 | QCheckBox *series4VisibleCB = new QCheckBox(widget); |
| 151 | series4VisibleCB->setText(QStringLiteral("Series 4 Visible" )); |
| 152 | series4VisibleCB->setChecked(true); |
| 153 | |
| 154 | QCheckBox *series1CB = new QCheckBox(widget); |
| 155 | series1CB->setText(QStringLiteral("Series 1" )); |
| 156 | |
| 157 | QCheckBox *series2CB = new QCheckBox(widget); |
| 158 | series2CB->setText(QStringLiteral("Series 2" )); |
| 159 | |
| 160 | QCheckBox *series3CB = new QCheckBox(widget); |
| 161 | series3CB->setText(QStringLiteral("Series 3" )); |
| 162 | |
| 163 | QCheckBox *series4CB = new QCheckBox(widget); |
| 164 | series4CB->setText(QStringLiteral("Series 4" )); |
| 165 | #else |
| 166 | //QCheckBox *sqrtSinCB = new QCheckBox(widget); |
| 167 | QRadioButton *sqrtSinCB = new QRadioButton(widget); |
| 168 | sqrtSinCB->setText(QStringLiteral("Sqrt & Sin" )); |
| 169 | sqrtSinCB->setChecked(false); |
| 170 | |
| 171 | QRadioButton *planeCB = new QRadioButton(widget); |
| 172 | planeCB->setText(QStringLiteral("Plane" )); |
| 173 | planeCB->setChecked(false); |
| 174 | |
| 175 | QRadioButton *heightMapCB = new QRadioButton(widget); |
| 176 | heightMapCB->setText(QStringLiteral("Height map" )); |
| 177 | heightMapCB->setChecked(false); |
| 178 | |
| 179 | QCheckBox *gridSlidersLockCB = new QCheckBox(widget); |
| 180 | gridSlidersLockCB->setText(QStringLiteral("Lock" )); |
| 181 | gridSlidersLockCB->setChecked(false); |
| 182 | |
| 183 | QSlider *gridSliderX = new QSlider(Qt::Horizontal, widget); |
| 184 | gridSliderX->setTickInterval(1); |
| 185 | gridSliderX->setMinimum(2); |
| 186 | gridSliderX->setValue(30); |
| 187 | gridSliderX->setMaximum(200); |
| 188 | gridSliderX->setEnabled(true); |
| 189 | QSlider *gridSliderZ = new QSlider(Qt::Horizontal, widget); |
| 190 | gridSliderZ->setTickInterval(1); |
| 191 | gridSliderZ->setMinimum(2); |
| 192 | gridSliderZ->setValue(30); |
| 193 | gridSliderZ->setMaximum(200); |
| 194 | gridSliderZ->setEnabled(true); |
| 195 | #endif |
| 196 | |
| 197 | QSlider *axisRangeSliderX = new QSlider(Qt::Horizontal, widget); |
| 198 | axisRangeSliderX->setTickInterval(1); |
| 199 | axisRangeSliderX->setMinimum(1); |
| 200 | axisRangeSliderX->setValue(34); |
| 201 | axisRangeSliderX->setMaximum(100); |
| 202 | axisRangeSliderX->setEnabled(true); |
| 203 | QSlider *axisRangeSliderY = new QSlider(Qt::Horizontal, widget); |
| 204 | axisRangeSliderY->setTickInterval(1); |
| 205 | axisRangeSliderY->setMinimum(1); |
| 206 | axisRangeSliderY->setValue(16); |
| 207 | axisRangeSliderY->setMaximum(100); |
| 208 | axisRangeSliderY->setEnabled(true); |
| 209 | QSlider *axisRangeSliderZ = new QSlider(Qt::Horizontal, widget); |
| 210 | axisRangeSliderZ->setTickInterval(1); |
| 211 | axisRangeSliderZ->setMinimum(1); |
| 212 | axisRangeSliderZ->setValue(34); |
| 213 | axisRangeSliderZ->setMaximum(100); |
| 214 | axisRangeSliderZ->setEnabled(true); |
| 215 | |
| 216 | QSlider *axisMinSliderX = new QSlider(Qt::Horizontal, widget); |
| 217 | axisMinSliderX->setTickInterval(1); |
| 218 | axisMinSliderX->setMinimum(-100); |
| 219 | axisMinSliderX->setValue(-17); |
| 220 | axisMinSliderX->setMaximum(100); |
| 221 | axisMinSliderX->setEnabled(true); |
| 222 | QSlider *axisMinSliderY = new QSlider(Qt::Horizontal, widget); |
| 223 | axisMinSliderY->setTickInterval(1); |
| 224 | axisMinSliderY->setMinimum(-100); |
| 225 | axisMinSliderY->setValue(-8); |
| 226 | axisMinSliderY->setMaximum(100); |
| 227 | axisMinSliderY->setEnabled(true); |
| 228 | QSlider *axisMinSliderZ = new QSlider(Qt::Horizontal, widget); |
| 229 | axisMinSliderZ->setTickInterval(1); |
| 230 | axisMinSliderZ->setMinimum(-100); |
| 231 | axisMinSliderZ->setValue(-17); |
| 232 | axisMinSliderZ->setMaximum(100); |
| 233 | axisMinSliderZ->setEnabled(true); |
| 234 | |
| 235 | QSlider *aspectRatioSlider = new QSlider(Qt::Horizontal, widget); |
| 236 | aspectRatioSlider->setMinimum(1); |
| 237 | aspectRatioSlider->setValue(20); |
| 238 | aspectRatioSlider->setMaximum(100); |
| 239 | |
| 240 | QSlider *horizontalAspectRatioSlider = new QSlider(Qt::Horizontal, widget); |
| 241 | horizontalAspectRatioSlider->setMinimum(0); |
| 242 | horizontalAspectRatioSlider->setValue(0); |
| 243 | horizontalAspectRatioSlider->setMaximum(300); |
| 244 | |
| 245 | QLinearGradient gr(0, 0, 100, 1); |
| 246 | gr.setColorAt(pos: 0.0, color: Qt::black); |
| 247 | gr.setColorAt(pos: 0.33, color: Qt::blue); |
| 248 | gr.setColorAt(pos: 0.67, color: Qt::red); |
| 249 | gr.setColorAt(pos: 1.0, color: Qt::yellow); |
| 250 | QPixmap pm(100, 24); |
| 251 | QPainter pmp(&pm); |
| 252 | pmp.setBrush(QBrush(gr)); |
| 253 | pmp.setPen(Qt::NoPen); |
| 254 | pmp.drawRect(x: 0, y: 0, w: 100, h: 24); |
| 255 | QPushButton *colorPB = new QPushButton(); |
| 256 | colorPB->setIcon(QIcon(pm)); |
| 257 | colorPB->setIconSize(QSize(100, 24)); |
| 258 | |
| 259 | QFontComboBox *fontList = new QFontComboBox(widget); |
| 260 | fontList->setCurrentFont(QFont("Arial" )); |
| 261 | |
| 262 | QPushButton *labelButton = new QPushButton(widget); |
| 263 | labelButton->setText(QStringLiteral("Change label style" )); |
| 264 | |
| 265 | QPushButton *meshButton = new QPushButton(widget); |
| 266 | meshButton->setText(QStringLiteral("Change pointer mesh" )); |
| 267 | |
| 268 | QComboBox *themeList = new QComboBox(widget); |
| 269 | themeList->addItem(QStringLiteral("Qt" )); |
| 270 | themeList->addItem(QStringLiteral("Primary Colors" )); |
| 271 | themeList->addItem(QStringLiteral("Digia" )); |
| 272 | themeList->addItem(QStringLiteral("Stone Moss" )); |
| 273 | themeList->addItem(QStringLiteral("Army Blue" )); |
| 274 | themeList->addItem(QStringLiteral("Retro" )); |
| 275 | themeList->addItem(QStringLiteral("Ebony" )); |
| 276 | themeList->addItem(QStringLiteral("Isabelle" )); |
| 277 | themeList->setCurrentIndex(initialTheme); |
| 278 | |
| 279 | QComboBox *shadowQuality = new QComboBox(widget); |
| 280 | shadowQuality->addItem(QStringLiteral("None" )); |
| 281 | shadowQuality->addItem(QStringLiteral("Low" )); |
| 282 | shadowQuality->addItem(QStringLiteral("Medium" )); |
| 283 | shadowQuality->addItem(QStringLiteral("High" )); |
| 284 | shadowQuality->addItem(QStringLiteral("Low Soft" )); |
| 285 | shadowQuality->addItem(QStringLiteral("Medium Soft" )); |
| 286 | shadowQuality->addItem(QStringLiteral("High Soft" )); |
| 287 | shadowQuality->setCurrentIndex(3); |
| 288 | |
| 289 | QComboBox *selectionMode = new QComboBox(widget); |
| 290 | selectionMode->addItem(QStringLiteral("None" ), |
| 291 | auserData: int(QAbstract3DGraph::SelectionNone)); |
| 292 | selectionMode->addItem(QStringLiteral("Item" ), |
| 293 | auserData: int(QAbstract3DGraph::SelectionItem)); |
| 294 | selectionMode->addItem(QStringLiteral("Multi: Item" ), |
| 295 | auserData: int(QAbstract3DGraph::SelectionItem | QAbstract3DGraph::SelectionMultiSeries)); |
| 296 | selectionMode->addItem(QStringLiteral("Row" ), |
| 297 | auserData: int(QAbstract3DGraph::SelectionRow)); |
| 298 | selectionMode->addItem(QStringLiteral("Item and Row" ), |
| 299 | auserData: int(QAbstract3DGraph::SelectionItemAndRow)); |
| 300 | selectionMode->addItem(QStringLiteral("Column" ), |
| 301 | auserData: int(QAbstract3DGraph::SelectionColumn)); |
| 302 | selectionMode->addItem(QStringLiteral("Item and Column" ), |
| 303 | auserData: int(QAbstract3DGraph::SelectionItemAndColumn)); |
| 304 | selectionMode->addItem(QStringLiteral("Row and Column" ), |
| 305 | auserData: int(QAbstract3DGraph::SelectionRowAndColumn)); |
| 306 | selectionMode->addItem(QStringLiteral("Item, Row and Column" ), |
| 307 | auserData: int(QAbstract3DGraph::SelectionItemRowAndColumn)); |
| 308 | selectionMode->addItem(QStringLiteral("Multi: Item, Row and Column" ), |
| 309 | auserData: int(QAbstract3DGraph::SelectionItemRowAndColumn | QAbstract3DGraph::SelectionMultiSeries)); |
| 310 | selectionMode->addItem(QStringLiteral("Slice into Row" ), |
| 311 | auserData: int(QAbstract3DGraph::SelectionSlice | QAbstract3DGraph::SelectionRow)); |
| 312 | selectionMode->addItem(QStringLiteral("Slice into Row and Item" ), |
| 313 | auserData: int(QAbstract3DGraph::SelectionSlice | QAbstract3DGraph::SelectionItemAndRow)); |
| 314 | selectionMode->addItem(QStringLiteral("Multi: Slice, Row & Item" ), |
| 315 | auserData: int(QAbstract3DGraph::SelectionSlice | QAbstract3DGraph::SelectionItemAndRow |
| 316 | | QAbstract3DGraph::SelectionMultiSeries)); |
| 317 | selectionMode->addItem(QStringLiteral("Slice into Column" ), |
| 318 | auserData: int(QAbstract3DGraph::SelectionSlice | QAbstract3DGraph::SelectionColumn)); |
| 319 | selectionMode->addItem(QStringLiteral("Slice into Column and Item" ), |
| 320 | auserData: int(QAbstract3DGraph::SelectionSlice | QAbstract3DGraph::SelectionItemAndColumn)); |
| 321 | selectionMode->addItem(QStringLiteral("Multi: Slice, Column & Item" ), |
| 322 | auserData: int(QAbstract3DGraph::SelectionSlice | QAbstract3DGraph::SelectionItemAndColumn |
| 323 | | QAbstract3DGraph::SelectionMultiSeries)); |
| 324 | |
| 325 | #ifndef MULTI_SERIES |
| 326 | QPushButton *selectButton = new QPushButton(widget); |
| 327 | selectButton->setText(QStringLiteral("Select random point" )); |
| 328 | |
| 329 | QPushButton *flipViewsButton = new QPushButton(widget); |
| 330 | flipViewsButton->setText(QStringLiteral("Flip Views" )); |
| 331 | |
| 332 | QLabel *selectionInfoLabel = new QLabel(widget); |
| 333 | #endif |
| 334 | |
| 335 | QPushButton *changeRowButton = new QPushButton(widget); |
| 336 | changeRowButton->setText(QStringLiteral("Change a row" )); |
| 337 | |
| 338 | QPushButton *changeRowsButton = new QPushButton(widget); |
| 339 | changeRowsButton->setText(QStringLiteral("Change 3 rows" )); |
| 340 | |
| 341 | QPushButton *changeItemButton = new QPushButton(widget); |
| 342 | changeItemButton->setText(QStringLiteral("Change item" )); |
| 343 | |
| 344 | QPushButton *changeMultipleItemButton = new QPushButton(widget); |
| 345 | changeMultipleItemButton->setText(QStringLiteral("Change many items" )); |
| 346 | |
| 347 | QPushButton *changeMultipleRowsButton = new QPushButton(widget); |
| 348 | changeMultipleRowsButton->setText(QStringLiteral("Change many rows" )); |
| 349 | |
| 350 | QPushButton *addRowButton = new QPushButton(widget); |
| 351 | addRowButton->setText(QStringLiteral("Add a row" )); |
| 352 | |
| 353 | QPushButton *addRowsButton = new QPushButton(widget); |
| 354 | addRowsButton->setText(QStringLiteral("Add 3 rows" )); |
| 355 | |
| 356 | QPushButton *insertRowButton = new QPushButton(widget); |
| 357 | insertRowButton->setText(QStringLiteral("Insert a row" )); |
| 358 | |
| 359 | QPushButton *insertRowsButton = new QPushButton(widget); |
| 360 | insertRowsButton->setText(QStringLiteral("Insert 3 rows" )); |
| 361 | |
| 362 | QPushButton *removeRowButton = new QPushButton(widget); |
| 363 | removeRowButton->setText(QStringLiteral("Remove a row" )); |
| 364 | |
| 365 | QPushButton *resetArrayButton = new QPushButton(widget); |
| 366 | resetArrayButton->setText(QStringLiteral("Reset Series Array to plane" )); |
| 367 | |
| 368 | QPushButton *resetArrayEmptyButton = new QPushButton(widget); |
| 369 | resetArrayEmptyButton->setText(QStringLiteral("Reset Series Array to empty" )); |
| 370 | |
| 371 | QPushButton *massiveDataTestButton = new QPushButton(widget); |
| 372 | massiveDataTestButton->setText(QStringLiteral("Massive data test" )); |
| 373 | |
| 374 | QPushButton *testReverseButton = new QPushButton(widget); |
| 375 | testReverseButton->setText(QStringLiteral("Test Axis Reversing" )); |
| 376 | |
| 377 | QPushButton *testDataOrderingButton = new QPushButton(widget); |
| 378 | testDataOrderingButton->setText(QStringLiteral("Test data ordering" )); |
| 379 | |
| 380 | QFrame* line = new QFrame(); |
| 381 | line->setFrameShape(QFrame::HLine); |
| 382 | line->setFrameShadow(QFrame::Sunken); |
| 383 | |
| 384 | QFrame* line2 = new QFrame(); |
| 385 | line2->setFrameShape(QFrame::HLine); |
| 386 | line2->setFrameShadow(QFrame::Sunken); |
| 387 | |
| 388 | QFrame* line3 = new QFrame(); |
| 389 | line3->setFrameShape(QFrame::HLine); |
| 390 | line3->setFrameShadow(QFrame::Sunken); |
| 391 | |
| 392 | QCheckBox *axisTitlesVisibleCB = new QCheckBox(widget); |
| 393 | axisTitlesVisibleCB->setText(QStringLiteral("Axis titles visible" )); |
| 394 | axisTitlesVisibleCB->setChecked(false); |
| 395 | |
| 396 | QCheckBox *axisTitlesFixedCB = new QCheckBox(widget); |
| 397 | axisTitlesFixedCB->setText(QStringLiteral("Axis titles fixed" )); |
| 398 | axisTitlesFixedCB->setChecked(true); |
| 399 | |
| 400 | QSlider *axisLabelRotationSlider = new QSlider(Qt::Horizontal, widget); |
| 401 | axisLabelRotationSlider->setTickInterval(10); |
| 402 | axisLabelRotationSlider->setTickPosition(QSlider::TicksBelow); |
| 403 | axisLabelRotationSlider->setMinimum(0); |
| 404 | axisLabelRotationSlider->setValue(0); |
| 405 | axisLabelRotationSlider->setMaximum(90); |
| 406 | |
| 407 | QCheckBox *xAscendingCB = new QCheckBox(widget); |
| 408 | xAscendingCB->setText(QStringLiteral("X Ascending" )); |
| 409 | xAscendingCB->setChecked(true); |
| 410 | |
| 411 | QCheckBox *zAscendingCB = new QCheckBox(widget); |
| 412 | zAscendingCB->setText(QStringLiteral("Z Ascending" )); |
| 413 | zAscendingCB->setChecked(true); |
| 414 | |
| 415 | QCheckBox *polarCB = new QCheckBox(widget); |
| 416 | polarCB->setText(QStringLiteral("Polar" )); |
| 417 | polarCB->setChecked(false); |
| 418 | |
| 419 | QCheckBox *surfaceTextureCB = new QCheckBox(widget); |
| 420 | surfaceTextureCB->setText(QStringLiteral("Map texture" )); |
| 421 | surfaceTextureCB->setChecked(false); |
| 422 | |
| 423 | QSlider *cameraTargetSliderX = new QSlider(Qt::Horizontal, widget); |
| 424 | cameraTargetSliderX->setTickInterval(1); |
| 425 | cameraTargetSliderX->setMinimum(-100); |
| 426 | cameraTargetSliderX->setValue(0); |
| 427 | cameraTargetSliderX->setMaximum(100); |
| 428 | QSlider *cameraTargetSliderY = new QSlider(Qt::Horizontal, widget); |
| 429 | cameraTargetSliderY->setTickInterval(1); |
| 430 | cameraTargetSliderY->setMinimum(-100); |
| 431 | cameraTargetSliderY->setValue(0); |
| 432 | cameraTargetSliderY->setMaximum(100); |
| 433 | QSlider *cameraTargetSliderZ = new QSlider(Qt::Horizontal, widget); |
| 434 | cameraTargetSliderZ->setTickInterval(1); |
| 435 | cameraTargetSliderZ->setMinimum(-100); |
| 436 | cameraTargetSliderZ->setValue(0); |
| 437 | cameraTargetSliderZ->setMaximum(100); |
| 438 | |
| 439 | QSlider *marginSlider = new QSlider(Qt::Horizontal, widget); |
| 440 | marginSlider->setMinimum(-1); |
| 441 | marginSlider->setValue(-1); |
| 442 | marginSlider->setMaximum(100); |
| 443 | |
| 444 | // Add controls to the layout |
| 445 | #ifdef MULTI_SERIES |
| 446 | vLayout->addWidget(series1CB); |
| 447 | #endif |
| 448 | vLayout->addWidget(smoothCB); |
| 449 | vLayout->addWidget(surfaceGridCB); |
| 450 | vLayout->addWidget(surfaceCB); |
| 451 | vLayout->addWidget(seriesVisibleCB); |
| 452 | #ifdef MULTI_SERIES |
| 453 | vLayout->addWidget(line); |
| 454 | vLayout->addWidget(series2CB); |
| 455 | vLayout->addWidget(smoothS2CB); |
| 456 | vLayout->addWidget(surfaceGridS2CB); |
| 457 | vLayout->addWidget(surfaceS2CB); |
| 458 | vLayout->addWidget(series2VisibleCB); |
| 459 | vLayout->addWidget(line2); |
| 460 | vLayout->addWidget(series3CB); |
| 461 | vLayout->addWidget(smoothS3CB); |
| 462 | vLayout->addWidget(surfaceGridS3CB); |
| 463 | vLayout->addWidget(surfaceS3CB); |
| 464 | vLayout->addWidget(series3VisibleCB); |
| 465 | vLayout->addWidget(line3); |
| 466 | vLayout->addWidget(series4CB); |
| 467 | vLayout->addWidget(smoothS4CB); |
| 468 | vLayout->addWidget(surfaceGridS4CB); |
| 469 | vLayout->addWidget(surfaceS4CB); |
| 470 | vLayout->addWidget(series4VisibleCB); |
| 471 | vLayout->addWidget(surfaceTextureCB, stretch: 1, alignment: Qt::AlignTop); |
| 472 | #endif |
| 473 | #ifndef MULTI_SERIES |
| 474 | vLayout->addWidget(new QLabel(QStringLiteral("Select surface sample" ))); |
| 475 | vLayout->addWidget(sqrtSinCB); |
| 476 | vLayout->addWidget(planeCB); |
| 477 | vLayout->addWidget(heightMapCB); |
| 478 | vLayout->addWidget(new QLabel(QStringLiteral("Adjust sample count" ))); |
| 479 | vLayout->addWidget(gridSlidersLockCB); |
| 480 | vLayout->addWidget(gridSliderX); |
| 481 | vLayout->addWidget(gridSliderZ, 1, Qt::AlignTop); |
| 482 | #endif |
| 483 | |
| 484 | vLayout2->addWidget(new QLabel(QStringLiteral("Adjust vertical aspect ratio" ))); |
| 485 | vLayout2->addWidget(aspectRatioSlider); |
| 486 | vLayout2->addWidget(new QLabel(QStringLiteral("Adjust horizontal aspect ratio" ))); |
| 487 | vLayout2->addWidget(horizontalAspectRatioSlider); |
| 488 | vLayout2->addWidget(new QLabel(QStringLiteral("Adjust axis range" ))); |
| 489 | vLayout2->addWidget(axisRangeSliderX); |
| 490 | vLayout2->addWidget(axisRangeSliderY); |
| 491 | vLayout2->addWidget(axisRangeSliderZ); |
| 492 | vLayout2->addWidget(new QLabel(QStringLiteral("Adjust axis minimum" ))); |
| 493 | vLayout2->addWidget(axisMinSliderX); |
| 494 | vLayout2->addWidget(axisMinSliderY); |
| 495 | vLayout2->addWidget(axisMinSliderZ); |
| 496 | vLayout2->addWidget(xAscendingCB); |
| 497 | vLayout2->addWidget(zAscendingCB); |
| 498 | vLayout2->addWidget(polarCB); |
| 499 | vLayout2->addWidget(new QLabel(QStringLiteral("Change font" ))); |
| 500 | vLayout2->addWidget(fontList); |
| 501 | vLayout2->addWidget(new QLabel(QStringLiteral("Change theme" ))); |
| 502 | vLayout2->addWidget(themeList); |
| 503 | vLayout2->addWidget(new QLabel(QStringLiteral("Adjust shadow quality" ))); |
| 504 | vLayout2->addWidget(shadowQuality); |
| 505 | vLayout2->addWidget(new QLabel(QStringLiteral("Selection Mode" ))); |
| 506 | vLayout2->addWidget(selectionMode); |
| 507 | vLayout2->addWidget(new QLabel(QStringLiteral("Camera target" ))); |
| 508 | vLayout2->addWidget(cameraTargetSliderX); |
| 509 | vLayout2->addWidget(cameraTargetSliderY); |
| 510 | vLayout2->addWidget(cameraTargetSliderZ); |
| 511 | vLayout2->addWidget(new QLabel(QStringLiteral("Adjust margin" )), stretch: 0, alignment: Qt::AlignTop); |
| 512 | vLayout2->addWidget(marginSlider, stretch: 1, alignment: Qt::AlignTop); |
| 513 | |
| 514 | vLayout3->addWidget(labelButton); |
| 515 | vLayout3->addWidget(meshButton); |
| 516 | #ifndef MULTI_SERIES |
| 517 | vLayout3->addWidget(selectButton); |
| 518 | vLayout3->addWidget(selectionInfoLabel); |
| 519 | vLayout3->addWidget(flipViewsButton); |
| 520 | #endif |
| 521 | |
| 522 | vLayout3->addWidget(colorPB); |
| 523 | vLayout3->addWidget(changeRowButton); |
| 524 | vLayout3->addWidget(changeRowsButton); |
| 525 | vLayout3->addWidget(changeMultipleRowsButton); |
| 526 | vLayout3->addWidget(changeItemButton); |
| 527 | vLayout3->addWidget(changeMultipleItemButton); |
| 528 | vLayout3->addWidget(addRowButton); |
| 529 | vLayout3->addWidget(addRowsButton); |
| 530 | vLayout3->addWidget(insertRowButton); |
| 531 | vLayout3->addWidget(insertRowsButton); |
| 532 | vLayout3->addWidget(removeRowButton); |
| 533 | vLayout3->addWidget(resetArrayButton); |
| 534 | vLayout3->addWidget(resetArrayEmptyButton); |
| 535 | vLayout3->addWidget(massiveDataTestButton); |
| 536 | vLayout3->addWidget(testReverseButton); |
| 537 | vLayout3->addWidget(testDataOrderingButton); |
| 538 | vLayout3->addWidget(axisTitlesVisibleCB); |
| 539 | vLayout3->addWidget(axisTitlesFixedCB); |
| 540 | vLayout3->addWidget(new QLabel(QStringLiteral("Axis label rotation" ))); |
| 541 | vLayout3->addWidget(axisLabelRotationSlider, stretch: 1, alignment: Qt::AlignTop); |
| 542 | |
| 543 | widget->show(); |
| 544 | |
| 545 | GraphModifier *modifier = new GraphModifier(surfaceGraph, container); |
| 546 | |
| 547 | // Connect controls to slots on modifier |
| 548 | QObject::connect(sender: smoothCB, signal: &QCheckBox::stateChanged, |
| 549 | receiver: modifier, slot: &GraphModifier::toggleSmooth); |
| 550 | QObject::connect(sender: surfaceGridCB, signal: &QCheckBox::stateChanged, |
| 551 | receiver: modifier, slot: &GraphModifier::toggleSurfaceGrid); |
| 552 | QObject::connect(sender: surfaceCB, signal: &QCheckBox::stateChanged, |
| 553 | receiver: modifier, slot: &GraphModifier::toggleSurface); |
| 554 | QObject::connect(sender: seriesVisibleCB, signal: &QCheckBox::stateChanged, |
| 555 | receiver: modifier, slot: &GraphModifier::toggleSeriesVisible); |
| 556 | #ifdef MULTI_SERIES |
| 557 | QObject::connect(sender: smoothS2CB, signal: &QCheckBox::stateChanged, |
| 558 | receiver: modifier, slot: &GraphModifier::toggleSmoothS2); |
| 559 | QObject::connect(sender: surfaceGridS2CB, signal: &QCheckBox::stateChanged, |
| 560 | receiver: modifier, slot: &GraphModifier::toggleSurfaceGridS2); |
| 561 | QObject::connect(sender: surfaceS2CB, signal: &QCheckBox::stateChanged, |
| 562 | receiver: modifier, slot: &GraphModifier::toggleSurfaceS2); |
| 563 | QObject::connect(sender: series2VisibleCB, signal: &QCheckBox::stateChanged, |
| 564 | receiver: modifier, slot: &GraphModifier::toggleSeries2Visible); |
| 565 | |
| 566 | QObject::connect(sender: smoothS3CB, signal: &QCheckBox::stateChanged, |
| 567 | receiver: modifier, slot: &GraphModifier::toggleSmoothS3); |
| 568 | QObject::connect(sender: surfaceGridS3CB, signal: &QCheckBox::stateChanged, |
| 569 | receiver: modifier, slot: &GraphModifier::toggleSurfaceGridS3); |
| 570 | QObject::connect(sender: surfaceS3CB, signal: &QCheckBox::stateChanged, |
| 571 | receiver: modifier, slot: &GraphModifier::toggleSurfaceS3); |
| 572 | QObject::connect(sender: series3VisibleCB, signal: &QCheckBox::stateChanged, |
| 573 | receiver: modifier, slot: &GraphModifier::toggleSeries3Visible); |
| 574 | |
| 575 | QObject::connect(sender: smoothS4CB, signal: &QCheckBox::stateChanged, |
| 576 | receiver: modifier, slot: &GraphModifier::toggleSmoothS4); |
| 577 | QObject::connect(sender: surfaceGridS4CB, signal: &QCheckBox::stateChanged, |
| 578 | receiver: modifier, slot: &GraphModifier::toggleSurfaceGridS4); |
| 579 | QObject::connect(sender: surfaceS4CB, signal: &QCheckBox::stateChanged, |
| 580 | receiver: modifier, slot: &GraphModifier::toggleSurfaceS4); |
| 581 | QObject::connect(sender: series4VisibleCB, signal: &QCheckBox::stateChanged, |
| 582 | receiver: modifier, slot: &GraphModifier::toggleSeries4Visible); |
| 583 | |
| 584 | QObject::connect(sender: series1CB, signal: &QCheckBox::stateChanged, |
| 585 | receiver: modifier, slot: &GraphModifier::toggleSeries1); |
| 586 | QObject::connect(sender: series1CB, signal: &QCheckBox::stateChanged, |
| 587 | receiver: smoothCB, slot: &QPushButton::setEnabled); |
| 588 | QObject::connect(sender: series1CB, signal: &QCheckBox::stateChanged, |
| 589 | receiver: surfaceGridCB, slot: &QPushButton::setEnabled); |
| 590 | QObject::connect(sender: series1CB, signal: &QCheckBox::stateChanged, |
| 591 | receiver: surfaceCB, slot: &QPushButton::setEnabled); |
| 592 | QObject::connect(sender: series1CB, signal: &QCheckBox::stateChanged, |
| 593 | receiver: seriesVisibleCB, slot: &QPushButton::setEnabled); |
| 594 | |
| 595 | QObject::connect(sender: series2CB, signal: &QCheckBox::stateChanged, |
| 596 | receiver: modifier, slot: &GraphModifier::toggleSeries2); |
| 597 | QObject::connect(sender: series2CB, signal: &QCheckBox::stateChanged, |
| 598 | receiver: smoothS2CB, slot: &QPushButton::setEnabled); |
| 599 | QObject::connect(sender: series2CB, signal: &QCheckBox::stateChanged, |
| 600 | receiver: surfaceGridS2CB, slot: &QPushButton::setEnabled); |
| 601 | QObject::connect(sender: series2CB, signal: &QCheckBox::stateChanged, |
| 602 | receiver: surfaceS2CB, slot: &QPushButton::setEnabled); |
| 603 | QObject::connect(sender: series2CB, signal: &QCheckBox::stateChanged, |
| 604 | receiver: series2VisibleCB, slot: &QPushButton::setEnabled); |
| 605 | |
| 606 | QObject::connect(sender: series3CB, signal: &QCheckBox::stateChanged, |
| 607 | receiver: modifier, slot: &GraphModifier::toggleSeries3); |
| 608 | QObject::connect(sender: series3CB, signal: &QCheckBox::stateChanged, |
| 609 | receiver: smoothS3CB, slot: &QPushButton::setEnabled); |
| 610 | QObject::connect(sender: series3CB, signal: &QCheckBox::stateChanged, |
| 611 | receiver: surfaceGridS3CB, slot: &QPushButton::setEnabled); |
| 612 | QObject::connect(sender: series3CB, signal: &QCheckBox::stateChanged, |
| 613 | receiver: surfaceS3CB, slot: &QPushButton::setEnabled); |
| 614 | QObject::connect(sender: series3CB, signal: &QCheckBox::stateChanged, |
| 615 | receiver: series3VisibleCB, slot: &QPushButton::setEnabled); |
| 616 | |
| 617 | QObject::connect(sender: series4CB, signal: &QCheckBox::stateChanged, |
| 618 | receiver: modifier, slot: &GraphModifier::toggleSeries4); |
| 619 | QObject::connect(sender: series4CB, signal: &QCheckBox::stateChanged, |
| 620 | receiver: smoothS4CB, slot: &QPushButton::setEnabled); |
| 621 | QObject::connect(sender: series4CB, signal: &QCheckBox::stateChanged, |
| 622 | receiver: surfaceGridS4CB, slot: &QPushButton::setEnabled); |
| 623 | QObject::connect(sender: series4CB, signal: &QCheckBox::stateChanged, |
| 624 | receiver: surfaceS4CB, slot: &QPushButton::setEnabled); |
| 625 | QObject::connect(sender: series4CB, signal: &QCheckBox::stateChanged, |
| 626 | receiver: series4VisibleCB, slot: &QPushButton::setEnabled); |
| 627 | #else |
| 628 | QObject::connect(sqrtSinCB, &QRadioButton::toggled, |
| 629 | modifier, &GraphModifier::toggleSqrtSin); |
| 630 | QObject::connect(planeCB, &QCheckBox::toggled, |
| 631 | modifier, &GraphModifier::togglePlane); |
| 632 | QObject::connect(heightMapCB, &QCheckBox::toggled, |
| 633 | modifier, &GraphModifier::setHeightMapData); |
| 634 | QObject::connect(gridSlidersLockCB, &QCheckBox::stateChanged, |
| 635 | modifier, &GraphModifier::toggleGridSliderLock); |
| 636 | QObject::connect(gridSliderX, &QSlider::valueChanged, |
| 637 | modifier, &GraphModifier::adjustXCount); |
| 638 | QObject::connect(gridSliderZ, &QSlider::valueChanged, |
| 639 | modifier, &GraphModifier::adjustZCount); |
| 640 | #endif |
| 641 | QObject::connect(sender: axisRangeSliderX, signal: &QSlider::valueChanged, |
| 642 | receiver: modifier, slot: &GraphModifier::adjustXRange); |
| 643 | QObject::connect(sender: axisRangeSliderY, signal: &QSlider::valueChanged, |
| 644 | receiver: modifier, slot: &GraphModifier::adjustYRange); |
| 645 | QObject::connect(sender: axisRangeSliderZ, signal: &QSlider::valueChanged, |
| 646 | receiver: modifier, slot: &GraphModifier::adjustZRange); |
| 647 | QObject::connect(sender: axisMinSliderX, signal: &QSlider::valueChanged, |
| 648 | receiver: modifier, slot: &GraphModifier::adjustXMin); |
| 649 | QObject::connect(sender: axisMinSliderY, signal: &QSlider::valueChanged, |
| 650 | receiver: modifier, slot: &GraphModifier::adjustYMin); |
| 651 | QObject::connect(sender: axisMinSliderZ, signal: &QSlider::valueChanged, |
| 652 | receiver: modifier, slot: &GraphModifier::adjustZMin); |
| 653 | QObject::connect(sender: colorPB, signal: &QPushButton::pressed, |
| 654 | receiver: modifier, slot: &GraphModifier::gradientPressed); |
| 655 | QObject::connect(sender: fontList, signal: &QFontComboBox::currentFontChanged, |
| 656 | receiver: modifier, slot: &GraphModifier::changeFont); |
| 657 | QObject::connect(sender: labelButton, signal: &QPushButton::clicked, |
| 658 | receiver: modifier, slot: &GraphModifier::changeStyle); |
| 659 | QObject::connect(sender: meshButton, signal: &QPushButton::clicked, |
| 660 | receiver: modifier, slot: &GraphModifier::changeMesh); |
| 661 | QObject::connect(sender: themeList, SIGNAL(currentIndexChanged(int)), |
| 662 | receiver: modifier, SLOT(changeTheme(int))); |
| 663 | QObject::connect(sender: shadowQuality, SIGNAL(currentIndexChanged(int)), |
| 664 | receiver: modifier, SLOT(changeShadowQuality(int))); |
| 665 | QObject::connect(sender: selectionMode, SIGNAL(currentIndexChanged(int)), |
| 666 | receiver: modifier, SLOT(changeSelectionMode(int))); |
| 667 | #ifndef MULTI_SERIES |
| 668 | QObject::connect(selectButton, &QPushButton::clicked, |
| 669 | modifier, &GraphModifier::selectButtonClicked); |
| 670 | QObject::connect(flipViewsButton, &QPushButton::clicked, |
| 671 | modifier, &GraphModifier::flipViews); |
| 672 | #endif |
| 673 | QObject::connect(sender: changeRowButton,signal: &QPushButton::clicked, |
| 674 | receiver: modifier, slot: &GraphModifier::changeRow); |
| 675 | QObject::connect(sender: changeRowsButton,signal: &QPushButton::clicked, |
| 676 | receiver: modifier, slot: &GraphModifier::changeRows); |
| 677 | QObject::connect(sender: changeItemButton,signal: &QPushButton::clicked, |
| 678 | receiver: modifier, slot: &GraphModifier::changeItem); |
| 679 | QObject::connect(sender: changeMultipleItemButton,signal: &QPushButton::clicked, |
| 680 | receiver: modifier, slot: &GraphModifier::changeMultipleItem); |
| 681 | QObject::connect(sender: changeMultipleRowsButton,signal: &QPushButton::clicked, |
| 682 | receiver: modifier, slot: &GraphModifier::changeMultipleRows); |
| 683 | QObject::connect(sender: addRowButton,signal: &QPushButton::clicked, |
| 684 | receiver: modifier, slot: &GraphModifier::addRow); |
| 685 | QObject::connect(sender: addRowsButton,signal: &QPushButton::clicked, |
| 686 | receiver: modifier, slot: &GraphModifier::addRows); |
| 687 | QObject::connect(sender: insertRowButton,signal: &QPushButton::clicked, |
| 688 | receiver: modifier, slot: &GraphModifier::insertRow); |
| 689 | QObject::connect(sender: insertRowsButton,signal: &QPushButton::clicked, |
| 690 | receiver: modifier, slot: &GraphModifier::insertRows); |
| 691 | QObject::connect(sender: removeRowButton,signal: &QPushButton::clicked, |
| 692 | receiver: modifier, slot: &GraphModifier::removeRow); |
| 693 | QObject::connect(sender: resetArrayButton,signal: &QPushButton::clicked, |
| 694 | receiver: modifier, slot: &GraphModifier::resetArray); |
| 695 | QObject::connect(sender: resetArrayEmptyButton,signal: &QPushButton::clicked, |
| 696 | receiver: modifier, slot: &GraphModifier::resetArrayEmpty); |
| 697 | QObject::connect(sender: massiveDataTestButton,signal: &QPushButton::clicked, |
| 698 | receiver: modifier, slot: &GraphModifier::massiveDataTest); |
| 699 | QObject::connect(sender: testReverseButton, signal: &QPushButton::clicked, |
| 700 | receiver: modifier, slot: &GraphModifier::testAxisReverse); |
| 701 | QObject::connect(sender: testDataOrderingButton, signal: &QPushButton::clicked, |
| 702 | receiver: modifier, slot: &GraphModifier::testDataOrdering); |
| 703 | QObject::connect(sender: axisTitlesVisibleCB, signal: &QCheckBox::stateChanged, |
| 704 | receiver: modifier, slot: &GraphModifier::toggleAxisTitleVisibility); |
| 705 | QObject::connect(sender: axisTitlesFixedCB, signal: &QCheckBox::stateChanged, |
| 706 | receiver: modifier, slot: &GraphModifier::toggleAxisTitleFixed); |
| 707 | QObject::connect(sender: axisLabelRotationSlider, signal: &QSlider::valueChanged, receiver: modifier, |
| 708 | slot: &GraphModifier::changeLabelRotation); |
| 709 | QObject::connect(sender: xAscendingCB, signal: &QCheckBox::stateChanged, |
| 710 | receiver: modifier, slot: &GraphModifier::toggleXAscending); |
| 711 | QObject::connect(sender: zAscendingCB, signal: &QCheckBox::stateChanged, |
| 712 | receiver: modifier, slot: &GraphModifier::toggleZAscending); |
| 713 | QObject::connect(sender: polarCB, signal: &QCheckBox::stateChanged, |
| 714 | receiver: modifier, slot: &GraphModifier::togglePolar); |
| 715 | |
| 716 | QObject::connect(sender: aspectRatioSlider, signal: &QSlider::valueChanged, |
| 717 | receiver: modifier, slot: &GraphModifier::setAspectRatio); |
| 718 | QObject::connect(sender: horizontalAspectRatioSlider, signal: &QSlider::valueChanged, |
| 719 | receiver: modifier, slot: &GraphModifier::setHorizontalAspectRatio); |
| 720 | QObject::connect(sender: surfaceTextureCB, signal: &QCheckBox::stateChanged, |
| 721 | receiver: modifier, slot: &GraphModifier::setSurfaceTexture); |
| 722 | QObject::connect(sender: cameraTargetSliderX, signal: &QSlider::valueChanged, receiver: modifier, |
| 723 | slot: &GraphModifier::setCameraTargetX); |
| 724 | QObject::connect(sender: cameraTargetSliderY, signal: &QSlider::valueChanged, receiver: modifier, |
| 725 | slot: &GraphModifier::setCameraTargetY); |
| 726 | QObject::connect(sender: cameraTargetSliderZ, signal: &QSlider::valueChanged, receiver: modifier, |
| 727 | slot: &GraphModifier::setCameraTargetZ); |
| 728 | QObject::connect(sender: marginSlider, signal: &QSlider::valueChanged, receiver: modifier, |
| 729 | slot: &GraphModifier::setGraphMargin); |
| 730 | |
| 731 | #ifdef MULTI_SERIES |
| 732 | modifier->setSeries1CB(series1CB); |
| 733 | modifier->setSeries2CB(series2CB); |
| 734 | modifier->setSeries3CB(series3CB); |
| 735 | modifier->setSeries4CB(series4CB); |
| 736 | series1CB->setChecked(true); |
| 737 | series2CB->setChecked(true); |
| 738 | series3CB->setChecked(true); |
| 739 | series4CB->setChecked(true); |
| 740 | #endif |
| 741 | modifier->setAxisRangeSliderX(axisRangeSliderX); |
| 742 | modifier->setAxisRangeSliderZ(axisRangeSliderZ); |
| 743 | modifier->setAxisMinSliderX(axisMinSliderX); |
| 744 | modifier->setAxisMinSliderZ(axisMinSliderZ); |
| 745 | selectionMode->setCurrentIndex(1); |
| 746 | #ifndef MULTI_SERIES |
| 747 | modifier->setGridSliderZ(gridSliderZ); |
| 748 | modifier->setGridSliderX(gridSliderX); |
| 749 | modifier->toggleGridSliderLock(gridSlidersLockCB->checkState()); |
| 750 | modifier->setSelectionInfoLabel(selectionInfoLabel); |
| 751 | sqrtSinCB->setChecked(true); |
| 752 | #endif |
| 753 | shadowQuality->setCurrentIndex(3); |
| 754 | |
| 755 | return app.exec(); |
| 756 | } |
| 757 | |