diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..4e7fc4d --- /dev/null +++ b/.gitattributes @@ -0,0 +1,244 @@ +*.3[dD][sS] filter=lfs diff=lfs merge=lfs -text +*.3[gG]2 filter=lfs diff=lfs merge=lfs -text +*.3[gG][pP] filter=lfs diff=lfs merge=lfs -text +*.7[zZ] filter=lfs diff=lfs merge=lfs -text +*.[aA] filter=lfs diff=lfs merge=lfs -text +*.[aA][aA][cC] filter=lfs diff=lfs merge=lfs -text +*.[aA][dD][pP] filter=lfs diff=lfs merge=lfs -text +*.[aA][iI] filter=lfs diff=lfs merge=lfs -text +*.[aA][iI][fF] filter=lfs diff=lfs merge=lfs -text +*.[aA][iI][fF][fF] filter=lfs diff=lfs merge=lfs -text +*.[aA][lL][zZ] filter=lfs diff=lfs merge=lfs -text +*.[aA][pP][eE] filter=lfs diff=lfs merge=lfs -text +*.[aA][pP][kK] filter=lfs diff=lfs merge=lfs -text +*.[aA][rR] filter=lfs diff=lfs merge=lfs -text +*.[aA][rR][jJ] filter=lfs diff=lfs merge=lfs -text +*.[aA][sS][fF] filter=lfs diff=lfs merge=lfs -text +*.[aA][uU] filter=lfs diff=lfs merge=lfs -text +*.[aA][vV][iI] filter=lfs diff=lfs merge=lfs -text +*.[bB][aA][kK] filter=lfs diff=lfs merge=lfs -text +*.[bB][aA][mM][lL] filter=lfs diff=lfs merge=lfs -text +*.[bB][hH] filter=lfs diff=lfs merge=lfs -text +*.[bB][iI][nN] filter=lfs diff=lfs merge=lfs -text +*.[bB][kK] filter=lfs diff=lfs merge=lfs -text +*.[bB][mM][pP] filter=lfs diff=lfs merge=lfs -text +*.[bB][tT][iI][fF] filter=lfs diff=lfs merge=lfs -text +*.[bB][zZ]2 filter=lfs diff=lfs merge=lfs -text +*.[bB][zZ][iI][pP]2 filter=lfs diff=lfs merge=lfs -text +*.[cC][aA][bB] filter=lfs diff=lfs merge=lfs -text +*.[cC][aA][fF] filter=lfs diff=lfs merge=lfs -text +*.[cC][gG][mM] filter=lfs diff=lfs merge=lfs -text +*.[cC][lL][aA][sS][sS] filter=lfs diff=lfs merge=lfs -text +*.[cC][mM][xX] filter=lfs diff=lfs merge=lfs -text +*.[cC][pP][iI][oO] filter=lfs diff=lfs merge=lfs -text +*.[cC][rR]2 filter=lfs diff=lfs merge=lfs -text +*.[cC][sS][vV] filter=lfs diff=lfs merge=lfs -text +*.[cC][uU][rR] filter=lfs diff=lfs merge=lfs -text +*.[dD][aA][tT] filter=lfs diff=lfs merge=lfs -text +*.[dD][cC][mM] filter=lfs diff=lfs merge=lfs -text +*.[dD][eE][bB] filter=lfs diff=lfs merge=lfs -text +*.[dD][eE][xX] filter=lfs diff=lfs merge=lfs -text +*.[dD][jJ][vV][uU] filter=lfs diff=lfs merge=lfs -text +*.[dD][lL][lL] filter=lfs diff=lfs merge=lfs -text +*.[dD][mM][gG] filter=lfs diff=lfs merge=lfs -text +*.[dD][nN][gG] filter=lfs diff=lfs merge=lfs -text +*.[dD][oO][cC] filter=lfs diff=lfs merge=lfs -text +*.[dD][oO][cC][mM] filter=lfs diff=lfs merge=lfs -text +*.[dD][oO][cC][xX] filter=lfs diff=lfs merge=lfs -text +*.[dD][oO][tT] filter=lfs diff=lfs merge=lfs -text +*.[dD][oO][tT][mM] filter=lfs diff=lfs merge=lfs -text +*.[dD][rR][aA] filter=lfs diff=lfs merge=lfs -text +*.[dD][sS]_[sS][tT][oO][rR][eE] filter=lfs diff=lfs merge=lfs -text +*.[dD][sS][kK] filter=lfs diff=lfs merge=lfs -text +*.[dD][tT][sS] filter=lfs diff=lfs merge=lfs -text +*.[dD][tT][sS][hH][dD] filter=lfs diff=lfs merge=lfs -text +*.[dD][vV][bB] filter=lfs diff=lfs merge=lfs -text +*.[dD][wW][gG] filter=lfs diff=lfs merge=lfs -text +*.[dD][xX][fF] filter=lfs diff=lfs merge=lfs -text +*.[eE][cC][eE][lL][pP]4800 filter=lfs diff=lfs merge=lfs -text +*.[eE][cC][eE][lL][pP]7470 filter=lfs diff=lfs merge=lfs -text +*.[eE][cC][eE][lL][pP]9600 filter=lfs diff=lfs merge=lfs -text +*.[eE][gG][gG] filter=lfs diff=lfs merge=lfs -text +*.[eE][oO][lL] filter=lfs diff=lfs merge=lfs -text +*.[eE][oO][tT] filter=lfs diff=lfs merge=lfs -text +*.[eE][pP][uU][bB] filter=lfs diff=lfs merge=lfs -text +*.[eE][xX][eE] filter=lfs diff=lfs merge=lfs -text +*.[fF]4[vV] filter=lfs diff=lfs merge=lfs -text +*.[fF][bB][sS] filter=lfs diff=lfs merge=lfs -text +*.[fF][hH] filter=lfs diff=lfs merge=lfs -text +*.[fF][lL][aA] filter=lfs diff=lfs merge=lfs -text +*.[fF][lL][aA][cC] filter=lfs diff=lfs merge=lfs -text +*.[fF][lL][iI] filter=lfs diff=lfs merge=lfs -text +*.[fF][lL][vV] filter=lfs diff=lfs merge=lfs -text +*.[fF][pP][xX] filter=lfs diff=lfs merge=lfs -text +*.[fF][sS][tT] filter=lfs diff=lfs merge=lfs -text +*.[fF][vV][tT] filter=lfs diff=lfs merge=lfs -text +*.[gG]3 filter=lfs diff=lfs merge=lfs -text +*.[gG][iI][fF] filter=lfs diff=lfs merge=lfs -text +*.[gG][rR][aA][fF][fF][lL][eE] filter=lfs diff=lfs merge=lfs -text +*.[gG][zZ] filter=lfs diff=lfs merge=lfs -text +*.[gG][zZ][iI][pP] filter=lfs diff=lfs merge=lfs -text +*.[hH]261 filter=lfs diff=lfs merge=lfs -text +*.[hH]263 filter=lfs diff=lfs merge=lfs -text +*.[hH]264 filter=lfs diff=lfs merge=lfs -text +*.[iI][cC][nN][sS] filter=lfs diff=lfs merge=lfs -text +*.[iI][cC][oO] filter=lfs diff=lfs merge=lfs -text +*.[iI][eE][fF] filter=lfs diff=lfs merge=lfs -text +*.[iI][mM][gG] filter=lfs diff=lfs merge=lfs -text +*.[iI][pP][aA] filter=lfs diff=lfs merge=lfs -text +*.[iI][sS][oO] filter=lfs diff=lfs merge=lfs -text +*.[jJ][aA][rR] filter=lfs diff=lfs merge=lfs -text +*.[jJ][pP][eE][gG] filter=lfs diff=lfs merge=lfs -text +*.[jJ][pP][gG] filter=lfs diff=lfs merge=lfs -text +*.[jJ][pP][gG][vV] filter=lfs diff=lfs merge=lfs -text +*.[jJ][pP][mM] filter=lfs diff=lfs merge=lfs -text +*.[jJ][xX][rR] filter=lfs diff=lfs merge=lfs -text +*.[kK][eE][yY] filter=lfs diff=lfs merge=lfs -text +*.[kK][tT][xX] filter=lfs diff=lfs merge=lfs -text +*.[lL][hH][aA] filter=lfs diff=lfs merge=lfs -text +*.[lL][iI][bB] filter=lfs diff=lfs merge=lfs -text +*.[lL][vV][pP] filter=lfs diff=lfs merge=lfs -text +*.[lL][zZ] filter=lfs diff=lfs merge=lfs -text +*.[lL][zZ][hH] filter=lfs diff=lfs merge=lfs -text +*.[lL][zZ][mM][aA] filter=lfs diff=lfs merge=lfs -text +*.[lL][zZ][oO] filter=lfs diff=lfs merge=lfs -text +*.[mM]3[uU] filter=lfs diff=lfs merge=lfs -text +*.[mM]4[aA] filter=lfs diff=lfs merge=lfs -text +*.[mM]4[vV] filter=lfs diff=lfs merge=lfs -text +*.[mM][aA][rR] filter=lfs diff=lfs merge=lfs -text +*.[mM][dD][iI] filter=lfs diff=lfs merge=lfs -text +*.[mM][hH][tT] filter=lfs diff=lfs merge=lfs -text +*.[mM][iI][dD] filter=lfs diff=lfs merge=lfs -text +*.[mM][iI][dD][iI] filter=lfs diff=lfs merge=lfs -text +*.[mM][jJ]2 filter=lfs diff=lfs merge=lfs -text +*.[mM][kK][aA] filter=lfs diff=lfs merge=lfs -text +*.[mM][kK][vV] filter=lfs diff=lfs merge=lfs -text +*.[mM][mM][rR] filter=lfs diff=lfs merge=lfs -text +*.[mM][nN][gG] filter=lfs diff=lfs merge=lfs -text +*.[mM][oO][bB][iI] filter=lfs diff=lfs merge=lfs -text +*.[mM][oO][vV] filter=lfs diff=lfs merge=lfs -text +*.[mM][oO][vV][iI][eE] filter=lfs diff=lfs merge=lfs -text +*.[mM][pP]3 filter=lfs diff=lfs merge=lfs -text +*.[mM][pP]4 filter=lfs diff=lfs merge=lfs -text +*.[mM][pP]4[aA] filter=lfs diff=lfs merge=lfs -text +*.[mM][pP][eE][gG] filter=lfs diff=lfs merge=lfs -text +*.[mM][pP][gG] filter=lfs diff=lfs merge=lfs -text +*.[mM][pP][gG][aA] filter=lfs diff=lfs merge=lfs -text +*.[mM][xX][uU] filter=lfs diff=lfs merge=lfs -text +*.[nN][eE][fF] filter=lfs diff=lfs merge=lfs -text +*.[nN][pP][xX] filter=lfs diff=lfs merge=lfs -text +*.[nN][uU][mM][bB][eE][rR][sS] filter=lfs diff=lfs merge=lfs -text +*.[oO] filter=lfs diff=lfs merge=lfs -text +*.[oO][gG][aA] filter=lfs diff=lfs merge=lfs -text +*.[oO][gG][gG] filter=lfs diff=lfs merge=lfs -text +*.[oO][gG][vV] filter=lfs diff=lfs merge=lfs -text +*.[oO][tT][fF] filter=lfs diff=lfs merge=lfs -text +*.[pP][aA][gG][eE][sS] filter=lfs diff=lfs merge=lfs -text +*.[pP][bB][mM] filter=lfs diff=lfs merge=lfs -text +*.[pP][cC][xX] filter=lfs diff=lfs merge=lfs -text +*.[pP][dD][bB] filter=lfs diff=lfs merge=lfs -text +*.[pP][dD][fF] filter=lfs diff=lfs merge=lfs -text +*.[pP][eE][aA] filter=lfs diff=lfs merge=lfs -text +*.[pP][gG][mM] filter=lfs diff=lfs merge=lfs -text +*.[pP][iI][cC] filter=lfs diff=lfs merge=lfs -text +*.[pP][nN][gG] filter=lfs diff=lfs merge=lfs -text +*.[pP][nN][mM] filter=lfs diff=lfs merge=lfs -text +*.[pP][oO][tT] filter=lfs diff=lfs merge=lfs -text +*.[pP][oO][tT][mM] filter=lfs diff=lfs merge=lfs -text +*.[pP][oO][tT][xX] filter=lfs diff=lfs merge=lfs -text +*.[pP][pP][aA] filter=lfs diff=lfs merge=lfs -text +*.[pP][pP][aA][mM] filter=lfs diff=lfs merge=lfs -text +*.[pP][pP][mM] filter=lfs diff=lfs merge=lfs -text +*.[pP][pP][sS] filter=lfs diff=lfs merge=lfs -text +*.[pP][pP][sS][mM] filter=lfs diff=lfs merge=lfs -text +*.[pP][pP][sS][xX] filter=lfs diff=lfs merge=lfs -text +*.[pP][pP][tT] filter=lfs diff=lfs merge=lfs -text +*.[pP][pP][tT][mM] filter=lfs diff=lfs merge=lfs -text +*.[pP][pP][tT][xX] filter=lfs diff=lfs merge=lfs -text +*.[pP][sS][dD] filter=lfs diff=lfs merge=lfs -text +*.[pP][yY][aA] filter=lfs diff=lfs merge=lfs -text +*.[pP][yY][cC] filter=lfs diff=lfs merge=lfs -text +*.[pP][yY][oO] filter=lfs diff=lfs merge=lfs -text +*.[pP][yY][vV] filter=lfs diff=lfs merge=lfs -text +*.[qQ][tT] filter=lfs diff=lfs merge=lfs -text +*.[rR][aA][rR] filter=lfs diff=lfs merge=lfs -text +*.[rR][aA][sS] filter=lfs diff=lfs merge=lfs -text +*.[rR][aA][wW] filter=lfs diff=lfs merge=lfs -text +*.[rR][eE][sS][oO][uU][rR][cC][eE][sS] filter=lfs diff=lfs merge=lfs -text +*.[rR][gG][bB] filter=lfs diff=lfs merge=lfs -text +*.[rR][iI][pP] filter=lfs diff=lfs merge=lfs -text +*.[rR][lL][cC] filter=lfs diff=lfs merge=lfs -text +*.[rR][mM][fF] filter=lfs diff=lfs merge=lfs -text +*.[rR][mM][vV][bB] filter=lfs diff=lfs merge=lfs -text +*.[rR][tT][fF] filter=lfs diff=lfs merge=lfs -text +*.[rR][zZ] filter=lfs diff=lfs merge=lfs -text +*.[sS]3[mM] filter=lfs diff=lfs merge=lfs -text +*.[sS]7[zZ] filter=lfs diff=lfs merge=lfs -text +*.[sS][cC][pP][tT] filter=lfs diff=lfs merge=lfs -text +*.[sS][gG][iI] filter=lfs diff=lfs merge=lfs -text +*.[sS][hH][aA][rR] filter=lfs diff=lfs merge=lfs -text +*.[sS][iI][lL] filter=lfs diff=lfs merge=lfs -text +*.[sS][kK][eE][tT][cC][hH] filter=lfs diff=lfs merge=lfs -text +*.[sS][lL][kK] filter=lfs diff=lfs merge=lfs -text +*.[sS][mM][vV] filter=lfs diff=lfs merge=lfs -text +*.[sS][oO] filter=lfs diff=lfs merge=lfs -text +*.[sS][uU][bB] filter=lfs diff=lfs merge=lfs -text +*.[sS][wW][fF] filter=lfs diff=lfs merge=lfs -text +*.[tT][aA][rR] filter=lfs diff=lfs merge=lfs -text +*.[tT][bB][zZ] filter=lfs diff=lfs merge=lfs -text +*.[tT][bB][zZ]2 filter=lfs diff=lfs merge=lfs -text +*.[tT][gG][aA] filter=lfs diff=lfs merge=lfs -text +*.[tT][gG][zZ] filter=lfs diff=lfs merge=lfs -text +*.[tT][hH][mM][xX] filter=lfs diff=lfs merge=lfs -text +*.[tT][iI][fF] filter=lfs diff=lfs merge=lfs -text +*.[tT][iI][fF][fF] filter=lfs diff=lfs merge=lfs -text +*.[tT][lL][zZ] filter=lfs diff=lfs merge=lfs -text +*.[tT][tT][cC] filter=lfs diff=lfs merge=lfs -text +*.[tT][tT][fF] filter=lfs diff=lfs merge=lfs -text +*.[tT][xX][zZ] filter=lfs diff=lfs merge=lfs -text +*.[uU][dD][fF] filter=lfs diff=lfs merge=lfs -text +*.[uU][vV][hH] filter=lfs diff=lfs merge=lfs -text +*.[uU][vV][iI] filter=lfs diff=lfs merge=lfs -text +*.[uU][vV][mM] filter=lfs diff=lfs merge=lfs -text +*.[uU][vV][pP] filter=lfs diff=lfs merge=lfs -text +*.[uU][vV][sS] filter=lfs diff=lfs merge=lfs -text +*.[uU][vV][uU] filter=lfs diff=lfs merge=lfs -text +*.[vV][iI][vV] filter=lfs diff=lfs merge=lfs -text +*.[vV][oO][bB] filter=lfs diff=lfs merge=lfs -text +*.[wW][aA][rR] filter=lfs diff=lfs merge=lfs -text +*.[wW][aA][vV] filter=lfs diff=lfs merge=lfs -text +*.[wW][aA][xX] filter=lfs diff=lfs merge=lfs -text +*.[wW][bB][mM][pP] filter=lfs diff=lfs merge=lfs -text +*.[wW][dD][pP] filter=lfs diff=lfs merge=lfs -text +*.[wW][eE][bB][aA] filter=lfs diff=lfs merge=lfs -text +*.[wW][eE][bB][mM] filter=lfs diff=lfs merge=lfs -text +*.[wW][eE][bB][pP] filter=lfs diff=lfs merge=lfs -text +*.[wW][hH][lL] filter=lfs diff=lfs merge=lfs -text +*.[wW][iI][mM] filter=lfs diff=lfs merge=lfs -text +*.[wW][mM] filter=lfs diff=lfs merge=lfs -text +*.[wW][mM][aA] filter=lfs diff=lfs merge=lfs -text +*.[wW][mM][vV] filter=lfs diff=lfs merge=lfs -text +*.[wW][mM][xX] filter=lfs diff=lfs merge=lfs -text +*.[wW][oO][fF][fF] filter=lfs diff=lfs merge=lfs -text +*.[wW][oO][fF][fF]2 filter=lfs diff=lfs merge=lfs -text +*.[wW][vV][xX] filter=lfs diff=lfs merge=lfs -text +*.[xX][bB][mM] filter=lfs diff=lfs merge=lfs -text +*.[xX][iI][fF] filter=lfs diff=lfs merge=lfs -text +*.[xX][lL][aA] filter=lfs diff=lfs merge=lfs -text +*.[xX][lL][aA][mM] filter=lfs diff=lfs merge=lfs -text +*.[xX][lL][sS] filter=lfs diff=lfs merge=lfs -text +*.[xX][lL][sS][bB] filter=lfs diff=lfs merge=lfs -text +*.[xX][lL][sS][mM] filter=lfs diff=lfs merge=lfs -text +*.[xX][lL][sS][xX] filter=lfs diff=lfs merge=lfs -text +*.[xX][lL][tT] filter=lfs diff=lfs merge=lfs -text +*.[xX][lL][tT][mM] filter=lfs diff=lfs merge=lfs -text +*.[xX][lL][tT][xX] filter=lfs diff=lfs merge=lfs -text +*.[xX][mM] filter=lfs diff=lfs merge=lfs -text +*.[xX][mM][iI][nN][dD] filter=lfs diff=lfs merge=lfs -text +*.[xX][pP][iI] filter=lfs diff=lfs merge=lfs -text +*.[xX][pP][mM] filter=lfs diff=lfs merge=lfs -text +*.[xX][wW][dD] filter=lfs diff=lfs merge=lfs -text +*.[xX][zZ] filter=lfs diff=lfs merge=lfs -text +*.[zZ] filter=lfs diff=lfs merge=lfs -text +*.[zZ][iI][pP] filter=lfs diff=lfs merge=lfs -text +*.[zZ][iI][pP][xX] filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..324e4f5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +/* +!*.gitignore +!*.gitattributes +!*.optix +!*.optix.design +!Nodes/ +!ProjectFiles/ +!DesignTimeNodes/ +ProjectFiles/NetSolution/*.vs +ProjectFiles/NetSolution/bin +ProjectFiles/NetSolution/obj +ProjectFiles/NetSolution/Private +ProjectFiles/NetSolution/*.references +ProjectFiles/UserDefinedModule.xml +!README.md +!LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4261ffc --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 ASEM S.r.l. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/NestedPlaceholders.optix b/NestedPlaceholders.optix new file mode 100644 index 0000000..4268b75 --- /dev/null +++ b/NestedPlaceholders.optix @@ -0,0 +1,33 @@ +Project: + Name: NestedPlaceholders + GUID: 495955fd3d6e5e51cc5d98e5cf6a1610 + ProjectNamespaceIndex: 8 + Description: '' + Company: '' + Copyright: '' + FormatVersion: 1 + ProductVersion: 1.2 + CoreVersion: 2.0 + Dependencies: + 3: + Uri: 'urn:FTOptix:CoreBase' + Module: FTOptix.CoreBase + Version: 2.1 + 4: + Uri: 'urn:FTOptix:UI' + Module: FTOptix.UI + Version: 2.0 + 5: + Uri: 'urn:FTOptix:HMIProject' + Module: FTOptix.HMIProject + Version: 4.2 + 7: + Uri: 'urn:FTOptix:Retentivity' + Module: FTOptix.Retentivity + Version: 1.0 + 10: + Uri: 'urn:FTOptix:NativeUI' + Module: FTOptix.NativeUI + Version: 2.0 + Nodes: + - File: Nodes/NestedPlaceholders.yaml diff --git a/NestedPlaceholders.optix.design b/NestedPlaceholders.optix.design new file mode 100644 index 0000000..3355031 --- /dev/null +++ b/NestedPlaceholders.optix.design @@ -0,0 +1,18 @@ +Project: + Name: NestedPlaceholders_Design + ProjectNamespaceIndex: 4 + Description: '' + Company: '' + Copyright: '' + FormatVersion: 1 + ProductVersion: 1.2 + CoreVersion: 2.0 + Dependencies: + 2: + Uri: NestedPlaceholders + RelativePath: NestedPlaceholders.optix + 3: + Uri: 'urn:FTOptix:CoreBase' + Module: FTOptix.CoreBase + Version: 2.1 + Nodes: [] diff --git a/Nodes/Alarms/Alarms.yaml b/Nodes/Alarms/Alarms.yaml new file mode 100644 index 0000000..b16d195 --- /dev/null +++ b/Nodes/Alarms/Alarms.yaml @@ -0,0 +1,2 @@ +Name: Alarms +Type: AlarmsCategoryFolder diff --git a/Nodes/CommDrivers/CommDrivers.yaml b/Nodes/CommDrivers/CommDrivers.yaml new file mode 100644 index 0000000..c55e133 --- /dev/null +++ b/Nodes/CommDrivers/CommDrivers.yaml @@ -0,0 +1,2 @@ +Name: CommDrivers +Type: CommDriversCategoryFolder diff --git a/Nodes/Converters/Converters.yaml b/Nodes/Converters/Converters.yaml new file mode 100644 index 0000000..e360124 --- /dev/null +++ b/Nodes/Converters/Converters.yaml @@ -0,0 +1,2 @@ +Name: Converters +Type: ConvertersCategoryFolder diff --git a/Nodes/DataStores/DataStores.yaml b/Nodes/DataStores/DataStores.yaml new file mode 100644 index 0000000..2e4a781 --- /dev/null +++ b/Nodes/DataStores/DataStores.yaml @@ -0,0 +1,2 @@ +Name: DataStores +Type: DataStoresCategoryFolder diff --git a/Nodes/Loggers/Loggers.yaml b/Nodes/Loggers/Loggers.yaml new file mode 100644 index 0000000..ae218e0 --- /dev/null +++ b/Nodes/Loggers/Loggers.yaml @@ -0,0 +1,2 @@ +Name: Loggers +Type: LoggersCategoryFolder diff --git a/Nodes/Model/Model.yaml b/Nodes/Model/Model.yaml new file mode 100644 index 0000000..51c5498 --- /dev/null +++ b/Nodes/Model/Model.yaml @@ -0,0 +1,8 @@ +Name: Model +Type: ModelCategoryFolder +Children: +- Name: Variable1 + Id: g=824091f8a5b770707cb998380e88d254 + Type: BaseDataVariableType + DataType: Double + Value: 15.15648654 diff --git a/Nodes/NestedPlaceholders.yaml b/Nodes/NestedPlaceholders.yaml new file mode 100644 index 0000000..a834e58 --- /dev/null +++ b/Nodes/NestedPlaceholders.yaml @@ -0,0 +1,56 @@ +Name: NestedPlaceholders +Type: ProjectFolder +Children: +- Name: Localization + Type: PropertyGroup + Children: + - Name: Locales + Type: PropertyType + DataType: String + ValueRank: OneDimension + ArrayDimensions: [0] + Value: ["en-US"] + - Name: LocaleFallbackList + Type: PropertyType + DataType: String + ValueRank: OneDimension + ArrayDimensions: [0] + Value: ["en-US"] +- Name: Authentication + Type: PropertyGroup +- Name: PasswordPolicy + Type: PasswordPolicy + Children: + - Name: MaximumPasswordAge + Type: PropertyType + DataType: UInt16 + Value: 0 + - Name: EnforcePasswordHistory + Type: PropertyType + DataType: Byte + Value: 1 + - Name: MinimumPasswordAge + Type: PropertyType + DataType: UInt16 + Value: 0 + - Name: MinimumPasswordLength + Type: PropertyType + DataType: Byte + Value: 8 +- Name: AlarmConfiguration + Type: PropertyGroup +- File: UI/UI.yaml +- File: Model/Model.yaml +- File: Converters/Converters.yaml +- File: Alarms/Alarms.yaml +- File: Recipes/Recipes.yaml +- File: Loggers/Loggers.yaml +- File: DataStores/DataStores.yaml +- File: Reports/Reports.yaml +- File: 'OPC-UA/OPC-UA.yaml' +- File: CommDrivers/CommDrivers.yaml +- File: NetLogic/NetLogic.yaml +- File: Security/Security.yaml +- File: System/System.yaml +- File: Translations/Translations.yaml +- File: Retentivity/Retentivity.yaml diff --git a/Nodes/NetLogic/NetLogic.yaml b/Nodes/NetLogic/NetLogic.yaml new file mode 100644 index 0000000..8587229 --- /dev/null +++ b/Nodes/NetLogic/NetLogic.yaml @@ -0,0 +1,2 @@ +Name: NetLogic +Type: NetLogicCategoryFolder diff --git a/Nodes/OPC-UA/OPC-UA.yaml b/Nodes/OPC-UA/OPC-UA.yaml new file mode 100644 index 0000000..ae80c48 --- /dev/null +++ b/Nodes/OPC-UA/OPC-UA.yaml @@ -0,0 +1,2 @@ +Name: 'OPC-UA' +Type: OPCUACategoryFolder diff --git a/Nodes/Recipes/Recipes.yaml b/Nodes/Recipes/Recipes.yaml new file mode 100644 index 0000000..aa788b4 --- /dev/null +++ b/Nodes/Recipes/Recipes.yaml @@ -0,0 +1,2 @@ +Name: Recipes +Type: RecipesCategoryFolder diff --git a/Nodes/Reports/Reports.yaml b/Nodes/Reports/Reports.yaml new file mode 100644 index 0000000..746fe20 --- /dev/null +++ b/Nodes/Reports/Reports.yaml @@ -0,0 +1,2 @@ +Name: Reports +Type: ReportsCategoryFolder diff --git a/Nodes/Retentivity/Retentivity.yaml b/Nodes/Retentivity/Retentivity.yaml new file mode 100644 index 0000000..fd8de88 --- /dev/null +++ b/Nodes/Retentivity/Retentivity.yaml @@ -0,0 +1,32 @@ +Name: Retentivity +Type: RetentivityCategoryFolder +Children: +- Name: SecurityRetentivityStorage + Type: RetentivityStorage + Children: + - Name: Nodes + Type: BaseObjectType + Children: + - Name: Node1 + Type: NodePointer + DataType: NodeId + Value: {"IdType":2,"Id":"22a91c3662b73e567c7a523af4bc78d4","Namespace":8} + Children: + - Name: Kind + Type: PropertyType + DataType: NodeId + Value: {"IdType":0,"Id":0,"Namespace":-1} + - Name: NodeClass + Type: PropertyType + DataType: NodePointerNodeClass + Value: 2 + - Name: WriteDelay + Type: BaseDataVariableType + DataType: Duration + ReferenceType: HasProperty + Value: "0:00:00:0.0000000" + - Name: DeltaObserverEnabled + Type: BaseDataVariableType + DataType: Boolean + ReferenceType: HasProperty + Value: true diff --git a/Nodes/Security/Groups/Groups.yaml b/Nodes/Security/Groups/Groups.yaml new file mode 100644 index 0000000..aca406b --- /dev/null +++ b/Nodes/Security/Groups/Groups.yaml @@ -0,0 +1,3 @@ +Name: Groups +Id: g=d28aff45ccfd15d5788d61263c5ed45b +Type: GroupsCategoryFolder diff --git a/Nodes/Security/Security.yaml b/Nodes/Security/Security.yaml new file mode 100644 index 0000000..63382ac --- /dev/null +++ b/Nodes/Security/Security.yaml @@ -0,0 +1,6 @@ +Name: Security +Id: g=22a91c3662b73e567c7a523af4bc78d4 +Type: SecurityCategoryFolder +Children: +- File: Users/Users.yaml +- File: Groups/Groups.yaml diff --git a/Nodes/Security/Users/Users.yaml b/Nodes/Security/Users/Users.yaml new file mode 100644 index 0000000..df9ca69 --- /dev/null +++ b/Nodes/Security/Users/Users.yaml @@ -0,0 +1,3 @@ +Name: Users +Id: g=8d7dc2e51f47a5757549ea5d7fd4bc50 +Type: UsersCategoryFolder diff --git a/Nodes/System/System.yaml b/Nodes/System/System.yaml new file mode 100644 index 0000000..7374f1e --- /dev/null +++ b/Nodes/System/System.yaml @@ -0,0 +1,2 @@ +Name: System +Type: SystemCategoryFolder diff --git a/Nodes/Translations/Translations.yaml b/Nodes/Translations/Translations.yaml new file mode 100644 index 0000000..b97243a --- /dev/null +++ b/Nodes/Translations/Translations.yaml @@ -0,0 +1,16 @@ +Name: Translations +Type: TranslationsCategoryFolder +Children: +- Name: LocalizationDictionary1 + Type: LocalizationDictionary + DataType: String + ValueRank: OneOrMoreDimensions + ArrayDimensions: [0,0] + Value: + { + "Type": 12, + "Dimensions": [1,2], + "Body": [ + "","en-US" + ] + } diff --git a/Nodes/UI/Screens/Screens.yaml b/Nodes/UI/Screens/Screens.yaml new file mode 100644 index 0000000..51f4062 --- /dev/null +++ b/Nodes/UI/Screens/Screens.yaml @@ -0,0 +1,2 @@ +Name: Screens +Type: ScreensCategoryFolder diff --git a/Nodes/UI/UI.yaml b/Nodes/UI/UI.yaml new file mode 100644 index 0000000..59509b8 --- /dev/null +++ b/Nodes/UI/UI.yaml @@ -0,0 +1,502 @@ +Name: UI +Type: UICategoryFolder +Children: +- Name: DefaultStyleSheet + Id: g=2b6bb5a5e3076b97be5bb51400e94cde + Type: StyleSheet + Children: + - Name: ButtonStyle + Type: ButtonStyle + - Name: ButtonAccentStyle + Type: ButtonStyle + - Name: DataInputStyle + Type: DataInputStyle + - Name: SwitchStyle + Type: SwitchStyle + - Name: GaugeStyle + Type: GaugeStyle + - Name: NavigationPanelStyle + Type: NavigationPanelStyle + Children: + - Name: IconUsesTextColor + Type: BaseDataVariableType + DataType: Boolean + Value: true + - Name: ChartStyle + Type: ChartStyle + - Name: DataListStyle + Type: DataListStyle + - Name: ToolTipStyle + Type: ToolTipStyle + - Name: ScrollBarStyle + Type: ScrollBarStyle + - Name: AccordionStyle + Type: AccordionStyle + - Name: PieChartStyle + Type: PieChartStyle + - Name: HistogramChartStyle + Type: HistogramChartStyle +- Name: MainWindow + Id: g=6476d5a82e61841ba7736d3a372abd9d + Supertype: Window + Children: + - Name: Width + Type: BaseDataVariableType + DataType: Size + ModellingRule: Optional + Value: 560.0 + - Name: Height + Type: BaseDataVariableType + DataType: Size + ModellingRule: Optional + Value: 480.0 + - Name: Label1 + Type: Label + Children: + - Name: Text + Type: BaseDataVariableType + DataType: LocalizedText + Value: {"NamespaceIndex":-1,"LocaleId":"","Text":""} + Children: + - Name: StringFormatter1 + Type: StringFormatter + Children: + - Name: Format + Type: BaseDataVariableType + DataType: LocalizedText + ReferenceType: HasParameter + ModellingRule: Optional + Value: {"LocaleId":"en-US","Text":"{0:f{1}}"} + - Name: ns=3;Source0 + Type: BaseDataVariableType + DataType: BaseDataType + ReferenceType: HasSource + Children: + - Name: DynamicLink + Type: DynamicLink + DataType: NodePath + Value: "{NodeId:ns=8;g=824091f8-a5b7-7070-7cb9-98380e88d254}" + - Name: ns=3;Source1 + Type: BaseDataVariableType + DataType: BaseDataType + ReferenceType: HasSource + Children: + - Name: DynamicLink + Type: DynamicLink + DataType: NodePath + Value: "../../../../SpinBox1/Value" + - Name: FontSize + Type: BaseDataVariableType + DataType: Size + ModellingRule: Optional + Value: 40.0 + - Name: LeftMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 90.0 + - Name: TopMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 120.0 + - Name: Width + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 390.0 + - Name: SpinBox1 + Type: SpinBox + Children: + - Name: Value + Type: BaseDataVariableType + DataType: Double + Value: 0.0 + - Name: Width + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 160.0 + - Name: Height + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 50.0 + - Name: LeftMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 80.0 + - Name: TopMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 30.0 + - Name: MinValue + Type: BaseDataVariableType + DataType: Double + ModellingRule: Optional + Value: 0.0 + - Name: MaxValue + Type: BaseDataVariableType + DataType: Double + ModellingRule: Optional + Value: 10.0 + - Name: FontSize + Type: BaseDataVariableType + DataType: Size + ModellingRule: Optional + Value: 30.0 + - Name: SpinBox2 + Type: SpinBox + Children: + - Name: Value + Type: BaseDataVariableType + DataType: Double + Value: 0.0 + - Name: Width + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 160.0 + - Name: Height + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 50.0 + - Name: LeftMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 80.0 + - Name: TopMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 200.0 + - Name: MinValue + Type: BaseDataVariableType + DataType: Double + ModellingRule: Optional + Value: -10.0 + - Name: MaxValue + Type: BaseDataVariableType + DataType: Double + ModellingRule: Optional + Value: 10.0 + - Name: FontSize + Type: BaseDataVariableType + DataType: Size + ModellingRule: Optional + Value: 30.0 + - Name: Label2 + Type: Label + Children: + - Name: Text + Type: BaseDataVariableType + DataType: LocalizedText + Value: {"NamespaceIndex":-1,"LocaleId":"","Text":""} + Children: + - Name: StringFormatter1 + Type: StringFormatter + Children: + - Name: Format + Type: BaseDataVariableType + DataType: LocalizedText + ReferenceType: HasParameter + ModellingRule: Optional + Value: {"LocaleId":"en-US","Text":"{0,{2}:f{1}}"} + - Name: ns=3;Source0 + Type: BaseDataVariableType + DataType: BaseDataType + ReferenceType: HasSource + Children: + - Name: DynamicLink + Type: DynamicLink + DataType: NodePath + Value: "{NodeId:ns=8;g=824091f8-a5b7-7070-7cb9-98380e88d254}" + - Name: ns=3;Source1 + Type: BaseDataVariableType + DataType: BaseDataType + ReferenceType: HasSource + Children: + - Name: DynamicLink + Type: DynamicLink + DataType: NodePath + Value: "../../../../SpinBox1/Value" + - Name: ns=3;Source2 + Type: BaseDataVariableType + DataType: BaseDataType + ReferenceType: HasSource + Children: + - Name: DynamicLink + Type: DynamicLink + DataType: NodePath + Value: "../../../../SpinBox2/Value" + - Name: FontSize + Type: BaseDataVariableType + DataType: Size + ModellingRule: Optional + Value: 40.0 + - Name: LeftMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 100.0 + - Name: TopMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 290.0 + - Name: Width + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 390.0 + - Name: Label3 + Type: Label + Children: + - Name: Text + Type: BaseDataVariableType + DataType: LocalizedText + ModellingRule: Optional + Value: {"LocaleId":"en-US","Text":"Decimal points"} + - Name: LeftMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 260.0 + - Name: TopMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 32.0 + - Name: FontSize + Type: BaseDataVariableType + DataType: Size + ModellingRule: Optional + Value: 15.0 + - Name: Label4 + Type: Label + Children: + - Name: Text + Type: BaseDataVariableType + DataType: LocalizedText + ModellingRule: Optional + Value: {"LocaleId":"en-US","Text":"Padding"} + - Name: LeftMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 260.0 + - Name: TopMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 202.0 + - Name: FontSize + Type: BaseDataVariableType + DataType: Size + ModellingRule: Optional + Value: 15.0 + - Name: Label5 + Type: Label + Children: + - Name: Text + Type: BaseDataVariableType + DataType: LocalizedText + ModellingRule: Optional + Value: {"LocaleId":"en-US","Text":"{0,{2}:f{1}}"} + - Name: LeftMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 261.0 + - Name: TopMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 230.0 + - Name: FontItalic + Type: BaseDataVariableType + DataType: Boolean + ModellingRule: Optional + Value: true + - Name: Label6 + Type: Label + Children: + - Name: Text + Type: BaseDataVariableType + DataType: LocalizedText + ModellingRule: Optional + Value: {"LocaleId":"en-US","Text":"{0:f{1}}"} + - Name: LeftMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 260.0 + - Name: TopMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 65.0 + - Name: FontItalic + Type: BaseDataVariableType + DataType: Boolean + ModellingRule: Optional + Value: true + - Name: Label7 + Type: Label + Children: + - Name: Text + Type: BaseDataVariableType + DataType: LocalizedText + ModellingRule: Optional + Value: {"LocaleId":"en-US","Text":"{1}"} + - Name: LeftMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 60.0 + - Name: TopMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 50.0 + - Name: Label8 + Type: Label + Children: + - Name: Text + Type: BaseDataVariableType + DataType: LocalizedText + ModellingRule: Optional + Value: {"LocaleId":"en-US","Text":"{2}"} + - Name: LeftMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 60.0 + - Name: TopMargin + Type: BaseVariableType + DataType: Size + ModellingRule: Optional + Value: 220.0 +- File: Screens/Screens.yaml +- Name: NativePresentationEngine + Type: NativePresentationEngine + Children: + - Name: EnableVirtualKeyboard + Type: BaseDataVariableType + DataType: Boolean + Value: false + - Name: StartWindow + Type: NodePointer + DataType: NodeId + Value: {"IdType":2,"Id":"6476d5a82e61841ba7736d3a372abd9d","Namespace":8} + Children: + - Name: Kind + Type: PropertyType + DataType: NodeId + Value: {"Id":12,"Namespace":4} + - Name: StyleSheet + Type: NodePointer + DataType: NodeId + Value: {"IdType":2,"Id":"2b6bb5a5e3076b97be5bb51400e94cde","Namespace":8} + Children: + - Name: Kind + Type: PropertyType + DataType: NodeId + Value: {"Id":447,"Namespace":4} + - Name: StartingUser + Type: NodePointer + DataType: NodeId + Value: {"Id":46,"Namespace":1} + Children: + - Name: Kind + Type: PropertyType + DataType: NodeId + Value: {"Id":14,"Namespace":1} + - Name: Sessions + Type: BaseObjectType + Children: + - Name: Session1 + Type: UISession + Children: + - Name: IsInteractive + Type: BaseDataVariableType + DataType: Boolean + AccessLevel: Read + Value: true + - Name: IsNative + Type: BaseDataVariableType + DataType: Boolean + AccessLevel: Read + Value: false + - Name: IsWeb + Type: BaseDataVariableType + DataType: Boolean + AccessLevel: Read + Value: false + - Name: User + Type: NodePointer + DataType: NodeId + AccessLevel: Read + Value: {"IdType":0,"Id":0,"Namespace":-1} + Children: + - Name: Kind + Type: PropertyType + DataType: NodeId + Value: {"Id":14,"Namespace":1} + - Name: ActualLocaleId + Type: BaseVariableType + DataType: LocaleId + ReferenceType: HasProperty + Value: "" + - Name: ActualLanguage + Type: BaseVariableType + DataType: LocaleId + ReferenceType: HasProperty + Value: "" + - Name: ActualMeasurementSystem + Type: BaseVariableType + DataType: MeasurementSystem + ReferenceType: HasProperty + Value: 0 + - Name: TimeZoneOffset + Type: BaseVariableType + DataType: TimeZoneDataType + ReferenceType: HasProperty + AccessLevel: Read + Value: + { + "TypeId": { + "Id": 8912 + }, + "Body": { + "offset": 0, + "daylightSavingInOffset": false + } + } + - Name: Groups + Type: BaseObjectType + - Name: Roles + Type: BaseObjectType + - Name: Rights + Type: BaseObjectType + - Class: Reference + Target: ns=1;i=146 + Direction: Forward + - Class: Reference + Target: ns=1;i=266 + Direction: Forward + - Class: Reference + Target: ns=1;i=269 + Direction: Forward + - Class: Reference + Target: ns=1;i=272 + Direction: Forward + - Name: LoggedIn + Type: BaseVariableType + DataType: Boolean + AccessLevel: Read + Value: false diff --git a/README.md b/README.md new file mode 100644 index 0000000..b009e77 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Nested Placeholders + +Demonstrates how to nest placehodlers in Advanced DynamicLinks