PeriDyno 1.0.0
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
62 connect(mToolBar->updateAction(), &QAction::triggered,
63 [=]() {
64 emit changed(widget->getNode().get());
65 });
66
67 connect(mToolBar->reorderAction(), &QAction::triggered, moduleFlowView->mModuleFlow, &Qt::QtModuleFlowScene::reorderAllModules);
68 }
69}
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