Files
GDevelop/Extensions/TileMapObject/IDE/Dialogs/TileMapImporterDialog.cpp
T
2015-12-01 22:59:23 +01:00

67 lines
1.7 KiB
C++

#include "TileMapImporterDialog.h"
#if defined(GD_IDE_ONLY) && !defined(GD_NO_WX_GUI)
#include "GDCore/Tools/Log.h"
#include "IDE/TMXImport/TileMapImporter.h"
#include "TileSet.h"
#include "TileMap.h"
TileMapImporterDialog::TileMapImporterDialog(wxWindow* parent, TileSet tileset, TileMap tilemap, gd::Project &project)
: TileMapImporterDialogBase(parent),
m_tileset(tileset),
m_tilemap(tilemap),
m_project(project)
{
m_okBt->Disable();
}
TileMapImporterDialog::~TileMapImporterDialog()
{
}
void TileMapImporterDialog::OnBrowserBtClicked(wxCommandEvent& event)
{
wxFileDialog openFileDialog(this, _("Import .tmx file"), "", "", "Tiled file (*.tmx)|*.tmx", wxFD_OPEN|wxFD_FILE_MUST_EXIST);
if (openFileDialog.ShowModal() == wxID_CANCEL)
return;
m_fileTextCtrl->SetValue(openFileDialog.GetPath());
}
void TileMapImporterDialog::OnImportButtonClicked(wxCommandEvent& event)
{
try
{
m_okBt->Enable();
TileMapImporter importer(m_fileTextCtrl->GetValue());
//TODO: Check the checkboxes :) !
if(!importer.ImportTileMap(m_tileset, m_tilemap,
m_tilemapCheckBox->GetValue(),
m_tilesetConfCheckBox->GetValue(),
m_tilesetImageCheckBox->GetValue(),
m_hitboxesCheckBox->GetValue(),
m_project))
{
m_okBt->Disable();
}
}
catch (const std::runtime_error &exc)
{
gd::LogError(_("Unable to read the file !"));
m_okBt->Disable();
}
}
void TileMapImporterDialog::OnOkBtClicked(wxCommandEvent& event)
{
EndModal(1);
}
void TileMapImporterDialog::OnCancelBtClicked(wxCommandEvent& event)
{
EndModal(0);
}
#endif