use OutputDevice to set fileinfo,
use new connect function,
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#include "..\Header\OglViewerWidget.h"
|
||||
#include "..\Header\OutputDevice.h"
|
||||
#include "..\Header\MainWindow.h"
|
||||
#include <QMouseEvent>
|
||||
#include <QDropEvent>
|
||||
#include <QMimeData>
|
||||
@@ -17,6 +18,7 @@ OglViewerWidget::OglViewerWidget(QWidget *parent)
|
||||
setFocus();
|
||||
setAcceptDrops(true);
|
||||
|
||||
// settings window
|
||||
m_settings = new SettingsWindow(m_backgroundColorOff.toVector3D() * 255, m_backgroundColorOn.toVector3D() * 255, m_light.intensities * 255, true, m_light.ambientCoefficient, m_light.attenuationFactor, 1, this);
|
||||
|
||||
connect(m_settings, &SettingsWindow::updateBGColorOff, this, &OglViewerWidget::setBGColorOff);
|
||||
@@ -60,15 +62,6 @@ void OglViewerWidget::initShaders()
|
||||
close();
|
||||
}
|
||||
|
||||
void OglViewerWidget::setConnections()
|
||||
{
|
||||
connect(m_dataEngine, &GeometryEngine::requestResetView, this, &OglViewerWidget::resetView);
|
||||
connect(parentWidget(), SIGNAL(loadFile(QString)), m_dataEngine, SLOT(loadFile(QString)));
|
||||
connect(this, SIGNAL(loadFile(QString)), m_dataEngine, SLOT(loadFile(QString)));
|
||||
connect(m_dataEngine, SIGNAL(requestUpdate()), this, SLOT(update()));
|
||||
connect(m_dataEngine, SIGNAL(sendFileInfo(QString, QVector<Material>*, int, int)), parentWidget(), SLOT(setFileInfo(QString, QVector<Material>*, int, int)));
|
||||
}
|
||||
|
||||
void OglViewerWidget::resetView()
|
||||
{
|
||||
m_rotation = QQuaternion();
|
||||
@@ -107,7 +100,14 @@ void OglViewerWidget::initializeGL()
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
m_dataEngine = new GeometryEngine(this);
|
||||
setConnections();
|
||||
connect(m_dataEngine, &GeometryEngine::requestResetView, this, &OglViewerWidget::resetView);
|
||||
connect(m_dataEngine, &GeometryEngine::requestUpdate, this, static_cast<void(OglViewerWidget::*)(void)>(&OglViewerWidget::update));
|
||||
|
||||
//TODO: better solution
|
||||
MainWindow* parent = dynamic_cast<MainWindow*>(parentWidget());
|
||||
if (parent != NULL)
|
||||
connect(parent, &MainWindow::loadFile, [this](QString value) {m_dataEngine->loadFile(value); });
|
||||
|
||||
}
|
||||
|
||||
void OglViewerWidget::resizeGL(int w, int h)
|
||||
@@ -327,7 +327,7 @@ void OglViewerWidget::dragEnterEvent(QDragEnterEvent *e)
|
||||
|
||||
void OglViewerWidget::dropEvent(QDropEvent * e)
|
||||
{
|
||||
emit loadFile(e->mimeData()->urls().first().toLocalFile());
|
||||
m_dataEngine->loadFile(e->mimeData()->urls().first().toLocalFile());
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user