summary refs log tree commit diff stats
path: root/tools/mapedit/src/frame.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/mapedit/src/frame.cpp')
-rw-r--r--tools/mapedit/src/frame.cpp287
1 files changed, 275 insertions, 12 deletions
diff --git a/tools/mapedit/src/frame.cpp b/tools/mapedit/src/frame.cpp index 2f85905..b8b4326 100644 --- a/tools/mapedit/src/frame.cpp +++ b/tools/mapedit/src/frame.cpp
@@ -1,11 +1,15 @@
1#include "frame.h" 1#include "frame.h"
2#include "widget.h" 2#include "mapselect_combo.h"
3#include "tile_widget.h"
4#include <wx/statline.h> 3#include <wx/statline.h>
5#include "panel.h"
6#include <list> 4#include <list>
7#include <exception> 5#include <exception>
8#include <sstream> 6#include <sstream>
7#include "widget.h"
8#include "tile_widget.h"
9#include "panel.h"
10#include "map.h"
11#include "undo.h"
12#include "object.h"
9 13
10static std::list<wxWindow*> openWindows; 14static std::list<wxWindow*> openWindows;
11 15
@@ -33,7 +37,15 @@ enum {
33 SET_STARTPOS_BUTTON, 37 SET_STARTPOS_BUTTON,
34 CANCEL_STARTPOS_BUTTON, 38 CANCEL_STARTPOS_BUTTON,
35 LAYOUT_ONE_SPLITTER, 39 LAYOUT_ONE_SPLITTER,
36 LAYOUT_THREE_SPLITTER 40 LAYOUT_THREE_SPLITTER,
41 LEFTMAP_TYPE_CHOICE,
42 LEFTMAP_MAP_CHOICE,
43 RIGHTMAP_TYPE_CHOICE,
44 RIGHTMAP_MAP_CHOICE,
45 UPMAP_TYPE_CHOICE,
46 UPMAP_MAP_CHOICE,
47 DOWNMAP_TYPE_CHOICE,
48 DOWNMAP_MAP_CHOICE
37}; 49};
38 50
39wxBEGIN_EVENT_TABLE(MapeditFrame, wxFrame) 51wxBEGIN_EVENT_TABLE(MapeditFrame, wxFrame)
@@ -67,9 +79,17 @@ wxBEGIN_EVENT_TABLE(MapeditFrame, wxFrame)
67 EVT_BUTTON(CANCEL_STARTPOS_BUTTON, MapeditFrame::OnCancelSetStartpos) 79 EVT_BUTTON(CANCEL_STARTPOS_BUTTON, MapeditFrame::OnCancelSetStartpos)
68 EVT_SPLITTER_SASH_POS_CHANGING(LAYOUT_ONE_SPLITTER, MapeditFrame::OnOneMovingSash) 80 EVT_SPLITTER_SASH_POS_CHANGING(LAYOUT_ONE_SPLITTER, MapeditFrame::OnOneMovingSash)
69 EVT_SPLITTER_SASH_POS_CHANGING(LAYOUT_THREE_SPLITTER, MapeditFrame::OnThreeMovingSash) 81 EVT_SPLITTER_SASH_POS_CHANGING(LAYOUT_THREE_SPLITTER, MapeditFrame::OnThreeMovingSash)
82 EVT_CHOICE(LEFTMAP_TYPE_CHOICE, MapeditFrame::OnSetLeftmapType)
83 EVT_CHOICE(RIGHTMAP_TYPE_CHOICE, MapeditFrame::OnSetRightmapType)
84 EVT_CHOICE(UPMAP_TYPE_CHOICE, MapeditFrame::OnSetUpmapType)
85 EVT_CHOICE(DOWNMAP_TYPE_CHOICE, MapeditFrame::OnSetDownmapType)
86 EVT_COMBOBOX_CLOSEUP(LEFTMAP_MAP_CHOICE, MapeditFrame::OnSetLeftmapMap)
87 EVT_COMBOBOX_CLOSEUP(RIGHTMAP_MAP_CHOICE, MapeditFrame::OnSetRightmapMap)
88 EVT_COMBOBOX_CLOSEUP(UPMAP_MAP_CHOICE, MapeditFrame::OnSetUpmapMap)
89 EVT_COMBOBOX_CLOSEUP(DOWNMAP_MAP_CHOICE, MapeditFrame::OnSetDownmapMap)
70wxEND_EVENT_TABLE() 90wxEND_EVENT_TABLE()
71 91
72MapeditFrame::MapeditFrame(std::unique_ptr<World> world) : wxFrame(NULL, wxID_ANY, "Map Editor") 92MapeditFrame::MapeditFrame(World* world) : wxFrame(NULL, wxID_ANY, "Map Editor")
73{ 93{
74 int screenWidth = wxSystemSettings::GetMetric(wxSYS_SCREEN_X); 94 int screenWidth = wxSystemSettings::GetMetric(wxSYS_SCREEN_X);
75 int screenHeight = wxSystemSettings::GetMetric(wxSYS_SCREEN_Y); 95 int screenHeight = wxSystemSettings::GetMetric(wxSYS_SCREEN_Y);
@@ -97,7 +117,7 @@ MapeditFrame::MapeditFrame(std::unique_ptr<World> world) : wxFrame(NULL, wxID_AN
97 Maximize(); 117 Maximize();
98 } 118 }
99 119
100 this->world = std::move(world); 120 this->world = world;
101 this->world->setParent(this); 121 this->world->setParent(this);
102 currentMap = this->world->getLastMap(); 122 currentMap = this->world->getLastMap();
103 123
@@ -167,6 +187,34 @@ MapeditFrame::MapeditFrame(std::unique_ptr<World> world) : wxFrame(NULL, wxID_AN
167 cancelStartposButton = new wxButton(propertyEditor, CANCEL_STARTPOS_BUTTON, "Cancel"); 187 cancelStartposButton = new wxButton(propertyEditor, CANCEL_STARTPOS_BUTTON, "Cancel");
168 cancelStartposButton->Disable(); 188 cancelStartposButton->Disable();
169 189
190 wxStaticText* leftmapLabel = new wxStaticText(propertyEditor, wxID_ANY, "Leftmap Action:");
191 wxChoice* leftmapChoice = new wxChoice(propertyEditor, LEFTMAP_TYPE_CHOICE);
192 wxComboCtrl* leftmapCombo = new wxComboCtrl(propertyEditor, LEFTMAP_MAP_CHOICE, "", wxDefaultPosition, wxDefaultSize, wxCB_READONLY);
193 leftmapCombo->SetPopupControl(new MapSelectComboPopup(mapTree, currentMap->getLeftMoveMapID()));
194
195 wxStaticText* rightmapLabel = new wxStaticText(propertyEditor, wxID_ANY, "Rightmap Action:");
196 wxChoice* rightmapChoice = new wxChoice(propertyEditor, RIGHTMAP_TYPE_CHOICE);
197 wxComboCtrl* rightmapCombo = new wxComboCtrl(propertyEditor, RIGHTMAP_MAP_CHOICE, "", wxDefaultPosition, wxDefaultSize, wxCB_READONLY);
198 rightmapCombo->SetPopupControl(new MapSelectComboPopup(mapTree, currentMap->getRightMoveMapID()));
199
200 wxStaticText* upmapLabel = new wxStaticText(propertyEditor, wxID_ANY, "Upmap Action:");
201 wxChoice* upmapChoice = new wxChoice(propertyEditor, UPMAP_TYPE_CHOICE);
202 wxComboCtrl* upmapCombo = new wxComboCtrl(propertyEditor, UPMAP_MAP_CHOICE, "", wxDefaultPosition, wxDefaultSize, wxCB_READONLY);
203 upmapCombo->SetPopupControl(new MapSelectComboPopup(mapTree, currentMap->getUpMoveMapID()));
204
205 wxStaticText* downmapLabel = new wxStaticText(propertyEditor, wxID_ANY, "Downmap Action:");
206 wxChoice* downmapChoice = new wxChoice(propertyEditor, DOWNMAP_TYPE_CHOICE);
207 wxComboCtrl* downmapCombo = new wxComboCtrl(propertyEditor, DOWNMAP_MAP_CHOICE, "", wxDefaultPosition, wxDefaultSize, wxCB_READONLY);
208 downmapCombo->SetPopupControl(new MapSelectComboPopup(mapTree, currentMap->getDownMoveMapID()));
209
210 for (auto type : Map::listMoveTypes())
211 {
212 leftmapChoice->Append(Map::stringForMoveType(type), new MoveTypeCtr(type));
213 rightmapChoice->Append(Map::stringForMoveType(type), new MoveTypeCtr(type));
214 upmapChoice->Append(Map::stringForMoveType(type), new MoveTypeCtr(type));
215 downmapChoice->Append(Map::stringForMoveType(type), new MoveTypeCtr(type));
216 }
217
170 wxBoxSizer* propertySizer = new wxBoxSizer(wxVERTICAL); 218 wxBoxSizer* propertySizer = new wxBoxSizer(wxVERTICAL);
171 wxBoxSizer* propertySizer1 = new wxBoxSizer(wxHORIZONTAL); 219 wxBoxSizer* propertySizer1 = new wxBoxSizer(wxHORIZONTAL);
172 propertySizer1->Add(titleLabel, 0, wxALIGN_RIGHT | wxLEFT, 10); 220 propertySizer1->Add(titleLabel, 0, wxALIGN_RIGHT | wxLEFT, 10);
@@ -176,7 +224,42 @@ MapeditFrame::MapeditFrame(std::unique_ptr<World> world) : wxFrame(NULL, wxID_AN
176 propertySizer2->Add(startposLabel, 0, wxALIGN_RIGHT | wxLEFT, 10); 224 propertySizer2->Add(startposLabel, 0, wxALIGN_RIGHT | wxLEFT, 10);
177 propertySizer2->Add(setStartposButton, 0, wxALIGN_LEFT | wxLEFT, 10); 225 propertySizer2->Add(setStartposButton, 0, wxALIGN_LEFT | wxLEFT, 10);
178 propertySizer2->Add(cancelStartposButton, 0, wxALIGN_LEFT | wxLEFT, 10); 226 propertySizer2->Add(cancelStartposButton, 0, wxALIGN_LEFT | wxLEFT, 10);
179 propertySizer->Add(propertySizer2, 0, wxEXPAND | wxTOP | wxBOTTOM, 10); 227 propertySizer->Add(propertySizer2, 0, wxEXPAND | wxTOP, 10);
228
229 wxBoxSizer* propertySizer3 = new wxBoxSizer(wxHORIZONTAL);
230 wxBoxSizer* leftmapSizer = new wxBoxSizer(wxHORIZONTAL);
231 leftmapSizer->Add(leftmapLabel, 0, wxALIGN_RIGHT, 0);
232 wxBoxSizer* leftmapToolsSizer = new wxBoxSizer(wxVERTICAL);
233 leftmapToolsSizer->Add(leftmapChoice, 0, wxEXPAND, 0);
234 leftmapToolsSizer->Add(leftmapCombo, 0, wxEXPAND | wxTOP, 10);
235 leftmapSizer->Add(leftmapToolsSizer, 1, wxEXPAND | wxLEFT, 10);
236 propertySizer3->Add(leftmapSizer, 1, wxALIGN_LEFT | wxLEFT, 10);
237 wxBoxSizer* rightmapSizer = new wxBoxSizer(wxHORIZONTAL);
238 rightmapSizer->Add(rightmapLabel, 0, wxALIGN_RIGHT, 0);
239 wxBoxSizer* rightmapToolsSizer = new wxBoxSizer(wxVERTICAL);
240 rightmapToolsSizer->Add(rightmapChoice, 0, wxEXPAND, 0);
241 rightmapToolsSizer->Add(rightmapCombo, 0, wxEXPAND | wxTOP, 10);
242 rightmapSizer->Add(rightmapToolsSizer, 1, wxEXPAND | wxLEFT, 10);
243 propertySizer3->Add(rightmapSizer, 1, wxALIGN_LEFT | wxLEFT, 10);
244 propertySizer->Add(propertySizer3, 0, wxEXPAND | wxTOP, 10);
245
246 wxBoxSizer* propertySizer4 = new wxBoxSizer(wxHORIZONTAL);
247 wxBoxSizer* upmapSizer = new wxBoxSizer(wxHORIZONTAL);
248 upmapSizer->Add(upmapLabel, 0, wxALIGN_RIGHT, 0);
249 wxBoxSizer* upmapToolsSizer = new wxBoxSizer(wxVERTICAL);
250 upmapToolsSizer->Add(upmapChoice, 0, wxEXPAND, 0);
251 upmapToolsSizer->Add(upmapCombo, 0, wxEXPAND | wxTOP, 10);
252 upmapSizer->Add(upmapToolsSizer, 1, wxEXPAND | wxLEFT, 10);
253 propertySizer4->Add(upmapSizer, 1, wxALIGN_LEFT | wxLEFT, 10);
254 wxBoxSizer* downmapSizer = new wxBoxSizer(wxHORIZONTAL);
255 downmapSizer->Add(downmapLabel, 0, wxALIGN_RIGHT, 0);
256 wxBoxSizer* downmapToolsSizer = new wxBoxSizer(wxVERTICAL);
257 downmapToolsSizer->Add(downmapChoice, 0, wxEXPAND, 0);
258 downmapToolsSizer->Add(downmapCombo, 0, wxEXPAND | wxTOP, 10);
259 downmapSizer->Add(downmapToolsSizer, 1, wxEXPAND | wxLEFT, 10);
260 propertySizer4->Add(downmapSizer, 1, wxALIGN_LEFT | wxLEFT, 10);
261 propertySizer->Add(propertySizer4, 0, wxEXPAND | wxTOP | wxBOTTOM, 10);
262
180 propertyEditor->SetSizer(propertySizer); 263 propertyEditor->SetSizer(propertySizer);
181 propertySizer->SetSizeHints(propertyEditor); 264 propertySizer->SetSizeHints(propertyEditor);
182 265
@@ -588,18 +671,174 @@ void MapeditFrame::OnThreeMovingSash(wxSplitterEvent& event)
588 layout3->SetSashPosition(event.GetSashPosition(), true); 671 layout3->SetSashPosition(event.GetSashPosition(), true);
589} 672}
590 673
674void MapeditFrame::OnSetLeftmapType(wxCommandEvent&)
675{
676 wxChoice* leftmapChoice = (wxChoice*) wxWindow::FindWindowById(LEFTMAP_TYPE_CHOICE, this);
677 wxComboCtrl* leftmapCombo = (wxComboCtrl*) wxWindow::FindWindowById(LEFTMAP_MAP_CHOICE, this);
678
679 Map::MoveType old = currentMap->getLeftMoveType();
680 Map::MoveType newt = ((MoveTypeCtr*) leftmapChoice->GetClientData(leftmapChoice->GetSelection()))->type;
681
682 commitAction(std::make_shared<Undoable>("Set Leftmap Action", [=] () {
683 leftmapChoice->SetSelection(leftmapChoice->FindString(Map::stringForMoveType(newt)));
684 currentMap->setLeftMoveType(newt);
685 leftmapCombo->Enable(Map::moveTypeTakesMap(currentMap->getLeftMoveType()));
686 }, [=] () {
687 leftmapChoice->SetSelection(leftmapChoice->FindString(Map::stringForMoveType(old)));
688 currentMap->setLeftMoveType(old);
689 leftmapCombo->Enable(Map::moveTypeTakesMap(currentMap->getLeftMoveType()));
690 }));
691}
692
693void MapeditFrame::OnSetLeftmapMap(wxCommandEvent&)
694{
695 wxComboCtrl* leftmapCombo = (wxComboCtrl*) wxWindow::FindWindowById(LEFTMAP_MAP_CHOICE, this);
696 MapSelectComboPopup* popup = (MapSelectComboPopup*) leftmapCombo->GetPopupControl();
697 int old = currentMap->getLeftMoveMapID();
698 int newt = popup->GetSelectedMapID();
699
700 if (old == newt) return;
701
702 commitAction(std::make_shared<Undoable>("Set Leftmap Map", [=] () {
703 popup->SetSelectedMapID(newt);
704 leftmapCombo->SetValue(world->getMap(newt)->getTitle());
705 currentMap->setLeftMoveMapID(newt);
706 }, [=] () {
707 popup->SetSelectedMapID(old);
708 leftmapCombo->SetValue(world->getMap(old)->getTitle());
709 currentMap->setLeftMoveMapID(old);
710 }));
711}
712
713void MapeditFrame::OnSetRightmapType(wxCommandEvent&)
714{
715 wxChoice* rightmapChoice = (wxChoice*) wxWindow::FindWindowById(RIGHTMAP_TYPE_CHOICE, this);
716 wxComboCtrl* rightmapCombo = (wxComboCtrl*) wxWindow::FindWindowById(RIGHTMAP_MAP_CHOICE, this);
717
718 Map::MoveType old = currentMap->getRightMoveType();
719 Map::MoveType newt = ((MoveTypeCtr*) rightmapChoice->GetClientData(rightmapChoice->GetSelection()))->type;
720
721 commitAction(std::make_shared<Undoable>("Set Rightmap Action", [=] () {
722 rightmapChoice->SetSelection(rightmapChoice->FindString(Map::stringForMoveType(newt)));
723 currentMap->setRightMoveType(newt);
724 rightmapCombo->Enable(Map::moveTypeTakesMap(currentMap->getRightMoveType()));
725 }, [=] () {
726 rightmapChoice->SetSelection(rightmapChoice->FindString(Map::stringForMoveType(old)));
727 currentMap->setRightMoveType(old);
728 rightmapCombo->Enable(Map::moveTypeTakesMap(currentMap->getRightMoveType()));
729 }));
730}
731
732void MapeditFrame::OnSetRightmapMap(wxCommandEvent&)
733{
734 wxComboCtrl* rightmapCombo = (wxComboCtrl*) wxWindow::FindWindowById(RIGHTMAP_MAP_CHOICE, this);
735 MapSelectComboPopup* popup = (MapSelectComboPopup*) rightmapCombo->GetPopupControl();
736 int old = currentMap->getRightMoveMapID();
737 int newt = popup->GetSelectedMapID();
738
739 if (old == newt) return;
740
741 commitAction(std::make_shared<Undoable>("Set Rightmap Map", [=] () {
742 popup->SetSelectedMapID(newt);
743 rightmapCombo->SetValue(world->getMap(newt)->getTitle());
744 currentMap->setRightMoveMapID(newt);
745 }, [=] () {
746 popup->SetSelectedMapID(old);
747 rightmapCombo->SetValue(world->getMap(old)->getTitle());
748 currentMap->setRightMoveMapID(old);
749 }));
750}
751
752void MapeditFrame::OnSetUpmapType(wxCommandEvent&)
753{
754 wxChoice* upmapChoice = (wxChoice*) wxWindow::FindWindowById(UPMAP_TYPE_CHOICE, this);
755 wxComboCtrl* upmapCombo = (wxComboCtrl*) wxWindow::FindWindowById(UPMAP_MAP_CHOICE, this);
756
757 Map::MoveType old = currentMap->getUpMoveType();
758 Map::MoveType newt = ((MoveTypeCtr*) upmapChoice->GetClientData(upmapChoice->GetSelection()))->type;
759
760 commitAction(std::make_shared<Undoable>("Set Upmap Action", [=] () {
761 upmapChoice->SetSelection(upmapChoice->FindString(Map::stringForMoveType(newt)));
762 currentMap->setUpMoveType(newt);
763 upmapCombo->Enable(Map::moveTypeTakesMap(currentMap->getUpMoveType()));
764 }, [=] () {
765 upmapChoice->SetSelection(upmapChoice->FindString(Map::stringForMoveType(old)));
766 currentMap->setUpMoveType(old);
767 upmapCombo->Enable(Map::moveTypeTakesMap(currentMap->getUpMoveType()));
768 }));
769}
770
771void MapeditFrame::OnSetUpmapMap(wxCommandEvent&)
772{
773 wxComboCtrl* upmapCombo = (wxComboCtrl*) wxWindow::FindWindowById(UPMAP_MAP_CHOICE, this);
774 MapSelectComboPopup* popup = (MapSelectComboPopup*) upmapCombo->GetPopupControl();
775 int old = currentMap->getUpMoveMapID();
776 int newt = popup->GetSelectedMapID();
777
778 if (old == newt) return;
779
780 commitAction(std::make_shared<Undoable>("Set Upmap Map", [=] () {
781 popup->SetSelectedMapID(newt);
782 upmapCombo->SetValue(world->getMap(newt)->getTitle());
783 currentMap->setUpMoveMapID(newt);
784 }, [=] () {
785 popup->SetSelectedMapID(old);
786 upmapCombo->SetValue(world->getMap(old)->getTitle());
787 currentMap->setUpMoveMapID(old);
788 }));
789}
790
791void MapeditFrame::OnSetDownmapType(wxCommandEvent&)
792{
793 wxChoice* downmapChoice = (wxChoice*) wxWindow::FindWindowById(DOWNMAP_TYPE_CHOICE, this);
794 wxComboCtrl* downmapCombo = (wxComboCtrl*) wxWindow::FindWindowById(DOWNMAP_MAP_CHOICE, this);
795
796 Map::MoveType old = currentMap->getDownMoveType();
797 Map::MoveType newt = ((MoveTypeCtr*) downmapChoice->GetClientData(downmapChoice->GetSelection()))->type;
798
799 commitAction(std::make_shared<Undoable>("Set Downmap Action", [=] () {
800 downmapChoice->SetSelection(downmapChoice->FindString(Map::stringForMoveType(newt)));
801 currentMap->setDownMoveType(newt);
802 downmapCombo->Enable(Map::moveTypeTakesMap(currentMap->getDownMoveType()));
803 }, [=] () {
804 downmapChoice->SetSelection(downmapChoice->FindString(Map::stringForMoveType(old)));
805 currentMap->setDownMoveType(old);
806 downmapCombo->Enable(Map::moveTypeTakesMap(currentMap->getDownMoveType()));
807 }));
808}
809
810void MapeditFrame::OnSetDownmapMap(wxCommandEvent&)
811{
812 wxComboCtrl* downmapCombo = (wxComboCtrl*) wxWindow::FindWindowById(DOWNMAP_MAP_CHOICE, this);
813 MapSelectComboPopup* popup = (MapSelectComboPopup*) downmapCombo->GetPopupControl();
814 int old = currentMap->getDownMoveMapID();
815 int newt = popup->GetSelectedMapID();
816
817 if (old == newt) return;
818
819 commitAction(std::make_shared<Undoable>("Set Downmap Map", [=] () {
820 popup->SetSelectedMapID(newt);
821 downmapCombo->SetValue(world->getMap(newt)->getTitle());
822 currentMap->setDownMoveMapID(newt);
823 }, [=] () {
824 popup->SetSelectedMapID(old);
825 downmapCombo->SetValue(world->getMap(old)->getTitle());
826 currentMap->setDownMoveMapID(old);
827 }));
828}
829
591void MapeditFrame::NewWorld() 830void MapeditFrame::NewWorld()
592{ 831{
593 LaunchWindow(std::unique_ptr<World>(new World())); 832 LaunchWindow(new World());
594} 833}
595 834
596bool MapeditFrame::OpenWorld(std::string filename) 835bool MapeditFrame::OpenWorld(std::string filename)
597{ 836{
598 try 837 try
599 { 838 {
600 auto world = std::unique_ptr<World>(new World(filename)); 839 auto world = new World(filename);
601 840
602 LaunchWindow(std::move(world)); 841 LaunchWindow(world);
603 842
604 return true; 843 return true;
605 } catch (std::exception& ex) 844 } catch (std::exception& ex)
@@ -610,9 +849,9 @@ bool MapeditFrame::OpenWorld(std::string filename)
610 return false; 849 return false;
611} 850}
612 851
613void MapeditFrame::LaunchWindow(std::unique_ptr<World> world) 852void MapeditFrame::LaunchWindow(World* world)
614{ 853{
615 MapeditFrame* frame = new MapeditFrame(std::move(world)); 854 MapeditFrame* frame = new MapeditFrame(world);
616 frame->closer = openWindows.insert(end(openWindows), frame); 855 frame->closer = openWindows.insert(end(openWindows), frame);
617 frame->Show(true); 856 frame->Show(true);
618} 857}
@@ -674,6 +913,30 @@ void MapeditFrame::SelectMap(Map* map)
674 913
675 titleBox->ChangeValue(map->getTitle()); 914 titleBox->ChangeValue(map->getTitle());
676 world->setLastMap(map); 915 world->setLastMap(map);
916
917 wxChoice* leftmapChoice = (wxChoice*) wxWindow::FindWindowById(LEFTMAP_TYPE_CHOICE, this);
918 wxChoice* rightmapChoice = (wxChoice*) wxWindow::FindWindowById(RIGHTMAP_TYPE_CHOICE, this);
919 wxChoice* upmapChoice = (wxChoice*) wxWindow::FindWindowById(UPMAP_TYPE_CHOICE, this);
920 wxChoice* downmapChoice = (wxChoice*) wxWindow::FindWindowById(DOWNMAP_TYPE_CHOICE, this);
921 wxComboCtrl* leftmapCombo = (wxComboCtrl*) wxWindow::FindWindowById(LEFTMAP_MAP_CHOICE, this);
922 wxComboCtrl* rightmapCombo = (wxComboCtrl*) wxWindow::FindWindowById(RIGHTMAP_MAP_CHOICE, this);
923 wxComboCtrl* upmapCombo = (wxComboCtrl*) wxWindow::FindWindowById(UPMAP_MAP_CHOICE, this);
924 wxComboCtrl* downmapCombo = (wxComboCtrl*) wxWindow::FindWindowById(DOWNMAP_MAP_CHOICE, this);
925
926 leftmapChoice->SetSelection(leftmapChoice->FindString(Map::stringForMoveType(currentMap->getLeftMoveType())));
927 rightmapChoice->SetSelection(rightmapChoice->FindString(Map::stringForMoveType(currentMap->getRightMoveType())));
928 upmapChoice->SetSelection(upmapChoice->FindString(Map::stringForMoveType(currentMap->getUpMoveType())));
929 downmapChoice->SetSelection(downmapChoice->FindString(Map::stringForMoveType(currentMap->getDownMoveType())));
930
931 leftmapCombo->Enable(Map::moveTypeTakesMap(currentMap->getLeftMoveType()));
932 rightmapCombo->Enable(Map::moveTypeTakesMap(currentMap->getRightMoveType()));
933 upmapCombo->Enable(Map::moveTypeTakesMap(currentMap->getUpMoveType()));
934 downmapCombo->Enable(Map::moveTypeTakesMap(currentMap->getDownMoveType()));
935
936 leftmapCombo->SetValue(world->getMap(currentMap->getLeftMoveMapID())->getTitle());
937 rightmapCombo->SetValue(world->getMap(currentMap->getRightMoveMapID())->getTitle());
938 upmapCombo->SetValue(world->getMap(currentMap->getUpMoveMapID())->getTitle());
939 downmapCombo->SetValue(world->getMap(currentMap->getDownMoveMapID())->getTitle());
677} 940}
678 941
679wxTreeItemId MapeditFrame::MoveTreeNode(wxTreeItemId toCopy, wxTreeItemId newParent) 942wxTreeItemId MapeditFrame::MoveTreeNode(wxTreeItemId toCopy, wxTreeItemId newParent)