47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
#include "mainwindow.h"
|
|
#include "ui_mainwindow.h"
|
|
#include <QMessageBox>
|
|
#include <QFileDialog>
|
|
|
|
MainWindow::MainWindow(QWidget *parent)
|
|
: QMainWindow(parent)
|
|
, ui(new Ui::MainWindow)
|
|
{
|
|
ui->setupUi(this);
|
|
QAction *actionLoad = new QAction(tr("Load"), this);
|
|
ui->menuLoad->addAction(actionLoad);
|
|
|
|
connect(actionLoad, &QAction::triggered, this, &MainWindow::onLoadTriggered);
|
|
}
|
|
|
|
MainWindow::~MainWindow()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void MainWindow::on_readButton_clicked()
|
|
{
|
|
bool ok;
|
|
unsigned int addr = ui->addressLineEdit->text().toUInt(&ok);
|
|
if (!ok) {
|
|
QMessageBox::warning(this, "Napaka", "Neveljaven naslov!");
|
|
return;
|
|
}
|
|
|
|
try {
|
|
unsigned char val = machine.readByte(addr);
|
|
ui->valueLabel->setText(QString::number(val));
|
|
} catch (const std::out_of_range &e) {
|
|
QMessageBox::warning(this, "Napaka", "Naslov je izven meje pomnilnika!");
|
|
}
|
|
}
|
|
|
|
void MainWindow::onLoadTriggered() {
|
|
QString filename = QFileDialog::getOpenFileName(this, tr("Open Object File"), "", tr("Object Files (*.obj)"));
|
|
if (!filename.isEmpty()) {
|
|
bool ok = loader.loadObj(machine, filename.toStdString());
|
|
if (!ok) {
|
|
QMessageBox::warning(this, tr("Error"), tr("Failed to load file"));
|
|
}
|
|
}
|
|
}
|