From 61afefa6b5ef98af162693cf9b282139ea0e1eb8 Mon Sep 17 00:00:00 2001 From: Robert <robert.trololo@gmail.com> Date: Sat, 26 Sep 2020 01:15:54 +0200 Subject: [PATCH] Changed cursor --- src/MainWindow.cpp | 6 ++++++ src/MainWindow.hpp | 1 + src/PlanetConfig.cpp | 5 +++++ src/Screen.cpp | 17 ++++++++++++++++- src/Screen.hpp | 2 ++ ui/PlanetConfig.ui | 29 +++++++++++++++++++++++++++-- 6 files changed, 57 insertions(+), 3 deletions(-) diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 7d88fa7..0730a45 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -82,6 +82,12 @@ void MainWindow::OnYChanged(double y) activePlanet->position.ry() = y; } +void MainWindow::OnDelete() +{ + ui.screen->DeletePlanet(activePlanet); + ClosePlanetDialog(); +} + void MainWindow::OnToggle() { isSimulating = !isSimulating; diff --git a/src/MainWindow.hpp b/src/MainWindow.hpp index 55af7c0..f705e5a 100644 --- a/src/MainWindow.hpp +++ b/src/MainWindow.hpp @@ -23,6 +23,7 @@ public slots: void OnColourChanged(const QColor& color); void OnXChanged(double x); void OnYChanged(double y); + void OnDelete(); void OnToggle(); private: diff --git a/src/PlanetConfig.cpp b/src/PlanetConfig.cpp index e9e043c..fde0551 100644 --- a/src/PlanetConfig.cpp +++ b/src/PlanetConfig.cpp @@ -27,6 +27,9 @@ PlanetConfig::PlanetConfig(QWidget* parent) : connect(ui.yPos, QOverload<double>::of(&QDoubleSpinBox::valueChanged), instance, [instance](double d) { instance->OnYChanged(d); }); + connect(ui.remove, SIGNAL(clicked()), + instance, SLOT(OnDelete())); + connect(ui.toggle, SIGNAL(clicked()), instance, SLOT(OnToggle())); @@ -38,6 +41,7 @@ void PlanetConfig::Disable() ui.colour->setDisabled(true); ui.xPos->setDisabled(true); ui.yPos->setDisabled(true); + ui.remove->setDisabled(true); } void PlanetConfig::Enable() @@ -46,6 +50,7 @@ void PlanetConfig::Enable() ui.colour->setDisabled(false); ui.xPos->setDisabled(false); ui.yPos->setDisabled(false); + ui.remove->setDisabled(false); } void PlanetConfig::SetTitle(const QString& title) diff --git a/src/Screen.cpp b/src/Screen.cpp index 829b381..0a56524 100644 --- a/src/Screen.cpp +++ b/src/Screen.cpp @@ -45,7 +45,7 @@ void Screen::mouseMoveEvent(QMouseEvent* event) { if (planets[i]->IsInside(event->localPos())) { - setCursor(Qt::OpenHandCursor); + setCursor(Qt::PointingHandCursor); BIND_LMB(lmb_SelectPlanet); hovered = planets[i]; break; @@ -84,6 +84,21 @@ void Screen::mouseReleaseEvent(QMouseEvent* event) mouseDown = false; } +void Screen::DeletePlanet(Planet* planet) +{ + for (std::vector<Planet*>::iterator it = planets.begin(); it != planets.end(); it++) + { + if ((*it) == planet) + { + planets.erase(it); + delete planet; + hovered = nullptr; + selected = nullptr; + break; + } + } +} + void Screen::Render() { update(); diff --git a/src/Screen.hpp b/src/Screen.hpp index 2729bea..50b5dad 100644 --- a/src/Screen.hpp +++ b/src/Screen.hpp @@ -18,6 +18,8 @@ public: void mousePressEvent(QMouseEvent* event) override; void mouseReleaseEvent(QMouseEvent* event) override; + void DeletePlanet(Planet* planet); + private slots: void Render(); diff --git a/ui/PlanetConfig.ui b/ui/PlanetConfig.ui index 8b87d8e..eedd0ac 100644 --- a/ui/PlanetConfig.ui +++ b/ui/PlanetConfig.ui @@ -75,6 +75,9 @@ <property name="singleStep"> <double>1.000000000000000</double> </property> + <property name="stepType"> + <enum>QAbstractSpinBox::AdaptiveDecimalStepType</enum> + </property> </widget> </item> </layout> @@ -125,6 +128,9 @@ <property name="singleStep"> <double>1.000000000000000</double> </property> + <property name="stepType"> + <enum>QAbstractSpinBox::AdaptiveDecimalStepType</enum> + </property> </widget> </item> <item row="0" column="1"> @@ -138,6 +144,9 @@ <property name="singleStep"> <double>1.000000000000000</double> </property> + <property name="stepType"> + <enum>QAbstractSpinBox::AdaptiveDecimalStepType</enum> + </property> </widget> </item> <item row="1" column="0"> @@ -175,14 +184,30 @@ </layout> </item> <item> - <widget class="QPushButton" name="toggle"> + <widget class="QPushButton" name="remove"> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="styleSheet"> + <string notr="true">background-color: rgb(255, 58, 58);</string> + </property> <property name="text"> - <string>Start Simulation</string> + <string>Delete</string> </property> </widget> </item> </layout> </item> + <item row="1" column="0"> + <widget class="QPushButton" name="toggle"> + <property name="text"> + <string>Start Simulation</string> + </property> + </widget> + </item> </layout> </widget> <resources/>