From 605dd746c0d828d272adb45319b64cac857b6068 Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Tue, 4 May 2010 08:15:16 +0000 Subject: [PATCH] some bugfixes for silly compile errors and painting issues in windoze --- mk/windoze/Glest.suo | Bin 261632 -> 265728 bytes mk/windoze/glest_editor.vcproj | 2 +- source/glest_map_editor/main.cpp | 35 ++++++++++++------ .../include/platform/common/platform_common.h | 4 +- .../platform/common/platform_common.cpp | 25 ++++++++++++- 5 files changed, 51 insertions(+), 15 deletions(-) diff --git a/mk/windoze/Glest.suo b/mk/windoze/Glest.suo index 66b5de973f3692e56d0e78c99a8ebfb808c9d82f..acd65b35d18c1bbe4130b5f3db849c3d1e8d96b3 100755 GIT binary patch delta 7656 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 delta 6761 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 diff --git a/mk/windoze/glest_editor.vcproj b/mk/windoze/glest_editor.vcproj index e41c7b8a9..f6e08b31b 100755 --- a/mk/windoze/glest_editor.vcproj +++ b/mk/windoze/glest_editor.vcproj @@ -117,7 +117,7 @@ - #include "conversion.h" - #include "icons.h" - +#include "platform_common.h" +#include using namespace Shared::Util; +using namespace Shared::PlatformCommon; using namespace std; namespace MapEditor { @@ -288,10 +287,10 @@ MainWindow::MainWindow() this->panel->SetSizer(boxsizer); this->Layout(); -#ifndef WIN32 +//#ifndef WIN32 timer = new wxTimer(this); timer->Start(100); -#endif +//#endif glCanvas->SetFocus(); } @@ -301,13 +300,14 @@ void MainWindow::onToolPlayer(wxCommandEvent& event){ void MainWindow::init(string fname) { glCanvas->SetCurrent(); + program = new Program(glCanvas->GetClientSize().x, glCanvas->GetClientSize().y); fileName = "New (unsaved) Map"; if (!fname.empty() && fileExists(fname)) { program->loadMap(fname); currentFile = fname; - fileName = cutLastExt(basename(fname.c_str())); + fileName = cutLastExt(extractFileFromDirectoryPath(fname.c_str())); } SetTitle(ToUnicode(winHeader + "; " + currentFile)); setDirty(false); @@ -355,6 +355,9 @@ void MainWindow::setExtension() { void MainWindow::onTimer(wxTimerEvent &event) { wxPaintEvent paintEvent; onPaint(paintEvent); +#ifdef WIN32 + Update(); +#endif } void MainWindow::onMouseDown(wxMouseEvent &event, int x, int y) { @@ -414,7 +417,7 @@ void MainWindow::onMenuFileLoad(wxCommandEvent &event) { if (fileDialog.ShowModal() == wxID_OK) { currentFile = fileDialog.GetPath().ToAscii(); program->loadMap(currentFile); - fileName = cutLastExt(basename(currentFile.c_str())); + fileName = cutLastExt(extractFileFromDirectoryPath(currentFile.c_str())); setDirty(false); setExtension(); SetTitle(ToUnicode(winHeader + "; " + currentFile)); @@ -439,7 +442,7 @@ void MainWindow::onMenuFileSaveAs(wxCommandEvent &event) { currentFile = fileDialog.GetPath().ToAscii(); setExtension(); program->saveMap(currentFile); - fileName = cutLastExt(basename(currentFile.c_str())); + fileName = cutLastExt(extractFileFromDirectoryPath(currentFile.c_str())); setDirty(false); } SetTitle(ToUnicode(winHeader + "; " + currentFile)); @@ -910,6 +913,7 @@ void GlCanvas::onKeyDown(wxKeyEvent &event) { mainWindow->onKeyDown(event); } + BEGIN_EVENT_TABLE(GlCanvas, wxGLCanvas) EVT_KEY_DOWN(GlCanvas::onKeyDown) @@ -926,7 +930,7 @@ void SimpleDialog::addValue(const string &key, const string &value) { } string SimpleDialog::getValue(const string &key) { - for (int i = 0; i < values.size(); ++i) { + for (unsigned int i = 0; i < values.size(); ++i) { if (values[i].first == key) { return values[i].second; } @@ -952,7 +956,7 @@ void SimpleDialog::show() { ShowModal(); - for (int i = 0; i < texts.size(); ++i) { + for (unsigned int i = 0; i < texts.size(); ++i) { values[i].second = texts[i]->GetValue().ToAscii(); } } @@ -970,6 +974,15 @@ bool App::OnInit() { mainWindow = new MainWindow(); mainWindow->Show(); mainWindow->init(fileparam); + mainWindow->Update(); + +#ifdef WIN32 + wxPoint pos = mainWindow->GetScreenPosition(); + wxSize size = mainWindow->GetSize(); + mainWindow->SetSize(pos.x, pos.y, size.x-1, size.y, wxSIZE_FORCE); + mainWindow->Update(); +#endif + return true; } diff --git a/source/shared_lib/include/platform/common/platform_common.h b/source/shared_lib/include/platform/common/platform_common.h index 4645fb09f..566c09542 100644 --- a/source/shared_lib/include/platform/common/platform_common.h +++ b/source/shared_lib/include/platform/common/platform_common.h @@ -22,11 +22,10 @@ #include #include -#include - #include "types.h" #include "checksum.h" #include +#include using std::string; using std::vector; @@ -112,6 +111,7 @@ vector > getFolderTreeContentsCheckSumListRecursively(ve vector > getFolderTreeContentsCheckSumListRecursively(const string &path, const string &filterFileExt, vector > *recursiveMap); void createDirectoryPaths(string Path); +string extractFileFromDirectoryPath(string filename); string extractDirectoryPathFromFile(string filename); string extractExtension(const string& filename); diff --git a/source/shared_lib/sources/platform/common/platform_common.cpp b/source/shared_lib/sources/platform/common/platform_common.cpp index f86b498a3..c1d4a1800 100644 --- a/source/shared_lib/sources/platform/common/platform_common.cpp +++ b/source/shared_lib/sources/platform/common/platform_common.cpp @@ -558,9 +558,32 @@ vector > getFolderTreeContentsCheckSumListRecursively(co return crcTreeCache[cacheKey]; } +string extractFileFromDirectoryPath(string filename) +{ + size_t lastDirectory_Win = filename.find_last_of('\\'); + size_t lastDirectory_Lin = filename.find_last_of('/'); + size_t lastDirectory = (lastDirectory_Win