aboutsummaryrefslogtreecommitdiff
path: root/Source/MapEditor/mainwindow.cpp
diff options
context:
space:
mode:
authorXaviDCR92 <xavi.dcr@gmail.com>2018-02-25 05:25:33 +0100
committerXaviDCR92 <xavi.dcr@gmail.com>2018-02-25 05:25:33 +0100
commitbaa647ad7caf95ea2619d8456bcfd0f04a08a719 (patch)
tree7a7f5408a8ae0cc18a70d7795a2a47af30cf59f5 /Source/MapEditor/mainwindow.cpp
parent81d9242514b4e8e3fe97cf7063a15680f610bf2f (diff)
downloadairport-baa647ad7caf95ea2619d8456bcfd0f04a08a719.tar.gz
+ Added Message module, used for tutorials.
+ Added first tutorial level. * Font now inserts line feed automatically if the next word is too long to fit. * Gfx.c: added primitive list double buffering in order to gain some performance. * MapEditor: now airport can be defined inside the tool.
Diffstat (limited to 'Source/MapEditor/mainwindow.cpp')
-rw-r--r--Source/MapEditor/mainwindow.cpp43
1 files changed, 37 insertions, 6 deletions
diff --git a/Source/MapEditor/mainwindow.cpp b/Source/MapEditor/mainwindow.cpp
index ed0bdc9..2da1d1b 100644
--- a/Source/MapEditor/mainwindow.cpp
+++ b/Source/MapEditor/mainwindow.cpp
@@ -4,6 +4,8 @@
#include <QGraphicsPixmapItem>
#include <QInputDialog>
+#define DEFAULT_AIRPORT_NAME QByteArray("Default Airport\0")
+
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow),
@@ -11,13 +13,13 @@ MainWindow::MainWindow(QWidget *parent) :
selected_item(-1)
{
ui->setupUi(this);
-
- ui->centralWidget->setWindowTitle("Airport Map Editor");
+ this->setWindowTitle(APP_NAME + " " + APP_VERSION_STRING);
connect(ui->LoadMap_Btn, SIGNAL(released()), this, SLOT(onLoadMap()));
connect(ui->CreateMap_Btn, SIGNAL(released()), this, SLOT(onCreateMap()));
connect(ui->saveMap_Btn, SIGNAL(released()), this, SLOT(onSaveMap(void)));
connect(ui->showNumbers_Checkbox, SIGNAL(stateChanged(int)), this, SLOT(onShowNumbers(int)));
+ connect(ui->airportName_Label, SIGNAL(textChanged(QString)), this, SLOT(onAirportNameModified(QString)));
connect(gscene, SIGNAL(positionClicked(QPointF)), this, SLOT(onMapItemClicked(QPointF)));
connect(gscene, SIGNAL(noItemSelected(void)), this, SLOT(onNoItemSelected(void)));
@@ -161,15 +163,18 @@ void MainWindow::onCreateMap(void)
data.append((char)0x18);
}
- data.append("Default airport");
+ data.append(DEFAULT_AIRPORT_NAME);
+
+ for (int i = 0x04 + DEFAULT_AIRPORT_NAME.count(); i < 0x1C; i++)
+ {
+ data.append('\0');
+ }
for (int i = (data.count() - 1); i < DATA_HEADER_SIZE; i++)
{
data.append(0xFF);
}
- qDebug() << data.count();
-
int size_int = size.toInt(&ok, 10);
if (ok == false)
@@ -243,7 +248,13 @@ void MainWindow::onProcessMapFile(QByteArray data)
return;
}
- ds.skipRawData(0x3B);
+ char airportName[0x1A];
+
+ ds.readRawData(airportName, sizeof(airportName) / sizeof(airportName[0]));
+
+ ui->airportName_Label->setText(QString(airportName));
+
+ ds.skipRawData(0x3B - 0x1A);
gscene->clear();
gscene->clearFocus();
@@ -417,3 +428,23 @@ void MainWindow::loadTilesetData(void)
}
}
}
+
+void MainWindow::onAirportNameModified(QString name)
+{
+ if (map_buffer.isEmpty() == true)
+ {
+ return;
+ }
+
+ for (int i = 0x04, j = 0; i < 0x1C; i++)
+ {
+ if (j < name.count() )
+ {
+ map_buffer[i] = name.at(j++).toLatin1();
+ }
+ else
+ {
+ map_buffer[i] = '\0';
+ }
+ }
+}