aboutsummaryrefslogtreecommitdiffstats
path: root/lib/wx/test/wx_event_SUITE.erl
diff options
context:
space:
mode:
authorDan Gudmundsson <[email protected]>2016-03-08 08:57:40 +0100
committerDan Gudmundsson <[email protected]>2016-03-08 08:57:40 +0100
commit9bfbf4319a42be7572334b57c3e16864681c252c (patch)
tree24e81d691c2fe9e8d945415867239e2accc9e421 /lib/wx/test/wx_event_SUITE.erl
parent2a44ac37f487001b551c0103ed0b4c5ab4579ff1 (diff)
parentcd754f764825d71a5e5021c617a74d2dac211409 (diff)
downloadotp-9bfbf4319a42be7572334b57c3e16864681c252c.tar.gz
otp-9bfbf4319a42be7572334b57c3e16864681c252c.tar.bz2
otp-9bfbf4319a42be7572334b57c3e16864681c252c.zip
Merge remote-tracking branch 'origin/dgud/wx/bugs' into maint
* origin/dgud/wx/bugs: wx: Use wrapper classes where possible wx: Wait before throwing away early callbacks to wx_objects wx: Add wxWindow:SetTransparent and CanSetTransperant wx: Add wxWindow SetDoubleBuffered and IsDoubleBuffered from wxWidgets 3.0 wx: Remove http_util usage wx: Tiny optimization wx: Fix a crash with sending two binaries to command queue
Diffstat (limited to 'lib/wx/test/wx_event_SUITE.erl')
-rw-r--r--lib/wx/test/wx_event_SUITE.erl30
1 files changed, 27 insertions, 3 deletions
diff --git a/lib/wx/test/wx_event_SUITE.erl b/lib/wx/test/wx_event_SUITE.erl
index 7e71d6ca69..516133e3e2 100644
--- a/lib/wx/test/wx_event_SUITE.erl
+++ b/lib/wx/test/wx_event_SUITE.erl
@@ -46,8 +46,8 @@ end_per_testcase(Func,Config) ->
%% SUITE specification
suite() -> [{ct_hooks,[ts_install_cth]}].
-all() ->
- [connect, disconnect, connect_msg_20, connect_cb_20,
+all() ->
+ [connect, disconnect, disconnect_cb, connect_msg_20, connect_cb_20,
mouse_on_grid, spin_event, connect_in_callback, recursive,
dialog, char_events, callback_clean
].
@@ -162,9 +162,33 @@ disconnect(Config) ->
?m([], wx_test_lib:flush()),
wx_test_lib:wx_destroy(Frame, Config).
-
+
+disconnect_cb(TestInfo) when is_atom(TestInfo) -> wx_test_lib:tc_info(TestInfo);
+disconnect_cb(Config) ->
+ ?mr(wx_ref, wx:new()),
+ Frame = ?mt(wxFrame, wxFrame:new(wx:null(), 1, "Event Testing")),
+ Panel = ?mt(wxPanel, wxPanel:new(Frame)),
+
+ Tester = self(),
+ CB = fun(#wx{event=#wxSize{},userData=UserD}, SizeEvent) ->
+ ?mt(wxSizeEvent, SizeEvent),
+ wxEvtHandler:disconnect(Frame, close_window),
+ Tester ! {got_size, UserD}
+ end,
+ ?m(ok, wxFrame:connect(Frame, close_window)),
+ ?m(ok, wxFrame:connect(Frame, size)),
+ ?m(ok, wxEvtHandler:connect(Panel, size, [{callback,CB},{userData, panel}])),
+
+ ?m(true, wxFrame:show(Frame)),
+
+ wxWindow:setSize(Panel, {200,100}),
+ get_size_messages(Frame, [frame, panel_cb]),
+ wx_test_lib:flush(),
+
+ wx_test_lib:wx_destroy(Frame, Config).
+
%% Test that the msg events are forwarded as supposed to
connect_msg_20(TestInfo)
when is_atom(TestInfo) -> wx_test_lib:tc_info(TestInfo);