-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdialog_new_map.rb
More file actions
115 lines (89 loc) · 4.2 KB
/
dialog_new_map.rb
File metadata and controls
115 lines (89 loc) · 4.2 KB
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# encoding: UTF-8
class Dialog_new_map < Wx::Dialog
class New_map_panel < Wx::Panel
#--------------------------------------------------------------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------------------------------------------------------------
def initialize(parent, map)
super(parent, Wx::ID_ANY, Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::DOUBLE_BORDER)
set_own_background_colour($background_color)
# Sizers
main_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
left_sizer = Wx::BoxSizer.new(Wx::VERTICAL)
right_sizer = Wx::BoxSizer.new(Wx::VERTICAL)
# Variables
@name = Wx::TextCtrl.new(self, Wx::ID_ANY);@name.set_value(map.virtual_map_name)
@tileset = Wx::Choice.new(self, Wx::ID_ANY, Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, ["ID:0001:Main"]);@tileset.set_selection(map.tileset)
@width = NumberCtrl.new(self, 1, 5000, map.size[0], 1, 4, true)
@height = NumberCtrl.new(self, 1, 5000, map.size[1], 1, 4, true)
# Left side
left_sizer.add(Wx::StaticText.new(self, Wx::ID_ANY, String_lang::get({"fr" => "Nom", "eng" => "Name"}) + " : "))
left_sizer.add_spacer(2)
left_sizer.add(@name, 0, Wx::GROW)
left_sizer.add_spacer(5)
left_sizer.add(Wx::StaticText.new(self, Wx::ID_ANY, "Tileset"))
left_sizer.add_spacer(2)
left_sizer.add(@tileset, 0, Wx::GROW)
left_sizer.add_spacer(5)
box1 = Wx::BoxSizer.new(Wx::VERTICAL)
box1.add(Wx::StaticText.new(self, Wx::ID_ANY, String_lang::get({"fr" => "Largeur", "eng" => "Width"}) + " : "))
left_sizer.add_spacer(2)
box1.add(@width)
box2 = Wx::BoxSizer.new(Wx::VERTICAL)
box2.add(Wx::StaticText.new(self, Wx::ID_ANY, String_lang::get({"fr" => "Hauteur", "eng" => "Height"}) + " : "))
left_sizer.add_spacer(2)
box2.add(@height)
box_nums = Wx::BoxSizer.new(Wx::HORIZONTAL)
box_nums.add(box1, 1, Wx::GROW)
left_sizer.add_spacer(5)
box_nums.add(box2, 1, Wx::GROW)
left_sizer.add(box_nums, 0, Wx::GROW)
# Main fusion
main_sizer.add(left_sizer, 1, Wx::GROW)
main_sizer.add_spacer(10)
main_sizer.add(right_sizer, 1, Wx::GROW)
window_sizer = Wx::BoxSizer.new(Wx::VERTICAL)
window_sizer.add(main_sizer, 1, Wx::ALL | Wx::GROW, 10)
# Set sizer
set_sizer(window_sizer)
# Set evt
end
#--------------------------------------------------------------------------------------------------------------------------------
# get_value
#--------------------------------------------------------------------------------------------------------------------------------
def get_value()
return [@name.get_value(), @tileset.get_selection(), @width.get_final_value(), @height.get_final_value()]
end
end
#--------------------------------------------------------------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------------------------------------------------------------
def initialize(parent, map)
super(parent, Wx::ID_ANY, String_lang::get({"fr" => "Nouvelle carte", "eng" => "New map"}), Wx::DEFAULT_POSITION, [550, 250])
set_own_background_colour(Wx::Colour.new(200,200, 225))
@main_panel = New_map_panel.new(self, map)
okCancel = OkCancel.new(self)
okCancel.set_own_background_colour(Wx::Colour.new(200,200, 225))
global_sizer = Wx::BoxSizer.new(Wx::VERTICAL)
global_sizer.add(@main_panel, 1, Wx::GROW)
global_sizer.add_spacer(10)
global_sizer.add(okCancel, 0, Wx::GROW | Wx::ALIGN_RIGHT | Wx::ALL)
window_sizer = Wx::BoxSizer.new(Wx::VERTICAL)
window_sizer.add(global_sizer, 1, Wx::ALL | Wx::GROW, 10)
# Set sizer
set_sizer(window_sizer)
# Set evt
evt_button(okCancel.button_ok) do |event|
end_modal(1000)
end
evt_button(okCancel.button_cancel) do |event|
end_modal(-1)
end
end
#--------------------------------------------------------------------------------------------------------------------------------
# get_value
#--------------------------------------------------------------------------------------------------------------------------------
def get_value()
return @main_panel.get_value()
end
end