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