src/main.cpp

changeset 216
c7241f504117
parent 215
34c6e7bc4ee1
child 217
6d95c1a41e6e
equal deleted inserted replaced
215:34c6e7bc4ee1 216:c7241f504117
6 #include <QCloseEvent> 6 #include <QCloseEvent>
7 #include "mainwindow.h" 7 #include "mainwindow.h"
8 #include "ui_mainwindow.h" 8 #include "ui_mainwindow.h"
9 #include "version.h" 9 #include "version.h"
10 #include "gl/axesprogram.h" 10 #include "gl/axesprogram.h"
11 #include "gl/gridprogram.h"
11 #include "gl/partrenderer.h" 12 #include "gl/partrenderer.h"
12 #include "document.h" 13 #include "document.h"
13 #include "settingseditor/settingseditor.h" 14 #include "settingseditor/settingseditor.h"
14 #include "widgets/colorselectdialog.h" 15 #include "widgets/colorselectdialog.h"
15 16
39 ModelData(QObject* parent) : QObject {parent} {} 40 ModelData(QObject* parent) : QObject {parent} {}
40 std::unique_ptr<PartRenderer> canvas; 41 std::unique_ptr<PartRenderer> canvas;
41 std::unique_ptr<QItemSelectionModel> itemSelectionModel; 42 std::unique_ptr<QItemSelectionModel> itemSelectionModel;
42 std::unique_ptr<EditTools> tools; 43 std::unique_ptr<EditTools> tools;
43 std::unique_ptr<AxesLayer> axesLayer; 44 std::unique_ptr<AxesLayer> axesLayer;
45 std::unique_ptr<GridLayer> gridLayer;
44 Model* model; 46 Model* model;
45 }; 47 };
46 #include "main.moc" 48 #include "main.moc"
47 49
48 static void doQtRegistrations() 50 static void doQtRegistrations()
395 ModelData* data = new ModelData(&documents); 397 ModelData* data = new ModelData(&documents);
396 data->tools = std::make_unique<EditTools>(model, colorTable); 398 data->tools = std::make_unique<EditTools>(model, colorTable);
397 data->canvas = std::make_unique<PartRenderer>(model, &documents, colorTable); 399 data->canvas = std::make_unique<PartRenderer>(model, &documents, colorTable);
398 data->itemSelectionModel = std::make_unique<QItemSelectionModel>(model); 400 data->itemSelectionModel = std::make_unique<QItemSelectionModel>(model);
399 data->axesLayer = std::make_unique<AxesLayer>(); 401 data->axesLayer = std::make_unique<AxesLayer>();
402 data->gridLayer = std::make_unique<GridLayer>();
400 data->model = model; 403 data->model = model;
401 data->canvas->addRenderLayer(data->axesLayer.get()); 404 data->canvas->addRenderLayer(data->axesLayer.get());
402 data->canvas->setLayerEnabled(data->axesLayer.get(), settings.drawAxes()); 405 data->canvas->setLayerEnabled(data->axesLayer.get(), settings.drawAxes());
406 data->canvas->addRenderLayer(data->gridLayer.get());
403 documents.setModelPayload(modelId, data); 407 documents.setModelPayload(modelId, data);
404 QObject::connect( 408 QObject::connect(
405 data->tools.get(), 409 data->tools.get(),
406 &EditTools::modelAction, 410 &EditTools::modelAction,
407 std::bind(executeAction, model, std::placeholders::_1)); 411 std::bind(executeAction, model, std::placeholders::_1));

mercurial