Menu

Commit [r13040]  Maximize  Restore  History

UI protocol: normalise remaining field names; .NET MENU support

Two more lowercase field names missed by r13038, both found by checking
the uilib layer rather than only json.c/xml.c: a second OPTIONS emitter
in ui_json/uilib/uilib.c, and CLEAR's todefault. All emitters now use
one casing for scalar fields; TitleCase names like Fields and
MenuCommands are nested payloads and are left as they are.

.NET: MENU over the wire, checked against what the C runtime actually
emits rather than against the source - which corrected three things.
The objects nested in MenuCommands carry no "type" field, their ids are
1-based, and they include KEYS and HELPNO. That needed a UiPayload /
UiMessage split, since only top-level messages carry a verb.

Menu commands are identified by a caller-supplied enum, so generated
dispatch reads as "case MainMenu.Customer" rather than the old
"case 0: /* COMMAND */".

mikeaubury 2026-09-02

changed /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui/UiChannel.cs
added /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui/UiDialog.cs
changed /aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui/UiMessage.cs
added /aubit4glsrc/trunk/dotnet/tests/Aubit4GL.Runtime.Tests/MenuTests.cs
changed /aubit4glsrc/trunk/lib/libui/ui_json/json.c
changed /aubit4glsrc/trunk/lib/libui/ui_json/uilib/uilib.c
changed /aubit4glsrc/trunk/lib/libui/ui_xml/json.c
changed /aubit4glsrc/trunk/node/Aubit4GLWebAngular/src/app/commands/clear.handler.ts
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui/UiChannel.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui/UiDialog.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/src/Aubit4GL.Runtime/Ui/UiMessage.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/dotnet/tests/Aubit4GL.Runtime.Tests/MenuTests.cs Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/lib/libui/ui_json/json.c Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/lib/libui/ui_json/uilib/uilib.c Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/lib/libui/ui_xml/json.c Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/node/Aubit4GLWebAngular/src/app/commands/clear.handler.ts Diff Switch to side-by-side view
Loading...