PeriDyno 1.2.1
Loading...
Searching...
No Matches
PModuleEditor.cpp
Go to the documentation of this file.
1#include "PModuleEditor.h"
2
3#include <QHBoxLayout>
4#include <QDebug>
5
6#include <QHBoxLayout>
7#include <QPainter>
8#include <QPushButton>
9#include <QToolButton>
10#include <QSvgRenderer>
11
12#include "PDockWidget.h"
14
15#include "ToolBar/Group.h"
18
20
21#include "PPropertyWidget.h"
22
23namespace dyno
24{
26 : QMainWindow(nullptr)
27 {
29
30 //Set up property dock widget
31 QDockWidget* toolBarDocker = new QDockWidget();
32 this->addDockWidget(Qt::TopDockWidgetArea, toolBarDocker);
33 auto titleBar = toolBarDocker->titleBarWidget();
34 toolBarDocker->setFixedHeight(96);
35 toolBarDocker->setTitleBarWidget(new QWidget());
36 delete titleBar;
37
38 toolBarDocker->setWidget(mToolBar);
39
40
41 auto moduleFlowView = new Qt::QtModuleFlowWidget(nullptr, widget);
42
43 mModuleFlowScene = moduleFlowView->getModuleFlowScene();
44 this->setCentralWidget(moduleFlowView);
45
46 //Set up property dock widget
47 PDockWidget *propertyDockWidget = new PDockWidget(tr("Property"), this, Qt::WindowFlags(0));
48 propertyDockWidget->setWindowTitle("Property");
49 this->addDockWidget(Qt::LeftDockWidgetArea, propertyDockWidget);
50
51 PPropertyWidget* propertyWidget = new PPropertyWidget();
52 propertyDockWidget->setWidget(propertyWidget);
53 propertyDockWidget->setMinimumWidth(480);
54
55 connect(moduleFlowView->mModuleFlow, &Qt::QtModuleFlowScene::nodeSelected, propertyWidget, &PPropertyWidget::showProperty);
56 connect(moduleFlowView->mModuleFlow, &Qt::QtModuleFlowScene::nodeDeselected, propertyWidget, &PPropertyWidget::clearProperty);
57
61 connect(mToolBar->updateAction(), &QAction::triggered, moduleFlowView->mModuleFlow, &Qt::QtModuleFlowScene::reconstructActivePipeline);
62
63 connect(mToolBar->updateAction(), &QAction::triggered,
64 [=]() {
65 emit changed(widget->getNode().get());
66 });
67
68 connect(mToolBar->reorderAction(), &QAction::triggered, moduleFlowView->mModuleFlow, &Qt::QtModuleFlowScene::reorderAllModules);
69 }
70}
The model dictates the number of inputs and outputs for the Node.
PModuleEditorToolBar * mToolBar
PModuleEditor(Qt::QtNodeWidget *widget)
Qt::QtModuleFlowScene * mModuleFlowScene
void showProperty(Qt::QtNode &block)
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25