Skip to content
Snippets Groups Projects
Commit 0fab2166 authored by Martin Hanzik's avatar Martin Hanzik Committed by Jan Trávníček
Browse files

Scene clearing

parent b3b3d067
No related branches found
No related tags found
No related merge requests found
...@@ -44,9 +44,7 @@ MainWindow::MainWindow() ...@@ -44,9 +44,7 @@ MainWindow::MainWindow()
   
this->setupMenu(); this->setupMenu();
   
this->scene->addItem(new InputGraphicsBox(std::make_unique<InputModelBox>(), {0, 200})); this->clearScene();
this->outputBox = new GraphicsBox(std::make_unique<OutputModelBox>(), {400, 200});;
this->scene->addItem(outputBox);
} }
   
void MainWindow::displayError(const QString& text) const { void MainWindow::displayError(const QString& text) const {
...@@ -212,8 +210,7 @@ void MainWindow::on_actionOpen_triggered() { ...@@ -212,8 +210,7 @@ void MainWindow::on_actionOpen_triggered() {
} }
catch (const std::exception& e) { catch (const std::exception& e) {
QMessageBox::critical(this, "Error", e.what()); QMessageBox::critical(this, "Error", e.what());
this->scene->clear(); this->clearScene();
this->outputBox = nullptr;
} }
} }
   
...@@ -282,3 +279,17 @@ void MainWindow::on_actionSave_triggered() { ...@@ -282,3 +279,17 @@ void MainWindow::on_actionSave_triggered() {
stream << QString::fromStdString(data.dump(4)); stream << QString::fromStdString(data.dump(4));
file.close(); file.close();
} }
void MainWindow::on_actionClear_triggered() {
this->clearScene();
}
void MainWindow::clearScene() {
ui->graphicsView->setScene(nullptr);
this->scene.reset();
this->scene = std::make_unique<GraphicsScene>(this);
ui->graphicsView->setScene(this->scene.get());
this->scene->addItem(new InputGraphicsBox(std::make_unique<InputModelBox>(), {0, 200}));
this->outputBox = new GraphicsBox(std::make_unique<OutputModelBox>(), {400, 200});;
this->scene->addItem(outputBox);
}
...@@ -24,6 +24,8 @@ public: ...@@ -24,6 +24,8 @@ public:
static MainWindow* getInstance(); static MainWindow* getInstance();
   
private: private:
void clearScene();
void setupMenu(); void setupMenu();
   
void displayError(const QString& text) const; void displayError(const QString& text) const;
...@@ -35,6 +37,7 @@ private slots: ...@@ -35,6 +37,7 @@ private slots:
void on_RunBtn_clicked(); void on_RunBtn_clicked();
void on_actionOpen_triggered(); void on_actionOpen_triggered();
void on_actionSave_triggered(); void on_actionSave_triggered();
void on_actionClear_triggered();
   
public: public:
static const std::string ADD_INPUT_CURSOR_DATA; static const std::string ADD_INPUT_CURSOR_DATA;
......
...@@ -77,6 +77,7 @@ ...@@ -77,6 +77,7 @@
</property> </property>
<addaction name="actionOpen"/> <addaction name="actionOpen"/>
<addaction name="actionSave"/> <addaction name="actionSave"/>
<addaction name="actionClear"/>
</widget> </widget>
<widget class="QMenu" name="menuInsert"> <widget class="QMenu" name="menuInsert">
<property name="title"> <property name="title">
...@@ -115,6 +116,11 @@ ...@@ -115,6 +116,11 @@
<string>Ctrl+S</string> <string>Ctrl+S</string>
</property> </property>
</action> </action>
<action name="actionClear">
<property name="text">
<string>Clear</string>
</property>
</action>
</widget> </widget>
<layoutdefault spacing="6" margin="11"/> <layoutdefault spacing="6" margin="11"/>
<customwidgets> <customwidgets>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment