4 Skyscraper 1.8 Alpha - Edit Elevator Form
5 Copyright (C)20032012 Ryan Thoryk
6 http://www.skyscrapersim.com
7 http://sourceforge.net/projects/skyscraper
8 Contact - ryan@tliquest.net
10 This program is free software; you can redistribute it and/or
11 modify it under the terms of the GNU General Public License
12 as published by the Free Software Foundation; either version 2
13 of the License, or (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 //(*InternalHeaders(editelevator)
27 #include <wx/string.h>
29 #include "debugpanel.h"
30 #include "editelevator.h"
36 extern SBS *Simcore; //external pointer to the SBS engine
40 //(*IdInit(editelevator)
41 const long editelevator::ID_tElevator = wxNewId();
42 const long editelevator::ID_sNumber = wxNewId();
43 const long editelevator::ID_tFloor = wxNewId();
44 const long editelevator::ID_sFloor = wxNewId();
45 const long editelevator::ID_bACPMode = wxNewId();
46 const long editelevator::ID_bUpPeak = wxNewId();
47 const long editelevator::ID_bDownPeak = wxNewId();
48 const long editelevator::ID_bIndService = wxNewId();
49 const long editelevator::ID_bInsService = wxNewId();
50 const long editelevator::ID_Fire1Off = wxNewId();
51 const long editelevator::ID_Fire1On = wxNewId();
52 const long editelevator::ID_Fire1Bypass = wxNewId();
53 const long editelevator::ID_Fire2Off = wxNewId();
54 const long editelevator::ID_Fire2On = wxNewId();
55 const long editelevator::ID_Fire2Hold = wxNewId();
56 const long editelevator::ID_bUp = wxNewId();
57 const long editelevator::ID_bGoToggle = wxNewId();
58 const long editelevator::ID_bDown = wxNewId();
59 const long editelevator::ID_tDoor = wxNewId();
60 const long editelevator::ID_sDoor = wxNewId();
61 const long editelevator::ID_bRefresh = wxNewId();
62 const long editelevator::ID_bDumpFloors = wxNewId();
63 const long editelevator::ID_bDumpQueues = wxNewId();
64 const long editelevator::ID_CHECKBOX1 = wxNewId();
65 const long editelevator::ID_chkRun = wxNewId();
66 const long editelevator::ID_bCall = wxNewId();
67 const long editelevator::ID_bGo = wxNewId();
68 const long editelevator::ID_bOpen = wxNewId();
69 const long editelevator::ID_bOpenManual = wxNewId();
70 const long editelevator::ID_bOpenShaftDoor = wxNewId();
71 const long editelevator::ID_bStop = wxNewId();
72 const long editelevator::ID_bChime = wxNewId();
73 const long editelevator::ID_bUpIndicator = wxNewId();
74 const long editelevator::ID_bEnqueueUp = wxNewId();
75 const long editelevator::ID_bEnqueueDown = wxNewId();
76 const long editelevator::ID_bClose = wxNewId();
77 const long editelevator::ID_bCloseManual = wxNewId();
78 const long editelevator::ID_bCloseShaftDoor = wxNewId();
79 const long editelevator::ID_bAlarm = wxNewId();
80 const long editelevator::ID_bStopDoors = wxNewId();
81 const long editelevator::ID_bDownIndicator = wxNewId();
82 const long editelevator::ID_STATICTEXT3 = wxNewId();
83 const long editelevator::ID_txtNumber = wxNewId();
84 const long editelevator::ID_STATICTEXT5 = wxNewId();
85 const long editelevator::ID_txtName = wxNewId();
86 const long editelevator::ID_bSetName = wxNewId();
87 const long editelevator::ID_STATICTEXT4 = wxNewId();
88 const long editelevator::ID_txtEnabled = wxNewId();
89 const long editelevator::ID_STATICTEXT6 = wxNewId();
90 const long editelevator::ID_txtShaft = wxNewId();
91 const long editelevator::ID_STATICTEXT7 = wxNewId();
92 const long editelevator::ID_txtHeight = wxNewId();
93 const long editelevator::ID_STATICTEXT8 = wxNewId();
94 const long editelevator::ID_txtDoorWidth = wxNewId();
95 const long editelevator::ID_STATICTEXT9 = wxNewId();
96 const long editelevator::ID_txtDoorHeight = wxNewId();
97 const long editelevator::ID_STATICTEXT10 = wxNewId();
98 const long editelevator::ID_txtDoorDirection = wxNewId();
99 const long editelevator::ID_STATICTEXT11 = wxNewId();
100 const long editelevator::ID_txtDoorsOpen = wxNewId();
101 const long editelevator::ID_STATICTEXT12 = wxNewId();
102 const long editelevator::ID_txtBrakes = wxNewId();
103 const long editelevator::ID_STATICTEXT13 = wxNewId();
104 const long editelevator::ID_txtStop = wxNewId();
105 const long editelevator::ID_STATICTEXT42 = wxNewId();
106 const long editelevator::ID_txtDoorTimer = wxNewId();
107 const long editelevator::ID_bSetDoorTimer = wxNewId();
108 const long editelevator::ID_STATICTEXT61 = wxNewId();
109 const long editelevator::ID_txtQuickClose = wxNewId();
110 const long editelevator::ID_bSetQuickClose = wxNewId();
111 const long editelevator::ID_STATICTEXT32 = wxNewId();
112 const long editelevator::ID_txtUseSkipFloor = wxNewId();
113 const long editelevator::ID_STATICTEXT44 = wxNewId();
114 const long editelevator::ID_txtSkipFloorText = wxNewId();
115 const long editelevator::ID_bSetSkipFloorText = wxNewId();
116 const long editelevator::ID_STATICTEXT52 = wxNewId();
117 const long editelevator::ID_txtAlarm = wxNewId();
118 const long editelevator::ID_STATICTEXT28 = wxNewId();
119 const long editelevator::ID_txtWaitForDoors = wxNewId();
120 const long editelevator::ID_STATICTEXT67 = wxNewId();
121 const long editelevator::ID_txtNudgeMode = wxNewId();
122 const long editelevator::ID_STATICTEXT14 = wxNewId();
123 const long editelevator::ID_txtFloor = wxNewId();
124 const long editelevator::ID_STATICTEXT15 = wxNewId();
125 const long editelevator::ID_txtPosition = wxNewId();
126 const long editelevator::ID_STATICTEXT16 = wxNewId();
127 const long editelevator::ID_txtOrigin = wxNewId();
128 const long editelevator::ID_STATICTEXT17 = wxNewId();
129 const long editelevator::ID_txtOriginFloor = wxNewId();
130 const long editelevator::ID_STATICTEXT18 = wxNewId();
131 const long editelevator::ID_txtElevStart = wxNewId();
132 const long editelevator::ID_STATICTEXT19 = wxNewId();
133 const long editelevator::ID_txtDoorOrigin = wxNewId();
134 const long editelevator::ID_STATICTEXT20 = wxNewId();
135 const long editelevator::ID_txtShaftDoorOrigin = wxNewId();
136 const long editelevator::ID_STATICTEXT50 = wxNewId();
137 const long editelevator::ID_txtOnFloor = wxNewId();
138 const long editelevator::ID_STATICTEXT25 = wxNewId();
139 const long editelevator::ID_txtMotor = wxNewId();
140 const long editelevator::ID_STATICTEXT54 = wxNewId();
141 const long editelevator::ID_txtCameraOffset = wxNewId();
142 const long editelevator::ID_STATICTEXT38 = wxNewId();
143 const long editelevator::ID_txtQueueDirection = wxNewId();
144 const long editelevator::ID_STATICTEXT40 = wxNewId();
145 const long editelevator::ID_txtQueueLastUp = wxNewId();
146 const long editelevator::ID_STATICTEXT41 = wxNewId();
147 const long editelevator::ID_txtQueueLastDown = wxNewId();
148 const long editelevator::ID_STATICTEXT51 = wxNewId();
149 const long editelevator::ID_txtQueueLastDirection = wxNewId();
150 const long editelevator::ID_bResetQueues = wxNewId();
151 const long editelevator::ID_STATICTEXT21 = wxNewId();
152 const long editelevator::ID_txtSpeed = wxNewId();
153 const long editelevator::ID_bSetSpeed = wxNewId();
154 const long editelevator::ID_STATICTEXT22 = wxNewId();
155 const long editelevator::ID_txtAcceleration = wxNewId();
156 const long editelevator::ID_bSetAcceleration = wxNewId();
157 const long editelevator::ID_STATICTEXT23 = wxNewId();
158 const long editelevator::ID_txtDeceleration = wxNewId();
159 const long editelevator::ID_bSetDeceleration = wxNewId();
160 const long editelevator::ID_STATICTEXT1 = wxNewId();
161 const long editelevator::ID_txtAccelJerk = wxNewId();
162 const long editelevator::ID_bSetAccelJerk = wxNewId();
163 const long editelevator::ID_STATICTEXT29 = wxNewId();
164 const long editelevator::ID_txtDecelJerk = wxNewId();
165 const long editelevator::ID_bSetDecelJerk = wxNewId();
166 const long editelevator::ID_STATICTEXT26 = wxNewId();
167 const long editelevator::ID_txtRate = wxNewId();
168 const long editelevator::ID_STATICTEXT27 = wxNewId();
169 const long editelevator::ID_txtDirection = wxNewId();
170 const long editelevator::ID_STATICTEXT2 = wxNewId();
171 const long editelevator::ID_txtJerkRate = wxNewId();
172 const long editelevator::ID_STATICTEXT49 = wxNewId();
173 const long editelevator::ID_txtDoorStopped = wxNewId();
174 const long editelevator::ID_STATICTEXT53 = wxNewId();
175 const long editelevator::ID_txtIsIdle = wxNewId();
176 const long editelevator::ID_STATICTEXT24 = wxNewId();
177 const long editelevator::ID_txtManualGo = wxNewId();
178 const long editelevator::ID_STATICTEXT55 = wxNewId();
179 const long editelevator::ID_txtLeveling = wxNewId();
180 const long editelevator::ID_STATICTEXT56 = wxNewId();
181 const long editelevator::ID_txtLevelingSpeed = wxNewId();
182 const long editelevator::ID_bSetLevelingSpeed = wxNewId();
183 const long editelevator::ID_STATICTEXT57 = wxNewId();
184 const long editelevator::ID_txtLevelingOffset = wxNewId();
185 const long editelevator::ID_bSetLevelingOffset = wxNewId();
186 const long editelevator::ID_STATICTEXT58 = wxNewId();
187 const long editelevator::ID_txtLevelingOpen = wxNewId();
188 const long editelevator::ID_bSetLevelingOpen = wxNewId();
189 const long editelevator::ID_STATICTEXT60 = wxNewId();
190 const long editelevator::ID_txtParking = wxNewId();
191 const long editelevator::ID_STATICTEXT63 = wxNewId();
192 const long editelevator::ID_txtSlowSpeed = wxNewId();
193 const long editelevator::ID_bSetSlowSpeed = wxNewId();
194 const long editelevator::ID_STATICTEXT64 = wxNewId();
195 const long editelevator::ID_txtManualSpeed = wxNewId();
196 const long editelevator::ID_bSetManualSpeed = wxNewId();
197 const long editelevator::ID_STATICTEXT30 = wxNewId();
198 const long editelevator::ID_txtDestFloor = wxNewId();
199 const long editelevator::ID_STATICTEXT43 = wxNewId();
200 const long editelevator::ID_txtIsMoving = wxNewId();
201 const long editelevator::ID_STATICTEXT31 = wxNewId();
202 const long editelevator::ID_txtMoveElevator = wxNewId();
203 const long editelevator::ID_STATICTEXT33 = wxNewId();
204 const long editelevator::ID_txtDistance = wxNewId();
205 const long editelevator::ID_STATICTEXT34 = wxNewId();
206 const long editelevator::ID_txtDestination = wxNewId();
207 const long editelevator::ID_STATICTEXT35 = wxNewId();
208 const long editelevator::ID_txtStopDistance = wxNewId();
209 const long editelevator::ID_STATICTEXT36 = wxNewId();
210 const long editelevator::ID_txtTempDecel = wxNewId();
211 const long editelevator::ID_STATICTEXT37 = wxNewId();
212 const long editelevator::ID_txtErrorOffset = wxNewId();
213 const long editelevator::ID_STATICTEXT59 = wxNewId();
214 const long editelevator::ID_txtNotifyEarly = wxNewId();
215 const long editelevator::ID_bNotifyEarly = wxNewId();
216 const long editelevator::ID_STATICTEXT65 = wxNewId();
217 const long editelevator::ID_txtDepartureDelay = wxNewId();
218 const long editelevator::ID_bSetDepartureDelay = wxNewId();
219 const long editelevator::ID_STATICTEXT66 = wxNewId();
220 const long editelevator::ID_txtArrivalDelay = wxNewId();
221 const long editelevator::ID_bSetArrivalDelay = wxNewId();
222 const long editelevator::ID_STATICTEXT45 = wxNewId();
223 const long editelevator::ID_txtACPFloor = wxNewId();
224 const long editelevator::ID_bSetACPFloor = wxNewId();
225 const long editelevator::ID_STATICTEXT46 = wxNewId();
226 const long editelevator::ID_txtRecallFloor = wxNewId();
227 const long editelevator::ID_bSetRecallFloor = wxNewId();
228 const long editelevator::ID_STATICTEXT47 = wxNewId();
229 const long editelevator::ID_txtRecallAlternate = wxNewId();
230 const long editelevator::ID_bSetRecallAlternate = wxNewId();
231 const long editelevator::ID_STATICTEXT39 = wxNewId();
232 const long editelevator::ID_txtParkingFloor = wxNewId();
233 const long editelevator::ID_bSetParkingFloor = wxNewId();
234 const long editelevator::ID_STATICTEXT48 = wxNewId();
235 const long editelevator::ID_txtParkingDelay = wxNewId();
236 const long editelevator::ID_bSetParkingDelay = wxNewId();
237 const long editelevator::ID_STATICTEXT62 = wxNewId();
238 const long editelevator::ID_txtNudgeTimer = wxNewId();
239 const long editelevator::ID_bSetNudgeTimer = wxNewId();
242 BEGIN_EVENT_TABLE(editelevator,wxDialog)
243 //(*EventTable(editelevator)
247 editelevator::editelevator(wxWindow* parent,wxWindowID id)
249 //(*Initialize(editelevator)
250 wxBoxSizer* BoxSizer4;
251 wxFlexGridSizer* FlexGridSizer4;
252 wxBoxSizer* BoxSizer5;
253 wxBoxSizer* BoxSizer7;
254 wxStaticBoxSizer* StaticBoxSizer4;
255 wxFlexGridSizer* FlexGridSizer5;
256 wxStaticBoxSizer* StaticBoxSizer9;
257 wxStaticBoxSizer* StaticBoxSizer10;
258 wxStaticBoxSizer* StaticBoxSizer6;
259 wxFlexGridSizer* FlexGridSizer8;
261 Create(parent, wxID_ANY, _("Elevator Editor"), wxDefaultPosition, wxDefaultSize, wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX|wxMINIMIZE_BOX, _T("wxID_ANY"));
262 BoxSizer1 = new wxBoxSizer(wxVERTICAL);
263 BoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
264 BoxSizer6 = new wxBoxSizer(wxVERTICAL);
265 tElevator = new wxStaticText(this, ID_tElevator, _("Elevator"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE, _T("ID_tElevator"));
266 BoxSizer6->Add(tElevator, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
267 sNumber = new wxScrollBar(this, ID_sNumber, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL, wxDefaultValidator, _T("ID_sNumber"));
268 sNumber->SetScrollbar(0, 0, 0, 0);
269 BoxSizer6->Add(sNumber, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
270 tFloor = new wxStaticText(this, ID_tFloor, _("Floor"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE, _T("ID_tFloor"));
271 BoxSizer6->Add(tFloor, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 10);
272 sFloor = new wxScrollBar(this, ID_sFloor, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL, wxDefaultValidator, _T("ID_sFloor"));
273 sFloor->SetScrollbar(0, 0, 0, 0);
274 BoxSizer6->Add(sFloor, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
275 FlexGridSizer4 = new wxFlexGridSizer(0, 5, 0, 5);
276 BoxSizer5 = new wxBoxSizer(wxVERTICAL);
277 bACPMode = new wxToggleButton(this, ID_bACPMode, _("ACP Mode"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bACPMode"));
278 BoxSizer5->Add(bACPMode, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
279 bUpPeak = new wxToggleButton(this, ID_bUpPeak, _("Up Peak"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bUpPeak"));
280 BoxSizer5->Add(bUpPeak, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
281 bDownPeak = new wxToggleButton(this, ID_bDownPeak, _("Down Peak"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bDownPeak"));
282 BoxSizer5->Add(bDownPeak, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
283 bIndService = new wxToggleButton(this, ID_bIndService, _("Independent Service"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bIndService"));
284 BoxSizer5->Add(bIndService, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
285 bInsService = new wxToggleButton(this, ID_bInsService, _("Inspection Service"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bInsService"));
286 BoxSizer5->Add(bInsService, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
287 FlexGridSizer4->Add(BoxSizer5, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
288 StaticBoxSizer10 = new wxStaticBoxSizer(wxVERTICAL, this, _("Fire Ph 1"));
289 Fire1Off = new wxRadioButton(this, ID_Fire1Off, _("Off"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_Fire1Off"));
290 Fire1Off->SetValue(true);
291 StaticBoxSizer10->Add(Fire1Off, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
292 Fire1On = new wxRadioButton(this, ID_Fire1On, _("On"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_Fire1On"));
293 StaticBoxSizer10->Add(Fire1On, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
294 Fire1Bypass = new wxRadioButton(this, ID_Fire1Bypass, _("Bypass"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_Fire1Bypass"));
295 StaticBoxSizer10->Add(Fire1Bypass, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
296 FlexGridSizer4->Add(StaticBoxSizer10, 1, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
297 StaticBoxSizer9 = new wxStaticBoxSizer(wxVERTICAL, this, _("Fire Ph 2"));
298 Fire2Off = new wxRadioButton(this, ID_Fire2Off, _("Off"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_Fire2Off"));
299 StaticBoxSizer9->Add(Fire2Off, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
300 Fire2On = new wxRadioButton(this, ID_Fire2On, _("On"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_Fire2On"));
301 StaticBoxSizer9->Add(Fire2On, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
302 Fire2Hold = new wxRadioButton(this, ID_Fire2Hold, _("Hold"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_Fire2Hold"));
303 StaticBoxSizer9->Add(Fire2Hold, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
304 FlexGridSizer4->Add(StaticBoxSizer9, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
305 StaticBoxSizer6 = new wxStaticBoxSizer(wxVERTICAL, this, _("Manual"));
306 bUp = new wxToggleButton(this, ID_bUp, _("Up"), wxDefaultPosition, wxSize(50,0), 0, wxDefaultValidator, _T("ID_bUp"));
307 StaticBoxSizer6->Add(bUp, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
308 bGoToggle = new wxToggleButton(this, ID_bGoToggle, _("Go"), wxDefaultPosition, wxSize(50,-1), 0, wxDefaultValidator, _T("ID_bGoToggle"));
309 StaticBoxSizer6->Add(bGoToggle, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
310 bDown = new wxToggleButton(this, ID_bDown, _("Down"), wxDefaultPosition, wxSize(50,0), 0, wxDefaultValidator, _T("ID_bDown"));
311 StaticBoxSizer6->Add(bDown, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
312 FlexGridSizer4->Add(StaticBoxSizer6, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
313 FlexGridSizer8 = new wxFlexGridSizer(0, 1, 0, 0);
314 tDoor = new wxStaticText(this, ID_tDoor, _("Door"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE, _T("ID_tDoor"));
315 FlexGridSizer8->Add(tDoor, 1, wxEXPAND|wxALIGN_TOP|wxALIGN_CENTER_HORIZONTAL, 5);
316 sDoor = new wxScrollBar(this, ID_sDoor, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL, wxDefaultValidator, _T("ID_sDoor"));
317 sDoor->SetScrollbar(0, 0, 0, 0);
318 FlexGridSizer8->Add(sDoor, 1, wxBOTTOM|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
319 bRefresh = new wxButton(this, ID_bRefresh, _("Refresh Values"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bRefresh"));
320 FlexGridSizer8->Add(bRefresh, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
321 bDumpFloors = new wxButton(this, ID_bDumpFloors, _("Dump Floor List"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bDumpFloors"));
322 FlexGridSizer8->Add(bDumpFloors, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
323 bDumpQueues = new wxButton(this, ID_bDumpQueues, _("Dump Queues"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bDumpQueues"));
324 FlexGridSizer8->Add(bDumpQueues, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
325 BoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
326 chkVisible = new wxCheckBox(this, ID_CHECKBOX1, _("Visible"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX1"));
327 chkVisible->SetValue(false);
328 BoxSizer4->Add(chkVisible, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
329 chkRun = new wxCheckBox(this, ID_chkRun, _("Run"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_chkRun"));
330 chkRun->SetValue(false);
331 BoxSizer4->Add(chkRun, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
332 FlexGridSizer8->Add(BoxSizer4, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
333 FlexGridSizer4->Add(FlexGridSizer8, 1, wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
334 BoxSizer6->Add(FlexGridSizer4, 1, wxTOP|wxBOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
335 BoxSizer2->Add(BoxSizer6, 2, wxTOP|wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
336 StaticBoxSizer1 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Control"));
337 BoxSizer8 = new wxBoxSizer(wxVERTICAL);
338 bCall = new wxButton(this, ID_bCall, _("Call"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bCall"));
340 BoxSizer8->Add(bCall, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
341 bGo = new wxButton(this, ID_bGo, _("Go"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bGo"));
342 BoxSizer8->Add(bGo, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
343 bOpen = new wxButton(this, ID_bOpen, _("Open"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bOpen"));
344 BoxSizer8->Add(bOpen, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
345 bOpenManual = new wxButton(this, ID_bOpenManual, _("Open Manual"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bOpenManual"));
346 BoxSizer8->Add(bOpenManual, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
347 bOpenShaftDoor = new wxButton(this, ID_bOpenShaftDoor, _("Open Shaft Doors"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bOpenShaftDoor"));
348 BoxSizer8->Add(bOpenShaftDoor, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
349 bStop = new wxButton(this, ID_bStop, _("Emerg. Stop"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bStop"));
350 BoxSizer8->Add(bStop, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
351 bChime = new wxButton(this, ID_bChime, _("Chime"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bChime"));
352 BoxSizer8->Add(bChime, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
353 bUpIndicator = new wxButton(this, ID_bUpIndicator, _("Set Up Indicator"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bUpIndicator"));
354 BoxSizer8->Add(bUpIndicator, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
355 StaticBoxSizer1->Add(BoxSizer8, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
356 BoxSizer9 = new wxBoxSizer(wxVERTICAL);
357 bEnqueueUp = new wxButton(this, ID_bEnqueueUp, _("Enqueue Up"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bEnqueueUp"));
358 BoxSizer9->Add(bEnqueueUp, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
359 bEnqueueDown = new wxButton(this, ID_bEnqueueDown, _("Enqueue Down"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bEnqueueDown"));
360 BoxSizer9->Add(bEnqueueDown, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
361 bClose = new wxButton(this, ID_bClose, _("Close"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bClose"));
362 BoxSizer9->Add(bClose, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
363 bCloseManual = new wxButton(this, ID_bCloseManual, _("Close Manual"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bCloseManual"));
364 BoxSizer9->Add(bCloseManual, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
365 bCloseShaftDoor = new wxButton(this, ID_bCloseShaftDoor, _("Close Shaft Doors"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bCloseShaftDoor"));
366 BoxSizer9->Add(bCloseShaftDoor, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
367 bAlarm = new wxButton(this, ID_bAlarm, _("Alarm"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bAlarm"));
368 BoxSizer9->Add(bAlarm, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
369 bStopDoors = new wxButton(this, ID_bStopDoors, _("Stop Doors"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bStopDoors"));
370 BoxSizer9->Add(bStopDoors, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
371 bDownIndicator = new wxButton(this, ID_bDownIndicator, _("Set Down Indicator"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bDownIndicator"));
372 BoxSizer9->Add(bDownIndicator, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
373 StaticBoxSizer1->Add(BoxSizer9, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
374 BoxSizer2->Add(StaticBoxSizer1, 1, wxRIGHT|wxALIGN_RIGHT|wxALIGN_TOP, 5);
375 BoxSizer1->Add(BoxSizer2, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
376 BoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
377 StaticBoxSizer2 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("General"));
378 FlexGridSizer1 = new wxFlexGridSizer(0, 3, 0, 0);
379 StaticText3 = new wxStaticText(this, ID_STATICTEXT3, _("Number:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT3"));
380 FlexGridSizer1->Add(StaticText3, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
381 txtNumber = new wxTextCtrl(this, ID_txtNumber, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtNumber"));
382 FlexGridSizer1->Add(txtNumber, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
383 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
384 StaticText5 = new wxStaticText(this, ID_STATICTEXT5, _("Name:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT5"));
385 FlexGridSizer1->Add(StaticText5, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
386 txtName = new wxTextCtrl(this, ID_txtName, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtName"));
387 FlexGridSizer1->Add(txtName, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
388 bSetName = new wxButton(this, ID_bSetName, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetName"));
389 FlexGridSizer1->Add(bSetName, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 0);
390 StaticText4 = new wxStaticText(this, ID_STATICTEXT4, _("Enabled:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT4"));
391 FlexGridSizer1->Add(StaticText4, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
392 txtEnabled = new wxTextCtrl(this, ID_txtEnabled, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtEnabled"));
393 FlexGridSizer1->Add(txtEnabled, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
394 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
395 StaticText6 = new wxStaticText(this, ID_STATICTEXT6, _("Shaft:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT6"));
396 FlexGridSizer1->Add(StaticText6, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
397 txtShaft = new wxTextCtrl(this, ID_txtShaft, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtShaft"));
398 FlexGridSizer1->Add(txtShaft, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
399 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
400 StaticText7 = new wxStaticText(this, ID_STATICTEXT7, _("Height:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT7"));
401 FlexGridSizer1->Add(StaticText7, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
402 txtHeight = new wxTextCtrl(this, ID_txtHeight, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtHeight"));
403 FlexGridSizer1->Add(txtHeight, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
404 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
405 StaticText8 = new wxStaticText(this, ID_STATICTEXT8, _("DWidth:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT8"));
406 FlexGridSizer1->Add(StaticText8, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
407 txtDoorWidth = new wxTextCtrl(this, ID_txtDoorWidth, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDoorWidth"));
408 txtDoorWidth->SetToolTip(_("Door Width"));
409 FlexGridSizer1->Add(txtDoorWidth, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
410 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
411 StaticText9 = new wxStaticText(this, ID_STATICTEXT9, _("DHeight:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT9"));
412 FlexGridSizer1->Add(StaticText9, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
413 txtDoorHeight = new wxTextCtrl(this, ID_txtDoorHeight, wxEmptyString, wxPoint(-1,75), wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDoorHeight"));
414 txtDoorHeight->SetToolTip(_("Door Height"));
415 FlexGridSizer1->Add(txtDoorHeight, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
416 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
417 StaticText10 = new wxStaticText(this, ID_STATICTEXT10, _("DDirection:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT10"));
418 FlexGridSizer1->Add(StaticText10, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
419 txtDoorDirection = new wxTextCtrl(this, ID_txtDoorDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDoorDirection"));
420 txtDoorDirection->SetToolTip(_("Door Direction"));
421 FlexGridSizer1->Add(txtDoorDirection, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
422 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
423 StaticText11 = new wxStaticText(this, ID_STATICTEXT11, _("DoorsOpen:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT11"));
424 FlexGridSizer1->Add(StaticText11, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
425 txtDoorsOpen = new wxTextCtrl(this, ID_txtDoorsOpen, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDoorsOpen"));
426 FlexGridSizer1->Add(txtDoorsOpen, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
427 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
428 StaticText12 = new wxStaticText(this, ID_STATICTEXT12, _("Brakes:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT12"));
429 FlexGridSizer1->Add(StaticText12, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
430 txtBrakes = new wxTextCtrl(this, ID_txtBrakes, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtBrakes"));
431 FlexGridSizer1->Add(txtBrakes, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
432 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
433 StaticText13 = new wxStaticText(this, ID_STATICTEXT13, _("EmergStop:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT13"));
434 FlexGridSizer1->Add(StaticText13, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
435 txtStop = new wxTextCtrl(this, ID_txtStop, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtStop"));
436 txtStop->SetToolTip(_("Emergency Stop"));
437 FlexGridSizer1->Add(txtStop, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
438 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
439 StaticText42 = new wxStaticText(this, ID_STATICTEXT42, _("DoorTimer:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT42"));
440 FlexGridSizer1->Add(StaticText42, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
441 txtDoorTimer = new wxTextCtrl(this, ID_txtDoorTimer, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtDoorTimer"));
442 FlexGridSizer1->Add(txtDoorTimer, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
443 bSetDoorTimer = new wxButton(this, ID_bSetDoorTimer, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetDoorTimer"));
444 FlexGridSizer1->Add(bSetDoorTimer, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
445 StaticText61 = new wxStaticText(this, ID_STATICTEXT61, _("QuickClose:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT61"));
446 FlexGridSizer1->Add(StaticText61, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
447 txtQuickClose = new wxTextCtrl(this, ID_txtQuickClose, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtQuickClose"));
448 FlexGridSizer1->Add(txtQuickClose, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
449 bSetQuickClose = new wxButton(this, ID_bSetQuickClose, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetQuickClose"));
450 FlexGridSizer1->Add(bSetQuickClose, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
451 StaticText32 = new wxStaticText(this, ID_STATICTEXT32, _("UseFlrSkip:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT32"));
452 FlexGridSizer1->Add(StaticText32, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
453 txtUseSkipFloor = new wxTextCtrl(this, ID_txtUseSkipFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtUseSkipFloor"));
454 txtUseSkipFloor->SetToolTip(_("Use Floor Skip Text"));
455 FlexGridSizer1->Add(txtUseSkipFloor, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
456 FlexGridSizer1->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
457 StaticText44 = new wxStaticText(this, ID_STATICTEXT44, _("FlrSkipTxt:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT44"));
458 FlexGridSizer1->Add(StaticText44, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
459 txtSkipFloorText = new wxTextCtrl(this, ID_txtSkipFloorText, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtSkipFloorText"));
460 txtSkipFloorText->SetToolTip(_("Floor Skip Text"));
461 FlexGridSizer1->Add(txtSkipFloorText, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
462 bSetSkipFloorText = new wxButton(this, ID_bSetSkipFloorText, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetSkipFloorText"));
463 FlexGridSizer1->Add(bSetSkipFloorText, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
464 StaticText52 = new wxStaticText(this, ID_STATICTEXT52, _("Alarm On:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT52"));
465 FlexGridSizer1->Add(StaticText52, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
466 txtAlarm = new wxTextCtrl(this, ID_txtAlarm, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtAlarm"));
467 FlexGridSizer1->Add(txtAlarm, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
468 FlexGridSizer1->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
469 StaticText28 = new wxStaticText(this, ID_STATICTEXT28, _("WaitDoors:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT28"));
470 FlexGridSizer1->Add(StaticText28, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
471 txtWaitForDoors = new wxTextCtrl(this, ID_txtWaitForDoors, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtWaitForDoors"));
472 txtWaitForDoors->SetToolTip(_("Wait for Doors"));
473 FlexGridSizer1->Add(txtWaitForDoors, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
474 FlexGridSizer1->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
475 StaticText67 = new wxStaticText(this, ID_STATICTEXT67, _("Nudge:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT67"));
476 FlexGridSizer1->Add(StaticText67, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
477 txtNudgeMode = new wxTextCtrl(this, ID_txtNudgeMode, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtNudgeMode"));
478 txtNudgeMode->SetToolTip(_("Nudge Mode"));
479 FlexGridSizer1->Add(txtNudgeMode, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
480 FlexGridSizer1->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
481 StaticBoxSizer2->Add(FlexGridSizer1, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
482 BoxSizer3->Add(StaticBoxSizer2, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_TOP|wxALIGN_CENTER_HORIZONTAL, 5);
483 BoxSizer10 = new wxBoxSizer(wxVERTICAL);
484 StaticBoxSizer5 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Position"));
485 FlexGridSizer2 = new wxFlexGridSizer(0, 2, 0, 0);
486 StaticText14 = new wxStaticText(this, ID_STATICTEXT14, _("Floor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT14"));
487 FlexGridSizer2->Add(StaticText14, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
488 txtFloor = new wxTextCtrl(this, ID_txtFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtFloor"));
489 FlexGridSizer2->Add(txtFloor, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
490 StaticText15 = new wxStaticText(this, ID_STATICTEXT15, _("Pos:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT15"));
491 FlexGridSizer2->Add(StaticText15, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
492 txtPosition = new wxTextCtrl(this, ID_txtPosition, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtPosition"));
493 txtPosition->SetToolTip(_("Position"));
494 FlexGridSizer2->Add(txtPosition, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
495 StaticText16 = new wxStaticText(this, ID_STATICTEXT16, _("Origin:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT16"));
496 FlexGridSizer2->Add(StaticText16, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
497 txtOrigin = new wxTextCtrl(this, ID_txtOrigin, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtOrigin"));
498 FlexGridSizer2->Add(txtOrigin, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
499 StaticText17 = new wxStaticText(this, ID_STATICTEXT17, _("OriginFlr:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT17"));
500 FlexGridSizer2->Add(StaticText17, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
501 txtOriginFloor = new wxTextCtrl(this, ID_txtOriginFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtOriginFloor"));
502 txtOriginFloor->SetToolTip(_("Origin Floor"));
503 FlexGridSizer2->Add(txtOriginFloor, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
504 StaticText18 = new wxStaticText(this, ID_STATICTEXT18, _("EStart:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT18"));
505 FlexGridSizer2->Add(StaticText18, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
506 txtElevStart = new wxTextCtrl(this, ID_txtElevStart, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtElevStart"));
507 txtElevStart->SetToolTip(_("Elevator Start"));
508 FlexGridSizer2->Add(txtElevStart, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
509 StaticText19 = new wxStaticText(this, ID_STATICTEXT19, _("DOrigin:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT19"));
510 FlexGridSizer2->Add(StaticText19, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
511 txtDoorOrigin = new wxTextCtrl(this, ID_txtDoorOrigin, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDoorOrigin"));
512 txtDoorOrigin->SetToolTip(_("Door Origin"));
513 FlexGridSizer2->Add(txtDoorOrigin, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
514 StaticText20 = new wxStaticText(this, ID_STATICTEXT20, _("SDOrigin:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT20"));
515 FlexGridSizer2->Add(StaticText20, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
516 txtShaftDoorOrigin = new wxTextCtrl(this, ID_txtShaftDoorOrigin, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtShaftDoorOrigin"));
517 txtShaftDoorOrigin->SetToolTip(_("Shaft Door Origin"));
518 FlexGridSizer2->Add(txtShaftDoorOrigin, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
519 StaticText50 = new wxStaticText(this, ID_STATICTEXT50, _("OnFloor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT50"));
520 FlexGridSizer2->Add(StaticText50, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
521 txtOnFloor = new wxTextCtrl(this, ID_txtOnFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtOnFloor"));
522 FlexGridSizer2->Add(txtOnFloor, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
523 StaticText25 = new wxStaticText(this, ID_STATICTEXT25, _("Motor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT25"));
524 FlexGridSizer2->Add(StaticText25, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
525 txtMotor = new wxTextCtrl(this, ID_txtMotor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMotor"));
526 FlexGridSizer2->Add(txtMotor, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
527 StaticText54 = new wxStaticText(this, ID_STATICTEXT54, _("Camera:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT54"));
528 FlexGridSizer2->Add(StaticText54, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
529 txtCameraOffset = new wxTextCtrl(this, ID_txtCameraOffset, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtCameraOffset"));
530 FlexGridSizer2->Add(txtCameraOffset, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
531 StaticBoxSizer5->Add(FlexGridSizer2, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
532 BoxSizer10->Add(StaticBoxSizer5, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
533 StaticBoxSizer3 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Queues"));
534 FlexGridSizer3 = new wxFlexGridSizer(0, 2, 0, 0);
535 StaticText38 = new wxStaticText(this, ID_STATICTEXT38, _("Direction:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT38"));
536 FlexGridSizer3->Add(StaticText38, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
537 txtQueueDirection = new wxTextCtrl(this, ID_txtQueueDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtQueueDirection"));
538 txtQueueDirection->SetToolTip(_("Queue Direction"));
539 FlexGridSizer3->Add(txtQueueDirection, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
540 StaticText40 = new wxStaticText(this, ID_STATICTEXT40, _("LastUp:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT40"));
541 FlexGridSizer3->Add(StaticText40, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
542 txtQueueLastUp = new wxTextCtrl(this, ID_txtQueueLastUp, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtQueueLastUp"));
543 txtQueueLastUp->SetToolTip(_("Queue Last Up"));
544 FlexGridSizer3->Add(txtQueueLastUp, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
545 StaticText41 = new wxStaticText(this, ID_STATICTEXT41, _("LastDwn:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT41"));
546 FlexGridSizer3->Add(StaticText41, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
547 txtQueueLastDown = new wxTextCtrl(this, ID_txtQueueLastDown, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtQueueLastDown"));
548 txtQueueLastDown->SetToolTip(_("Queue Last Down"));
549 FlexGridSizer3->Add(txtQueueLastDown, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
550 StaticText51 = new wxStaticText(this, ID_STATICTEXT51, _("Last:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT51"));
551 FlexGridSizer3->Add(StaticText51, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
552 txtQueueLastDirection = new wxTextCtrl(this, ID_txtQueueLastDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtQueueLastDirection"));
553 txtQueueLastDirection->SetToolTip(_("Queue Last Direction"));
554 FlexGridSizer3->Add(txtQueueLastDirection, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
555 FlexGridSizer3->Add(-1,-1,1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
556 bResetQueues = new wxButton(this, ID_bResetQueues, _("Reset"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bResetQueues"));
557 FlexGridSizer3->Add(bResetQueues, 1, wxTOP|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
558 StaticBoxSizer3->Add(FlexGridSizer3, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
559 BoxSizer10->Add(StaticBoxSizer3, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
560 BoxSizer3->Add(BoxSizer10, 0, wxBOTTOM|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
561 StaticBoxSizer7 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Motion"));
562 FlexGridSizer6 = new wxFlexGridSizer(0, 3, 0, 0);
563 StaticText21 = new wxStaticText(this, ID_STATICTEXT21, _("Speed:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT21"));
564 FlexGridSizer6->Add(StaticText21, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
565 txtSpeed = new wxTextCtrl(this, ID_txtSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtSpeed"));
566 FlexGridSizer6->Add(txtSpeed, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
567 bSetSpeed = new wxButton(this, ID_bSetSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetSpeed"));
568 FlexGridSizer6->Add(bSetSpeed, 0, wxALL|wxALIGN_RIGHT|wxALIGN_TOP, 0);
569 StaticText22 = new wxStaticText(this, ID_STATICTEXT22, _("Accel:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT22"));
570 FlexGridSizer6->Add(StaticText22, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
571 txtAcceleration = new wxTextCtrl(this, ID_txtAcceleration, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtAcceleration"));
572 txtAcceleration->SetToolTip(_("Acceleration"));
573 FlexGridSizer6->Add(txtAcceleration, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
574 bSetAcceleration = new wxButton(this, ID_bSetAcceleration, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetAcceleration"));
575 FlexGridSizer6->Add(bSetAcceleration, 0, wxALL|wxALIGN_RIGHT|wxALIGN_TOP, 0);
576 StaticText23 = new wxStaticText(this, ID_STATICTEXT23, _("Decel:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT23"));
577 FlexGridSizer6->Add(StaticText23, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
578 txtDeceleration = new wxTextCtrl(this, ID_txtDeceleration, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtDeceleration"));
579 txtDeceleration->SetToolTip(_("Deceleration"));
580 FlexGridSizer6->Add(txtDeceleration, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
581 bSetDeceleration = new wxButton(this, ID_bSetDeceleration, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetDeceleration"));
582 FlexGridSizer6->Add(bSetDeceleration, 0, wxALL|wxALIGN_RIGHT|wxALIGN_TOP, 0);
583 StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("AccelJerk:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1"));
584 FlexGridSizer6->Add(StaticText1, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
585 txtAccelJerk = new wxTextCtrl(this, ID_txtAccelJerk, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtAccelJerk"));
586 txtAccelJerk->SetToolTip(_("Acceleration Jerk Rate"));
587 FlexGridSizer6->Add(txtAccelJerk, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
588 bSetAccelJerk = new wxButton(this, ID_bSetAccelJerk, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetAccelJerk"));
589 FlexGridSizer6->Add(bSetAccelJerk, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
590 StaticText29 = new wxStaticText(this, ID_STATICTEXT29, _("DecelJerk:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT29"));
591 FlexGridSizer6->Add(StaticText29, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
592 txtDecelJerk = new wxTextCtrl(this, ID_txtDecelJerk, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtDecelJerk"));
593 txtDecelJerk->SetToolTip(_("Deceleration Jerk Rate"));
594 FlexGridSizer6->Add(txtDecelJerk, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
595 bSetDecelJerk = new wxButton(this, ID_bSetDecelJerk, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetDecelJerk"));
596 FlexGridSizer6->Add(bSetDecelJerk, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
597 StaticText26 = new wxStaticText(this, ID_STATICTEXT26, _("Rate:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT26"));
598 FlexGridSizer6->Add(StaticText26, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
599 txtRate = new wxTextCtrl(this, ID_txtRate, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtRate"));
600 FlexGridSizer6->Add(txtRate, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
601 FlexGridSizer6->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
602 StaticText27 = new wxStaticText(this, ID_STATICTEXT27, _("Direction:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT27"));
603 FlexGridSizer6->Add(StaticText27, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
604 txtDirection = new wxTextCtrl(this, ID_txtDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDirection"));
605 FlexGridSizer6->Add(txtDirection, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
606 FlexGridSizer6->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
607 StaticText2 = new wxStaticText(this, ID_STATICTEXT2, _("JerkRate:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT2"));
608 FlexGridSizer6->Add(StaticText2, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
609 txtJerkRate = new wxTextCtrl(this, ID_txtJerkRate, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtJerkRate"));
610 FlexGridSizer6->Add(txtJerkRate, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
611 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
612 StaticText49 = new wxStaticText(this, ID_STATICTEXT49, _("DStopped:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT49"));
613 FlexGridSizer6->Add(StaticText49, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
614 txtDoorStopped = new wxTextCtrl(this, ID_txtDoorStopped, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDoorStopped"));
615 txtDoorStopped->SetToolTip(_("Door Stopped"));
616 FlexGridSizer6->Add(txtDoorStopped, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
617 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
618 StaticText53 = new wxStaticText(this, ID_STATICTEXT53, _("IsIdle:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT53"));
619 FlexGridSizer6->Add(StaticText53, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
620 txtIsIdle = new wxTextCtrl(this, ID_txtIsIdle, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtIsIdle"));
621 FlexGridSizer6->Add(txtIsIdle, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
622 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
623 StaticText24 = new wxStaticText(this, ID_STATICTEXT24, _("Manual:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT24"));
624 FlexGridSizer6->Add(StaticText24, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
625 txtManualGo = new wxTextCtrl(this, ID_txtManualGo, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtManualGo"));
626 FlexGridSizer6->Add(txtManualGo, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
627 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
628 StaticText55 = new wxStaticText(this, ID_STATICTEXT55, _("Leveling:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT55"));
629 FlexGridSizer6->Add(StaticText55, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
630 txtLeveling = new wxTextCtrl(this, ID_txtLeveling, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtLeveling"));
631 FlexGridSizer6->Add(txtLeveling, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
632 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
633 StaticText56 = new wxStaticText(this, ID_STATICTEXT56, _("LevSpeed:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT56"));
634 FlexGridSizer6->Add(StaticText56, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
635 txtLevelingSpeed = new wxTextCtrl(this, ID_txtLevelingSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtLevelingSpeed"));
636 txtLevelingSpeed->SetToolTip(_("Leveling Speed"));
637 FlexGridSizer6->Add(txtLevelingSpeed, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
638 bSetLevelingSpeed = new wxButton(this, ID_bSetLevelingSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetLevelingSpeed"));
639 FlexGridSizer6->Add(bSetLevelingSpeed, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
640 StaticText57 = new wxStaticText(this, ID_STATICTEXT57, _("LvOffset:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT57"));
641 FlexGridSizer6->Add(StaticText57, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
642 txtLevelingOffset = new wxTextCtrl(this, ID_txtLevelingOffset, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtLevelingOffset"));
643 txtLevelingOffset->SetToolTip(_("Leveling Offset"));
644 FlexGridSizer6->Add(txtLevelingOffset, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
645 bSetLevelingOffset = new wxButton(this, ID_bSetLevelingOffset, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetLevelingOffset"));
646 FlexGridSizer6->Add(bSetLevelingOffset, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
647 StaticText58 = new wxStaticText(this, ID_STATICTEXT58, _("LevOpen:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT58"));
648 FlexGridSizer6->Add(StaticText58, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
649 txtLevelingOpen = new wxTextCtrl(this, ID_txtLevelingOpen, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtLevelingOpen"));
650 txtLevelingOpen->SetToolTip(_("Leveling Open"));
651 FlexGridSizer6->Add(txtLevelingOpen, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
652 bSetLevelingOpen = new wxButton(this, ID_bSetLevelingOpen, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetLevelingOpen"));
653 FlexGridSizer6->Add(bSetLevelingOpen, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
654 StaticText60 = new wxStaticText(this, ID_STATICTEXT60, _("Parking:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT60"));
655 FlexGridSizer6->Add(StaticText60, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
656 txtParking = new wxTextCtrl(this, ID_txtParking, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtParking"));
657 FlexGridSizer6->Add(txtParking, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
658 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
659 StaticText63 = new wxStaticText(this, ID_STATICTEXT63, _("SlowSpd:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT63"));
660 FlexGridSizer6->Add(StaticText63, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
661 txtSlowSpeed = new wxTextCtrl(this, ID_txtSlowSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtSlowSpeed"));
662 txtSlowSpeed->SetToolTip(_("Slow Speed Door Multiplier"));
663 FlexGridSizer6->Add(txtSlowSpeed, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
664 bSetSlowSpeed = new wxButton(this, ID_bSetSlowSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetSlowSpeed"));
665 FlexGridSizer6->Add(bSetSlowSpeed, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
666 StaticText64 = new wxStaticText(this, ID_STATICTEXT64, _("ManualSpd:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT64"));
667 FlexGridSizer6->Add(StaticText64, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
668 txtManualSpeed = new wxTextCtrl(this, ID_txtManualSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtManualSpeed"));
669 txtManualSpeed->SetToolTip(_("Manual Door Speed Multiplier"));
670 FlexGridSizer6->Add(txtManualSpeed, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
671 bSetManualSpeed = new wxButton(this, ID_bSetManualSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetManualSpeed"));
672 FlexGridSizer6->Add(bSetManualSpeed, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
673 StaticBoxSizer7->Add(FlexGridSizer6, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
674 BoxSizer3->Add(StaticBoxSizer7, 0, wxBOTTOM|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
675 BoxSizer7 = new wxBoxSizer(wxVERTICAL);
676 StaticBoxSizer8 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Destination"));
677 FlexGridSizer7 = new wxFlexGridSizer(0, 3, 0, 0);
678 StaticText30 = new wxStaticText(this, ID_STATICTEXT30, _("Floor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT30"));
679 FlexGridSizer7->Add(StaticText30, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
680 txtDestFloor = new wxTextCtrl(this, ID_txtDestFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDestFloor"));
681 FlexGridSizer7->Add(txtDestFloor, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
682 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
683 StaticText43 = new wxStaticText(this, ID_STATICTEXT43, _("IsMoving:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT43"));
684 FlexGridSizer7->Add(StaticText43, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
685 txtIsMoving = new wxTextCtrl(this, ID_txtIsMoving, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtIsMoving"));
686 FlexGridSizer7->Add(txtIsMoving, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
687 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
688 StaticText31 = new wxStaticText(this, ID_STATICTEXT31, _("Move:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT31"));
689 FlexGridSizer7->Add(StaticText31, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
690 txtMoveElevator = new wxTextCtrl(this, ID_txtMoveElevator, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMoveElevator"));
691 FlexGridSizer7->Add(txtMoveElevator, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
692 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
693 StaticText33 = new wxStaticText(this, ID_STATICTEXT33, _("Distance:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT33"));
694 FlexGridSizer7->Add(StaticText33, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
695 txtDistance = new wxTextCtrl(this, ID_txtDistance, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDistance"));
696 txtDistance->SetToolTip(_("Distance to Destination"));
697 FlexGridSizer7->Add(txtDistance, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
698 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
699 StaticText34 = new wxStaticText(this, ID_STATICTEXT34, _("Dest:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT34"));
700 FlexGridSizer7->Add(StaticText34, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
701 txtDestination = new wxTextCtrl(this, ID_txtDestination, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDestination"));
702 txtDestination->SetToolTip(_("Destination"));
703 FlexGridSizer7->Add(txtDestination, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
704 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
705 StaticText35 = new wxStaticText(this, ID_STATICTEXT35, _("StopDist:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT35"));
706 FlexGridSizer7->Add(StaticText35, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
707 txtStopDistance = new wxTextCtrl(this, ID_txtStopDistance, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtStopDistance"));
708 txtStopDistance->SetToolTip(_("Stopping Distance"));
709 FlexGridSizer7->Add(txtStopDistance, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
710 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
711 StaticText36 = new wxStaticText(this, ID_STATICTEXT36, _("TmpDecel:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT36"));
712 FlexGridSizer7->Add(StaticText36, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
713 txtTempDecel = new wxTextCtrl(this, ID_txtTempDecel, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtTempDecel"));
714 txtTempDecel->SetToolTip(_("Temp Deceleration"));
715 FlexGridSizer7->Add(txtTempDecel, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
716 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
717 StaticText37 = new wxStaticText(this, ID_STATICTEXT37, _("Error:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT37"));
718 FlexGridSizer7->Add(StaticText37, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
719 txtErrorOffset = new wxTextCtrl(this, ID_txtErrorOffset, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtErrorOffset"));
720 txtErrorOffset->SetToolTip(_("Error Offset"));
721 FlexGridSizer7->Add(txtErrorOffset, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
722 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
723 StaticText59 = new wxStaticText(this, ID_STATICTEXT59, _("Notify:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT59"));
724 FlexGridSizer7->Add(StaticText59, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
725 txtNotifyEarly = new wxTextCtrl(this, ID_txtNotifyEarly, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtNotifyEarly"));
726 txtNotifyEarly->SetToolTip(_("Notify Early"));
727 FlexGridSizer7->Add(txtNotifyEarly, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
728 bNotifyEarly = new wxButton(this, ID_bNotifyEarly, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bNotifyEarly"));
729 FlexGridSizer7->Add(bNotifyEarly, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
730 StaticText65 = new wxStaticText(this, ID_STATICTEXT65, _("DDelay:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT65"));
731 FlexGridSizer7->Add(StaticText65, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
732 txtDepartureDelay = new wxTextCtrl(this, ID_txtDepartureDelay, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtDepartureDelay"));
733 txtDepartureDelay->SetToolTip(_("Departure Delay"));
734 FlexGridSizer7->Add(txtDepartureDelay, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
735 bSetDepartureDelay = new wxButton(this, ID_bSetDepartureDelay, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetDepartureDelay"));
736 FlexGridSizer7->Add(bSetDepartureDelay, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
737 StaticText66 = new wxStaticText(this, ID_STATICTEXT66, _("ADelay:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT66"));
738 FlexGridSizer7->Add(StaticText66, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
739 txtArrivalDelay = new wxTextCtrl(this, ID_txtArrivalDelay, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtArrivalDelay"));
740 txtArrivalDelay->SetToolTip(_("Arrival Delay"));
741 FlexGridSizer7->Add(txtArrivalDelay, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
742 bSetArrivalDelay = new wxButton(this, ID_bSetArrivalDelay, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetArrivalDelay"));
743 FlexGridSizer7->Add(bSetArrivalDelay, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
744 StaticBoxSizer8->Add(FlexGridSizer7, 0, wxALIGN_LEFT|wxALIGN_TOP, 5);
745 BoxSizer7->Add(StaticBoxSizer8, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5);
746 StaticBoxSizer4 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Modes"));
747 FlexGridSizer5 = new wxFlexGridSizer(0, 3, 0, 0);
748 StaticText45 = new wxStaticText(this, ID_STATICTEXT45, _("ACP Floor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT45"));
749 FlexGridSizer5->Add(StaticText45, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
750 txtACPFloor = new wxTextCtrl(this, ID_txtACPFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtACPFloor"));
751 txtACPFloor->SetToolTip(_("Anti-Crime Prevention Floor"));
752 FlexGridSizer5->Add(txtACPFloor, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
753 bSetACPFloor = new wxButton(this, ID_bSetACPFloor, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetACPFloor"));
754 FlexGridSizer5->Add(bSetACPFloor, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
755 StaticText46 = new wxStaticText(this, ID_STATICTEXT46, _("Recall Flr:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT46"));
756 FlexGridSizer5->Add(StaticText46, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
757 txtRecallFloor = new wxTextCtrl(this, ID_txtRecallFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtRecallFloor"));
758 txtRecallFloor->SetToolTip(_("Primary Recall Floor"));
759 FlexGridSizer5->Add(txtRecallFloor, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
760 bSetRecallFloor = new wxButton(this, ID_bSetRecallFloor, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetRecallFloor"));
761 FlexGridSizer5->Add(bSetRecallFloor, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
762 StaticText47 = new wxStaticText(this, ID_STATICTEXT47, _("Rcl Flr Alt:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT47"));
763 FlexGridSizer5->Add(StaticText47, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
764 txtRecallAlternate = new wxTextCtrl(this, ID_txtRecallAlternate, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtRecallAlternate"));
765 txtRecallAlternate->SetToolTip(_("Alternate Recall Floor"));
766 FlexGridSizer5->Add(txtRecallAlternate, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
767 bSetRecallAlternate = new wxButton(this, ID_bSetRecallAlternate, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetRecallAlternate"));
768 FlexGridSizer5->Add(bSetRecallAlternate, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
769 StaticText39 = new wxStaticText(this, ID_STATICTEXT39, _("Park Flr:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT39"));
770 FlexGridSizer5->Add(StaticText39, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
771 txtParkingFloor = new wxTextCtrl(this, ID_txtParkingFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtParkingFloor"));
772 txtParkingFloor->SetToolTip(_("Parking Floor"));
773 FlexGridSizer5->Add(txtParkingFloor, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
774 bSetParkingFloor = new wxButton(this, ID_bSetParkingFloor, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetParkingFloor"));
775 FlexGridSizer5->Add(bSetParkingFloor, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
776 StaticText48 = new wxStaticText(this, ID_STATICTEXT48, _("Park Dly:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT48"));
777 FlexGridSizer5->Add(StaticText48, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
778 txtParkingDelay = new wxTextCtrl(this, ID_txtParkingDelay, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtParkingDelay"));
779 txtParkingDelay->SetToolTip(_("Parking Delay"));
780 FlexGridSizer5->Add(txtParkingDelay, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
781 bSetParkingDelay = new wxButton(this, ID_bSetParkingDelay, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetParkingDelay"));
782 FlexGridSizer5->Add(bSetParkingDelay, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
783 StaticText62 = new wxStaticText(this, ID_STATICTEXT62, _("NudgeTimer:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT62"));
784 FlexGridSizer5->Add(StaticText62, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
785 txtNudgeTimer = new wxTextCtrl(this, ID_txtNudgeTimer, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtNudgeTimer"));
786 FlexGridSizer5->Add(txtNudgeTimer, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
787 bSetNudgeTimer = new wxButton(this, ID_bSetNudgeTimer, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetNudgeTimer"));
788 FlexGridSizer5->Add(bSetNudgeTimer, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
789 StaticBoxSizer4->Add(FlexGridSizer5, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
790 BoxSizer7->Add(StaticBoxSizer4, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
791 BoxSizer3->Add(BoxSizer7, 1, wxBOTTOM|wxRIGHT|wxALIGN_TOP|wxALIGN_CENTER_HORIZONTAL, 5);
792 BoxSizer1->Add(BoxSizer3, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
794 BoxSizer1->Fit(this);
795 BoxSizer1->SetSizeHints(this);
798 Connect(ID_bACPMode,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bACPMode_Toggle);
799 Connect(ID_bUpPeak,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bUpPeak_Toggle);
800 Connect(ID_bDownPeak,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bDownPeak_Toggle);
801 Connect(ID_bIndService,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bIndService_Toggle);
802 Connect(ID_bInsService,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bInsService_Toggle);
803 Connect(ID_Fire1Off,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&editelevator::On_Fire1Off_Select);
804 Connect(ID_Fire1On,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&editelevator::On_Fire1On_Select);
805 Connect(ID_Fire1Bypass,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&editelevator::On_Fire1Bypass_Select);
806 Connect(ID_Fire2Off,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&editelevator::On_Fire2Off_Select);
807 Connect(ID_Fire2On,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&editelevator::On_Fire2On_Select);
808 Connect(ID_Fire2Hold,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&editelevator::On_Fire2Hold_Select);
809 Connect(ID_bUp,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bUp_Toggle);
810 Connect(ID_bGoToggle,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bGoToggle_Toggle);
811 Connect(ID_bDown,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bDown_Toggle);
812 Connect(ID_bRefresh,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bRefresh_Click);
813 Connect(ID_bDumpFloors,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bDumpFloors_Click);
814 Connect(ID_bDumpQueues,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bDumpQueues_Click);
815 Connect(ID_CHECKBOX1,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&editelevator::On_chkVisible_Click);
816 Connect(ID_chkRun,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&editelevator::On_chkRun_Click);
817 Connect(ID_bCall,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bCall_Click);
818 Connect(ID_bGo,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bGo_Click);
819 Connect(ID_bOpen,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bOpen_Click);
820 Connect(ID_bOpenManual,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bOpenManual_Click);
821 Connect(ID_bOpenShaftDoor,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bOpenShaftDoor_Click);
822 Connect(ID_bStop,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bStop_Click);
823 Connect(ID_bChime,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bChime_Click);
824 Connect(ID_bUpIndicator,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bUpIndicator_Click);
825 Connect(ID_bEnqueueUp,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bEnqueueUp_Click);
826 Connect(ID_bEnqueueDown,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bEnqueueDown_Click);
827 Connect(ID_bClose,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bClose_Click);
828 Connect(ID_bCloseManual,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bCloseManual_Click);
829 Connect(ID_bCloseShaftDoor,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bCloseShaftDoor_Click);
830 Connect(ID_bAlarm,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bAlarm_Click);
831 Connect(ID_bStopDoors,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bStopDoors_Click);
832 Connect(ID_bDownIndicator,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bDownIndicator_Click);
833 Connect(ID_bSetName,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetName_Click);
834 Connect(ID_bSetDoorTimer,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDoorTimer_Click);
835 Connect(ID_bSetQuickClose,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetQuickClose_Click);
836 Connect(ID_bSetSkipFloorText,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetSkipFloorText_Click);
837 Connect(ID_bResetQueues,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bResetQueues_Click);
838 Connect(ID_bSetSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetSpeed_Click);
839 Connect(ID_bSetAcceleration,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetAcceleration_Click);
840 Connect(ID_bSetDeceleration,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDeceleration_Click);
841 Connect(ID_bSetAccelJerk,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetAccelJerk_Click);
842 Connect(ID_bSetDecelJerk,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDecelJerk_Click);
843 Connect(ID_bSetLevelingSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetLevelingSpeed_Click);
844 Connect(ID_bSetLevelingOffset,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetLevelingOffset_Click);
845 Connect(ID_bSetLevelingOpen,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetLevelingOpen_Click);
846 Connect(ID_bSetSlowSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetSlowSpeed_Click);
847 Connect(ID_bSetManualSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetManualSpeed_Click);
848 Connect(ID_bNotifyEarly,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bNotifyEarly_Click);
849 Connect(ID_bSetDepartureDelay,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDepartureDelay_Click);
850 Connect(ID_bSetArrivalDelay,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetArrivalDelay_Click);
851 Connect(ID_bSetACPFloor,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetACPFloor_Click);
852 Connect(ID_bSetRecallFloor,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetRecallFloor_Click);
853 Connect(ID_bSetRecallAlternate,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetRecallAlternate_Click);
854 Connect(ID_bSetParkingFloor,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetParkingFloor_Click);
855 Connect(ID_bSetParkingDelay,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetParkingDelay_Click);
856 Connect(ID_bSetNudgeTimer,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetNudgeTimer_Click);
861 editelevator::~editelevator()
866 void editelevator::On_bCall_Click(wxCommandEvent& event)
868 //calls elevator to the current camera floor
869 if (Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->GetFloor() > Simcore->camera->CurrentFloor)
870 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->AddRoute(Simcore->camera->CurrentFloor, -1, false);
871 if (Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->GetFloor() < Simcore->camera->CurrentFloor)
872 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->AddRoute(Simcore->camera->CurrentFloor, 1, false);
875 void editelevator::On_bEnqueueUp_Click(wxCommandEvent& event)
877 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->AddRoute(sFloor->GetThumbPosition() - Simcore->Basements, 1, true);
880 void editelevator::On_bGo_Click(wxCommandEvent& event)
882 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->Go(sFloor->GetThumbPosition() - Simcore->Basements);
885 void editelevator::On_bEnqueueDown_Click(wxCommandEvent& event)
887 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->AddRoute(sFloor->GetThumbPosition() - Simcore->Basements, -1, true);
890 void editelevator::On_bOpen_Click(wxCommandEvent& event)
892 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->OpenDoors(sDoor->GetThumbPosition());
895 void editelevator::On_bClose_Click(wxCommandEvent& event)
897 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->CloseDoors(sDoor->GetThumbPosition());
900 void editelevator::On_bOpenManual_Click(wxCommandEvent& event)
902 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->OpenDoorsEmergency(sDoor->GetThumbPosition());
905 void editelevator::On_bCloseManual_Click(wxCommandEvent& event)
907 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->CloseDoorsEmergency(sDoor->GetThumbPosition());
910 void editelevator::On_bStop_Click(wxCommandEvent& event)
912 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->Stop(true);
915 void editelevator::On_bAlarm_Click(wxCommandEvent& event)
917 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->Alarm();
920 void editelevator::On_bSetName_Click(wxCommandEvent& event)
923 elevator->Name = txtName->GetValue().ToAscii();
926 void editelevator::On_bSetSpeed_Click(wxCommandEvent& event)
929 elevator->ElevatorSpeed = atof(txtSpeed->GetValue().ToAscii());
932 void editelevator::On_bSetAcceleration_Click(wxCommandEvent& event)
935 elevator->Acceleration = atof(txtAcceleration->GetValue().ToAscii());
938 void editelevator::On_bSetDeceleration_Click(wxCommandEvent& event)
941 elevator->Deceleration = atof(txtDeceleration->GetValue().ToAscii());
944 void editelevator::On_bDumpFloors_Click(wxCommandEvent& event)
946 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->DumpServicedFloors();
949 void editelevator::On_bDumpQueues_Click(wxCommandEvent& event)
951 Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->DumpQueues();
954 void editelevator::OnInit()
958 if (Simcore->Elevators() > 0)
960 //set elevator range slider
961 sNumber->SetScrollbar(0, 1, Simcore->Elevators(), 1);
963 //set floor range slider
964 sFloor->SetScrollbar(Simcore->Basements, 1, Simcore->TotalFloors(), 1);
966 //set door range slider
967 sDoor->SetScrollbar(1, 1, Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->NumDoors + 1, 1);
970 sNumber->Enable(false);
973 void editelevator::Loop()
975 static int last_door;
976 static int last_elevator_count;
977 static int last_floor_count;
982 elev_num = sNumber->GetThumbPosition() + 1;
983 door_num = sDoor->GetThumbPosition();
984 elevator_count = Simcore->Elevators();
985 floor_count = Simcore->TotalFloors();
986 elevator = Simcore->GetElevator(elev_num);
987 door = elevator->GetDoor(door_num);
989 if (elev_num != last_elevator)
991 //number changed; update values
992 last_elevator = elev_num;
995 if (door_num != last_door)
997 //number changed; update values
998 last_door = door_num;
1001 if (elevator_count != last_elevator_count && elevator_count > 0)
1003 //elevator count changed; update slider
1004 last_elevator_count = elevator_count;
1006 //set elevator range slider
1007 sNumber->SetScrollbar(0, 1, Simcore->Elevators(), 1);
1009 if (floor_count != last_floor_count)
1011 //floor count changed; update slider
1012 last_floor_count = floor_count;
1014 //set floor range slider
1015 sFloor->SetScrollbar(Simcore->Basements, 1, Simcore->TotalFloors(), 1);
1018 tElevator->SetLabel(wxT("Number " + wxVariant((long)sNumber->GetThumbPosition() + 1).GetString()));
1019 int floor_temp = sFloor->GetThumbPosition() - Simcore->Basements;
1020 wxString floor_name;
1021 if (Simcore->GetFloor(floor_temp))
1022 floor_name = wxString::FromAscii(Simcore->GetFloor(floor_temp)->ID.c_str());
1023 tFloor->SetLabel(wxT("Floor ") + wxVariant((long)floor_temp).GetString() + wxT(" (" + floor_name) + wxT(")"));
1024 tDoor->SetLabel(wxT("Door " + wxVariant((long)sDoor->GetThumbPosition()).GetString() + wxT(" (0 = all)")));
1025 txtBrakes->SetValue(wxString::FromAscii(BoolToString(elevator->GetBrakeStatus())));
1026 txtDestFloor->SetValue(wxVariant((long)elevator->GotoFloor).GetString());
1027 txtDestination->SetValue(TruncateNumber(elevator->GetDestination(), 2));
1028 txtDirection->SetValue(wxVariant((long)elevator->Direction).GetString());
1029 txtDistance->SetValue(TruncateNumber(elevator->DistanceToTravel, 2));
1032 txtDoorDirection->SetValue(wxString::FromAscii(BoolToString(door->DoorDirection)));
1033 txtDoorHeight->SetValue(TruncateNumber(door->GetDoorWrapper()->Height, 2));
1034 txtDoorOrigin->SetValue(TruncateNumber(door->GetDoorWrapper()->Origin.x, 2) + wxT(", ") + TruncateNumber(door->GetDoorWrapper()->Origin.y, 2) + wxT(", ") + TruncateNumber(door->GetDoorWrapper()->Origin.z, 2));
1035 txtDoorsOpen->SetValue(wxString::FromAscii(BoolToString(door->AreDoorsOpen())));
1036 txtDoorWidth->SetValue(TruncateNumber(door->GetDoorWrapper()->Width, 2));
1037 txtShaftDoorOrigin->SetValue(TruncateNumber(door->ShaftDoorOrigin.x, 2) + wxT(", ") + TruncateNumber(door->ShaftDoorOrigin.y, 2) + wxT(", ") + TruncateNumber(door->ShaftDoorOrigin.z, 2));
1038 txtDoorStopped->SetValue(wxString::FromAscii(BoolToString(door->DoorsStopped())));
1039 txtNudgeMode->SetValue(wxString::FromAscii(BoolToString(door->GetNudgeStatus())));
1041 txtElevStart->SetValue(TruncateNumber(elevator->GetElevatorStart(), 2));
1042 txtEnabled->SetValue(wxString::FromAscii(BoolToString(elevator->IsEnabled)));
1043 txtErrorOffset->SetValue(TruncateNumber(elevator->ErrorOffset, 2));
1044 txtFloor->SetValue(wxVariant((long)elevator->GetFloor()).GetString());
1045 txtHeight->SetValue(TruncateNumber(elevator->Height, 2));
1046 txtMoveElevator->SetValue(wxString::FromAscii(BoolToString(elevator->MoveElevator)));
1047 txtNumber->SetValue(wxVariant((long)elevator->Number).GetString());
1048 txtOrigin->SetValue(TruncateNumber(elevator->Origin.x, 2) + wxT(", ") + TruncateNumber(elevator->Origin.y, 2) + wxT(", ") + TruncateNumber(elevator->Origin.z, 2));
1049 txtOriginFloor->SetValue(wxVariant((long)elevator->OriginFloor).GetString());
1050 txtPosition->SetValue(TruncateNumber(elevator->GetPosition().x, 2) + wxT(", ") + TruncateNumber(elevator->GetPosition().y, 2) + wxT(", ") + TruncateNumber(elevator->GetPosition().z, 2));
1051 txtQueueDirection->SetValue(wxVariant((long)elevator->QueuePositionDirection).GetString());
1052 txtQueueLastDown->SetValue(wxVariant((long)elevator->LastQueueFloor[0]).GetString());
1053 txtQueueLastUp->SetValue(wxVariant((long)elevator->LastQueueFloor[1]).GetString());
1054 txtRate->SetValue(TruncateNumber(elevator->ElevatorRate, 2));
1055 txtShaft->SetValue(wxVariant((long)elevator->AssignedShaft).GetString());
1056 txtStop->SetValue(wxString::FromAscii(BoolToString(elevator->GetEmergencyStopStatus())));
1057 txtStopDistance->SetValue(TruncateNumber(elevator->GetStoppingDistance(), 2));
1058 txtTempDecel->SetValue(TruncateNumber(elevator->TempDeceleration, 2));
1059 txtJerkRate->SetValue(TruncateNumber(elevator->GetJerkRate(), 4));
1060 txtIsMoving->SetValue(wxString::FromAscii(BoolToString(elevator->IsMoving)));
1061 txtUseSkipFloor->SetValue(wxString::FromAscii(BoolToString(elevator->UseFloorSkipText)));
1062 txtOnFloor->SetValue(wxString::FromAscii(BoolToString(elevator->OnFloor)));
1063 txtAlarm->SetValue(wxString::FromAscii(BoolToString(elevator->AlarmActive)));
1064 txtQueueLastDirection->SetValue(wxVariant((long)elevator->LastQueueDirection).GetString());
1065 txtIsIdle->SetValue(wxString::FromAscii(BoolToString(elevator->IsIdle())));
1066 txtWaitForDoors->SetValue(wxString::FromAscii(BoolToString(elevator->WaitForDoors)));
1067 txtMotor->SetValue(TruncateNumber(elevator->MotorPosition.x, 2) + wxT(", ") + TruncateNumber(elevator->MotorPosition.y, 2) + wxT(", ") + TruncateNumber(elevator->MotorPosition.z, 2));
1068 txtCameraOffset->SetValue(TruncateNumber(elevator->CameraOffset, 2));
1069 txtManualGo->SetValue(wxString::FromAscii(BoolToString(elevator->ManualGo)));
1070 txtLeveling->SetValue(wxString::FromAscii(BoolToString(elevator->Leveling)));
1071 txtParking->SetValue(wxString::FromAscii(BoolToString(elevator->Parking)));
1074 void editelevator::SetMainValues()
1076 //set changeable values
1077 txtName->SetValue(wxString::FromAscii(elevator->Name.c_str()));
1080 txtDoorTimer->SetValue(wxVariant((int)door->DoorTimer).GetString());
1081 txtQuickClose->SetValue(wxVariant((int)door->QuickClose).GetString());
1082 txtNudgeTimer->SetValue(TruncateNumber(door->NudgeTimer, 4));
1083 txtSlowSpeed->SetValue(TruncateNumber(door->SlowSpeed, 4));
1084 txtManualSpeed->SetValue(TruncateNumber(door->ManualSpeed, 4));
1086 txtSpeed->SetValue(TruncateNumber(elevator->ElevatorSpeed, 4));
1087 txtAcceleration->SetValue(TruncateNumber(elevator->Acceleration, 4));
1088 txtDeceleration->SetValue(TruncateNumber(elevator->Deceleration, 4));
1089 txtAccelJerk->SetValue(TruncateNumber(elevator->AccelJerk, 4));
1090 txtDecelJerk->SetValue(TruncateNumber(elevator->DecelJerk, 4));
1091 chkVisible->SetValue(elevator->IsEnabled);
1092 chkRun->SetValue(elevator->IsRunning());
1093 bACPMode->SetValue(elevator->ACP);
1094 bUpPeak->SetValue(elevator->UpPeak);
1095 bDownPeak->SetValue(elevator->DownPeak);
1096 bIndService->SetValue(elevator->IndependentService);
1097 bInsService->SetValue(elevator->InspectionService);
1098 txtSkipFloorText->SetValue(wxString::FromAscii(elevator->GetFloorSkipText()));
1099 txtACPFloor->SetValue(wxVariant((int)elevator->ACPFloor).GetString());
1100 txtRecallFloor->SetValue(wxVariant((int)elevator->RecallFloor).GetString());
1101 txtRecallAlternate->SetValue(wxVariant((int)elevator->RecallFloorAlternate).GetString());
1102 txtParkingFloor->SetValue(wxVariant((int)elevator->ParkingFloor).GetString());
1103 txtParkingDelay->SetValue(TruncateNumber(elevator->ParkingDelay, 4));
1104 txtLevelingSpeed->SetValue(TruncateNumber(elevator->LevelingSpeed, 4));
1105 txtLevelingOffset->SetValue(TruncateNumber(elevator->LevelingOffset, 4));
1106 txtLevelingOpen->SetValue(TruncateNumber(elevator->LevelingOpen, 4));
1107 txtNotifyEarly->SetValue(wxVariant((int)elevator->NotifyEarly).GetString());
1108 txtDepartureDelay->SetValue(TruncateNumber(elevator->DepartureDelay, 4));
1109 txtArrivalDelay->SetValue(TruncateNumber(elevator->ArrivalDelay, 4));
1110 if (elevator->FireServicePhase2 == 0)
1111 Fire2Off->SetValue(true);
1112 if (elevator->FireServicePhase2 == 1)
1113 Fire2On->SetValue(true);
1114 if (elevator->FireServicePhase2 == 2)
1115 Fire2Hold->SetValue(true);
1116 if (elevator->FireServicePhase1 == 0)
1117 Fire1Off->SetValue(true);
1118 if (elevator->FireServicePhase1 == 1)
1119 Fire1On->SetValue(true);
1120 if (elevator->FireServicePhase1 == 2)
1121 Fire1Bypass->SetValue(true);
1124 void editelevator::On_chkVisible_Click(wxCommandEvent& event)
1127 elevator->Enabled(chkVisible->GetValue());
1130 void editelevator::On_bSetAccelJerk_Click(wxCommandEvent& event)
1133 elevator->AccelJerk = atof(txtAccelJerk->GetValue().ToAscii());
1136 void editelevator::On_bSetDecelJerk_Click(wxCommandEvent& event)
1139 elevator->DecelJerk = atof(txtDecelJerk->GetValue().ToAscii());
1142 void editelevator::On_bOpenShaftDoor_Click(wxCommandEvent& event)
1145 elevator->OpenDoors(sDoor->GetThumbPosition(), 3, sFloor->GetThumbPosition() - Simcore->Basements);
1148 void editelevator::On_bCloseShaftDoor_Click(wxCommandEvent& event)
1151 elevator->CloseDoors(sDoor->GetThumbPosition(), 3, sFloor->GetThumbPosition() - Simcore->Basements);
1154 void editelevator::On_bSetDoorTimer_Click(wxCommandEvent& event)
1157 door->DoorTimer = atoi(txtDoorTimer->GetValue().ToAscii());
1160 void editelevator::On_bChime_Click(wxCommandEvent& event)
1163 door->Chime(sFloor->GetThumbPosition() - Simcore->Basements, true);
1166 void editelevator::On_bACPMode_Toggle(wxCommandEvent& event)
1170 elevator->EnableACP(bACPMode->GetValue());
1175 void editelevator::On_bUpPeak_Toggle(wxCommandEvent& event)
1179 elevator->EnableUpPeak(bUpPeak->GetValue());
1184 void editelevator::On_bDownPeak_Toggle(wxCommandEvent& event)
1188 elevator->EnableDownPeak(bDownPeak->GetValue());
1193 void editelevator::On_bIndService_Toggle(wxCommandEvent& event)
1197 elevator->EnableIndependentService(bIndService->GetValue());
1202 void editelevator::On_bInsService_Toggle(wxCommandEvent& event)
1206 elevator->EnableInspectionService(bInsService->GetValue());
1208 if (bInsService->GetValue() == false)
1210 elevator->SetGoButton(false);
1211 bGoToggle->SetValue(false);
1212 bUp->SetValue(false);
1213 bDown->SetValue(false);
1219 void editelevator::On_bRefresh_Click(wxCommandEvent& event)
1224 void editelevator::On_bSetSkipFloorText_Click(wxCommandEvent& event)
1227 elevator->SetFloorSkipText(txtSkipFloorText->GetValue().ToAscii());
1230 void editelevator::On_bSetACPFloor_Click(wxCommandEvent& event)
1233 elevator->SetACPFloor(atoi(txtACPFloor->GetValue().ToAscii()));
1236 void editelevator::On_bSetRecallFloor_Click(wxCommandEvent& event)
1239 elevator->SetRecallFloor(atoi(txtRecallFloor->GetValue().ToAscii()));
1242 void editelevator::On_bSetRecallAlternate_Click(wxCommandEvent& event)
1245 elevator->SetAlternateRecallFloor(atoi(txtRecallAlternate->GetValue().ToAscii()));
1248 void editelevator::On_Fire1Off_Select(wxCommandEvent& event)
1251 elevator->EnableFireService1(0);
1254 void editelevator::On_Fire1On_Select(wxCommandEvent& event)
1257 elevator->EnableFireService1(1);
1260 void editelevator::On_Fire1Bypass_Select(wxCommandEvent& event)
1263 elevator->EnableFireService1(2);
1266 void editelevator::On_Fire2Off_Select(wxCommandEvent& event)
1269 elevator->EnableFireService2(0);
1272 void editelevator::On_Fire2On_Select(wxCommandEvent& event)
1275 elevator->EnableFireService2(1);
1278 void editelevator::On_Fire2Hold_Select(wxCommandEvent& event)
1281 elevator->EnableFireService2(2);
1284 void editelevator::On_bStopDoors_Click(wxCommandEvent& event)
1287 elevator->StopDoors(sDoor->GetThumbPosition());
1290 void editelevator::On_bUp_Toggle(wxCommandEvent& event)
1294 if (elevator->InspectionService == false)
1297 if (bUp->GetValue() == true)
1300 elevator->Stop(false);
1304 void editelevator::On_bGoToggle_Toggle(wxCommandEvent& event)
1308 if (elevator->InspectionService == false)
1311 elevator->SetGoButton(bGoToggle->GetValue());
1313 if (bUp->GetValue() == true)
1315 else if (bDown->GetValue() == true)
1316 elevator->MoveDown();
1318 elevator->Stop(false);
1322 void editelevator::On_bDown_Toggle(wxCommandEvent& event)
1326 if (elevator->InspectionService == false)
1329 if (bDown->GetValue() == true)
1330 elevator->MoveDown();
1332 elevator->Stop(false);
1336 void editelevator::On_bUpIndicator_Click(wxCommandEvent& event)
1338 Floor *floor = Simcore->GetFloor(sFloor->GetThumbPosition() - Simcore->Basements);
1339 if (floor && elevator)
1340 floor->SetDirectionalIndicators(elevator->Number, true, false);
1343 void editelevator::On_bDownIndicator_Click(wxCommandEvent& event)
1345 Floor *floor = Simcore->GetFloor(sFloor->GetThumbPosition() - Simcore->Basements);
1346 if (floor && elevator)
1347 floor->SetDirectionalIndicators(elevator->Number, false, true);
1350 void editelevator::On_bResetQueues_Click(wxCommandEvent& event)
1353 elevator->ResetQueue(true, true);
1356 void editelevator::On_bSetParkingFloor_Click(wxCommandEvent& event)
1359 elevator->ParkingFloor = atoi(txtParkingFloor->GetValue().ToAscii());
1362 void editelevator::On_bSetParkingDelay_Click(wxCommandEvent& event)
1365 elevator->ParkingDelay = atof(txtParkingDelay->GetValue().ToAscii());
1368 void editelevator::On_bSetLevelingSpeed_Click(wxCommandEvent& event)
1371 elevator->LevelingSpeed = atof(txtLevelingSpeed->GetValue().ToAscii());
1374 void editelevator::On_bSetLevelingOffset_Click(wxCommandEvent& event)
1377 elevator->LevelingOffset = atof(txtLevelingOffset->GetValue().ToAscii());
1380 void editelevator::On_bSetLevelingOpen_Click(wxCommandEvent& event)
1383 elevator->LevelingOpen = atof(txtLevelingOpen->GetValue().ToAscii());
1386 void editelevator::On_bNotifyEarly_Click(wxCommandEvent& event)
1389 elevator->NotifyEarly = atoi(txtNotifyEarly->GetValue().ToAscii());
1392 void editelevator::On_chkRun_Click(wxCommandEvent& event)
1395 elevator->SetRunState(chkRun->GetValue());
1398 void editelevator::On_bSetQuickClose_Click(wxCommandEvent& event)
1401 door->QuickClose = atoi(txtQuickClose->GetValue().ToAscii());
1404 void editelevator::On_bSetNudgeTimer_Click(wxCommandEvent& event)
1407 door->NudgeTimer = atof(txtNudgeTimer->GetValue().ToAscii());
1410 void editelevator::On_bSetSlowSpeed_Click(wxCommandEvent& event)
1413 door->SlowSpeed = atof(txtSlowSpeed->GetValue().ToAscii());
1416 void editelevator::On_bSetManualSpeed_Click(wxCommandEvent& event)
1419 door->ManualSpeed = atof(txtManualSpeed->GetValue().ToAscii());
1422 void editelevator::On_bSetDepartureDelay_Click(wxCommandEvent& event)
1425 elevator->DepartureDelay = atof(txtDepartureDelay->GetValue().ToAscii());
1428 void editelevator::On_bSetArrivalDelay_Click(wxCommandEvent& event)
1431 elevator->ArrivalDelay = atof(txtArrivalDelay->GetValue().ToAscii());