done
This commit is contained in:
commit
434994fa1f
28 changed files with 8532 additions and 0 deletions
BIN
.DS_Store
vendored
Normal file
BIN
.DS_Store
vendored
Normal file
Binary file not shown.
9
.cse
Normal file
9
.cse
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"_explorerStates": [
|
||||||
|
{
|
||||||
|
"_id": "MEP621_XPanel",
|
||||||
|
"_isOpen": true,
|
||||||
|
"_dateTime": "2025-03-13T09:08:32.8150000Z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
__TEMP
|
||||||
20
MEP621_XPanel.csln
Normal file
20
MEP621_XPanel.csln
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"_fileMetadata": {
|
||||||
|
"_schema": "1.0.0.0",
|
||||||
|
"_createdByAppHost": "2.101.8.0",
|
||||||
|
"_created": "2025-03-13T10:08:32.384302+01:00",
|
||||||
|
"_lastModifiedByAppHost": "2.101.8.0",
|
||||||
|
"_minimumAppHost": "2.0.0",
|
||||||
|
"_modified": "2025-03-13T10:08:32.384271+01:00"
|
||||||
|
},
|
||||||
|
"_solution": {
|
||||||
|
"_name": "MEP621_XPanel",
|
||||||
|
"_projects": [
|
||||||
|
{
|
||||||
|
"_name": "MEP621_XPanel",
|
||||||
|
"_filename": "MEP621_XPanel/MEP621_XPanel.cuip",
|
||||||
|
"_datetime": "2025-03-13T09:08:32.137667Z"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
MEP621_XPanel/.DS_Store
vendored
Normal file
BIN
MEP621_XPanel/.DS_Store
vendored
Normal file
Binary file not shown.
1404
MEP621_XPanel/Lab0.cuig
Normal file
1404
MEP621_XPanel/Lab0.cuig
Normal file
File diff suppressed because one or more lines are too long
949
MEP621_XPanel/Lab1.cuig
Normal file
949
MEP621_XPanel/Lab1.cuig
Normal file
File diff suppressed because one or more lines are too long
1738
MEP621_XPanel/Lab2.cuig
Normal file
1738
MEP621_XPanel/Lab2.cuig
Normal file
File diff suppressed because one or more lines are too long
13
MEP621_XPanel/MEP621_XPanel.cuib
Normal file
13
MEP621_XPanel/MEP621_XPanel.cuib
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"FileMetadata": {
|
||||||
|
"_createdByProjectApp": "1.3701.9.0",
|
||||||
|
"_lastModifiedByProjectApp": "1.3701.9.0",
|
||||||
|
"_schema": "1.0.0.0",
|
||||||
|
"_createdByAppHost": "2.101.8.0",
|
||||||
|
"_created": "2025-03-13T10:08:32.149283+01:00",
|
||||||
|
"_lastModifiedByAppHost": "2.101.8.0",
|
||||||
|
"_minimumAppHost": "2.0.0",
|
||||||
|
"_modified": "2025-03-13T10:08:32.149128+01:00"
|
||||||
|
},
|
||||||
|
"HardButtons": []
|
||||||
|
}
|
||||||
52
MEP621_XPanel/MEP621_XPanel.cuip
Normal file
52
MEP621_XPanel/MEP621_XPanel.cuip
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
{FileMetadata}
|
||||||
|
Schema = "1.0.0.0"
|
||||||
|
CreatedByAppHost = "2.101.8.0"
|
||||||
|
Created = 2025-03-13 10:08:32.295891+01:00
|
||||||
|
LastModifiedByAppHost = "2.101.8.0"
|
||||||
|
Modified = 2025-03-13 10:09:41.115029+01:00
|
||||||
|
CreatedByProjectApp = "1.3701.9.0"
|
||||||
|
LastModifiedByProjectApp = "1.3701.9.0"
|
||||||
|
MinimumProjectApp = "1.2600.1"
|
||||||
|
MinimumAppHost = "2.0.0"
|
||||||
|
|
||||||
|
{DeviceResolutionSource}
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"ProjectId": "1de2647d-42ea-43c9-afea-1c63c52402a1",
|
||||||
|
"IsCustom": true,
|
||||||
|
"IsSelected": true,
|
||||||
|
"VisitedName": "Full HD",
|
||||||
|
"id": "Custom-L-ba34a430-7c66-4555-b2fa-3c4a1d368372-1920-1080",
|
||||||
|
"idName": "Full HD",
|
||||||
|
"resolutionId": "L-1920-1080",
|
||||||
|
"resolutionName": "Full HD",
|
||||||
|
"resolutionType": "custom",
|
||||||
|
"deviceSpecId": "Full HD",
|
||||||
|
"width": "1920px",
|
||||||
|
"height": "1080px",
|
||||||
|
"widthMedia": "1920px",
|
||||||
|
"heightMedia": "1080px",
|
||||||
|
"orientation": 1,
|
||||||
|
"supportedDevices": "",
|
||||||
|
"displayNameSuffix": "",
|
||||||
|
"componentKeys": [
|
||||||
|
"UiEditor"
|
||||||
|
],
|
||||||
|
"modes": [],
|
||||||
|
"IsMode": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
{ProjectAttributes}
|
||||||
|
|
||||||
|
[Attributes]
|
||||||
|
Name = "MEP621_XPanel"
|
||||||
|
ThemeId = "light-theme.css"
|
||||||
|
ThemePageColor = "#ffffff"
|
||||||
|
SdkId = "CH5:2.11.1.2"
|
||||||
|
ComponentKey = "UiEditor"
|
||||||
|
Id = "1de2647d-42ea-43c9-afea-1c63c52402a1"
|
||||||
|
DeviceResolutionIds = "Custom-L-ba34a430-7c66-4555-b2fa-3c4a1d368372-1920-1080"
|
||||||
|
ipId = "03"
|
||||||
|
ProjectSchemaVersion = "6"
|
||||||
|
|
||||||
575
MEP621_XPanel/Main.cuig
Normal file
575
MEP621_XPanel/Main.cuig
Normal file
File diff suppressed because one or more lines are too long
22
MEP621_XPanel/assets/Artwork_Masters25.cuia
Normal file
22
MEP621_XPanel/assets/Artwork_Masters25.cuia
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{FileMetadata}
|
||||||
|
Schema = "1.0.0.0"
|
||||||
|
CreatedByAppHost = "2.101.8.0"
|
||||||
|
Created = 2025-03-13 10:56:15.264283+01:00
|
||||||
|
LastModifiedByAppHost = "2.101.8.0"
|
||||||
|
Modified = 2025-03-13 10:56:15.264262+01:00
|
||||||
|
CreatedByProjectApp = "1.3701.9.0"
|
||||||
|
LastModifiedByProjectApp = "1.3701.9.0"
|
||||||
|
MinimumProjectApp = ""
|
||||||
|
MinimumAppHost = "2.0.0"
|
||||||
|
|
||||||
|
{AssetAttributes}
|
||||||
|
|
||||||
|
[Attributes]
|
||||||
|
Id = "5faae61d-42cc-4fe4-9e6f-7812a4c8d98b"
|
||||||
|
Name = "Artwork_Masters25"
|
||||||
|
SourceUri = "Artwork_Masters25.jpg"
|
||||||
|
AspectRatio = "1.7769660507090674"
|
||||||
|
AssetSourceType = "File"
|
||||||
|
Username = ""
|
||||||
|
Password = ""
|
||||||
|
|
||||||
BIN
MEP621_XPanel/assets/Artwork_Masters25.jpg
Normal file
BIN
MEP621_XPanel/assets/Artwork_Masters25.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.8 MiB |
22
MEP621_XPanel/assets/Background.cuia
Normal file
22
MEP621_XPanel/assets/Background.cuia
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{FileMetadata}
|
||||||
|
Schema = "1.0.0.0"
|
||||||
|
CreatedByAppHost = "2.101.8.0"
|
||||||
|
Created = 2025-03-13 10:23:29.803496+01:00
|
||||||
|
LastModifiedByAppHost = "2.101.8.0"
|
||||||
|
Modified = 2025-03-13 10:23:29.80337+01:00
|
||||||
|
CreatedByProjectApp = "1.3701.9.0"
|
||||||
|
LastModifiedByProjectApp = "1.3701.9.0"
|
||||||
|
MinimumProjectApp = ""
|
||||||
|
MinimumAppHost = "2.0.0"
|
||||||
|
|
||||||
|
{AssetAttributes}
|
||||||
|
|
||||||
|
[Attributes]
|
||||||
|
Id = "48398299-e538-486c-bc01-f98c4e3ab459"
|
||||||
|
Name = "Background"
|
||||||
|
SourceUri = "Background.png"
|
||||||
|
AspectRatio = "1.7744916820702403"
|
||||||
|
AssetSourceType = "File"
|
||||||
|
Username = ""
|
||||||
|
Password = ""
|
||||||
|
|
||||||
BIN
MEP621_XPanel/assets/Background.png
Normal file
BIN
MEP621_XPanel/assets/Background.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 MiB |
22
MEP621_XPanel/assets/masters_logo.cuia
Normal file
22
MEP621_XPanel/assets/masters_logo.cuia
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{FileMetadata}
|
||||||
|
Schema = "1.0.0.0"
|
||||||
|
CreatedByAppHost = "2.101.8.0"
|
||||||
|
Created = 2025-03-13 10:56:27.516127+01:00
|
||||||
|
LastModifiedByAppHost = "2.101.8.0"
|
||||||
|
Modified = 2025-03-13 10:56:27.51612+01:00
|
||||||
|
CreatedByProjectApp = "1.3701.9.0"
|
||||||
|
LastModifiedByProjectApp = "1.3701.9.0"
|
||||||
|
MinimumProjectApp = ""
|
||||||
|
MinimumAppHost = "2.0.0"
|
||||||
|
|
||||||
|
{AssetAttributes}
|
||||||
|
|
||||||
|
[Attributes]
|
||||||
|
Id = "d72f7bf3-fb1f-4e3a-8c01-1c687b78d58e"
|
||||||
|
Name = "masters_logo"
|
||||||
|
SourceUri = "masters_logo.png"
|
||||||
|
AspectRatio = "3.5128644939965694"
|
||||||
|
AssetSourceType = "File"
|
||||||
|
Username = ""
|
||||||
|
Password = ""
|
||||||
|
|
||||||
BIN
MEP621_XPanel/assets/masters_logo.png
Normal file
BIN
MEP621_XPanel/assets/masters_logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 120 KiB |
BIN
MEP621_XPanel/output/.DS_Store
vendored
Normal file
BIN
MEP621_XPanel/output/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
MEP621_XPanel/output/MEP621_XPanel.ch5z
Normal file
BIN
MEP621_XPanel/output/MEP621_XPanel.ch5z
Normal file
Binary file not shown.
151
MEP621_XPanel/output/contract/mapping/MEP621_XPanel.cse2j
Normal file
151
MEP621_XPanel/output/contract/mapping/MEP621_XPanel.cse2j
Normal file
|
|
@ -0,0 +1,151 @@
|
||||||
|
{
|
||||||
|
"name": "MEP621_XPanel",
|
||||||
|
"timestamp": "2025-03-13T12:46:15.261768+00:00",
|
||||||
|
"version": "1.0.0.0",
|
||||||
|
"schema_version": 1,
|
||||||
|
"extra_value": "",
|
||||||
|
"signals": {
|
||||||
|
"states": {
|
||||||
|
"boolean": {
|
||||||
|
"1": {
|
||||||
|
"3": "Lab0.btnBack.Selected",
|
||||||
|
"4": "Lab0.btnDisplayPowerOff.Selected",
|
||||||
|
"5": "Lab0.btnDisplayPowerOn.Selected",
|
||||||
|
"6": "Lab0.btnSource1.Selected",
|
||||||
|
"7": "Lab0.btnSource2.Selected",
|
||||||
|
"8": "Lab0.btnSource3.Selected",
|
||||||
|
"9": "Lab0.btnSystemPowerOff.Selected",
|
||||||
|
"10": "Lab0.btnSystemPowerOn.Selected"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"3": "Lab1.btnAlert.Selected",
|
||||||
|
"4": "Lab1.btnBack.Selected",
|
||||||
|
"5": "Lab1.btnOccupancy.Selected",
|
||||||
|
"6": "Lab1.btnOccupancyFb.Selected",
|
||||||
|
"7": "Lab1.btnVacancyFb.Selected"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"3": "Lab2.btnBack.Selected",
|
||||||
|
"4": "Lab2.btnMaintenanceOff.Selected",
|
||||||
|
"5": "Lab2.btnMaintenanceOn.Selected",
|
||||||
|
"6": "Lab2.btnSystemCheck.Selected"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"numeric": {
|
||||||
|
"3": {
|
||||||
|
"9": "Lab2.btnCheck1.Mode",
|
||||||
|
"10": "Lab2.btnCheck2.Mode",
|
||||||
|
"11": "Lab2.btnCheck3.Mode",
|
||||||
|
"12": "Lab2.btnCheck4.Mode"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"string": {
|
||||||
|
"1": {
|
||||||
|
"1": "Lab0.txtRoomName.Indirect",
|
||||||
|
"2": "Lab0.txtSources.Indirect"
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"1": "Lab1.txtInputField.IndirectText",
|
||||||
|
"2": "Lab1.txtAlert.Indirect",
|
||||||
|
"3": "Lab1.txtRoomName.Indirect"
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"1": "Lab2.txtCheckStatus.Indirect",
|
||||||
|
"2": "Lab2.txtRoomName.Indirect",
|
||||||
|
"3": "Lab2.txtSystemCheck.Indirect"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"events": {
|
||||||
|
"boolean": {
|
||||||
|
"Lab0.btnBack.Press": {
|
||||||
|
"joinId": 3,
|
||||||
|
"smartObjectId": 1
|
||||||
|
},
|
||||||
|
"Lab0.btnDisplayPowerOff.Press": {
|
||||||
|
"joinId": 4,
|
||||||
|
"smartObjectId": 1
|
||||||
|
},
|
||||||
|
"Lab0.btnDisplayPowerOn.Press": {
|
||||||
|
"joinId": 5,
|
||||||
|
"smartObjectId": 1
|
||||||
|
},
|
||||||
|
"Lab0.btnSource1.Press": {
|
||||||
|
"joinId": 6,
|
||||||
|
"smartObjectId": 1
|
||||||
|
},
|
||||||
|
"Lab0.btnSource2.Press": {
|
||||||
|
"joinId": 7,
|
||||||
|
"smartObjectId": 1
|
||||||
|
},
|
||||||
|
"Lab0.btnSource3.Press": {
|
||||||
|
"joinId": 8,
|
||||||
|
"smartObjectId": 1
|
||||||
|
},
|
||||||
|
"Lab0.btnSystemPowerOff.Press": {
|
||||||
|
"joinId": 9,
|
||||||
|
"smartObjectId": 1
|
||||||
|
},
|
||||||
|
"Lab0.btnSystemPowerOn.Press": {
|
||||||
|
"joinId": 10,
|
||||||
|
"smartObjectId": 1
|
||||||
|
},
|
||||||
|
"Lab1.btnAlert.Press": {
|
||||||
|
"joinId": 3,
|
||||||
|
"smartObjectId": 2
|
||||||
|
},
|
||||||
|
"Lab1.btnBack.Press": {
|
||||||
|
"joinId": 4,
|
||||||
|
"smartObjectId": 2
|
||||||
|
},
|
||||||
|
"Lab1.btnOccupancy.Press": {
|
||||||
|
"joinId": 5,
|
||||||
|
"smartObjectId": 2
|
||||||
|
},
|
||||||
|
"Lab1.btnOccupancyFb.Press": {
|
||||||
|
"joinId": 6,
|
||||||
|
"smartObjectId": 2
|
||||||
|
},
|
||||||
|
"Lab1.btnVacancyFb.Press": {
|
||||||
|
"joinId": 7,
|
||||||
|
"smartObjectId": 2
|
||||||
|
},
|
||||||
|
"Lab2.btnBack.Press": {
|
||||||
|
"joinId": 3,
|
||||||
|
"smartObjectId": 3
|
||||||
|
},
|
||||||
|
"Lab2.btnCheck1.Press": {
|
||||||
|
"joinId": 4,
|
||||||
|
"smartObjectId": 3
|
||||||
|
},
|
||||||
|
"Lab2.btnCheck2.Press": {
|
||||||
|
"joinId": 5,
|
||||||
|
"smartObjectId": 3
|
||||||
|
},
|
||||||
|
"Lab2.btnCheck3.Press": {
|
||||||
|
"joinId": 6,
|
||||||
|
"smartObjectId": 3
|
||||||
|
},
|
||||||
|
"Lab2.btnCheck4.Press": {
|
||||||
|
"joinId": 7,
|
||||||
|
"smartObjectId": 3
|
||||||
|
},
|
||||||
|
"Lab2.btnCheckComplete.Press": {
|
||||||
|
"joinId": 8,
|
||||||
|
"smartObjectId": 3
|
||||||
|
},
|
||||||
|
"Lab2.btnStartCheck.Press": {
|
||||||
|
"joinId": 9,
|
||||||
|
"smartObjectId": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"numeric": {},
|
||||||
|
"string": {
|
||||||
|
"Lab1.txtInputField.OutputText": {
|
||||||
|
"joinId": 1,
|
||||||
|
"smartObjectId": 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,767 @@
|
||||||
|
[
|
||||||
|
ObjTp=FSgntr
|
||||||
|
Sgntr=CHD
|
||||||
|
RelVrs=1
|
||||||
|
Schema=1
|
||||||
|
CrestronConstruct=1.3701.9.0
|
||||||
|
]
|
||||||
|
[
|
||||||
|
ObjTp=Hd
|
||||||
|
Schema=1
|
||||||
|
ProjectFile=MEP621_XPanel.cuip
|
||||||
|
ContractID=TUVQNjIxX1hQYW5lbA==
|
||||||
|
CEProjectVer=1.0.0.0
|
||||||
|
DateTimeUTC=2025-03-13 12:46:15.251
|
||||||
|
]
|
||||||
|
[
|
||||||
|
ObjTp=Symbol
|
||||||
|
Name=Lab0
|
||||||
|
SmplCName=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d
|
||||||
|
Hint=Lab0 (Control Join Id 1)
|
||||||
|
Code=1
|
||||||
|
SMWRev=4.28.00
|
||||||
|
Expand=expand_randomly
|
||||||
|
MinVariableInputs=16
|
||||||
|
MaxVariableInputs=16
|
||||||
|
MinVariableOutputs=16
|
||||||
|
MaxVariableOutputs=16
|
||||||
|
MinVariableInputsList2=0
|
||||||
|
MaxVariableInputsList2=0
|
||||||
|
MinVariableOutputsList2=0
|
||||||
|
MaxVariableOutputsList2=0
|
||||||
|
MinVariableInputsList3=4
|
||||||
|
MaxVariableInputsList3=4
|
||||||
|
MinVariableOutputsList3=4
|
||||||
|
MaxVariableOutputsList3=4
|
||||||
|
NumFixedParams=1
|
||||||
|
ParamCue1=ControlJoinId
|
||||||
|
ParamSigType1=UI_RO_String
|
||||||
|
ControlJoinId=1d
|
||||||
|
MPp=1
|
||||||
|
Pp1=1
|
||||||
|
ChdH=1
|
||||||
|
Render=8
|
||||||
|
InputCue1=[~UNUSED~]
|
||||||
|
InputSigType1=Digital
|
||||||
|
SmplCInputCue1=Lab0.btnSystemPowerOff.Selected.Input.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Gap1
|
||||||
|
InputCue2=[~UNUSED~]
|
||||||
|
InputSigType2=Digital
|
||||||
|
SmplCInputCue2=Lab0.btnSystemPowerOff.Selected.Input.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Gap2
|
||||||
|
InputCue3=[~UNUSED2~]
|
||||||
|
InputSigType3=Digital
|
||||||
|
SmplCInputCue3=Lab0.btnSystemPowerOff.Selected.Input.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Gap3
|
||||||
|
InputCue4=[~UNUSED~]
|
||||||
|
InputSigType4=Digital
|
||||||
|
SmplCInputCue4=Lab0.btnSystemPowerOff.Selected.Input.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Gap4
|
||||||
|
InputCue5=[~UNUSED~]
|
||||||
|
InputSigType5=Digital
|
||||||
|
SmplCInputCue5=Lab0.btnSystemPowerOff.Selected.Input.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Gap5
|
||||||
|
InputCue6=[~UNUSED2~]
|
||||||
|
InputSigType6=Digital
|
||||||
|
SmplCInputCue6=Lab0.btnSystemPowerOff.Selected.Input.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Gap6
|
||||||
|
InputCue7=[~BeginGroup~] Press
|
||||||
|
SmplCInputCue7=Lab0.btnBack.Selected.Input.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Group.3.Begin
|
||||||
|
InputSigType7=Digital
|
||||||
|
InputCue8=btnBack.Selected_fb
|
||||||
|
InputSigType8=Digital
|
||||||
|
SmplCInputCue8=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.i8l0efdm9ntol.pd-receivestateselected
|
||||||
|
InputToolTip8=btnBack.Selected
|
||||||
|
InputCue9=btnDisplayPowerOff.Selected_fb
|
||||||
|
InputSigType9=Digital
|
||||||
|
SmplCInputCue9=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.ioe9gpzv5mp9d.pd-receivestateselected
|
||||||
|
InputToolTip9=btnDisplayPowerOff.Selected
|
||||||
|
InputCue10=btnDisplayPowerOn.Selected_fb
|
||||||
|
InputSigType10=Digital
|
||||||
|
SmplCInputCue10=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.i8dy1ztqpfj6f.pd-receivestateselected
|
||||||
|
InputToolTip10=btnDisplayPowerOn.Selected
|
||||||
|
InputCue11=btnSource1.Selected_fb
|
||||||
|
InputSigType11=Digital
|
||||||
|
SmplCInputCue11=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.ibctnxo5lhbjf.pd-receivestateselected
|
||||||
|
InputToolTip11=btnSource1.Selected
|
||||||
|
InputCue12=btnSource2.Selected_fb
|
||||||
|
InputSigType12=Digital
|
||||||
|
SmplCInputCue12=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.ieyu46w7s1kwo.pd-receivestateselected
|
||||||
|
InputToolTip12=btnSource2.Selected
|
||||||
|
InputCue13=btnSource3.Selected_fb
|
||||||
|
InputSigType13=Digital
|
||||||
|
SmplCInputCue13=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.i3ozaik1i5kyx.pd-receivestateselected
|
||||||
|
InputToolTip13=btnSource3.Selected
|
||||||
|
InputCue14=btnSystemPowerOff.Selected_fb
|
||||||
|
InputSigType14=Digital
|
||||||
|
SmplCInputCue14=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.i0iqt263ivwg9.pd-receivestateselected
|
||||||
|
InputToolTip14=btnSystemPowerOff.Selected
|
||||||
|
InputCue15=btnSystemPowerOn.Selected_fb
|
||||||
|
InputSigType15=Digital
|
||||||
|
SmplCInputCue15=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.ios6ajykji3pb.pd-receivestateselected
|
||||||
|
InputToolTip15=btnSystemPowerOn.Selected
|
||||||
|
InputCue16=[~EndGroup~]
|
||||||
|
SmplCInputCue16=Lab0.btnBack.Selected.Input.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Group.3.EndGroup
|
||||||
|
InputSigType16=Digital
|
||||||
|
InputList3Cue1=[~BeginGroup~] Indirect Text
|
||||||
|
SmplCInputList3Cue1=Lab0.txtRoomName.Indirect.List3Input.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Group.1.Begin
|
||||||
|
InputList3SigType1=Serial
|
||||||
|
InputList3Cue2=txtRoomName.Indirect
|
||||||
|
InputList3SigType2=Serial
|
||||||
|
SmplCInputList3Cue2=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.i3sk5g7vxgv15.pd-receivestatelabel
|
||||||
|
Input3ToolTip2=txtRoomName.Indirect
|
||||||
|
InputList3Cue3=txtSources.Indirect
|
||||||
|
InputList3SigType3=Serial
|
||||||
|
SmplCInputList3Cue3=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.idtbl1rhzbzv2.pd-receivestatelabel
|
||||||
|
Input3ToolTip3=txtSources.Indirect
|
||||||
|
InputList3Cue4=[~EndGroup~]
|
||||||
|
SmplCInputList3Cue4=Lab0.txtRoomName.Indirect.List3Input.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Group.1.EndGroup
|
||||||
|
InputList3SigType4=Serial
|
||||||
|
OutputCue1=[~UNUSED~]
|
||||||
|
OutputSigType1=Digital
|
||||||
|
SmplCOutputCue1=Lab0.btnSystemPowerOff.Press.Output.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Gap1
|
||||||
|
OutputCue2=[~UNUSED~]
|
||||||
|
OutputSigType2=Digital
|
||||||
|
SmplCOutputCue2=Lab0.btnSystemPowerOff.Press.Output.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Gap2
|
||||||
|
OutputCue3=[~UNUSED2~]
|
||||||
|
OutputSigType3=Digital
|
||||||
|
SmplCOutputCue3=Lab0.btnSystemPowerOff.Press.Output.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Gap3
|
||||||
|
OutputCue4=[~UNUSED~]
|
||||||
|
OutputSigType4=Digital
|
||||||
|
SmplCOutputCue4=Lab0.btnSystemPowerOff.Press.Output.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Gap4
|
||||||
|
OutputCue5=[~UNUSED~]
|
||||||
|
OutputSigType5=Digital
|
||||||
|
SmplCOutputCue5=Lab0.btnSystemPowerOff.Press.Output.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Gap5
|
||||||
|
OutputCue6=[~UNUSED2~]
|
||||||
|
OutputSigType6=Digital
|
||||||
|
SmplCOutputCue6=Lab0.btnSystemPowerOff.Press.Output.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Gap6
|
||||||
|
OutputCue7=[~BeginGroup~] Press
|
||||||
|
SmplCOutputCue7=Lab0.btnBack.Press.Output.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Group.3.Begin
|
||||||
|
OutputSigType7=Digital
|
||||||
|
OutputCue8=btnBack.Press
|
||||||
|
OutputSigType8=Digital
|
||||||
|
SmplCOutputCue8=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.i8l0efdm9ntol.sendeventontouch
|
||||||
|
OutputToolTip8=btnBack.Press
|
||||||
|
OutputCue9=btnDisplayPowerOff.Press
|
||||||
|
OutputSigType9=Digital
|
||||||
|
SmplCOutputCue9=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.ioe9gpzv5mp9d.sendeventontouch
|
||||||
|
OutputToolTip9=btnDisplayPowerOff.Press
|
||||||
|
OutputCue10=btnDisplayPowerOn.Press
|
||||||
|
OutputSigType10=Digital
|
||||||
|
SmplCOutputCue10=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.i8dy1ztqpfj6f.sendeventontouch
|
||||||
|
OutputToolTip10=btnDisplayPowerOn.Press
|
||||||
|
OutputCue11=btnSource1.Press
|
||||||
|
OutputSigType11=Digital
|
||||||
|
SmplCOutputCue11=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.ibctnxo5lhbjf.sendeventontouch
|
||||||
|
OutputToolTip11=btnSource1.Press
|
||||||
|
OutputCue12=btnSource2.Press
|
||||||
|
OutputSigType12=Digital
|
||||||
|
SmplCOutputCue12=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.ieyu46w7s1kwo.sendeventontouch
|
||||||
|
OutputToolTip12=btnSource2.Press
|
||||||
|
OutputCue13=btnSource3.Press
|
||||||
|
OutputSigType13=Digital
|
||||||
|
SmplCOutputCue13=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.i3ozaik1i5kyx.sendeventontouch
|
||||||
|
OutputToolTip13=btnSource3.Press
|
||||||
|
OutputCue14=btnSystemPowerOff.Press
|
||||||
|
OutputSigType14=Digital
|
||||||
|
SmplCOutputCue14=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.i0iqt263ivwg9.sendeventontouch
|
||||||
|
OutputToolTip14=btnSystemPowerOff.Press
|
||||||
|
OutputCue15=btnSystemPowerOn.Press
|
||||||
|
OutputSigType15=Digital
|
||||||
|
SmplCOutputCue15=1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.ios6ajykji3pb.sendeventontouch
|
||||||
|
OutputToolTip15=btnSystemPowerOn.Press
|
||||||
|
OutputCue16=[~EndGroup~]
|
||||||
|
SmplCOutputCue16=Lab0.btnBack.Press.Output.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Group.3.EndGroup
|
||||||
|
OutputSigType16=Digital
|
||||||
|
OutputList3Cue1=[~BeginGroup~] Indirect Text
|
||||||
|
SmplCOutputList3Cue1=Lab0.txtRoomName.Indirect.Group1Event.Gap0.List3Output.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Group.1.Begin
|
||||||
|
OutputList3SigType1=Serial
|
||||||
|
OutputList3Cue2=[~UNUSED~]
|
||||||
|
OutputList3SigType2=Serial
|
||||||
|
SmplCOutputList3Cue2=Lab0.txtRoomName.Indirect.Group1Event.Gap0
|
||||||
|
OutputList3Cue3=[~UNUSED~]
|
||||||
|
OutputList3SigType3=Serial
|
||||||
|
SmplCOutputList3Cue3=Lab0.txtSources.Indirect.Group1Event.Gap1
|
||||||
|
OutputList3Cue4=[~EndGroup~]
|
||||||
|
SmplCOutputList3Cue4=Lab0.txtRoomName.Indirect.Group1Event.Gap0.List3Output.1ca24ee1-2bb7-43f3-9c4c-74160d429c5d.Group.1.EndGroup
|
||||||
|
OutputList3SigType4=Serial
|
||||||
|
]
|
||||||
|
[
|
||||||
|
ObjTp=Dp
|
||||||
|
Tp=1
|
||||||
|
HD=TRUE
|
||||||
|
NF=1
|
||||||
|
DNF=1
|
||||||
|
EncFmt=0
|
||||||
|
DVLF=1
|
||||||
|
Sgn=0
|
||||||
|
H=1
|
||||||
|
DV=1d
|
||||||
|
]
|
||||||
|
[
|
||||||
|
ObjTp=CHD
|
||||||
|
H=1
|
||||||
|
ChdCode=1
|
||||||
|
ParentChdFolder=0
|
||||||
|
]
|
||||||
|
[
|
||||||
|
ObjTp=Symbol
|
||||||
|
Name=Lab1
|
||||||
|
SmplCName=21c50c70-b0c9-481c-a3a2-de183821885a
|
||||||
|
Hint=Lab1 (Control Join Id 2)
|
||||||
|
Code=2
|
||||||
|
SMWRev=4.28.00
|
||||||
|
Expand=expand_randomly
|
||||||
|
MinVariableInputs=13
|
||||||
|
MaxVariableInputs=13
|
||||||
|
MinVariableOutputs=13
|
||||||
|
MaxVariableOutputs=13
|
||||||
|
MinVariableInputsList2=0
|
||||||
|
MaxVariableInputsList2=0
|
||||||
|
MinVariableOutputsList2=0
|
||||||
|
MaxVariableOutputsList2=0
|
||||||
|
MinVariableInputsList3=5
|
||||||
|
MaxVariableInputsList3=5
|
||||||
|
MinVariableOutputsList3=5
|
||||||
|
MaxVariableOutputsList3=5
|
||||||
|
NumFixedParams=1
|
||||||
|
ParamCue1=ControlJoinId
|
||||||
|
ParamSigType1=UI_RO_String
|
||||||
|
ControlJoinId=2d
|
||||||
|
MPp=1
|
||||||
|
Pp1=2
|
||||||
|
ChdH=2
|
||||||
|
Render=8
|
||||||
|
InputCue1=[~UNUSED~]
|
||||||
|
InputSigType1=Digital
|
||||||
|
SmplCInputCue1=Lab1.btnOccupancy.Selected.Input.21c50c70-b0c9-481c-a3a2-de183821885a.Gap1
|
||||||
|
InputCue2=[~UNUSED~]
|
||||||
|
InputSigType2=Digital
|
||||||
|
SmplCInputCue2=Lab1.btnOccupancy.Selected.Input.21c50c70-b0c9-481c-a3a2-de183821885a.Gap2
|
||||||
|
InputCue3=[~UNUSED2~]
|
||||||
|
InputSigType3=Digital
|
||||||
|
SmplCInputCue3=Lab1.btnOccupancy.Selected.Input.21c50c70-b0c9-481c-a3a2-de183821885a.Gap3
|
||||||
|
InputCue4=[~UNUSED~]
|
||||||
|
InputSigType4=Digital
|
||||||
|
SmplCInputCue4=Lab1.btnOccupancy.Selected.Input.21c50c70-b0c9-481c-a3a2-de183821885a.Gap4
|
||||||
|
InputCue5=[~UNUSED~]
|
||||||
|
InputSigType5=Digital
|
||||||
|
SmplCInputCue5=Lab1.btnOccupancy.Selected.Input.21c50c70-b0c9-481c-a3a2-de183821885a.Gap5
|
||||||
|
InputCue6=[~UNUSED2~]
|
||||||
|
InputSigType6=Digital
|
||||||
|
SmplCInputCue6=Lab1.btnOccupancy.Selected.Input.21c50c70-b0c9-481c-a3a2-de183821885a.Gap6
|
||||||
|
InputCue7=[~BeginGroup~] Press
|
||||||
|
SmplCInputCue7=Lab1.btnAlert.Selected.Input.21c50c70-b0c9-481c-a3a2-de183821885a.Group.3.Begin
|
||||||
|
InputSigType7=Digital
|
||||||
|
InputCue8=btnAlert.Selected_fb
|
||||||
|
InputSigType8=Digital
|
||||||
|
SmplCInputCue8=21c50c70-b0c9-481c-a3a2-de183821885a.inse.pd-receivestateselected
|
||||||
|
InputToolTip8=btnAlert.Selected
|
||||||
|
InputCue9=btnBack.Selected_fb
|
||||||
|
InputSigType9=Digital
|
||||||
|
SmplCInputCue9=21c50c70-b0c9-481c-a3a2-de183821885a.if1q8gfz14kw6.pd-receivestateselected
|
||||||
|
InputToolTip9=btnBack.Selected
|
||||||
|
InputCue10=btnOccupancy.Selected_fb
|
||||||
|
InputSigType10=Digital
|
||||||
|
SmplCInputCue10=21c50c70-b0c9-481c-a3a2-de183821885a.i4ee.pd-receivestateselected
|
||||||
|
InputToolTip10=btnOccupancy.Selected
|
||||||
|
InputCue11=btnOccupancyFb.Selected_fb
|
||||||
|
InputSigType11=Digital
|
||||||
|
SmplCInputCue11=21c50c70-b0c9-481c-a3a2-de183821885a.ik5q.pd-receivestateselected
|
||||||
|
InputToolTip11=btnOccupancyFb.Selected
|
||||||
|
InputCue12=btnVacancyFb.Selected_fb
|
||||||
|
InputSigType12=Digital
|
||||||
|
SmplCInputCue12=21c50c70-b0c9-481c-a3a2-de183821885a.iezj.pd-receivestateselected
|
||||||
|
InputToolTip12=btnVacancyFb.Selected
|
||||||
|
InputCue13=[~EndGroup~]
|
||||||
|
SmplCInputCue13=Lab1.btnAlert.Selected.Input.21c50c70-b0c9-481c-a3a2-de183821885a.Group.3.EndGroup
|
||||||
|
InputSigType13=Digital
|
||||||
|
InputList3Cue1=[~BeginGroup~] Text
|
||||||
|
SmplCInputList3Cue1=Lab1.txtInputField.IndirectText.List3Input.21c50c70-b0c9-481c-a3a2-de183821885a.Group.1.Begin
|
||||||
|
InputList3SigType1=Serial
|
||||||
|
InputList3Cue2=txtInputField.IndirectText_fb
|
||||||
|
InputList3SigType2=Serial
|
||||||
|
SmplCInputList3Cue2=21c50c70-b0c9-481c-a3a2-de183821885a.iuwv2.pd-receivestatevalue
|
||||||
|
Input3ToolTip2=txtInputField.Indirect Text
|
||||||
|
InputList3Cue3=txtAlert.Indirect
|
||||||
|
InputList3SigType3=Serial
|
||||||
|
SmplCInputList3Cue3=21c50c70-b0c9-481c-a3a2-de183821885a.iylu.pd-receivestatelabel
|
||||||
|
Input3ToolTip3=txtAlert.Indirect
|
||||||
|
InputList3Cue4=txtRoomName.Indirect
|
||||||
|
InputList3SigType4=Serial
|
||||||
|
SmplCInputList3Cue4=21c50c70-b0c9-481c-a3a2-de183821885a.i5zx.pd-receivestatelabel
|
||||||
|
Input3ToolTip4=txtRoomName.Indirect
|
||||||
|
InputList3Cue5=[~EndGroup~]
|
||||||
|
SmplCInputList3Cue5=Lab1.txtInputField.IndirectText.List3Input.21c50c70-b0c9-481c-a3a2-de183821885a.Group.1.EndGroup
|
||||||
|
InputList3SigType5=Serial
|
||||||
|
OutputCue1=[~UNUSED~]
|
||||||
|
OutputSigType1=Digital
|
||||||
|
SmplCOutputCue1=Lab1.btnOccupancy.Press.Output.21c50c70-b0c9-481c-a3a2-de183821885a.Gap1
|
||||||
|
OutputCue2=[~UNUSED~]
|
||||||
|
OutputSigType2=Digital
|
||||||
|
SmplCOutputCue2=Lab1.btnOccupancy.Press.Output.21c50c70-b0c9-481c-a3a2-de183821885a.Gap2
|
||||||
|
OutputCue3=[~UNUSED2~]
|
||||||
|
OutputSigType3=Digital
|
||||||
|
SmplCOutputCue3=Lab1.btnOccupancy.Press.Output.21c50c70-b0c9-481c-a3a2-de183821885a.Gap3
|
||||||
|
OutputCue4=[~UNUSED~]
|
||||||
|
OutputSigType4=Digital
|
||||||
|
SmplCOutputCue4=Lab1.btnOccupancy.Press.Output.21c50c70-b0c9-481c-a3a2-de183821885a.Gap4
|
||||||
|
OutputCue5=[~UNUSED~]
|
||||||
|
OutputSigType5=Digital
|
||||||
|
SmplCOutputCue5=Lab1.btnOccupancy.Press.Output.21c50c70-b0c9-481c-a3a2-de183821885a.Gap5
|
||||||
|
OutputCue6=[~UNUSED2~]
|
||||||
|
OutputSigType6=Digital
|
||||||
|
SmplCOutputCue6=Lab1.btnOccupancy.Press.Output.21c50c70-b0c9-481c-a3a2-de183821885a.Gap6
|
||||||
|
OutputCue7=[~BeginGroup~] Press
|
||||||
|
SmplCOutputCue7=Lab1.btnAlert.Press.Output.21c50c70-b0c9-481c-a3a2-de183821885a.Group.3.Begin
|
||||||
|
OutputSigType7=Digital
|
||||||
|
OutputCue8=btnAlert.Press
|
||||||
|
OutputSigType8=Digital
|
||||||
|
SmplCOutputCue8=21c50c70-b0c9-481c-a3a2-de183821885a.inse.sendeventontouch
|
||||||
|
OutputToolTip8=btnAlert.Press
|
||||||
|
OutputCue9=btnBack.Press
|
||||||
|
OutputSigType9=Digital
|
||||||
|
SmplCOutputCue9=21c50c70-b0c9-481c-a3a2-de183821885a.if1q8gfz14kw6.sendeventontouch
|
||||||
|
OutputToolTip9=btnBack.Press
|
||||||
|
OutputCue10=btnOccupancy.Press
|
||||||
|
OutputSigType10=Digital
|
||||||
|
SmplCOutputCue10=21c50c70-b0c9-481c-a3a2-de183821885a.i4ee.sendeventontouch
|
||||||
|
OutputToolTip10=btnOccupancy.Press
|
||||||
|
OutputCue11=btnOccupancyFb.Press
|
||||||
|
OutputSigType11=Digital
|
||||||
|
SmplCOutputCue11=21c50c70-b0c9-481c-a3a2-de183821885a.ik5q.sendeventontouch
|
||||||
|
OutputToolTip11=btnOccupancyFb.Press
|
||||||
|
OutputCue12=btnVacancyFb.Press
|
||||||
|
OutputSigType12=Digital
|
||||||
|
SmplCOutputCue12=21c50c70-b0c9-481c-a3a2-de183821885a.iezj.sendeventontouch
|
||||||
|
OutputToolTip12=btnVacancyFb.Press
|
||||||
|
OutputCue13=[~EndGroup~]
|
||||||
|
SmplCOutputCue13=Lab1.btnAlert.Press.Output.21c50c70-b0c9-481c-a3a2-de183821885a.Group.3.EndGroup
|
||||||
|
OutputSigType13=Digital
|
||||||
|
OutputList3Cue1=[~BeginGroup~] Text
|
||||||
|
SmplCOutputList3Cue1=Lab1.txtInputField.OutputText.List3Output.21c50c70-b0c9-481c-a3a2-de183821885a.Group.1.Begin
|
||||||
|
OutputList3SigType1=Serial
|
||||||
|
OutputList3Cue2=txtInputField.OutputText
|
||||||
|
OutputList3SigType2=Serial
|
||||||
|
SmplCOutputList3Cue2=21c50c70-b0c9-481c-a3a2-de183821885a.iuwv2.sendeventonchange
|
||||||
|
Output3ToolTip2=txtInputField.Output Text
|
||||||
|
OutputList3Cue3=[~UNUSED~]
|
||||||
|
OutputList3SigType3=Serial
|
||||||
|
SmplCOutputList3Cue3=Lab1.txtAlert.Indirect.Group1Event.Gap0
|
||||||
|
OutputList3Cue4=[~UNUSED~]
|
||||||
|
OutputList3SigType4=Serial
|
||||||
|
SmplCOutputList3Cue4=Lab1.txtRoomName.Indirect.Group1Event.Gap1
|
||||||
|
OutputList3Cue5=[~EndGroup~]
|
||||||
|
SmplCOutputList3Cue5=Lab1.txtInputField.OutputText.List3Output.21c50c70-b0c9-481c-a3a2-de183821885a.Group.1.EndGroup
|
||||||
|
OutputList3SigType5=Serial
|
||||||
|
]
|
||||||
|
[
|
||||||
|
ObjTp=Dp
|
||||||
|
Tp=1
|
||||||
|
HD=TRUE
|
||||||
|
NF=1
|
||||||
|
DNF=1
|
||||||
|
EncFmt=0
|
||||||
|
DVLF=1
|
||||||
|
Sgn=0
|
||||||
|
H=2
|
||||||
|
DV=2d
|
||||||
|
]
|
||||||
|
[
|
||||||
|
ObjTp=CHD
|
||||||
|
H=2
|
||||||
|
ChdCode=2
|
||||||
|
ParentChdFolder=0
|
||||||
|
]
|
||||||
|
[
|
||||||
|
ObjTp=Symbol
|
||||||
|
Name=Lab2
|
||||||
|
SmplCName=3e4f0a5a-c860-4e55-95bf-9da443b6871b
|
||||||
|
Hint=Lab2 (Control Join Id 3)
|
||||||
|
Code=3
|
||||||
|
SMWRev=4.28.00
|
||||||
|
Expand=expand_randomly
|
||||||
|
MinVariableInputs=18
|
||||||
|
MaxVariableInputs=18
|
||||||
|
MinVariableOutputs=18
|
||||||
|
MaxVariableOutputs=18
|
||||||
|
MinVariableInputsList2=30
|
||||||
|
MaxVariableInputsList2=30
|
||||||
|
MinVariableOutputsList2=30
|
||||||
|
MaxVariableOutputsList2=30
|
||||||
|
MinVariableInputsList3=5
|
||||||
|
MaxVariableInputsList3=5
|
||||||
|
MinVariableOutputsList3=5
|
||||||
|
MaxVariableOutputsList3=5
|
||||||
|
NumFixedParams=1
|
||||||
|
ParamCue1=ControlJoinId
|
||||||
|
ParamSigType1=UI_RO_String
|
||||||
|
ControlJoinId=3d
|
||||||
|
MPp=1
|
||||||
|
Pp1=3
|
||||||
|
ChdH=3
|
||||||
|
Render=8
|
||||||
|
InputCue1=[~UNUSED~]
|
||||||
|
InputSigType1=Digital
|
||||||
|
SmplCInputCue1=Lab2.btnSystemCheck.Selected.Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap1
|
||||||
|
InputCue2=[~UNUSED~]
|
||||||
|
InputSigType2=Digital
|
||||||
|
SmplCInputCue2=Lab2.btnSystemCheck.Selected.Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap2
|
||||||
|
InputCue3=[~UNUSED2~]
|
||||||
|
InputSigType3=Digital
|
||||||
|
SmplCInputCue3=Lab2.btnSystemCheck.Selected.Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap3
|
||||||
|
InputCue4=[~UNUSED~]
|
||||||
|
InputSigType4=Digital
|
||||||
|
SmplCInputCue4=Lab2.btnSystemCheck.Selected.Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap4
|
||||||
|
InputCue5=[~UNUSED~]
|
||||||
|
InputSigType5=Digital
|
||||||
|
SmplCInputCue5=Lab2.btnSystemCheck.Selected.Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap5
|
||||||
|
InputCue6=[~UNUSED2~]
|
||||||
|
InputSigType6=Digital
|
||||||
|
SmplCInputCue6=Lab2.btnSystemCheck.Selected.Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap6
|
||||||
|
InputCue7=[~BeginGroup~] Press
|
||||||
|
SmplCInputCue7=Lab2.btnBack.Selected.Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Group.3.Begin
|
||||||
|
InputSigType7=Digital
|
||||||
|
InputCue8=btnBack.Selected_fb
|
||||||
|
InputSigType8=Digital
|
||||||
|
SmplCInputCue8=3e4f0a5a-c860-4e55-95bf-9da443b6871b.ifg4u687j12vg.pd-receivestateselected
|
||||||
|
InputToolTip8=btnBack.Selected
|
||||||
|
InputCue9=[~UNUSED~]
|
||||||
|
InputSigType9=Digital
|
||||||
|
SmplCInputCue9=Lab2.btnCheck1.Press.Group3.StateGap3
|
||||||
|
InputCue10=[~UNUSED~]
|
||||||
|
InputSigType10=Digital
|
||||||
|
SmplCInputCue10=Lab2.btnCheck2.Press.Group3.StateGap4
|
||||||
|
InputCue11=[~UNUSED~]
|
||||||
|
InputSigType11=Digital
|
||||||
|
SmplCInputCue11=Lab2.btnCheck3.Press.Group3.StateGap5
|
||||||
|
InputCue12=[~UNUSED~]
|
||||||
|
InputSigType12=Digital
|
||||||
|
SmplCInputCue12=Lab2.btnCheck4.Press.Group3.StateGap6
|
||||||
|
InputCue13=[~UNUSED~]
|
||||||
|
InputSigType13=Digital
|
||||||
|
SmplCInputCue13=Lab2.btnCheckComplete.Press.Group3.StateGap7
|
||||||
|
InputCue14=btnMaintenanceOff.Selected_fb
|
||||||
|
InputSigType14=Digital
|
||||||
|
SmplCInputCue14=3e4f0a5a-c860-4e55-95bf-9da443b6871b.ihe6.pd-receivestateselected
|
||||||
|
InputToolTip14=btnMaintenanceOff.Selected
|
||||||
|
InputCue15=btnMaintenanceOn.Selected_fb
|
||||||
|
InputSigType15=Digital
|
||||||
|
SmplCInputCue15=3e4f0a5a-c860-4e55-95bf-9da443b6871b.io2v.pd-receivestateselected
|
||||||
|
InputToolTip15=btnMaintenanceOn.Selected
|
||||||
|
InputCue16=[~UNUSED~]
|
||||||
|
InputSigType16=Digital
|
||||||
|
SmplCInputCue16=Lab2.btnStartCheck.Press.Group3.StateGap8
|
||||||
|
InputCue17=btnSystemCheck.Selected_fb
|
||||||
|
InputSigType17=Digital
|
||||||
|
SmplCInputCue17=3e4f0a5a-c860-4e55-95bf-9da443b6871b.i8cpt0fyi2urj.pd-receivestateselected
|
||||||
|
InputToolTip17=btnSystemCheck.Selected
|
||||||
|
InputCue18=[~EndGroup~]
|
||||||
|
SmplCInputCue18=Lab2.btnBack.Selected.Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Group.3.EndGroup
|
||||||
|
InputSigType18=Digital
|
||||||
|
InputList2Cue1=[~UNUSED~]
|
||||||
|
InputList2SigType1=Analog
|
||||||
|
SmplCInputList2Cue1=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap1
|
||||||
|
InputList2Cue2=[~UNUSED~]
|
||||||
|
InputList2SigType2=Analog
|
||||||
|
SmplCInputList2Cue2=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap2
|
||||||
|
InputList2Cue3=[~UNUSED2~]
|
||||||
|
InputList2SigType3=Analog
|
||||||
|
SmplCInputList2Cue3=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap3
|
||||||
|
InputList2Cue4=[~UNUSED~]
|
||||||
|
InputList2SigType4=Analog
|
||||||
|
SmplCInputList2Cue4=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap4
|
||||||
|
InputList2Cue5=[~UNUSED~]
|
||||||
|
InputList2SigType5=Analog
|
||||||
|
SmplCInputList2Cue5=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap5
|
||||||
|
InputList2Cue6=[~UNUSED2~]
|
||||||
|
InputList2SigType6=Analog
|
||||||
|
SmplCInputList2Cue6=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap6
|
||||||
|
InputList2Cue7=[~UNUSED~]
|
||||||
|
InputList2SigType7=Analog
|
||||||
|
SmplCInputList2Cue7=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap7
|
||||||
|
InputList2Cue8=[~UNUSED~]
|
||||||
|
InputList2SigType8=Analog
|
||||||
|
SmplCInputList2Cue8=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap8
|
||||||
|
InputList2Cue9=[~UNUSED2~]
|
||||||
|
InputList2SigType9=Analog
|
||||||
|
SmplCInputList2Cue9=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap9
|
||||||
|
InputList2Cue10=[~UNUSED~]
|
||||||
|
InputList2SigType10=Analog
|
||||||
|
SmplCInputList2Cue10=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap10
|
||||||
|
InputList2Cue11=[~UNUSED~]
|
||||||
|
InputList2SigType11=Analog
|
||||||
|
SmplCInputList2Cue11=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap11
|
||||||
|
InputList2Cue12=[~UNUSED2~]
|
||||||
|
InputList2SigType12=Analog
|
||||||
|
SmplCInputList2Cue12=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap12
|
||||||
|
InputList2Cue13=[~UNUSED~]
|
||||||
|
InputList2SigType13=Analog
|
||||||
|
SmplCInputList2Cue13=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap13
|
||||||
|
InputList2Cue14=[~UNUSED~]
|
||||||
|
InputList2SigType14=Analog
|
||||||
|
SmplCInputList2Cue14=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap14
|
||||||
|
InputList2Cue15=[~UNUSED2~]
|
||||||
|
InputList2SigType15=Analog
|
||||||
|
SmplCInputList2Cue15=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap15
|
||||||
|
InputList2Cue16=[~UNUSED~]
|
||||||
|
InputList2SigType16=Analog
|
||||||
|
SmplCInputList2Cue16=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap16
|
||||||
|
InputList2Cue17=[~UNUSED~]
|
||||||
|
InputList2SigType17=Analog
|
||||||
|
SmplCInputList2Cue17=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap17
|
||||||
|
InputList2Cue18=[~UNUSED2~]
|
||||||
|
InputList2SigType18=Analog
|
||||||
|
SmplCInputList2Cue18=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap18
|
||||||
|
InputList2Cue19=[~UNUSED~]
|
||||||
|
InputList2SigType19=Analog
|
||||||
|
SmplCInputList2Cue19=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap19
|
||||||
|
InputList2Cue20=[~UNUSED~]
|
||||||
|
InputList2SigType20=Analog
|
||||||
|
SmplCInputList2Cue20=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap20
|
||||||
|
InputList2Cue21=[~UNUSED2~]
|
||||||
|
InputList2SigType21=Analog
|
||||||
|
SmplCInputList2Cue21=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap21
|
||||||
|
InputList2Cue22=[~UNUSED~]
|
||||||
|
InputList2SigType22=Analog
|
||||||
|
SmplCInputList2Cue22=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap22
|
||||||
|
InputList2Cue23=[~UNUSED~]
|
||||||
|
InputList2SigType23=Analog
|
||||||
|
SmplCInputList2Cue23=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap23
|
||||||
|
InputList2Cue24=[~UNUSED2~]
|
||||||
|
InputList2SigType24=Analog
|
||||||
|
SmplCInputList2Cue24=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap24
|
||||||
|
InputList2Cue25=[~BeginGroup~] Mode
|
||||||
|
SmplCInputList2Cue25=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Group.9.Begin
|
||||||
|
InputList2SigType25=Analog
|
||||||
|
InputList2Cue26=btnCheck1.Mode
|
||||||
|
InputList2SigType26=Analog
|
||||||
|
SmplCInputList2Cue26=3e4f0a5a-c860-4e55-95bf-9da443b6871b.i0cfc.pd-receivestatemode
|
||||||
|
Input2ToolTip26=btnCheck1.Mode
|
||||||
|
InputList2Cue27=btnCheck2.Mode
|
||||||
|
InputList2SigType27=Analog
|
||||||
|
SmplCInputList2Cue27=3e4f0a5a-c860-4e55-95bf-9da443b6871b.i25fb952eur2m.pd-receivestatemode
|
||||||
|
Input2ToolTip27=btnCheck2.Mode
|
||||||
|
InputList2Cue28=btnCheck3.Mode
|
||||||
|
InputList2SigType28=Analog
|
||||||
|
SmplCInputList2Cue28=3e4f0a5a-c860-4e55-95bf-9da443b6871b.ivuqnfs1j5yj3.pd-receivestatemode
|
||||||
|
Input2ToolTip28=btnCheck3.Mode
|
||||||
|
InputList2Cue29=btnCheck4.Mode
|
||||||
|
InputList2SigType29=Analog
|
||||||
|
SmplCInputList2Cue29=3e4f0a5a-c860-4e55-95bf-9da443b6871b.in0w8tk7gl0f7.pd-receivestatemode
|
||||||
|
Input2ToolTip29=btnCheck4.Mode
|
||||||
|
InputList2Cue30=[~EndGroup~]
|
||||||
|
SmplCInputList2Cue30=Lab2.btnCheck1.Mode.List2Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Group.9.EndGroup
|
||||||
|
InputList2SigType30=Analog
|
||||||
|
InputList3Cue1=[~BeginGroup~] Indirect Text
|
||||||
|
SmplCInputList3Cue1=Lab2.txtCheckStatus.Indirect.List3Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Group.1.Begin
|
||||||
|
InputList3SigType1=Serial
|
||||||
|
InputList3Cue2=txtCheckStatus.Indirect
|
||||||
|
InputList3SigType2=Serial
|
||||||
|
SmplCInputList3Cue2=3e4f0a5a-c860-4e55-95bf-9da443b6871b.ic9qsv0bcui67.pd-receivestatelabel
|
||||||
|
Input3ToolTip2=txtCheckStatus.Indirect
|
||||||
|
InputList3Cue3=txtRoomName.Indirect
|
||||||
|
InputList3SigType3=Serial
|
||||||
|
SmplCInputList3Cue3=3e4f0a5a-c860-4e55-95bf-9da443b6871b.iid3.pd-receivestatelabel
|
||||||
|
Input3ToolTip3=txtRoomName.Indirect
|
||||||
|
InputList3Cue4=txtSystemCheck.Indirect
|
||||||
|
InputList3SigType4=Serial
|
||||||
|
SmplCInputList3Cue4=3e4f0a5a-c860-4e55-95bf-9da443b6871b.ign2.pd-receivestatelabel
|
||||||
|
Input3ToolTip4=txtSystemCheck.Indirect
|
||||||
|
InputList3Cue5=[~EndGroup~]
|
||||||
|
SmplCInputList3Cue5=Lab2.txtCheckStatus.Indirect.List3Input.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Group.1.EndGroup
|
||||||
|
InputList3SigType5=Serial
|
||||||
|
OutputCue1=[~UNUSED~]
|
||||||
|
OutputSigType1=Digital
|
||||||
|
SmplCOutputCue1=Lab2.btnCheck1.Press.Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap1
|
||||||
|
OutputCue2=[~UNUSED~]
|
||||||
|
OutputSigType2=Digital
|
||||||
|
SmplCOutputCue2=Lab2.btnCheck1.Press.Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap2
|
||||||
|
OutputCue3=[~UNUSED2~]
|
||||||
|
OutputSigType3=Digital
|
||||||
|
SmplCOutputCue3=Lab2.btnCheck1.Press.Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap3
|
||||||
|
OutputCue4=[~UNUSED~]
|
||||||
|
OutputSigType4=Digital
|
||||||
|
SmplCOutputCue4=Lab2.btnCheck1.Press.Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap4
|
||||||
|
OutputCue5=[~UNUSED~]
|
||||||
|
OutputSigType5=Digital
|
||||||
|
SmplCOutputCue5=Lab2.btnCheck1.Press.Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap5
|
||||||
|
OutputCue6=[~UNUSED2~]
|
||||||
|
OutputSigType6=Digital
|
||||||
|
SmplCOutputCue6=Lab2.btnCheck1.Press.Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap6
|
||||||
|
OutputCue7=[~BeginGroup~] Press
|
||||||
|
SmplCOutputCue7=Lab2.btnBack.Press.Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Group.3.Begin
|
||||||
|
OutputSigType7=Digital
|
||||||
|
OutputCue8=btnBack.Press
|
||||||
|
OutputSigType8=Digital
|
||||||
|
SmplCOutputCue8=3e4f0a5a-c860-4e55-95bf-9da443b6871b.ifg4u687j12vg.sendeventontouch
|
||||||
|
OutputToolTip8=btnBack.Press
|
||||||
|
OutputCue9=btnCheck1.Press
|
||||||
|
OutputSigType9=Digital
|
||||||
|
SmplCOutputCue9=3e4f0a5a-c860-4e55-95bf-9da443b6871b.i0cfc.sendeventontouch
|
||||||
|
OutputToolTip9=btnCheck1.Press
|
||||||
|
OutputCue10=btnCheck2.Press
|
||||||
|
OutputSigType10=Digital
|
||||||
|
SmplCOutputCue10=3e4f0a5a-c860-4e55-95bf-9da443b6871b.i25fb952eur2m.sendeventontouch
|
||||||
|
OutputToolTip10=btnCheck2.Press
|
||||||
|
OutputCue11=btnCheck3.Press
|
||||||
|
OutputSigType11=Digital
|
||||||
|
SmplCOutputCue11=3e4f0a5a-c860-4e55-95bf-9da443b6871b.ivuqnfs1j5yj3.sendeventontouch
|
||||||
|
OutputToolTip11=btnCheck3.Press
|
||||||
|
OutputCue12=btnCheck4.Press
|
||||||
|
OutputSigType12=Digital
|
||||||
|
SmplCOutputCue12=3e4f0a5a-c860-4e55-95bf-9da443b6871b.in0w8tk7gl0f7.sendeventontouch
|
||||||
|
OutputToolTip12=btnCheck4.Press
|
||||||
|
OutputCue13=btnCheckComplete.Press
|
||||||
|
OutputSigType13=Digital
|
||||||
|
SmplCOutputCue13=3e4f0a5a-c860-4e55-95bf-9da443b6871b.inoa1exf7kbkk.sendeventontouch
|
||||||
|
OutputToolTip13=btnCheckComplete.Press
|
||||||
|
OutputCue14=[~UNUSED~]
|
||||||
|
OutputSigType14=Digital
|
||||||
|
SmplCOutputCue14=Lab2.btnMaintenanceOff.Selected.Group3Event.Gap0
|
||||||
|
OutputCue15=[~UNUSED~]
|
||||||
|
OutputSigType15=Digital
|
||||||
|
SmplCOutputCue15=Lab2.btnMaintenanceOn.Selected.Group3Event.Gap1
|
||||||
|
OutputCue16=btnStartCheck.Press
|
||||||
|
OutputSigType16=Digital
|
||||||
|
SmplCOutputCue16=3e4f0a5a-c860-4e55-95bf-9da443b6871b.ig49ntr2dqc0p.sendeventontouch
|
||||||
|
OutputToolTip16=btnStartCheck.Press
|
||||||
|
OutputCue17=[~UNUSED~]
|
||||||
|
OutputSigType17=Digital
|
||||||
|
SmplCOutputCue17=Lab2.btnSystemCheck.Selected.Group3Event.Gap2
|
||||||
|
OutputCue18=[~EndGroup~]
|
||||||
|
SmplCOutputCue18=Lab2.btnBack.Press.Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Group.3.EndGroup
|
||||||
|
OutputSigType18=Digital
|
||||||
|
OutputList2Cue1=[~UNUSED~]
|
||||||
|
OutputList2SigType1=Analog
|
||||||
|
SmplCOutputList2Cue1=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap1
|
||||||
|
OutputList2Cue2=[~UNUSED~]
|
||||||
|
OutputList2SigType2=Analog
|
||||||
|
SmplCOutputList2Cue2=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap2
|
||||||
|
OutputList2Cue3=[~UNUSED2~]
|
||||||
|
OutputList2SigType3=Analog
|
||||||
|
SmplCOutputList2Cue3=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap3
|
||||||
|
OutputList2Cue4=[~UNUSED~]
|
||||||
|
OutputList2SigType4=Analog
|
||||||
|
SmplCOutputList2Cue4=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap4
|
||||||
|
OutputList2Cue5=[~UNUSED~]
|
||||||
|
OutputList2SigType5=Analog
|
||||||
|
SmplCOutputList2Cue5=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap5
|
||||||
|
OutputList2Cue6=[~UNUSED2~]
|
||||||
|
OutputList2SigType6=Analog
|
||||||
|
SmplCOutputList2Cue6=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap6
|
||||||
|
OutputList2Cue7=[~UNUSED~]
|
||||||
|
OutputList2SigType7=Analog
|
||||||
|
SmplCOutputList2Cue7=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap7
|
||||||
|
OutputList2Cue8=[~UNUSED~]
|
||||||
|
OutputList2SigType8=Analog
|
||||||
|
SmplCOutputList2Cue8=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap8
|
||||||
|
OutputList2Cue9=[~UNUSED2~]
|
||||||
|
OutputList2SigType9=Analog
|
||||||
|
SmplCOutputList2Cue9=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap9
|
||||||
|
OutputList2Cue10=[~UNUSED~]
|
||||||
|
OutputList2SigType10=Analog
|
||||||
|
SmplCOutputList2Cue10=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap10
|
||||||
|
OutputList2Cue11=[~UNUSED~]
|
||||||
|
OutputList2SigType11=Analog
|
||||||
|
SmplCOutputList2Cue11=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap11
|
||||||
|
OutputList2Cue12=[~UNUSED2~]
|
||||||
|
OutputList2SigType12=Analog
|
||||||
|
SmplCOutputList2Cue12=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap12
|
||||||
|
OutputList2Cue13=[~UNUSED~]
|
||||||
|
OutputList2SigType13=Analog
|
||||||
|
SmplCOutputList2Cue13=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap13
|
||||||
|
OutputList2Cue14=[~UNUSED~]
|
||||||
|
OutputList2SigType14=Analog
|
||||||
|
SmplCOutputList2Cue14=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap14
|
||||||
|
OutputList2Cue15=[~UNUSED2~]
|
||||||
|
OutputList2SigType15=Analog
|
||||||
|
SmplCOutputList2Cue15=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap15
|
||||||
|
OutputList2Cue16=[~UNUSED~]
|
||||||
|
OutputList2SigType16=Analog
|
||||||
|
SmplCOutputList2Cue16=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap16
|
||||||
|
OutputList2Cue17=[~UNUSED~]
|
||||||
|
OutputList2SigType17=Analog
|
||||||
|
SmplCOutputList2Cue17=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap17
|
||||||
|
OutputList2Cue18=[~UNUSED2~]
|
||||||
|
OutputList2SigType18=Analog
|
||||||
|
SmplCOutputList2Cue18=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap18
|
||||||
|
OutputList2Cue19=[~UNUSED~]
|
||||||
|
OutputList2SigType19=Analog
|
||||||
|
SmplCOutputList2Cue19=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap19
|
||||||
|
OutputList2Cue20=[~UNUSED~]
|
||||||
|
OutputList2SigType20=Analog
|
||||||
|
SmplCOutputList2Cue20=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap20
|
||||||
|
OutputList2Cue21=[~UNUSED2~]
|
||||||
|
OutputList2SigType21=Analog
|
||||||
|
SmplCOutputList2Cue21=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap21
|
||||||
|
OutputList2Cue22=[~UNUSED~]
|
||||||
|
OutputList2SigType22=Analog
|
||||||
|
SmplCOutputList2Cue22=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap22
|
||||||
|
OutputList2Cue23=[~UNUSED~]
|
||||||
|
OutputList2SigType23=Analog
|
||||||
|
SmplCOutputList2Cue23=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap23
|
||||||
|
OutputList2Cue24=[~UNUSED2~]
|
||||||
|
OutputList2SigType24=Analog
|
||||||
|
SmplCOutputList2Cue24=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Gap24
|
||||||
|
OutputList2Cue25=[~BeginGroup~] Mode
|
||||||
|
SmplCOutputList2Cue25=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Group.9.Begin
|
||||||
|
OutputList2SigType25=Analog
|
||||||
|
OutputList2Cue26=[~UNUSED~]
|
||||||
|
OutputList2SigType26=Analog
|
||||||
|
SmplCOutputList2Cue26=Lab2.btnCheck1.Mode.Group9Event.Gap0
|
||||||
|
OutputList2Cue27=[~UNUSED~]
|
||||||
|
OutputList2SigType27=Analog
|
||||||
|
SmplCOutputList2Cue27=Lab2.btnCheck2.Mode.Group9Event.Gap1
|
||||||
|
OutputList2Cue28=[~UNUSED~]
|
||||||
|
OutputList2SigType28=Analog
|
||||||
|
SmplCOutputList2Cue28=Lab2.btnCheck3.Mode.Group9Event.Gap2
|
||||||
|
OutputList2Cue29=[~UNUSED~]
|
||||||
|
OutputList2SigType29=Analog
|
||||||
|
SmplCOutputList2Cue29=Lab2.btnCheck4.Mode.Group9Event.Gap3
|
||||||
|
OutputList2Cue30=[~EndGroup~]
|
||||||
|
SmplCOutputList2Cue30=Lab2.btnCheck1.Mode.Group9Event.Gap0.List2Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Group.9.EndGroup
|
||||||
|
OutputList2SigType30=Analog
|
||||||
|
OutputList3Cue1=[~BeginGroup~] Indirect Text
|
||||||
|
SmplCOutputList3Cue1=Lab2.txtCheckStatus.Indirect.Group1Event.Gap0.List3Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Group.1.Begin
|
||||||
|
OutputList3SigType1=Serial
|
||||||
|
OutputList3Cue2=[~UNUSED~]
|
||||||
|
OutputList3SigType2=Serial
|
||||||
|
SmplCOutputList3Cue2=Lab2.txtCheckStatus.Indirect.Group1Event.Gap0
|
||||||
|
OutputList3Cue3=[~UNUSED~]
|
||||||
|
OutputList3SigType3=Serial
|
||||||
|
SmplCOutputList3Cue3=Lab2.txtRoomName.Indirect.Group1Event.Gap1
|
||||||
|
OutputList3Cue4=[~UNUSED~]
|
||||||
|
OutputList3SigType4=Serial
|
||||||
|
SmplCOutputList3Cue4=Lab2.txtSystemCheck.Indirect.Group1Event.Gap2
|
||||||
|
OutputList3Cue5=[~EndGroup~]
|
||||||
|
SmplCOutputList3Cue5=Lab2.txtCheckStatus.Indirect.Group1Event.Gap0.List3Output.3e4f0a5a-c860-4e55-95bf-9da443b6871b.Group.1.EndGroup
|
||||||
|
OutputList3SigType5=Serial
|
||||||
|
]
|
||||||
|
[
|
||||||
|
ObjTp=Dp
|
||||||
|
Tp=1
|
||||||
|
HD=TRUE
|
||||||
|
NF=1
|
||||||
|
DNF=1
|
||||||
|
EncFmt=0
|
||||||
|
DVLF=1
|
||||||
|
Sgn=0
|
||||||
|
H=3
|
||||||
|
DV=3d
|
||||||
|
]
|
||||||
|
[
|
||||||
|
ObjTp=CHD
|
||||||
|
H=3
|
||||||
|
ChdCode=3
|
||||||
|
ParentChdFolder=0
|
||||||
|
]
|
||||||
|
[
|
||||||
|
ObjTp=Folder
|
||||||
|
Name=_reserved_
|
||||||
|
Hint=reserved to define hierarchy directly under the touch screen
|
||||||
|
H=0
|
||||||
|
ParentChdFolder=0
|
||||||
|
MaxChildren=1
|
||||||
|
Order1=CHD
|
||||||
|
Order2=CHD
|
||||||
|
Order3=CHD
|
||||||
|
Child1=1
|
||||||
|
Child2=2
|
||||||
|
Child3=3
|
||||||
|
]
|
||||||
|
;;;;;;;;;;;;;;;;
|
||||||
|
|
@ -0,0 +1,271 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by CrestronConstruct.
|
||||||
|
// AppHost: 2.101.8.0
|
||||||
|
// UI Plugin: 1.3701.9.0
|
||||||
|
//
|
||||||
|
// Project: MEP621_XPanel
|
||||||
|
// Version: 1.0.0.0
|
||||||
|
// Sdk: CH5:2.11.1.2
|
||||||
|
// Strategy: Modern
|
||||||
|
// IndexOnly: False
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
using Crestron.SimplSharpPro;
|
||||||
|
|
||||||
|
namespace MEP621_XPanel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Crestron class to wire up signals to and from the panel.
|
||||||
|
/// </summary>
|
||||||
|
internal class ComponentMediator : IDisposable
|
||||||
|
{
|
||||||
|
#region Members
|
||||||
|
|
||||||
|
private readonly IList<SmartObject> _smartObjects;
|
||||||
|
private IList<SmartObject> SmartObjects { get { return _smartObjects; } }
|
||||||
|
private Action<GenericBase, SmartObjectEventArgs> _activityEvent;
|
||||||
|
|
||||||
|
private Dictionary<uint, Func<uint, uint, eSigType, Indexes>> _smartObjectGetIndexesLookup = new Dictionary<uint, Func<uint, uint, eSigType, Indexes>>();
|
||||||
|
|
||||||
|
private readonly Dictionary<string, Action<IndexedEventArgs>> _booleanItemsOutputs;
|
||||||
|
private Dictionary<string, Action<IndexedEventArgs>> BooleanItemOutputs { get { return _booleanItemsOutputs; } }
|
||||||
|
|
||||||
|
private readonly Dictionary<string, Action<SmartObjectEventArgs>> _booleanOutputs;
|
||||||
|
private Dictionary<string, Action<SmartObjectEventArgs>> BooleanOutputs { get { return _booleanOutputs; } }
|
||||||
|
|
||||||
|
private readonly Dictionary<string, Action<IndexedEventArgs>> _numericItemsOutputs;
|
||||||
|
private Dictionary<string, Action<IndexedEventArgs>> NumericItemOutputs { get { return _numericItemsOutputs; } }
|
||||||
|
|
||||||
|
private readonly Dictionary<string, Action<SmartObjectEventArgs>> _numericOutputs;
|
||||||
|
private Dictionary<string, Action<SmartObjectEventArgs>> NumericOutputs { get { return _numericOutputs; } }
|
||||||
|
|
||||||
|
private readonly Dictionary<string, Action<IndexedEventArgs>> _stringItemsOutputs;
|
||||||
|
private Dictionary<string, Action<IndexedEventArgs>> StringItemOutputs { get { return _stringItemsOutputs; } }
|
||||||
|
|
||||||
|
private readonly Dictionary<string, Action<SmartObjectEventArgs>> _stringOutputs;
|
||||||
|
private Dictionary<string, Action<SmartObjectEventArgs>> StringOutputs { get { return _stringOutputs; } }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Construction & Initialization
|
||||||
|
|
||||||
|
public ComponentMediator()
|
||||||
|
{
|
||||||
|
_smartObjects = new List<SmartObject>();
|
||||||
|
|
||||||
|
_booleanOutputs = new Dictionary<string, Action<SmartObjectEventArgs>>();
|
||||||
|
_numericOutputs = new Dictionary<string, Action<SmartObjectEventArgs>>();
|
||||||
|
_stringOutputs = new Dictionary<string, Action<SmartObjectEventArgs>>();
|
||||||
|
_booleanItemsOutputs = new Dictionary<string, Action<IndexedEventArgs>>();
|
||||||
|
_numericItemsOutputs = new Dictionary<string, Action<IndexedEventArgs>>();
|
||||||
|
_stringItemsOutputs = new Dictionary<string, Action<IndexedEventArgs>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void HookSmartObjectEvents(SmartObject smartObject)
|
||||||
|
{
|
||||||
|
SmartObjects.Add(smartObject);
|
||||||
|
smartObject.SigChange += SmartObject_SigChange;
|
||||||
|
}
|
||||||
|
public void UnHookSmartObjectEvents(SmartObject smartObject)
|
||||||
|
{
|
||||||
|
SmartObjects.Remove(smartObject);
|
||||||
|
smartObject.SigChange -= SmartObject_SigChange;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Smart Object Event Handler
|
||||||
|
|
||||||
|
private string GetKey(uint smartObjectId, uint join)
|
||||||
|
{
|
||||||
|
return smartObjectId.ToString(CultureInfo.InvariantCulture) + "." + join.ToString(CultureInfo.InvariantCulture);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void ConfigureBooleanItemEvent(uint controlJoinId, uint join, Func<uint, uint, eSigType, Indexes> getIndexes, Action<IndexedEventArgs> action)
|
||||||
|
{
|
||||||
|
string key = GetKey(controlJoinId, join);
|
||||||
|
if (!string.IsNullOrEmpty(key))
|
||||||
|
{
|
||||||
|
BooleanItemOutputs[key] = action;
|
||||||
|
//ErrorLog.Error("Adding key {0} to BooleanItemOutputs.", key);
|
||||||
|
|
||||||
|
if (_smartObjectGetIndexesLookup.ContainsKey(controlJoinId))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_smartObjectGetIndexesLookup.Add(controlJoinId, getIndexes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void ConfigureNumericItemEvent(uint controlJoinId, uint join, Func<uint, uint, eSigType, Indexes> getIndexes, Action<IndexedEventArgs> action)
|
||||||
|
{
|
||||||
|
string key = GetKey(controlJoinId, join);
|
||||||
|
if (!string.IsNullOrEmpty(key))
|
||||||
|
{
|
||||||
|
NumericItemOutputs[key] = action;
|
||||||
|
//ErrorLog.Error("Adding key {0} to NumericItemOutputs.", key);
|
||||||
|
if (_smartObjectGetIndexesLookup.ContainsKey(controlJoinId))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_smartObjectGetIndexesLookup.Add(controlJoinId, getIndexes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void ConfigureStringItemEvent(uint controlJoinId, uint join, Func<uint, uint, eSigType, Indexes> getIndexes, Action<IndexedEventArgs> action)
|
||||||
|
{
|
||||||
|
string key = GetKey(controlJoinId, join);
|
||||||
|
if (!string.IsNullOrEmpty(key))
|
||||||
|
{
|
||||||
|
StringItemOutputs[key] = action;
|
||||||
|
//ErrorLog.Error("Adding key {0} to StringItemOutputs.", key);
|
||||||
|
if (_smartObjectGetIndexesLookup.ContainsKey(controlJoinId))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_smartObjectGetIndexesLookup.Add(controlJoinId, getIndexes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void ConfigureBooleanEvent(uint controlJoinId, uint join, Action<SmartObjectEventArgs> action)
|
||||||
|
{
|
||||||
|
string key = GetKey(controlJoinId, join);
|
||||||
|
BooleanOutputs[key] = action;
|
||||||
|
//ErrorLog.Error("Adding key {0} to BooleanOutputs.", key);
|
||||||
|
}
|
||||||
|
internal void ConfigureNumericEvent(uint controlJoinId, uint join, Action<SmartObjectEventArgs> action)
|
||||||
|
{
|
||||||
|
string key = GetKey(controlJoinId, join);
|
||||||
|
NumericOutputs[key] = action;
|
||||||
|
//ErrorLog.Error("Adding key {0} to NumericOutputs.", key);
|
||||||
|
}
|
||||||
|
internal void ConfigureStringEvent(uint controlJoinId, uint join, Action<SmartObjectEventArgs> action)
|
||||||
|
{
|
||||||
|
string key = GetKey(controlJoinId, join);
|
||||||
|
StringOutputs[key] = action;
|
||||||
|
//ErrorLog.Error("Adding key {0} to StringOutputs.", key);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void ConfigureActivityEvent(Action<GenericBase, SmartObjectEventArgs> onActivity)
|
||||||
|
{
|
||||||
|
_activityEvent = onActivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SmartObject_SigChange(GenericBase currentDevice, SmartObjectEventArgs args)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (_activityEvent != null)
|
||||||
|
{
|
||||||
|
_activityEvent.Invoke(currentDevice, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
Func<uint, uint, eSigType, Indexes> getIndexes;
|
||||||
|
while (_smartObjectGetIndexesLookup.TryGetValue(args.SmartObjectArgs.ID, out getIndexes))
|
||||||
|
{
|
||||||
|
Dictionary<string, Action<IndexedEventArgs>> itemSignals = null;
|
||||||
|
|
||||||
|
//Resolve and invoke the corresponding method
|
||||||
|
Action<IndexedEventArgs> itemAction;
|
||||||
|
|
||||||
|
switch (args.Sig.Type)
|
||||||
|
{
|
||||||
|
case eSigType.Bool:
|
||||||
|
itemSignals = BooleanItemOutputs;
|
||||||
|
break;
|
||||||
|
case eSigType.UShort:
|
||||||
|
itemSignals = NumericItemOutputs;
|
||||||
|
break;
|
||||||
|
case eSigType.String:
|
||||||
|
itemSignals = StringItemOutputs;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
Indexes indexes = getIndexes.Invoke(args.SmartObjectArgs.ID, args.Sig.Number, args.Sig.Type);
|
||||||
|
if (indexes.IsError)
|
||||||
|
break;
|
||||||
|
string theKey = GetKey(args.SmartObjectArgs.ID - indexes.ItemIndex, args.Sig.Number - indexes.JoinIndex);
|
||||||
|
|
||||||
|
if (itemSignals != null &&
|
||||||
|
itemSignals.TryGetValue(theKey, out itemAction) &&
|
||||||
|
itemAction != null)
|
||||||
|
{
|
||||||
|
itemAction.Invoke(new IndexedEventArgs(args, indexes.ItemIndex, indexes.JoinIndex));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ErrorLog.Error("Unable to find action for {0} from {1} {2}", theKey, args.SmartObjectArgs.ID, args.Sig.Number);
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
Dictionary<string, Action<SmartObjectEventArgs>> signals = null;
|
||||||
|
|
||||||
|
//Resolve and invoke the corresponding method
|
||||||
|
Action<SmartObjectEventArgs> action;
|
||||||
|
|
||||||
|
switch (args.Sig.Type)
|
||||||
|
{
|
||||||
|
case eSigType.Bool:
|
||||||
|
signals = BooleanOutputs;
|
||||||
|
break;
|
||||||
|
case eSigType.UShort:
|
||||||
|
signals = NumericOutputs;
|
||||||
|
break;
|
||||||
|
case eSigType.String:
|
||||||
|
signals = StringOutputs;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
string key = GetKey(args.SmartObjectArgs.ID, args.Sig.Number);
|
||||||
|
|
||||||
|
if (signals != null &&
|
||||||
|
signals.TryGetValue(key, out action) &&
|
||||||
|
action != null)
|
||||||
|
action.Invoke(args);
|
||||||
|
else
|
||||||
|
ErrorLog.Error("Unable to find action for {0}", key);
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
ErrorLog.Exception("Error while receiving feedback.", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region IDisposable
|
||||||
|
|
||||||
|
private bool IsDisposed { get; set; }
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
if (IsDisposed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
IsDisposed = true;
|
||||||
|
|
||||||
|
for (int i = 0; i < SmartObjects.Count; i++)
|
||||||
|
{
|
||||||
|
SmartObjects[i].SigChange -= SmartObject_SigChange;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,149 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by CrestronConstruct.
|
||||||
|
// AppHost: 2.101.8.0
|
||||||
|
// UI Plugin: 1.3701.9.0
|
||||||
|
//
|
||||||
|
// Project: MEP621_XPanel
|
||||||
|
// Version: 1.0.0.0
|
||||||
|
// Sdk: CH5:2.11.1.2
|
||||||
|
// Strategy: Modern
|
||||||
|
// IndexOnly: False
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
using Crestron.SimplSharpPro;
|
||||||
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
namespace MEP621_XPanel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Common Interface for Root Contracts.
|
||||||
|
/// </summary>
|
||||||
|
public interface IContract
|
||||||
|
{
|
||||||
|
object UserObject { get; set; }
|
||||||
|
void AddDevice(BasicTriListWithSmartObject device);
|
||||||
|
void RemoveDevice(BasicTriListWithSmartObject device);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Fires on ANY activity on the panel.
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<EventArgs> Activity;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Root contract giving access to top level project items such as Pages and global Widgets.
|
||||||
|
/// </summary>
|
||||||
|
public sealed class Contract : IContract, IDisposable
|
||||||
|
{
|
||||||
|
#region Components
|
||||||
|
|
||||||
|
private ComponentMediator ComponentMediator { get; set; }
|
||||||
|
|
||||||
|
public MEP621_XPanel.ILab0 Lab0 { get { return (MEP621_XPanel.ILab0)InternalLab0; } }
|
||||||
|
private MEP621_XPanel.Lab0 InternalLab0 { get; set; }
|
||||||
|
|
||||||
|
public MEP621_XPanel.ILab1 Lab1 { get { return (MEP621_XPanel.ILab1)InternalLab1; } }
|
||||||
|
private MEP621_XPanel.Lab1 InternalLab1 { get; set; }
|
||||||
|
|
||||||
|
public MEP621_XPanel.ILab2 Lab2 { get { return (MEP621_XPanel.ILab2)InternalLab2; } }
|
||||||
|
private MEP621_XPanel.Lab2 InternalLab2 { get; set; }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Construction and Initialization
|
||||||
|
|
||||||
|
public Contract()
|
||||||
|
: this(new List<BasicTriListWithSmartObject>().ToArray())
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public Contract(BasicTriListWithSmartObject device)
|
||||||
|
: this(new [] { device })
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public Contract(BasicTriListWithSmartObject[] devices)
|
||||||
|
{
|
||||||
|
if (devices == null)
|
||||||
|
throw new ArgumentNullException("Devices is null");
|
||||||
|
|
||||||
|
ComponentMediator = new ComponentMediator();
|
||||||
|
ComponentMediator.ConfigureActivityEvent(onActivity);
|
||||||
|
|
||||||
|
InternalLab0 = new MEP621_XPanel.Lab0(ComponentMediator, 1);
|
||||||
|
|
||||||
|
InternalLab1 = new MEP621_XPanel.Lab1(ComponentMediator, 2);
|
||||||
|
|
||||||
|
InternalLab2 = new MEP621_XPanel.Lab2(ComponentMediator, 3);
|
||||||
|
|
||||||
|
|
||||||
|
for (int index = 0; index < devices.Length; index++)
|
||||||
|
{
|
||||||
|
AddDevice(devices[index]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Fires on ANY activity on the panel.
|
||||||
|
/// </summary>
|
||||||
|
public event EventHandler<EventArgs> Activity;
|
||||||
|
private void onActivity(GenericBase currentDevice, SmartObjectEventArgs args)
|
||||||
|
{
|
||||||
|
var handler = Activity;
|
||||||
|
if (handler != null)
|
||||||
|
handler(currentDevice, args);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Standard Contract Members
|
||||||
|
|
||||||
|
public object UserObject { get; set; }
|
||||||
|
|
||||||
|
public void AddDevice(BasicTriListWithSmartObject device)
|
||||||
|
{
|
||||||
|
InternalLab0.AddDevice(device);
|
||||||
|
InternalLab1.AddDevice(device);
|
||||||
|
InternalLab2.AddDevice(device);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveDevice(BasicTriListWithSmartObject device)
|
||||||
|
{
|
||||||
|
InternalLab0.RemoveDevice(device);
|
||||||
|
InternalLab1.RemoveDevice(device);
|
||||||
|
InternalLab2.RemoveDevice(device);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region IDisposable
|
||||||
|
|
||||||
|
public bool IsDisposed { get; set; }
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
if (IsDisposed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
IsDisposed = true;
|
||||||
|
|
||||||
|
InternalLab0.Dispose();
|
||||||
|
InternalLab1.Dispose();
|
||||||
|
InternalLab2.Dispose();
|
||||||
|
|
||||||
|
ComponentMediator.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,277 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by CrestronConstruct.
|
||||||
|
// AppHost: 2.101.8.0
|
||||||
|
// UI Plugin: 1.3701.9.0
|
||||||
|
//
|
||||||
|
// Project: MEP621_XPanel
|
||||||
|
// Version: 1.0.0.0
|
||||||
|
// Sdk: CH5:2.11.1.2
|
||||||
|
// Strategy: Modern
|
||||||
|
// IndexOnly: False
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using Crestron.SimplSharpPro;
|
||||||
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
|
||||||
|
namespace MEP621_XPanel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Indexed <see cref="EventArgs"/> containing which button or Item was pressed.
|
||||||
|
/// </summary>
|
||||||
|
public class IndexedEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="IndexedEventArgs"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="eventArgs">The <see cref="SmartObjectEventArgs"/> passed back from the panel.</param>
|
||||||
|
/// <param name="itemIndex">The position in the Widget List (0 based).</param>
|
||||||
|
/// <param name="joinIndex">The position in the Button List (0 based).</param>
|
||||||
|
public IndexedEventArgs(SmartObjectEventArgs eventArgs, ushort itemIndex, ushort joinIndex)
|
||||||
|
{
|
||||||
|
Device = (BasicTriListWithSmartObject)eventArgs.SmartObjectArgs.Device;
|
||||||
|
SigArgs = eventArgs;
|
||||||
|
ItemIndex = itemIndex;
|
||||||
|
JoinIndex = joinIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets device containing Smart object.
|
||||||
|
/// </summary>
|
||||||
|
public BasicTriListWithSmartObject Device { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Signal arguments of what changed.
|
||||||
|
/// </summary>
|
||||||
|
public SigEventArgs SigArgs { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Return the index within the widget list (0 based).
|
||||||
|
/// </summary>
|
||||||
|
internal ushort ItemIndex { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Return the index within the button list (0 based).
|
||||||
|
/// </summary>
|
||||||
|
public ushort JoinIndex { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Return a string with the current index values.
|
||||||
|
/// </summary>
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return string.Format("IndexedEventArgs: JoinIndex={0} ItemIndex={1}", JoinIndex, ItemIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indexed <see cref="EventArgs"/> containing which button was pressed.
|
||||||
|
/// </summary>
|
||||||
|
public class IndexedButtonEventArgs : IndexedEventArgs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="IndexedButtonEventArgs"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="eventArgs">The <see cref="SmartObjectEventArgs"/> passed back from the panel.</param>
|
||||||
|
/// <param name="buttonIndex">The position of the button pressed in the complex control.</param>
|
||||||
|
public IndexedButtonEventArgs(SmartObjectEventArgs eventArgs, ushort buttonIndex) : base(eventArgs, 0, buttonIndex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Return the index within the list e.g. button N in a button list (0 based).
|
||||||
|
/// </summary>
|
||||||
|
public ushort ButtonIndex
|
||||||
|
{
|
||||||
|
get { return JoinIndex; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indexed <see cref="EventArgs"/> containing which screen had source changed on it.
|
||||||
|
/// </summary>
|
||||||
|
public class IndexedScreenEventArgs : IndexedEventArgs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="IndexedScreenEventArgs"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="eventArgs">The <see cref="SmartObjectEventArgs"/> passed back from the panel.</param>
|
||||||
|
/// <param name="screenIndex">The position of the screen in the complex control.</param>
|
||||||
|
public IndexedScreenEventArgs(SmartObjectEventArgs eventArgs, ushort screenIndex) : base(eventArgs, 0, screenIndex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Return the index within the list e.g. button N in a button list (0 based).
|
||||||
|
/// </summary>
|
||||||
|
public ushort ScreenIndex
|
||||||
|
{
|
||||||
|
get { return JoinIndex; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indexed <see cref="EventArgs"/> containing which Item was pressed.
|
||||||
|
/// </summary>
|
||||||
|
public class ItemEventArgs : IndexedEventArgs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="ItemEventArgs"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="eventArgs">The <see cref="SmartObjectEventArgs"/> passed back from the panel.</param>
|
||||||
|
/// <param name="widgetItemIndex">The position of the event triggered in the widget list.</param>
|
||||||
|
public ItemEventArgs(SmartObjectEventArgs eventArgs, ushort widgetItemIndex) : base(eventArgs, widgetItemIndex, 0)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Return the Item index within the Widget List (0 based).
|
||||||
|
/// </summary>
|
||||||
|
public ushort WidgetItemIndex
|
||||||
|
{
|
||||||
|
get { return ItemIndex; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Return a string with the current index values.
|
||||||
|
/// </summary>
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return string.Format("IndexedEventArgs: JoinIndex={0} WidgetItemIndex=ItemIndex={1}", JoinIndex, ItemIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Dpad button <see cref="EventArgs"/> containing which button was pressed.
|
||||||
|
/// </summary>
|
||||||
|
public class DpadEventArgs : IndexedEventArgs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="DpadEventArgs"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="eventArgs">The <see cref="SmartObjectEventArgs"/> passed back from the panel.</param>
|
||||||
|
/// <param name="buttonIndex">The position of the button pressed in the complex control.</param>
|
||||||
|
public DpadEventArgs(SmartObjectEventArgs eventArgs, DpadButton dpadButton) : base(eventArgs, 0, (ushort)dpadButton)
|
||||||
|
{
|
||||||
|
DpadButton = dpadButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// </summary>
|
||||||
|
public DpadButton DpadButton { get; private set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Enumerated list of buttons.
|
||||||
|
/// </summary>
|
||||||
|
public enum DpadButton : ushort
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Button Up.
|
||||||
|
/// </summary>
|
||||||
|
Up,
|
||||||
|
/// <summary>
|
||||||
|
/// Button Down.
|
||||||
|
/// </summary>
|
||||||
|
Down,
|
||||||
|
/// <summary>
|
||||||
|
/// Button Left.
|
||||||
|
/// </summary>
|
||||||
|
Left,
|
||||||
|
/// <summary>
|
||||||
|
/// Button Right.
|
||||||
|
/// </summary>
|
||||||
|
Right,
|
||||||
|
/// <summary>
|
||||||
|
/// Button Center.
|
||||||
|
/// </summary>
|
||||||
|
Center,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Enumerated list of buttons.
|
||||||
|
/// </summary>
|
||||||
|
public enum KeypadButton : ushort
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Button 1.
|
||||||
|
/// </summary>
|
||||||
|
Button_1,
|
||||||
|
/// <summary>
|
||||||
|
/// Button 2 ABC.
|
||||||
|
/// </summary>
|
||||||
|
Button_2,
|
||||||
|
/// <summary>
|
||||||
|
/// Button 3 DEF.
|
||||||
|
/// </summary>
|
||||||
|
Button_3,
|
||||||
|
/// <summary>
|
||||||
|
/// Button 4 GHI.
|
||||||
|
/// </summary>
|
||||||
|
Button_4,
|
||||||
|
/// <summary>
|
||||||
|
/// Button 5 JKL.
|
||||||
|
/// </summary>
|
||||||
|
Button_5,
|
||||||
|
/// <summary>
|
||||||
|
/// Button 6 MNO.
|
||||||
|
/// </summary>
|
||||||
|
Button_6,
|
||||||
|
/// <summary>
|
||||||
|
/// Button 7 PQRS.
|
||||||
|
/// </summary>
|
||||||
|
Button_7,
|
||||||
|
/// <summary>
|
||||||
|
/// Button 8 TUV.
|
||||||
|
/// </summary>
|
||||||
|
Button_8,
|
||||||
|
/// <summary>
|
||||||
|
/// Button 9 WXYZ.
|
||||||
|
/// </summary>
|
||||||
|
Button_9,
|
||||||
|
/// <summary>
|
||||||
|
/// Button 0 +.
|
||||||
|
/// </summary>
|
||||||
|
Button_0,
|
||||||
|
/// <summary>
|
||||||
|
/// Button Star (*).
|
||||||
|
/// </summary>
|
||||||
|
Button_Star,
|
||||||
|
/// <summary>
|
||||||
|
/// Button Hash (#).
|
||||||
|
/// </summary>
|
||||||
|
Button_Hash,
|
||||||
|
/// <summary>
|
||||||
|
/// Button Extra (Phone).
|
||||||
|
/// </summary>
|
||||||
|
Button_Extra,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Keypad button <see cref="EventArgs"/> containing which button was pressed.
|
||||||
|
/// </summary>
|
||||||
|
public class KeypadEventArgs : IndexedEventArgs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="KeypadEventArgs"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="eventArgs">The <see cref="SmartObjectEventArgs"/> passed back from the panel.</param>
|
||||||
|
/// <param name="keypadButton">The button pressed.</param>
|
||||||
|
public KeypadEventArgs(SmartObjectEventArgs eventArgs, KeypadButton keypadButton) : base(eventArgs, 0, (ushort)keypadButton)
|
||||||
|
{
|
||||||
|
KeypadButton = keypadButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns a <see cref="KeypadButton"/> showing the Keypad button that was pressed.
|
||||||
|
/// </summary>
|
||||||
|
public KeypadButton KeypadButton { get; private set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,688 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by CrestronConstruct.
|
||||||
|
// AppHost: 2.101.8.0
|
||||||
|
// UI Plugin: 1.3701.9.0
|
||||||
|
//
|
||||||
|
// Project: MEP621_XPanel
|
||||||
|
// Version: 1.0.0.0
|
||||||
|
// Sdk: CH5:2.11.1.2
|
||||||
|
// Strategy: Modern
|
||||||
|
// IndexOnly: False
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
using Crestron.SimplSharpPro;
|
||||||
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
using MEP621_XPanel;
|
||||||
|
|
||||||
|
namespace MEP621_XPanel
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Lab0
|
||||||
|
/// </summary>
|
||||||
|
public partial interface ILab0
|
||||||
|
{
|
||||||
|
object UserObject { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnBack.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnBack_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnDisplayPowerOff.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnDisplayPowerOff_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnDisplayPowerOn.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnDisplayPowerOn_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnSource1.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnSource1_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnSource2.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnSource2_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnSource3.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnSource3_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnSystemPowerOff.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnSystemPowerOff_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnSystemPowerOn.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnSystemPowerOn_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnBack.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnBack_Selected(Lab0BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnBack.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnBack_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnDisplayPowerOff.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnDisplayPowerOff_Selected(Lab0BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnDisplayPowerOff.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnDisplayPowerOff_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnDisplayPowerOn.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnDisplayPowerOn_Selected(Lab0BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnDisplayPowerOn.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnDisplayPowerOn_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSource1.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnSource1_Selected(Lab0BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSource1.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnSource1_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSource2.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnSource2_Selected(Lab0BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSource2.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnSource2_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSource3.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnSource3_Selected(Lab0BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSource3.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnSource3_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSystemPowerOff.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnSystemPowerOff_Selected(Lab0BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSystemPowerOff.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnSystemPowerOff_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSystemPowerOn.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnSystemPowerOn_Selected(Lab0BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSystemPowerOn.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnSystemPowerOn_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtRoomName.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The <see cref="string"/> delegate to update the panel.</param>
|
||||||
|
void txtRoomName_Indirect(Lab0StringInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtRoomName.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serial">The <see cref="string"/> to update the panel.</param>
|
||||||
|
void txtRoomName_Indirect(string serial);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSources.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The <see cref="string"/> delegate to update the panel.</param>
|
||||||
|
void txtSources_Indirect(Lab0StringInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSources.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serial">The <see cref="string"/> to update the panel.</param>
|
||||||
|
void txtSources_Indirect(string serial);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Digital callback used in feedback events.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="boolInputSig">The <see cref="BoolInputSig"/> joinInfo data.</param>
|
||||||
|
/// <param name="lab0">The <see cref="ILab0"/> on which to apply the feedback.</param>
|
||||||
|
public delegate void Lab0BoolInputSigDelegate(BoolInputSig boolInputSig, ILab0 lab0);
|
||||||
|
/// <summary>
|
||||||
|
/// Digital callback used in feedback events.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="stringInputSig">The <see cref="StringInputSig"/> joinInfo data.</param>
|
||||||
|
/// <param name="lab0">The <see cref="ILab0"/> on which to apply the feedback.</param>
|
||||||
|
public delegate void Lab0StringInputSigDelegate(StringInputSig stringInputSig, ILab0 lab0);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Lab0
|
||||||
|
/// </summary>
|
||||||
|
internal partial class Lab0 : ILab0, IDisposable
|
||||||
|
{
|
||||||
|
#region Standard CH5 Component members
|
||||||
|
|
||||||
|
private ComponentMediator ComponentMediator { get; set; }
|
||||||
|
|
||||||
|
public object UserObject { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the ControlJoinId a.k.a. SmartObjectId. This Id identifies the extender symbol.
|
||||||
|
/// </summary>
|
||||||
|
public uint ControlJoinId { get; private set; }
|
||||||
|
|
||||||
|
private IList<BasicTriListWithSmartObject> _devices;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the list of devices.
|
||||||
|
/// </summary>
|
||||||
|
public IList<BasicTriListWithSmartObject> Devices { get { return _devices; } }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Joins
|
||||||
|
|
||||||
|
private static class Joins
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Digital signals,
|
||||||
|
/// </summary>
|
||||||
|
internal static class Booleans
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab0.btnBack.Press
|
||||||
|
/// btnBack.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnBack_PressEvent = 3;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab0.btnDisplayPowerOff.Press
|
||||||
|
/// btnDisplayPowerOff.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnDisplayPowerOff_PressEvent = 4;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab0.btnDisplayPowerOn.Press
|
||||||
|
/// btnDisplayPowerOn.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnDisplayPowerOn_PressEvent = 5;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab0.btnSource1.Press
|
||||||
|
/// btnSource1.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnSource1_PressEvent = 6;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab0.btnSource2.Press
|
||||||
|
/// btnSource2.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnSource2_PressEvent = 7;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab0.btnSource3.Press
|
||||||
|
/// btnSource3.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnSource3_PressEvent = 8;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab0.btnSystemPowerOff.Press
|
||||||
|
/// btnSystemPowerOff.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnSystemPowerOff_PressEvent = 9;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab0.btnSystemPowerOn.Press
|
||||||
|
/// btnSystemPowerOn.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnSystemPowerOn_PressEvent = 10;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab0.btnBack.Selected
|
||||||
|
/// btnBack.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnBack_SelectedState = 3;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab0.btnDisplayPowerOff.Selected
|
||||||
|
/// btnDisplayPowerOff.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnDisplayPowerOff_SelectedState = 4;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab0.btnDisplayPowerOn.Selected
|
||||||
|
/// btnDisplayPowerOn.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnDisplayPowerOn_SelectedState = 5;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab0.btnSource1.Selected
|
||||||
|
/// btnSource1.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnSource1_SelectedState = 6;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab0.btnSource2.Selected
|
||||||
|
/// btnSource2.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnSource2_SelectedState = 7;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab0.btnSource3.Selected
|
||||||
|
/// btnSource3.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnSource3_SelectedState = 8;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab0.btnSystemPowerOff.Selected
|
||||||
|
/// btnSystemPowerOff.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnSystemPowerOff_SelectedState = 9;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab0.btnSystemPowerOn.Selected
|
||||||
|
/// btnSystemPowerOn.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnSystemPowerOn_SelectedState = 10;
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Serial signals.
|
||||||
|
/// </summary>
|
||||||
|
internal static class Strings
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback serial joinInfo from Control System to panel: Lab0.txtRoomName.Indirect
|
||||||
|
/// txtRoomName.Indirect
|
||||||
|
/// </summary>
|
||||||
|
public const uint txtRoomName_IndirectState = 1;
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback serial joinInfo from Control System to panel: Lab0.txtSources.Indirect
|
||||||
|
/// txtSources.Indirect
|
||||||
|
/// </summary>
|
||||||
|
public const uint txtSources_IndirectState = 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Construction and Initialization
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="Lab0"/> component class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="componentMediator">The <see cref="ComponentMediator"/> used to instantiate the component.</param>
|
||||||
|
/// <param name="controlJoinId">The SmartObjectId at which to create the component.</param>
|
||||||
|
/// <param name="itemCount">The number of items.</param>
|
||||||
|
internal Lab0(ComponentMediator componentMediator, uint controlJoinId, uint? itemCount)
|
||||||
|
{
|
||||||
|
ComponentMediator = componentMediator;
|
||||||
|
Initialize(controlJoinId, itemCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="Lab0"/> component class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="componentMediator">The <see cref="ComponentMediator"/> used to instantiate the component.</param>
|
||||||
|
/// <param name="controlJoinId">The SmartObjectId at which to create the component.</param>
|
||||||
|
internal Lab0(ComponentMediator componentMediator, uint controlJoinId) : this(componentMediator, controlJoinId, null)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance with default itemCount.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="controlJoinId">The SmartObjectId at which to create the component.</param>
|
||||||
|
private void Initialize(uint controlJoinId)
|
||||||
|
{
|
||||||
|
Initialize(controlJoinId, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Dictionary<string, Indexes> _indexLookup = new Dictionary<string, Indexes>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="Lab0"/> component class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="controlJoinId">The SmartObjectId at which to create the component.</param>
|
||||||
|
/// <param name="itemCount">The number of items.</param>
|
||||||
|
private void Initialize(uint controlJoinId, uint? itemCount)
|
||||||
|
{
|
||||||
|
ControlJoinId = controlJoinId;
|
||||||
|
|
||||||
|
_devices = new List<BasicTriListWithSmartObject>();
|
||||||
|
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnBack_PressEvent, onbtnBack_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnDisplayPowerOff_PressEvent, onbtnDisplayPowerOff_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnDisplayPowerOn_PressEvent, onbtnDisplayPowerOn_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnSource1_PressEvent, onbtnSource1_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnSource2_PressEvent, onbtnSource2_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnSource3_PressEvent, onbtnSource3_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnSystemPowerOff_PressEvent, onbtnSystemPowerOff_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnSystemPowerOn_PressEvent, onbtnSystemPowerOn_Press);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddDevice(BasicTriListWithSmartObject device)
|
||||||
|
{
|
||||||
|
Devices.Add(device);
|
||||||
|
ComponentMediator.HookSmartObjectEvents(device.SmartObjects[ControlJoinId]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveDevice(BasicTriListWithSmartObject device)
|
||||||
|
{
|
||||||
|
Devices.Remove(device);
|
||||||
|
ComponentMediator.UnHookSmartObjectEvents(device.SmartObjects[ControlJoinId]);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region CH5 Contract
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnBack_PressEvent;
|
||||||
|
private void onbtnBack_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnBack_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnDisplayPowerOff_PressEvent;
|
||||||
|
private void onbtnDisplayPowerOff_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnDisplayPowerOff_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnDisplayPowerOn_PressEvent;
|
||||||
|
private void onbtnDisplayPowerOn_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnDisplayPowerOn_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnSource1_PressEvent;
|
||||||
|
private void onbtnSource1_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnSource1_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnSource2_PressEvent;
|
||||||
|
private void onbtnSource2_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnSource2_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnSource3_PressEvent;
|
||||||
|
private void onbtnSource3_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnSource3_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnSystemPowerOff_PressEvent;
|
||||||
|
private void onbtnSystemPowerOff_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnSystemPowerOff_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnSystemPowerOn_PressEvent;
|
||||||
|
private void onbtnSystemPowerOn_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnSystemPowerOn_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnBack_Selected(Lab0BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnBack_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnBack_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnBack_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnDisplayPowerOff_Selected(Lab0BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnDisplayPowerOff_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnDisplayPowerOff_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnDisplayPowerOff_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnDisplayPowerOn_Selected(Lab0BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnDisplayPowerOn_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnDisplayPowerOn_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnDisplayPowerOn_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnSource1_Selected(Lab0BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnSource1_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnSource1_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnSource1_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnSource2_Selected(Lab0BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnSource2_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnSource2_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnSource2_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnSource3_Selected(Lab0BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnSource3_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnSource3_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnSource3_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnSystemPowerOff_Selected(Lab0BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnSystemPowerOff_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnSystemPowerOff_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnSystemPowerOff_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnSystemPowerOn_Selected(Lab0BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnSystemPowerOn_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnSystemPowerOn_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnSystemPowerOn_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtRoomName_Indirect(Lab0StringInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].StringInput[Joins.Strings.txtRoomName_IndirectState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtRoomName_Indirect(string serial)
|
||||||
|
{
|
||||||
|
txtRoomName_Indirect((sig, component) => sig.StringValue = serial);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtSources_Indirect(Lab0StringInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].StringInput[Joins.Strings.txtSources_IndirectState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtSources_Indirect(string serial)
|
||||||
|
{
|
||||||
|
txtSources_Indirect((sig, component) => sig.StringValue = serial);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Overrides
|
||||||
|
|
||||||
|
public override int GetHashCode()
|
||||||
|
{
|
||||||
|
return (int)ControlJoinId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return string.Format("Contract: {0} Component: {1} HashCode: {2} {3}", "Lab0", GetType().Name, GetHashCode(), UserObject != null ? "UserObject: " + UserObject : null);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region IDisposable
|
||||||
|
|
||||||
|
public bool IsDisposed { get; set; }
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
if (IsDisposed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
IsDisposed = true;
|
||||||
|
|
||||||
|
btnBack_PressEvent = null;
|
||||||
|
btnDisplayPowerOff_PressEvent = null;
|
||||||
|
btnDisplayPowerOn_PressEvent = null;
|
||||||
|
btnSource1_PressEvent = null;
|
||||||
|
btnSource2_PressEvent = null;
|
||||||
|
btnSource3_PressEvent = null;
|
||||||
|
btnSystemPowerOff_PressEvent = null;
|
||||||
|
btnSystemPowerOn_PressEvent = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,578 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by CrestronConstruct.
|
||||||
|
// AppHost: 2.101.8.0
|
||||||
|
// UI Plugin: 1.3701.9.0
|
||||||
|
//
|
||||||
|
// Project: MEP621_XPanel
|
||||||
|
// Version: 1.0.0.0
|
||||||
|
// Sdk: CH5:2.11.1.2
|
||||||
|
// Strategy: Modern
|
||||||
|
// IndexOnly: False
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
using Crestron.SimplSharpPro;
|
||||||
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
using MEP621_XPanel;
|
||||||
|
|
||||||
|
namespace MEP621_XPanel
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Lab1
|
||||||
|
/// </summary>
|
||||||
|
public partial interface ILab1
|
||||||
|
{
|
||||||
|
object UserObject { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event txtInputField.Output Text (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> txtInputField_OutputTextEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnAlert.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnAlert_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnBack.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnBack_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnOccupancy.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnOccupancy_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnOccupancyFb.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnOccupancyFb_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnVacancyFb.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnVacancyFb_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnAlert.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnAlert_Selected(Lab1BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnAlert.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnAlert_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnBack.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnBack_Selected(Lab1BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnBack.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnBack_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnOccupancy.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnOccupancy_Selected(Lab1BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnOccupancy.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnOccupancy_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnOccupancyFb.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnOccupancyFb_Selected(Lab1BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnOccupancyFb.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnOccupancyFb_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnVacancyFb.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnVacancyFb_Selected(Lab1BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnVacancyFb.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnVacancyFb_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtInputField.Indirect Text Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The <see cref="string"/> delegate to update the panel.</param>
|
||||||
|
void txtInputField_IndirectText(Lab1StringInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtInputField.Indirect Text Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serial">The <see cref="string"/> to update the panel.</param>
|
||||||
|
void txtInputField_IndirectText(string serial);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtAlert.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The <see cref="string"/> delegate to update the panel.</param>
|
||||||
|
void txtAlert_Indirect(Lab1StringInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtAlert.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serial">The <see cref="string"/> to update the panel.</param>
|
||||||
|
void txtAlert_Indirect(string serial);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtRoomName.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The <see cref="string"/> delegate to update the panel.</param>
|
||||||
|
void txtRoomName_Indirect(Lab1StringInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtRoomName.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serial">The <see cref="string"/> to update the panel.</param>
|
||||||
|
void txtRoomName_Indirect(string serial);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Digital callback used in feedback events.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="boolInputSig">The <see cref="BoolInputSig"/> joinInfo data.</param>
|
||||||
|
/// <param name="lab1">The <see cref="ILab1"/> on which to apply the feedback.</param>
|
||||||
|
public delegate void Lab1BoolInputSigDelegate(BoolInputSig boolInputSig, ILab1 lab1);
|
||||||
|
/// <summary>
|
||||||
|
/// Digital callback used in feedback events.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="stringInputSig">The <see cref="StringInputSig"/> joinInfo data.</param>
|
||||||
|
/// <param name="lab1">The <see cref="ILab1"/> on which to apply the feedback.</param>
|
||||||
|
public delegate void Lab1StringInputSigDelegate(StringInputSig stringInputSig, ILab1 lab1);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Lab1
|
||||||
|
/// </summary>
|
||||||
|
internal partial class Lab1 : ILab1, IDisposable
|
||||||
|
{
|
||||||
|
#region Standard CH5 Component members
|
||||||
|
|
||||||
|
private ComponentMediator ComponentMediator { get; set; }
|
||||||
|
|
||||||
|
public object UserObject { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the ControlJoinId a.k.a. SmartObjectId. This Id identifies the extender symbol.
|
||||||
|
/// </summary>
|
||||||
|
public uint ControlJoinId { get; private set; }
|
||||||
|
|
||||||
|
private IList<BasicTriListWithSmartObject> _devices;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the list of devices.
|
||||||
|
/// </summary>
|
||||||
|
public IList<BasicTriListWithSmartObject> Devices { get { return _devices; } }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Joins
|
||||||
|
|
||||||
|
private static class Joins
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Digital signals,
|
||||||
|
/// </summary>
|
||||||
|
internal static class Booleans
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab1.btnAlert.Press
|
||||||
|
/// btnAlert.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnAlert_PressEvent = 3;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab1.btnBack.Press
|
||||||
|
/// btnBack.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnBack_PressEvent = 4;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab1.btnOccupancy.Press
|
||||||
|
/// btnOccupancy.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnOccupancy_PressEvent = 5;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab1.btnOccupancyFb.Press
|
||||||
|
/// btnOccupancyFb.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnOccupancyFb_PressEvent = 6;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab1.btnVacancyFb.Press
|
||||||
|
/// btnVacancyFb.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnVacancyFb_PressEvent = 7;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab1.btnAlert.Selected
|
||||||
|
/// btnAlert.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnAlert_SelectedState = 3;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab1.btnBack.Selected
|
||||||
|
/// btnBack.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnBack_SelectedState = 4;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab1.btnOccupancy.Selected
|
||||||
|
/// btnOccupancy.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnOccupancy_SelectedState = 5;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab1.btnOccupancyFb.Selected
|
||||||
|
/// btnOccupancyFb.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnOccupancyFb_SelectedState = 6;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab1.btnVacancyFb.Selected
|
||||||
|
/// btnVacancyFb.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnVacancyFb_SelectedState = 7;
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Serial signals.
|
||||||
|
/// </summary>
|
||||||
|
internal static class Strings
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event serial joinInfo from panel to Control System: Lab1.txtInputField.OutputText
|
||||||
|
/// txtInputField.Output Text
|
||||||
|
/// </summary>
|
||||||
|
public const uint txtInputField_OutputTextEvent = 1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback serial joinInfo from Control System to panel: Lab1.txtInputField.IndirectText
|
||||||
|
/// txtInputField.Indirect Text
|
||||||
|
/// </summary>
|
||||||
|
public const uint txtInputField_IndirectTextState = 1;
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback serial joinInfo from Control System to panel: Lab1.txtAlert.Indirect
|
||||||
|
/// txtAlert.Indirect
|
||||||
|
/// </summary>
|
||||||
|
public const uint txtAlert_IndirectState = 2;
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback serial joinInfo from Control System to panel: Lab1.txtRoomName.Indirect
|
||||||
|
/// txtRoomName.Indirect
|
||||||
|
/// </summary>
|
||||||
|
public const uint txtRoomName_IndirectState = 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Construction and Initialization
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="Lab1"/> component class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="componentMediator">The <see cref="ComponentMediator"/> used to instantiate the component.</param>
|
||||||
|
/// <param name="controlJoinId">The SmartObjectId at which to create the component.</param>
|
||||||
|
/// <param name="itemCount">The number of items.</param>
|
||||||
|
internal Lab1(ComponentMediator componentMediator, uint controlJoinId, uint? itemCount)
|
||||||
|
{
|
||||||
|
ComponentMediator = componentMediator;
|
||||||
|
Initialize(controlJoinId, itemCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="Lab1"/> component class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="componentMediator">The <see cref="ComponentMediator"/> used to instantiate the component.</param>
|
||||||
|
/// <param name="controlJoinId">The SmartObjectId at which to create the component.</param>
|
||||||
|
internal Lab1(ComponentMediator componentMediator, uint controlJoinId) : this(componentMediator, controlJoinId, null)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance with default itemCount.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="controlJoinId">The SmartObjectId at which to create the component.</param>
|
||||||
|
private void Initialize(uint controlJoinId)
|
||||||
|
{
|
||||||
|
Initialize(controlJoinId, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Dictionary<string, Indexes> _indexLookup = new Dictionary<string, Indexes>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="Lab1"/> component class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="controlJoinId">The SmartObjectId at which to create the component.</param>
|
||||||
|
/// <param name="itemCount">The number of items.</param>
|
||||||
|
private void Initialize(uint controlJoinId, uint? itemCount)
|
||||||
|
{
|
||||||
|
ControlJoinId = controlJoinId;
|
||||||
|
|
||||||
|
_devices = new List<BasicTriListWithSmartObject>();
|
||||||
|
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnAlert_PressEvent, onbtnAlert_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnBack_PressEvent, onbtnBack_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnOccupancy_PressEvent, onbtnOccupancy_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnOccupancyFb_PressEvent, onbtnOccupancyFb_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnVacancyFb_PressEvent, onbtnVacancyFb_Press);
|
||||||
|
ComponentMediator.ConfigureStringEvent(controlJoinId, Joins.Strings.txtInputField_OutputTextEvent, ontxtInputField_OutputText);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddDevice(BasicTriListWithSmartObject device)
|
||||||
|
{
|
||||||
|
Devices.Add(device);
|
||||||
|
ComponentMediator.HookSmartObjectEvents(device.SmartObjects[ControlJoinId]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveDevice(BasicTriListWithSmartObject device)
|
||||||
|
{
|
||||||
|
Devices.Remove(device);
|
||||||
|
ComponentMediator.UnHookSmartObjectEvents(device.SmartObjects[ControlJoinId]);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region CH5 Contract
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> txtInputField_OutputTextEvent;
|
||||||
|
private void ontxtInputField_OutputText(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = txtInputField_OutputTextEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnAlert_PressEvent;
|
||||||
|
private void onbtnAlert_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnAlert_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnBack_PressEvent;
|
||||||
|
private void onbtnBack_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnBack_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnOccupancy_PressEvent;
|
||||||
|
private void onbtnOccupancy_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnOccupancy_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnOccupancyFb_PressEvent;
|
||||||
|
private void onbtnOccupancyFb_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnOccupancyFb_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnVacancyFb_PressEvent;
|
||||||
|
private void onbtnVacancyFb_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnVacancyFb_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnAlert_Selected(Lab1BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnAlert_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnAlert_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnAlert_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnBack_Selected(Lab1BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnBack_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnBack_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnBack_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnOccupancy_Selected(Lab1BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnOccupancy_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnOccupancy_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnOccupancy_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnOccupancyFb_Selected(Lab1BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnOccupancyFb_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnOccupancyFb_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnOccupancyFb_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnVacancyFb_Selected(Lab1BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnVacancyFb_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnVacancyFb_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnVacancyFb_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtAlert_Indirect(Lab1StringInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].StringInput[Joins.Strings.txtAlert_IndirectState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtAlert_Indirect(string serial)
|
||||||
|
{
|
||||||
|
txtAlert_Indirect((sig, component) => sig.StringValue = serial);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtInputField_IndirectText(Lab1StringInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].StringInput[Joins.Strings.txtInputField_IndirectTextState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtInputField_IndirectText(string serial)
|
||||||
|
{
|
||||||
|
txtInputField_IndirectText((sig, component) => sig.StringValue = serial);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtRoomName_Indirect(Lab1StringInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].StringInput[Joins.Strings.txtRoomName_IndirectState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtRoomName_Indirect(string serial)
|
||||||
|
{
|
||||||
|
txtRoomName_Indirect((sig, component) => sig.StringValue = serial);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Overrides
|
||||||
|
|
||||||
|
public override int GetHashCode()
|
||||||
|
{
|
||||||
|
return (int)ControlJoinId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return string.Format("Contract: {0} Component: {1} HashCode: {2} {3}", "Lab1", GetType().Name, GetHashCode(), UserObject != null ? "UserObject: " + UserObject : null);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region IDisposable
|
||||||
|
|
||||||
|
public bool IsDisposed { get; set; }
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
if (IsDisposed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
IsDisposed = true;
|
||||||
|
|
||||||
|
txtInputField_OutputTextEvent = null;
|
||||||
|
btnAlert_PressEvent = null;
|
||||||
|
btnBack_PressEvent = null;
|
||||||
|
btnOccupancy_PressEvent = null;
|
||||||
|
btnOccupancyFb_PressEvent = null;
|
||||||
|
btnVacancyFb_PressEvent = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,758 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by CrestronConstruct.
|
||||||
|
// AppHost: 2.101.8.0
|
||||||
|
// UI Plugin: 1.3701.9.0
|
||||||
|
//
|
||||||
|
// Project: MEP621_XPanel
|
||||||
|
// Version: 1.0.0.0
|
||||||
|
// Sdk: CH5:2.11.1.2
|
||||||
|
// Strategy: Modern
|
||||||
|
// IndexOnly: False
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
using Crestron.SimplSharpPro;
|
||||||
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
using MEP621_XPanel;
|
||||||
|
|
||||||
|
namespace MEP621_XPanel
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Lab2
|
||||||
|
/// </summary>
|
||||||
|
public partial interface ILab2
|
||||||
|
{
|
||||||
|
object UserObject { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnBack.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnBack_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnCheck1.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnCheck1_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnCheck2.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnCheck2_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnCheck3.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnCheck3_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnCheck4.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnCheck4_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnCheckComplete.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnCheckComplete_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Event btnStartCheck.Press (from panel to Control System)
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<UIEventArgs> btnStartCheck_PressEvent;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnBack.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnBack_Selected(Lab2BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnBack.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnBack_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnMaintenanceOff.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnMaintenanceOff_Selected(Lab2BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnMaintenanceOff.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnMaintenanceOff_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnMaintenanceOn.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnMaintenanceOn_Selected(Lab2BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnMaintenanceOn.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnMaintenanceOn_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSystemCheck.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The bool delegate to update the panel.</param>
|
||||||
|
void btnSystemCheck_Selected(Lab2BoolInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSystemCheck.Selected Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="digital">The bool to update the panel.</param>
|
||||||
|
void btnSystemCheck_Selected(bool digital);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCheck1.Mode Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The ushort delegate to update the panel.</param>
|
||||||
|
void btnCheck1_Mode(Lab2UShortInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCheck1.Mode Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The ushort analog to update the panel.</param>
|
||||||
|
void btnCheck1_Mode(ushort analog);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCheck1.Mode Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The short analog to update the panel.</param>
|
||||||
|
void btnCheck1_Mode(short analog);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCheck2.Mode Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The ushort delegate to update the panel.</param>
|
||||||
|
void btnCheck2_Mode(Lab2UShortInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCheck2.Mode Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The ushort analog to update the panel.</param>
|
||||||
|
void btnCheck2_Mode(ushort analog);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCheck2.Mode Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The short analog to update the panel.</param>
|
||||||
|
void btnCheck2_Mode(short analog);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCheck3.Mode Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The ushort delegate to update the panel.</param>
|
||||||
|
void btnCheck3_Mode(Lab2UShortInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCheck3.Mode Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The ushort analog to update the panel.</param>
|
||||||
|
void btnCheck3_Mode(ushort analog);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCheck3.Mode Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The short analog to update the panel.</param>
|
||||||
|
void btnCheck3_Mode(short analog);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCheck4.Mode Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The ushort delegate to update the panel.</param>
|
||||||
|
void btnCheck4_Mode(Lab2UShortInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCheck4.Mode Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The ushort analog to update the panel.</param>
|
||||||
|
void btnCheck4_Mode(ushort analog);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCheck4.Mode Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The short analog to update the panel.</param>
|
||||||
|
void btnCheck4_Mode(short analog);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtCheckStatus.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The <see cref="string"/> delegate to update the panel.</param>
|
||||||
|
void txtCheckStatus_Indirect(Lab2StringInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtCheckStatus.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serial">The <see cref="string"/> to update the panel.</param>
|
||||||
|
void txtCheckStatus_Indirect(string serial);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtRoomName.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The <see cref="string"/> delegate to update the panel.</param>
|
||||||
|
void txtRoomName_Indirect(Lab2StringInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtRoomName.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serial">The <see cref="string"/> to update the panel.</param>
|
||||||
|
void txtRoomName_Indirect(string serial);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSystemCheck.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="callback">The <see cref="string"/> delegate to update the panel.</param>
|
||||||
|
void txtSystemCheck_Indirect(Lab2StringInputSigDelegate callback);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtSystemCheck.Indirect Feedback
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serial">The <see cref="string"/> to update the panel.</param>
|
||||||
|
void txtSystemCheck_Indirect(string serial);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Digital callback used in feedback events.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="boolInputSig">The <see cref="BoolInputSig"/> joinInfo data.</param>
|
||||||
|
/// <param name="lab2">The <see cref="ILab2"/> on which to apply the feedback.</param>
|
||||||
|
public delegate void Lab2BoolInputSigDelegate(BoolInputSig boolInputSig, ILab2 lab2);
|
||||||
|
/// <summary>
|
||||||
|
/// Digital callback used in feedback events.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="uShortInputSig">The <see cref="UShortInputSig"/> joinInfo data.</param>
|
||||||
|
/// <param name="lab2">The <see cref="ILab2"/> on which to apply the feedback.</param>
|
||||||
|
public delegate void Lab2UShortInputSigDelegate(UShortInputSig uShortInputSig, ILab2 lab2);
|
||||||
|
/// <summary>
|
||||||
|
/// Digital callback used in feedback events.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="stringInputSig">The <see cref="StringInputSig"/> joinInfo data.</param>
|
||||||
|
/// <param name="lab2">The <see cref="ILab2"/> on which to apply the feedback.</param>
|
||||||
|
public delegate void Lab2StringInputSigDelegate(StringInputSig stringInputSig, ILab2 lab2);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Lab2
|
||||||
|
/// </summary>
|
||||||
|
internal partial class Lab2 : ILab2, IDisposable
|
||||||
|
{
|
||||||
|
#region Standard CH5 Component members
|
||||||
|
|
||||||
|
private ComponentMediator ComponentMediator { get; set; }
|
||||||
|
|
||||||
|
public object UserObject { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the ControlJoinId a.k.a. SmartObjectId. This Id identifies the extender symbol.
|
||||||
|
/// </summary>
|
||||||
|
public uint ControlJoinId { get; private set; }
|
||||||
|
|
||||||
|
private IList<BasicTriListWithSmartObject> _devices;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the list of devices.
|
||||||
|
/// </summary>
|
||||||
|
public IList<BasicTriListWithSmartObject> Devices { get { return _devices; } }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Joins
|
||||||
|
|
||||||
|
private static class Joins
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Digital signals,
|
||||||
|
/// </summary>
|
||||||
|
internal static class Booleans
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab2.btnBack.Press
|
||||||
|
/// btnBack.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnBack_PressEvent = 3;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab2.btnCheck1.Press
|
||||||
|
/// btnCheck1.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnCheck1_PressEvent = 4;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab2.btnCheck2.Press
|
||||||
|
/// btnCheck2.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnCheck2_PressEvent = 5;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab2.btnCheck3.Press
|
||||||
|
/// btnCheck3.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnCheck3_PressEvent = 6;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab2.btnCheck4.Press
|
||||||
|
/// btnCheck4.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnCheck4_PressEvent = 7;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab2.btnCheckComplete.Press
|
||||||
|
/// btnCheckComplete.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnCheckComplete_PressEvent = 8;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Output or Event digital joinInfo from panel to Control System: Lab2.btnStartCheck.Press
|
||||||
|
/// btnStartCheck.Press
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnStartCheck_PressEvent = 9;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab2.btnBack.Selected
|
||||||
|
/// btnBack.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnBack_SelectedState = 3;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab2.btnMaintenanceOff.Selected
|
||||||
|
/// btnMaintenanceOff.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnMaintenanceOff_SelectedState = 4;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab2.btnMaintenanceOn.Selected
|
||||||
|
/// btnMaintenanceOn.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnMaintenanceOn_SelectedState = 5;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback digital joinInfo from Control System to panel: Lab2.btnSystemCheck.Selected
|
||||||
|
/// btnSystemCheck.Selected
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnSystemCheck_SelectedState = 6;
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Analog signals.
|
||||||
|
/// </summary>
|
||||||
|
internal static class Numerics
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback analog joinInfo from Control System to panel: Lab2.btnCheck1.Mode
|
||||||
|
/// btnCheck1.Mode
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnCheck1_ModeState = 9;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback analog joinInfo from Control System to panel: Lab2.btnCheck2.Mode
|
||||||
|
/// btnCheck2.Mode
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnCheck2_ModeState = 10;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback analog joinInfo from Control System to panel: Lab2.btnCheck3.Mode
|
||||||
|
/// btnCheck3.Mode
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnCheck3_ModeState = 11;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback analog joinInfo from Control System to panel: Lab2.btnCheck4.Mode
|
||||||
|
/// btnCheck4.Mode
|
||||||
|
/// </summary>
|
||||||
|
public const uint btnCheck4_ModeState = 12;
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Serial signals.
|
||||||
|
/// </summary>
|
||||||
|
internal static class Strings
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback serial joinInfo from Control System to panel: Lab2.txtCheckStatus.Indirect
|
||||||
|
/// txtCheckStatus.Indirect
|
||||||
|
/// </summary>
|
||||||
|
public const uint txtCheckStatus_IndirectState = 1;
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback serial joinInfo from Control System to panel: Lab2.txtRoomName.Indirect
|
||||||
|
/// txtRoomName.Indirect
|
||||||
|
/// </summary>
|
||||||
|
public const uint txtRoomName_IndirectState = 2;
|
||||||
|
/// <summary>
|
||||||
|
/// Input or Feedback serial joinInfo from Control System to panel: Lab2.txtSystemCheck.Indirect
|
||||||
|
/// txtSystemCheck.Indirect
|
||||||
|
/// </summary>
|
||||||
|
public const uint txtSystemCheck_IndirectState = 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Construction and Initialization
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="Lab2"/> component class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="componentMediator">The <see cref="ComponentMediator"/> used to instantiate the component.</param>
|
||||||
|
/// <param name="controlJoinId">The SmartObjectId at which to create the component.</param>
|
||||||
|
/// <param name="itemCount">The number of items.</param>
|
||||||
|
internal Lab2(ComponentMediator componentMediator, uint controlJoinId, uint? itemCount)
|
||||||
|
{
|
||||||
|
ComponentMediator = componentMediator;
|
||||||
|
Initialize(controlJoinId, itemCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="Lab2"/> component class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="componentMediator">The <see cref="ComponentMediator"/> used to instantiate the component.</param>
|
||||||
|
/// <param name="controlJoinId">The SmartObjectId at which to create the component.</param>
|
||||||
|
internal Lab2(ComponentMediator componentMediator, uint controlJoinId) : this(componentMediator, controlJoinId, null)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance with default itemCount.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="controlJoinId">The SmartObjectId at which to create the component.</param>
|
||||||
|
private void Initialize(uint controlJoinId)
|
||||||
|
{
|
||||||
|
Initialize(controlJoinId, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Dictionary<string, Indexes> _indexLookup = new Dictionary<string, Indexes>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="Lab2"/> component class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="controlJoinId">The SmartObjectId at which to create the component.</param>
|
||||||
|
/// <param name="itemCount">The number of items.</param>
|
||||||
|
private void Initialize(uint controlJoinId, uint? itemCount)
|
||||||
|
{
|
||||||
|
ControlJoinId = controlJoinId;
|
||||||
|
|
||||||
|
_devices = new List<BasicTriListWithSmartObject>();
|
||||||
|
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnBack_PressEvent, onbtnBack_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnCheck1_PressEvent, onbtnCheck1_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnCheck2_PressEvent, onbtnCheck2_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnCheck3_PressEvent, onbtnCheck3_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnCheck4_PressEvent, onbtnCheck4_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnCheckComplete_PressEvent, onbtnCheckComplete_Press);
|
||||||
|
ComponentMediator.ConfigureBooleanEvent(controlJoinId, Joins.Booleans.btnStartCheck_PressEvent, onbtnStartCheck_Press);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddDevice(BasicTriListWithSmartObject device)
|
||||||
|
{
|
||||||
|
Devices.Add(device);
|
||||||
|
ComponentMediator.HookSmartObjectEvents(device.SmartObjects[ControlJoinId]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveDevice(BasicTriListWithSmartObject device)
|
||||||
|
{
|
||||||
|
Devices.Remove(device);
|
||||||
|
ComponentMediator.UnHookSmartObjectEvents(device.SmartObjects[ControlJoinId]);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region CH5 Contract
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnBack_PressEvent;
|
||||||
|
private void onbtnBack_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnBack_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnCheck1_PressEvent;
|
||||||
|
private void onbtnCheck1_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnCheck1_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnCheck2_PressEvent;
|
||||||
|
private void onbtnCheck2_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnCheck2_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnCheck3_PressEvent;
|
||||||
|
private void onbtnCheck3_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnCheck3_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnCheck4_PressEvent;
|
||||||
|
private void onbtnCheck4_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnCheck4_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnCheckComplete_PressEvent;
|
||||||
|
private void onbtnCheckComplete_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnCheckComplete_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public event EventHandler<UIEventArgs> btnStartCheck_PressEvent;
|
||||||
|
private void onbtnStartCheck_Press(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
EventHandler<UIEventArgs> handler = btnStartCheck_PressEvent;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, UIEventArgs.CreateEventArgs(eventArgs));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnBack_Selected(Lab2BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnBack_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnBack_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnBack_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnMaintenanceOff_Selected(Lab2BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnMaintenanceOff_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnMaintenanceOff_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnMaintenanceOff_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnMaintenanceOn_Selected(Lab2BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnMaintenanceOn_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnMaintenanceOn_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnMaintenanceOn_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnSystemCheck_Selected(Lab2BoolInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].BooleanInput[Joins.Booleans.btnSystemCheck_SelectedState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnSystemCheck_Selected(bool digital)
|
||||||
|
{
|
||||||
|
btnSystemCheck_Selected((sig, component) => sig.BoolValue = digital);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnCheck1_Mode(Lab2UShortInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].UShortInput[Joins.Numerics.btnCheck1_ModeState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnCheck1_Mode(ushort analog)
|
||||||
|
{
|
||||||
|
btnCheck1_Mode((sig, component) => sig.UShortValue = analog);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnCheck1_Mode(short analog)
|
||||||
|
{
|
||||||
|
btnCheck1_Mode((sig, component) => sig.ShortValue = analog);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnCheck2_Mode(Lab2UShortInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].UShortInput[Joins.Numerics.btnCheck2_ModeState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnCheck2_Mode(ushort analog)
|
||||||
|
{
|
||||||
|
btnCheck2_Mode((sig, component) => sig.UShortValue = analog);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnCheck2_Mode(short analog)
|
||||||
|
{
|
||||||
|
btnCheck2_Mode((sig, component) => sig.ShortValue = analog);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnCheck3_Mode(Lab2UShortInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].UShortInput[Joins.Numerics.btnCheck3_ModeState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnCheck3_Mode(ushort analog)
|
||||||
|
{
|
||||||
|
btnCheck3_Mode((sig, component) => sig.UShortValue = analog);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnCheck3_Mode(short analog)
|
||||||
|
{
|
||||||
|
btnCheck3_Mode((sig, component) => sig.ShortValue = analog);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnCheck4_Mode(Lab2UShortInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].UShortInput[Joins.Numerics.btnCheck4_ModeState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnCheck4_Mode(ushort analog)
|
||||||
|
{
|
||||||
|
btnCheck4_Mode((sig, component) => sig.UShortValue = analog);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void btnCheck4_Mode(short analog)
|
||||||
|
{
|
||||||
|
btnCheck4_Mode((sig, component) => sig.ShortValue = analog);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtCheckStatus_Indirect(Lab2StringInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].StringInput[Joins.Strings.txtCheckStatus_IndirectState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtCheckStatus_Indirect(string serial)
|
||||||
|
{
|
||||||
|
txtCheckStatus_Indirect((sig, component) => sig.StringValue = serial);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtRoomName_Indirect(Lab2StringInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].StringInput[Joins.Strings.txtRoomName_IndirectState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtRoomName_Indirect(string serial)
|
||||||
|
{
|
||||||
|
txtRoomName_Indirect((sig, component) => sig.StringValue = serial);
|
||||||
|
}
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtSystemCheck_Indirect(Lab2StringInputSigDelegate callback)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < Devices.Count; index++)
|
||||||
|
{
|
||||||
|
callback(Devices[index].SmartObjects[ControlJoinId].StringInput[Joins.Strings.txtSystemCheck_IndirectState], this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public void txtSystemCheck_Indirect(string serial)
|
||||||
|
{
|
||||||
|
txtSystemCheck_Indirect((sig, component) => sig.StringValue = serial);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Overrides
|
||||||
|
|
||||||
|
public override int GetHashCode()
|
||||||
|
{
|
||||||
|
return (int)ControlJoinId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return string.Format("Contract: {0} Component: {1} HashCode: {2} {3}", "Lab2", GetType().Name, GetHashCode(), UserObject != null ? "UserObject: " + UserObject : null);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region IDisposable
|
||||||
|
|
||||||
|
public bool IsDisposed { get; set; }
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
if (IsDisposed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
IsDisposed = true;
|
||||||
|
|
||||||
|
btnBack_PressEvent = null;
|
||||||
|
btnCheck1_PressEvent = null;
|
||||||
|
btnCheck2_PressEvent = null;
|
||||||
|
btnCheck3_PressEvent = null;
|
||||||
|
btnCheck4_PressEvent = null;
|
||||||
|
btnCheckComplete_PressEvent = null;
|
||||||
|
btnStartCheck_PressEvent = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,66 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by CrestronConstruct.
|
||||||
|
// AppHost: 2.101.8.0
|
||||||
|
// UI Plugin: 1.3701.9.0
|
||||||
|
//
|
||||||
|
// Project: MEP621_XPanel
|
||||||
|
// Version: 1.0.0.0
|
||||||
|
// Sdk: CH5:2.11.1.2
|
||||||
|
// Strategy: Modern
|
||||||
|
// IndexOnly: False
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using Crestron.SimplSharpPro;
|
||||||
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
|
||||||
|
namespace MEP621_XPanel
|
||||||
|
{
|
||||||
|
public class UIEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
public BasicTriListWithSmartObject Device { get; private set; }
|
||||||
|
public SigEventArgs SigArgs { get; private set; }
|
||||||
|
|
||||||
|
public UIEventArgs(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
Device = (BasicTriListWithSmartObject) eventArgs.SmartObjectArgs.Device;
|
||||||
|
SigArgs = eventArgs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static UIEventArgs CreateEventArgs(SmartObjectEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
return new UIEventArgs(eventArgs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Data structure to carry return values because 2008 does not support Tuples.
|
||||||
|
/// </summary>
|
||||||
|
public struct Indexes
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Item index in Widget List.
|
||||||
|
/// </summary>
|
||||||
|
public ushort ItemIndex;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// join index in List (Button List, Tab, Dpad, keypad).
|
||||||
|
/// </summary>
|
||||||
|
public ushort JoinIndex;
|
||||||
|
|
||||||
|
public bool IsError;
|
||||||
|
|
||||||
|
public Indexes(ushort itemIndex, ushort joinIndex, bool isError)
|
||||||
|
{
|
||||||
|
ItemIndex = itemIndex;
|
||||||
|
JoinIndex = joinIndex;
|
||||||
|
IsError = isError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
Add table
Reference in a new issue