My favorites | Sign in
Project Home Downloads Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include "MapEditor.h"

#define IMAGECLASS MapEditorImg
#define IMAGEFILE <MapEditor/MapEditor.iml>
#include <Draw/iml_source.h>

MapEditor::MapEditor()
{
CtrlLayout(*this, t_("Map Editor"));
RealizeDirectories();
UpdateEditorCtrls();

WhenClose = THISBACK(OnClose);
PropsBtn <<= THISBACK(OnMapProperties);

NewMapBtn <<= THISBACK(OnNewMap);
SaveMapBtn <<= THISBACK(OnSaveMap);
LoadMapBtn <<= THISBACK(OnLoadMap);
ViewMapBtn <<= THISBACK(OnViewMap);
CalcMapBtn <<= THISBACK(CalculateAllPrompt);

AddLevelBtn <<= THISBACK(OnAddLevel);
EditLevelBtn <<= THISBACK(OnEditLevel);
ChangeLevelBtn <<= THISBACK(OnChangeLevel);
RemoveLevelBtn <<= THISBACK(OnRemoveLevel);

LevelList.Moving();
LevelList.AddColumn(t_("#")).Min(HorzLayoutZoom(40)).Max(VertLayoutZoom(40))
.HeaderAlignCenter().AlignCenter();

LevelList.AddColumn(t_("Level Name"))
.HeaderAlignCenter().AlignCenter();

LevelList.WhenChangeRow = THISBACK(UpdateEditorCtrls);
LevelList.WhenLeftDouble = THISBACK(OnChangeLevel);
LevelList.WhenMoveRow = THISBACK(OnMoveLevel);
}

void MapEditor::OnClose()
{
if (!_map.GetName().IsEmpty() && _map.GetLevels().GetCount() > 0)
{
int r = PromptYesNoCancel(t_("Save current map before exit?"));

if (r == 1)
OnSaveMap();

if (r == -1)
return;
}

Break();
}

void MapEditor::UpdateEditorCtrls()
{
bool flag = _map.GetLevels().GetCount() > 0 && LevelList.GetCurrentRow() >= 0
&& !_map.GetName().IsEmpty();

LevelList .Enable( _map.GetLevels().GetCount());
SaveMapBtn .Enable( _map.GetLevels().GetCount());
AddLevelBtn .Enable(!_map.GetName().IsEmpty());
ChangeLevelBtn.Enable(flag);
RemoveLevelBtn.Enable(flag);

EditLevelBtn .Enable(flag);

CalcMapBtn.Enable(_map.GetLevels().GetCount() > 0 && !_map.GetName().IsEmpty());
ViewMapBtn.Enable(_map.GetLevels().GetCount() > 0 && !_map.GetName().IsEmpty());
}

void MapEditor::RealizeDirectories()
{
RealizeDirectory(AppendFileName( GetFileDirectory(GetExeFilePath()), "Mipmaps"));
RealizeDirectory(AppendFileName( GetFileDirectory(GetExeFilePath()), "Maps"));
}

Change log

r4180 by Sc0rch on Nov 17, 2011   Diff
MapRender: First release
(FormEditorCommon, FormEditorProperties,
Map, MapBG, MapCommon, MapEditor,
MapRenderTest.
Go to: 
Project members, sign in to write a code review

Older revisions

All revisions of this file

File info

Size: 2147 bytes, 76 lines
Powered by Google Project Hosting