diff --git a/ASN/Goedel.Tool.ASN/AssemblyVersion.cs b/ASN/Goedel.Tool.ASN/AssemblyVersion.cs
index a2c18bdc0..e6c8b1ae1 100644
--- a/ASN/Goedel.Tool.ASN/AssemblyVersion.cs
+++ b/ASN/Goedel.Tool.ASN/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.74")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.74")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.76")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.76")]
diff --git a/ASN/Goedel.Tool.ASN/version.version b/ASN/Goedel.Tool.ASN/version.version
index 9102db4a9..b43032165 100644
--- a/ASN/Goedel.Tool.ASN/version.version
+++ b/ASN/Goedel.Tool.ASN/version.version
@@ -1,2 +1,2 @@
-0.0.0.74
-0.0.0.74
+0.0.0.76
+0.0.0.76
diff --git a/ASN/asn2/ASN2.cs b/ASN/asn2/ASN2.cs
index 07baf445f..a45394237 100644
--- a/ASN/asn2/ASN2.cs
+++ b/ASN/asn2/ASN2.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:38:11 PM
+// This file was automatically generated at 19-Jun-23 3:14:55 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/ASN/asn2/AssemblyVersion.cs b/ASN/asn2/AssemblyVersion.cs
index da913e32a..f5e0834cd 100644
--- a/ASN/asn2/AssemblyVersion.cs
+++ b/ASN/asn2/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.946")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.946")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.948")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.948")]
diff --git a/ASN/asn2/version.version b/ASN/asn2/version.version
index 4087f97ab..637ec9f88 100644
--- a/ASN/asn2/version.version
+++ b/ASN/asn2/version.version
@@ -1,2 +1,2 @@
-3.0.0.946
-3.0.0.946
+3.0.0.948
+3.0.0.948
diff --git a/Command/CommandEcho/AssemblyVersion.cs b/Command/CommandEcho/AssemblyVersion.cs
index ddf5f222c..9f215d0d3 100644
--- a/Command/CommandEcho/AssemblyVersion.cs
+++ b/Command/CommandEcho/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.584")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.584")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.586")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.586")]
diff --git a/Command/CommandEcho/Command.cs b/Command/CommandEcho/Command.cs
index 3c34dd022..e5cc0f654 100644
--- a/Command/CommandEcho/Command.cs
+++ b/Command/CommandEcho/Command.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:38:11 PM
+// This file was automatically generated at 19-Jun-23 3:14:54 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/Command/CommandEcho/version.version b/Command/CommandEcho/version.version
index 52d35d3c3..9a57770df 100644
--- a/Command/CommandEcho/version.version
+++ b/Command/CommandEcho/version.version
@@ -1,2 +1,2 @@
-3.0.0.584
-3.0.0.584
+3.0.0.586
+3.0.0.586
diff --git a/Command/Goedel.Tool.Command/AssemblyVersion.cs b/Command/Goedel.Tool.Command/AssemblyVersion.cs
index a2c18bdc0..e6c8b1ae1 100644
--- a/Command/Goedel.Tool.Command/AssemblyVersion.cs
+++ b/Command/Goedel.Tool.Command/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.74")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.74")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.76")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.76")]
diff --git a/Command/Goedel.Tool.Command/Exceptions.cs b/Command/Goedel.Tool.Command/Exceptions.cs
index e3174dfd3..414ba773b 100644
--- a/Command/Goedel.Tool.Command/Exceptions.cs
+++ b/Command/Goedel.Tool.Command/Exceptions.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:38:01 PM
+// This file was automatically generated at 19-Jun-23 3:14:44 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/Command/Goedel.Tool.Command/Generate.cs b/Command/Goedel.Tool.Command/Generate.cs
index 3dac43bce..f4fe39ad3 100644
--- a/Command/Goedel.Tool.Command/Generate.cs
+++ b/Command/Goedel.Tool.Command/Generate.cs
@@ -21,6 +21,7 @@
// THE SOFTWARE.
//
//
+using Goedel.Utilities;
using System;
using System.IO;
using System.Collections.Generic;
diff --git a/Command/Goedel.Tool.Command/Generate.script b/Command/Goedel.Tool.Command/Generate.script
index a13a4c434..ae63fdae5 100644
--- a/Command/Goedel.Tool.Command/Generate.script
+++ b/Command/Goedel.Tool.Command/Generate.script
@@ -1,5 +1,6 @@
#script 1.0
#license MITLicense
+#using Goedel.Utilities
#xclass Goedel.Tool.Command GenerateCS
#!
#! To Do list:
diff --git a/Command/Goedel.Tool.Command/version.version b/Command/Goedel.Tool.Command/version.version
index 9102db4a9..b43032165 100644
--- a/Command/Goedel.Tool.Command/version.version
+++ b/Command/Goedel.Tool.Command/version.version
@@ -1,2 +1,2 @@
-0.0.0.74
-0.0.0.74
+0.0.0.76
+0.0.0.76
diff --git a/Command/commandparse/AssemblyVersion.cs b/Command/commandparse/AssemblyVersion.cs
index 3a96c4f4e..7d344ec69 100644
--- a/Command/commandparse/AssemblyVersion.cs
+++ b/Command/commandparse/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.961")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.961")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.963")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.963")]
diff --git a/Command/commandparse/Command.cs b/Command/commandparse/Command.cs
index cc0614d20..03215120c 100644
--- a/Command/commandparse/Command.cs
+++ b/Command/commandparse/Command.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:38:07 PM
+// This file was automatically generated at 19-Jun-23 3:14:52 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/Command/commandparse/version.version b/Command/commandparse/version.version
index 36bef1124..7db0d7a89 100644
--- a/Command/commandparse/version.version
+++ b/Command/commandparse/version.version
@@ -1,2 +1,2 @@
-3.0.0.961
-3.0.0.961
+3.0.0.963
+3.0.0.963
diff --git a/Constant/Goedel.Tool.Constant/AssemblyVersion.cs b/Constant/Goedel.Tool.Constant/AssemblyVersion.cs
index a2c18bdc0..e6c8b1ae1 100644
--- a/Constant/Goedel.Tool.Constant/AssemblyVersion.cs
+++ b/Constant/Goedel.Tool.Constant/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.74")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.74")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.76")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.76")]
diff --git a/Constant/Goedel.Tool.Constant/version.version b/Constant/Goedel.Tool.Constant/version.version
index 9102db4a9..b43032165 100644
--- a/Constant/Goedel.Tool.Constant/version.version
+++ b/Constant/Goedel.Tool.Constant/version.version
@@ -1,2 +1,2 @@
-0.0.0.74
-0.0.0.74
+0.0.0.76
+0.0.0.76
diff --git a/Constant/constant/AssemblyVersion.cs b/Constant/constant/AssemblyVersion.cs
index 08893293f..cbf308815 100644
--- a/Constant/constant/AssemblyVersion.cs
+++ b/Constant/constant/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.1027")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.1027")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.1029")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.1029")]
diff --git a/Constant/constant/Constant.cs b/Constant/constant/Constant.cs
index 411ba4e74..af860b199 100644
--- a/Constant/constant/Constant.cs
+++ b/Constant/constant/Constant.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:38:12 PM
+// This file was automatically generated at 19-Jun-23 3:14:56 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/Constant/constant/version.version b/Constant/constant/version.version
index c345a404e..209f4ef2c 100644
--- a/Constant/constant/version.version
+++ b/Constant/constant/version.version
@@ -1,2 +1,2 @@
-3.0.0.1027
-3.0.0.1027
+3.0.0.1029
+3.0.0.1029
diff --git a/DNSConfig/Goedel.Tool.DNSConfig/AssemblyVersion.cs b/DNSConfig/Goedel.Tool.DNSConfig/AssemblyVersion.cs
index 0e592897d..9d8050002 100644
--- a/DNSConfig/Goedel.Tool.DNSConfig/AssemblyVersion.cs
+++ b/DNSConfig/Goedel.Tool.DNSConfig/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.75")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.75")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.77")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.77")]
diff --git a/DNSConfig/Goedel.Tool.DNSConfig/version.version b/DNSConfig/Goedel.Tool.DNSConfig/version.version
index 70aca9c6b..b712bc187 100644
--- a/DNSConfig/Goedel.Tool.DNSConfig/version.version
+++ b/DNSConfig/Goedel.Tool.DNSConfig/version.version
@@ -1,2 +1,2 @@
-0.0.0.75
-0.0.0.75
+0.0.0.77
+0.0.0.77
diff --git a/DNSConfig/srvconf/AssemblyVersion.cs b/DNSConfig/srvconf/AssemblyVersion.cs
index 0fc68c73f..42d3dddfe 100644
--- a/DNSConfig/srvconf/AssemblyVersion.cs
+++ b/DNSConfig/srvconf/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.622")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.622")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.624")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.624")]
diff --git a/DNSConfig/srvconf/DNSConfig.cs b/DNSConfig/srvconf/DNSConfig.cs
index 9ca213fe3..d388e2bea 100644
--- a/DNSConfig/srvconf/DNSConfig.cs
+++ b/DNSConfig/srvconf/DNSConfig.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:38:07 PM
+// This file was automatically generated at 19-Jun-23 3:14:51 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/DNSConfig/srvconf/version.version b/DNSConfig/srvconf/version.version
index 48a0e4942..89a678cfc 100644
--- a/DNSConfig/srvconf/version.version
+++ b/DNSConfig/srvconf/version.version
@@ -1,2 +1,2 @@
-3.0.0.622
-3.0.0.622
+3.0.0.624
+3.0.0.624
diff --git a/DocTools/Goedel.Document.Markdown/AssemblyVersion.cs b/DocTools/Goedel.Document.Markdown/AssemblyVersion.cs
index 909abaa6a..52901c0f3 100644
--- a/DocTools/Goedel.Document.Markdown/AssemblyVersion.cs
+++ b/DocTools/Goedel.Document.Markdown/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.100")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.100")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.102")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.102")]
diff --git a/DocTools/Goedel.Document.Markdown/MarkDown.cs b/DocTools/Goedel.Document.Markdown/MarkDown.cs
index ded58b600..eb425e912 100644
--- a/DocTools/Goedel.Document.Markdown/MarkDown.cs
+++ b/DocTools/Goedel.Document.Markdown/MarkDown.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:37:59 PM
+// This file was automatically generated at 19-Jun-23 3:14:40 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/DocTools/Goedel.Document.Markdown/MarkParagraph.cs b/DocTools/Goedel.Document.Markdown/MarkParagraph.cs
index 6ecc1a9f4..8a4df5bab 100644
--- a/DocTools/Goedel.Document.Markdown/MarkParagraph.cs
+++ b/DocTools/Goedel.Document.Markdown/MarkParagraph.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:37:59 PM
+// This file was automatically generated at 19-Jun-23 3:14:40 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/DocTools/Goedel.Document.Markdown/MarkWordParagraph.cs b/DocTools/Goedel.Document.Markdown/MarkWordParagraph.cs
index d2f6989ff..0061abd6e 100644
--- a/DocTools/Goedel.Document.Markdown/MarkWordParagraph.cs
+++ b/DocTools/Goedel.Document.Markdown/MarkWordParagraph.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:37:59 PM
+// This file was automatically generated at 19-Jun-23 3:14:41 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/DocTools/Goedel.Document.Markdown/version.version b/DocTools/Goedel.Document.Markdown/version.version
index d0e2e431e..22e876a7f 100644
--- a/DocTools/Goedel.Document.Markdown/version.version
+++ b/DocTools/Goedel.Document.Markdown/version.version
@@ -1,2 +1,2 @@
-0.0.0.100
-0.0.0.100
+0.0.0.102
+0.0.0.102
diff --git a/DocTools/Goedel.Document.OpenXML/AssemblyVersion.cs b/DocTools/Goedel.Document.OpenXML/AssemblyVersion.cs
index 909abaa6a..52901c0f3 100644
--- a/DocTools/Goedel.Document.OpenXML/AssemblyVersion.cs
+++ b/DocTools/Goedel.Document.OpenXML/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.100")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.100")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.102")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.102")]
diff --git a/DocTools/Goedel.Document.OpenXML/version.version b/DocTools/Goedel.Document.OpenXML/version.version
index d0e2e431e..22e876a7f 100644
--- a/DocTools/Goedel.Document.OpenXML/version.version
+++ b/DocTools/Goedel.Document.OpenXML/version.version
@@ -1,2 +1,2 @@
-0.0.0.100
-0.0.0.100
+0.0.0.102
+0.0.0.102
diff --git a/DocTools/Goedel.Document.RFC/AssemblyVersion.cs b/DocTools/Goedel.Document.RFC/AssemblyVersion.cs
index 909abaa6a..52901c0f3 100644
--- a/DocTools/Goedel.Document.RFC/AssemblyVersion.cs
+++ b/DocTools/Goedel.Document.RFC/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.100")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.100")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.102")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.102")]
diff --git a/DocTools/Goedel.Document.RFC/Exceptions.cs b/DocTools/Goedel.Document.RFC/Exceptions.cs
index 1c6eab01f..6108d8c88 100644
--- a/DocTools/Goedel.Document.RFC/Exceptions.cs
+++ b/DocTools/Goedel.Document.RFC/Exceptions.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:38:13 PM
+// This file was automatically generated at 19-Jun-23 3:14:55 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/DocTools/Goedel.Document.RFC/version.version b/DocTools/Goedel.Document.RFC/version.version
index d0e2e431e..22e876a7f 100644
--- a/DocTools/Goedel.Document.RFC/version.version
+++ b/DocTools/Goedel.Document.RFC/version.version
@@ -1,2 +1,2 @@
-0.0.0.100
-0.0.0.100
+0.0.0.102
+0.0.0.102
diff --git a/DocTools/Goedel.Document.RFCConvert/AssemblyVersion.cs b/DocTools/Goedel.Document.RFCConvert/AssemblyVersion.cs
index 909abaa6a..52901c0f3 100644
--- a/DocTools/Goedel.Document.RFCConvert/AssemblyVersion.cs
+++ b/DocTools/Goedel.Document.RFCConvert/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.100")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.100")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.102")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.102")]
diff --git a/DocTools/Goedel.Document.RFCConvert/version.version b/DocTools/Goedel.Document.RFCConvert/version.version
index d0e2e431e..22e876a7f 100644
--- a/DocTools/Goedel.Document.RFCConvert/version.version
+++ b/DocTools/Goedel.Document.RFCConvert/version.version
@@ -1,2 +1,2 @@
-0.0.0.100
-0.0.0.100
+0.0.0.102
+0.0.0.102
diff --git a/DocTools/Goedel.Document.RFCSVG/AssemblyVersion.cs b/DocTools/Goedel.Document.RFCSVG/AssemblyVersion.cs
index 909abaa6a..52901c0f3 100644
--- a/DocTools/Goedel.Document.RFCSVG/AssemblyVersion.cs
+++ b/DocTools/Goedel.Document.RFCSVG/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.100")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.100")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.102")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.102")]
diff --git a/DocTools/Goedel.Document.RFCSVG/ReadStyle.cs b/DocTools/Goedel.Document.RFCSVG/ReadStyle.cs
index 037f4aa50..47e93c7c5 100644
--- a/DocTools/Goedel.Document.RFCSVG/ReadStyle.cs
+++ b/DocTools/Goedel.Document.RFCSVG/ReadStyle.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:38:10 PM
+// This file was automatically generated at 19-Jun-23 3:14:51 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/DocTools/Goedel.Document.RFCSVG/version.version b/DocTools/Goedel.Document.RFCSVG/version.version
index d0e2e431e..22e876a7f 100644
--- a/DocTools/Goedel.Document.RFCSVG/version.version
+++ b/DocTools/Goedel.Document.RFCSVG/version.version
@@ -1,2 +1,2 @@
-0.0.0.100
-0.0.0.100
+0.0.0.102
+0.0.0.102
diff --git a/DocTools/bootmaker/AssemblyVersion.cs b/DocTools/bootmaker/AssemblyVersion.cs
index 5bd099e56..852efaddd 100644
--- a/DocTools/bootmaker/AssemblyVersion.cs
+++ b/DocTools/bootmaker/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.960")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.960")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.962")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.962")]
diff --git a/DocTools/bootmaker/Main.cs b/DocTools/bootmaker/Main.cs
index be46a9a10..03fb5b7ed 100644
--- a/DocTools/bootmaker/Main.cs
+++ b/DocTools/bootmaker/Main.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:38:18 PM
+// This file was automatically generated at 19-Jun-23 3:15:03 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/DocTools/bootmaker/version.version b/DocTools/bootmaker/version.version
index 147a8bab5..6ebdc5a9e 100644
--- a/DocTools/bootmaker/version.version
+++ b/DocTools/bootmaker/version.version
@@ -1,2 +1,2 @@
-3.0.0.960
-3.0.0.960
+3.0.0.962
+3.0.0.962
diff --git a/DocTools/rfctool/AssemblyVersion.cs b/DocTools/rfctool/AssemblyVersion.cs
index a559261c3..81f6c739b 100644
--- a/DocTools/rfctool/AssemblyVersion.cs
+++ b/DocTools/rfctool/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.1160")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.1160")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.1162")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.1162")]
diff --git a/DocTools/rfctool/main.cs b/DocTools/rfctool/main.cs
index f984a025e..f27928667 100644
--- a/DocTools/rfctool/main.cs
+++ b/DocTools/rfctool/main.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:38:18 PM
+// This file was automatically generated at 19-Jun-23 3:15:03 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/DocTools/rfctool/version.version b/DocTools/rfctool/version.version
index 258902f78..c70b2adeb 100644
--- a/DocTools/rfctool/version.version
+++ b/DocTools/rfctool/version.version
@@ -1,2 +1,2 @@
-3.0.0.1160
-3.0.0.1160
+3.0.0.1162
+3.0.0.1162
diff --git a/Domainer/Goedel.Tool.Domainer/AssemblyVersion.cs b/Domainer/Goedel.Tool.Domainer/AssemblyVersion.cs
index a2c18bdc0..e6c8b1ae1 100644
--- a/Domainer/Goedel.Tool.Domainer/AssemblyVersion.cs
+++ b/Domainer/Goedel.Tool.Domainer/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.74")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.74")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.76")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.76")]
diff --git a/Domainer/Goedel.Tool.Domainer/version.version b/Domainer/Goedel.Tool.Domainer/version.version
index 9102db4a9..b43032165 100644
--- a/Domainer/Goedel.Tool.Domainer/version.version
+++ b/Domainer/Goedel.Tool.Domainer/version.version
@@ -1,2 +1,2 @@
-0.0.0.74
-0.0.0.74
+0.0.0.76
+0.0.0.76
diff --git a/Domainer/domainer/AssemblyVersion.cs b/Domainer/domainer/AssemblyVersion.cs
index ec7d80657..fb6e54f1d 100644
--- a/Domainer/domainer/AssemblyVersion.cs
+++ b/Domainer/domainer/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.932")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.932")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.934")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.934")]
diff --git a/Domainer/domainer/version.version b/Domainer/domainer/version.version
index 4d08e4ad5..8634a234b 100644
--- a/Domainer/domainer/version.version
+++ b/Domainer/domainer/version.version
@@ -1,2 +1,2 @@
-3.0.0.932
-3.0.0.932
+3.0.0.934
+3.0.0.934
diff --git a/Exceptional/Exceptional/AssemblyVersion.cs b/Exceptional/Exceptional/AssemblyVersion.cs
index bf020f6fc..f717cdeb1 100644
--- a/Exceptional/Exceptional/AssemblyVersion.cs
+++ b/Exceptional/Exceptional/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.949")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.949")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.951")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.951")]
diff --git a/Exceptional/Exceptional/Exceptional.cs b/Exceptional/Exceptional/Exceptional.cs
index 828790b1b..ecd84d119 100644
--- a/Exceptional/Exceptional/Exceptional.cs
+++ b/Exceptional/Exceptional/Exceptional.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:38:07 PM
+// This file was automatically generated at 19-Jun-23 3:14:51 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/Exceptional/Exceptional/version.version b/Exceptional/Exceptional/version.version
index 3f86ac4ad..e97253724 100644
--- a/Exceptional/Exceptional/version.version
+++ b/Exceptional/Exceptional/version.version
@@ -1,2 +1,2 @@
-3.0.0.949
-3.0.0.949
+3.0.0.951
+3.0.0.951
diff --git a/Exceptional/Goedel.Tool.Exceptional/AssemblyVersion.cs b/Exceptional/Goedel.Tool.Exceptional/AssemblyVersion.cs
index a2c18bdc0..e6c8b1ae1 100644
--- a/Exceptional/Goedel.Tool.Exceptional/AssemblyVersion.cs
+++ b/Exceptional/Goedel.Tool.Exceptional/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.74")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.74")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.76")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.76")]
diff --git a/Exceptional/Goedel.Tool.Exceptional/version.version b/Exceptional/Goedel.Tool.Exceptional/version.version
index 9102db4a9..b43032165 100644
--- a/Exceptional/Goedel.Tool.Exceptional/version.version
+++ b/Exceptional/Goedel.Tool.Exceptional/version.version
@@ -1,2 +1,2 @@
-0.0.0.74
-0.0.0.74
+0.0.0.76
+0.0.0.76
diff --git a/FSRGen/Goedel.Tool.FSRGen/AssemblyVersion.cs b/FSRGen/Goedel.Tool.FSRGen/AssemblyVersion.cs
index a2c18bdc0..e6c8b1ae1 100644
--- a/FSRGen/Goedel.Tool.FSRGen/AssemblyVersion.cs
+++ b/FSRGen/Goedel.Tool.FSRGen/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.74")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.74")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.76")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.76")]
diff --git a/FSRGen/Goedel.Tool.FSRGen/version.version b/FSRGen/Goedel.Tool.FSRGen/version.version
index 9102db4a9..b43032165 100644
--- a/FSRGen/Goedel.Tool.FSRGen/version.version
+++ b/FSRGen/Goedel.Tool.FSRGen/version.version
@@ -1,2 +1,2 @@
-0.0.0.74
-0.0.0.74
+0.0.0.76
+0.0.0.76
diff --git a/FSRGen/fsrgen/AssemblyVersion.cs b/FSRGen/fsrgen/AssemblyVersion.cs
index 77cbb51b1..bf020f6fc 100644
--- a/FSRGen/fsrgen/AssemblyVersion.cs
+++ b/FSRGen/fsrgen/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.947")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.947")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.949")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.949")]
diff --git a/FSRGen/fsrgen/FSRGen.cs b/FSRGen/fsrgen/FSRGen.cs
index 6923dfdc5..1c42d7cb3 100644
--- a/FSRGen/fsrgen/FSRGen.cs
+++ b/FSRGen/fsrgen/FSRGen.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:38:07 PM
+// This file was automatically generated at 19-Jun-23 3:14:54 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/FSRGen/fsrgen/version.version b/FSRGen/fsrgen/version.version
index 7ec399228..3f86ac4ad 100644
--- a/FSRGen/fsrgen/version.version
+++ b/FSRGen/fsrgen/version.version
@@ -1,2 +1,2 @@
-3.0.0.947
-3.0.0.947
+3.0.0.949
+3.0.0.949
diff --git a/GScript/Goedel.Tool.Script/AssemblyVersion.cs b/GScript/Goedel.Tool.Script/AssemblyVersion.cs
index a2c18bdc0..e6c8b1ae1 100644
--- a/GScript/Goedel.Tool.Script/AssemblyVersion.cs
+++ b/GScript/Goedel.Tool.Script/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.74")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.74")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.76")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.76")]
diff --git a/GScript/Goedel.Tool.Script/version.version b/GScript/Goedel.Tool.Script/version.version
index 9102db4a9..b43032165 100644
--- a/GScript/Goedel.Tool.Script/version.version
+++ b/GScript/Goedel.Tool.Script/version.version
@@ -1,2 +1,2 @@
-0.0.0.74
-0.0.0.74
+0.0.0.76
+0.0.0.76
diff --git a/GScript/gscript/AssemblyVersion.cs b/GScript/gscript/AssemblyVersion.cs
index 3a96c4f4e..7d344ec69 100644
--- a/GScript/gscript/AssemblyVersion.cs
+++ b/GScript/gscript/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.961")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.961")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.963")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.963")]
diff --git a/GScript/gscript/Goedel.cs b/GScript/gscript/Goedel.cs
index 34a6f88b2..d21fdc284 100644
--- a/GScript/gscript/Goedel.cs
+++ b/GScript/gscript/Goedel.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:37:55 PM
+// This file was automatically generated at 19-Jun-23 3:14:32 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/GScript/gscript/version.version b/GScript/gscript/version.version
index 36bef1124..7db0d7a89 100644
--- a/GScript/gscript/version.version
+++ b/GScript/gscript/version.version
@@ -1,2 +1,2 @@
-3.0.0.961
-3.0.0.961
+3.0.0.963
+3.0.0.963
diff --git a/Goedel3/Goedel.Tool.Schema/AssemblyVersion.cs b/Goedel3/Goedel.Tool.Schema/AssemblyVersion.cs
index a2c18bdc0..e6c8b1ae1 100644
--- a/Goedel3/Goedel.Tool.Schema/AssemblyVersion.cs
+++ b/Goedel3/Goedel.Tool.Schema/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.74")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.74")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.76")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.76")]
diff --git a/Goedel3/Goedel.Tool.Schema/Exceptions.cs b/Goedel3/Goedel.Tool.Schema/Exceptions.cs
index 100a436e9..be7608856 100644
--- a/Goedel3/Goedel.Tool.Schema/Exceptions.cs
+++ b/Goedel3/Goedel.Tool.Schema/Exceptions.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:37:51 PM
+// This file was automatically generated at 19-Jun-23 3:14:27 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/Goedel3/Goedel.Tool.Schema/version.version b/Goedel3/Goedel.Tool.Schema/version.version
index 9102db4a9..b43032165 100644
--- a/Goedel3/Goedel.Tool.Schema/version.version
+++ b/Goedel3/Goedel.Tool.Schema/version.version
@@ -1,2 +1,2 @@
-0.0.0.74
-0.0.0.74
+0.0.0.76
+0.0.0.76
diff --git a/Goedel3/goedel3/AssemblyVersion.cs b/Goedel3/goedel3/AssemblyVersion.cs
index 17f3874e7..6b3a2be34 100644
--- a/Goedel3/goedel3/AssemblyVersion.cs
+++ b/Goedel3/goedel3/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.941")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.941")]
+[assembly: System.Reflection.AssemblyVersionAttribute("3.0.0.943")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("3.0.0.943")]
diff --git a/Goedel3/goedel3/Commands.cs b/Goedel3/goedel3/Commands.cs
index 70ca2d0a6..3b06c129d 100644
--- a/Goedel3/goedel3/Commands.cs
+++ b/Goedel3/goedel3/Commands.cs
@@ -1,5 +1,5 @@
-// This file was automatically generated at 23-May-23 6:37:55 PM
+// This file was automatically generated at 19-Jun-23 3:14:32 PM
//
// Changes to this file may be overwritten without warning
//
diff --git a/Goedel3/goedel3/version.version b/Goedel3/goedel3/version.version
index 52ea05c03..8c79c227a 100644
--- a/Goedel3/goedel3/version.version
+++ b/Goedel3/goedel3/version.version
@@ -1,2 +1,2 @@
-3.0.0.941
-3.0.0.941
+3.0.0.943
+3.0.0.943
diff --git a/Guigen/Goedel.Tool.Guigen/AssemblyVersion.cs b/Guigen/Goedel.Tool.Guigen/AssemblyVersion.cs
index 9e2d1225c..e415f839b 100644
--- a/Guigen/Goedel.Tool.Guigen/AssemblyVersion.cs
+++ b/Guigen/Goedel.Tool.Guigen/AssemblyVersion.cs
@@ -1,4 +1,4 @@
// These values are automatically generated from version.version
-[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.236")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.236")]
+[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.313")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.313")]
diff --git a/Guigen/Goedel.Tool.Guigen/Generate.Script b/Guigen/Goedel.Tool.Guigen/Generate.Script
index 9e22c5643..fa063da12 100644
--- a/Guigen/Goedel.Tool.Guigen/Generate.Script
+++ b/Guigen/Goedel.Tool.Guigen/Generate.Script
@@ -36,6 +36,51 @@ using Goedel.Utilities;
namespace #{Guigen.Class.Namespace};
+#foreach (var section in Guigen.Sections)
+///
+/// Callback parameters for section #{section.Id.Label}
+///
+public partial class #{section.Id.Label} : _#{section.Id.Label} {
+ }
+
+///
+/// Callback parameters for section #{section.Id.Label}
+///
+public partial class _#{section.Id.Label} : IBindable {
+
+#call DeclareFields section
+
+ public GuiBinding Binding => BaseBinding;
+ public static GuiBinding BaseBinding = new GuiBinding (new GuiBoundProperty[] {#!
+#call CreateBindings section
+
+ }
+
+#end foreach
+
+
+#foreach (var dialog in Guigen.Dialogs)
+///
+/// Callback parameters for dialog #{dialog.Id.Label}
+///
+public partial class #{dialog.Id.Label} : _#{dialog.Id.Label} {
+ }
+
+///
+/// Callback parameters for section #{dialog.Id.Label}
+///
+public partial class _#{dialog.Id.Label} : IBindable {
+
+#call DeclareFields dialog
+
+ public GuiBinding Binding => BaseBinding;
+ public static GuiBinding BaseBinding = new GuiBinding (new GuiBoundProperty[] {#!
+#call CreateBindings dialog
+
+ }
+
+#end foreach
+
#foreach (var action in Guigen.Actions)
@@ -49,10 +94,12 @@ public partial class #{action.Id.Label} : _#{action.Id.Label} {
///
/// Callback parameters for action #{action.Id.Label}
///
-public partial class _#{action.Id.Label} : IBindable {
+public partial class _#{action.Id.Label} : IParameter {
#call DeclareFields action
+ public GuiBinding Binding => BaseBinding;
+ public static GuiBinding BaseBinding = new GuiBinding (new GuiBoundProperty[] {#!
#call CreateBindings action
public virtual bool Validate() => true;
@@ -126,7 +173,7 @@ public class _#{Guigen.Class.Name} : Gui {
#foreach (var section in Guigen.Sections)
- #{section.RecordId}.Entries = new List() { #!
+ #{section.RecordId}.Entries = new () { #!
#% separator.Reset ();
#foreach (var entry in section.Entries)
#if (entry.Active)
@@ -149,8 +196,8 @@ public class _#{Guigen.Class.Name} : Gui {
};
#foreach (var action in Guigen.Actions)
- #{action.RecordId}.Callback = #{action.Id.Label};
- #{action.RecordId}.Entries = new List() {#!
+ #{action.RecordId}.Callback = (x) => (#{action.Id.Label} (x as #{action.Id.Label}) as IResult);
+ #{action.RecordId}.Entries = new () {#!
#% separator.Reset ();
#foreach (var entry in action.Entries)
#{separator}
@@ -161,7 +208,7 @@ public class _#{Guigen.Class.Name} : Gui {
#end foreach
- Actions = new List() { #!
+ Actions = new List() { #!
#% separator.Reset ();
#foreach (var action in Guigen.Actions)
#{separator}
@@ -172,7 +219,7 @@ public class _#{Guigen.Class.Name} : Gui {
#foreach (var dialog in Guigen.Dialogs)
- #{dialog.RecordId}.Entries = new List() {#!
+ #{dialog.RecordId}.Entries = new () {#!
#% separator.Reset ();
#foreach (var entry in dialog.Entries)
#{separator}
@@ -198,16 +245,16 @@ public class _#{Guigen.Class.Name} : Gui {
///
/// GUI action
///
- public virtual void #{action.Id.Label} (object data) => NotYetImplemented ();
+ public virtual IResult #{action.Id.Label} (#{action.Id.Label} data) => throw new NYI();
#end foreach
-
- ///
- /// Default action
- ///
- void NotYetImplemented () {
- }
+#foreach (var binding in Guigen.Bindings)
+ ///
+ public static GuiBinding #{binding.RecordId} = new GuiBinding (new GuiBoundProperty[] {#!
+#call CreateBindings binding
+#end foreach
+
}
@@ -218,26 +265,29 @@ public class _#{Guigen.Class.Name} : Gui {
#method DeclareFields IEntries parent
#foreach (var entry in parent.AllEntries)
-#switchcast GuigenType entry
-#casecast Text text
+#if entry.BindingType != null
+ ///#{entry.Summary}
+ public virtual #{entry.BackerType} #{entry.IdLabel} { get;#{entry.Readonly.If("", " set;") }}
- ///
- public string #{text.Id.Label} {get; set;}
-#end switchcast
+#end if
#end foreach
#end method
#method CreateBindings IEntries parent
#% var separator = new Separator (",");
#% var index = 0;
- public GuiBinding Binding => new GuiBinding (new GuiBoundProperty[] { #!
#foreach (var entry in parent.AllEntries)
-#switchcast GuigenType entry
-#casecast Text text
-#% text.Index = index++;
+#if entry.BindingType != null
+#% entry.Index = index++;
#{separator}
- new GuiBoundPropertyString (() => #{text.Id.Label}, (string value) => #{text.Id.Label} = value)#!
-#end switchcast
+ new #{entry.BindingType} ((IBindable data) => (data as #{parent.IdLabelBase}).#{entry.IdLabel}, #!
+#if (entry.Readonly)
+null#!
+#else
+(IBindable data,#{entry.BackerType} value) => (data as #{parent.IdLabelBase}).#{entry.IdLabel} = value#!
+#end if
+)#!
+#end if
#end foreach
});
@@ -261,12 +311,14 @@ public class _#{Guigen.Class.Name} : Gui {
#call GenerateDecimal decimalv
#casecast Icon icon
#call GenerateIcon icon
+#casecast View view
+#call GenerateView view
#end switchcast
#end method
#method GenerateChooser Chooser chooser
#% var separator = new Separator (",");
- new GuiChooser (#{chooser.QuotedId}, #{chooser.Prompt.Quoted()}, #{chooser.Icon.Quoted()}, new List() {#!
+ new GuiChooser (#{chooser.QuotedId}, #{chooser.Prompt.Quoted()}, #{chooser.Icon.Quoted()}, #{chooser.Index}, new () {#!
#indent
#% separator.Reset ();
#foreach (var entry in chooser.Entries)
@@ -280,7 +332,7 @@ public class _#{Guigen.Class.Name} : Gui {
#method GenerateDialog Dialog dialog
#% var separator = new Separator (",");
- new GuiDialog (#{dialog.QuotedId}, new List() {#!
+ new GuiDialog (#{dialog.QuotedId}, new () {#!
#indent
#% separator.Reset ();
#foreach (var entry in dialog.Entries)
@@ -318,7 +370,9 @@ public class _#{Guigen.Class.Name} : Gui {
#end method
-
+#method GenerateView View view
+ new GuiView (#{view.RecordId})#!
+#end method
#method GenerateResx Guigen Guigen
diff --git a/Guigen/Goedel.Tool.Guigen/Generate.cs b/Guigen/Goedel.Tool.Guigen/Generate.cs
index 4d242f28a..d27849a1e 100644
--- a/Guigen/Goedel.Tool.Guigen/Generate.cs
+++ b/Guigen/Goedel.Tool.Guigen/Generate.cs
@@ -81,6 +81,51 @@ public void GenerateCS (Guigen Guigen) {
_Output.Write ("namespace {1};\n{0}", _Indent, Guigen.Class.Namespace);
_Output.Write ("\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
+ foreach (var section in Guigen.Sections) {
+ _Output.Write ("/// \n{0}", _Indent);
+ _Output.Write ("/// Callback parameters for section {1} \n{0}", _Indent, section.Id.Label);
+ _Output.Write ("/// \n{0}", _Indent);
+ _Output.Write ("public partial class {1} : _{2} {{\n{0}", _Indent, section.Id.Label, section.Id.Label);
+ _Output.Write (" }}\n{0}", _Indent);
+ _Output.Write ("\n{0}", _Indent);
+ _Output.Write ("/// \n{0}", _Indent);
+ _Output.Write ("/// Callback parameters for section {1} \n{0}", _Indent, section.Id.Label);
+ _Output.Write ("/// \n{0}", _Indent);
+ _Output.Write ("public partial class _{1} : IBindable {{\n{0}", _Indent, section.Id.Label);
+ _Output.Write ("\n{0}", _Indent);
+ DeclareFields (section);
+ _Output.Write ("\n{0}", _Indent);
+ _Output.Write (" public GuiBinding Binding => BaseBinding;\n{0}", _Indent);
+ _Output.Write (" public static GuiBinding BaseBinding = new GuiBinding (new GuiBoundProperty[] {{", _Indent);
+ CreateBindings (section);
+ _Output.Write ("\n{0}", _Indent);
+ _Output.Write (" }}\n{0}", _Indent);
+ _Output.Write ("\n{0}", _Indent);
+ }
+ _Output.Write ("\n{0}", _Indent);
+ _Output.Write ("\n{0}", _Indent);
+ foreach (var dialog in Guigen.Dialogs) {
+ _Output.Write ("/// \n{0}", _Indent);
+ _Output.Write ("/// Callback parameters for dialog {1} \n{0}", _Indent, dialog.Id.Label);
+ _Output.Write ("/// \n{0}", _Indent);
+ _Output.Write ("public partial class {1} : _{2} {{\n{0}", _Indent, dialog.Id.Label, dialog.Id.Label);
+ _Output.Write (" }}\n{0}", _Indent);
+ _Output.Write ("\n{0}", _Indent);
+ _Output.Write ("/// \n{0}", _Indent);
+ _Output.Write ("/// Callback parameters for section {1} \n{0}", _Indent, dialog.Id.Label);
+ _Output.Write ("/// \n{0}", _Indent);
+ _Output.Write ("public partial class _{1} : IBindable {{\n{0}", _Indent, dialog.Id.Label);
+ _Output.Write ("\n{0}", _Indent);
+ DeclareFields (dialog);
+ _Output.Write ("\n{0}", _Indent);
+ _Output.Write (" public GuiBinding Binding => BaseBinding;\n{0}", _Indent);
+ _Output.Write (" public static GuiBinding BaseBinding = new GuiBinding (new GuiBoundProperty[] {{", _Indent);
+ CreateBindings (dialog);
+ _Output.Write ("\n{0}", _Indent);
+ _Output.Write (" }}\n{0}", _Indent);
+ _Output.Write ("\n{0}", _Indent);
+ }
+ _Output.Write ("\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
foreach (var action in Guigen.Actions) {
_Output.Write ("\n{0}", _Indent);
@@ -94,10 +139,12 @@ public void GenerateCS (Guigen Guigen) {
_Output.Write ("/// \n{0}", _Indent);
_Output.Write ("/// Callback parameters for action {1} \n{0}", _Indent, action.Id.Label);
_Output.Write ("/// \n{0}", _Indent);
- _Output.Write ("public partial class _{1} : IBindable {{\n{0}", _Indent, action.Id.Label);
+ _Output.Write ("public partial class _{1} : IParameter {{\n{0}", _Indent, action.Id.Label);
_Output.Write ("\n{0}", _Indent);
DeclareFields (action);
_Output.Write ("\n{0}", _Indent);
+ _Output.Write (" public GuiBinding Binding => BaseBinding;\n{0}", _Indent);
+ _Output.Write (" public static GuiBinding BaseBinding = new GuiBinding (new GuiBoundProperty[] {{", _Indent);
CreateBindings (action);
_Output.Write ("\n{0}", _Indent);
_Output.Write (" public virtual bool Validate() => true;\n{0}", _Indent);
@@ -171,7 +218,7 @@ public void GenerateCS (Guigen Guigen) {
_Output.Write ("\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
foreach (var section in Guigen.Sections) {
- _Output.Write (" {1}.Entries = new List() {{ ", _Indent, section.RecordId);
+ _Output.Write (" {1}.Entries = new () {{ ", _Indent, section.RecordId);
separator.Reset ();
foreach (var entry in section.Entries) {
if ( (entry.Active) ) {
@@ -194,8 +241,8 @@ public void GenerateCS (Guigen Guigen) {
_Output.Write (" }};\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
foreach (var action in Guigen.Actions) {
- _Output.Write (" {1}.Callback = {2};\n{0}", _Indent, action.RecordId, action.Id.Label);
- _Output.Write (" {1}.Entries = new List() {{", _Indent, action.RecordId);
+ _Output.Write (" {1}.Callback = (x) => ({2} (x as {3}) as IResult);\n{0}", _Indent, action.RecordId, action.Id.Label, action.Id.Label);
+ _Output.Write (" {1}.Entries = new () {{", _Indent, action.RecordId);
separator.Reset ();
foreach (var entry in action.Entries) {
_Output.Write ("{1} \n{0}", _Indent, separator);
@@ -206,7 +253,7 @@ public void GenerateCS (Guigen Guigen) {
_Output.Write ("\n{0}", _Indent);
}
_Output.Write ("\n{0}", _Indent);
- _Output.Write (" Actions = new List() {{ ", _Indent);
+ _Output.Write (" Actions = new List() {{ ", _Indent);
separator.Reset ();
foreach (var action in Guigen.Actions) {
_Output.Write ("{1} \n{0}", _Indent, separator);
@@ -217,7 +264,7 @@ public void GenerateCS (Guigen Guigen) {
_Output.Write ("\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
foreach (var dialog in Guigen.Dialogs) {
- _Output.Write (" {1}.Entries = new List() {{", _Indent, dialog.RecordId);
+ _Output.Write (" {1}.Entries = new () {{", _Indent, dialog.RecordId);
separator.Reset ();
foreach (var entry in dialog.Entries) {
_Output.Write ("{1} \n{0}", _Indent, separator);
@@ -243,16 +290,16 @@ public void GenerateCS (Guigen Guigen) {
_Output.Write (" /// \n{0}", _Indent);
_Output.Write (" /// GUI action\n{0}", _Indent);
_Output.Write (" /// \n{0}", _Indent);
- _Output.Write (" public virtual void {1} (object data) => NotYetImplemented ();\n{0}", _Indent, action.Id.Label);
+ _Output.Write (" public virtual IResult {1} ({2} data) => throw new NYI();\n{0}", _Indent, action.Id.Label, action.Id.Label);
_Output.Write ("\n{0}", _Indent);
}
_Output.Write (" \n{0}", _Indent);
- _Output.Write (" \n{0}", _Indent);
- _Output.Write (" /// \n{0}", _Indent);
- _Output.Write (" /// Default action\n{0}", _Indent);
- _Output.Write (" /// \n{0}", _Indent);
- _Output.Write (" void NotYetImplemented () {{\n{0}", _Indent);
- _Output.Write (" }}\n{0}", _Indent);
+ foreach (var binding in Guigen.Bindings) {
+ _Output.Write (" /// \n{0}", _Indent);
+ _Output.Write (" public static GuiBinding {1} = new GuiBinding (new GuiBoundProperty[] {{", _Indent, binding.RecordId);
+ CreateBindings (binding);
+ }
+ _Output.Write ("\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
_Output.Write (" }}\n{0}", _Indent);
_Output.Write ("\n{0}", _Indent);
@@ -266,13 +313,10 @@ public void GenerateCS (Guigen Guigen) {
//
public void DeclareFields (IEntries parent) {
foreach (var entry in parent.AllEntries) {
- switch (entry._Tag ()) {
- case GuigenType.Text: {
- Text text = (Text) entry;
+ if ( entry.BindingType != null ) {
+ _Output.Write (" ///{1} \n{0}", _Indent, entry.Summary);
+ _Output.Write (" public virtual {1} {2} {{ get;{3}}} \n{0}", _Indent, entry.BackerType, entry.IdLabel, entry.Readonly.If("", " set;") );
_Output.Write ("\n{0}", _Indent);
- _Output.Write (" /// \n{0}", _Indent);
- _Output.Write (" public string {1} {{get; set;}} \n{0}", _Indent, text.Id.Label);
- break; }
}
}
}
@@ -284,16 +328,17 @@ public void DeclareFields (IEntries parent) {
public void CreateBindings (IEntries parent) {
var separator = new Separator (",");
var index = 0;
- _Output.Write (" public GuiBinding Binding => new GuiBinding (new GuiBoundProperty[] {{ ", _Indent);
foreach (var entry in parent.AllEntries) {
- switch (entry._Tag ()) {
- case GuigenType.Text: {
- Text text = (Text) entry;
-
- text.Index = index++;
+ if ( entry.BindingType != null ) {
+ entry.Index = index++;
_Output.Write ("{1} \n{0}", _Indent, separator);
- _Output.Write (" new GuiBoundPropertyString (() => {1}, (string value) => {2} = value)", _Indent, text.Id.Label, text.Id.Label);
- break; }
+ _Output.Write (" new {1} ((IBindable data) => (data as {2}).{3}, ", _Indent, entry.BindingType, parent.IdLabelBase, entry.IdLabel);
+ if ( (entry.Readonly) ) {
+ _Output.Write ("null", _Indent);
+ } else {
+ _Output.Write ("(IBindable data,{1} value) => (data as {2}).{3} = value", _Indent, entry.BackerType, parent.IdLabelBase, entry.IdLabel);
+ }
+ _Output.Write (")", _Indent);
}
}
_Output.Write ("\n{0}", _Indent);
@@ -345,6 +390,11 @@ public void GenerateEntry (_Choice entry) {
Icon icon = (Icon) entry;
GenerateIcon (icon);
+ break; }
+ case GuigenType.View: {
+ View view = (View) entry;
+
+ GenerateView (view);
break; }
}
}
@@ -355,7 +405,7 @@ public void GenerateEntry (_Choice entry) {
//
public void GenerateChooser (Chooser chooser) {
var separator = new Separator (",");
- _Output.Write (" new GuiChooser ({1}, {2}, {3}, new List() {{", _Indent, chooser.QuotedId, chooser.Prompt.Quoted(), chooser.Icon.Quoted());
+ _Output.Write (" new GuiChooser ({1}, {2}, {3}, {4}, new () {{", _Indent, chooser.QuotedId, chooser.Prompt.Quoted(), chooser.Icon.Quoted(), chooser.Index);
_Indent = _Indent + "\t";
separator.Reset ();
foreach (var entry in chooser.Entries) {
@@ -373,7 +423,7 @@ public void GenerateChooser (Chooser chooser) {
//
public void GenerateDialog (Dialog dialog) {
var separator = new Separator (",");
- _Output.Write (" new GuiDialog ({1}, new List() {{", _Indent, dialog.QuotedId);
+ _Output.Write (" new GuiDialog ({1}, new () {{", _Indent, dialog.QuotedId);
_Indent = _Indent + "\t";
separator.Reset ();
foreach (var entry in dialog.Entries) {
@@ -434,6 +484,14 @@ public void GenerateIcon (Icon field) {
}
+ //
+ // GenerateView
+ //
+ public void GenerateView (View view) {
+ _Output.Write (" new GuiView ({1})", _Indent, view.RecordId);
+ }
+
+
//
// GenerateResx
//
diff --git a/Guigen/Goedel.Tool.Guigen/Guigen.cs b/Guigen/Goedel.Tool.Guigen/Guigen.cs
index b1fcd5b58..da83fe769 100644
--- a/Guigen/Goedel.Tool.Guigen/Guigen.cs
+++ b/Guigen/Goedel.Tool.Guigen/Guigen.cs
@@ -48,6 +48,8 @@
// Class
// Section
// Action
+// Binding
+// Result
// TypeType
// MITLicense
// BSD2License
@@ -59,12 +61,16 @@
// Primary
// Button
// Dialog
+// Decimal
// Color
// Size
-// Decimal
// Context
+// Return
+// Readonly
+// View
// IdType
// SectionT
+// ResultT
// NamespaceType
// Goedel.Tool.Guigen
// ClassType
@@ -103,8 +109,12 @@ public enum GuigenType {
Section,
Action,
Dialog,
+ Binding,
+ Result,
Button,
+ Return,
Chooser,
+ View,
Primary,
Context,
Text,
@@ -112,6 +122,7 @@ public enum GuigenType {
Size,
Decimal,
Icon,
+ Readonly,
_Label,
_Bottom
@@ -437,6 +448,72 @@ public override void Serialize (StructureWriter Output, bool tag) {
}
}
+ public partial class Binding : _Choice {
+ public ID<_Choice> Id;
+ public List <_Choice> Entries = new List<_Choice> ();
+
+ public override GuigenType _Tag () =>GuigenType.Binding;
+
+
+ public override void _InitChildren (_Choice Parent) {
+ Init (Parent);
+ foreach (var Sub in Entries) {
+ Sub._InitChildren (this);
+ }
+ }
+
+ public override void Serialize (StructureWriter Output, bool tag) {
+
+ if (tag) {
+ Output.StartElement ("Binding");
+ }
+
+ Output.WriteId ("Id", Id.ToString());
+ Output.StartList ("");
+ foreach (_Choice _e in Entries) {
+ _e.Serialize (Output, true);
+ }
+ Output.EndList ("");
+ if (tag) {
+ Output.EndElement ("Binding");
+ }
+ }
+ }
+
+ public partial class Result : _Choice {
+ public ID<_Choice> Id;
+ public string Prompt;
+ public List <_Choice> Entries = new List<_Choice> ();
+
+ public override GuigenType _Tag () =>GuigenType.Result;
+
+
+ public override void _InitChildren (_Choice Parent) {
+ Init (Parent);
+ foreach (var Sub in Entries) {
+ Sub._InitChildren (this);
+ }
+ }
+
+ public override void Serialize (StructureWriter Output, bool tag) {
+
+ if (tag) {
+ Output.StartElement ("Result");
+ }
+
+ Output.WriteId ("Id", Id.ToString());
+ Output.WriteAttribute ("Prompt", Prompt);
+ Output.StartList ("");
+ foreach (_Choice _e in Entries) {
+ _e.Serialize (Output, true);
+ }
+ Output.EndList ("");
+ if (tag) {
+ Output.EndElement ("Result");
+ }
+ }
+ }
+
public partial class Button : _Choice {
public REF<_Choice> Id;
@@ -460,6 +537,29 @@ public override void Serialize (StructureWriter Output, bool tag) {
}
}
+ public partial class Return : _Choice {
+ public REF<_Choice> Id;
+
+ public override GuigenType _Tag () =>GuigenType.Return;
+
+
+ public override void _InitChildren (_Choice Parent) {
+ Init (Parent);
+ }
+
+ public override void Serialize (StructureWriter Output, bool tag) {
+
+ if (tag) {
+ Output.StartElement ("Return");
+ }
+
+ Output.WriteId ("Id", Id.ToString());
+ if (tag) {
+ Output.EndElement ("Return");
+ }
+ }
+ }
+
public partial class Chooser : _Choice {
public ID<_Choice> Id;
public string Prompt;
@@ -498,6 +598,29 @@ public override void Serialize (StructureWriter Output, bool tag) {
}
}
+ public partial class View : _Choice {
+ public REF<_Choice> Id;
+
+ public override GuigenType _Tag () =>GuigenType.View;
+
+
+ public override void _InitChildren (_Choice Parent) {
+ Init (Parent);
+ }
+
+ public override void Serialize (StructureWriter Output, bool tag) {
+
+ if (tag) {
+ Output.StartElement ("View");
+ }
+
+ Output.WriteId ("Id", Id.ToString());
+ if (tag) {
+ Output.EndElement ("View");
+ }
+ }
+ }
+
public partial class Primary : _Choice {
public override GuigenType _Tag () =>GuigenType.Primary;
@@ -522,12 +645,16 @@ public override void Serialize (StructureWriter Output, bool tag) {
public partial class Context : _Choice {
public TOKEN<_Choice> Id;
public string Prompt;
+ public List <_Choice> Entries = new List<_Choice> ();
public override GuigenType _Tag () =>GuigenType.Context;
public override void _InitChildren (_Choice Parent) {
Init (Parent);
+ foreach (var Sub in Entries) {
+ Sub._InitChildren (this);
+ }
}
public override void Serialize (StructureWriter Output, bool tag) {
@@ -538,6 +665,11 @@ public override void Serialize (StructureWriter Output, bool tag) {
Output.WriteId ("Id", Id.ToString());
Output.WriteAttribute ("Prompt", Prompt);
+ Output.StartList ("");
+ foreach (_Choice _e in Entries) {
+ _e.Serialize (Output, true);
+ }
+ Output.EndList ("");
if (tag) {
Output.EndElement ("Context");
}
@@ -547,12 +679,16 @@ public override void Serialize (StructureWriter Output, bool tag) {
public partial class Text : _Choice {
public TOKEN<_Choice> Id;
public string Prompt;
+ public List <_Choice> Entries = new List<_Choice> ();
public override GuigenType _Tag () =>GuigenType.Text;
public override void _InitChildren (_Choice Parent) {
Init (Parent);
+ foreach (var Sub in Entries) {
+ Sub._InitChildren (this);
+ }
}
public override void Serialize (StructureWriter Output, bool tag) {
@@ -563,6 +699,11 @@ public override void Serialize (StructureWriter Output, bool tag) {
Output.WriteId ("Id", Id.ToString());
Output.WriteAttribute ("Prompt", Prompt);
+ Output.StartList ("");
+ foreach (_Choice _e in Entries) {
+ _e.Serialize (Output, true);
+ }
+ Output.EndList ("");
if (tag) {
Output.EndElement ("Text");
}
@@ -572,12 +713,16 @@ public override void Serialize (StructureWriter Output, bool tag) {
public partial class Color : _Choice {
public TOKEN<_Choice> Id;
public string Prompt;
+ public List <_Choice> Entries = new List<_Choice> ();
public override GuigenType _Tag () =>GuigenType.Color;
public override void _InitChildren (_Choice Parent) {
Init (Parent);
+ foreach (var Sub in Entries) {
+ Sub._InitChildren (this);
+ }
}
public override void Serialize (StructureWriter Output, bool tag) {
@@ -588,6 +733,11 @@ public override void Serialize (StructureWriter Output, bool tag) {
Output.WriteId ("Id", Id.ToString());
Output.WriteAttribute ("Prompt", Prompt);
+ Output.StartList ("");
+ foreach (_Choice _e in Entries) {
+ _e.Serialize (Output, true);
+ }
+ Output.EndList ("");
if (tag) {
Output.EndElement ("Color");
}
@@ -597,12 +747,16 @@ public override void Serialize (StructureWriter Output, bool tag) {
public partial class Size : _Choice {
public TOKEN<_Choice> Id;
public string Prompt;
+ public List <_Choice> Entries = new List<_Choice> ();
public override GuigenType _Tag () =>GuigenType.Size;
public override void _InitChildren (_Choice Parent) {
Init (Parent);
+ foreach (var Sub in Entries) {
+ Sub._InitChildren (this);
+ }
}
public override void Serialize (StructureWriter Output, bool tag) {
@@ -613,6 +767,11 @@ public override void Serialize (StructureWriter Output, bool tag) {
Output.WriteId ("Id", Id.ToString());
Output.WriteAttribute ("Prompt", Prompt);
+ Output.StartList ("");
+ foreach (_Choice _e in Entries) {
+ _e.Serialize (Output, true);
+ }
+ Output.EndList ("");
if (tag) {
Output.EndElement ("Size");
}
@@ -622,12 +781,16 @@ public override void Serialize (StructureWriter Output, bool tag) {
public partial class Decimal : _Choice {
public TOKEN<_Choice> Id;
public string Prompt;
+ public List <_Choice> Entries = new List<_Choice> ();
public override GuigenType _Tag () =>GuigenType.Decimal;
public override void _InitChildren (_Choice Parent) {
Init (Parent);
+ foreach (var Sub in Entries) {
+ Sub._InitChildren (this);
+ }
}
public override void Serialize (StructureWriter Output, bool tag) {
@@ -638,6 +801,11 @@ public override void Serialize (StructureWriter Output, bool tag) {
Output.WriteId ("Id", Id.ToString());
Output.WriteAttribute ("Prompt", Prompt);
+ Output.StartList ("");
+ foreach (_Choice _e in Entries) {
+ _e.Serialize (Output, true);
+ }
+ Output.EndList ("");
if (tag) {
Output.EndElement ("Decimal");
}
@@ -647,12 +815,16 @@ public override void Serialize (StructureWriter Output, bool tag) {
public partial class Icon : _Choice {
public TOKEN<_Choice> Id;
public string Prompt;
+ public List <_Choice> Entries = new List<_Choice> ();
public override GuigenType _Tag () =>GuigenType.Icon;
public override void _InitChildren (_Choice Parent) {
Init (Parent);
+ foreach (var Sub in Entries) {
+ Sub._InitChildren (this);
+ }
}
public override void Serialize (StructureWriter Output, bool tag) {
@@ -663,12 +835,38 @@ public override void Serialize (StructureWriter Output, bool tag) {
Output.WriteId ("Id", Id.ToString());
Output.WriteAttribute ("Prompt", Prompt);
+ Output.StartList ("");
+ foreach (_Choice _e in Entries) {
+ _e.Serialize (Output, true);
+ }
+ Output.EndList ("");
if (tag) {
Output.EndElement ("Icon");
}
}
}
+ public partial class Readonly : _Choice {
+
+ public override GuigenType _Tag () =>GuigenType.Readonly;
+
+
+ public override void _InitChildren (_Choice Parent) {
+ Init (Parent);
+ }
+
+ public override void Serialize (StructureWriter Output, bool tag) {
+
+ if (tag) {
+ Output.StartElement ("Readonly");
+ }
+
+ if (tag) {
+ Output.EndElement ("Readonly");
+ }
+ }
+ }
+
class _Label : _Choice {
public REF<_Choice> Label;
@@ -715,33 +913,51 @@ public enum StateCode {
Dialog_Start,
Dialog__Id,
Dialog__Entries,
+ Binding_Start,
+ Binding__Id,
+ Binding__Entries,
+ Result_Start,
+ Result__Id,
+ Result__Prompt,
+ Result__Entries,
Button_Start,
Button__Id,
+ Return_Start,
+ Return__Id,
Chooser_Start,
Chooser__Id,
Chooser__Prompt,
Chooser__Icon,
Chooser__Type,
Chooser__Entries,
+ View_Start,
+ View__Id,
Primary_Start,
Context_Start,
Context__Id,
Context__Prompt,
+ Context__Entries,
Text_Start,
Text__Id,
Text__Prompt,
+ Text__Entries,
Color_Start,
Color__Id,
Color__Prompt,
+ Color__Entries,
Size_Start,
Size__Id,
Size__Prompt,
+ Size__Entries,
Decimal_Start,
Decimal__Id,
Decimal__Prompt,
+ Decimal__Entries,
Icon_Start,
Icon__Id,
Icon__Prompt,
+ Icon__Entries,
+ Readonly_Start,
}
@@ -797,6 +1013,7 @@ public Guigen() {
StartOfEntry = true;
TYPE__SectionT = Registry.TYPE ("SectionT");
+ TYPE__ResultT = Registry.TYPE ("ResultT");
TYPE__TypeT = Registry.TYPE ("TypeT");
@@ -806,6 +1023,7 @@ public Guigen() {
public TYPE TYPE__SectionT ;
+ public TYPE TYPE__ResultT ;
public TYPE TYPE__TypeT ;
private Goedel.Tool.Guigen._Choice New_Choice(string Label) {
@@ -822,8 +1040,12 @@ private Goedel.Tool.Guigen._Choice New_Choice(string Label) {
case "Section": return NewSection();
case "Action": return NewAction();
case "Dialog": return NewDialog();
+ case "Binding": return NewBinding();
+ case "Result": return NewResult();
case "Button": return NewButton();
+ case "Return": return NewReturn();
case "Chooser": return NewChooser();
+ case "View": return NewView();
case "Primary": return NewPrimary();
case "Context": return NewContext();
case "Text": return NewText();
@@ -831,6 +1053,7 @@ private Goedel.Tool.Guigen._Choice New_Choice(string Label) {
case "Size": return NewSize();
case "Decimal": return NewDecimal();
case "Icon": return NewIcon();
+ case "Readonly": return NewReadonly();
}
@@ -927,6 +1150,22 @@ private Goedel.Tool.Guigen.Dialog NewDialog() {
}
+ private Goedel.Tool.Guigen.Binding NewBinding() {
+ Goedel.Tool.Guigen.Binding result = new Goedel.Tool.Guigen.Binding();
+ Push (result);
+ State = StateCode.Binding_Start;
+ return result;
+ }
+
+
+ private Goedel.Tool.Guigen.Result NewResult() {
+ Goedel.Tool.Guigen.Result result = new Goedel.Tool.Guigen.Result();
+ Push (result);
+ State = StateCode.Result_Start;
+ return result;
+ }
+
+
private Goedel.Tool.Guigen.Button NewButton() {
Goedel.Tool.Guigen.Button result = new Goedel.Tool.Guigen.Button();
Push (result);
@@ -935,6 +1174,14 @@ private Goedel.Tool.Guigen.Button NewButton() {
}
+ private Goedel.Tool.Guigen.Return NewReturn() {
+ Goedel.Tool.Guigen.Return result = new Goedel.Tool.Guigen.Return();
+ Push (result);
+ State = StateCode.Return_Start;
+ return result;
+ }
+
+
private Goedel.Tool.Guigen.Chooser NewChooser() {
Goedel.Tool.Guigen.Chooser result = new Goedel.Tool.Guigen.Chooser();
Push (result);
@@ -943,6 +1190,14 @@ private Goedel.Tool.Guigen.Chooser NewChooser() {
}
+ private Goedel.Tool.Guigen.View NewView() {
+ Goedel.Tool.Guigen.View result = new Goedel.Tool.Guigen.View();
+ Push (result);
+ State = StateCode.View_Start;
+ return result;
+ }
+
+
private Goedel.Tool.Guigen.Primary NewPrimary() {
Goedel.Tool.Guigen.Primary result = new Goedel.Tool.Guigen.Primary();
Push (result);
@@ -999,6 +1254,14 @@ private Goedel.Tool.Guigen.Icon NewIcon() {
}
+ private Goedel.Tool.Guigen.Readonly NewReadonly() {
+ Goedel.Tool.Guigen.Readonly result = new Goedel.Tool.Guigen.Readonly();
+ Push (result);
+ State = StateCode.Readonly_Start;
+ return result;
+ }
+
+
static Goedel.Tool.Guigen.GuigenType _Reserved(string Label) {
switch (Label) {
@@ -1013,8 +1276,12 @@ static Goedel.Tool.Guigen.GuigenType _Reserved(string Label) {
case "Section": return Goedel.Tool.Guigen.GuigenType.Section;
case "Action": return Goedel.Tool.Guigen.GuigenType.Action;
case "Dialog": return Goedel.Tool.Guigen.GuigenType.Dialog;
+ case "Binding": return Goedel.Tool.Guigen.GuigenType.Binding;
+ case "Result": return Goedel.Tool.Guigen.GuigenType.Result;
case "Button": return Goedel.Tool.Guigen.GuigenType.Button;
+ case "Return": return Goedel.Tool.Guigen.GuigenType.Return;
case "Chooser": return Goedel.Tool.Guigen.GuigenType.Chooser;
+ case "View": return Goedel.Tool.Guigen.GuigenType.View;
case "Primary": return Goedel.Tool.Guigen.GuigenType.Primary;
case "Context": return Goedel.Tool.Guigen.GuigenType.Context;
case "Text": return Goedel.Tool.Guigen.GuigenType.Text;
@@ -1022,6 +1289,7 @@ static Goedel.Tool.Guigen.GuigenType _Reserved(string Label) {
case "Size": return Goedel.Tool.Guigen.GuigenType.Size;
case "Decimal": return Goedel.Tool.Guigen.GuigenType.Decimal;
case "Icon": return Goedel.Tool.Guigen.GuigenType.Icon;
+ case "Readonly": return Goedel.Tool.Guigen.GuigenType.Readonly;
}
return Goedel.Tool.Guigen.GuigenType._Bottom;
@@ -1102,7 +1370,9 @@ public override void Process(TokenType Token, Position Position, string Text) {
(LabelType == Goedel.Tool.Guigen.GuigenType.Class) |
(LabelType == Goedel.Tool.Guigen.GuigenType.Section) |
(LabelType == Goedel.Tool.Guigen.GuigenType.Action) |
- (LabelType == Goedel.Tool.Guigen.GuigenType.Dialog)) {
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Dialog) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Binding) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Result)) {
Top.Add(New_Choice(Text));
}
else {
@@ -1303,11 +1573,13 @@ public override void Process(TokenType Token, Position Position, string Text) {
(LabelType == Goedel.Tool.Guigen.GuigenType.Chooser) |
(LabelType == Goedel.Tool.Guigen.GuigenType.Primary) |
(LabelType == Goedel.Tool.Guigen.GuigenType.Button) |
- (LabelType == Goedel.Tool.Guigen.GuigenType.Dialog) ) {
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Dialog) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Text) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Decimal) ) {
Current_Cast.Entries.Add (New_Choice(Text));
}
else {
- throw new Expected ("Parser Error Expected [Chooser Primary Button Dialog ]");
+ throw new Expected ("Parser Error Expected [Chooser Primary Button Dialog Text Decimal ]");
}
}
break;
@@ -1367,11 +1639,12 @@ public override void Process(TokenType Token, Position Position, string Text) {
(LabelType == Goedel.Tool.Guigen.GuigenType.Color) |
(LabelType == Goedel.Tool.Guigen.GuigenType.Size) |
(LabelType == Goedel.Tool.Guigen.GuigenType.Decimal) |
- (LabelType == Goedel.Tool.Guigen.GuigenType.Context) ) {
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Context) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Return) ) {
Current_Cast.Entries.Add (New_Choice(Text));
}
else {
- throw new Expected ("Parser Error Expected [Chooser Text Color Size Decimal Context ]");
+ throw new Expected ("Parser Error Expected [Chooser Text Color Size Decimal Context Return ]");
}
}
break;
@@ -1423,6 +1696,103 @@ public override void Process(TokenType Token, Position Position, string Text) {
break;
+ case StateCode.Binding_Start:
+ if ((Token == TokenType.LABEL) | (Token == TokenType.LITERAL)) {
+ Goedel.Tool.Guigen.Binding Current_Cast = (Goedel.Tool.Guigen.Binding)Current;
+ Current_Cast.Id = Registry.ID(Position, Text, TYPE__SectionT, Current_Cast);
+ State = StateCode.Binding__Id;
+ break;
+ }
+ throw new Expected("Expected LABEL or LITERAL");
+
+ case StateCode.Binding__Id:
+
+ if (Token == TokenType.BEGIN) {
+ State = StateCode.Binding__Entries;
+ }
+ else {
+ Pop ();
+ Represent = true;
+ }
+ break;
+ case StateCode.Binding__Entries:
+ if (Token == TokenType.END) {
+ Pop();
+ break;
+ }
+
+ // Parser transition for LIST $$$$$
+
+ else if (Token == TokenType.LABEL) {
+ Goedel.Tool.Guigen.Binding Current_Cast = (Goedel.Tool.Guigen.Binding)Current;
+ Goedel.Tool.Guigen.GuigenType LabelType = _Reserved (Text);
+ if ( false |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Chooser) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Text) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Color) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Size) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Decimal) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Icon) ) {
+ Current_Cast.Entries.Add (New_Choice(Text));
+ }
+ else {
+ throw new Expected ("Parser Error Expected [Chooser Text Color Size Decimal Icon ]");
+ }
+ }
+ break;
+
+
+ case StateCode.Result_Start:
+ if ((Token == TokenType.LABEL) | (Token == TokenType.LITERAL)) {
+ Goedel.Tool.Guigen.Result Current_Cast = (Goedel.Tool.Guigen.Result)Current;
+ Current_Cast.Id = Registry.ID(Position, Text, TYPE__ResultT, Current_Cast);
+ State = StateCode.Result__Id;
+ break;
+ }
+ throw new Expected("Expected LABEL or LITERAL");
+
+ case StateCode.Result__Id:
+ if (Token == TokenType.STRING) {
+ Goedel.Tool.Guigen.Result Current_Cast = (Goedel.Tool.Guigen.Result)Current;
+ Current_Cast.Prompt = Text;
+ State = StateCode.Result__Prompt;
+ break;
+ }
+ throw new Expected("Expected String");
+
+ case StateCode.Result__Prompt:
+
+ if (Token == TokenType.BEGIN) {
+ State = StateCode.Result__Entries;
+ }
+ else {
+ Pop ();
+ Represent = true;
+ }
+ break;
+ case StateCode.Result__Entries:
+ if (Token == TokenType.END) {
+ Pop();
+ break;
+ }
+
+ // Parser transition for LIST $$$$$
+
+ else if (Token == TokenType.LABEL) {
+ Goedel.Tool.Guigen.Result Current_Cast = (Goedel.Tool.Guigen.Result)Current;
+ Goedel.Tool.Guigen.GuigenType LabelType = _Reserved (Text);
+ if ( false |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Text) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Decimal) ) {
+ Current_Cast.Entries.Add (New_Choice(Text));
+ }
+ else {
+ throw new Expected ("Parser Error Expected [Text Decimal ]");
+ }
+ }
+ break;
+
+
case StateCode.Button_Start:
if ((Token == TokenType.LABEL) | (Token == TokenType.LITERAL)) {
Goedel.Tool.Guigen.Button Current_Cast = (Goedel.Tool.Guigen.Button)Current;
@@ -1436,6 +1806,19 @@ public override void Process(TokenType Token, Position Position, string Text) {
Pop ();
Represent = true;
break;
+ case StateCode.Return_Start:
+ if ((Token == TokenType.LABEL) | (Token == TokenType.LITERAL)) {
+ Goedel.Tool.Guigen.Return Current_Cast = (Goedel.Tool.Guigen.Return)Current;
+ Current_Cast.Id = Registry.REF(Position, Text, TYPE__ResultT, Current_Cast);
+ State = StateCode.Return__Id;
+ break;
+ }
+ throw new Expected("Expected LABEL or LITERAL");
+
+ case StateCode.Return__Id:
+ Pop ();
+ Represent = true;
+ break;
case StateCode.Chooser_Start:
if ((Token == TokenType.LABEL) | (Token == TokenType.LITERAL)) {
Goedel.Tool.Guigen.Chooser Current_Cast = (Goedel.Tool.Guigen.Chooser)Current;
@@ -1494,16 +1877,32 @@ public override void Process(TokenType Token, Position Position, string Text) {
Goedel.Tool.Guigen.Chooser Current_Cast = (Goedel.Tool.Guigen.Chooser)Current;
Goedel.Tool.Guigen.GuigenType LabelType = _Reserved (Text);
if ( false |
- (LabelType == Goedel.Tool.Guigen.GuigenType.Button) ) {
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Button) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Readonly) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.View) |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Text) ) {
Current_Cast.Entries.Add (New_Choice(Text));
}
else {
- throw new Expected ("Parser Error Expected [Button ]");
+ throw new Expected ("Parser Error Expected [Button Readonly View Text ]");
}
}
break;
+ case StateCode.View_Start:
+ if ((Token == TokenType.LABEL) | (Token == TokenType.LITERAL)) {
+ Goedel.Tool.Guigen.View Current_Cast = (Goedel.Tool.Guigen.View)Current;
+ Current_Cast.Id = Registry.REF(Position, Text, TYPE__SectionT, Current_Cast);
+ State = StateCode.View__Id;
+ break;
+ }
+ throw new Expected("Expected LABEL or LITERAL");
+
+ case StateCode.View__Id:
+ Pop ();
+ Represent = true;
+ break;
case StateCode.Primary_Start:
Pop ();
Represent = true;
@@ -1527,9 +1926,37 @@ public override void Process(TokenType Token, Position Position, string Text) {
throw new Expected("Expected String");
case StateCode.Context__Prompt:
- Pop ();
- Represent = true;
+
+ if (Token == TokenType.BEGIN) {
+ State = StateCode.Context__Entries;
+ }
+ else {
+ Pop ();
+ Represent = true;
+ }
+ break;
+ case StateCode.Context__Entries:
+ if (Token == TokenType.END) {
+ Pop();
+ break;
+ }
+
+ // Parser transition for LIST $$$$$
+
+ else if (Token == TokenType.LABEL) {
+ Goedel.Tool.Guigen.Context Current_Cast = (Goedel.Tool.Guigen.Context)Current;
+ Goedel.Tool.Guigen.GuigenType LabelType = _Reserved (Text);
+ if ( false |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Readonly) ) {
+ Current_Cast.Entries.Add (New_Choice(Text));
+ }
+ else {
+ throw new Expected ("Parser Error Expected [Readonly ]");
+ }
+ }
break;
+
+
case StateCode.Text_Start:
if ((Token == TokenType.LABEL) | (Token == TokenType.LITERAL)) {
Goedel.Tool.Guigen.Text Current_Cast = (Goedel.Tool.Guigen.Text)Current;
@@ -1549,9 +1976,37 @@ public override void Process(TokenType Token, Position Position, string Text) {
throw new Expected("Expected String");
case StateCode.Text__Prompt:
- Pop ();
- Represent = true;
+
+ if (Token == TokenType.BEGIN) {
+ State = StateCode.Text__Entries;
+ }
+ else {
+ Pop ();
+ Represent = true;
+ }
break;
+ case StateCode.Text__Entries:
+ if (Token == TokenType.END) {
+ Pop();
+ break;
+ }
+
+ // Parser transition for LIST $$$$$
+
+ else if (Token == TokenType.LABEL) {
+ Goedel.Tool.Guigen.Text Current_Cast = (Goedel.Tool.Guigen.Text)Current;
+ Goedel.Tool.Guigen.GuigenType LabelType = _Reserved (Text);
+ if ( false |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Readonly) ) {
+ Current_Cast.Entries.Add (New_Choice(Text));
+ }
+ else {
+ throw new Expected ("Parser Error Expected [Readonly ]");
+ }
+ }
+ break;
+
+
case StateCode.Color_Start:
if ((Token == TokenType.LABEL) | (Token == TokenType.LITERAL)) {
Goedel.Tool.Guigen.Color Current_Cast = (Goedel.Tool.Guigen.Color)Current;
@@ -1571,9 +2026,37 @@ public override void Process(TokenType Token, Position Position, string Text) {
throw new Expected("Expected String");
case StateCode.Color__Prompt:
- Pop ();
- Represent = true;
+
+ if (Token == TokenType.BEGIN) {
+ State = StateCode.Color__Entries;
+ }
+ else {
+ Pop ();
+ Represent = true;
+ }
+ break;
+ case StateCode.Color__Entries:
+ if (Token == TokenType.END) {
+ Pop();
+ break;
+ }
+
+ // Parser transition for LIST $$$$$
+
+ else if (Token == TokenType.LABEL) {
+ Goedel.Tool.Guigen.Color Current_Cast = (Goedel.Tool.Guigen.Color)Current;
+ Goedel.Tool.Guigen.GuigenType LabelType = _Reserved (Text);
+ if ( false |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Readonly) ) {
+ Current_Cast.Entries.Add (New_Choice(Text));
+ }
+ else {
+ throw new Expected ("Parser Error Expected [Readonly ]");
+ }
+ }
break;
+
+
case StateCode.Size_Start:
if ((Token == TokenType.LABEL) | (Token == TokenType.LITERAL)) {
Goedel.Tool.Guigen.Size Current_Cast = (Goedel.Tool.Guigen.Size)Current;
@@ -1593,9 +2076,37 @@ public override void Process(TokenType Token, Position Position, string Text) {
throw new Expected("Expected String");
case StateCode.Size__Prompt:
- Pop ();
- Represent = true;
+
+ if (Token == TokenType.BEGIN) {
+ State = StateCode.Size__Entries;
+ }
+ else {
+ Pop ();
+ Represent = true;
+ }
+ break;
+ case StateCode.Size__Entries:
+ if (Token == TokenType.END) {
+ Pop();
+ break;
+ }
+
+ // Parser transition for LIST $$$$$
+
+ else if (Token == TokenType.LABEL) {
+ Goedel.Tool.Guigen.Size Current_Cast = (Goedel.Tool.Guigen.Size)Current;
+ Goedel.Tool.Guigen.GuigenType LabelType = _Reserved (Text);
+ if ( false |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Readonly) ) {
+ Current_Cast.Entries.Add (New_Choice(Text));
+ }
+ else {
+ throw new Expected ("Parser Error Expected [Readonly ]");
+ }
+ }
break;
+
+
case StateCode.Decimal_Start:
if ((Token == TokenType.LABEL) | (Token == TokenType.LITERAL)) {
Goedel.Tool.Guigen.Decimal Current_Cast = (Goedel.Tool.Guigen.Decimal)Current;
@@ -1615,9 +2126,37 @@ public override void Process(TokenType Token, Position Position, string Text) {
throw new Expected("Expected String");
case StateCode.Decimal__Prompt:
- Pop ();
- Represent = true;
+
+ if (Token == TokenType.BEGIN) {
+ State = StateCode.Decimal__Entries;
+ }
+ else {
+ Pop ();
+ Represent = true;
+ }
+ break;
+ case StateCode.Decimal__Entries:
+ if (Token == TokenType.END) {
+ Pop();
+ break;
+ }
+
+ // Parser transition for LIST $$$$$
+
+ else if (Token == TokenType.LABEL) {
+ Goedel.Tool.Guigen.Decimal Current_Cast = (Goedel.Tool.Guigen.Decimal)Current;
+ Goedel.Tool.Guigen.GuigenType LabelType = _Reserved (Text);
+ if ( false |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Readonly) ) {
+ Current_Cast.Entries.Add (New_Choice(Text));
+ }
+ else {
+ throw new Expected ("Parser Error Expected [Readonly ]");
+ }
+ }
break;
+
+
case StateCode.Icon_Start:
if ((Token == TokenType.LABEL) | (Token == TokenType.LITERAL)) {
Goedel.Tool.Guigen.Icon Current_Cast = (Goedel.Tool.Guigen.Icon)Current;
@@ -1637,6 +2176,38 @@ public override void Process(TokenType Token, Position Position, string Text) {
throw new Expected("Expected String");
case StateCode.Icon__Prompt:
+
+ if (Token == TokenType.BEGIN) {
+ State = StateCode.Icon__Entries;
+ }
+ else {
+ Pop ();
+ Represent = true;
+ }
+ break;
+ case StateCode.Icon__Entries:
+ if (Token == TokenType.END) {
+ Pop();
+ break;
+ }
+
+ // Parser transition for LIST $$$$$
+
+ else if (Token == TokenType.LABEL) {
+ Goedel.Tool.Guigen.Icon Current_Cast = (Goedel.Tool.Guigen.Icon)Current;
+ Goedel.Tool.Guigen.GuigenType LabelType = _Reserved (Text);
+ if ( false |
+ (LabelType == Goedel.Tool.Guigen.GuigenType.Readonly) ) {
+ Current_Cast.Entries.Add (New_Choice(Text));
+ }
+ else {
+ throw new Expected ("Parser Error Expected [Readonly ]");
+ }
+ }
+ break;
+
+
+ case StateCode.Readonly_Start:
Pop ();
Represent = true;
break;
diff --git a/Guigen/Goedel.Tool.Guigen/Guigen.gdl b/Guigen/Goedel.Tool.Guigen/Guigen.gdl
index e88198a22..f83f6304a 100644
--- a/Guigen/Goedel.Tool.Guigen/Guigen.gdl
+++ b/Guigen/Goedel.Tool.Guigen/Guigen.gdl
@@ -35,6 +35,9 @@ Class Goedel.Tool.Guigen Guigen
Primary
Button
Dialog
+ Text
+ Decimal
+
TopType Action
Id ID SectionT
@@ -47,6 +50,7 @@ Class Goedel.Tool.Guigen Guigen
Size
Decimal
Context
+ Return
TopType Dialog
Id ID SectionT
@@ -59,9 +63,34 @@ Class Goedel.Tool.Guigen Guigen
Icon
+
+ TopType Binding
+ Id ID SectionT
+ Entries List Choice
+ Chooser
+ Text
+ Color
+ Size
+ Decimal
+ Icon
+
+
+
+
+ TopType Result
+ Id ID ResultT
+ Prompt String
+ Entries List Choice
+ Text
+ Decimal
+
Type Button
Id REF SectionT
+ Type Return
+ Id REF ResultT
+
+
Type Chooser
Id ID SectionT
Prompt String
@@ -69,34 +98,50 @@ Class Goedel.Tool.Guigen Guigen
Type Token TypeT
Entries List Choice
Button
-
-
+ Readonly
+ View
+ Text
+
+ Type View
+ Id REF SectionT
Type Primary
Type Context
Id Token SectionT
Prompt String
+ Entries List Choice
+ Readonly
Type Text
Id Token SectionT
Prompt String
+ Entries List Choice
+ Readonly
Type Color
Id Token SectionT
Prompt String
+ Entries List Choice
+ Readonly
Type Size
Id Token SectionT
Prompt String
+ Entries List Choice
+ Readonly
Type Decimal
Id Token SectionT
Prompt String
+ Entries List Choice
+ Readonly
Type Icon
Id Token SectionT
Prompt String
+ Entries List Choice
+ Readonly
-
+ Type Readonly
diff --git a/Guigen/Goedel.Tool.Guigen/GuigenPlus.cs b/Guigen/Goedel.Tool.Guigen/GuigenPlus.cs
index d1af0edbe..17eaef2a0 100644
--- a/Guigen/Goedel.Tool.Guigen/GuigenPlus.cs
+++ b/Guigen/Goedel.Tool.Guigen/GuigenPlus.cs
@@ -1,6 +1,7 @@
using Goedel.Utilities;
using Goedel.Registry;
+using System.Text;
namespace Goedel.Tool.Guigen;
@@ -8,6 +9,10 @@ namespace Goedel.Tool.Guigen;
public interface IEntries {
List<_Choice> AllEntries {get; }
+
+ string IdLabel { get; }
+
+ string IdLabelBase { get; }
}
@@ -19,6 +24,7 @@ public partial class Guigen {
public List Sections = new();
public List Actions = new();
public List