porymap/src/ui/tileseteditor.cpp

57 lines
2 KiB
C++
Raw Normal View History

2018-09-29 20:13:07 +01:00
#include "tileseteditor.h"
#include "ui_tileseteditor.h"
#include <QDebug>
2018-09-29 20:13:07 +01:00
TilesetEditor::TilesetEditor(Project *project, QString primaryTilesetLabel, QString secondaryTilesetLabel, QWidget *parent) :
2018-09-29 20:13:07 +01:00
QMainWindow(parent),
ui(new Ui::TilesetEditor)
{
ui->setupUi(this);
this->project = project;
this->primaryTilesetLabel = primaryTilesetLabel;
this->secondaryTilesetLabel = secondaryTilesetLabel;
initMetatilesSelector();
2018-09-29 20:13:07 +01:00
}
TilesetEditor::~TilesetEditor()
{
delete ui;
}
void TilesetEditor::initMetatilesSelector()
2018-09-29 20:13:07 +01:00
{
Tileset *primaryTileset = this->project->getTileset(this->primaryTilesetLabel);
Tileset *secondaryTileset = this->project->getTileset(this->secondaryTilesetLabel);
this->metatileSelector = new TilesetEditorMetatileSelector(primaryTileset, secondaryTileset);
connect(this->metatileSelector, SIGNAL(hoveredMetatileChanged(uint16_t)),
this, SLOT(onHoveredMetatileChanged(uint16_t)));
connect(this->metatileSelector, SIGNAL(hoveredMetatileCleared()),
this, SLOT(onHoveredMetatileCleared()));
connect(this->metatileSelector, SIGNAL(selectedMetatileChanged(uint16_t)),
this, SLOT(onSelectedMetatileChanged(uint16_t)));
this->metatilesScene = new QGraphicsScene;
this->metatilesScene->addItem(this->metatileSelector);
this->metatileSelector->select(0);
this->metatileSelector->draw();
this->ui->graphicsView_Metatiles->setScene(this->metatilesScene);
this->ui->graphicsView_Metatiles->setFixedSize(this->metatileSelector->pixmap().width() + 2, this->metatileSelector->pixmap().height() + 2);
}
void TilesetEditor::onHoveredMetatileChanged(uint16_t metatileId) {
QString message = QString("Metatile: 0x%1")
.arg(QString("%1").arg(metatileId, 3, 16, QChar('0')).toUpper());
this->ui->statusbar->showMessage(message);
}
void TilesetEditor::onHoveredMetatileCleared() {
this->ui->statusbar->clearMessage();
}
void TilesetEditor::onSelectedMetatileChanged(uint16_t) {
2018-09-29 20:13:07 +01:00
}