183        QWidget* centralWidget = 
new QWidget();
 
  184        setCentralWidget(centralWidget);
 
  186        centralWidget->setContentsMargins(0, 0, 0, 0);
 
  187        QVBoxLayout* mainLayout = 
new QVBoxLayout();
 
  188        mainLayout->setContentsMargins(0, 0, 0, 0);
 
  189        mainLayout->setSpacing(0);
 
  190        centralWidget->setLayout(mainLayout);
 
  193        QTabWidget* tabWidget = 
new QTabWidget();
 
  194        tabWidget->setObjectName(QStringLiteral(
"tabWidget"));
 
  195        tabWidget->setGeometry(QRect(140, 60, 361, 241));
 
 
  302        qRegisterMetaType<QDockWidget::DockWidgetFeatures>();
 
  306        static const struct Set {
 
  309            Qt::DockWidgetArea area;
 
  311            { 
"SceneGraph", 0, Qt::RightDockWidgetArea },
 
  312            { 
"Console", 0, Qt::BottomDockWidgetArea },
 
  313            { 
"Property", 0, Qt::RightDockWidgetArea },
 
  314            { 
"NodeEditor", 0, Qt::RightDockWidgetArea },
 
  315            { 
"Module", 0, Qt::RightDockWidgetArea }
 
  317        const int setCount = 
sizeof(sets) / 
sizeof(
Set);
 
  319        const QIcon qtIcon(QPixmap(
":/res/qt.png"));
 
  322        PDockWidget *nodeEditorDockWidget = 
new PDockWidget(tr(sets[3].name), 
this, Qt::WindowFlags(sets[3].flags));
 
  323        nodeEditorDockWidget->setWindowTitle(
"Node Editor");
 
  324        nodeEditorDockWidget->setWindowIcon(qtIcon);
 
  325        addDockWidget(sets[3].area, nodeEditorDockWidget);
 
  331        PDockWidget *propertyDockWidget = 
new PDockWidget(tr(sets[2].name), 
this, Qt::WindowFlags(sets[2].flags));
 
  332        propertyDockWidget->setWindowTitle(
"Property Editor");
 
  333        propertyDockWidget->setWindowIcon(qtIcon);
 
  334        propertyDockWidget->setMinimumWidth(580);
 
  335        addDockWidget(sets[2].area, propertyDockWidget);
 
  344        setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
 
  345        setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
 
  360            for (
auto qNode : qNodes)
 
  363                    qNode->nodeGraphicsObject().setSelected(
true);
 
  365                    qNode->nodeGraphicsObject().setSelected(
false);
 
  370        connect(
mNodeFlowView->flowScene(), &Qt::QtNodeFlowScene::nodeSelected, [=](Qt::QtNode& n)
 
  372                auto model = n.nodeDataModel();
 
  373                auto widget = dynamic_cast<Qt::QtNodeWidget*>(model);
 
  375                if (widget != nullptr)
 
  377                    mOpenGLWidget->select(widget->getNode());
 
  378                    mOpenGLWidget->update();
 
  382        connect(mNodeFlowView->flowScene(), &Qt::QtNodeFlowScene::nodeDeselected, [=]()
 
  384                mOpenGLWidget->select(nullptr);
 
  385                mOpenGLWidget->update();
 
  390                mOpenGLWidget->setFocus();
 
 
void mousePressEvent(QMouseEvent *event) override
 
void createWindow(int width, int height)
 
POpenGLWidget * mOpenGLWidget
 
PSettingEditor * mSettingEditor
 
PPropertyWidget * mPropertyWidget
 
PMainWindow(QtApp *app, QWidget *parent=Q_NULLPTR, Qt::WindowFlags flags=Qt::WindowFlags())
 
Qt::QtNodeFlowWidget * mNodeFlowView
 
void setupSettingEditor()
 
void showModuleEditor(Qt::QtNode &n)
 
PIODockWidget * mIoDockerWidget
 
PAnimationWidget * mAnimationWidget
 
void addNodeByName(std::string name)
 
void nodeCreated(std::shared_ptr< Node > node)