Skyscraper 2.0
editelevator.cpp
Go to the documentation of this file.
1/*
2 Skyscraper 2.0 Alpha - Edit Elevator Form
3 Copyright (C)2003-2024 Ryan Thoryk
4 https://www.skyscrapersim.net
5 https://sourceforge.net/projects/skyscraper/
6 Contact - ryan@skyscrapersim.net
7
8 This program is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License
10 as published by the Free Software Foundation; either version 2
11 of the License, or (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21*/
22
23//(*InternalHeaders(editelevator)
24#include <wx/intl.h>
25#include <wx/string.h>
26//*)
27#include "globals.h"
28#include "sbs.h"
29#include "camera.h"
30#include "floor.h"
31#include "elevator.h"
32#include "elevatordoor.h"
33#include "elevatorcar.h"
34#include "debugpanel.h"
35#include "callstation.h"
36#include "manager.h"
37#include "editelevator.h"
38
39using namespace SBS;
40
41namespace Skyscraper {
42
43//(*IdInit(editelevator)
44const long editelevator::ID_tElevator = wxNewId();
45const long editelevator::ID_sNumber = wxNewId();
46const long editelevator::ID_tFloor = wxNewId();
47const long editelevator::ID_sFloor = wxNewId();
48const long editelevator::ID_bACPMode = wxNewId();
49const long editelevator::ID_bUpPeak = wxNewId();
50const long editelevator::ID_bDownPeak = wxNewId();
51const long editelevator::ID_bIndService = wxNewId();
52const long editelevator::ID_bInsService = wxNewId();
53const long editelevator::ID_Fire1Off = wxNewId();
54const long editelevator::ID_Fire1On = wxNewId();
55const long editelevator::ID_Fire1Bypass = wxNewId();
56const long editelevator::ID_Fire2Off = wxNewId();
57const long editelevator::ID_Fire2On = wxNewId();
58const long editelevator::ID_Fire2Hold = wxNewId();
59const long editelevator::ID_CHECKBOX1 = wxNewId();
60const long editelevator::ID_chkRun = wxNewId();
61const long editelevator::ID_bUp = wxNewId();
62const long editelevator::ID_bGoToggle = wxNewId();
63const long editelevator::ID_bDown = wxNewId();
64const long editelevator::ID_tCar = wxNewId();
65const long editelevator::ID_sCar = wxNewId();
66const long editelevator::ID_tDoor = wxNewId();
67const long editelevator::ID_sDoor = wxNewId();
68const long editelevator::ID_bRefresh = wxNewId();
69const long editelevator::ID_bDumpFloors = wxNewId();
70const long editelevator::ID_bDumpQueues = wxNewId();
71const long editelevator::ID_bCall = wxNewId();
72const long editelevator::ID_bGo = wxNewId();
73const long editelevator::ID_bOpen = wxNewId();
74const long editelevator::ID_bOpenManual = wxNewId();
75const long editelevator::ID_bOpenShaftDoor = wxNewId();
76const long editelevator::ID_bStop = wxNewId();
77const long editelevator::ID_bChime = wxNewId();
78const long editelevator::ID_bSelectCurrent = wxNewId();
79const long editelevator::ID_bEnqueueUp = wxNewId();
80const long editelevator::ID_bEnqueueDown = wxNewId();
81const long editelevator::ID_bClose = wxNewId();
82const long editelevator::ID_bCloseManual = wxNewId();
83const long editelevator::ID_bCloseShaftDoor = wxNewId();
84const long editelevator::ID_bHoldDoors = wxNewId();
85const long editelevator::ID_bStopDoors = wxNewId();
86const long editelevator::ID_bMalfunction = wxNewId();
87const long editelevator::ID_STATICTEXT3 = wxNewId();
88const long editelevator::ID_txtNumber = wxNewId();
89const long editelevator::ID_STATICTEXT5 = wxNewId();
90const long editelevator::ID_txtName = wxNewId();
91const long editelevator::ID_bSetName = wxNewId();
92const long editelevator::ID_STATICTEXT90 = wxNewId();
93const long editelevator::ID_txtID = wxNewId();
94const long editelevator::ID_bSetID = wxNewId();
95const long editelevator::ID_STATICTEXT9 = wxNewId();
96const long editelevator::ID_txtType = wxNewId();
97const long editelevator::ID_bSetType = wxNewId();
98const long editelevator::ID_STATICTEXT4 = wxNewId();
99const long editelevator::ID_txtEnabled = wxNewId();
100const long editelevator::ID_STATICTEXT6 = wxNewId();
101const long editelevator::ID_txtShaft = wxNewId();
102const long editelevator::ID_STATICTEXT7 = wxNewId();
103const long editelevator::ID_txtHeight = wxNewId();
104const long editelevator::ID_STATICTEXT8 = wxNewId();
105const long editelevator::ID_txtDoorSize = wxNewId();
106const long editelevator::ID_STATICTEXT10 = wxNewId();
107const long editelevator::ID_txtDoorDirection = wxNewId();
108const long editelevator::ID_STATICTEXT11 = wxNewId();
109const long editelevator::ID_txtDoorsOpen = wxNewId();
110const long editelevator::ID_STATICTEXT12 = wxNewId();
111const long editelevator::ID_txtBrakes = wxNewId();
112const long editelevator::ID_STATICTEXT13 = wxNewId();
113const long editelevator::ID_txtStop = wxNewId();
114const long editelevator::ID_STATICTEXT42 = wxNewId();
115const long editelevator::ID_txtDoorTimer = wxNewId();
116const long editelevator::ID_bSetDoorTimer = wxNewId();
117const long editelevator::ID_STATICTEXT61 = wxNewId();
118const long editelevator::ID_txtQuickClose = wxNewId();
119const long editelevator::ID_bSetQuickClose = wxNewId();
120const long editelevator::ID_STATICTEXT44 = wxNewId();
121const long editelevator::ID_txtSkipFloorText = wxNewId();
122const long editelevator::ID_bSetSkipFloorText = wxNewId();
123const long editelevator::ID_STATICTEXT28 = wxNewId();
124const long editelevator::ID_txtWaitForDoors = wxNewId();
125const long editelevator::ID_STATICTEXT67 = wxNewId();
126const long editelevator::ID_txtNudgeMode = wxNewId();
127const long editelevator::ID_bSetNudge = wxNewId();
128const long editelevator::ID_STATICTEXT32 = wxNewId();
129const long editelevator::ID_txtDoorSensor = wxNewId();
130const long editelevator::ID_bDoorSensor = wxNewId();
131const long editelevator::ID_STATICTEXT86 = wxNewId();
132const long editelevator::ID_txtActiveCallFloor = wxNewId();
133const long editelevator::ID_STATICTEXT87 = wxNewId();
134const long editelevator::ID_txtActiveCallDirection = wxNewId();
135const long editelevator::ID_STATICTEXT70 = wxNewId();
136const long editelevator::ID_txtNotified = wxNewId();
137const long editelevator::ID_STATICTEXT75 = wxNewId();
138const long editelevator::ID_txtWaitForTimer = wxNewId();
139const long editelevator::ID_STATICTEXT76 = wxNewId();
140const long editelevator::ID_txtLastChimeDirection = wxNewId();
141const long editelevator::ID_STATICTEXT56 = wxNewId();
142const long editelevator::ID_txtLevelingSpeed = wxNewId();
143const long editelevator::ID_bSetLevelingSpeed = wxNewId();
144const long editelevator::ID_STATICTEXT57 = wxNewId();
145const long editelevator::ID_txtLevelingOffset = wxNewId();
146const long editelevator::ID_bSetLevelingOffset = wxNewId();
147const long editelevator::ID_STATICTEXT88 = wxNewId();
148const long editelevator::ID_txtLevelingOpen = wxNewId();
149const long editelevator::ID_bLevelingOpen = wxNewId();
150const long editelevator::ID_STATICTEXT78 = wxNewId();
151const long editelevator::ID_txtFloorSounds = wxNewId();
152const long editelevator::ID_bSetFloorSounds = wxNewId();
153const long editelevator::ID_STATICTEXT79 = wxNewId();
154const long editelevator::ID_txtFloorBeeps = wxNewId();
155const long editelevator::ID_bSetFloorBeeps = wxNewId();
156const long editelevator::ID_STATICTEXT80 = wxNewId();
157const long editelevator::ID_txtMessageSounds = wxNewId();
158const long editelevator::ID_bSetMessageSounds = wxNewId();
159const long editelevator::ID_STATICTEXT81 = wxNewId();
160const long editelevator::ID_txtAutoEnable = wxNewId();
161const long editelevator::ID_bSetAutoEnable = wxNewId();
162const long editelevator::ID_STATICTEXT82 = wxNewId();
163const long editelevator::ID_txtReOpen = wxNewId();
164const long editelevator::ID_bSetReOpen = wxNewId();
165const long editelevator::ID_STATICTEXT83 = wxNewId();
166const long editelevator::ID_txtAutoDoors = wxNewId();
167const long editelevator::ID_bSetAutoDoors = wxNewId();
168const long editelevator::ID_STATICTEXT84 = wxNewId();
169const long editelevator::ID_txtOpenOnStart = wxNewId();
170const long editelevator::ID_STATICTEXT85 = wxNewId();
171const long editelevator::ID_txtInterlocks = wxNewId();
172const long editelevator::ID_bInterlocks = wxNewId();
173const long editelevator::ID_STATICTEXT91 = wxNewId();
174const long editelevator::ID_txtFan = wxNewId();
175const long editelevator::ID_bFan = wxNewId();
176const long editelevator::ID_STATICTEXT52 = wxNewId();
177const long editelevator::ID_txtAlarm = wxNewId();
178const long editelevator::ID_STATICTEXT58 = wxNewId();
179const long editelevator::ID_txtMusicOn = wxNewId();
180const long editelevator::ID_bSetMusicOn = wxNewId();
181const long editelevator::ID_STATICTEXT77 = wxNewId();
182const long editelevator::ID_txtMusicOnMove = wxNewId();
183const long editelevator::ID_bSetMusicOnMove = wxNewId();
184const long editelevator::ID_STATICTEXT93 = wxNewId();
185const long editelevator::ID_txtMusicAlwaysOn = wxNewId();
186const long editelevator::ID_bMusicAlwaysOn = wxNewId();
187const long editelevator::ID_STATICTEXT92 = wxNewId();
188const long editelevator::ID_txtChimeOnArrival = wxNewId();
189const long editelevator::ID_bSetChimeOnArrival = wxNewId();
190const long editelevator::ID_STATICTEXT94 = wxNewId();
191const long editelevator::ID_chkServicedFloors = wxNewId();
192const long editelevator::ID_STATICTEXT14 = wxNewId();
193const long editelevator::ID_txtFloor = wxNewId();
194const long editelevator::ID_STATICTEXT15 = wxNewId();
195const long editelevator::ID_txtPosition = wxNewId();
196const long editelevator::ID_STATICTEXT17 = wxNewId();
197const long editelevator::ID_txtOriginFloor = wxNewId();
198const long editelevator::ID_STATICTEXT18 = wxNewId();
199const long editelevator::ID_txtElevStart = wxNewId();
200const long editelevator::ID_STATICTEXT19 = wxNewId();
201const long editelevator::ID_txtDoorOrigin = wxNewId();
202const long editelevator::ID_STATICTEXT20 = wxNewId();
203const long editelevator::ID_txtShaftDoorOrigin = wxNewId();
204const long editelevator::ID_STATICTEXT50 = wxNewId();
205const long editelevator::ID_txtOnFloor = wxNewId();
206const long editelevator::ID_STATICTEXT25 = wxNewId();
207const long editelevator::ID_txtMotor = wxNewId();
208const long editelevator::ID_STATICTEXT54 = wxNewId();
209const long editelevator::ID_txtCameraOffset = wxNewId();
210const long editelevator::ID_STATICTEXT71 = wxNewId();
211const long editelevator::ID_txtMusicPosition = wxNewId();
212const long editelevator::ID_STATICTEXT38 = wxNewId();
213const long editelevator::ID_txtQueueDirection = wxNewId();
214const long editelevator::ID_STATICTEXT40 = wxNewId();
215const long editelevator::ID_txtQueueLastUp = wxNewId();
216const long editelevator::ID_STATICTEXT41 = wxNewId();
217const long editelevator::ID_txtQueueLastDown = wxNewId();
218const long editelevator::ID_STATICTEXT51 = wxNewId();
219const long editelevator::ID_txtQueueLastDirection = wxNewId();
220const long editelevator::ID_STATICTEXT68 = wxNewId();
221const long editelevator::ID_txtQueueResets = wxNewId();
222const long editelevator::ID_STATICTEXT69 = wxNewId();
223const long editelevator::ID_txtLimitQueue = wxNewId();
224const long editelevator::ID_bResetQueues = wxNewId();
225const long editelevator::ID_STATICTEXT21 = wxNewId();
226const long editelevator::ID_txtUpSpeed = wxNewId();
227const long editelevator::ID_bSetUpSpeed = wxNewId();
228const long editelevator::ID_STATICTEXT16 = wxNewId();
229const long editelevator::ID_txtDownSpeed = wxNewId();
230const long editelevator::ID_bSetDownSpeed = wxNewId();
231const long editelevator::ID_STATICTEXT22 = wxNewId();
232const long editelevator::ID_txtAcceleration = wxNewId();
233const long editelevator::ID_bSetAcceleration = wxNewId();
234const long editelevator::ID_STATICTEXT23 = wxNewId();
235const long editelevator::ID_txtDeceleration = wxNewId();
236const long editelevator::ID_bSetDeceleration = wxNewId();
237const long editelevator::ID_STATICTEXT1 = wxNewId();
238const long editelevator::ID_txtAccelJerk = wxNewId();
239const long editelevator::ID_bSetAccelJerk = wxNewId();
240const long editelevator::ID_STATICTEXT29 = wxNewId();
241const long editelevator::ID_txtDecelJerk = wxNewId();
242const long editelevator::ID_bSetDecelJerk = wxNewId();
243const long editelevator::ID_STATICTEXT26 = wxNewId();
244const long editelevator::ID_txtRate = wxNewId();
245const long editelevator::ID_STATICTEXT27 = wxNewId();
246const long editelevator::ID_txtDirection = wxNewId();
247const long editelevator::ID_STATICTEXT72 = wxNewId();
248const long editelevator::ID_txtActiveDirection = wxNewId();
249const long editelevator::ID_STATICTEXT2 = wxNewId();
250const long editelevator::ID_txtJerkRate = wxNewId();
251const long editelevator::ID_STATICTEXT49 = wxNewId();
252const long editelevator::ID_txtDoorStopped = wxNewId();
253const long editelevator::ID_STATICTEXT53 = wxNewId();
254const long editelevator::ID_txtIsIdle = wxNewId();
255const long editelevator::ID_STATICTEXT24 = wxNewId();
256const long editelevator::ID_txtManualGo = wxNewId();
257const long editelevator::ID_STATICTEXT55 = wxNewId();
258const long editelevator::ID_txtLeveling = wxNewId();
259const long editelevator::ID_STATICTEXT60 = wxNewId();
260const long editelevator::ID_txtParking = wxNewId();
261const long editelevator::ID_STATICTEXT73 = wxNewId();
262const long editelevator::ID_txtManualMove = wxNewId();
263const long editelevator::ID_STATICTEXT63 = wxNewId();
264const long editelevator::ID_txtSlowSpeed = wxNewId();
265const long editelevator::ID_bSetSlowSpeed = wxNewId();
266const long editelevator::ID_STATICTEXT64 = wxNewId();
267const long editelevator::ID_txtManualSpeed = wxNewId();
268const long editelevator::ID_bSetManualSpeed = wxNewId();
269const long editelevator::ID_STATICTEXT74 = wxNewId();
270const long editelevator::ID_txtInspectionSpeed = wxNewId();
271const long editelevator::ID_bSetInspectionSpeed = wxNewId();
272const long editelevator::ID_STATICTEXT30 = wxNewId();
273const long editelevator::ID_txtDestFloor = wxNewId();
274const long editelevator::ID_STATICTEXT43 = wxNewId();
275const long editelevator::ID_txtIsMoving = wxNewId();
276const long editelevator::ID_STATICTEXT31 = wxNewId();
277const long editelevator::ID_txtMoveElevator = wxNewId();
278const long editelevator::ID_STATICTEXT33 = wxNewId();
279const long editelevator::ID_txtDistance = wxNewId();
280const long editelevator::ID_STATICTEXT34 = wxNewId();
281const long editelevator::ID_txtDestination = wxNewId();
282const long editelevator::ID_STATICTEXT35 = wxNewId();
283const long editelevator::ID_txtStopDistance = wxNewId();
284const long editelevator::ID_STATICTEXT36 = wxNewId();
285const long editelevator::ID_txtTempDecel = wxNewId();
286const long editelevator::ID_STATICTEXT37 = wxNewId();
287const long editelevator::ID_txtErrorOffset = wxNewId();
288const long editelevator::ID_STATICTEXT59 = wxNewId();
289const long editelevator::ID_txtNotifyEarly = wxNewId();
290const long editelevator::ID_bNotifyEarly = wxNewId();
291const long editelevator::ID_STATICTEXT89 = wxNewId();
292const long editelevator::ID_txtNotifyLate = wxNewId();
293const long editelevator::ID_bNotifyLate = wxNewId();
294const long editelevator::ID_STATICTEXT65 = wxNewId();
295const long editelevator::ID_txtDepartureDelay = wxNewId();
296const long editelevator::ID_bSetDepartureDelay = wxNewId();
297const long editelevator::ID_STATICTEXT66 = wxNewId();
298const long editelevator::ID_txtArrivalDelay = wxNewId();
299const long editelevator::ID_bSetArrivalDelay = wxNewId();
300const long editelevator::ID_STATICTEXT45 = wxNewId();
301const long editelevator::ID_txtACPFloor = wxNewId();
302const long editelevator::ID_bSetACPFloor = wxNewId();
303const long editelevator::ID_STATICTEXT46 = wxNewId();
304const long editelevator::ID_txtRecallFloor = wxNewId();
305const long editelevator::ID_bSetRecallFloor = wxNewId();
306const long editelevator::ID_STATICTEXT47 = wxNewId();
307const long editelevator::ID_txtRecallAlternate = wxNewId();
308const long editelevator::ID_bSetRecallAlternate = wxNewId();
309const long editelevator::ID_STATICTEXT39 = wxNewId();
310const long editelevator::ID_txtParkingFloor = wxNewId();
311const long editelevator::ID_bSetParkingFloor = wxNewId();
312const long editelevator::ID_STATICTEXT48 = wxNewId();
313const long editelevator::ID_txtParkingDelay = wxNewId();
314const long editelevator::ID_bSetParkingDelay = wxNewId();
315const long editelevator::ID_STATICTEXT62 = wxNewId();
316const long editelevator::ID_txtNudgeTimer = wxNewId();
317const long editelevator::ID_bSetNudgeTimer = wxNewId();
318//*)
319
320BEGIN_EVENT_TABLE(editelevator,wxDialog)
321//(*EventTable(editelevator)
322//*)
323END_EVENT_TABLE()
324
325editelevator::editelevator(DebugPanel* parent,wxWindowID id)
326{
327 //(*Initialize(editelevator)
328 wxBoxSizer* BoxSizer11;
329 wxBoxSizer* BoxSizer12;
330 wxBoxSizer* BoxSizer5;
331 wxBoxSizer* BoxSizer7;
332 wxFlexGridSizer* FlexGridSizer10;
333 wxFlexGridSizer* FlexGridSizer11;
334 wxFlexGridSizer* FlexGridSizer12;
335 wxFlexGridSizer* FlexGridSizer13;
336 wxFlexGridSizer* FlexGridSizer14;
337 wxFlexGridSizer* FlexGridSizer15;
338 wxFlexGridSizer* FlexGridSizer4;
339 wxFlexGridSizer* FlexGridSizer5;
340 wxFlexGridSizer* FlexGridSizer8;
341 wxFlexGridSizer* FlexGridSizer9;
342 wxStaticBoxSizer* StaticBoxSizer10;
343 wxStaticBoxSizer* StaticBoxSizer4;
344 wxStaticBoxSizer* StaticBoxSizer6;
345 wxStaticBoxSizer* StaticBoxSizer9;
346
347 Create(parent, wxID_ANY, _("Elevator Editor"), wxDefaultPosition, wxDefaultSize, wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX|wxMINIMIZE_BOX, _T("wxID_ANY"));
348 BoxSizer1 = new wxBoxSizer(wxVERTICAL);
349 BoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
350 BoxSizer6 = new wxBoxSizer(wxVERTICAL);
351 tElevator = new wxStaticText(this, ID_tElevator, _("Elevator"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE, _T("ID_tElevator"));
352 BoxSizer6->Add(tElevator, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
353 sNumber = new wxScrollBar(this, ID_sNumber, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL, wxDefaultValidator, _T("ID_sNumber"));
354 sNumber->SetScrollbar(0, 0, 0, 0);
355 BoxSizer6->Add(sNumber, 0, wxALL|wxEXPAND, 0);
356 tFloor = new wxStaticText(this, ID_tFloor, _("Floor"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE, _T("ID_tFloor"));
357 BoxSizer6->Add(tFloor, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 10);
358 sFloor = new wxScrollBar(this, ID_sFloor, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL, wxDefaultValidator, _T("ID_sFloor"));
359 sFloor->SetScrollbar(0, 0, 0, 0);
360 BoxSizer6->Add(sFloor, 0, wxALL|wxEXPAND, 0);
361 FlexGridSizer4 = new wxFlexGridSizer(0, 4, 0, 5);
362 BoxSizer5 = new wxBoxSizer(wxVERTICAL);
363 bACPMode = new wxToggleButton(this, ID_bACPMode, _("ACP Mode"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bACPMode"));
364 BoxSizer5->Add(bACPMode, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
365 bUpPeak = new wxToggleButton(this, ID_bUpPeak, _("Up Peak"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bUpPeak"));
366 BoxSizer5->Add(bUpPeak, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
367 bDownPeak = new wxToggleButton(this, ID_bDownPeak, _("Down Peak"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bDownPeak"));
368 BoxSizer5->Add(bDownPeak, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
369 bIndService = new wxToggleButton(this, ID_bIndService, _("Independent Service"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bIndService"));
370 BoxSizer5->Add(bIndService, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
371 bInsService = new wxToggleButton(this, ID_bInsService, _("Inspection Service"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bInsService"));
372 BoxSizer5->Add(bInsService, 1, wxEXPAND, 5);
373 FlexGridSizer4->Add(BoxSizer5, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
374 FlexGridSizer10 = new wxFlexGridSizer(2, 1, 0, 0);
375 FlexGridSizer11 = new wxFlexGridSizer(0, 3, 0, 0);
376 StaticBoxSizer10 = new wxStaticBoxSizer(wxVERTICAL, this, _("Fire Ph 1"));
377 Fire1Off = new wxRadioButton(this, ID_Fire1Off, _("Off"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP, wxDefaultValidator, _T("ID_Fire1Off"));
378 Fire1Off->SetValue(true);
379 StaticBoxSizer10->Add(Fire1Off, 1, wxALL|wxALIGN_LEFT, 5);
380 Fire1On = new wxRadioButton(this, ID_Fire1On, _("On"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_Fire1On"));
381 StaticBoxSizer10->Add(Fire1On, 1, wxALL|wxALIGN_LEFT, 5);
382 Fire1Bypass = new wxRadioButton(this, ID_Fire1Bypass, _("Bypass"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_Fire1Bypass"));
383 StaticBoxSizer10->Add(Fire1Bypass, 1, wxALL|wxALIGN_LEFT, 5);
384 FlexGridSizer11->Add(StaticBoxSizer10, 1, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
385 StaticBoxSizer9 = new wxStaticBoxSizer(wxVERTICAL, this, _("Fire Ph 2"));
386 Fire2Off = new wxRadioButton(this, ID_Fire2Off, _("Off"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP, wxDefaultValidator, _T("ID_Fire2Off"));
387 StaticBoxSizer9->Add(Fire2Off, 1, wxALL|wxALIGN_LEFT, 5);
388 Fire2On = new wxRadioButton(this, ID_Fire2On, _("On"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_Fire2On"));
389 StaticBoxSizer9->Add(Fire2On, 1, wxALL|wxALIGN_LEFT, 5);
390 Fire2Hold = new wxRadioButton(this, ID_Fire2Hold, _("Hold"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_Fire2Hold"));
391 StaticBoxSizer9->Add(Fire2Hold, 1, wxALL|wxALIGN_LEFT, 5);
392 FlexGridSizer11->Add(StaticBoxSizer9, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
393 FlexGridSizer10->Add(FlexGridSizer11, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
394 BoxSizer12 = new wxBoxSizer(wxHORIZONTAL);
395 chkVisible = new wxCheckBox(this, ID_CHECKBOX1, _("Visible"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX1"));
396 chkVisible->SetValue(false);
397 BoxSizer12->Add(chkVisible, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
398 chkRun = new wxCheckBox(this, ID_chkRun, _("Run"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_chkRun"));
399 chkRun->SetValue(false);
400 BoxSizer12->Add(chkRun, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
401 FlexGridSizer10->Add(BoxSizer12, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
402 FlexGridSizer4->Add(FlexGridSizer10, 1, wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
403 StaticBoxSizer6 = new wxStaticBoxSizer(wxVERTICAL, this, _("Manual"));
404 bUp = new wxToggleButton(this, ID_bUp, _("Up"), wxDefaultPosition, wxSize(50,0), 0, wxDefaultValidator, _T("ID_bUp"));
405 StaticBoxSizer6->Add(bUp, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
406 bGoToggle = new wxToggleButton(this, ID_bGoToggle, _("Go"), wxDefaultPosition, wxSize(50,-1), 0, wxDefaultValidator, _T("ID_bGoToggle"));
407 StaticBoxSizer6->Add(bGoToggle, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
408 bDown = new wxToggleButton(this, ID_bDown, _("Down"), wxDefaultPosition, wxSize(50,0), 0, wxDefaultValidator, _T("ID_bDown"));
409 StaticBoxSizer6->Add(bDown, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
410 FlexGridSizer4->Add(StaticBoxSizer6, 1, wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
411 FlexGridSizer8 = new wxFlexGridSizer(0, 1, 0, 0);
412 tCar = new wxStaticText(this, ID_tCar, _("Car"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE, _T("ID_tCar"));
413 FlexGridSizer8->Add(tCar, 1, wxEXPAND, 5);
414 sCar = new wxScrollBar(this, ID_sCar, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL, wxDefaultValidator, _T("ID_sCar"));
415 sCar->SetScrollbar(0, 0, 0, 0);
416 sCar->SetMinSize(wxSize(125,-1));
417 FlexGridSizer8->Add(sCar, 1, wxBOTTOM|wxEXPAND, 5);
418 tDoor = new wxStaticText(this, ID_tDoor, _("Door"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE, _T("ID_tDoor"));
419 FlexGridSizer8->Add(tDoor, 1, wxEXPAND, 5);
420 sDoor = new wxScrollBar(this, ID_sDoor, wxDefaultPosition, wxDefaultSize, wxSB_HORIZONTAL, wxDefaultValidator, _T("ID_sDoor"));
421 sDoor->SetScrollbar(0, 0, 0, 0);
422 FlexGridSizer8->Add(sDoor, 1, wxBOTTOM|wxEXPAND, 5);
423 bRefresh = new wxButton(this, ID_bRefresh, _("Refresh Values"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bRefresh"));
424 FlexGridSizer8->Add(bRefresh, 1, wxEXPAND, 5);
425 bDumpFloors = new wxButton(this, ID_bDumpFloors, _("Dump Floor List"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bDumpFloors"));
426 FlexGridSizer8->Add(bDumpFloors, 1, wxEXPAND, 5);
427 bDumpQueues = new wxButton(this, ID_bDumpQueues, _("Dump Queues"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bDumpQueues"));
428 FlexGridSizer8->Add(bDumpQueues, 1, wxEXPAND, 5);
429 FlexGridSizer4->Add(FlexGridSizer8, 1, wxLEFT, 5);
430 BoxSizer6->Add(FlexGridSizer4, 1, wxTOP|wxBOTTOM|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
431 BoxSizer2->Add(BoxSizer6, 2, wxTOP|wxLEFT|wxRIGHT|wxALIGN_TOP, 5);
432 StaticBoxSizer1 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Control"));
433 BoxSizer8 = new wxBoxSizer(wxVERTICAL);
434 bCall = new wxButton(this, ID_bCall, _("Call"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bCall"));
435 bCall->SetFocus();
436 BoxSizer8->Add(bCall, 0, wxEXPAND, 0);
437 bGo = new wxButton(this, ID_bGo, _("Go"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bGo"));
438 BoxSizer8->Add(bGo, 0, wxEXPAND, 0);
439 bOpen = new wxButton(this, ID_bOpen, _("Open"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bOpen"));
440 BoxSizer8->Add(bOpen, 0, wxEXPAND, 0);
441 bOpenManual = new wxButton(this, ID_bOpenManual, _("Open Manual"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bOpenManual"));
442 BoxSizer8->Add(bOpenManual, 0, wxEXPAND, 0);
443 bOpenShaftDoor = new wxButton(this, ID_bOpenShaftDoor, _("Open Shaft Doors"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bOpenShaftDoor"));
444 BoxSizer8->Add(bOpenShaftDoor, 1, wxEXPAND, 5);
445 bStop = new wxButton(this, ID_bStop, _("Emergency Stop"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bStop"));
446 BoxSizer8->Add(bStop, 0, wxEXPAND, 0);
447 bChime = new wxButton(this, ID_bChime, _("Chime"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bChime"));
448 BoxSizer8->Add(bChime, 1, wxEXPAND, 5);
449 bSelectCurrent = new wxButton(this, ID_bSelectCurrent, _("Select Current Elevator"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bSelectCurrent"));
450 BoxSizer8->Add(bSelectCurrent, 1, wxEXPAND, 5);
451 StaticBoxSizer1->Add(BoxSizer8, 1, wxALL|wxALIGN_TOP, 0);
452 BoxSizer9 = new wxBoxSizer(wxVERTICAL);
453 bEnqueueUp = new wxButton(this, ID_bEnqueueUp, _("Enqueue Up"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bEnqueueUp"));
454 BoxSizer9->Add(bEnqueueUp, 0, wxEXPAND, 0);
455 bEnqueueDown = new wxButton(this, ID_bEnqueueDown, _("Enqueue Down"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bEnqueueDown"));
456 BoxSizer9->Add(bEnqueueDown, 0, wxEXPAND, 0);
457 bClose = new wxButton(this, ID_bClose, _("Close"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bClose"));
458 BoxSizer9->Add(bClose, 0, wxEXPAND, 0);
459 bCloseManual = new wxButton(this, ID_bCloseManual, _("Close Manual"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bCloseManual"));
460 BoxSizer9->Add(bCloseManual, 0, wxEXPAND, 0);
461 bCloseShaftDoor = new wxButton(this, ID_bCloseShaftDoor, _("Close Shaft Doors"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bCloseShaftDoor"));
462 BoxSizer9->Add(bCloseShaftDoor, 1, wxEXPAND, 5);
463 bHoldDoors = new wxButton(this, ID_bHoldDoors, _("Hold Doors"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bHoldDoors"));
464 BoxSizer9->Add(bHoldDoors, 0, wxEXPAND, 0);
465 bStopDoors = new wxButton(this, ID_bStopDoors, _("Stop Doors"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bStopDoors"));
466 BoxSizer9->Add(bStopDoors, 1, wxEXPAND, 5);
467 bMalfunction = new wxButton(this, ID_bMalfunction, _("Malfunction"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bMalfunction"));
468 BoxSizer9->Add(bMalfunction, 1, wxEXPAND, 5);
469 StaticBoxSizer1->Add(BoxSizer9, 1, wxALL|wxALIGN_TOP, 0);
470 BoxSizer2->Add(StaticBoxSizer1, 1, wxRIGHT|wxALIGN_TOP, 5);
471 BoxSizer1->Add(BoxSizer2, 0, wxEXPAND, 0);
472 BoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
473 StaticBoxSizer2 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("General"));
474 BoxSizer11 = new wxBoxSizer(wxHORIZONTAL);
475 FlexGridSizer1 = new wxFlexGridSizer(0, 3, 0, 0);
476 StaticText3 = new wxStaticText(this, ID_STATICTEXT3, _("Number:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT3"));
477 FlexGridSizer1->Add(StaticText3, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
478 txtNumber = new wxTextCtrl(this, ID_txtNumber, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtNumber"));
479 txtNumber->SetToolTip(_("Number"));
480 FlexGridSizer1->Add(txtNumber, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
481 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
482 StaticText5 = new wxStaticText(this, ID_STATICTEXT5, _("Name:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT5"));
483 FlexGridSizer1->Add(StaticText5, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
484 txtName = new wxTextCtrl(this, ID_txtName, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtName"));
485 txtName->SetToolTip(_("Name"));
486 FlexGridSizer1->Add(txtName, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
487 bSetName = new wxButton(this, ID_bSetName, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetName"));
488 FlexGridSizer1->Add(bSetName, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 0);
489 StaticText90 = new wxStaticText(this, ID_STATICTEXT90, _("ID:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT90"));
490 FlexGridSizer1->Add(StaticText90, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
491 txtID = new wxTextCtrl(this, ID_txtID, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtID"));
492 txtID->SetToolTip(_("Name"));
493 FlexGridSizer1->Add(txtID, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
494 bSetID = new wxButton(this, ID_bSetID, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetID"));
495 FlexGridSizer1->Add(bSetID, 1, wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
496 StaticText9 = new wxStaticText(this, ID_STATICTEXT9, _("Type:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT9"));
497 FlexGridSizer1->Add(StaticText9, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
498 txtType = new wxTextCtrl(this, ID_txtType, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtType"));
499 txtType->SetToolTip(_("Type"));
500 FlexGridSizer1->Add(txtType, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
501 bSetType = new wxButton(this, ID_bSetType, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetType"));
502 FlexGridSizer1->Add(bSetType, 1, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 0);
503 StaticText4 = new wxStaticText(this, ID_STATICTEXT4, _("Enabled:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT4"));
504 FlexGridSizer1->Add(StaticText4, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
505 txtEnabled = new wxTextCtrl(this, ID_txtEnabled, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtEnabled"));
506 txtEnabled->SetToolTip(_("Enabled Status"));
507 FlexGridSizer1->Add(txtEnabled, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
508 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
509 StaticText6 = new wxStaticText(this, ID_STATICTEXT6, _("Shaft:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT6"));
510 FlexGridSizer1->Add(StaticText6, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
511 txtShaft = new wxTextCtrl(this, ID_txtShaft, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtShaft"));
512 txtShaft->SetToolTip(_("Shaft Number"));
513 FlexGridSizer1->Add(txtShaft, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
514 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
515 StaticText7 = new wxStaticText(this, ID_STATICTEXT7, _("Height:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT7"));
516 FlexGridSizer1->Add(StaticText7, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
517 txtHeight = new wxTextCtrl(this, ID_txtHeight, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtHeight"));
518 txtHeight->SetToolTip(_("Height"));
519 FlexGridSizer1->Add(txtHeight, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
520 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
521 StaticText8 = new wxStaticText(this, ID_STATICTEXT8, _("DoorSize:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT8"));
522 FlexGridSizer1->Add(StaticText8, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
523 txtDoorSize = new wxTextCtrl(this, ID_txtDoorSize, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDoorSize"));
524 txtDoorSize->SetToolTip(_("Door Width"));
525 FlexGridSizer1->Add(txtDoorSize, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
526 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
527 StaticText10 = new wxStaticText(this, ID_STATICTEXT10, _("DDirection:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT10"));
528 FlexGridSizer1->Add(StaticText10, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
529 txtDoorDirection = new wxTextCtrl(this, ID_txtDoorDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDoorDirection"));
530 txtDoorDirection->SetToolTip(_("Door Direction"));
531 FlexGridSizer1->Add(txtDoorDirection, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
532 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
533 StaticText11 = new wxStaticText(this, ID_STATICTEXT11, _("DoorsOpen:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT11"));
534 FlexGridSizer1->Add(StaticText11, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
535 txtDoorsOpen = new wxTextCtrl(this, ID_txtDoorsOpen, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDoorsOpen"));
536 txtDoorsOpen->SetToolTip(_("Doors Open"));
537 FlexGridSizer1->Add(txtDoorsOpen, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
538 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
539 StaticText12 = new wxStaticText(this, ID_STATICTEXT12, _("Brakes:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT12"));
540 FlexGridSizer1->Add(StaticText12, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
541 txtBrakes = new wxTextCtrl(this, ID_txtBrakes, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtBrakes"));
542 txtBrakes->SetToolTip(_("Brakes"));
543 FlexGridSizer1->Add(txtBrakes, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
544 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
545 StaticText13 = new wxStaticText(this, ID_STATICTEXT13, _("EmergStop:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT13"));
546 FlexGridSizer1->Add(StaticText13, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
547 txtStop = new wxTextCtrl(this, ID_txtStop, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtStop"));
548 txtStop->SetToolTip(_("Emergency Stop"));
549 FlexGridSizer1->Add(txtStop, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
550 FlexGridSizer1->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
551 StaticText42 = new wxStaticText(this, ID_STATICTEXT42, _("DoorTimer:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT42"));
552 FlexGridSizer1->Add(StaticText42, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
553 txtDoorTimer = new wxTextCtrl(this, ID_txtDoorTimer, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtDoorTimer"));
554 txtDoorTimer->SetToolTip(_("Door Timer"));
555 FlexGridSizer1->Add(txtDoorTimer, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
556 bSetDoorTimer = new wxButton(this, ID_bSetDoorTimer, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetDoorTimer"));
557 FlexGridSizer1->Add(bSetDoorTimer, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
558 StaticText61 = new wxStaticText(this, ID_STATICTEXT61, _("QuickClose:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT61"));
559 FlexGridSizer1->Add(StaticText61, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
560 txtQuickClose = new wxTextCtrl(this, ID_txtQuickClose, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtQuickClose"));
561 txtQuickClose->SetToolTip(_("Quick Close"));
562 FlexGridSizer1->Add(txtQuickClose, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
563 bSetQuickClose = new wxButton(this, ID_bSetQuickClose, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetQuickClose"));
564 FlexGridSizer1->Add(bSetQuickClose, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
565 StaticText44 = new wxStaticText(this, ID_STATICTEXT44, _("FlrSkipTxt:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT44"));
566 FlexGridSizer1->Add(StaticText44, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
567 txtSkipFloorText = new wxTextCtrl(this, ID_txtSkipFloorText, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtSkipFloorText"));
568 txtSkipFloorText->SetToolTip(_("Floor Skip Text"));
569 FlexGridSizer1->Add(txtSkipFloorText, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
570 bSetSkipFloorText = new wxButton(this, ID_bSetSkipFloorText, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetSkipFloorText"));
571 FlexGridSizer1->Add(bSetSkipFloorText, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
572 StaticText28 = new wxStaticText(this, ID_STATICTEXT28, _("WaitDoors:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT28"));
573 FlexGridSizer1->Add(StaticText28, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
574 txtWaitForDoors = new wxTextCtrl(this, ID_txtWaitForDoors, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtWaitForDoors"));
575 txtWaitForDoors->SetToolTip(_("Wait for Doors"));
576 FlexGridSizer1->Add(txtWaitForDoors, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
577 FlexGridSizer1->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
578 StaticText67 = new wxStaticText(this, ID_STATICTEXT67, _("Nudge:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT67"));
579 FlexGridSizer1->Add(StaticText67, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
580 txtNudgeMode = new wxTextCtrl(this, ID_txtNudgeMode, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtNudgeMode"));
581 txtNudgeMode->SetToolTip(_("Nudge Mode"));
582 FlexGridSizer1->Add(txtNudgeMode, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
583 bSetNudge = new wxButton(this, ID_bSetNudge, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetNudge"));
584 FlexGridSizer1->Add(bSetNudge, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
585 StaticText32 = new wxStaticText(this, ID_STATICTEXT32, _("Sensor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT32"));
586 FlexGridSizer1->Add(StaticText32, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
587 txtDoorSensor = new wxTextCtrl(this, ID_txtDoorSensor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDoorSensor"));
588 txtDoorSensor->SetToolTip(_("Door Sensor Status"));
589 FlexGridSizer1->Add(txtDoorSensor, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
590 bDoorSensor = new wxButton(this, ID_bDoorSensor, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bDoorSensor"));
591 FlexGridSizer1->Add(bDoorSensor, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
592 BoxSizer11->Add(FlexGridSizer1, 0, wxALL|wxALIGN_TOP, 0);
593 FlexGridSizer9 = new wxFlexGridSizer(0, 3, 0, 0);
594 StaticText86 = new wxStaticText(this, ID_STATICTEXT86, _("ActCallFloor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT86"));
595 FlexGridSizer9->Add(StaticText86, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
596 txtActiveCallFloor = new wxTextCtrl(this, ID_txtActiveCallFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtActiveCallFloor"));
597 txtActiveCallFloor->SetToolTip(_("Active Call Floor"));
598 FlexGridSizer9->Add(txtActiveCallFloor, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
599 FlexGridSizer9->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
600 StaticText87 = new wxStaticText(this, ID_STATICTEXT87, _("ActCallDir:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT87"));
601 FlexGridSizer9->Add(StaticText87, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
602 txtActiveCallDirection = new wxTextCtrl(this, ID_txtActiveCallDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtActiveCallDirection"));
603 txtActiveCallDirection->SetToolTip(_("Active Call Direction and Type"));
604 FlexGridSizer9->Add(txtActiveCallDirection, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
605 FlexGridSizer9->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
606 StaticText70 = new wxStaticText(this, ID_STATICTEXT70, _("Notified:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT70"));
607 FlexGridSizer9->Add(StaticText70, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
608 txtNotified = new wxTextCtrl(this, ID_txtNotified, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtNotified"));
609 txtNotified->SetToolTip(_("Notified"));
610 FlexGridSizer9->Add(txtNotified, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
611 FlexGridSizer9->Add(-1,-1,1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
612 StaticText75 = new wxStaticText(this, ID_STATICTEXT75, _("WaitTimer:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT75"));
613 FlexGridSizer9->Add(StaticText75, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
614 txtWaitForTimer = new wxTextCtrl(this, ID_txtWaitForTimer, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtWaitForTimer"));
615 txtWaitForTimer->SetToolTip(_("WaitForTimer"));
616 FlexGridSizer9->Add(txtWaitForTimer, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
617 FlexGridSizer9->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
618 StaticText76 = new wxStaticText(this, ID_STATICTEXT76, _("ChimeDir:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT76"));
619 FlexGridSizer9->Add(StaticText76, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
620 txtLastChimeDirection = new wxTextCtrl(this, ID_txtLastChimeDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtLastChimeDirection"));
621 txtLastChimeDirection->SetToolTip(_("Last Chime Direction"));
622 FlexGridSizer9->Add(txtLastChimeDirection, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
623 FlexGridSizer9->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
624 StaticText56 = new wxStaticText(this, ID_STATICTEXT56, _("LevSpeed:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT56"));
625 FlexGridSizer9->Add(StaticText56, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
626 txtLevelingSpeed = new wxTextCtrl(this, ID_txtLevelingSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtLevelingSpeed"));
627 txtLevelingSpeed->SetToolTip(_("Leveling Speed"));
628 FlexGridSizer9->Add(txtLevelingSpeed, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
629 bSetLevelingSpeed = new wxButton(this, ID_bSetLevelingSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetLevelingSpeed"));
630 FlexGridSizer9->Add(bSetLevelingSpeed, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
631 StaticText57 = new wxStaticText(this, ID_STATICTEXT57, _("LevOffset:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT57"));
632 FlexGridSizer9->Add(StaticText57, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
633 txtLevelingOffset = new wxTextCtrl(this, ID_txtLevelingOffset, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtLevelingOffset"));
634 txtLevelingOffset->SetToolTip(_("Leveling Offset"));
635 FlexGridSizer9->Add(txtLevelingOffset, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
636 bSetLevelingOffset = new wxButton(this, ID_bSetLevelingOffset, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetLevelingOffset"));
637 FlexGridSizer9->Add(bSetLevelingOffset, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
638 StaticText88 = new wxStaticText(this, ID_STATICTEXT88, _("LevOpen:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT88"));
639 FlexGridSizer9->Add(StaticText88, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
640 txtLevelingOpen = new wxTextCtrl(this, ID_txtLevelingOpen, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtLevelingOpen"));
641 txtLevelingOpen->SetToolTip(_("Leveling Open Offset"));
642 FlexGridSizer9->Add(txtLevelingOpen, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
643 bLevelingOpen = new wxButton(this, ID_bLevelingOpen, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bLevelingOpen"));
644 FlexGridSizer9->Add(bLevelingOpen, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
645 StaticText78 = new wxStaticText(this, ID_STATICTEXT78, _("FlrSounds:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT78"));
646 FlexGridSizer9->Add(StaticText78, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
647 txtFloorSounds = new wxTextCtrl(this, ID_txtFloorSounds, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtFloorSounds"));
648 txtFloorSounds->SetToolTip(_("Floor Sounds"));
649 FlexGridSizer9->Add(txtFloorSounds, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
650 bSetFloorSounds = new wxButton(this, ID_bSetFloorSounds, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetFloorSounds"));
651 FlexGridSizer9->Add(bSetFloorSounds, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
652 StaticText79 = new wxStaticText(this, ID_STATICTEXT79, _("FlrBeeps:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT79"));
653 FlexGridSizer9->Add(StaticText79, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
654 txtFloorBeeps = new wxTextCtrl(this, ID_txtFloorBeeps, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtFloorBeeps"));
655 txtFloorBeeps->SetToolTip(_("Floor Beeps"));
656 FlexGridSizer9->Add(txtFloorBeeps, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
657 bSetFloorBeeps = new wxButton(this, ID_bSetFloorBeeps, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetFloorBeeps"));
658 FlexGridSizer9->Add(bSetFloorBeeps, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
659 StaticText80 = new wxStaticText(this, ID_STATICTEXT80, _("MsgSounds:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT80"));
660 FlexGridSizer9->Add(StaticText80, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
661 txtMessageSounds = new wxTextCtrl(this, ID_txtMessageSounds, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMessageSounds"));
662 txtMessageSounds->SetToolTip(_("Message Sounds"));
663 FlexGridSizer9->Add(txtMessageSounds, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
664 bSetMessageSounds = new wxButton(this, ID_bSetMessageSounds, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetMessageSounds"));
665 FlexGridSizer9->Add(bSetMessageSounds, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
666 StaticText81 = new wxStaticText(this, ID_STATICTEXT81, _("AutoEnable:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT81"));
667 FlexGridSizer9->Add(StaticText81, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
668 txtAutoEnable = new wxTextCtrl(this, ID_txtAutoEnable, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtAutoEnable"));
669 txtAutoEnable->SetToolTip(_("Auto Enable"));
670 FlexGridSizer9->Add(txtAutoEnable, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
671 bSetAutoEnable = new wxButton(this, ID_bSetAutoEnable, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetAutoEnable"));
672 FlexGridSizer9->Add(bSetAutoEnable, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
673 StaticText82 = new wxStaticText(this, ID_STATICTEXT82, _("ReOpen:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT82"));
674 FlexGridSizer9->Add(StaticText82, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
675 txtReOpen = new wxTextCtrl(this, ID_txtReOpen, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtReOpen"));
676 txtReOpen->SetToolTip(_("ReOpen"));
677 FlexGridSizer9->Add(txtReOpen, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
678 bSetReOpen = new wxButton(this, ID_bSetReOpen, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetReOpen"));
679 FlexGridSizer9->Add(bSetReOpen, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
680 StaticText83 = new wxStaticText(this, ID_STATICTEXT83, _("AutoDoors:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT83"));
681 FlexGridSizer9->Add(StaticText83, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
682 txtAutoDoors = new wxTextCtrl(this, ID_txtAutoDoors, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtAutoDoors"));
683 txtAutoDoors->SetToolTip(_("Auto Doors"));
684 FlexGridSizer9->Add(txtAutoDoors, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
685 bSetAutoDoors = new wxButton(this, ID_bSetAutoDoors, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetAutoDoors"));
686 FlexGridSizer9->Add(bSetAutoDoors, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
687 StaticText84 = new wxStaticText(this, ID_STATICTEXT84, _("OpenStart:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT84"));
688 FlexGridSizer9->Add(StaticText84, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
689 txtOpenOnStart = new wxTextCtrl(this, ID_txtOpenOnStart, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtOpenOnStart"));
690 txtOpenOnStart->SetToolTip(_("Open On Start"));
691 FlexGridSizer9->Add(txtOpenOnStart, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
692 FlexGridSizer9->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
693 StaticText85 = new wxStaticText(this, ID_STATICTEXT85, _("Interlocks:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT85"));
694 FlexGridSizer9->Add(StaticText85, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
695 txtInterlocks = new wxTextCtrl(this, ID_txtInterlocks, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtInterlocks"));
696 txtInterlocks->SetToolTip(_("Interlocks"));
697 FlexGridSizer9->Add(txtInterlocks, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
698 bInterlocks = new wxButton(this, ID_bInterlocks, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bInterlocks"));
699 FlexGridSizer9->Add(bInterlocks, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
700 StaticText91 = new wxStaticText(this, ID_STATICTEXT91, _("Fan:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT91"));
701 FlexGridSizer9->Add(StaticText91, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
702 txtFan = new wxTextCtrl(this, ID_txtFan, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtFan"));
703 txtFan->SetToolTip(_("Fan"));
704 FlexGridSizer9->Add(txtFan, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
705 bFan = new wxButton(this, ID_bFan, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bFan"));
706 FlexGridSizer9->Add(bFan, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
707 BoxSizer11->Add(FlexGridSizer9, 0, wxLEFT|wxALIGN_TOP, 5);
708 FlexGridSizer13 = new wxFlexGridSizer(0, 1, 0, 0);
709 FlexGridSizer12 = new wxFlexGridSizer(0, 1, 0, 0);
710 FlexGridSizer15 = new wxFlexGridSizer(0, 3, 0, 0);
711 StaticText52 = new wxStaticText(this, ID_STATICTEXT52, _("Alarm On:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT52"));
712 FlexGridSizer15->Add(StaticText52, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
713 txtAlarm = new wxTextCtrl(this, ID_txtAlarm, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtAlarm"));
714 txtAlarm->SetToolTip(_("Alarm On"));
715 FlexGridSizer15->Add(txtAlarm, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
716 FlexGridSizer15->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
717 StaticText58 = new wxStaticText(this, ID_STATICTEXT58, _("MusicOn:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT58"));
718 FlexGridSizer15->Add(StaticText58, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
719 txtMusicOn = new wxTextCtrl(this, ID_txtMusicOn, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMusicOn"));
720 txtMusicOn->SetToolTip(_("Music On"));
721 FlexGridSizer15->Add(txtMusicOn, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
722 bSetMusicOn = new wxButton(this, ID_bSetMusicOn, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetMusicOn"));
723 FlexGridSizer15->Add(bSetMusicOn, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
724 StaticText77 = new wxStaticText(this, ID_STATICTEXT77, _("MusicMove:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT77"));
725 FlexGridSizer15->Add(StaticText77, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
726 txtMusicOnMove = new wxTextCtrl(this, ID_txtMusicOnMove, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMusicOnMove"));
727 txtMusicOnMove->SetToolTip(_("MusicOnMove"));
728 FlexGridSizer15->Add(txtMusicOnMove, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
729 bSetMusicOnMove = new wxButton(this, ID_bSetMusicOnMove, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetMusicOnMove"));
730 FlexGridSizer15->Add(bSetMusicOnMove, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
731 StaticText93 = new wxStaticText(this, ID_STATICTEXT93, _("MAlwaysOn:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT93"));
732 FlexGridSizer15->Add(StaticText93, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
733 txtMusicAlwaysOn = new wxTextCtrl(this, ID_txtMusicAlwaysOn, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMusicAlwaysOn"));
734 txtMusicAlwaysOn->SetToolTip(_("MusicAlwaysOn"));
735 FlexGridSizer15->Add(txtMusicAlwaysOn, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
736 bMusicAlwaysOn = new wxButton(this, ID_bMusicAlwaysOn, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bMusicAlwaysOn"));
737 FlexGridSizer15->Add(bMusicAlwaysOn, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
738 StaticText92 = new wxStaticText(this, ID_STATICTEXT92, _("ChimeArrival:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT92"));
739 FlexGridSizer15->Add(StaticText92, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
740 txtChimeOnArrival = new wxTextCtrl(this, ID_txtChimeOnArrival, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtChimeOnArrival"));
741 txtChimeOnArrival->SetToolTip(_("ChimeOnArrival"));
742 FlexGridSizer15->Add(txtChimeOnArrival, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
743 bSetChimeOnArrival = new wxButton(this, ID_bSetChimeOnArrival, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetChimeOnArrival"));
744 FlexGridSizer15->Add(bSetChimeOnArrival, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
745 FlexGridSizer12->Add(FlexGridSizer15, 1, wxALL|wxEXPAND, 5);
746 FlexGridSizer14 = new wxFlexGridSizer(0, 1, 0, 0);
747 StaticText94 = new wxStaticText(this, ID_STATICTEXT94, _("Serviced Floors:"), wxDefaultPosition, wxSize(184,19), wxALIGN_CENTRE, _T("ID_STATICTEXT94"));
748 FlexGridSizer14->Add(StaticText94, 1, wxALL, 5);
749 chkServicedFloors = new wxCheckListBox(this, ID_chkServicedFloors, wxDefaultPosition, wxSize(180,280), 0, 0, 0, wxDefaultValidator, _T("ID_chkServicedFloors"));
750 FlexGridSizer14->Add(chkServicedFloors, 1, wxALL|wxEXPAND, 5);
751 FlexGridSizer12->Add(FlexGridSizer14, 1, wxALL|wxEXPAND, 5);
752 FlexGridSizer13->Add(FlexGridSizer12, 1, wxEXPAND, 5);
753 BoxSizer11->Add(FlexGridSizer13, 1, wxLEFT|wxEXPAND, 5);
754 StaticBoxSizer2->Add(BoxSizer11, 1, wxALL|wxALIGN_TOP, 0);
755 BoxSizer3->Add(StaticBoxSizer2, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_TOP, 5);
756 BoxSizer10 = new wxBoxSizer(wxVERTICAL);
757 StaticBoxSizer5 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Position"));
758 FlexGridSizer2 = new wxFlexGridSizer(0, 2, 0, 0);
759 StaticText14 = new wxStaticText(this, ID_STATICTEXT14, _("Floor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT14"));
760 FlexGridSizer2->Add(StaticText14, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
761 txtFloor = new wxTextCtrl(this, ID_txtFloor, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtFloor"));
762 txtFloor->SetToolTip(_("Floor Number"));
763 FlexGridSizer2->Add(txtFloor, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
764 StaticText15 = new wxStaticText(this, ID_STATICTEXT15, _("Pos:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT15"));
765 FlexGridSizer2->Add(StaticText15, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
766 txtPosition = new wxTextCtrl(this, ID_txtPosition, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtPosition"));
767 txtPosition->SetToolTip(_("Position"));
768 FlexGridSizer2->Add(txtPosition, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
769 StaticText17 = new wxStaticText(this, ID_STATICTEXT17, _("StartFlr:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT17"));
770 FlexGridSizer2->Add(StaticText17, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
771 txtOriginFloor = new wxTextCtrl(this, ID_txtOriginFloor, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtOriginFloor"));
772 txtOriginFloor->SetToolTip(_("Starting Floor"));
773 FlexGridSizer2->Add(txtOriginFloor, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
774 StaticText18 = new wxStaticText(this, ID_STATICTEXT18, _("EStart:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT18"));
775 FlexGridSizer2->Add(StaticText18, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
776 txtElevStart = new wxTextCtrl(this, ID_txtElevStart, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtElevStart"));
777 txtElevStart->SetToolTip(_("Elevator Start"));
778 FlexGridSizer2->Add(txtElevStart, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
779 StaticText19 = new wxStaticText(this, ID_STATICTEXT19, _("DOrigin:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT19"));
780 FlexGridSizer2->Add(StaticText19, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
781 txtDoorOrigin = new wxTextCtrl(this, ID_txtDoorOrigin, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDoorOrigin"));
782 txtDoorOrigin->SetToolTip(_("Door Origin"));
783 FlexGridSizer2->Add(txtDoorOrigin, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
784 StaticText20 = new wxStaticText(this, ID_STATICTEXT20, _("SDOrigin:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT20"));
785 FlexGridSizer2->Add(StaticText20, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
786 txtShaftDoorOrigin = new wxTextCtrl(this, ID_txtShaftDoorOrigin, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtShaftDoorOrigin"));
787 txtShaftDoorOrigin->SetToolTip(_("Shaft Door Origin"));
788 FlexGridSizer2->Add(txtShaftDoorOrigin, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
789 StaticText50 = new wxStaticText(this, ID_STATICTEXT50, _("OnFloor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT50"));
790 FlexGridSizer2->Add(StaticText50, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
791 txtOnFloor = new wxTextCtrl(this, ID_txtOnFloor, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtOnFloor"));
792 txtOnFloor->SetToolTip(_("On Floor Number"));
793 FlexGridSizer2->Add(txtOnFloor, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
794 StaticText25 = new wxStaticText(this, ID_STATICTEXT25, _("Motor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT25"));
795 FlexGridSizer2->Add(StaticText25, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
796 txtMotor = new wxTextCtrl(this, ID_txtMotor, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMotor"));
797 txtMotor->SetToolTip(_("Motor Position"));
798 FlexGridSizer2->Add(txtMotor, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
799 StaticText54 = new wxStaticText(this, ID_STATICTEXT54, _("Camera:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT54"));
800 FlexGridSizer2->Add(StaticText54, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
801 txtCameraOffset = new wxTextCtrl(this, ID_txtCameraOffset, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtCameraOffset"));
802 txtCameraOffset->SetToolTip(_("Camera Offset"));
803 FlexGridSizer2->Add(txtCameraOffset, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
804 StaticText71 = new wxStaticText(this, ID_STATICTEXT71, _("Music:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT71"));
805 FlexGridSizer2->Add(StaticText71, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
806 txtMusicPosition = new wxTextCtrl(this, ID_txtMusicPosition, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMusicPosition"));
807 txtMusicPosition->SetToolTip(_("Music Position"));
808 FlexGridSizer2->Add(txtMusicPosition, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
809 StaticBoxSizer5->Add(FlexGridSizer2, 0, wxALL|wxALIGN_TOP, 0);
810 BoxSizer10->Add(StaticBoxSizer5, 0, wxALL|wxALIGN_LEFT, 0);
811 StaticBoxSizer3 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Queues"));
812 FlexGridSizer3 = new wxFlexGridSizer(0, 2, 0, 0);
813 StaticText38 = new wxStaticText(this, ID_STATICTEXT38, _("Direction:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT38"));
814 FlexGridSizer3->Add(StaticText38, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
815 txtQueueDirection = new wxTextCtrl(this, ID_txtQueueDirection, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtQueueDirection"));
816 txtQueueDirection->SetToolTip(_("Queue Direction"));
817 FlexGridSizer3->Add(txtQueueDirection, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
818 StaticText40 = new wxStaticText(this, ID_STATICTEXT40, _("LastUp:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT40"));
819 FlexGridSizer3->Add(StaticText40, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
820 txtQueueLastUp = new wxTextCtrl(this, ID_txtQueueLastUp, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtQueueLastUp"));
821 txtQueueLastUp->SetToolTip(_("Queue Last Up"));
822 FlexGridSizer3->Add(txtQueueLastUp, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
823 StaticText41 = new wxStaticText(this, ID_STATICTEXT41, _("LastDwn:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT41"));
824 FlexGridSizer3->Add(StaticText41, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
825 txtQueueLastDown = new wxTextCtrl(this, ID_txtQueueLastDown, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtQueueLastDown"));
826 txtQueueLastDown->SetToolTip(_("Queue Last Down"));
827 FlexGridSizer3->Add(txtQueueLastDown, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
828 StaticText51 = new wxStaticText(this, ID_STATICTEXT51, _("Last:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT51"));
829 FlexGridSizer3->Add(StaticText51, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
830 txtQueueLastDirection = new wxTextCtrl(this, ID_txtQueueLastDirection, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtQueueLastDirection"));
831 txtQueueLastDirection->SetToolTip(_("Queue Last Direction"));
832 FlexGridSizer3->Add(txtQueueLastDirection, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
833 StaticText68 = new wxStaticText(this, ID_STATICTEXT68, _("Resets:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT68"));
834 FlexGridSizer3->Add(StaticText68, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
835 txtQueueResets = new wxTextCtrl(this, ID_txtQueueResets, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtQueueResets"));
836 txtQueueResets->SetToolTip(_("Queue Resets"));
837 FlexGridSizer3->Add(txtQueueResets, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
838 StaticText69 = new wxStaticText(this, ID_STATICTEXT69, _("Limit:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT69"));
839 FlexGridSizer3->Add(StaticText69, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
840 txtLimitQueue = new wxTextCtrl(this, ID_txtLimitQueue, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtLimitQueue"));
841 txtLimitQueue->SetToolTip(_("Limit Queue"));
842 FlexGridSizer3->Add(txtLimitQueue, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
843 FlexGridSizer3->Add(-1,-1,1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
844 bResetQueues = new wxButton(this, ID_bResetQueues, _("Reset"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bResetQueues"));
845 FlexGridSizer3->Add(bResetQueues, 1, wxTOP|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
846 StaticBoxSizer3->Add(FlexGridSizer3, 0, wxALL|wxALIGN_TOP, 0);
847 BoxSizer10->Add(StaticBoxSizer3, 0, wxALL|wxALIGN_LEFT, 0);
848 BoxSizer3->Add(BoxSizer10, 0, wxBOTTOM|wxRIGHT|wxALIGN_TOP, 5);
849 StaticBoxSizer7 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Motion"));
850 FlexGridSizer6 = new wxFlexGridSizer(0, 3, 0, 0);
851 StaticText21 = new wxStaticText(this, ID_STATICTEXT21, _("UpSpeed:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT21"));
852 FlexGridSizer6->Add(StaticText21, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
853 txtUpSpeed = new wxTextCtrl(this, ID_txtUpSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtUpSpeed"));
854 txtUpSpeed->SetToolTip(_("Up Speed"));
855 FlexGridSizer6->Add(txtUpSpeed, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
856 bSetUpSpeed = new wxButton(this, ID_bSetUpSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetUpSpeed"));
857 FlexGridSizer6->Add(bSetUpSpeed, 0, wxALL|wxALIGN_RIGHT|wxALIGN_TOP, 0);
858 StaticText16 = new wxStaticText(this, ID_STATICTEXT16, _("DownSpeed:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT16"));
859 FlexGridSizer6->Add(StaticText16, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
860 txtDownSpeed = new wxTextCtrl(this, ID_txtDownSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtDownSpeed"));
861 txtDownSpeed->SetToolTip(_("Down Speed"));
862 FlexGridSizer6->Add(txtDownSpeed, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
863 bSetDownSpeed = new wxButton(this, ID_bSetDownSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetDownSpeed"));
864 FlexGridSizer6->Add(bSetDownSpeed, 1, wxALIGN_RIGHT|wxALIGN_TOP, 5);
865 StaticText22 = new wxStaticText(this, ID_STATICTEXT22, _("Accel:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT22"));
866 FlexGridSizer6->Add(StaticText22, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
867 txtAcceleration = new wxTextCtrl(this, ID_txtAcceleration, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtAcceleration"));
868 txtAcceleration->SetToolTip(_("Acceleration"));
869 FlexGridSizer6->Add(txtAcceleration, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
870 bSetAcceleration = new wxButton(this, ID_bSetAcceleration, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetAcceleration"));
871 FlexGridSizer6->Add(bSetAcceleration, 0, wxALL|wxALIGN_RIGHT|wxALIGN_TOP, 0);
872 StaticText23 = new wxStaticText(this, ID_STATICTEXT23, _("Decel:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT23"));
873 FlexGridSizer6->Add(StaticText23, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
874 txtDeceleration = new wxTextCtrl(this, ID_txtDeceleration, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtDeceleration"));
875 txtDeceleration->SetToolTip(_("Deceleration"));
876 FlexGridSizer6->Add(txtDeceleration, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
877 bSetDeceleration = new wxButton(this, ID_bSetDeceleration, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetDeceleration"));
878 FlexGridSizer6->Add(bSetDeceleration, 0, wxALL|wxALIGN_RIGHT|wxALIGN_TOP, 0);
879 StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("AccelJerk:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1"));
880 FlexGridSizer6->Add(StaticText1, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
881 txtAccelJerk = new wxTextCtrl(this, ID_txtAccelJerk, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtAccelJerk"));
882 txtAccelJerk->SetToolTip(_("Acceleration Jerk Rate"));
883 FlexGridSizer6->Add(txtAccelJerk, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
884 bSetAccelJerk = new wxButton(this, ID_bSetAccelJerk, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetAccelJerk"));
885 FlexGridSizer6->Add(bSetAccelJerk, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
886 StaticText29 = new wxStaticText(this, ID_STATICTEXT29, _("DecelJerk:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT29"));
887 FlexGridSizer6->Add(StaticText29, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
888 txtDecelJerk = new wxTextCtrl(this, ID_txtDecelJerk, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtDecelJerk"));
889 txtDecelJerk->SetToolTip(_("Deceleration Jerk Rate"));
890 FlexGridSizer6->Add(txtDecelJerk, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
891 bSetDecelJerk = new wxButton(this, ID_bSetDecelJerk, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetDecelJerk"));
892 FlexGridSizer6->Add(bSetDecelJerk, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
893 StaticText26 = new wxStaticText(this, ID_STATICTEXT26, _("Rate:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT26"));
894 FlexGridSizer6->Add(StaticText26, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
895 txtRate = new wxTextCtrl(this, ID_txtRate, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtRate"));
896 txtRate->SetToolTip(_("Rate"));
897 FlexGridSizer6->Add(txtRate, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
898 FlexGridSizer6->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
899 StaticText27 = new wxStaticText(this, ID_STATICTEXT27, _("Direction:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT27"));
900 FlexGridSizer6->Add(StaticText27, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
901 txtDirection = new wxTextCtrl(this, ID_txtDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDirection"));
902 txtDirection->SetToolTip(_("Direction"));
903 FlexGridSizer6->Add(txtDirection, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
904 FlexGridSizer6->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
905 StaticText72 = new wxStaticText(this, ID_STATICTEXT72, _("ActiveDir:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT72"));
906 FlexGridSizer6->Add(StaticText72, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
907 txtActiveDirection = new wxTextCtrl(this, ID_txtActiveDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtActiveDirection"));
908 txtActiveDirection->SetToolTip(_("Active Direction"));
909 FlexGridSizer6->Add(txtActiveDirection, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
910 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
911 StaticText2 = new wxStaticText(this, ID_STATICTEXT2, _("JerkRate:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT2"));
912 FlexGridSizer6->Add(StaticText2, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
913 txtJerkRate = new wxTextCtrl(this, ID_txtJerkRate, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtJerkRate"));
914 txtJerkRate->SetToolTip(_("Jerk Rate"));
915 FlexGridSizer6->Add(txtJerkRate, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
916 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
917 StaticText49 = new wxStaticText(this, ID_STATICTEXT49, _("DStopped:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT49"));
918 FlexGridSizer6->Add(StaticText49, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
919 txtDoorStopped = new wxTextCtrl(this, ID_txtDoorStopped, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDoorStopped"));
920 txtDoorStopped->SetToolTip(_("Door Stopped"));
921 FlexGridSizer6->Add(txtDoorStopped, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
922 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
923 StaticText53 = new wxStaticText(this, ID_STATICTEXT53, _("IsIdle:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT53"));
924 FlexGridSizer6->Add(StaticText53, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
925 txtIsIdle = new wxTextCtrl(this, ID_txtIsIdle, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtIsIdle"));
926 txtIsIdle->SetToolTip(_("IsIdle"));
927 FlexGridSizer6->Add(txtIsIdle, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
928 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
929 StaticText24 = new wxStaticText(this, ID_STATICTEXT24, _("Manual:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT24"));
930 FlexGridSizer6->Add(StaticText24, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
931 txtManualGo = new wxTextCtrl(this, ID_txtManualGo, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtManualGo"));
932 txtManualGo->SetToolTip(_("Manual"));
933 FlexGridSizer6->Add(txtManualGo, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
934 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
935 StaticText55 = new wxStaticText(this, ID_STATICTEXT55, _("Leveling:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT55"));
936 FlexGridSizer6->Add(StaticText55, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
937 txtLeveling = new wxTextCtrl(this, ID_txtLeveling, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtLeveling"));
938 txtLeveling->SetToolTip(_("Leveling"));
939 FlexGridSizer6->Add(txtLeveling, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
940 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
941 StaticText60 = new wxStaticText(this, ID_STATICTEXT60, _("Parking:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT60"));
942 FlexGridSizer6->Add(StaticText60, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
943 txtParking = new wxTextCtrl(this, ID_txtParking, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtParking"));
944 txtParking->SetToolTip(_("Parking"));
945 FlexGridSizer6->Add(txtParking, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
946 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
947 StaticText73 = new wxStaticText(this, ID_STATICTEXT73, _("ManualMove:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT73"));
948 FlexGridSizer6->Add(StaticText73, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
949 txtManualMove = new wxTextCtrl(this, ID_txtManualMove, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtManualMove"));
950 txtManualMove->SetToolTip(_("Manual Move"));
951 FlexGridSizer6->Add(txtManualMove, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
952 FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
953 StaticText63 = new wxStaticText(this, ID_STATICTEXT63, _("SlowSpd:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT63"));
954 FlexGridSizer6->Add(StaticText63, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
955 txtSlowSpeed = new wxTextCtrl(this, ID_txtSlowSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtSlowSpeed"));
956 txtSlowSpeed->SetToolTip(_("Slow Speed Door Multiplier"));
957 FlexGridSizer6->Add(txtSlowSpeed, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
958 bSetSlowSpeed = new wxButton(this, ID_bSetSlowSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetSlowSpeed"));
959 FlexGridSizer6->Add(bSetSlowSpeed, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
960 StaticText64 = new wxStaticText(this, ID_STATICTEXT64, _("ManualSpd:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT64"));
961 FlexGridSizer6->Add(StaticText64, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
962 txtManualSpeed = new wxTextCtrl(this, ID_txtManualSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtManualSpeed"));
963 txtManualSpeed->SetToolTip(_("Manual Door Speed Multiplier"));
964 FlexGridSizer6->Add(txtManualSpeed, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
965 bSetManualSpeed = new wxButton(this, ID_bSetManualSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetManualSpeed"));
966 FlexGridSizer6->Add(bSetManualSpeed, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
967 StaticText74 = new wxStaticText(this, ID_STATICTEXT74, _("InsSpeed:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT74"));
968 FlexGridSizer6->Add(StaticText74, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
969 txtInspectionSpeed = new wxTextCtrl(this, ID_txtInspectionSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtInspectionSpeed"));
970 txtInspectionSpeed->SetToolTip(_("Inspection Mode Speed Multiplier"));
971 FlexGridSizer6->Add(txtInspectionSpeed, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
972 bSetInspectionSpeed = new wxButton(this, ID_bSetInspectionSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetInspectionSpeed"));
973 FlexGridSizer6->Add(bSetInspectionSpeed, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
974 StaticBoxSizer7->Add(FlexGridSizer6, 0, wxALL|wxALIGN_TOP, 0);
975 BoxSizer3->Add(StaticBoxSizer7, 0, wxBOTTOM|wxRIGHT|wxALIGN_TOP, 5);
976 BoxSizer7 = new wxBoxSizer(wxVERTICAL);
977 StaticBoxSizer8 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Destination"));
978 FlexGridSizer7 = new wxFlexGridSizer(0, 3, 0, 0);
979 StaticText30 = new wxStaticText(this, ID_STATICTEXT30, _("Floor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT30"));
980 FlexGridSizer7->Add(StaticText30, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
981 txtDestFloor = new wxTextCtrl(this, ID_txtDestFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDestFloor"));
982 txtDestFloor->SetToolTip(_("Destination Floor"));
983 FlexGridSizer7->Add(txtDestFloor, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
984 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
985 StaticText43 = new wxStaticText(this, ID_STATICTEXT43, _("IsMoving:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT43"));
986 FlexGridSizer7->Add(StaticText43, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
987 txtIsMoving = new wxTextCtrl(this, ID_txtIsMoving, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtIsMoving"));
988 txtIsMoving->SetToolTip(_("IsMoving"));
989 FlexGridSizer7->Add(txtIsMoving, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
990 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
991 StaticText31 = new wxStaticText(this, ID_STATICTEXT31, _("Move:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT31"));
992 FlexGridSizer7->Add(StaticText31, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
993 txtMoveElevator = new wxTextCtrl(this, ID_txtMoveElevator, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMoveElevator"));
994 txtMoveElevator->SetToolTip(_("Move"));
995 FlexGridSizer7->Add(txtMoveElevator, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
996 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
997 StaticText33 = new wxStaticText(this, ID_STATICTEXT33, _("Distance:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT33"));
998 FlexGridSizer7->Add(StaticText33, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
999 txtDistance = new wxTextCtrl(this, ID_txtDistance, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDistance"));
1000 txtDistance->SetToolTip(_("Distance to Destination"));
1001 FlexGridSizer7->Add(txtDistance, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
1002 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1003 StaticText34 = new wxStaticText(this, ID_STATICTEXT34, _("Dest:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT34"));
1004 FlexGridSizer7->Add(StaticText34, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
1005 txtDestination = new wxTextCtrl(this, ID_txtDestination, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDestination"));
1006 txtDestination->SetToolTip(_("Destination"));
1007 FlexGridSizer7->Add(txtDestination, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
1008 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1009 StaticText35 = new wxStaticText(this, ID_STATICTEXT35, _("StopDist:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT35"));
1010 FlexGridSizer7->Add(StaticText35, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
1011 txtStopDistance = new wxTextCtrl(this, ID_txtStopDistance, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtStopDistance"));
1012 txtStopDistance->SetToolTip(_("Stopping Distance"));
1013 FlexGridSizer7->Add(txtStopDistance, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
1014 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1015 StaticText36 = new wxStaticText(this, ID_STATICTEXT36, _("TmpDecel:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT36"));
1016 FlexGridSizer7->Add(StaticText36, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
1017 txtTempDecel = new wxTextCtrl(this, ID_txtTempDecel, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtTempDecel"));
1018 txtTempDecel->SetToolTip(_("Temp Deceleration"));
1019 FlexGridSizer7->Add(txtTempDecel, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
1020 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1021 StaticText37 = new wxStaticText(this, ID_STATICTEXT37, _("Error:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT37"));
1022 FlexGridSizer7->Add(StaticText37, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
1023 txtErrorOffset = new wxTextCtrl(this, ID_txtErrorOffset, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtErrorOffset"));
1024 txtErrorOffset->SetToolTip(_("Error Offset"));
1025 FlexGridSizer7->Add(txtErrorOffset, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
1026 FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1027 StaticText59 = new wxStaticText(this, ID_STATICTEXT59, _("NotifyEarly:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT59"));
1028 FlexGridSizer7->Add(StaticText59, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1029 txtNotifyEarly = new wxTextCtrl(this, ID_txtNotifyEarly, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtNotifyEarly"));
1030 txtNotifyEarly->SetToolTip(_("Notify Early"));
1031 FlexGridSizer7->Add(txtNotifyEarly, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
1032 bNotifyEarly = new wxButton(this, ID_bNotifyEarly, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bNotifyEarly"));
1033 FlexGridSizer7->Add(bNotifyEarly, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
1034 StaticText89 = new wxStaticText(this, ID_STATICTEXT89, _("NotifyLate:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT89"));
1035 FlexGridSizer7->Add(StaticText89, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1036 txtNotifyLate = new wxTextCtrl(this, ID_txtNotifyLate, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtNotifyLate"));
1037 txtNotifyLate->SetToolTip(_("Notify Late"));
1038 FlexGridSizer7->Add(txtNotifyLate, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
1039 bNotifyLate = new wxButton(this, ID_bNotifyLate, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bNotifyLate"));
1040 FlexGridSizer7->Add(bNotifyLate, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
1041 StaticText65 = new wxStaticText(this, ID_STATICTEXT65, _("DDelay:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT65"));
1042 FlexGridSizer7->Add(StaticText65, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1043 txtDepartureDelay = new wxTextCtrl(this, ID_txtDepartureDelay, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtDepartureDelay"));
1044 txtDepartureDelay->SetToolTip(_("Departure Delay"));
1045 FlexGridSizer7->Add(txtDepartureDelay, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
1046 bSetDepartureDelay = new wxButton(this, ID_bSetDepartureDelay, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetDepartureDelay"));
1047 FlexGridSizer7->Add(bSetDepartureDelay, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
1048 StaticText66 = new wxStaticText(this, ID_STATICTEXT66, _("ADelay:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT66"));
1049 FlexGridSizer7->Add(StaticText66, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1050 txtArrivalDelay = new wxTextCtrl(this, ID_txtArrivalDelay, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtArrivalDelay"));
1051 txtArrivalDelay->SetToolTip(_("Arrival Delay"));
1052 FlexGridSizer7->Add(txtArrivalDelay, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
1053 bSetArrivalDelay = new wxButton(this, ID_bSetArrivalDelay, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetArrivalDelay"));
1054 FlexGridSizer7->Add(bSetArrivalDelay, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
1055 StaticBoxSizer8->Add(FlexGridSizer7, 0, wxALIGN_TOP, 5);
1056 BoxSizer7->Add(StaticBoxSizer8, 0, wxEXPAND, 5);
1057 StaticBoxSizer4 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Modes"));
1058 FlexGridSizer5 = new wxFlexGridSizer(0, 3, 0, 0);
1059 StaticText45 = new wxStaticText(this, ID_STATICTEXT45, _("ACP Floor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT45"));
1060 FlexGridSizer5->Add(StaticText45, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1061 txtACPFloor = new wxTextCtrl(this, ID_txtACPFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtACPFloor"));
1062 txtACPFloor->SetToolTip(_("Anti-Crime Prevention Floor"));
1063 FlexGridSizer5->Add(txtACPFloor, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
1064 bSetACPFloor = new wxButton(this, ID_bSetACPFloor, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetACPFloor"));
1065 FlexGridSizer5->Add(bSetACPFloor, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
1066 StaticText46 = new wxStaticText(this, ID_STATICTEXT46, _("Recall Flr:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT46"));
1067 FlexGridSizer5->Add(StaticText46, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1068 txtRecallFloor = new wxTextCtrl(this, ID_txtRecallFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtRecallFloor"));
1069 txtRecallFloor->SetToolTip(_("Primary Recall Floor"));
1070 FlexGridSizer5->Add(txtRecallFloor, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
1071 bSetRecallFloor = new wxButton(this, ID_bSetRecallFloor, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetRecallFloor"));
1072 FlexGridSizer5->Add(bSetRecallFloor, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
1073 StaticText47 = new wxStaticText(this, ID_STATICTEXT47, _("Rcl Flr Alt:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT47"));
1074 FlexGridSizer5->Add(StaticText47, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1075 txtRecallAlternate = new wxTextCtrl(this, ID_txtRecallAlternate, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtRecallAlternate"));
1076 txtRecallAlternate->SetToolTip(_("Alternate Recall Floor"));
1077 FlexGridSizer5->Add(txtRecallAlternate, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
1078 bSetRecallAlternate = new wxButton(this, ID_bSetRecallAlternate, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetRecallAlternate"));
1079 FlexGridSizer5->Add(bSetRecallAlternate, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
1080 StaticText39 = new wxStaticText(this, ID_STATICTEXT39, _("Park Flr:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT39"));
1081 FlexGridSizer5->Add(StaticText39, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1082 txtParkingFloor = new wxTextCtrl(this, ID_txtParkingFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtParkingFloor"));
1083 txtParkingFloor->SetToolTip(_("Parking Floor"));
1084 FlexGridSizer5->Add(txtParkingFloor, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
1085 bSetParkingFloor = new wxButton(this, ID_bSetParkingFloor, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetParkingFloor"));
1086 FlexGridSizer5->Add(bSetParkingFloor, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
1087 StaticText48 = new wxStaticText(this, ID_STATICTEXT48, _("Park Dly:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT48"));
1088 FlexGridSizer5->Add(StaticText48, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1089 txtParkingDelay = new wxTextCtrl(this, ID_txtParkingDelay, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtParkingDelay"));
1090 txtParkingDelay->SetToolTip(_("Parking Delay"));
1091 FlexGridSizer5->Add(txtParkingDelay, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
1092 bSetParkingDelay = new wxButton(this, ID_bSetParkingDelay, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetParkingDelay"));
1093 FlexGridSizer5->Add(bSetParkingDelay, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
1094 StaticText62 = new wxStaticText(this, ID_STATICTEXT62, _("NudgeTmr:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT62"));
1095 FlexGridSizer5->Add(StaticText62, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1096 txtNudgeTimer = new wxTextCtrl(this, ID_txtNudgeTimer, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtNudgeTimer"));
1097 txtNudgeTimer->SetToolTip(_("Nudge Timer"));
1098 FlexGridSizer5->Add(txtNudgeTimer, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
1099 bSetNudgeTimer = new wxButton(this, ID_bSetNudgeTimer, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetNudgeTimer"));
1100 FlexGridSizer5->Add(bSetNudgeTimer, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
1101 StaticBoxSizer4->Add(FlexGridSizer5, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
1102 BoxSizer7->Add(StaticBoxSizer4, 1, wxALIGN_LEFT, 5);
1103 BoxSizer3->Add(BoxSizer7, 1, wxBOTTOM|wxRIGHT|wxALIGN_TOP, 5);
1104 BoxSizer1->Add(BoxSizer3, 0, wxALL|wxEXPAND, 0);
1105 SetSizer(BoxSizer1);
1106 BoxSizer1->SetSizeHints(this);
1107 Center();
1108
1109 Connect(ID_bACPMode,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bACPMode_Toggle);
1110 Connect(ID_bUpPeak,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bUpPeak_Toggle);
1111 Connect(ID_bDownPeak,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bDownPeak_Toggle);
1112 Connect(ID_bIndService,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bIndService_Toggle);
1113 Connect(ID_bInsService,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bInsService_Toggle);
1114 Connect(ID_Fire1Off,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&editelevator::On_Fire1Off_Select);
1115 Connect(ID_Fire1On,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&editelevator::On_Fire1On_Select);
1116 Connect(ID_Fire1Bypass,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&editelevator::On_Fire1Bypass_Select);
1117 Connect(ID_Fire2Off,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&editelevator::On_Fire2Off_Select);
1118 Connect(ID_Fire2On,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&editelevator::On_Fire2On_Select);
1119 Connect(ID_Fire2Hold,wxEVT_COMMAND_RADIOBUTTON_SELECTED,(wxObjectEventFunction)&editelevator::On_Fire2Hold_Select);
1120 Connect(ID_CHECKBOX1,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&editelevator::On_chkVisible_Click);
1121 Connect(ID_chkRun,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&editelevator::On_chkRun_Click);
1122 Connect(ID_bUp,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bUp_Toggle);
1123 Connect(ID_bGoToggle,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bGoToggle_Toggle);
1124 Connect(ID_bDown,wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bDown_Toggle);
1125 Connect(ID_bRefresh,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bRefresh_Click);
1126 Connect(ID_bDumpFloors,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bDumpFloors_Click);
1127 Connect(ID_bDumpQueues,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bDumpQueues_Click);
1128 Connect(ID_bCall,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bCall_Click);
1129 Connect(ID_bGo,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bGo_Click);
1130 Connect(ID_bOpen,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bOpen_Click);
1131 Connect(ID_bOpenManual,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bOpenManual_Click);
1132 Connect(ID_bOpenShaftDoor,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bOpenShaftDoor_Click);
1133 Connect(ID_bStop,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bStop_Click);
1134 Connect(ID_bChime,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bChime_Click);
1135 Connect(ID_bSelectCurrent,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSelectCurrent_Click);
1136 Connect(ID_bEnqueueUp,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bEnqueueUp_Click);
1137 Connect(ID_bEnqueueDown,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bEnqueueDown_Click);
1138 Connect(ID_bClose,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bClose_Click);
1139 Connect(ID_bCloseManual,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bCloseManual_Click);
1140 Connect(ID_bCloseShaftDoor,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bCloseShaftDoor_Click);
1141 Connect(ID_bHoldDoors,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bHoldDoors_Click);
1142 Connect(ID_bStopDoors,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bStopDoors_Click);
1143 Connect(ID_bMalfunction,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bMalfunction_Click);
1144 Connect(ID_bSetName,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetName_Click);
1145 Connect(ID_bSetID,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetID_Click);
1146 Connect(ID_bSetType,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetType_Click);
1147 Connect(ID_bSetDoorTimer,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDoorTimer_Click);
1148 Connect(ID_bSetQuickClose,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetQuickClose_Click);
1149 Connect(ID_bSetSkipFloorText,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetSkipFloorText_Click);
1150 Connect(ID_bSetNudge,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetNudge_Click);
1151 Connect(ID_bDoorSensor,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bDoorSensor_Click);
1152 Connect(ID_bSetLevelingSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetLevelingSpeed_Click);
1153 Connect(ID_bSetLevelingOffset,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetLevelingOffset_Click);
1154 Connect(ID_bLevelingOpen,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetLevelingOpen_Click);
1155 Connect(ID_bSetFloorSounds,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetFloorSounds_Click);
1156 Connect(ID_bSetFloorBeeps,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetFloorBeeps_Click);
1157 Connect(ID_bSetMessageSounds,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetMessageSounds_Click);
1158 Connect(ID_bSetAutoEnable,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetAutoEnable_Click);
1159 Connect(ID_bSetReOpen,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetReOpen_Click);
1160 Connect(ID_bSetAutoDoors,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetAutoDoors_Click);
1161 Connect(ID_bInterlocks,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bInterlocks_Click);
1162 Connect(ID_bFan,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bFan_Click);
1163 Connect(ID_bSetMusicOn,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetMusicOn_Click);
1164 Connect(ID_bSetMusicOnMove,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetMusicOnMove_Click);
1165 Connect(ID_bMusicAlwaysOn,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bMusicAlwaysOn_Click);
1166 Connect(ID_bSetChimeOnArrival,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetChimeOnArrival_Click);
1167 Connect(ID_chkServicedFloors,wxEVT_COMMAND_CHECKLISTBOX_TOGGLED,(wxObjectEventFunction)&editelevator::On_chkServicedFloors_Toggled);
1168 Connect(ID_bResetQueues,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bResetQueues_Click);
1169 Connect(ID_bSetUpSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetUpSpeed_Click);
1170 Connect(ID_bSetDownSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDownSpeed_Click);
1171 Connect(ID_bSetAcceleration,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetAcceleration_Click);
1172 Connect(ID_bSetDeceleration,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDeceleration_Click);
1173 Connect(ID_bSetAccelJerk,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetAccelJerk_Click);
1174 Connect(ID_bSetDecelJerk,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDecelJerk_Click);
1175 Connect(ID_bSetSlowSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetSlowSpeed_Click);
1176 Connect(ID_bSetManualSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetManualSpeed_Click);
1177 Connect(ID_bSetInspectionSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetInspectionSpeed_Click);
1178 Connect(ID_bNotifyEarly,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bNotifyEarly_Click);
1179 Connect(ID_bNotifyLate,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bNotifyLate_Click);
1180 Connect(ID_bSetDepartureDelay,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDepartureDelay_Click);
1181 Connect(ID_bSetArrivalDelay,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetArrivalDelay_Click);
1182 Connect(ID_bSetACPFloor,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetACPFloor_Click);
1183 Connect(ID_bSetRecallFloor,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetRecallFloor_Click);
1184 Connect(ID_bSetRecallAlternate,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetRecallAlternate_Click);
1185 Connect(ID_bSetParkingFloor,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetParkingFloor_Click);
1186 Connect(ID_bSetParkingDelay,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetParkingDelay_Click);
1187 Connect(ID_bSetNudgeTimer,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetNudgeTimer_Click);
1188 //*)
1189 Simcore = 0;
1190 debugpanel = parent;
1191 elevator = 0;
1192 car = 0;
1193 door = 0;
1194 OnInit();
1195}
1196
1200
1201
1202void editelevator::On_bCall_Click(wxCommandEvent& event)
1203{
1204 //calls elevator to the current camera floor
1205
1206 if (elevator && car)
1207 {
1212 }
1213}
1214
1215void editelevator::On_bEnqueueUp_Click(wxCommandEvent& event)
1216{
1217 if (elevator)
1219}
1220
1221void editelevator::On_bGo_Click(wxCommandEvent& event)
1222{
1223 if (elevator)
1225}
1226
1227void editelevator::On_bEnqueueDown_Click(wxCommandEvent& event)
1228{
1229 if (elevator)
1231}
1232
1233void editelevator::On_bOpen_Click(wxCommandEvent& event)
1234{
1235 if (car)
1236 car->OpenDoors(sDoor->GetThumbPosition());
1237}
1238
1239void editelevator::On_bClose_Click(wxCommandEvent& event)
1240{
1241 if (car)
1242 car->CloseDoors(sDoor->GetThumbPosition());
1243}
1244
1245void editelevator::On_bOpenManual_Click(wxCommandEvent& event)
1246{
1247 if (car)
1248 car->OpenDoorsEmergency(sDoor->GetThumbPosition());
1249}
1250
1251void editelevator::On_bCloseManual_Click(wxCommandEvent& event)
1252{
1253 if (car)
1254 car->CloseDoorsEmergency(sDoor->GetThumbPosition());
1255}
1256
1257void editelevator::On_bStop_Click(wxCommandEvent& event)
1258{
1259 if (elevator)
1260 elevator->Stop(true);
1261}
1262
1263void editelevator::On_bHoldDoors_Click(wxCommandEvent& event)
1264{
1265 if (car)
1266 car->HoldDoors(sDoor->GetThumbPosition());
1267}
1268
1269void editelevator::On_bSetName_Click(wxCommandEvent& event)
1270{
1271 if (elevator)
1272 elevator->Name = txtName->GetValue();
1273}
1274
1276{
1277 if (elevator)
1278 elevator->Acceleration = atof(txtAcceleration->GetValue());
1279}
1280
1282{
1283 if (elevator)
1284 elevator->Deceleration = atof(txtDeceleration->GetValue());
1285}
1286
1287void editelevator::On_bDumpFloors_Click(wxCommandEvent& event)
1288{
1289 if (car)
1291}
1292
1293void editelevator::On_bDumpQueues_Click(wxCommandEvent& event)
1294{
1295 if (elevator)
1297}
1298
1300{
1302
1303 last_elevator = 0;
1304 floor_number = 0;
1305 last_car = 0;
1306 last_door = -1;
1308 last_car_count = 0;
1309 last_door_count = 0;
1310 set_current_floor = false;
1311
1312 if (Simcore->GetElevatorCount() > 0)
1313 {
1314 //set elevator range slider
1315 sNumber->SetScrollbar(0, 1, Simcore->GetElevatorCount(), 1);
1316
1317 //set car range slider
1318 sCar->SetScrollbar(1, 1, Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->GetCarCount(), 1);
1319
1320 //set door range slider
1321 sDoor->SetScrollbar(1, 1, Simcore->GetElevator(sNumber->GetThumbPosition() + 1)->GetCar(1)->NumDoors + 1, 1);
1322 }
1323 else
1324 sNumber->Enable(false);
1325}
1326
1328{
1329 //if active engine has changed, refresh values
1330 if (Simcore != debugpanel->GetSystem())
1331 OnInit();
1332
1333 if (!Simcore)
1334 return;
1335
1336 int elev_num = sNumber->GetThumbPosition() + 1;
1337 int car_num = sCar->GetThumbPosition() + 1;
1338 int door_num = sDoor->GetThumbPosition();
1339 int elevator_count = Simcore->GetElevatorCount();
1340 elevator = Simcore->GetElevator(elev_num);
1341 door = 0;
1342
1343 if (!elevator)
1344 return;
1345
1346 int car_count = elevator->GetCarCount();
1347 car = elevator->GetCar(car_num);
1348
1349 if (!car)
1350 {
1351 sCar->SetThumbPosition(0);
1352 return;
1353 }
1354
1355 int door_count = car->NumDoors;
1356 door = car->GetDoor(door_num);
1357
1358 if (elev_num != last_elevator || car_count != last_car_count || door_count != last_door_count)
1359 {
1360 //number or count changed; update values
1361 last_elevator = elev_num;
1362 last_car_count = car_count;
1363 last_door_count = door_count;
1364
1365 //set floor range slider
1366 sFloor->SetScrollbar(0, 1, car->GetServicedFloorCount(), 1);
1367
1368 if (set_current_floor == true)
1369 {
1370 sFloor->SetThumbPosition(car->GetFloorIndex(Simcore->camera->CurrentFloor));
1371 set_current_floor = false;
1372 }
1373
1374 //set car range slider
1375 sCar->SetScrollbar(0, 1, car_count, 1);
1376
1377 //set door range slider
1378 sDoor->SetScrollbar(1, 1, door_count + 1, 1);
1379
1380 SetMainValues();
1381 }
1382 if (car_num != last_car)
1383 {
1384 //number changed; update values
1385 last_car = car_num;
1386 SetMainValues();
1387 }
1388 if (door_num != last_door)
1389 {
1390 //number changed; update values
1391 last_door = door_num;
1392 SetMainValues();
1393 }
1394 if (elevator_count != last_elevator_count && elevator_count > 0)
1395 {
1396 //elevator count changed; update slider
1397 last_elevator_count = elevator_count;
1398
1399 //set elevator range slider
1400 sNumber->SetScrollbar(0, 1, Simcore->GetElevatorCount(), 1);
1401 }
1402
1403 tElevator->SetLabel(wxT("Number " + ToString(sNumber->GetThumbPosition() + 1)));
1404 floor_number = car->GetServicedFloor(sFloor->GetThumbPosition());
1405 wxString floor_name;
1407 floor_name = Simcore->GetFloor(floor_number)->ID;
1408 tFloor->SetLabel(wxT("Floor ") + ToString(floor_number) + wxT(" (" + floor_name) + wxT(")"));
1409 tCar->SetLabel(wxT("Car " + ToString(sCar->GetThumbPosition() + 1)));
1410 tDoor->SetLabel(wxT("Door " + ToString(sDoor->GetThumbPosition()) + wxT(" (0 = all)")));
1416 if (door)
1417 {
1425 }
1429 txtFloor->SetValue(ToString(car->GetFloor()));
1430 txtHeight->SetValue(TruncateNumber(car->Height, 2));
1432 txtNumber->SetValue(ToString(elevator->Number));
1434 txtPosition->SetValue(TruncateNumber(elevator->GetPosition().x, 2) + wxT(", ") + TruncateNumber(elevator->GetPosition().y, 2) + wxT(", ") + TruncateNumber(elevator->GetPosition().z, 2));
1446 txtAlarm->SetValue(BoolToString(car->AlarmActive));
1448 txtIsIdle->SetValue(BoolToString(elevator->IsIdle()));
1450 txtMotor->SetValue(TruncateNumber(elevator->MotorPosition.x, 2) + wxT(", ") + TruncateNumber(elevator->MotorPosition.y, 2) + wxT(", ") + TruncateNumber(elevator->MotorPosition.z, 2));
1460 txtMusicOn->SetValue(BoolToString(car->MusicOn));
1474 txtMusicPosition->SetValue(TruncateNumber(car->MusicPosition.x, 2) + wxT(", ") + TruncateNumber(car->MusicPosition.y, 2) + wxT(", ") + TruncateNumber(car->MusicPosition.z, 2));
1476 txtFan->SetValue(BoolToString(car->Fan));
1479
1480 //changeable values
1481 if (chkVisible->GetValue() != elevator->IsEnabled)
1482 chkVisible->SetValue(elevator->IsEnabled);
1483 if (chkRun->GetValue() != elevator->IsRunning())
1484 chkRun->SetValue(elevator->IsRunning());
1485 if (bACPMode->GetValue() != elevator->ACP)
1486 bACPMode->SetValue(elevator->ACP);
1487 if (bUpPeak->GetValue() != elevator->UpPeak)
1488 bUpPeak->SetValue(elevator->UpPeak);
1489 if (bDownPeak->GetValue() != elevator->DownPeak)
1490 bDownPeak->SetValue(elevator->DownPeak);
1491 if (bIndService->GetValue() != car->IndependentServiceActive())
1493 if (bInsService->GetValue() != elevator->InspectionService)
1495 if (car->FirePhase2Active() == 0 && Fire2Off->GetValue() == false)
1496 Fire2Off->SetValue(true);
1497 if (car->FirePhase2Active() == 1 && Fire2On->GetValue() == false)
1498 Fire2On->SetValue(true);
1499 if (car->FirePhase2Active() == 2 && Fire2Hold->GetValue() == false)
1500 Fire2Hold->SetValue(true);
1501 if (elevator->FireServicePhase1 == 0 && Fire1Off->GetValue() == false)
1502 Fire1Off->SetValue(true);
1503 if (elevator->FireServicePhase1 == 1 && Fire1On->GetValue() == false)
1504 Fire1On->SetValue(true);
1505 if (elevator->FireServicePhase1 == 2 && Fire1Bypass->GetValue() == false)
1506 Fire1Bypass->SetValue(true);
1507
1508 //set call direction/type value
1509 {
1510 std::string direction = "", type;
1511 int dir = elevator->GetActiveCallDirection();
1512 int t = elevator->GetActiveCallType();
1513 if (dir == 1)
1514 direction = "Up";
1515 else if (dir == -1)
1516 direction = "Down";
1517
1518 if (dir != 0)
1519 {
1520 if (t == 0)
1521 type = "Car";
1522 else if (t == 1)
1523 type = "Hall";
1524 else
1525 type = "System";
1526
1527 direction += " - " + type;
1528 }
1529
1530 txtActiveCallDirection->SetValue(direction);
1531 }
1532}
1533
1535{
1536 if (!elevator)
1537 return;
1538
1539 //set changeable values
1540 txtName->SetValue(elevator->Name);
1541 txtID->SetValue(elevator->ID);
1542 txtType->SetValue(elevator->Type);
1543 if (door)
1544 {
1545 txtDoorTimer->SetValue(ToString(door->DoorTimer));
1548 txtSlowSpeed->SetValue(TruncateNumber(door->SlowSpeed, 4));
1550 }
1551 txtUpSpeed->SetValue(TruncateNumber(elevator->UpSpeed, 4));
1570
1571 //populate serviced floors list
1572 chkServicedFloors->Clear();
1573 if (car)
1574 {
1575 for (int i = 0; i < Simcore->GetFloorManager()->GetCount(); i++)
1576 {
1577 Floor *floor = Simcore->GetFloorManager()->GetIndex(i);
1578 if (floor)
1579 {
1580 if (car->ShaftDoorsExist(0, floor->Number, true))
1581 {
1582 std::string number = ToString(floor->Number);
1583 int index = chkServicedFloors->Append(number + " (" + floor->ID + ")");
1584 bool is_serviced = car->IsServicedFloor(floor->Number);
1585 chkServicedFloors->Check(index, is_serviced);
1586 }
1587 }
1588 }
1589 }
1590}
1591
1592void editelevator::On_chkVisible_Click(wxCommandEvent& event)
1593{
1594 if (elevator)
1595 elevator->Enabled(chkVisible->GetValue());
1596}
1597
1598void editelevator::On_bSetAccelJerk_Click(wxCommandEvent& event)
1599{
1600 if (elevator)
1601 elevator->AccelJerk = atof(txtAccelJerk->GetValue());
1602}
1603
1604void editelevator::On_bSetDecelJerk_Click(wxCommandEvent& event)
1605{
1606 if (elevator)
1607 elevator->DecelJerk = atof(txtDecelJerk->GetValue());
1608}
1609
1610void editelevator::On_bOpenShaftDoor_Click(wxCommandEvent& event)
1611{
1612 if (car)
1613 car->OpenDoors(sDoor->GetThumbPosition(), 3, floor_number);
1614}
1615
1617{
1618 if (car)
1619 car->CloseDoors(sDoor->GetThumbPosition(), 3, floor_number);
1620}
1621
1622void editelevator::On_bSetDoorTimer_Click(wxCommandEvent& event)
1623{
1624 if (door)
1625 door->DoorTimer = atoi(txtDoorTimer->GetValue());
1626}
1627
1628void editelevator::On_bChime_Click(wxCommandEvent& event)
1629{
1630 if (door)
1631 door->Chime(floor_number, true);
1632}
1633
1634void editelevator::On_bACPMode_Toggle(wxCommandEvent& event)
1635{
1636 if (elevator)
1637 elevator->EnableACP(bACPMode->GetValue());
1638}
1639
1640void editelevator::On_bUpPeak_Toggle(wxCommandEvent& event)
1641{
1642 if (elevator)
1643 elevator->EnableUpPeak(bUpPeak->GetValue());
1644}
1645
1646void editelevator::On_bDownPeak_Toggle(wxCommandEvent& event)
1647{
1648 if (elevator)
1649 elevator->EnableDownPeak(bDownPeak->GetValue());
1650}
1651
1652void editelevator::On_bIndService_Toggle(wxCommandEvent& event)
1653{
1654 if (elevator && car)
1656}
1657
1658void editelevator::On_bInsService_Toggle(wxCommandEvent& event)
1659{
1660 if (elevator)
1661 {
1663
1664 if (bInsService->GetValue() == false)
1665 {
1666 elevator->SetGoButton(false);
1667 bGoToggle->SetValue(false);
1668 bUp->SetValue(false);
1669 bDown->SetValue(false);
1670 }
1671 }
1672}
1673
1674void editelevator::On_bRefresh_Click(wxCommandEvent& event)
1675{
1676 SetMainValues();
1677}
1678
1680{
1681 if (elevator)
1682 elevator->SetFloorSkipText(std::string(txtSkipFloorText->GetValue()));
1683}
1684
1685void editelevator::On_bSetACPFloor_Click(wxCommandEvent& event)
1686{
1687 if (elevator)
1688 elevator->SetACPFloor(atoi(txtACPFloor->GetValue()));
1689}
1690
1692{
1693 if (elevator)
1694 elevator->SetRecallFloor(atoi(txtRecallFloor->GetValue()));
1695}
1696
1698{
1699 if (elevator)
1701}
1702
1703void editelevator::On_Fire1Off_Select(wxCommandEvent& event)
1704{
1705 if (elevator)
1706 {
1707 CallStation *callstation = elevator->GetPrimaryCallStation();
1708 if (callstation)
1709 callstation->FireService(0);
1710 }
1711}
1712
1713void editelevator::On_Fire1On_Select(wxCommandEvent& event)
1714{
1715 if (elevator)
1716 {
1717 CallStation *callstation = elevator->GetPrimaryCallStation();
1718 if (callstation)
1719 callstation->FireService(1);
1720 }
1721}
1722
1723void editelevator::On_Fire1Bypass_Select(wxCommandEvent& event)
1724{
1725 if (elevator)
1726 {
1727 CallStation *callstation = elevator->GetPrimaryCallStation();
1728 if (callstation)
1729 callstation->FireService(2);
1730 }
1731}
1732
1733void editelevator::On_Fire2Off_Select(wxCommandEvent& event)
1734{
1735 if (elevator && car)
1737}
1738
1739void editelevator::On_Fire2On_Select(wxCommandEvent& event)
1740{
1741 if (elevator && car)
1743}
1744
1745void editelevator::On_Fire2Hold_Select(wxCommandEvent& event)
1746{
1747 if (elevator && car)
1749}
1750
1751void editelevator::On_bStopDoors_Click(wxCommandEvent& event)
1752{
1753 if (car)
1754 car->StopDoors(sDoor->GetThumbPosition());
1755}
1756
1757void editelevator::On_bUp_Toggle(wxCommandEvent& event)
1758{
1759 if (elevator)
1760 {
1761 if (elevator->InspectionService == false)
1762 return;
1763
1764 elevator->SetUpButton(bUp->GetValue());
1765 }
1766}
1767
1768void editelevator::On_bGoToggle_Toggle(wxCommandEvent& event)
1769{
1770 if (elevator)
1771 {
1772 if (elevator->InspectionService == false)
1773 return;
1774
1775 elevator->SetGoButton(bGoToggle->GetValue());
1776 }
1777}
1778
1779void editelevator::On_bDown_Toggle(wxCommandEvent& event)
1780{
1781 if (elevator)
1782 {
1783 if (elevator->InspectionService == false)
1784 return;
1785
1786 elevator->SetDownButton(bDown->GetValue());
1787 }
1788}
1789
1790void editelevator::On_bResetQueues_Click(wxCommandEvent& event)
1791{
1792 if (elevator)
1793 elevator->ResetQueue(true, true);
1794}
1795
1797{
1798 if (elevator)
1799 elevator->ParkingFloor = atoi(txtParkingFloor->GetValue());
1800}
1801
1803{
1804 if (elevator)
1805 elevator->ParkingDelay = atof(txtParkingDelay->GetValue());
1806}
1807
1809{
1810 if (elevator)
1811 elevator->LevelingSpeed = atof(txtLevelingSpeed->GetValue());
1812}
1813
1815{
1816 if (elevator)
1817 elevator->LevelingOffset = atof(txtLevelingOffset->GetValue());
1818}
1819
1821{
1822 if (elevator)
1823 elevator->LevelingOpen = atof(txtLevelingOpen->GetValue());
1824}
1825
1826void editelevator::On_bNotifyEarly_Click(wxCommandEvent& event)
1827{
1828 if (elevator)
1829 elevator->NotifyEarly = atoi(txtNotifyEarly->GetValue());
1830}
1831
1832void editelevator::On_chkRun_Click(wxCommandEvent& event)
1833{
1834 if (elevator)
1835 elevator->SetRunState(chkRun->GetValue());
1836}
1837
1838void editelevator::On_bSetQuickClose_Click(wxCommandEvent& event)
1839{
1840 if (door)
1841 door->QuickClose = atoi(txtQuickClose->GetValue());
1842}
1843
1844void editelevator::On_bSetNudgeTimer_Click(wxCommandEvent& event)
1845{
1846 if (door)
1847 door->NudgeTimer = atof(txtNudgeTimer->GetValue());
1848}
1849
1850void editelevator::On_bSetSlowSpeed_Click(wxCommandEvent& event)
1851{
1852 if (door)
1853 door->SlowSpeed = atof(txtSlowSpeed->GetValue());
1854}
1855
1857{
1858 if (door)
1859 door->ManualSpeed = atof(txtManualSpeed->GetValue());
1860}
1861
1863{
1864 if (elevator)
1865 elevator->DepartureDelay = atof(txtDepartureDelay->GetValue());
1866}
1867
1869{
1870 if (elevator)
1871 elevator->ArrivalDelay = atof(txtArrivalDelay->GetValue());
1872}
1873
1875{
1876 if (elevator)
1877 elevator->InspectionSpeed = atof(txtInspectionSpeed->GetValue());
1878}
1879
1880void editelevator::On_bSetMusicOn_Click(wxCommandEvent& event)
1881{
1882 if (car)
1883 car->MusicOn = !car->MusicOn;
1884}
1885
1887{
1888 if (car)
1890}
1891
1893{
1894 if (car)
1896}
1897
1898void editelevator::On_bSetFloorBeeps_Click(wxCommandEvent& event)
1899{
1900 if (car)
1902}
1903
1905{
1906 if (car)
1908}
1909
1910void editelevator::On_bSetAutoEnable_Click(wxCommandEvent& event)
1911{
1912 if (car)
1914}
1915
1916void editelevator::On_bSetReOpen_Click(wxCommandEvent& event)
1917{
1918 if (elevator)
1920}
1921
1922void editelevator::On_bSetAutoDoors_Click(wxCommandEvent& event)
1923{
1924 if (elevator)
1926}
1927
1928void editelevator::On_bInterlocks_Click(wxCommandEvent& event)
1929{
1930 if (elevator)
1932}
1933
1934void editelevator::On_bSetNudge_Click(wxCommandEvent& event)
1935{
1936 if (elevator)
1937 {
1938 int door = sDoor->GetThumbPosition();
1939 bool status = car->IsNudgeModeActive(door);
1940 car->EnableNudgeMode(!status, door);
1941 }
1942}
1943
1944void editelevator::On_bDoorSensor_Click(wxCommandEvent& event)
1945{
1946 if (elevator)
1947 {
1948 int door = sDoor->GetThumbPosition();
1949 bool status = car->GetSensorStatus(door);
1950 car->EnableSensor(!status, door);
1951 }
1952}
1953
1954void editelevator::On_bSetType_Click(wxCommandEvent& event)
1955{
1956 if (elevator)
1957 elevator->Type = txtType->GetValue();
1958}
1959
1960void editelevator::On_bSetUpSpeed_Click(wxCommandEvent& event)
1961{
1962 if (elevator)
1963 elevator->UpSpeed = atof(txtUpSpeed->GetValue());
1964}
1965
1966void editelevator::On_bSetDownSpeed_Click(wxCommandEvent& event)
1967{
1968 if (elevator)
1969 elevator->DownSpeed = atof(txtDownSpeed->GetValue());
1970}
1971
1972void editelevator::On_bNotifyLate_Click(wxCommandEvent& event)
1973{
1974 if (elevator)
1976}
1977
1978void editelevator::On_bSetID_Click(wxCommandEvent& event)
1979{
1980 if (elevator)
1981 elevator->ID = txtID->GetValue();
1982}
1983
1984void editelevator::On_bFan_Click(wxCommandEvent& event)
1985{
1986 if (car)
1987 car->Fan = !car->Fan;
1988}
1989
1990void editelevator::On_bSelectCurrent_Click(wxCommandEvent& event)
1991{
1992 if (!Simcore)
1993 return;
1994
1995 if (Simcore->InElevator == true && Simcore->camera && car)
1996 {
1997 sNumber->SetThumbPosition(Simcore->ElevatorNumber - 1);
1998 sCar->SetThumbPosition(Simcore->CarNumber - 1);
1999 sFloor->SetThumbPosition(car->GetFloorIndex(Simcore->camera->CurrentFloor));
2000 set_current_floor = true;
2001 }
2002}
2003
2005{
2006 if (elevator)
2008}
2009
2010void editelevator::On_bMusicAlwaysOn_Click(wxCommandEvent& event)
2011{
2012 if (car)
2014}
2015
2016void editelevator::On_bMalfunction_Click(wxCommandEvent& event)
2017{
2018 if (elevator)
2020}
2021
2023{
2024 if (!car)
2025 return;
2026
2027 int index = event.GetInt();
2028 std::string name = chkServicedFloors->GetString(index).ToStdString();
2029
2030 if (chkServicedFloors->IsChecked(index) == true)
2031 car->AddServicedFloor(ToInt(name), false);
2032 else
2033 car->RemoveServicedFloor(ToInt(name), false);
2034}
2035
2036}
bool FireService(int value)
int CurrentFloor
Definition camera.h:49
void StopDoors(int number=0)
bool OpenDoorsEmergency(int number=0, int whichdoors=1, int floor=0, bool hold=false)
void HoldDoors(int number=0, bool sensor=false)
bool GetSensorStatus(int number=0)
void CloseDoorsEmergency(int number=0, int whichdoors=1, int floor=0, bool hold=false)
void RemoveServicedFloor(int number, bool remove_shaft_door=true)
bool OpenDoors(int number=0, int whichdoors=1, int floor=0, bool manual=false, bool hold=false)
void EnableNudgeMode(bool value, int number=0)
bool ShaftDoorsExist(int number, int floor, bool include_nonserviced=false)
Vector3 MusicPosition
Definition elevatorcar.h:43
bool IsNudgeModeActive(int number=0)
bool IsServicedFloor(int floor, bool report=true)
int GetFloorIndex(int floor)
bool AddServicedFloor(int number, bool create_shaft_door=true)
bool IndependentServiceActive()
int GetServicedFloor(int index)
void CloseDoors(int number=0, int whichdoors=1, int floor=0, bool manual=false, bool hold=false)
ElevatorDoor * GetDoor(int number)
void EnableSensor(bool value, int number=0)
bool GetSensorStatus(bool persistent=true)
DoorWrapper * GetDoorWrapper()
Vector3 ShaftDoorOrigin
void Chime(int floor, bool direction)
Real TempDeceleration
Definition elevator.h:52
bool EnableACP(bool value)
Real GetStoppingDistance()
int RecallFloor
Definition elevator.h:80
Real DepartureDelay
Definition elevator.h:100
bool Interlocks
Definition elevator.h:111
Real ErrorOffset
Definition elevator.h:53
bool Notified
Definition elevator.h:98
Vector3 MotorPosition
Definition elevator.h:86
Real DecelJerk
Definition elevator.h:51
bool QueueResets
Definition elevator.h:87
Real LevelingOpen
Definition elevator.h:93
Real InspectionSpeed
Definition elevator.h:103
bool EnableIndependentService(bool value, int car_number=0)
bool SetDownButton(bool value)
bool SetUpButton(bool value)
std::string GetFloorSkipText()
Real ParkingDelay
Definition elevator.h:89
Real LevelingOffset
Definition elevator.h:92
bool EnableUpPeak(bool value)
void SetFloorSkipText(const std::string &id)
int QueuePositionDirection
Definition elevator.h:40
int GetEmergencyStopStatus()
bool MoveElevator
Definition elevator.h:45
ElevatorCar * GetCar(int number)
int GetActiveCallFloor()
bool AddRoute(int floor, int direction, int call_type)
Definition elevator.cpp:556
bool SetRecallFloor(int floor)
std::string Type
Definition elevator.h:38
void Malfunction()
bool EnableDownPeak(bool value)
bool WaitForDoors
Definition elevator.h:94
Real ArrivalDelay
Definition elevator.h:101
void ResetQueue(bool up, bool down, bool stop_if_empty=true)
bool Stop(bool emergency=false)
Definition elevator.cpp:812
void SetRunState(bool value)
bool LimitQueue
Definition elevator.h:104
bool Go(int floor, bool hold=false)
Real LevelingSpeed
Definition elevator.h:91
bool DownPeak
Definition elevator.h:73
std::string Name
Definition elevator.h:36
bool WaitForTimer
Definition elevator.h:102
bool NotifyLate
Definition elevator.h:97
int ActiveDirection
Definition elevator.h:95
void Enabled(bool value)
bool EnableInspectionService(bool value)
bool SetACPFloor(int floor)
CallStation * GetPrimaryCallStation()
bool Leveling
Definition elevator.h:90
int LastQueueFloor[2]
Definition elevator.h:42
int AssignedShaft
Definition elevator.h:56
Real AccelJerk
Definition elevator.h:50
int LastChimeDirection
Definition elevator.h:106
Real DistanceToTravel
Definition elevator.h:54
std::string ID
Definition elevator.h:37
void DumpQueues()
Real Deceleration
Definition elevator.h:49
bool InspectionService
Definition elevator.h:76
bool IsMoving
Definition elevator.h:60
int RecallFloorAlternate
Definition elevator.h:81
int GetActiveCallDirection()
bool IsEnabled
Definition elevator.h:57
int LastQueueDirection
Definition elevator.h:41
bool SetAlternateRecallFloor(int floor)
Real GetJerkRate()
Real GetElevatorStart()
Real Acceleration
Definition elevator.h:48
int GetActiveCallType()
Real ElevatorRate
Definition elevator.h:55
bool EnableFireService2(int value, int car_number=0, bool force=false)
bool SetGoButton(bool value)
bool GetBrakeStatus()
bool ChimeOnArrival
Definition elevator.h:118
int ParkingFloor
Definition elevator.h:88
Real GetDestination()
int FireServicePhase1
Definition elevator.h:77
int NotifyEarly
Definition elevator.h:96
Real DownSpeed
Definition elevator.h:44
bool OpenOnStart
Definition elevator.h:108
bool ManualGo
Definition elevator.h:83
Floor * GetIndex(int index)
Definition manager.cpp:177
int Number
Definition floor.h:36
std::string ID
Definition floor.h:38
virtual Vector3 GetPosition(bool relative=false)
Definition object.cpp:321
Elevator * GetElevator(int number)
Definition sbs.cpp:1746
FloorManager * GetFloorManager()
Definition sbs.cpp:4533
int CarNumber
Definition sbs.h:166
int GetElevatorCount()
Definition sbs.cpp:1703
Floor * GetFloor(int number)
Definition sbs.cpp:1739
Camera * camera
Definition sbs.h:160
int ElevatorNumber
Definition sbs.h:165
bool InElevator
Definition sbs.h:163
SBS::SBS * GetSystem()
Definition debugpanel.h:131
static const long ID_bOpenManual
void On_bInterlocks_Click(wxCommandEvent &event)
static const long ID_txtDoorTimer
void On_bSetParkingDelay_Click(wxCommandEvent &event)
static const long ID_STATICTEXT82
static const long ID_bSetACPFloor
static const long ID_txtDoorOrigin
void On_bSetSlowSpeed_Click(wxCommandEvent &event)
void On_bSetSkipFloorText_Click(wxCommandEvent &event)
static const long ID_STATICTEXT16
static const long ID_txtAcceleration
void On_Fire2Off_Select(wxCommandEvent &event)
void On_bSetDoorTimer_Click(wxCommandEvent &event)
static const long ID_STATICTEXT35
wxToggleButton * bDownPeak
wxTextCtrl * txtLevelingOffset
static const long ID_bRefresh
static const long ID_txtQuickClose
static const long ID_txtLastChimeDirection
static const long ID_bSetAcceleration
static const long ID_txtDownSpeed
static const long ID_STATICTEXT81
void On_bEnqueueDown_Click(wxCommandEvent &event)
static const long ID_STATICTEXT55
static const long ID_STATICTEXT77
static const long ID_Fire1On
void On_Fire2Hold_Select(wxCommandEvent &event)
wxToggleButton * bInsService
wxCheckListBox * chkServicedFloors
static const long ID_STATICTEXT6
static const long ID_STATICTEXT28
static const long ID_STATICTEXT13
wxRadioButton * Fire2Off
void On_bMusicAlwaysOn_Click(wxCommandEvent &event)
static const long ID_STATICTEXT27
wxTextCtrl * txtDoorDirection
static const long ID_STATICTEXT41
static const long ID_STATICTEXT26
static const long ID_STATICTEXT1
static const long ID_bGoToggle
static const long ID_txtMusicPosition
static const long ID_txtMusicOnMove
static const long ID_bSetSkipFloorText
void On_bSetArrivalDelay_Click(wxCommandEvent &event)
static const long ID_txtWaitForTimer
void On_bSelectCurrent_Click(wxCommandEvent &event)
static const long ID_txtDepartureDelay
static const long ID_bEnqueueUp
static const long ID_txtNotifyEarly
static const long ID_bIndService
static const long ID_bLevelingOpen
static const long ID_txtMusicAlwaysOn
static const long ID_STATICTEXT74
static const long ID_bSetDepartureDelay
static const long ID_bSetRecallAlternate
wxTextCtrl * txtInspectionSpeed
static const long ID_txtRecallFloor
void On_Fire1On_Select(wxCommandEvent &event)
static const long ID_STATICTEXT30
static const long ID_txtNotifyLate
wxRadioButton * Fire1Off
static const long ID_txtName
static const long ID_txtRate
void On_bCloseManual_Click(wxCommandEvent &event)
static const long ID_STATICTEXT36
static const long ID_STATICTEXT5
static const long ID_STATICTEXT91
wxTextCtrl * txtQueueLastDown
static const long ID_bSetName
static const long ID_bChime
static const long ID_txtCameraOffset
static const long ID_bSetMusicOn
static const long ID_STATICTEXT3
static const long ID_txtChimeOnArrival
static const long ID_STATICTEXT10
static const long ID_txtLeveling
static const long ID_txtAccelJerk
static const long ID_bSetParkingDelay
void On_bSetMusicOn_Click(wxCommandEvent &event)
wxToggleButton * bGoToggle
static const long ID_txtManualMove
void On_bSetNudgeTimer_Click(wxCommandEvent &event)
void On_bStopDoors_Click(wxCommandEvent &event)
static const long ID_txtFloorSounds
wxToggleButton * bDown
static const long ID_txtACPFloor
void On_bSetMessageSounds_Click(wxCommandEvent &event)
void On_bSetInspectionSpeed_Click(wxCommandEvent &event)
static const long ID_txtID
static const long ID_bNotifyEarly
static const long ID_bSetParkingFloor
static const long ID_txtDestFloor
static const long ID_STATICTEXT67
static const long ID_CHECKBOX1
static const long ID_bInsService
wxTextCtrl * txtLastChimeDirection
static const long ID_txtElevStart
void On_bSetDeceleration_Click(wxCommandEvent &event)
static const long ID_bSetNudge
static const long ID_STATICTEXT76
static const long ID_txtTempDecel
static const long ID_txtEnabled
static const long ID_txtSkipFloorText
static const long ID_bCloseShaftDoor
static const long ID_txtDoorDirection
void On_bSetQuickClose_Click(wxCommandEvent &event)
static const long ID_bCall
static const long ID_bUpPeak
wxTextCtrl * txtChimeOnArrival
static const long ID_txtDecelJerk
static const long ID_Fire2Hold
static const long ID_bOpen
static const long ID_txtNudgeMode
static const long ID_STATICTEXT83
static const long ID_STATICTEXT86
void On_bGo_Click(wxCommandEvent &event)
wxRadioButton * Fire2Hold
static const long ID_txtFloor
static const long ID_txtIsIdle
static const long ID_bSetAutoEnable
void On_bSetLevelingOpen_Click(wxCommandEvent &event)
static const long ID_txtBrakes
static const long ID_STATICTEXT48
static const long ID_txtDirection
static const long ID_bFan
static const long ID_bSetSlowSpeed
static const long ID_txtWaitForDoors
static const long ID_txtJerkRate
static const long ID_txtParkingFloor
static const long ID_STATICTEXT57
void On_bIndService_Toggle(wxCommandEvent &event)
static const long ID_STATICTEXT49
static const long ID_Fire2On
static const long ID_bSetDoorTimer
static const long ID_bSelectCurrent
static const long ID_bNotifyLate
static const long ID_bResetQueues
static const long ID_STATICTEXT58
static const long ID_STATICTEXT78
static const long ID_chkRun
static const long ID_STATICTEXT61
static const long ID_STATICTEXT88
static const long ID_STATICTEXT70
static const long ID_STATICTEXT92
static const long ID_STATICTEXT22
static const long ID_txtType
static const long ID_txtMusicOn
static const long ID_STATICTEXT87
static const long ID_txtIsMoving
static const long ID_STATICTEXT40
static const long ID_txtParkingDelay
static const long ID_bSetID
static const long ID_STATICTEXT68
wxTextCtrl * txtLevelingSpeed
wxTextCtrl * txtActiveCallDirection
static const long ID_txtInterlocks
static const long ID_txtActiveCallDirection
static const long ID_bSetQuickClose
static const long ID_STATICTEXT11
static const long ID_txtQueueResets
static const long ID_STATICTEXT24
void On_Fire1Off_Select(wxCommandEvent &event)
static const long ID_txtInspectionSpeed
void On_bOpenManual_Click(wxCommandEvent &event)
static const long ID_STATICTEXT94
static const long ID_STATICTEXT79
void On_bSetName_Click(wxCommandEvent &event)
static const long ID_txtUpSpeed
void On_bSetManualSpeed_Click(wxCommandEvent &event)
static const long ID_bMusicAlwaysOn
wxTextCtrl * txtMessageSounds
static const long ID_STATICTEXT14
static const long ID_STATICTEXT25
wxToggleButton * bUpPeak
static const long ID_txtActiveDirection
static const long ID_txtLevelingOffset
static const long ID_STATICTEXT64
void On_bHoldDoors_Click(wxCommandEvent &event)
static const long ID_STATICTEXT17
static const long ID_txtArrivalDelay
void On_bStop_Click(wxCommandEvent &event)
static const long ID_txtMessageSounds
void On_bSetAcceleration_Click(wxCommandEvent &event)
static const long ID_sCar
static const long ID_STATICTEXT72
static const long ID_bDumpFloors
static const long ID_bOpenShaftDoor
static const long ID_txtOnFloor
void On_bOpenShaftDoor_Click(wxCommandEvent &event)
static const long ID_STATICTEXT23
static const long ID_STATICTEXT43
void On_bSetDepartureDelay_Click(wxCommandEvent &event)
static const long ID_STATICTEXT21
void On_bSetReOpen_Click(wxCommandEvent &event)
void On_bSetACPFloor_Click(wxCommandEvent &event)
wxRadioButton * Fire2On
static const long ID_txtNumber
static const long ID_STATICTEXT29
static const long ID_txtLevelingSpeed
static const long ID_txtStop
void On_bSetChimeOnArrival_Click(wxCommandEvent &event)
static const long ID_txtMoveElevator
static const long ID_bDownPeak
static const long ID_STATICTEXT84
static const long ID_sNumber
static const long ID_STATICTEXT85
static const long ID_txtShaftDoorOrigin
static const long ID_txtQueueLastUp
static const long ID_bSetReOpen
static const long ID_STATICTEXT51
static const long ID_STATICTEXT15
void On_bSetID_Click(wxCommandEvent &event)
static const long ID_STATICTEXT63
void On_bSetAutoDoors_Click(wxCommandEvent &event)
static const long ID_txtDoorSize
static const long ID_STATICTEXT66
static const long ID_txtLimitQueue
static const long ID_bSetDeceleration
void On_bChime_Click(wxCommandEvent &event)
void On_bDown_Toggle(wxCommandEvent &event)
wxTextCtrl * txtActiveDirection
void On_bCloseShaftDoor_Click(wxCommandEvent &event)
static const long ID_txtDoorStopped
static const long ID_STATICTEXT42
static const long ID_STATICTEXT18
static const long ID_STATICTEXT32
static const long ID_STATICTEXT45
static const long ID_txtOpenOnStart
void On_bCall_Click(wxCommandEvent &event)
static const long ID_txtManualGo
wxToggleButton * bIndService
void On_Fire2On_Select(wxCommandEvent &event)
static const long ID_STATICTEXT89
static const long ID_bSetInspectionSpeed
static const long ID_txtAlarm
SBS::ElevatorCar * car
static const long ID_bStop
static const long ID_bSetFloorBeeps
static const long ID_txtActiveCallFloor
wxTextCtrl * txtActiveCallFloor
static const long ID_bSetDownSpeed
static const long ID_STATICTEXT69
static const long ID_STATICTEXT50
static const long ID_bInterlocks
static const long ID_txtDoorsOpen
void On_bMalfunction_Click(wxCommandEvent &event)
static const long ID_STATICTEXT33
static const long ID_sDoor
static const long ID_bDown
static const long ID_txtQueueLastDirection
void On_chkRun_Click(wxCommandEvent &event)
void On_bSetAccelJerk_Click(wxCommandEvent &event)
static const long ID_Fire1Bypass
static const long ID_bSetNudgeTimer
void On_bSetParkingFloor_Click(wxCommandEvent &event)
static const long ID_txtNotified
static const long ID_STATICTEXT20
void On_bSetDownSpeed_Click(wxCommandEvent &event)
static const long ID_bSetAutoDoors
static const long ID_STATICTEXT65
static const long ID_bSetLevelingSpeed
static const long ID_bDoorSensor
static const long ID_Fire2Off
void On_bSetUpSpeed_Click(wxCommandEvent &event)
static const long ID_STATICTEXT9
static const long ID_STATICTEXT53
static const long ID_STATICTEXT90
void On_bUpPeak_Toggle(wxCommandEvent &event)
void On_bEnqueueUp_Click(wxCommandEvent &event)
void On_bInsService_Toggle(wxCommandEvent &event)
wxTextCtrl * txtDepartureDelay
void On_bResetQueues_Click(wxCommandEvent &event)
void On_bDoorSensor_Click(wxCommandEvent &event)
static const long ID_bSetManualSpeed
static const long ID_STATICTEXT38
static const long ID_txtFloorBeeps
void On_bSetFloorSounds_Click(wxCommandEvent &event)
static const long ID_bDumpQueues
static const long ID_STATICTEXT31
void On_bClose_Click(wxCommandEvent &event)
static const long ID_STATICTEXT34
wxTextCtrl * txtShaftDoorOrigin
static const long ID_tFloor
void On_bDumpFloors_Click(wxCommandEvent &event)
void On_bSetFloorBeeps_Click(wxCommandEvent &event)
void On_chkServicedFloors_Toggled(wxCommandEvent &event)
void On_bSetType_Click(wxCommandEvent &event)
static const long ID_txtQueueLastDown
static const long ID_bHoldDoors
void On_bNotifyEarly_Click(wxCommandEvent &event)
static const long ID_txtNudgeTimer
static const long ID_bCloseManual
static const long ID_STATICTEXT56
void On_bDownPeak_Toggle(wxCommandEvent &event)
static const long ID_STATICTEXT8
wxRadioButton * Fire1On
static const long ID_bSetArrivalDelay
static const long ID_bSetDecelJerk
static const long ID_txtShaft
static const long ID_STATICTEXT4
static const long ID_txtManualSpeed
static const long ID_tDoor
static const long ID_STATICTEXT52
void On_bSetMusicOnMove_Click(wxCommandEvent &event)
static const long ID_STATICTEXT62
static const long ID_bStopDoors
void On_bACPMode_Toggle(wxCommandEvent &event)
static const long ID_bClose
void On_bSetRecallFloor_Click(wxCommandEvent &event)
static const long ID_STATICTEXT73
void On_bSetNudge_Click(wxCommandEvent &event)
static const long ID_bSetMusicOnMove
static const long ID_txtFan
static const long ID_txtStopDistance
static const long ID_bSetLevelingOffset
static const long ID_bGo
static const long ID_bSetFloorSounds
void On_bSetLevelingOffset_Click(wxCommandEvent &event)
static const long ID_bEnqueueDown
static const long ID_STATICTEXT37
static const long ID_bSetChimeOnArrival
static const long ID_txtParking
SBS::ElevatorDoor * door
static const long ID_txtDeceleration
static const long ID_STATICTEXT46
static const long ID_STATICTEXT80
static const long ID_chkServicedFloors
static const long ID_STATICTEXT12
static const long ID_txtRecallAlternate
static const long ID_STATICTEXT59
static const long ID_STATICTEXT19
static const long ID_txtSlowSpeed
wxRadioButton * Fire1Bypass
wxTextCtrl * txtMusicAlwaysOn
static const long ID_STATICTEXT47
static const long ID_txtLevelingOpen
static const long ID_tCar
static const long ID_txtDestination
wxTextCtrl * txtQueueDirection
static const long ID_bACPMode
static const long ID_bSetMessageSounds
void On_Fire1Bypass_Select(wxCommandEvent &event)
SBS::Elevator * elevator
static const long ID_bSetType
static const long ID_STATICTEXT75
static const long ID_bUp
void On_bSetLevelingSpeed_Click(wxCommandEvent &event)
static const long ID_bSetRecallFloor
static const long ID_txtHeight
static const long ID_txtQueueDirection
static const long ID_txtDoorSensor
static const long ID_bSetAccelJerk
wxTextCtrl * txtRecallAlternate
void On_chkVisible_Click(wxCommandEvent &event)
static const long ID_STATICTEXT44
static const long ID_STATICTEXT60
static const long ID_txtDistance
void On_bFan_Click(wxCommandEvent &event)
wxToggleButton * bACPMode
static const long ID_Fire1Off
static const long ID_STATICTEXT39
static const long ID_txtAutoDoors
static const long ID_bSetUpSpeed
wxTextCtrl * txtQueueLastDirection
static const long ID_txtErrorOffset
void On_bDumpQueues_Click(wxCommandEvent &event)
static const long ID_txtAutoEnable
wxTextCtrl * txtSkipFloorText
static const long ID_txtPosition
static const long ID_txtOriginFloor
static const long ID_STATICTEXT7
static const long ID_sFloor
static const long ID_bMalfunction
static const long ID_STATICTEXT2
static const long ID_STATICTEXT93
static const long ID_tElevator
void On_bSetDecelJerk_Click(wxCommandEvent &event)
static const long ID_txtReOpen
void On_bSetRecallAlternate_Click(wxCommandEvent &event)
void On_bOpen_Click(wxCommandEvent &event)
void On_bGoToggle_Toggle(wxCommandEvent &event)
static const long ID_txtMotor
void On_bNotifyLate_Click(wxCommandEvent &event)
wxTextCtrl * txtMusicPosition
static const long ID_STATICTEXT71
void On_bSetAutoEnable_Click(wxCommandEvent &event)
static const long ID_STATICTEXT54
void On_bRefresh_Click(wxCommandEvent &event)
void On_bUp_Toggle(wxCommandEvent &event)
int ToInt(const std::string &string)
Definition globals.cpp:402
std::string ToString(int number)
Definition globals.cpp:279
std::string BoolToString(bool item)
Definition globals.cpp:101
wxString TruncateNumber(float value, int decimals)