This commit is contained in:
2025-11-07 13:13:27 +09:00
parent 07628a71b3
commit bd047a6a46
4 changed files with 228 additions and 134 deletions
+22 -40
View File
@@ -92,21 +92,24 @@ init(Prefs) ->
VSN = proplists:get_value(vsn, ?MODULE:module_info(attributes)),
Wx = wx:new(),
Frame = wxFrame:new(Wx, ?wxID_ANY, AppName ++ " v" ++ VSN),
Panel = wxWindow:new(Frame, ?wxID_ANY),
TopSz = wxBoxSizer:new(?wxVERTICAL),
_ = wxBoxSizer:add(TopSz, Panel, zxw:flags(wide)),
MainSz = wxBoxSizer:new(?wxVERTICAL),
Picker = wxListBox:new(Frame, ?wxID_ANY, [{style, ?wxLC_SINGLE_SEL}]),
Picker = wxListBox:new(Panel, ?wxID_ANY, [{style, ?wxLC_SINGLE_SEL}]),
WallB = wxButton:new(Frame, ?wxID_ANY, [{label, "[none]"}, {style, ?wxBORDER_NONE}]),
WallB = wxButton:new(Panel, ?wxID_ANY, [{label, "[none]"}, {style, ?wxBORDER_NONE}]),
WallW = #w{name = wallet, id = wxButton:getId(WallB), wx = WallB},
ChainB = wxButton:new(Frame, ?wxID_ANY, [{label, "[ChainID]"}, {style, ?wxBORDER_NONE}]),
ChainB = wxButton:new(Panel, ?wxID_ANY, [{label, "[ChainID]"}, {style, ?wxBORDER_NONE}]),
_ = wxButton:disable(ChainB),
ChainW = #w{name = chain, id = wxButton:getId(ChainB), wx = ChainB},
NodeB = wxButton:new(Frame, ?wxID_ANY, [{label, "[Node]"}, {style, ?wxBORDER_NONE}]),
NodeB = wxButton:new(Panel, ?wxID_ANY, [{label, "[Node]"}, {style, ?wxBORDER_NONE}]),
NodeW = #w{name = node, id = wxButton:getId(NodeB), wx = NodeB},
DevB = wxButton:new(Frame, ?wxID_ANY, [{label, "𝑓 () →"}]),
DevB = wxButton:new(Panel, ?wxID_ANY, [{label, "𝑓 () →"}]),
DevW = #w{name = dev, id = wxButton:getId(DevB), wx = DevB},
ID_L = wxStaticText:new(Frame, ?wxID_ANY, J("Account ID: ")),
ID_T = wxStaticText:new(Frame, ?wxID_ANY, ""),
ID_L = wxStaticText:new(Panel, ?wxID_ANY, J("Account ID: ")),
ID_T = wxStaticText:new(Panel, ?wxID_ANY, ""),
ID_W =
{#w{id = wxStaticText:getId(ID_L), wx = ID_L},
#w{id = wxStaticText:getId(ID_T), wx = ID_T}},
@@ -114,8 +117,8 @@ init(Prefs) ->
_ = wxSizer:add(ID_Sz, ID_L, zxw:flags(base)),
_ = wxSizer:add(ID_Sz, ID_T, zxw:flags(wide)),
BalanceL = wxStaticText:new(Frame, ?wxID_ANY, ""),
BalanceT = wxStaticText:new(Frame, ?wxID_ANY, price_to_string(0)),
BalanceL = wxStaticText:new(Panel, ?wxID_ANY, ""),
BalanceT = wxStaticText:new(Panel, ?wxID_ANY, price_to_string(0)),
Balance =
{#w{id = wxStaticText:getId(BalanceL), wx = BalanceL},
#w{id = wxStaticText:getId(BalanceT), wx = BalanceT}},
@@ -142,7 +145,7 @@ init(Prefs) ->
MakeButton =
fun({Name, Label}) ->
B = wxButton:new(Frame, ?wxID_ANY, [{label, Label}]),
B = wxButton:new(Panel, ?wxID_ANY, [{label, Label}]),
#w{name = Name, id = wxButton:getId(B), wx = B}
end,
@@ -190,7 +193,7 @@ init(Prefs) ->
#w{wx = Refresh} = lists:keyfind(refresh, #w.name, Buttons),
% HistoryWin = wxScrolledWindow:new(Frame),
% HistoryWin = wxScrolledWindow:new(Panel),
% HistorySz = wxBoxSizer:new(?wxVERTICAL),
% ok = wxScrolledWindow:setSizerAndFit(HistoryWin, HistorySz),
% ok = wxScrolledWindow:setScrollRate(HistoryWin, 5, 5),
@@ -202,7 +205,8 @@ init(Prefs) ->
_ = wxSizer:add(MainSz, ActionsSz, zxw:flags(base)),
_ = wxSizer:add(MainSz, Refresh, zxw:flags(base)),
% _ = wxSizer:add(MainSz, HistoryWin, zxw:flags(wide)),
ok = wxFrame:setSizer(Frame, MainSz),
ok = wxWindow:setSizer(Panel, MainSz),
ok = wxFrame:setSizer(Frame, TopSz),
ok = wxSizer:layout(MainSz),
ok = gd_v:safe_size(Frame, Prefs),
@@ -578,8 +582,8 @@ show_mnemonic(Selected, State = #s{frame = Frame, j = J, accounts = Accounts}) -
MnemTx = wxTextCtrl:new(Dialog, ?wxID_ANY, Options),
_ = wxStaticBoxSizer:add(MnemSz, MnemTx, zxw:flags(wide)),
ButtSz = wxBoxSizer:new(?wxHORIZONTAL),
CloseB = wxButton:new(Dialog, ?wxID_CANCEL, [{label, J("Close")}]),
CopyB = wxButton:new(Dialog, ?wxID_OK, [{label, J("Copy to Clipboard")}]),
CloseB = wxButton:new(Dialog, ?wxID_CANCEL, [{label, J("Close")}]),
CopyB = wxButton:new(Dialog, ?wxID_OK, [{label, J("Copy to Clipboard")}]),
_ = wxBoxSizer:add(ButtSz, CloseB, zxw:flags(wide)),
_ = wxBoxSizer:add(ButtSz, CopyB, zxw:flags(wide)),
_ = wxBoxSizer:add(Sizer, MnemSz, zxw:flags(wide)),
@@ -843,33 +847,11 @@ is_int(S) ->
grids_dialogue(State = #s{frame = Frame, j = J}) ->
Dialog = wxDialog:new(Frame, ?wxID_ANY, J("GRIDS URL")),
Sizer = wxBoxSizer:new(?wxVERTICAL),
Label = J("GRIDS URL"),
URL_Sz = wxStaticBoxSizer:new(?wxVERTICAL, Dialog, [{label, J(Label)}]),
URL_Tx = wxTextCtrl:new(Dialog, ?wxID_ANY),
_ = wxStaticBoxSizer:add(URL_Sz, URL_Tx, zxw:flags(wide)),
ButtSz = wxBoxSizer:new(?wxHORIZONTAL),
Affirm = wxButton:new(Dialog, ?wxID_OK),
Cancel = wxButton:new(Dialog, ?wxID_CANCEL),
_ = wxBoxSizer:add(ButtSz, Affirm, zxw:flags(wide)),
_ = wxBoxSizer:add(ButtSz, Cancel, zxw:flags(wide)),
_ = wxBoxSizer:add(Sizer, URL_Sz, zxw:flags(base)),
_ = wxBoxSizer:add(Sizer, ButtSz, zxw:flags(wide)),
ok = wxDialog:setSizer(Dialog, Sizer),
ok = wxBoxSizer:layout(Sizer),
ok = wxDialog:setSize(Dialog, {500, 130}),
ok = wxDialog:center(Dialog),
ok = wxStyledTextCtrl:setFocus(URL_Tx),
Title = J("GRIDS URL"),
ok =
case wxDialog:showModal(Dialog) of
?wxID_OK ->
case wxTextCtrl:getValue(URL_Tx) of
"" -> ok;
String -> gd_con:grids(String)
end;
?wxID_CANCEL ->
ok
case zxw_modal_text:show(Frame, Title) of
{ok, String} -> gd_con:grids(String);
cancel -> ok
end,
State.