Aufgrund von Umarbeiten des s3 Storage wird es in GitLab, in nächster Zeit, mögliche Performance-Einbußen geben. Näheres dazu unter: https://maintenance.itc.rwth-aachen.de/ticket/status/messages/43/show_ticket/6670

MainWindow.cpp 1.77 KB
Newer Older
1 2 3
#include "..\Header\MainWindow.h"
#include "..\Header\OglViewerWidget.h"
#include <QSurfaceFormat>
Anakin's avatar
Anakin committed
4 5 6 7
#include <QMessageBox>
#include <QFileDialog>

#define WINDOW_NAME "Mesh Viewer"
8 9 10 11 12 13 14

MainWindow::MainWindow(QWidget *parent)
	: QMainWindow(parent)
	, ui(new Ui::MainWindowClass)
{
	ui->setupUi(this);

Anakin's avatar
Anakin committed
15 16 17 18 19 20 21 22 23
	setWindowTitle(WINDOW_NAME);
	setWindowIcon(QIcon(":/images/icon.ico"));

	ui->statusBar->showMessage("pre-alpha");

	ui->mainToolBar->addAction("Open File", this, &MainWindow::openFile);
	ui->mainToolBar->addAction("About File", this, &MainWindow::aboutFile);
	ui->mainToolBar->addAction("Help", this, &MainWindow::aboutTool);

24 25 26 27
	QSurfaceFormat format;
	format.setDepthBufferSize(24);
	QSurfaceFormat::setDefaultFormat(format);

Anakin's avatar
Anakin committed
28
	setCentralWidget(new OglViewerWidget(this));
29 30 31 32 33
}

MainWindow::~MainWindow()
{
	delete ui;
Anakin's avatar
Anakin committed
34 35 36 37 38
}

void MainWindow::openFile()
{
	QString fileName = QFileDialog::getOpenFileName(this, "Open File", "../Release/Msh", "Mesh (*.msh)");
Anakin's avatar
Anakin committed
39
	emit loadFile(fileName.toStdString().c_str());
Anakin's avatar
Anakin committed
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
}

void MainWindow::aboutFile()
{
	QMessageBox* dialog = new QMessageBox(QMessageBox::Information,
		WINDOW_NAME,
		"When i find some time, i'll add some information about\nthe file in the detailed text",
		QMessageBox::StandardButton::Close,
		this,
		Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint);
	dialog->setDetailedText("This is the cool detailed text\n");
	dialog->exec();
}

void MainWindow::aboutTool()
{
	QMessageBox* dialog = new QMessageBox(QMessageBox::Question,
		WINDOW_NAME,
		"This is the Pre-Alpha version of my Mesh Viewer\nCheck the detailed information",
		QMessageBox::StandardButton::Close,
		this,
		Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint);
	dialog->setDetailedText("left mouse - rotate\nright mouse - move\nscroll - zoom\nspace - reset view\nesc - close");
	dialog->exec();
64
}