Make Contract Calls Great Again #35

Merged
zxq9 merged 37 commits from iface3 into master 2026-05-10 15:39:25 +09:00
Showing only changes of commit 41bd9eeacd - Show all commits
+11 -10
View File
@@ -759,11 +759,11 @@ load3(State = #s{tabs = TopBook, cons = {Consbook, Pages}, buttons = Buttons, j
ConsSz = wxStaticBoxSizer:new(?wxVERTICAL, Window, [{label, J("Console")}]),
ConsTxStyle = {style, ?wxTE_MULTILINE bor ?wxTE_READONLY},
ConsTx = wxTextCtrl:new(Window, ?wxID_ANY, [ConsTxStyle]),
_ = wxSizer:add(ConsSz, ConsTx, zxw:flags(wide)),
_ = wxSizer:add(ProgSz, CodeSz, [{proportion, 3}, {flag, ?wxEXPAND}]),
_ = wxSizer:add(ProgSz, ScrollWin, [{proportion, 1}, {flag, ?wxEXPAND}]),
_ = wxSizer:add(PageSz, ProgSz, [{proportion, 3}, {flag, ?wxEXPAND}]),
_ = wxSizer:add(PageSz, ConsSz, [{proportion, 1}, {flag, ?wxEXPAND}]),
_ = wxSizer:add(ConsSz, ConsTx, zxw:flags({wide, 5})),
_ = wxSizer:add(ProgSz, CodeSz, [{proportion, 3}, {flag, ?wxEXPAND bor ?wxALL}, {border, 5}]),
_ = wxSizer:add(ProgSz, ScrollWin, [{proportion, 1}, {flag, ?wxEXPAND bor ?wxALL}, {border, 5}]),
_ = wxSizer:add(PageSz, ProgSz, [{proportion, 3}, {flag, ?wxEXPAND bor ?wxALL}, {border, 5}]),
_ = wxSizer:add(PageSz, ConsSz, [{proportion, 1}, {flag, ?wxEXPAND bor ?wxALL}, {border, 5}]),
{Out, IFaces, Build, NewButtons} =
case compile(Source) of
{ok, Output} ->
@@ -798,15 +798,16 @@ fun_interfaces(ScrollWin, FunSz, Buttons, Funs, J) ->
FLabel = wxStaticText:new(ScrollWin, ?wxID_ANY, FunName),
CallBn = wxButton:new(ScrollWin, ?wxID_ANY, [{label, J("Call")}]),
DryRBn = wxButton:new(ScrollWin, ?wxID_ANY, [{label, J("Dry Run")}]),
_ = wxBoxSizer:add(FS, FLabel, [{proportion, 1}, {flag, ?wxEXPAND}]),
_ = wxBoxSizer:add(FS, CallBn, [{proportion, 0}, {flag, ?wxEXPAND}]),
_ = wxBoxSizer:add(FS, DryRBn, [{proportion, 0}, {flag, ?wxEXPAND}]),
_ = wxBoxSizer:add(FS, FLabel, zxw:flags(wide)),
_ = wxBoxSizer:add(FS, CallBn, zxw:flags(base)),
_ = wxBoxSizer:add(FS, DryRBn, zxw:flags(base)),
CallButton = #w{name = {Name, call}, id = wxButton:getId(CallBn), wx = CallBn},
DryRButton = #w{name = {Name, dryr}, id = wxButton:getId(DryRBn), wx = DryRBn},
_ = wxSizer:add(FunSz, FS, zxw:flags(base)),
_ = wxSizer:add(FunSz, FS, zxw:flags({base, 5})),
#f{name = Name, call = CallButton, dryrun = DryRButton, args = Args}
end,
IFaces = maps:map(MakeIface, Funs),
Iterator = maps:iterator(Funs, ordered),
IFaces = maps:map(MakeIface, Iterator),
NewButtons = maps:fold(fun map_iface_buttons/3, Buttons, IFaces),
{NewButtons, IFaces}.