-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathmainwindow.cpp
More file actions
104 lines (83 loc) · 2.94 KB
/
mainwindow.cpp
File metadata and controls
104 lines (83 loc) · 2.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <QFileDialog>
#include <QDir>
#include <QMessageBox>
#include "core.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "bottomwidget.h"
#include "paramwidget.h"
#include "editorwidget.h"
#include "newwidget.h"
#include "openwidget.h"
#include "newshader.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
m_info = new BottomWidget(this);
m_param = new ParamWidget(this);
m_editor = new EditorWidget(this);
m_newShader = new NewShader();
m_newShader->hide();
m_open = new OpenWidget();
m_open->hide();
Core::instance()->setLogWidget( m_info->getLogWidget() );
ui->toolBar->addAction(ui->actionNew);
ui->toolBar->addAction(ui->actionOpen);
ui->toolBar->addAction(ui->actionSave);
ui->toolBar->addSeparator();
ui->toolBar->addAction(ui->actionReset_camera);
ui->toolBar->addAction(ui->actionTake_screenshot);
ui->toolBar->addAction(ui->actionProjector_output);
ui->toolBar->addSeparator();
ui->toolBar->addAction(ui->actionAdd_shader);
ui->toolBar->addSeparator();
ui->toolBar->addAction(ui->actionReload);
addDockWidget(Qt::BottomDockWidgetArea, m_info);
addDockWidget(Qt::LeftDockWidgetArea, m_editor);
addDockWidget(Qt::BottomDockWidgetArea, m_param);
connect(ui->actionNew,SIGNAL(triggered()), this, SLOT(newScene()));
connect(ui->actionOpen,SIGNAL(triggered()), m_open, SLOT(show()));
connect(ui->actionSave, SIGNAL(triggered()), this, SLOT(save()));
connect(ui->actionQuit, SIGNAL(triggered()), this, SLOT(close()));
connect(ui->actionAdd_shader, SIGNAL(triggered()), m_newShader, SLOT(show()));
connect(ui->actionReset_camera, SIGNAL(triggered()), ui->widget, SLOT(resetCamera()));
connect(ui->actionTake_screenshot, SIGNAL(triggered()), ui->widget, SLOT(takeScreenshot()));
connect(m_editor, SIGNAL(recompil(QString,int)), ui->widget, SLOT(recompilShader( QString, int)));
connect(m_editor, SIGNAL(nameCCChanged(int,QString)), m_param, SLOT(nameCCChanged(int,QString)));
connect(m_open, SIGNAL(open(QString)), this, SLOT(open(QString)));
connect(m_newShader, SIGNAL(reload()), this, SLOT(reloadEffect()));
connect(ui->actionReload, SIGNAL(triggered()), this, SLOT(reloadEffect()));
}
MainWindow::~MainWindow()
{
delete m_info;
delete ui;
}
void MainWindow::open(QString filename)
{
Core::instance()->setEffectName( filename );
m_param->clearName();
ui->widget->loadScene(filename);
m_editor->loadScene(filename);
}
void MainWindow::reloadEffect()
{
m_param->clearName();
ui->widget->loadScene( Core::instance()->getEffectName() );
m_editor->loadScene( Core::instance()->getEffectName() );
}
void MainWindow::save()
{
m_editor->save();
}
void MainWindow::newScene()
{
NewWidget *w = new NewWidget();
w->show();
connect(w, SIGNAL(open(QString)), this, SLOT(open(QString)));
}
void MainWindow::newShader()
{
}