diff options
author | Dan Gudmundsson <dgud@erlang.org> | 2020-12-09 08:31:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-09 08:31:39 +0100 |
commit | 8392c461f6192e80f6ab69bc4c9d5f793fae0b2d (patch) | |
tree | 2aea728ded12ab94f2463ac6047bf49e7dbbdc33 | |
parent | 71c2ec6e0c4df3c7e1ff5a6b84144381e67a19dd (diff) | |
parent | 78c67c71f99fb4c5f47220f49cbe1f788eb176ee (diff) | |
download | erlang-8392c461f6192e80f6ab69bc4c9d5f793fae0b2d.tar.gz |
Merge pull request #2911 from dgud/dgud/wx/fix-taskbaricon
Change the taskbar api to be forward compat
-rw-r--r-- | lib/wx/api_gen/wx_extra/wxTaskBarIcon.erl | 15 | ||||
-rw-r--r-- | lib/wx/examples/simple/menu.erl | 4 | ||||
-rw-r--r-- | lib/wx/src/gen/wxTaskBarIcon.erl | 15 |
3 files changed, 19 insertions, 15 deletions
diff --git a/lib/wx/api_gen/wx_extra/wxTaskBarIcon.erl b/lib/wx/api_gen/wx_extra/wxTaskBarIcon.erl index 71e756157f..cde9c5ead6 100644 --- a/lib/wx/api_gen/wx_extra/wxTaskBarIcon.erl +++ b/lib/wx/api_gen/wx_extra/wxTaskBarIcon.erl @@ -31,12 +31,15 @@ new() -> %% <pre>Callback() -> term()</pre> %% %% See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtaskbaricon.html#wxtaskbariconwxtaskbaricon">external documentation</a>. --spec new(function()) -> wxTaskBarIcon(). -new(F) when is_function(F)-> - Fun = fun([_]) -> - #wx_ref{type=wxMenu,ref=ThisRef} = F(), - <<ThisRef:32/?UI>> - end, +-spec new([Option]) -> wxTaskBarIcon() when + Option :: {'createPopupMenu', fun(() -> wxMenu:wxMenu())}. +new([]) -> + new(); +new([{createPopupMenu, F}]) when is_function(F) -> + Fun = fun([_]) -> + #wx_ref{type=wxMenu,ref=ThisRef} = F(), + <<ThisRef:32/?UI>> + end, BinFun = <<(wxe_util:get_cbId(Fun)):32/?UI, 0:32>>, wxe_util:construct(?wxTaskBarIcon_new, BinFun). wxTaskBarIcon_new>> diff --git a/lib/wx/examples/simple/menu.erl b/lib/wx/examples/simple/menu.erl index 6765af2cc3..a81a1a6efa 100644 --- a/lib/wx/examples/simple/menu.erl +++ b/lib/wx/examples/simple/menu.erl @@ -90,9 +90,7 @@ start() -> Wx = wx:new(), Frame = wx:batch(fun() -> create_frame(Wx) end), - Taskbar = wxTaskBarIcon:new(fun() -> - create_dummy_menu() - end), + Taskbar = wxTaskBarIcon:new([{createPopupMenu, fun() -> create_dummy_menu() end}]), wxWindow:show(Frame), Path = filename:dirname(code:which(?MODULE)), wxTaskBarIcon:setIcon(Taskbar, wxIcon:new(filename:join(Path,"sample.xpm"), [{type, ?wxBITMAP_TYPE_XPM}])), diff --git a/lib/wx/src/gen/wxTaskBarIcon.erl b/lib/wx/src/gen/wxTaskBarIcon.erl index 66888abcd1..2f06d906ea 100644 --- a/lib/wx/src/gen/wxTaskBarIcon.erl +++ b/lib/wx/src/gen/wxTaskBarIcon.erl @@ -50,12 +50,15 @@ new() -> %% <pre>Callback() -> term()</pre> %% %% See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtaskbaricon.html#wxtaskbariconwxtaskbaricon">external documentation</a>. --spec new(function()) -> wxTaskBarIcon(). -new(F) when is_function(F)-> - Fun = fun([_]) -> - #wx_ref{type=wxMenu,ref=ThisRef} = F(), - <<ThisRef:32/?UI>> - end, +-spec new([Option]) -> wxTaskBarIcon() when + Option :: {'createPopupMenu', fun(() -> wxMenu:wxMenu())}. +new([]) -> + new(); +new([{createPopupMenu, F}]) when is_function(F) -> + Fun = fun([_]) -> + #wx_ref{type=wxMenu,ref=ThisRef} = F(), + <<ThisRef:32/?UI>> + end, BinFun = <<(wxe_util:get_cbId(Fun)):32/?UI, 0:32>>, wxe_util:construct(?wxTaskBarIcon_new, BinFun). %% @doc See <a href="http://www.wxwidgets.org/manuals/2.8.12/wx_wxtaskbaricon.html#wxtaskbariconpopupmenu">external documentation</a>. |