From 467fab992b184f23703e342e9c05af2c2e7952fb Mon Sep 17 00:00:00 2001 From: Martin Hanzik <martin@hanzik.com> Date: Tue, 24 Apr 2018 18:04:59 +0200 Subject: [PATCH] Remove AlgorithmList and drag related things --- agui2/CMakeLists.txt | 2 - agui2/src/Algorithm/Registry.cpp | 25 ----------- agui2/src/Algorithm/Registry.hpp | 3 -- agui2/src/Graphics/AlgorithmList.cpp | 31 -------------- agui2/src/Graphics/AlgorithmList.hpp | 14 ------- .../src/Graphics/Connection/ConnectionBox.cpp | 1 - agui2/src/Graphics/GraphicsView.cpp | 31 +------------- agui2/src/Graphics/GraphicsView.hpp | 7 +--- agui2/src/MainWindow.cpp | 6 --- agui2/src/MainWindow.hpp | 2 - agui2/src/MainWindow.ui | 41 ------------------- 11 files changed, 2 insertions(+), 161 deletions(-) delete mode 100644 agui2/src/Graphics/AlgorithmList.cpp delete mode 100644 agui2/src/Graphics/AlgorithmList.hpp diff --git a/agui2/CMakeLists.txt b/agui2/CMakeLists.txt index d8c4e1c345..a0566a8be6 100644 --- a/agui2/CMakeLists.txt +++ b/agui2/CMakeLists.txt @@ -44,8 +44,6 @@ add_executable(${PROJECT_NAME} src/Algorithm/Registry.hpp src/Converter.cpp src/Converter.hpp - src/Graphics/AlgorithmList.cpp - src/Graphics/AlgorithmList.hpp src/Graphics/Connection/Connection.cpp src/Graphics/Connection/Connection.hpp src/Graphics/Connection/ConnectionBox.cpp diff --git a/agui2/src/Algorithm/Registry.cpp b/agui2/src/Algorithm/Registry.cpp index 51854ba63f..97fbfb0959 100644 --- a/agui2/src/Algorithm/Registry.cpp +++ b/agui2/src/Algorithm/Registry.cpp @@ -61,28 +61,3 @@ std::map<std::string, std::vector<Algorithm*>> Registry::getGroups() { return res; } - -std::unique_ptr<QStandardItemModel> Registry::createAlgorithmModel() { - - auto model = std::make_unique<QStandardItemModel>(); - - for (const auto& group: Registry::getGroups()) { - auto groupName = QString::fromStdString(group.first); - auto* groupItem = new QStandardItem(groupName); - groupItem->setToolTip(groupName); - model->appendRow(groupItem); - - for (const auto* algo: group.second) { - auto name = QString::fromStdString(algo->getPrettyName()); - auto fullName = QString::fromStdString(algo->getFullName()); - - auto* item = new QStandardItem(name); - item->setToolTip(fullName); - item->setData(fullName); - - groupItem->appendRow(item); - } - } - - return model; -} diff --git a/agui2/src/Algorithm/Registry.hpp b/agui2/src/Algorithm/Registry.hpp index 57c8eb9f0c..7e15d6679d 100644 --- a/agui2/src/Algorithm/Registry.hpp +++ b/agui2/src/Algorithm/Registry.hpp @@ -4,7 +4,6 @@ #include <string> #include <Algorithm/Algorithm.hpp> -#include <QtGui/QStandardItemModel> class Registry { public: @@ -13,8 +12,6 @@ public: static Algorithm* getAlgorithm(const std::string& name); static std::map<std::string, std::vector<Algorithm*>> getGroups(); - static std::unique_ptr<QStandardItemModel> createAlgorithmModel(); - private: Registry() = default; diff --git a/agui2/src/Graphics/AlgorithmList.cpp b/agui2/src/Graphics/AlgorithmList.cpp deleted file mode 100644 index d23db99eaf..0000000000 --- a/agui2/src/Graphics/AlgorithmList.cpp +++ /dev/null @@ -1,31 +0,0 @@ -#include <Graphics/AlgorithmList.hpp> - -#include <QDrag> -#include <QtGui/QDragMoveEvent> -#include <QtGui/QStandardItemModel> -#include <QMimeData> - -void AlgorithmList::startDrag(Qt::DropActions supportedActions) { - auto* item = dynamic_cast<QStandardItemModel*>(this->model())->itemFromIndex(this->currentIndex()); - if (!item) - return; - - auto algorithm = item->data(); - if (algorithm.isNull()) - return; - - auto algorithmName = algorithm.toString(); - if (algorithmName.isEmpty()) - return; - - auto* mimeData = new QMimeData; - mimeData->setData("application/x-algorithm", algorithmName.toUtf8()); - auto* drag = new QDrag(this); - drag->setMimeData(mimeData); - drag->exec(Qt::MoveAction); -} - -AlgorithmList::AlgorithmList(QWidget* parent) - : QTreeView(parent) { - this->setDragEnabled(true); -} diff --git a/agui2/src/Graphics/AlgorithmList.hpp b/agui2/src/Graphics/AlgorithmList.hpp deleted file mode 100644 index e58990b130..0000000000 --- a/agui2/src/Graphics/AlgorithmList.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once - -#include <QtWidgets/QTreeView> - -class AlgorithmList : public QTreeView { -public: - explicit AlgorithmList(QWidget* parent); - -protected: - void startDrag(Qt::DropActions supportedActions) override; - -}; - - diff --git a/agui2/src/Graphics/Connection/ConnectionBox.cpp b/agui2/src/Graphics/Connection/ConnectionBox.cpp index 81086871f4..97b48b0085 100644 --- a/agui2/src/Graphics/Connection/ConnectionBox.cpp +++ b/agui2/src/Graphics/Connection/ConnectionBox.cpp @@ -2,7 +2,6 @@ #include <utility> -#include <QtGui/QDrag> #include <QtWidgets/QApplication> #include <Graphics/Connection/InputConnectionBox.hpp> diff --git a/agui2/src/Graphics/GraphicsView.cpp b/agui2/src/Graphics/GraphicsView.cpp index bffff1b1f8..49bb0ad92a 100644 --- a/agui2/src/Graphics/GraphicsView.cpp +++ b/agui2/src/Graphics/GraphicsView.cpp @@ -1,7 +1,6 @@ #include <Graphics/GraphicsView.hpp> -#include <QDragEnterEvent> -#include <QMimeData> +#include <QMouseEvent> #include <QtWidgets/QGraphicsScene> #include <QtWidgets/QWidget> @@ -11,34 +10,6 @@ #include <MainWindow.hpp> #include <Models/AlgorithmModelBox.hpp> -GraphicsView::GraphicsView(QWidget* parent) - : QGraphicsView(parent) -{ - this->setAcceptDrops(true); -} - -void GraphicsView::dragEnterEvent(QDragEnterEvent* event) { - if (event->mimeData()->hasFormat("application/x-algorithm")) - event->acceptProposedAction(); -} - -void GraphicsView::dropEvent(QDropEvent* event) { - auto name = event->mimeData()->data("application/x-algorithm").toStdString(); - if (auto* algo = Registry::getAlgorithm(name)) { - - this->scene()->addItem(new GraphicsBox(std::make_unique<AlgorithmModelBox>(algo), this->mapToScene(event->pos()))); - event->acceptProposedAction(); - } - else { - event->ignore(); - } -} - -void GraphicsView::dragMoveEvent(QDragMoveEvent* event) { - if (event->mimeData()->hasFormat("application/x-algorithm")) - event->acceptProposedAction(); -} - void GraphicsView::mousePressEvent(QMouseEvent* event) { auto* w = MainWindow::getInstance(); const auto& data = w->getCursorData(); diff --git a/agui2/src/Graphics/GraphicsView.hpp b/agui2/src/Graphics/GraphicsView.hpp index 2d82284bac..26959b4b30 100644 --- a/agui2/src/Graphics/GraphicsView.hpp +++ b/agui2/src/Graphics/GraphicsView.hpp @@ -3,13 +3,8 @@ class GraphicsView : public QGraphicsView { public: - GraphicsView(QWidget* parent); - + using QGraphicsView::QGraphicsView; protected: - void dragEnterEvent(QDragEnterEvent* event) override; - void dragMoveEvent(QDragMoveEvent* event) override; - void dropEvent(QDropEvent* event) override; - void mousePressEvent(QMouseEvent* event) override; }; diff --git a/agui2/src/MainWindow.cpp b/agui2/src/MainWindow.cpp index 0f49097656..7ef4939c52 100644 --- a/agui2/src/MainWindow.cpp +++ b/agui2/src/MainWindow.cpp @@ -25,7 +25,6 @@ const std::string MainWindow::ADD_INPUT_CURSOR_DATA = "__ADD_INPUT__"; MainWindow::MainWindow() : ui(new Ui::MainWindow) , scene(new GraphicsScene(this)) - , algorithmModel(std::make_unique<QStandardItemModel>()) { Q_ASSERT(MainWindow::instance == nullptr); MainWindow::instance = this; @@ -37,11 +36,6 @@ MainWindow::MainWindow() this->setupMenu(); - this->algorithmModel = Registry::createAlgorithmModel(); - - this->ui->algorithmList->setModel(this->algorithmModel.get()); - this->ui->algorithmList->expandAll(); - 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); diff --git a/agui2/src/MainWindow.hpp b/agui2/src/MainWindow.hpp index 70724e077e..8b36161f71 100644 --- a/agui2/src/MainWindow.hpp +++ b/agui2/src/MainWindow.hpp @@ -6,7 +6,6 @@ #include <QGraphicsView> #include <QMainWindow> #include <QtCore/QStringListModel> -#include <QtGui/QStandardItemModel> #include <Algorithm/Algorithm.hpp> #include <Graphics/GraphicsScene.hpp> @@ -42,7 +41,6 @@ public: private: std::unique_ptr<Ui::MainWindow> ui; std::unique_ptr<GraphicsScene> scene; - std::unique_ptr<QStandardItemModel> algorithmModel; GraphicsBox* outputBox = nullptr; std::string cursorData; diff --git a/agui2/src/MainWindow.ui b/agui2/src/MainWindow.ui index 6d5123d034..935435260a 100644 --- a/agui2/src/MainWindow.ui +++ b/agui2/src/MainWindow.ui @@ -35,42 +35,6 @@ <layout class="QVBoxLayout" name="verticalLayout_4"> <item> <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <layout class="QVBoxLayout" name="verticalLayout_3" stretch="0,0"> - <property name="spacing"> - <number>0</number> - </property> - <property name="sizeConstraint"> - <enum>QLayout::SetFixedSize</enum> - </property> - <item> - <widget class="QPushButton" name="AddInputBtn"> - <property name="text"> - <string>Add Input</string> - </property> - </widget> - </item> - <item> - <widget class="AlgorithmList" name="algorithmList"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>300</width> - <height>0</height> - </size> - </property> - <attribute name="headerVisible"> - <bool>false</bool> - </attribute> - </widget> - </item> - </layout> - </item> <item> <widget class="GraphicsView" name="graphicsView"> <property name="sizePolicy"> @@ -141,11 +105,6 @@ <extends>QGraphicsView</extends> <header>Graphics/GraphicsView.hpp</header> </customwidget> - <customwidget> - <class>AlgorithmList</class> - <extends>QTreeView</extends> - <header>Graphics/AlgorithmList.hpp</header> - </customwidget> </customwidgets> <resources/> <connections/> -- GitLab