summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gudmundsson <dgud@erlang.org>2020-12-09 08:31:39 +0100
committerGitHub <noreply@github.com>2020-12-09 08:31:39 +0100
commit8392c461f6192e80f6ab69bc4c9d5f793fae0b2d (patch)
tree2aea728ded12ab94f2463ac6047bf49e7dbbdc33
parent71c2ec6e0c4df3c7e1ff5a6b84144381e67a19dd (diff)
parent78c67c71f99fb4c5f47220f49cbe1f788eb176ee (diff)
downloaderlang-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.erl15
-rw-r--r--lib/wx/examples/simple/menu.erl4
-rw-r--r--lib/wx/src/gen/wxTaskBarIcon.erl15
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>.