AddButton 1, switch.wav, Button1, ButtonLit1, 12, 3, 0, 1, 1
AddButton 1, switch.wav, ButtonOpen, ButtonOpen, 13, 2, open, 2, 2
AddButton 1, switch.wav, ButtonClose, ButtonClose, 13, 4, close, 2, 2
- AddControl 1, switch.wav, 14, 2, 2, 2, 0, 0, off, stop, StopStop, StopRun
+ AddControl 1, switch.wav, 14, 2, 2, 2, 0, 0, run, stop, StopRun, StopStop
AddButton 1, , ButtonAlarm, ButtonAlarm, 14, 4, alarm, 2, 2
#Floor Indicator
Version 1.9 (2.0 Alpha 9)
-------------------------
+-fixed button/control texture multipliers - this fix will break previous buildings' buttons and controls if they use size multipliers other than 0 or 1. Previously changing the size would mess up the button positioning
+-updated Simple building with internal and external fire switches
+-added more texture content
+-added fire service enable function to call button code; switching one elevator to fire service phase 1 now switches all elevators in same bank (all being serviced by the first call button on recall floor) into fire service mode
+-added elevator door open/close button hold feature (constant pressure support), for certain modes such as independent service and fire modes
+-renamed CancelLastRoute to CallCancel
+-major reworking of fire service modes to make them more realistic
+-added reversals to door opening, used in fire modes to reclose the doors if open button is released
+-major Glass Tower lobby changes; atrium base is now the Atrium level (previously mezzanine) to match movie depictions of the Hyatt Regency and Bank of America buildings
+-added full support for manual elevators
+-fixed issue where floor would turn off when closing shaft doors even if ShaftShowFloors is enabled
+-added "0 to disable" options for DoorTimer and QuickClose parameters
+-added AutoOpen parameter
+-added OpenOnStart parameter
+-added new Simple building with manual doors
+-added OpenExt and CloseExt actions
+-added more elevator and shaft door actions
-updated to OGRE 1.8, and updated meshes to newer format
-Glass Tower texture mapping fix for top of front setback pinnacle
-fixed camera control X axis reversal
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<object class="wxTextCtrl" name="ID_TEXTCTRL1" variable="TextCtrl1" member="yes">
- <value>Simulator Keyboard and Mouse Controls from the readme.txt file:

--- Keyboard ---
W or Up Arrow - move forwards
S or Down Arrow - move backwards
A or Left Arrow - move left
D or Right Arrow - move right
PgUp or P - Look upwards
PgDown or L - Look downwards
Space - Jump
Home or O - Float upwards (or jump if collision detection is on)
End or K - Float downwards (or crouch if collision detection is on)
F2 - print FPS on console
F3 - Reset camera rotation and zoom to default
F4 - Enable/disable wireframe mode
F5 - Freelook (mouse look) mode
F6 - Full camera reset (respawn)
F7 - Show colliders
F10 - Fullscreen mode
F11 - Take screenshot
F12 - Show control panel
Shift - Run (hold down with other keys)
Control - Walk slowly (hold down with other keys)
Alt + arrow keys - Strafe
Alt + PgUp/P - Spin right
Alt + PgDown/L - Spin left
Plus - Zoom in (decrease FOV angle)
Minus - Zoom out (increase FOV angle)
Esc - exit to main menu
V - Toggle noclip mode (gravity and collisions off)
Ctrl-Alt-C - crash program (throw exception), used for testing handlers

--- Mouse actions ---
-elevator shaft doors can be manually opened and closed by holding down the Shift key and clicking on them
-polygons (wall/floor sides) can be deleted by holding down Ctrl and clicking on the object
-doors, controls/buttons, and call buttons can be locked/unlocked by holding down the Shift key and clicking on the side to lock, if you have the associated key
</value>
+ <value>Simulator Keyboard and Mouse Controls from the readme.txt file:

--- Keyboard ---
W or Up Arrow - move forwards
S or Down Arrow - move backwards
A or Left Arrow - move left
D or Right Arrow - move right
PgUp or P - Look upwards
PgDown or L - Look downwards
Space - Jump
Home or O - Float upwards (or jump if collision detection is on)
End or K - Float downwards (or crouch if collision detection is on)
F2 - print FPS on console
F3 - Reset camera rotation and zoom to default
F4 - Enable/disable wireframe mode
F5 - Freelook (mouse look) mode
F6 - Full camera reset (respawn)
F7 - Show colliders
F10 - Fullscreen mode
F11 - Take screenshot
F12 - Show control panel
Shift - Run (hold down with other keys)
Control - Walk slowly (hold down with other keys)
Alt + arrow keys - Strafe
Alt + PgUp/P - Spin right
Alt + PgDown/L - Spin left
Plus - Zoom in (decrease FOV angle)
Minus - Zoom out (increase FOV angle)
Esc - exit to main menu
V - Toggle noclip mode (gravity and collisions off)
Ctrl-Alt-C - crash program (throw exception), used for testing handlers

--- Mouse actions ---
-elevator shaft doors can be manually opened and closed by holding down the Shift key and clicking on them - note that this only works when the interlocks are released, which can be done in the elevator editor by clicking "Set" next to "Interlocks" on the related elevator
-polygons (wall/floor sides) can be deleted by holding down Ctrl and clicking on the object
-doors, controls/buttons, and call buttons can be locked/unlocked by holding down the Shift key and clicking on the side to lock, if you have the associated key
</value>
<minsize>600,500</minsize>
<style>wxTE_MULTILINE|wxTE_READONLY</style>
</object>
<object class="wxStaticBoxSizer" variable="StaticBoxSizer2" member="yes">
<label>General</label>
<object class="sizeritem">
- <object class="wxFlexGridSizer" variable="FlexGridSizer1" member="yes">
- <cols>3</cols>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT3" variable="StaticText3" member="yes">
- <label>Number:</label>
- </object>
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtNumber" variable="txtNumber" member="yes">
- <size>75,-1</size>
- <style>wxTE_READONLY</style>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
- <border>5</border>
- </object>
- <object class="spacer">
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT5" variable="StaticText5" member="yes">
- <label>Name:</label>
- </object>
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtName" variable="txtName" member="yes">
- <size>75,-1</size>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
- <border>5</border>
- </object>
- <object class="sizeritem">
- <object class="wxButton" name="ID_bSetName" variable="bSetName" member="yes">
- <label>Set</label>
- <style>wxBU_EXACTFIT</style>
- <handler function="On_bSetName_Click" entry="EVT_BUTTON" />
- </object>
- <flag>wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT4" variable="StaticText4" member="yes">
- <label>Enabled:</label>
- </object>
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtEnabled" variable="txtEnabled" member="yes">
- <size>75,-1</size>
- <style>wxTE_READONLY</style>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
- <border>5</border>
- </object>
- <object class="spacer">
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT6" variable="StaticText6" member="yes">
- <label>Shaft:</label>
- </object>
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtShaft" variable="txtShaft" member="yes">
- <size>75,-1</size>
- <style>wxTE_READONLY</style>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
- <border>5</border>
- </object>
- <object class="spacer">
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT7" variable="StaticText7" member="yes">
- <label>Height:</label>
- </object>
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtHeight" variable="txtHeight" member="yes">
- <size>75,-1</size>
- <style>wxTE_READONLY</style>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
- <border>5</border>
- </object>
- <object class="spacer">
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT8" variable="StaticText8" member="yes">
- <label>DWidth:</label>
- </object>
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtDoorWidth" variable="txtDoorWidth" member="yes">
- <size>75,-1</size>
- <tooltip>Door Width</tooltip>
- <style>wxTE_READONLY</style>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
- <border>5</border>
- </object>
- <object class="spacer">
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT9" variable="StaticText9" member="yes">
- <label>DHeight:</label>
- </object>
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtDoorHeight" variable="txtDoorHeight" member="yes">
- <pos>-1,75</pos>
- <size>75,-1</size>
- <tooltip>Door Height</tooltip>
- <style>wxTE_READONLY</style>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
- <border>5</border>
- </object>
- <object class="spacer">
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT10" variable="StaticText10" member="yes">
- <label>DDirection:</label>
- </object>
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtDoorDirection" variable="txtDoorDirection" member="yes">
- <size>75,-1</size>
- <tooltip>Door Direction</tooltip>
- <style>wxTE_READONLY</style>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
- <border>5</border>
- </object>
- <object class="spacer">
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT11" variable="StaticText11" member="yes">
- <label>DoorsOpen:</label>
- </object>
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtDoorsOpen" variable="txtDoorsOpen" member="yes">
- <size>75,-1</size>
- <style>wxTE_READONLY</style>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
- <border>5</border>
- </object>
- <object class="spacer">
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT12" variable="StaticText12" member="yes">
- <label>Brakes:</label>
- </object>
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtBrakes" variable="txtBrakes" member="yes">
- <size>75,-1</size>
- <style>wxTE_READONLY</style>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
- <border>5</border>
- </object>
- <object class="spacer">
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT13" variable="StaticText13" member="yes">
- <label>EmergStop:</label>
- </object>
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtStop" variable="txtStop" member="yes">
- <size>75,-1</size>
- <tooltip>Emergency Stop</tooltip>
- <style>wxTE_READONLY</style>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
- <border>5</border>
- </object>
- <object class="spacer">
- <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT42" variable="StaticText42" member="yes">
- <label>DoorTimer:</label>
- </object>
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtDoorTimer" variable="txtDoorTimer" member="yes">
- <size>75,-1</size>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxButton" name="ID_bSetDoorTimer" variable="bSetDoorTimer" member="yes">
- <label>Set</label>
- <style>wxBU_EXACTFIT</style>
- <handler function="On_bSetDoorTimer_Click" entry="EVT_BUTTON" />
- </object>
- <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT61" variable="StaticText61" member="yes">
- <label>QuickClose:</label>
- </object>
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtQuickClose" variable="txtQuickClose" member="yes">
- <size>75,-1</size>
- </object>
- <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxButton" name="ID_bSetQuickClose" variable="bSetQuickClose" member="yes">
- <label>Set</label>
- <style>wxBU_EXACTFIT</style>
- <handler function="On_bSetQuickClose_Click" entry="EVT_BUTTON" />
- </object>
- <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT32" variable="StaticText32" member="yes">
- <label>UseFlrSkip:</label>
- </object>
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtUseSkipFloor" variable="txtUseSkipFloor" member="yes">
- <size>75,-1</size>
- <tooltip>Use Floor Skip Text</tooltip>
- <style>wxTE_READONLY</style>
- </object>
- <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="spacer">
- <flag>wxALIGN_LEFT|wxALIGN_TOP</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT44" variable="StaticText44" member="yes">
- <label>FlrSkipTxt:</label>
- </object>
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtSkipFloorText" variable="txtSkipFloorText" member="yes">
- <size>75,-1</size>
- <tooltip>Floor Skip Text</tooltip>
- </object>
- <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxButton" name="ID_bSetSkipFloorText" variable="bSetSkipFloorText" member="yes">
- <label>Set</label>
- <style>wxBU_EXACTFIT</style>
- <handler function="On_bSetSkipFloorText_Click" entry="EVT_BUTTON" />
- </object>
- <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT52" variable="StaticText52" member="yes">
- <label>Alarm On:</label>
- </object>
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtAlarm" variable="txtAlarm" member="yes">
- <size>75,-1</size>
- </object>
- <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="spacer">
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT28" variable="StaticText28" member="yes">
- <label>WaitDoors:</label>
- </object>
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtWaitForDoors" variable="txtWaitForDoors" member="yes">
- <size>75,-1</size>
- <tooltip>Wait for Doors</tooltip>
- </object>
- <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="spacer">
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
+ <object class="wxBoxSizer" variable="BoxSizer11" member="no">
<object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT67" variable="StaticText67" member="yes">
- <label>Nudge:</label>
+ <object class="wxFlexGridSizer" variable="FlexGridSizer1" member="yes">
+ <cols>3</cols>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT3" variable="StaticText3" member="yes">
+ <label>Number:</label>
+ </object>
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtNumber" variable="txtNumber" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
+ <object class="spacer">
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT5" variable="StaticText5" member="yes">
+ <label>Name:</label>
+ </object>
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtName" variable="txtName" member="yes">
+ <size>75,-1</size>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetName" variable="bSetName" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetName_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT4" variable="StaticText4" member="yes">
+ <label>Enabled:</label>
+ </object>
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtEnabled" variable="txtEnabled" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
+ <object class="spacer">
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT6" variable="StaticText6" member="yes">
+ <label>Shaft:</label>
+ </object>
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtShaft" variable="txtShaft" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
+ <object class="spacer">
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT7" variable="StaticText7" member="yes">
+ <label>Height:</label>
+ </object>
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtHeight" variable="txtHeight" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
+ <object class="spacer">
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT8" variable="StaticText8" member="yes">
+ <label>DWidth:</label>
+ </object>
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtDoorWidth" variable="txtDoorWidth" member="yes">
+ <size>75,-1</size>
+ <tooltip>Door Width</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
+ <object class="spacer">
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT9" variable="StaticText9" member="yes">
+ <label>DHeight:</label>
+ </object>
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtDoorHeight" variable="txtDoorHeight" member="yes">
+ <pos>-1,75</pos>
+ <size>75,-1</size>
+ <tooltip>Door Height</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
+ <object class="spacer">
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT10" variable="StaticText10" member="yes">
+ <label>DDirection:</label>
+ </object>
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtDoorDirection" variable="txtDoorDirection" member="yes">
+ <size>75,-1</size>
+ <tooltip>Door Direction</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
+ <object class="spacer">
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT11" variable="StaticText11" member="yes">
+ <label>DoorsOpen:</label>
+ </object>
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtDoorsOpen" variable="txtDoorsOpen" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
+ <object class="spacer">
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT12" variable="StaticText12" member="yes">
+ <label>Brakes:</label>
+ </object>
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtBrakes" variable="txtBrakes" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
+ <object class="spacer">
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT13" variable="StaticText13" member="yes">
+ <label>EmergStop:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtStop" variable="txtStop" member="yes">
+ <size>75,-1</size>
+ <tooltip>Emergency Stop</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
+ <object class="spacer">
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT42" variable="StaticText42" member="yes">
+ <label>DoorTimer:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtDoorTimer" variable="txtDoorTimer" member="yes">
+ <size>75,-1</size>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetDoorTimer" variable="bSetDoorTimer" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetDoorTimer_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT61" variable="StaticText61" member="yes">
+ <label>QuickClose:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtQuickClose" variable="txtQuickClose" member="yes">
+ <size>75,-1</size>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetQuickClose" variable="bSetQuickClose" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetQuickClose_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT32" variable="StaticText32" member="yes">
+ <label>UseFlrSkip:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtUseSkipFloor" variable="txtUseSkipFloor" member="yes">
+ <size>75,-1</size>
+ <tooltip>Use Floor Skip Text</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="spacer">
+ <flag>wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT44" variable="StaticText44" member="yes">
+ <label>FlrSkipTxt:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtSkipFloorText" variable="txtSkipFloorText" member="yes">
+ <size>75,-1</size>
+ <tooltip>Floor Skip Text</tooltip>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetSkipFloorText" variable="bSetSkipFloorText" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetSkipFloorText_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT52" variable="StaticText52" member="yes">
+ <label>Alarm On:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtAlarm" variable="txtAlarm" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="spacer">
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT28" variable="StaticText28" member="yes">
+ <label>WaitDoors:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtWaitForDoors" variable="txtWaitForDoors" member="yes">
+ <size>75,-1</size>
+ <tooltip>Wait for Doors</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="spacer">
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT67" variable="StaticText67" member="yes">
+ <label>Nudge:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtNudgeMode" variable="txtNudgeMode" member="yes">
+ <size>75,-1</size>
+ <tooltip>Nudge Mode</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetNudge" variable="bSetNudge" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetNudge_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
</object>
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
</object>
<object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtNudgeMode" variable="txtNudgeMode" member="yes">
- <size>75,-1</size>
- <tooltip>Nudge Mode</tooltip>
+ <object class="wxFlexGridSizer" variable="FlexGridSizer9" member="no">
+ <cols>3</cols>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT86" variable="StaticText86" member="yes">
+ <label>ActCallFloor:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtActiveCallFloor" variable="txtActiveCallFloor" member="yes">
+ <size>75,-1</size>
+ <tooltip>Active Call Floor</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="spacer">
+ <flag>wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT87" variable="StaticText87" member="yes">
+ <label>ActCallDir:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtActiveCallDirection" variable="txtActiveCallDirection" member="yes">
+ <size>75,-1</size>
+ <tooltip>Active Call Direction</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="spacer">
+ <flag>wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT70" variable="StaticText70" member="yes">
+ <label>Notified:</label>
+ </object>
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtNotified" variable="txtNotified" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ </object>
+ <object class="spacer">
+ <flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT75" variable="StaticText75" member="yes">
+ <label>WaitTimer:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtWaitForTimer" variable="txtWaitForTimer" member="yes">
+ <size>75,-1</size>
+ <tooltip>WaitForTimer</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="spacer">
+ <flag>wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT76" variable="StaticText76" member="yes">
+ <label>ChimeDir:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtLastChimeDirection" variable="txtLastChimeDirection" member="yes">
+ <size>75,-1</size>
+ <tooltip>LastChimeDirection</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="spacer">
+ <flag>wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT56" variable="StaticText56" member="yes">
+ <label>LevSpeed:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtLevelingSpeed" variable="txtLevelingSpeed" member="yes">
+ <size>75,-1</size>
+ <tooltip>Leveling Speed</tooltip>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetLevelingSpeed" variable="bSetLevelingSpeed" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetLevelingSpeed_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT57" variable="StaticText57" member="yes">
+ <label>LevOffset:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtLevelingOffset" variable="txtLevelingOffset" member="yes">
+ <size>75,-1</size>
+ <tooltip>Leveling Offset</tooltip>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetLevelingOffset" variable="bSetLevelingOffset" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetLevelingOffset_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT88" variable="StaticText88" member="yes">
+ <label>LevOpen:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtLevelingOpen" variable="txtLevelingOpen" member="yes">
+ <size>75,-1</size>
+ <tooltip>Leveling Open Offset</tooltip>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bLevelingOpen" variable="bLevelingOpen" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetLevelingOpen_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT58" variable="StaticText58" member="yes">
+ <label>MusicOn:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtMusicOn" variable="txtMusicOn" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetMusicOn" variable="bSetMusicOn" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetMusicOn_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT77" variable="StaticText77" member="yes">
+ <label>MusicMove:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtMusicOnMove" variable="txtMusicOnMove" member="yes">
+ <size>75,-1</size>
+ <tooltip>MusicOnMove</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetMusicOnMove" variable="bSetMusicOnMove" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetMusicOnMove_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT78" variable="StaticText78" member="yes">
+ <label>FlrSounds:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtFloorSounds" variable="txtFloorSounds" member="yes">
+ <size>75,-1</size>
+ <tooltip>FloorSounds</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetFloorSounds" variable="bSetFloorSounds" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetFloorSounds_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT79" variable="StaticText79" member="yes">
+ <label>FlrBeeps:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtFloorBeeps" variable="txtFloorBeeps" member="yes">
+ <size>75,-1</size>
+ <tooltip>FloorBeeps</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetFloorBeeps" variable="bSetFloorBeeps" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetFloorBeeps_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT80" variable="StaticText80" member="yes">
+ <label>MsgSounds:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtMessageSounds" variable="txtMessageSounds" member="yes">
+ <size>75,-1</size>
+ <tooltip>MessageSounds</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetMessageSounds" variable="bSetMessageSounds" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetMessageSounds_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT81" variable="StaticText81" member="yes">
+ <label>AutoEnable:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtAutoEnable" variable="txtAutoEnable" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetAutoEnable" variable="bSetAutoEnable" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetAutoEnable_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT82" variable="StaticText82" member="yes">
+ <label>ReOpen:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtReOpen" variable="txtReOpen" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetReOpen" variable="bSetReOpen" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetReOpen_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT83" variable="StaticText83" member="yes">
+ <label>AutoDoors:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtAutoDoors" variable="txtAutoDoors" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bSetAutoDoors" variable="bSetAutoDoors" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bSetAutoDoors_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT84" variable="StaticText84" member="yes">
+ <label>OpenStart:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtOpenOnStart" variable="txtOpenOnStart" member="yes">
+ <size>75,-1</size>
+ <tooltip>OpenOnStart</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="spacer">
+ <flag>wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT85" variable="StaticText85" member="yes">
+ <label>Interlocks:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtInterlocks" variable="txtInterlocks" member="yes">
+ <size>75,-1</size>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxButton" name="ID_bInterlocks" variable="bInterlocks" member="yes">
+ <label>Set</label>
+ <style>wxBU_EXACTFIT</style>
+ <handler function="On_bInterlocks_Click" entry="EVT_BUTTON" />
+ </object>
+ <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
</object>
- <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="spacer">
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <flag>wxLEFT|wxALIGN_LEFT|wxALIGN_TOP</flag>
<border>5</border>
- <option>1</option>
</object>
</object>
<flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <option>1</option>
</object>
</object>
<flag>wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_TOP|wxALIGN_CENTER_HORIZONTAL</flag>
<object class="sizeritem">
<object class="wxTextCtrl" name="ID_txtCameraOffset" variable="txtCameraOffset" member="yes">
<size>100,-1</size>
+ <tooltip>Camera Offset</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT71" variable="StaticText71" member="yes">
+ <label>Music:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtMusicPosition" variable="txtMusicPosition" member="yes">
+ <size>100,-1</size>
<style>wxTE_READONLY</style>
</object>
<flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
<object class="sizeritem">
<object class="wxTextCtrl" name="ID_txtQueueResets" variable="txtQueueResets" member="yes">
<size>100,-1</size>
- <tooltip>Queue Last Direction</tooltip>
+ <tooltip>Queue Resets</tooltip>
<style>wxTE_READONLY</style>
</object>
<flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
<object class="sizeritem">
<object class="wxTextCtrl" name="ID_txtLimitQueue" variable="txtLimitQueue" member="yes">
<size>100,-1</size>
- <tooltip>Queue Last Direction</tooltip>
+ <tooltip>Limit Queue</tooltip>
<style>wxTE_READONLY</style>
</object>
<flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
<flag>wxALL|wxALIGN_LEFT|wxALIGN_TOP</flag>
</object>
<object class="sizeritem">
+ <object class="wxStaticText" name="ID_STATICTEXT72" variable="StaticText72" member="yes">
+ <label>ActiveDir:</label>
+ </object>
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
+ <object class="wxTextCtrl" name="ID_txtActiveDirection" variable="txtActiveDirection" member="yes">
+ <size>75,-1</size>
+ <tooltip>Active Direction</tooltip>
+ <style>wxTE_READONLY</style>
+ </object>
+ <flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="spacer">
+ <flag>wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <border>5</border>
+ <option>1</option>
+ </object>
+ <object class="sizeritem">
<object class="wxStaticText" name="ID_STATICTEXT2" variable="StaticText2" member="yes">
<label>JerkRate:</label>
</object>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT56" variable="StaticText56" member="yes">
- <label>LevSpeed:</label>
+ <object class="wxStaticText" name="ID_STATICTEXT60" variable="StaticText60" member="yes">
+ <label>Parking:</label>
</object>
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtLevelingSpeed" variable="txtLevelingSpeed" member="yes">
+ <object class="wxTextCtrl" name="ID_txtParking" variable="txtParking" member="yes">
<size>75,-1</size>
- <tooltip>Leveling Speed</tooltip>
+ <style>wxTE_READONLY</style>
</object>
<flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
- <object class="sizeritem">
- <object class="wxButton" name="ID_bSetLevelingSpeed" variable="bSetLevelingSpeed" member="yes">
- <label>Set</label>
- <style>wxBU_EXACTFIT</style>
- <handler function="On_bSetLevelingSpeed_Click" entry="EVT_BUTTON" />
- </object>
- <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <object class="spacer">
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT57" variable="StaticText57" member="yes">
- <label>LvOffset:</label>
+ <object class="wxStaticText" name="ID_STATICTEXT73" variable="StaticText73" member="yes">
+ <label>ManualMove:</label>
</object>
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtLevelingOffset" variable="txtLevelingOffset" member="yes">
+ <object class="wxTextCtrl" name="ID_txtManualMove" variable="txtManualMove" member="yes">
<size>75,-1</size>
- <tooltip>Leveling Offset</tooltip>
+ <style>wxTE_READONLY</style>
</object>
<flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
- <object class="sizeritem">
- <object class="wxButton" name="ID_bSetLevelingOffset" variable="bSetLevelingOffset" member="yes">
- <label>Set</label>
- <style>wxBU_EXACTFIT</style>
- <handler function="On_bSetLevelingOffset_Click" entry="EVT_BUTTON" />
- </object>
- <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
+ <object class="spacer">
+ <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT58" variable="StaticText58" member="yes">
- <label>LevOpen:</label>
+ <object class="wxStaticText" name="ID_STATICTEXT63" variable="StaticText63" member="yes">
+ <label>SlowSpd:</label>
</object>
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtLevelingOpen" variable="txtLevelingOpen" member="yes">
+ <object class="wxTextCtrl" name="ID_txtSlowSpeed" variable="txtSlowSpeed" member="yes">
<size>75,-1</size>
- <tooltip>Leveling Open</tooltip>
+ <tooltip>Slow Speed Door Multiplier</tooltip>
</object>
<flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxButton" name="ID_bSetLevelingOpen" variable="bSetLevelingOpen" member="yes">
+ <object class="wxButton" name="ID_bSetSlowSpeed" variable="bSetSlowSpeed" member="yes">
<label>Set</label>
<style>wxBU_EXACTFIT</style>
- <handler function="On_bSetLevelingOpen_Click" entry="EVT_BUTTON" />
+ <handler function="On_bSetSlowSpeed_Click" entry="EVT_BUTTON" />
</object>
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT60" variable="StaticText60" member="yes">
- <label>Parking:</label>
- </object>
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtParking" variable="txtParking" member="yes">
- <size>75,-1</size>
- <style>wxTE_READONLY</style>
- </object>
- <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="spacer">
- <flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
- <border>5</border>
- <option>1</option>
- </object>
- <object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT63" variable="StaticText63" member="yes">
- <label>SlowSpd:</label>
+ <object class="wxStaticText" name="ID_STATICTEXT64" variable="StaticText64" member="yes">
+ <label>ManualSpd:</label>
</object>
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtSlowSpeed" variable="txtSlowSpeed" member="yes">
+ <object class="wxTextCtrl" name="ID_txtManualSpeed" variable="txtManualSpeed" member="yes">
<size>75,-1</size>
- <tooltip>Slow Speed Door Multiplier</tooltip>
+ <tooltip>Manual Door Speed Multiplier</tooltip>
</object>
<flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxButton" name="ID_bSetSlowSpeed" variable="bSetSlowSpeed" member="yes">
+ <object class="wxButton" name="ID_bSetManualSpeed" variable="bSetManualSpeed" member="yes">
<label>Set</label>
<style>wxBU_EXACTFIT</style>
- <handler function="On_bSetSlowSpeed_Click" entry="EVT_BUTTON" />
+ <handler function="On_bSetManualSpeed_Click" entry="EVT_BUTTON" />
</object>
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxStaticText" name="ID_STATICTEXT64" variable="StaticText64" member="yes">
- <label>ManualSpd:</label>
+ <object class="wxStaticText" name="ID_STATICTEXT74" variable="StaticText74" member="yes">
+ <label>InsSpeed:</label>
</object>
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxTextCtrl" name="ID_txtManualSpeed" variable="txtManualSpeed" member="yes">
+ <object class="wxTextCtrl" name="ID_txtInspectionSpeed" variable="txtInspectionSpeed" member="yes">
<size>75,-1</size>
- <tooltip>Manual Door Speed Multiplier</tooltip>
+ <tooltip>Inspection Mode Speed Multiplier</tooltip>
</object>
<flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<option>1</option>
</object>
<object class="sizeritem">
- <object class="wxButton" name="ID_bSetManualSpeed" variable="bSetManualSpeed" member="yes">
+ <object class="wxButton" name="ID_bSetInspectionSpeed" variable="bSetInspectionSpeed" member="yes">
<label>Set</label>
<style>wxBU_EXACTFIT</style>
- <handler function="On_bSetManualSpeed_Click" entry="EVT_BUTTON" />
+ <handler function="On_bSetInspectionSpeed_Click" entry="EVT_BUTTON" />
</object>
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
</object>
<object class="sizeritem">
<object class="wxStaticText" name="ID_STATICTEXT59" variable="StaticText59" member="yes">
- <label>Notify:</label>
+ <label>NotifyEarly:</label>
</object>
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
</object>
<object class="sizeritem">
<object class="wxStaticText" name="ID_STATICTEXT62" variable="StaticText62" member="yes">
- <label>NudgeTimer:</label>
+ <label>NudgeTmr:</label>
</object>
<flag>wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
<object class="sizeritem">
<object class="wxTextCtrl" name="ID_txtNudgeTimer" variable="txtNudgeTimer" member="yes">
<size>75,-1</size>
+ <tooltip>Nudge Timer</tooltip>
</object>
<flag>wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL</flag>
<border>5</border>
Syntax: <font face="Courier New, Courier, mono" size="2">OpenOnStart =
false</font></p>
+<p style="text-align:left;margin-left:0;margin-right:auto;"><strong>65.
+Interlocks</strong> - if this is set to true, the elevator doors will remain
+locked while the elevator is moving, will refuse to open unless the elevator is
+within a landing zone, and the elevator will not move unless the doors are
+closed. The default is true.<br>
+Syntax: <font face="Courier New, Courier, mono" size="2">Interlocks =
+false</font></p>
+
<p></p>
<p align="left"><strong>Commands:</strong></p>
<em>DownOff</em> (inspection mode down off)<br>
<em>GoOn</em> (inspection mode go on)<br>
<em>GoOff</em> (inspection mode go off)<br>
-<em>Return</em> (return to nearest serviced floor after stop).</p>
+<em>Return</em> (return to nearest serviced floor after stop)<br>
+<em>InterlocksOn</em> (enable interlocks)<br>
+<em>InterlocksOff</em> (disable interlocks)</p>
<p align="left">In the above list, <em>Open</em>, <em>Close</em>, related
commands such as <em>OpenInt</em> and <em>OpenManual</em>, and <em>Hold</em>
Ctrl-Alt-C - Crash program (throw exception) - used for testing handlers
--- Mouse actions ---
--elevator shaft doors can be manually opened and closed by holding down the Shift key and clicking on them
+-elevator shaft doors can be manually opened and closed by holding down the Shift key and clicking on them - note that this only works when the interlocks are released, which can be done in the elevator editor by clicking "Set" next to "Interlocks" on the related elevator
-polygons (wall/floor sides) can be deleted by holding down Ctrl and clicking on the object
-doors, controls/buttons, and call buttons can be locked/unlocked by holding down the Shift key and clicking on the side to lock, if you have the associated key
;automatically open elevator doors on start
Skyscraper.SBS.Elevator.OpenOnStart = false
+;lock doors during movement and if outside landing zone
+Skyscraper.SBS.Elevator.Interlocks = true
;
; Sound configuration
const long editelevator::ID_txtWaitForDoors = wxNewId();
const long editelevator::ID_STATICTEXT67 = wxNewId();
const long editelevator::ID_txtNudgeMode = wxNewId();
+const long editelevator::ID_bSetNudge = wxNewId();
+const long editelevator::ID_STATICTEXT86 = wxNewId();
+const long editelevator::ID_txtActiveCallFloor = wxNewId();
+const long editelevator::ID_STATICTEXT87 = wxNewId();
+const long editelevator::ID_txtActiveCallDirection = wxNewId();
+const long editelevator::ID_STATICTEXT70 = wxNewId();
+const long editelevator::ID_txtNotified = wxNewId();
+const long editelevator::ID_STATICTEXT75 = wxNewId();
+const long editelevator::ID_txtWaitForTimer = wxNewId();
+const long editelevator::ID_STATICTEXT76 = wxNewId();
+const long editelevator::ID_txtLastChimeDirection = wxNewId();
+const long editelevator::ID_STATICTEXT56 = wxNewId();
+const long editelevator::ID_txtLevelingSpeed = wxNewId();
+const long editelevator::ID_bSetLevelingSpeed = wxNewId();
+const long editelevator::ID_STATICTEXT57 = wxNewId();
+const long editelevator::ID_txtLevelingOffset = wxNewId();
+const long editelevator::ID_bSetLevelingOffset = wxNewId();
+const long editelevator::ID_STATICTEXT88 = wxNewId();
+const long editelevator::ID_txtLevelingOpen = wxNewId();
+const long editelevator::ID_bLevelingOpen = wxNewId();
+const long editelevator::ID_STATICTEXT58 = wxNewId();
+const long editelevator::ID_txtMusicOn = wxNewId();
+const long editelevator::ID_bSetMusicOn = wxNewId();
+const long editelevator::ID_STATICTEXT77 = wxNewId();
+const long editelevator::ID_txtMusicOnMove = wxNewId();
+const long editelevator::ID_bSetMusicOnMove = wxNewId();
+const long editelevator::ID_STATICTEXT78 = wxNewId();
+const long editelevator::ID_txtFloorSounds = wxNewId();
+const long editelevator::ID_bSetFloorSounds = wxNewId();
+const long editelevator::ID_STATICTEXT79 = wxNewId();
+const long editelevator::ID_txtFloorBeeps = wxNewId();
+const long editelevator::ID_bSetFloorBeeps = wxNewId();
+const long editelevator::ID_STATICTEXT80 = wxNewId();
+const long editelevator::ID_txtMessageSounds = wxNewId();
+const long editelevator::ID_bSetMessageSounds = wxNewId();
+const long editelevator::ID_STATICTEXT81 = wxNewId();
+const long editelevator::ID_txtAutoEnable = wxNewId();
+const long editelevator::ID_bSetAutoEnable = wxNewId();
+const long editelevator::ID_STATICTEXT82 = wxNewId();
+const long editelevator::ID_txtReOpen = wxNewId();
+const long editelevator::ID_bSetReOpen = wxNewId();
+const long editelevator::ID_STATICTEXT83 = wxNewId();
+const long editelevator::ID_txtAutoDoors = wxNewId();
+const long editelevator::ID_bSetAutoDoors = wxNewId();
+const long editelevator::ID_STATICTEXT84 = wxNewId();
+const long editelevator::ID_txtOpenOnStart = wxNewId();
+const long editelevator::ID_STATICTEXT85 = wxNewId();
+const long editelevator::ID_txtInterlocks = wxNewId();
+const long editelevator::ID_bInterlocks = wxNewId();
const long editelevator::ID_STATICTEXT14 = wxNewId();
const long editelevator::ID_txtFloor = wxNewId();
const long editelevator::ID_STATICTEXT15 = wxNewId();
const long editelevator::ID_txtMotor = wxNewId();
const long editelevator::ID_STATICTEXT54 = wxNewId();
const long editelevator::ID_txtCameraOffset = wxNewId();
+const long editelevator::ID_STATICTEXT71 = wxNewId();
+const long editelevator::ID_txtMusicPosition = wxNewId();
const long editelevator::ID_STATICTEXT38 = wxNewId();
const long editelevator::ID_txtQueueDirection = wxNewId();
const long editelevator::ID_STATICTEXT40 = wxNewId();
const long editelevator::ID_txtRate = wxNewId();
const long editelevator::ID_STATICTEXT27 = wxNewId();
const long editelevator::ID_txtDirection = wxNewId();
+const long editelevator::ID_STATICTEXT72 = wxNewId();
+const long editelevator::ID_txtActiveDirection = wxNewId();
const long editelevator::ID_STATICTEXT2 = wxNewId();
const long editelevator::ID_txtJerkRate = wxNewId();
const long editelevator::ID_STATICTEXT49 = wxNewId();
const long editelevator::ID_txtManualGo = wxNewId();
const long editelevator::ID_STATICTEXT55 = wxNewId();
const long editelevator::ID_txtLeveling = wxNewId();
-const long editelevator::ID_STATICTEXT56 = wxNewId();
-const long editelevator::ID_txtLevelingSpeed = wxNewId();
-const long editelevator::ID_bSetLevelingSpeed = wxNewId();
-const long editelevator::ID_STATICTEXT57 = wxNewId();
-const long editelevator::ID_txtLevelingOffset = wxNewId();
-const long editelevator::ID_bSetLevelingOffset = wxNewId();
-const long editelevator::ID_STATICTEXT58 = wxNewId();
-const long editelevator::ID_txtLevelingOpen = wxNewId();
-const long editelevator::ID_bSetLevelingOpen = wxNewId();
const long editelevator::ID_STATICTEXT60 = wxNewId();
const long editelevator::ID_txtParking = wxNewId();
+const long editelevator::ID_STATICTEXT73 = wxNewId();
+const long editelevator::ID_txtManualMove = wxNewId();
const long editelevator::ID_STATICTEXT63 = wxNewId();
const long editelevator::ID_txtSlowSpeed = wxNewId();
const long editelevator::ID_bSetSlowSpeed = wxNewId();
const long editelevator::ID_STATICTEXT64 = wxNewId();
const long editelevator::ID_txtManualSpeed = wxNewId();
const long editelevator::ID_bSetManualSpeed = wxNewId();
+const long editelevator::ID_STATICTEXT74 = wxNewId();
+const long editelevator::ID_txtInspectionSpeed = wxNewId();
+const long editelevator::ID_bSetInspectionSpeed = wxNewId();
const long editelevator::ID_STATICTEXT30 = wxNewId();
const long editelevator::ID_txtDestFloor = wxNewId();
const long editelevator::ID_STATICTEXT43 = wxNewId();
wxFlexGridSizer* FlexGridSizer8;
wxStaticBoxSizer* StaticBoxSizer10;
wxBoxSizer* BoxSizer7;
+ wxBoxSizer* BoxSizer11;
wxFlexGridSizer* FlexGridSizer4;
+ wxFlexGridSizer* FlexGridSizer9;
wxBoxSizer* BoxSizer4;
wxStaticBoxSizer* StaticBoxSizer4;
wxStaticBoxSizer* StaticBoxSizer9;
BoxSizer1->Add(BoxSizer2, 0, wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 0);
BoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
StaticBoxSizer2 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("General"));
+ BoxSizer11 = new wxBoxSizer(wxHORIZONTAL);
FlexGridSizer1 = new wxFlexGridSizer(0, 3, 0, 0);
StaticText3 = new wxStaticText(this, ID_STATICTEXT3, _("Number:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT3"));
FlexGridSizer1->Add(StaticText3, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
FlexGridSizer1->Add(bSetSkipFloorText, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
StaticText52 = new wxStaticText(this, ID_STATICTEXT52, _("Alarm On:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT52"));
FlexGridSizer1->Add(StaticText52, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
- txtAlarm = new wxTextCtrl(this, ID_txtAlarm, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtAlarm"));
+ txtAlarm = new wxTextCtrl(this, ID_txtAlarm, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtAlarm"));
FlexGridSizer1->Add(txtAlarm, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
FlexGridSizer1->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
StaticText28 = new wxStaticText(this, ID_STATICTEXT28, _("WaitDoors:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT28"));
FlexGridSizer1->Add(StaticText28, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
- txtWaitForDoors = new wxTextCtrl(this, ID_txtWaitForDoors, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtWaitForDoors"));
+ txtWaitForDoors = new wxTextCtrl(this, ID_txtWaitForDoors, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtWaitForDoors"));
txtWaitForDoors->SetToolTip(_("Wait for Doors"));
FlexGridSizer1->Add(txtWaitForDoors, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
FlexGridSizer1->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
StaticText67 = new wxStaticText(this, ID_STATICTEXT67, _("Nudge:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT67"));
FlexGridSizer1->Add(StaticText67, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
- txtNudgeMode = new wxTextCtrl(this, ID_txtNudgeMode, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtNudgeMode"));
+ txtNudgeMode = new wxTextCtrl(this, ID_txtNudgeMode, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtNudgeMode"));
txtNudgeMode->SetToolTip(_("Nudge Mode"));
FlexGridSizer1->Add(txtNudgeMode, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
- FlexGridSizer1->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
- StaticBoxSizer2->Add(FlexGridSizer1, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
+ bSetNudge = new wxButton(this, ID_bSetNudge, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetNudge"));
+ FlexGridSizer1->Add(bSetNudge, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ BoxSizer11->Add(FlexGridSizer1, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
+ FlexGridSizer9 = new wxFlexGridSizer(0, 3, 0, 0);
+ StaticText86 = new wxStaticText(this, ID_STATICTEXT86, _("ActCallFloor:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT86"));
+ FlexGridSizer9->Add(StaticText86, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtActiveCallFloor = new wxTextCtrl(this, ID_txtActiveCallFloor, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtActiveCallFloor"));
+ txtActiveCallFloor->SetToolTip(_("Active Call Floor"));
+ FlexGridSizer9->Add(txtActiveCallFloor, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ FlexGridSizer9->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
+ StaticText87 = new wxStaticText(this, ID_STATICTEXT87, _("ActCallDir:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT87"));
+ FlexGridSizer9->Add(StaticText87, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtActiveCallDirection = new wxTextCtrl(this, ID_txtActiveCallDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtActiveCallDirection"));
+ txtActiveCallDirection->SetToolTip(_("Active Call Direction"));
+ FlexGridSizer9->Add(txtActiveCallDirection, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ FlexGridSizer9->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
+ StaticText70 = new wxStaticText(this, ID_STATICTEXT70, _("Notified:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT70"));
+ FlexGridSizer9->Add(StaticText70, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 0);
+ txtNotified = new wxTextCtrl(this, ID_txtNotified, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtNotified"));
+ FlexGridSizer9->Add(txtNotified, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
+ FlexGridSizer9->Add(-1,-1,1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
+ StaticText75 = new wxStaticText(this, ID_STATICTEXT75, _("WaitTimer:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT75"));
+ FlexGridSizer9->Add(StaticText75, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtWaitForTimer = new wxTextCtrl(this, ID_txtWaitForTimer, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtWaitForTimer"));
+ txtWaitForTimer->SetToolTip(_("WaitForTimer"));
+ FlexGridSizer9->Add(txtWaitForTimer, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
+ FlexGridSizer9->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
+ StaticText76 = new wxStaticText(this, ID_STATICTEXT76, _("ChimeDir:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT76"));
+ FlexGridSizer9->Add(StaticText76, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtLastChimeDirection = new wxTextCtrl(this, ID_txtLastChimeDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtLastChimeDirection"));
+ txtLastChimeDirection->SetToolTip(_("LastChimeDirection"));
+ FlexGridSizer9->Add(txtLastChimeDirection, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
+ FlexGridSizer9->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
+ StaticText56 = new wxStaticText(this, ID_STATICTEXT56, _("LevSpeed:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT56"));
+ FlexGridSizer9->Add(StaticText56, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtLevelingSpeed = new wxTextCtrl(this, ID_txtLevelingSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtLevelingSpeed"));
+ txtLevelingSpeed->SetToolTip(_("Leveling Speed"));
+ FlexGridSizer9->Add(txtLevelingSpeed, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bSetLevelingSpeed = new wxButton(this, ID_bSetLevelingSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetLevelingSpeed"));
+ FlexGridSizer9->Add(bSetLevelingSpeed, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText57 = new wxStaticText(this, ID_STATICTEXT57, _("LevOffset:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT57"));
+ FlexGridSizer9->Add(StaticText57, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtLevelingOffset = new wxTextCtrl(this, ID_txtLevelingOffset, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtLevelingOffset"));
+ txtLevelingOffset->SetToolTip(_("Leveling Offset"));
+ FlexGridSizer9->Add(txtLevelingOffset, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bSetLevelingOffset = new wxButton(this, ID_bSetLevelingOffset, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetLevelingOffset"));
+ FlexGridSizer9->Add(bSetLevelingOffset, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText88 = new wxStaticText(this, ID_STATICTEXT88, _("LevOpen:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT88"));
+ FlexGridSizer9->Add(StaticText88, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtLevelingOpen = new wxTextCtrl(this, ID_txtLevelingOpen, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtLevelingOpen"));
+ txtLevelingOpen->SetToolTip(_("Leveling Open Offset"));
+ FlexGridSizer9->Add(txtLevelingOpen, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bLevelingOpen = new wxButton(this, ID_bLevelingOpen, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bLevelingOpen"));
+ FlexGridSizer9->Add(bLevelingOpen, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText58 = new wxStaticText(this, ID_STATICTEXT58, _("MusicOn:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT58"));
+ FlexGridSizer9->Add(StaticText58, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtMusicOn = new wxTextCtrl(this, ID_txtMusicOn, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMusicOn"));
+ FlexGridSizer9->Add(txtMusicOn, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bSetMusicOn = new wxButton(this, ID_bSetMusicOn, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetMusicOn"));
+ FlexGridSizer9->Add(bSetMusicOn, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText77 = new wxStaticText(this, ID_STATICTEXT77, _("MusicMove:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT77"));
+ FlexGridSizer9->Add(StaticText77, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtMusicOnMove = new wxTextCtrl(this, ID_txtMusicOnMove, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMusicOnMove"));
+ txtMusicOnMove->SetToolTip(_("MusicOnMove"));
+ FlexGridSizer9->Add(txtMusicOnMove, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bSetMusicOnMove = new wxButton(this, ID_bSetMusicOnMove, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetMusicOnMove"));
+ FlexGridSizer9->Add(bSetMusicOnMove, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText78 = new wxStaticText(this, ID_STATICTEXT78, _("FlrSounds:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT78"));
+ FlexGridSizer9->Add(StaticText78, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtFloorSounds = new wxTextCtrl(this, ID_txtFloorSounds, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtFloorSounds"));
+ txtFloorSounds->SetToolTip(_("FloorSounds"));
+ FlexGridSizer9->Add(txtFloorSounds, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bSetFloorSounds = new wxButton(this, ID_bSetFloorSounds, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetFloorSounds"));
+ FlexGridSizer9->Add(bSetFloorSounds, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText79 = new wxStaticText(this, ID_STATICTEXT79, _("FlrBeeps:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT79"));
+ FlexGridSizer9->Add(StaticText79, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtFloorBeeps = new wxTextCtrl(this, ID_txtFloorBeeps, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtFloorBeeps"));
+ txtFloorBeeps->SetToolTip(_("FloorBeeps"));
+ FlexGridSizer9->Add(txtFloorBeeps, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bSetFloorBeeps = new wxButton(this, ID_bSetFloorBeeps, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetFloorBeeps"));
+ FlexGridSizer9->Add(bSetFloorBeeps, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText80 = new wxStaticText(this, ID_STATICTEXT80, _("MsgSounds:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT80"));
+ FlexGridSizer9->Add(StaticText80, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtMessageSounds = new wxTextCtrl(this, ID_txtMessageSounds, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMessageSounds"));
+ txtMessageSounds->SetToolTip(_("MessageSounds"));
+ FlexGridSizer9->Add(txtMessageSounds, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bSetMessageSounds = new wxButton(this, ID_bSetMessageSounds, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetMessageSounds"));
+ FlexGridSizer9->Add(bSetMessageSounds, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText81 = new wxStaticText(this, ID_STATICTEXT81, _("AutoEnable:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT81"));
+ FlexGridSizer9->Add(StaticText81, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtAutoEnable = new wxTextCtrl(this, ID_txtAutoEnable, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtAutoEnable"));
+ FlexGridSizer9->Add(txtAutoEnable, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bSetAutoEnable = new wxButton(this, ID_bSetAutoEnable, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetAutoEnable"));
+ FlexGridSizer9->Add(bSetAutoEnable, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText82 = new wxStaticText(this, ID_STATICTEXT82, _("ReOpen:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT82"));
+ FlexGridSizer9->Add(StaticText82, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtReOpen = new wxTextCtrl(this, ID_txtReOpen, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtReOpen"));
+ FlexGridSizer9->Add(txtReOpen, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bSetReOpen = new wxButton(this, ID_bSetReOpen, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetReOpen"));
+ FlexGridSizer9->Add(bSetReOpen, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText83 = new wxStaticText(this, ID_STATICTEXT83, _("AutoDoors:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT83"));
+ FlexGridSizer9->Add(StaticText83, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtAutoDoors = new wxTextCtrl(this, ID_txtAutoDoors, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtAutoDoors"));
+ FlexGridSizer9->Add(txtAutoDoors, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bSetAutoDoors = new wxButton(this, ID_bSetAutoDoors, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetAutoDoors"));
+ FlexGridSizer9->Add(bSetAutoDoors, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText84 = new wxStaticText(this, ID_STATICTEXT84, _("OpenStart:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT84"));
+ FlexGridSizer9->Add(StaticText84, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtOpenOnStart = new wxTextCtrl(this, ID_txtOpenOnStart, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtOpenOnStart"));
+ txtOpenOnStart->SetToolTip(_("OpenOnStart"));
+ FlexGridSizer9->Add(txtOpenOnStart, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ FlexGridSizer9->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
+ StaticText85 = new wxStaticText(this, ID_STATICTEXT85, _("Interlocks:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT85"));
+ FlexGridSizer9->Add(StaticText85, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtInterlocks = new wxTextCtrl(this, ID_txtInterlocks, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtInterlocks"));
+ FlexGridSizer9->Add(txtInterlocks, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bInterlocks = new wxButton(this, ID_bInterlocks, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bInterlocks"));
+ FlexGridSizer9->Add(bInterlocks, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ BoxSizer11->Add(FlexGridSizer9, 0, wxLEFT|wxALIGN_LEFT|wxALIGN_TOP, 5);
+ StaticBoxSizer2->Add(BoxSizer11, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
BoxSizer3->Add(StaticBoxSizer2, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_TOP|wxALIGN_CENTER_HORIZONTAL, 5);
BoxSizer10 = new wxBoxSizer(wxVERTICAL);
StaticBoxSizer5 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Position"));
StaticText54 = new wxStaticText(this, ID_STATICTEXT54, _("Camera:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT54"));
FlexGridSizer2->Add(StaticText54, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
txtCameraOffset = new wxTextCtrl(this, ID_txtCameraOffset, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtCameraOffset"));
+ txtCameraOffset->SetToolTip(_("Camera Offset"));
FlexGridSizer2->Add(txtCameraOffset, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText71 = new wxStaticText(this, ID_STATICTEXT71, _("Music:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT71"));
+ FlexGridSizer2->Add(StaticText71, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtMusicPosition = new wxTextCtrl(this, ID_txtMusicPosition, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtMusicPosition"));
+ FlexGridSizer2->Add(txtMusicPosition, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
StaticBoxSizer5->Add(FlexGridSizer2, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
BoxSizer10->Add(StaticBoxSizer5, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
StaticBoxSizer3 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Queues"));
StaticText68 = new wxStaticText(this, ID_STATICTEXT68, _("Resets:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT68"));
FlexGridSizer3->Add(StaticText68, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
txtQueueResets = new wxTextCtrl(this, ID_txtQueueResets, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtQueueResets"));
- txtQueueResets->SetToolTip(_("Queue Last Direction"));
+ txtQueueResets->SetToolTip(_("Queue Resets"));
FlexGridSizer3->Add(txtQueueResets, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
StaticText69 = new wxStaticText(this, ID_STATICTEXT69, _("Limit:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT69"));
FlexGridSizer3->Add(StaticText69, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
txtLimitQueue = new wxTextCtrl(this, ID_txtLimitQueue, wxEmptyString, wxDefaultPosition, wxSize(100,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtLimitQueue"));
- txtLimitQueue->SetToolTip(_("Queue Last Direction"));
+ txtLimitQueue->SetToolTip(_("Limit Queue"));
FlexGridSizer3->Add(txtLimitQueue, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
FlexGridSizer3->Add(-1,-1,1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
bResetQueues = new wxButton(this, ID_bResetQueues, _("Reset"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_bResetQueues"));
txtDirection = new wxTextCtrl(this, ID_txtDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtDirection"));
FlexGridSizer6->Add(txtDirection, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
FlexGridSizer6->Add(-1,-1,0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
+ StaticText72 = new wxStaticText(this, ID_STATICTEXT72, _("ActiveDir:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT72"));
+ FlexGridSizer6->Add(StaticText72, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtActiveDirection = new wxTextCtrl(this, ID_txtActiveDirection, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtActiveDirection"));
+ txtActiveDirection->SetToolTip(_("Active Direction"));
+ FlexGridSizer6->Add(txtActiveDirection, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
+ FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_TOP, 5);
StaticText2 = new wxStaticText(this, ID_STATICTEXT2, _("JerkRate:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT2"));
FlexGridSizer6->Add(StaticText2, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
txtJerkRate = new wxTextCtrl(this, ID_txtJerkRate, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtJerkRate"));
txtLeveling = new wxTextCtrl(this, ID_txtLeveling, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtLeveling"));
FlexGridSizer6->Add(txtLeveling, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
- StaticText56 = new wxStaticText(this, ID_STATICTEXT56, _("LevSpeed:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT56"));
- FlexGridSizer6->Add(StaticText56, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
- txtLevelingSpeed = new wxTextCtrl(this, ID_txtLevelingSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtLevelingSpeed"));
- txtLevelingSpeed->SetToolTip(_("Leveling Speed"));
- FlexGridSizer6->Add(txtLevelingSpeed, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
- bSetLevelingSpeed = new wxButton(this, ID_bSetLevelingSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetLevelingSpeed"));
- FlexGridSizer6->Add(bSetLevelingSpeed, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
- StaticText57 = new wxStaticText(this, ID_STATICTEXT57, _("LvOffset:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT57"));
- FlexGridSizer6->Add(StaticText57, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
- txtLevelingOffset = new wxTextCtrl(this, ID_txtLevelingOffset, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtLevelingOffset"));
- txtLevelingOffset->SetToolTip(_("Leveling Offset"));
- FlexGridSizer6->Add(txtLevelingOffset, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
- bSetLevelingOffset = new wxButton(this, ID_bSetLevelingOffset, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetLevelingOffset"));
- FlexGridSizer6->Add(bSetLevelingOffset, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
- StaticText58 = new wxStaticText(this, ID_STATICTEXT58, _("LevOpen:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT58"));
- FlexGridSizer6->Add(StaticText58, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
- txtLevelingOpen = new wxTextCtrl(this, ID_txtLevelingOpen, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtLevelingOpen"));
- txtLevelingOpen->SetToolTip(_("Leveling Open"));
- FlexGridSizer6->Add(txtLevelingOpen, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
- bSetLevelingOpen = new wxButton(this, ID_bSetLevelingOpen, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetLevelingOpen"));
- FlexGridSizer6->Add(bSetLevelingOpen, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
StaticText60 = new wxStaticText(this, ID_STATICTEXT60, _("Parking:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT60"));
FlexGridSizer6->Add(StaticText60, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
txtParking = new wxTextCtrl(this, ID_txtParking, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtParking"));
FlexGridSizer6->Add(txtParking, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText73 = new wxStaticText(this, ID_STATICTEXT73, _("ManualMove:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT73"));
+ FlexGridSizer6->Add(StaticText73, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtManualMove = new wxTextCtrl(this, ID_txtManualMove, wxEmptyString, wxDefaultPosition, wxSize(75,-1), wxTE_READONLY, wxDefaultValidator, _T("ID_txtManualMove"));
+ FlexGridSizer6->Add(txtManualMove, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ FlexGridSizer6->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
StaticText63 = new wxStaticText(this, ID_STATICTEXT63, _("SlowSpd:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT63"));
FlexGridSizer6->Add(StaticText63, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
txtSlowSpeed = new wxTextCtrl(this, ID_txtSlowSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtSlowSpeed"));
FlexGridSizer6->Add(txtManualSpeed, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
bSetManualSpeed = new wxButton(this, ID_bSetManualSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetManualSpeed"));
FlexGridSizer6->Add(bSetManualSpeed, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
+ StaticText74 = new wxStaticText(this, ID_STATICTEXT74, _("InsSpeed:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT74"));
+ FlexGridSizer6->Add(StaticText74, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
+ txtInspectionSpeed = new wxTextCtrl(this, ID_txtInspectionSpeed, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtInspectionSpeed"));
+ txtInspectionSpeed->SetToolTip(_("Inspection Mode Speed Multiplier"));
+ FlexGridSizer6->Add(txtInspectionSpeed, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
+ bSetInspectionSpeed = new wxButton(this, ID_bSetInspectionSpeed, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetInspectionSpeed"));
+ FlexGridSizer6->Add(bSetInspectionSpeed, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
StaticBoxSizer7->Add(FlexGridSizer6, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 0);
BoxSizer3->Add(StaticBoxSizer7, 0, wxBOTTOM|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
BoxSizer7 = new wxBoxSizer(wxVERTICAL);
txtErrorOffset->SetToolTip(_("Error Offset"));
FlexGridSizer7->Add(txtErrorOffset, 0, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_TOP, 5);
FlexGridSizer7->Add(-1,-1,1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
- StaticText59 = new wxStaticText(this, ID_STATICTEXT59, _("Notify:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT59"));
+ StaticText59 = new wxStaticText(this, ID_STATICTEXT59, _("NotifyEarly:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT59"));
FlexGridSizer7->Add(StaticText59, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
txtNotifyEarly = new wxTextCtrl(this, ID_txtNotifyEarly, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtNotifyEarly"));
txtNotifyEarly->SetToolTip(_("Notify Early"));
FlexGridSizer5->Add(txtParkingDelay, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
bSetParkingDelay = new wxButton(this, ID_bSetParkingDelay, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetParkingDelay"));
FlexGridSizer5->Add(bSetParkingDelay, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
- StaticText62 = new wxStaticText(this, ID_STATICTEXT62, _("NudgeTimer:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT62"));
+ StaticText62 = new wxStaticText(this, ID_STATICTEXT62, _("NudgeTmr:"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT62"));
FlexGridSizer5->Add(StaticText62, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
txtNudgeTimer = new wxTextCtrl(this, ID_txtNudgeTimer, wxEmptyString, wxDefaultPosition, wxSize(75,-1), 0, wxDefaultValidator, _T("ID_txtNudgeTimer"));
+ txtNudgeTimer->SetToolTip(_("Nudge Timer"));
FlexGridSizer5->Add(txtNudgeTimer, 1, wxLEFT|wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
bSetNudgeTimer = new wxButton(this, ID_bSetNudgeTimer, _("Set"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator, _T("ID_bSetNudgeTimer"));
FlexGridSizer5->Add(bSetNudgeTimer, 1, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5);
Connect(ID_bSetDoorTimer,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDoorTimer_Click);
Connect(ID_bSetQuickClose,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetQuickClose_Click);
Connect(ID_bSetSkipFloorText,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetSkipFloorText_Click);
+ Connect(ID_bSetNudge,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetNudge_Click);
+ Connect(ID_bSetLevelingSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetLevelingSpeed_Click);
+ Connect(ID_bSetLevelingOffset,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetLevelingOffset_Click);
+ Connect(ID_bLevelingOpen,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetLevelingOpen_Click);
+ Connect(ID_bSetMusicOn,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetMusicOn_Click);
+ Connect(ID_bSetMusicOnMove,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetMusicOnMove_Click);
+ Connect(ID_bSetFloorSounds,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetFloorSounds_Click);
+ Connect(ID_bSetFloorBeeps,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetFloorBeeps_Click);
+ Connect(ID_bSetMessageSounds,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetMessageSounds_Click);
+ Connect(ID_bSetAutoEnable,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetAutoEnable_Click);
+ Connect(ID_bSetReOpen,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetReOpen_Click);
+ Connect(ID_bSetAutoDoors,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetAutoDoors_Click);
+ Connect(ID_bInterlocks,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bInterlocks_Click);
Connect(ID_bResetQueues,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bResetQueues_Click);
Connect(ID_bSetSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetSpeed_Click);
Connect(ID_bSetAcceleration,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetAcceleration_Click);
Connect(ID_bSetDeceleration,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDeceleration_Click);
Connect(ID_bSetAccelJerk,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetAccelJerk_Click);
Connect(ID_bSetDecelJerk,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDecelJerk_Click);
- Connect(ID_bSetLevelingSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetLevelingSpeed_Click);
- Connect(ID_bSetLevelingOffset,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetLevelingOffset_Click);
- Connect(ID_bSetLevelingOpen,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetLevelingOpen_Click);
Connect(ID_bSetSlowSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetSlowSpeed_Click);
Connect(ID_bSetManualSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetManualSpeed_Click);
+ Connect(ID_bSetInspectionSpeed,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetInspectionSpeed_Click);
Connect(ID_bNotifyEarly,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bNotifyEarly_Click);
Connect(ID_bSetDepartureDelay,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetDepartureDelay_Click);
Connect(ID_bSetArrivalDelay,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&editelevator::On_bSetArrivalDelay_Click);
txtDoorWidth->SetValue(TruncateNumber(door->GetDoorWrapper()->Width, 2));
txtShaftDoorOrigin->SetValue(TruncateNumber(door->ShaftDoorOrigin.x, 2) + wxT(", ") + TruncateNumber(door->ShaftDoorOrigin.y, 2) + wxT(", ") + TruncateNumber(door->ShaftDoorOrigin.z, 2));
txtDoorStopped->SetValue(wxString::FromAscii(BoolToString(door->DoorsStopped())));
- txtNudgeMode->SetValue(wxString::FromAscii(BoolToString(door->GetNudgeStatus())));
}
txtElevStart->SetValue(TruncateNumber(elevator->GetElevatorStart(), 2));
txtEnabled->SetValue(wxString::FromAscii(BoolToString(elevator->IsEnabled)));
txtParking->SetValue(wxString::FromAscii(BoolToString(elevator->Parking)));
txtQueueResets->SetValue(wxString::FromAscii(BoolToString(elevator->QueueResets)));
txtLimitQueue->SetValue(wxString::FromAscii(BoolToString(elevator->LimitQueue)));
+ txtNudgeMode->SetValue(wxString::FromAscii(BoolToString(elevator->IsNudgeModeActive())));
+ txtNotified->SetValue(wxString::FromAscii(BoolToString(elevator->Notified)));
+ txtWaitForTimer->SetValue(wxString::FromAscii(BoolToString(elevator->WaitForTimer)));
+ txtMusicOn->SetValue(wxString::FromAscii(BoolToString(elevator->MusicOn)));
+ txtMusicOnMove->SetValue(wxString::FromAscii(BoolToString(elevator->MusicOnMove)));
+ txtFloorSounds->SetValue(wxString::FromAscii(BoolToString(elevator->UseFloorSounds)));
+ txtFloorBeeps->SetValue(wxString::FromAscii(BoolToString(elevator->UseFloorBeeps)));
+ txtMessageSounds->SetValue(wxString::FromAscii(BoolToString(elevator->UseMessageSounds)));
+ txtAutoEnable->SetValue(wxString::FromAscii(BoolToString(elevator->AutoEnable)));
+ txtReOpen->SetValue(wxString::FromAscii(BoolToString(elevator->ReOpen)));
+ txtAutoDoors->SetValue(wxString::FromAscii(BoolToString(elevator->AutoDoors)));
+ txtOpenOnStart->SetValue(wxString::FromAscii(BoolToString(elevator->OpenOnStart)));
+ txtInterlocks->SetValue(wxString::FromAscii(BoolToString(elevator->Interlocks)));
+ txtLastChimeDirection->SetValue(wxVariant((long)elevator->LastChimeDirection).GetString());
+ txtActiveCallFloor->SetValue(wxVariant((long)elevator->GetActiveCallFloor()).GetString());
+ txtActiveCallDirection->SetValue(wxVariant((long)elevator->GetActiveCallDirection()).GetString());
+ txtActiveDirection->SetValue(wxVariant((long)elevator->ActiveDirection).GetString());
+ txtManualMove->SetValue(wxVariant((long)elevator->ManualMove).GetString());
+ txtMusicPosition->SetValue(TruncateNumber(elevator->MusicPosition.x, 2) + wxT(", ") + TruncateNumber(elevator->MusicPosition.y, 2) + wxT(", ") + TruncateNumber(elevator->MusicPosition.z, 2));
}
void editelevator::SetMainValues()
txtNotifyEarly->SetValue(wxVariant((int)elevator->NotifyEarly).GetString());
txtDepartureDelay->SetValue(TruncateNumber(elevator->DepartureDelay, 4));
txtArrivalDelay->SetValue(TruncateNumber(elevator->ArrivalDelay, 4));
+ txtInspectionSpeed->SetValue(TruncateNumber(elevator->InspectionSpeed, 4));
if (elevator->FireServicePhase2 == 0)
Fire2Off->SetValue(true);
if (elevator->FireServicePhase2 == 1)
elevator->ArrivalDelay = atof(txtArrivalDelay->GetValue().ToAscii());
}
+void editelevator::On_bSetInspectionSpeed_Click(wxCommandEvent& event)
+{
+ if (elevator)
+ elevator->InspectionSpeed = atof(txtInspectionSpeed->GetValue().ToAscii());
+}
+
+void editelevator::On_bSetMusicOn_Click(wxCommandEvent& event)
+{
+ if (elevator)
+ elevator->MusicOn = !elevator->MusicOn;
+}
+
+void editelevator::On_bSetMusicOnMove_Click(wxCommandEvent& event)
+{
+ if (elevator)
+ elevator->MusicOnMove = !elevator->MusicOnMove;
+}
+
+void editelevator::On_bSetFloorSounds_Click(wxCommandEvent& event)
+{
+ if (elevator)
+ elevator->UseFloorSounds = !elevator->UseFloorSounds;
+}
+
+void editelevator::On_bSetFloorBeeps_Click(wxCommandEvent& event)
+{
+ if (elevator)
+ elevator->UseFloorBeeps = !elevator->UseFloorBeeps;
+}
+
+void editelevator::On_bSetMessageSounds_Click(wxCommandEvent& event)
+{
+ if (elevator)
+ elevator->UseMessageSounds = !elevator->UseMessageSounds;
+}
+
+void editelevator::On_bSetAutoEnable_Click(wxCommandEvent& event)
+{
+ if (elevator)
+ elevator->AutoEnable = !elevator->AutoEnable;
+}
+
+void editelevator::On_bSetReOpen_Click(wxCommandEvent& event)
+{
+ if (elevator)
+ elevator->ReOpen = !elevator->ReOpen;
+}
+
+void editelevator::On_bSetAutoDoors_Click(wxCommandEvent& event)
+{
+ if (elevator)
+ elevator->AutoDoors = !elevator->AutoDoors;
+}
+
+void editelevator::On_bInterlocks_Click(wxCommandEvent& event)
+{
+ if (elevator)
+ elevator->Interlocks = !elevator->Interlocks;
+}
+
+void editelevator::On_bSetNudge_Click(wxCommandEvent& event)
+{
+ if (elevator)
+ elevator->EnableNudgeMode(!elevator->IsNudgeModeActive());
+}
static const long ID_txtWaitForDoors;
static const long ID_STATICTEXT67;
static const long ID_txtNudgeMode;
+ static const long ID_bSetNudge;
+ static const long ID_STATICTEXT86;
+ static const long ID_txtActiveCallFloor;
+ static const long ID_STATICTEXT87;
+ static const long ID_txtActiveCallDirection;
+ static const long ID_STATICTEXT70;
+ static const long ID_txtNotified;
+ static const long ID_STATICTEXT75;
+ static const long ID_txtWaitForTimer;
+ static const long ID_STATICTEXT76;
+ static const long ID_txtLastChimeDirection;
+ static const long ID_STATICTEXT56;
+ static const long ID_txtLevelingSpeed;
+ static const long ID_bSetLevelingSpeed;
+ static const long ID_STATICTEXT57;
+ static const long ID_txtLevelingOffset;
+ static const long ID_bSetLevelingOffset;
+ static const long ID_STATICTEXT88;
+ static const long ID_txtLevelingOpen;
+ static const long ID_bLevelingOpen;
+ static const long ID_STATICTEXT58;
+ static const long ID_txtMusicOn;
+ static const long ID_bSetMusicOn;
+ static const long ID_STATICTEXT77;
+ static const long ID_txtMusicOnMove;
+ static const long ID_bSetMusicOnMove;
+ static const long ID_STATICTEXT78;
+ static const long ID_txtFloorSounds;
+ static const long ID_bSetFloorSounds;
+ static const long ID_STATICTEXT79;
+ static const long ID_txtFloorBeeps;
+ static const long ID_bSetFloorBeeps;
+ static const long ID_STATICTEXT80;
+ static const long ID_txtMessageSounds;
+ static const long ID_bSetMessageSounds;
+ static const long ID_STATICTEXT81;
+ static const long ID_txtAutoEnable;
+ static const long ID_bSetAutoEnable;
+ static const long ID_STATICTEXT82;
+ static const long ID_txtReOpen;
+ static const long ID_bSetReOpen;
+ static const long ID_STATICTEXT83;
+ static const long ID_txtAutoDoors;
+ static const long ID_bSetAutoDoors;
+ static const long ID_STATICTEXT84;
+ static const long ID_txtOpenOnStart;
+ static const long ID_STATICTEXT85;
+ static const long ID_txtInterlocks;
+ static const long ID_bInterlocks;
static const long ID_STATICTEXT14;
static const long ID_txtFloor;
static const long ID_STATICTEXT15;
static const long ID_txtMotor;
static const long ID_STATICTEXT54;
static const long ID_txtCameraOffset;
+ static const long ID_STATICTEXT71;
+ static const long ID_txtMusicPosition;
static const long ID_STATICTEXT38;
static const long ID_txtQueueDirection;
static const long ID_STATICTEXT40;
static const long ID_txtRate;
static const long ID_STATICTEXT27;
static const long ID_txtDirection;
+ static const long ID_STATICTEXT72;
+ static const long ID_txtActiveDirection;
static const long ID_STATICTEXT2;
static const long ID_txtJerkRate;
static const long ID_STATICTEXT49;
static const long ID_txtManualGo;
static const long ID_STATICTEXT55;
static const long ID_txtLeveling;
- static const long ID_STATICTEXT56;
- static const long ID_txtLevelingSpeed;
- static const long ID_bSetLevelingSpeed;
- static const long ID_STATICTEXT57;
- static const long ID_txtLevelingOffset;
- static const long ID_bSetLevelingOffset;
- static const long ID_STATICTEXT58;
- static const long ID_txtLevelingOpen;
- static const long ID_bSetLevelingOpen;
static const long ID_STATICTEXT60;
static const long ID_txtParking;
+ static const long ID_STATICTEXT73;
+ static const long ID_txtManualMove;
static const long ID_STATICTEXT63;
static const long ID_txtSlowSpeed;
static const long ID_bSetSlowSpeed;
static const long ID_STATICTEXT64;
static const long ID_txtManualSpeed;
static const long ID_bSetManualSpeed;
+ static const long ID_STATICTEXT74;
+ static const long ID_txtInspectionSpeed;
+ static const long ID_bSetInspectionSpeed;
static const long ID_STATICTEXT30;
static const long ID_txtDestFloor;
static const long ID_STATICTEXT43;
void On_bSetManualSpeed_Click(wxCommandEvent& event);
void On_bSetDepartureDelay_Click(wxCommandEvent& event);
void On_bSetArrivalDelay_Click(wxCommandEvent& event);
+ void On_bSetInspectionSpeed_Click(wxCommandEvent& event);
+ void On_bSetMusicOn_Click(wxCommandEvent& event);
+ void On_bSetMusicOnMove_Click(wxCommandEvent& event);
+ void On_bSetFloorSounds_Click(wxCommandEvent& event);
+ void On_bSetFloorBeeps_Click(wxCommandEvent& event);
+ void On_bSetMessageSounds_Click(wxCommandEvent& event);
+ void On_bSetAutoEnable_Click(wxCommandEvent& event);
+ void On_bSetReOpen_Click(wxCommandEvent& event);
+ void On_bSetAutoDoors_Click(wxCommandEvent& event);
+ void On_bInterlocks_Click(wxCommandEvent& event);
+ void On_bSetNudge_Click(wxCommandEvent& event);
//*)
void OnInit();
//(*Declarations(editelevator)
wxButton* bSetManualSpeed;
+ wxTextCtrl* txtNotified;
wxButton* bAlarm;
wxFlexGridSizer* FlexGridSizer7;
wxStaticText* StaticText1;
+ wxStaticText* StaticText75;
wxStaticText* StaticText23;
wxRadioButton* Fire2Hold;
wxTextCtrl* txtDestFloor;
wxStaticText* StaticText52;
wxTextCtrl* txtACPFloor;
wxStaticText* StaticText13;
+ wxButton* bInterlocks;
wxButton* bStopDoors;
wxTextCtrl* txtDirection;
wxToggleButton* bGoToggle;
wxStaticText* StaticText46;
wxButton* bSetACPFloor;
+ wxTextCtrl* txtFloorSounds;
wxTextCtrl* txtMotor;
wxTextCtrl* txtMoveElevator;
- wxButton* bOpenShaftDoor;
+ wxTextCtrl* txtFloorBeeps;
wxBoxSizer* BoxSizer10;
+ wxButton* bOpenShaftDoor;
+ wxTextCtrl* txtMusicOn;
wxTextCtrl* txtOriginFloor;
+ wxStaticText* StaticText83;
wxBoxSizer* BoxSizer2;
wxButton* bStop;
wxStaticText* StaticText32;
wxStaticBoxSizer* StaticBoxSizer1;
wxCheckBox* chkVisible;
wxToggleButton* bUpPeak;
+ wxStaticText* StaticText82;
wxStaticText* StaticText20;
wxButton* bUpIndicator;
- wxStaticText* StaticText42;
wxTextCtrl* txtDecelJerk;
+ wxStaticText* StaticText42;
wxTextCtrl* txtNudgeTimer;
wxTextCtrl* txtErrorOffset;
- wxTextCtrl* txtSkipFloorText;
wxStaticBoxSizer* StaticBoxSizer3;
+ wxTextCtrl* txtSkipFloorText;
wxTextCtrl* txtQueueLastUp;
wxStaticText* StaticText6;
wxBoxSizer* BoxSizer8;
+ wxTextCtrl* txtLastChimeDirection;
+ wxButton* bSetMusicOn;
wxTextCtrl* txtShaftDoorOrigin;
+ wxButton* bSetFloorSounds;
+ wxStaticText* StaticText79;
wxStaticText* StaticText45;
wxTextCtrl* txtDoorHeight;
wxStaticText* StaticText56;
wxStaticText* StaticText18;
+ wxTextCtrl* txtAutoEnable;
wxTextCtrl* txtQuickClose;
wxButton* bSetDeceleration;
wxStaticText* StaticText17;
wxStaticText* StaticText66;
wxStaticText* StaticText24;
wxStaticText* StaticText30;
- wxBoxSizer* BoxSizer9;
wxButton* bSetDecelJerk;
+ wxBoxSizer* BoxSizer9;
wxStaticText* StaticText15;
wxStaticText* StaticText43;
+ wxTextCtrl* txtActiveCallDirection;
wxButton* bCloseManual;
+ wxTextCtrl* txtMusicOnMove;
wxStaticText* StaticText35;
- wxButton* bSetLevelingOpen;
wxToggleButton* bUp;
wxTextCtrl* txtDoorTimer;
+ wxTextCtrl* txtInspectionSpeed;
wxStaticBoxSizer* StaticBoxSizer5;
wxStaticText* StaticText50;
wxToggleButton* bInsService;
wxStaticText* StaticText3;
wxFlexGridSizer* FlexGridSizer6;
wxButton* bSetNudgeTimer;
+ wxTextCtrl* txtMusicPosition;
wxTextCtrl* txtElevStart;
wxStaticText* StaticText57;
wxStaticBoxSizer* StaticBoxSizer2;
wxTextCtrl* txtDoorDirection;
wxTextCtrl* txtUseSkipFloor;
wxButton* bSetLevelingSpeed;
+ wxStaticText* StaticText84;
+ wxStaticText* StaticText85;
wxTextCtrl* txtFloor;
wxStaticText* StaticText27;
wxTextCtrl* txtDistance;
wxButton* bSetParkingFloor;
wxButton* bEnqueueUp;
wxTextCtrl* txtShaft;
+ wxTextCtrl* txtManualMove;
wxStaticText* StaticText51;
wxButton* bDownIndicator;
wxTextCtrl* txtRecallAlternate;
wxButton* bClose;
wxFlexGridSizer* FlexGridSizer2;
wxTextCtrl* txtRate;
+ wxButton* bSetNudge;
wxStaticText* tElevator;
wxRadioButton* Fire1Bypass;
wxStaticText* StaticText55;
wxTextCtrl* txtNotifyEarly;
wxFlexGridSizer* FlexGridSizer1;
wxButton* bSetSpeed;
+ wxStaticText* StaticText80;
wxRadioButton* Fire2On;
wxTextCtrl* txtSpeed;
wxFlexGridSizer* FlexGridSizer3;
wxTextCtrl* txtDepartureDelay;
wxStaticText* StaticText16;
wxStaticText* StaticText39;
+ wxButton* bSetMusicOnMove;
wxTextCtrl* txtEnabled;
wxButton* bEnqueueDown;
wxTextCtrl* txtName;
wxButton* bSetAcceleration;
wxTextCtrl* txtOnFloor;
wxStaticText* StaticText41;
+ wxStaticText* StaticText71;
wxTextCtrl* txtStop;
wxRadioButton* Fire1Off;
wxBoxSizer* BoxSizer6;
- wxStaticText* StaticText25;
wxStaticText* StaticText26;
+ wxStaticText* StaticText25;
+ wxTextCtrl* txtAutoDoors;
wxRadioButton* Fire1On;
wxTextCtrl* txtRecallFloor;
wxStaticText* StaticText31;
wxButton* bSetDepartureDelay;
wxStaticText* StaticText54;
wxStaticText* StaticText60;
+ wxButton* bSetReOpen;
wxButton* bCall;
wxButton* bCloseShaftDoor;
wxStaticText* StaticText14;
wxStaticText* StaticText4;
wxTextCtrl* txtOrigin;
+ wxTextCtrl* txtMessageSounds;
wxStaticText* StaticText8;
wxTextCtrl* txtDoorStopped;
wxStaticText* StaticText47;
wxStaticText* tDoor;
wxTextCtrl* txtDoorsOpen;
wxButton* bOpenManual;
+ wxButton* bSetAutoEnable;
wxButton* bRefresh;
wxTextCtrl* txtParkingFloor;
wxStaticText* StaticText9;
wxStaticText* StaticText21;
+ wxStaticText* StaticText73;
wxTextCtrl* txtDoorOrigin;
wxTextCtrl* txtArrivalDelay;
wxButton* bDumpQueues;
wxStaticText* StaticText29;
+ wxStaticText* StaticText74;
wxTextCtrl* txtHeight;
wxTextCtrl* txtNudgeMode;
wxStaticText* StaticText58;
wxTextCtrl* txtLimitQueue;
+ wxTextCtrl* txtInterlocks;
+ wxStaticText* StaticText81;
+ wxButton* bSetInspectionSpeed;
wxStaticText* StaticText19;
wxStaticText* StaticText38;
wxTextCtrl* txtAccelJerk;
wxBoxSizer* BoxSizer3;
wxStaticText* StaticText37;
+ wxTextCtrl* txtWaitForTimer;
+ wxTextCtrl* txtReOpen;
wxTextCtrl* txtJerkRate;
wxTextCtrl* txtDoorWidth;
- wxScrollBar* sFloor;
+ wxButton* bLevelingOpen;
wxStaticText* StaticText53;
+ wxScrollBar* sFloor;
+ wxButton* bSetFloorBeeps;
wxButton* bNotifyEarly;
+ wxTextCtrl* txtActiveDirection;
wxStaticText* StaticText28;
+ wxStaticText* StaticText78;
wxStaticText* StaticText33;
wxTextCtrl* txtQueueLastDown;
+ wxTextCtrl* txtOpenOnStart;
wxButton* bSetParkingDelay;
+ wxButton* bSetMessageSounds;
wxStaticText* StaticText7;
wxStaticText* StaticText11;
wxButton* bSetLevelingOffset;
+ wxTextCtrl* txtActiveCallFloor;
+ wxStaticText* StaticText76;
wxTextCtrl* txtDestination;
- wxToggleButton* bDown;
wxTextCtrl* txtIsIdle;
+ wxToggleButton* bDown;
+ wxStaticText* StaticText70;
+ wxStaticText* StaticText77;
+ wxStaticText* StaticText72;
wxButton* bSetRecallAlternate;
wxTextCtrl* txtLevelingSpeed;
wxStaticText* StaticText62;
+ wxStaticText* StaticText87;
wxStaticText* StaticText59;
wxStaticText* StaticText12;
wxButton* bSetSkipFloorText;
wxTextCtrl* txtStopDistance;
wxTextCtrl* txtWaitForDoors;
wxButton* bDumpFloors;
+ wxStaticText* StaticText88;
wxTextCtrl* txtTempDecel;
wxTextCtrl* txtManualGo;
wxTextCtrl* txtDeceleration;
wxTextCtrl* txtBrakes;
+ wxStaticText* StaticText86;
wxStaticText* StaticText65;
wxToggleButton* bACPMode;
+ wxButton* bSetAutoDoors;
wxTextCtrl* txtCameraOffset;
//*)
int last_elevator;
elev->OpenOnStart = Ogre::StringConverter::parseBool(temp2);
return sNextLine;
}
+ if (linecheck.substr(0, 10) == "interlocks")
+ {
+ if (temp2check < 0)
+ return ScriptError("Syntax error");
+
+ elev->Interlocks = Ogre::StringConverter::parseBool(temp2);
+ return sNextLine;
+ }
//Print command
if (linecheck.substr(0, 5) == "print")
Create(parent, wxID_ANY, _("Control Reference"), wxDefaultPosition, wxDefaultSize, wxCAPTION|wxDEFAULT_DIALOG_STYLE|wxSYSTEM_MENU|wxRESIZE_BORDER|wxCLOSE_BOX|wxMAXIMIZE_BOX|wxMINIMIZE_BOX, _T("wxID_ANY"));
BoxSizer1 = new wxBoxSizer(wxVERTICAL);
- TextCtrl1 = new wxTextCtrl(this, ID_TEXTCTRL1, _("Simulator Keyboard and Mouse Controls from the readme.txt file:\n\n--- Keyboard ---\nW or Up Arrow - move forwards\nS or Down Arrow - move backwards\nA or Left Arrow - move left\nD or Right Arrow - move right\nPgUp or P - Look upwards\nPgDown or L - Look downwards\nSpace - Jump\nHome or O - Float upwards (or jump if collision detection is on)\nEnd or K - Float downwards (or crouch if collision detection is on)\nF2 - print FPS on console\nF3 - Reset camera rotation and zoom to default\nF4 - Enable/disable wireframe mode\nF5 - Freelook (mouse look) mode\nF6 - Full camera reset (respawn)\nF7 - Show colliders\nF10 - Fullscreen mode\nF11 - Take screenshot\nF12 - Show control panel\nShift - Run (hold down with other keys)\nControl - Walk slowly (hold down with other keys)\nAlt + arrow keys - Strafe\nAlt + PgUp/P - Spin right\nAlt + PgDown/L - Spin left\nPlus - Zoom in (decrease FOV angle)\nMinus - Zoom out (increase FOV angle)\nEsc - exit to main menu\nV - Toggle noclip mode (gravity and collisions off)\nCtrl-Alt-C - crash program (throw exception), used for testing handlers\n\n--- Mouse actions ---\n-elevator shaft doors can be manually opened and closed by holding down the Shift key and clicking on them\n-polygons (wall/floor sides) can be deleted by holding down Ctrl and clicking on the object\n-doors, controls/buttons, and call buttons can be locked/unlocked by holding down the Shift key and clicking on the side to lock, if you have the associated key\n"), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY, wxDefaultValidator, _T("ID_TEXTCTRL1"));
+ TextCtrl1 = new wxTextCtrl(this, ID_TEXTCTRL1, _("Simulator Keyboard and Mouse Controls from the readme.txt file:\n\n--- Keyboard ---\nW or Up Arrow - move forwards\nS or Down Arrow - move backwards\nA or Left Arrow - move left\nD or Right Arrow - move right\nPgUp or P - Look upwards\nPgDown or L - Look downwards\nSpace - Jump\nHome or O - Float upwards (or jump if collision detection is on)\nEnd or K - Float downwards (or crouch if collision detection is on)\nF2 - print FPS on console\nF3 - Reset camera rotation and zoom to default\nF4 - Enable/disable wireframe mode\nF5 - Freelook (mouse look) mode\nF6 - Full camera reset (respawn)\nF7 - Show colliders\nF10 - Fullscreen mode\nF11 - Take screenshot\nF12 - Show control panel\nShift - Run (hold down with other keys)\nControl - Walk slowly (hold down with other keys)\nAlt + arrow keys - Strafe\nAlt + PgUp/P - Spin right\nAlt + PgDown/L - Spin left\nPlus - Zoom in (decrease FOV angle)\nMinus - Zoom out (increase FOV angle)\nEsc - exit to main menu\nV - Toggle noclip mode (gravity and collisions off)\nCtrl-Alt-C - crash program (throw exception), used for testing handlers\n\n--- Mouse actions ---\n-elevator shaft doors can be manually opened and closed by holding down the Shift key and clicking on them - note that this only works when the interlocks are released, which can be done in the elevator editor by clicking \"Set\" next to \"Interlocks\" on the related elevator\n-polygons (wall/floor sides) can be deleted by holding down Ctrl and clicking on the object\n-doors, controls/buttons, and call buttons can be locked/unlocked by holding down the Shift key and clicking on the side to lock, if you have the associated key\n"), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY, wxDefaultValidator, _T("ID_TEXTCTRL1"));
TextCtrl1->SetMinSize(wxSize(600,500));
BoxSizer1->Add(TextCtrl1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
SetSizer(BoxSizer1);
elevator->Up();
if (command_name == "down")
elevator->Down();
+ if (command_name == "interlockson")
+ elevator->Interlocks = true;
+ if (command_name == "interlocksoff")
+ elevator->Interlocks = false;
if (callbutton)
{
doorhold_whichdoors = 0;
doorhold_floor = 0;
doorhold_manual = 0;
+ Interlocks = sbs->GetConfigBool("Skyscraper.SBS.Elevator.Interlocks", true);
//create timers
parking_timer = new Timer(this, 0);
}
//enable auto-park timer if specified
- if (parking_timer->IsRunning() == false && ParkingDelay > 0 && Running == true && IsIdle() == true && InServiceMode() == false)
+ if (parking_timer->IsRunning() == false && ParkingDelay > 0 && Running == true && IsIdle() == true && InServiceMode() == false && AutoDoors == true)
parking_timer->Start(ParkingDelay * 1000, true);
//enable random call timer
- if (random_timer->IsRunning() == false && RandomActivity == true && Running == true && InServiceMode() == false)
+ if (random_timer->IsRunning() == false && RandomActivity == true && Running == true && InServiceMode() == false && AutoDoors == true)
random_timer->Start(RandomFrequency * 1000, false);
//process triggers
if (WaitForTimer == true)
return;
+ //exit if doors are not fully closed while interlocks enabled
+ if (Interlocks == true && (AreDoorsOpen() == true || CheckOpenDoor() == true))
+ {
+ Report("Doors must be closed before moving when interlocks are enabled");
+ return;
+ }
+
if (ElevatorIsRunning == false)
{
if (Running == false)
{
//post-move operations, such as chimes, opening doors, indicator updates, etc
- if (EmergencyStop == 0)
+ //manualstop is true if elevator is stopped within 18 inches of the nearest landing
+ bool manualstop = EmergencyStop == 1 && fabs(GetDestinationAltitude(GetFloor()) - GetPosition().y) < 1.5;
+
+ if (EmergencyStop == 0 || manualstop == true)
{
+ if (manualstop == true)
+ GotoFloor = GetFloor();
+
//the elevator is now stopped on a valid floor; set OnFloor to true
OnFloor = true;
Report("arrived at floor " + ToString2(GotoFloor) + " (" + sbs->GetFloor(GotoFloor)->ID + ")");
//dequeue floor route
- DeleteActiveRoute();
+ if (manualstop == false)
+ DeleteActiveRoute();
}
//turn off interior directional indicators
if (sbs->GetFloor(sbs->camera->CurrentFloor))
sbs->GetFloor(sbs->camera->CurrentFloor)->UpdateDirectionalIndicators(Number);
- if (EmergencyStop == 0 && InspectionService == false)
+ if ((EmergencyStop == 0 || manualstop == true) && InspectionService == false)
{
//update floor indicators on current camera floor
if (sbs->GetFloor(sbs->camera->CurrentFloor))
if (FireServicePhase2 == 1 && (GetFloor() != RecallFloor) && (GetFloor() != RecallFloorAlternate))
hold = true;
+ if (Interlocks == true)
+ {
+ if (IsMoving == true)
+ {
+ Report("Cannot open doors while moving if interlocks are enabled");
+ return;
+ }
+ if (OnFloor == false || (whichdoors == 3 && floor != GetFloor()))
+ {
+ Report("Cannot open doors if not stopped within a landing zone if interlocks are enabled");
+ return;
+ }
+ }
+
int start, end;
if (number == 0)
{
return floor->GetCallButton(Number);
return 0;
}
+
+int Elevator::GetActiveCallFloor()
+{
+ return ActiveCallFloor;
+}
+
+int Elevator::GetActiveCallDirection()
+{
+ return ActiveCallDirection;
+}
bool AutoDoors; //true if doors should be automatic (automatically open when reaching destination and refuse to open if off floor)
bool OpenOnStart; //true if doors should automatically open on simulator start
int ManualMove; //0 if manual movement is off; -1 for down, 1 for up
+ bool Interlocks; //lock doors during movement
MeshObject* ElevatorMesh; //elevator mesh object
void Down();
Shaft* GetShaft();
CallButton* GetPrimaryCallButton();
+ int GetActiveCallFloor();
+ int GetActiveCallDirection();
private:
EnableNudgeMode(false);
//turn on nudge mode timer if doors are open
- if (open == true && NudgeTimer > 0 && nudgetimer->IsRunning() == false)
+ if (open == true && NudgeTimer > 0 && nudgetimer->IsRunning() == false && elev->AutoDoors == true)
nudgetimer->Start(NudgeTimer * 1000, true);
//reset values
void ElevatorDoor::ResetDoorTimer()
{
//reset elevator door timer
+
+ if (elev->AutoDoors == false)
+ return;
+
if (quick_close == false)
{
if (DoorTimer > 0)