diff --git a/agui2/CMakeLists.txt b/agui2/CMakeLists.txt index d8c4e1c345bd688999c7d2815526735def428206..a0566a8be6230d5ee2d223a029e7d4270d43abea 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 51854ba63fb575376c7720a9c4db0e92968c9189..97fbfb0959801b7c8ffe7dfade7becbf5dd7bbd1 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 57c8eb9f0c2f43059c9db1518f21d8666ea26ffd..7e15d6679d630b379753bd6f0f4dee0331e0bad0 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 d23db99eafa929fc587397a303a152e69aa5b264..0000000000000000000000000000000000000000 --- 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 e58990b130ce8c7170a7b853ed539d6cf29bd448..0000000000000000000000000000000000000000 --- 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 81086871f413acce3db60dc97d13fc656288d4dd..97b48b0085859da760a7e0c534c8f3163f07c8ed 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 bffff1b1f8f539708053fd73eb2b6766f54d7b4a..49bb0ad92a6696e709f243aef7abd44b44fd12d1 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 2d82284bacb24d9cc12c4ea972cdb1a9a2e9deaa..26959b4b30cccb20d129e633578eb303523cbe40 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 0f49097656833c6f128533d9fd091effd6f792ed..7ef4939c52922a924b4f13766e607cb00bbd7d01 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 70724e077ef5a19463bc6993884851f62baf14de..8b36161f7109e37ec9052232616c4e0a86996398 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 6d5123d0340bfae6c7c7715f552888c9cf30aba8..935435260a263563b66214bf2f2f50fc53786940 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/>