diff --git a/src/gmc_gui.erl b/src/gmc_gui.erl index 7491ad7..0dad9d3 100644 --- a/src/gmc_gui.erl +++ b/src/gmc_gui.erl @@ -24,6 +24,10 @@ id = 0 :: integer(), wx = none :: none | wx:wx_object()}). +-record(h, + {win = none :: none | wx:wx_object(), + sz = none :: none | wx:wx_object()}). + -record(s, {wx = none :: none | wx:wx_object(), frame = none :: none | wx:wx_object(), @@ -35,7 +39,8 @@ picker = none :: none | wx:wx_object(), id = {#w{}, #w{}} :: labeled(), balance = {#w{}, #w{}} :: labeled(), - buttons = [] :: [widget()]}). + buttons = [] :: [widget()], + history = #h{} :: #h{}}). -type state() :: term(). @@ -144,7 +149,6 @@ init(Prefs) -> AccountSz = wxBoxSizer:new(?wxHORIZONTAL), DetailsSz = wxBoxSizer:new(?wxHORIZONTAL), ActionsSz = wxBoxSizer:new(?wxHORIZONTAL), - HistorySz = wxBoxSizer:new(?wxVERTICAL), _ = wxSizer:add(ChainSz, WallB, zxw:flags(wide)), _ = wxSizer:add(ChainSz, ChainB, zxw:flags(wide)), @@ -176,14 +180,19 @@ init(Prefs) -> _ = wxSizer:add(ActionsSz, GridsBn, zxw:flags(wide)), #w{wx = Refresh} = lists:keyfind(refresh, #w.name, Buttons), - _ = wxSizer:add(HistorySz, Refresh, zxw:flags(base)), + + HistoryWin = wxScrolledWindow:new(Frame), + HistorySz = wxBoxSizer:new(?wxVERTICAL), + ok = wxScrolledWindow:setSizerAndFit(HistoryWin, HistorySz), + ok = wxScrolledWindow:setScrollRate(HistoryWin, 5, 5), _ = wxSizer:add(MainSz, ChainSz, zxw:flags(base)), _ = wxSizer:add(MainSz, AccountSz, zxw:flags(base)), _ = wxSizer:add(MainSz, Picker, zxw:flags(wide)), _ = wxSizer:add(MainSz, DetailsSz, zxw:flags(base)), _ = wxSizer:add(MainSz, ActionsSz, zxw:flags(base)), - _ = wxSizer:add(MainSz, HistorySz, [{proportion, 3}, {flag, ?wxEXPAND}]), + _ = wxSizer:add(MainSz, Refresh, zxw:flags(base)), + _ = wxSizer:add(MainSz, HistoryWin, zxw:flags(wide)), ok = wxFrame:setSizer(Frame, MainSz), ok = wxSizer:layout(MainSz), @@ -198,7 +207,8 @@ init(Prefs) -> picker = Picker, id = ID_W, balance = Balance, - buttons = Buttons}, + buttons = Buttons, + history = #h{win = HistoryWin, sz = HistorySz}}, {Frame, State}.