aboutsummaryrefslogtreecommitdiffstats
path: root/lib/observer/src/observer_wx.erl
diff options
context:
space:
mode:
authorDan Gudmundsson <[email protected]>2013-10-11 16:56:24 +0200
committerDan Gudmundsson <[email protected]>2014-01-27 15:52:52 +0100
commit549205db3dee21e83a64a01f03b1e8ed2225b276 (patch)
tree4cd5511e19ef0eb5277350800a4e48d18cd88786 /lib/observer/src/observer_wx.erl
parente2d565532d25024c1c0552d8eaaddf90eed88629 (diff)
downloadotp-549205db3dee21e83a64a01f03b1e8ed2225b276.tar.gz
otp-549205db3dee21e83a64a01f03b1e8ed2225b276.tar.bz2
otp-549205db3dee21e83a64a01f03b1e8ed2225b276.zip
observer: Consolidate the view of process information
Add clickable links to processes in process info Use html pages (contains clickable processes) to view messages, dictionary and other information.
Diffstat (limited to 'lib/observer/src/observer_wx.erl')
-rw-r--r--lib/observer/src/observer_wx.erl16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/observer/src/observer_wx.erl b/lib/observer/src/observer_wx.erl
index 3afe933e5a..9839f8bf7b 100644
--- a/lib/observer/src/observer_wx.erl
+++ b/lib/observer/src/observer_wx.erl
@@ -346,6 +346,22 @@ handle_info({nodedown, Node},
create_txt_dialog(Frame, Msg, "Node down", ?wxICON_EXCLAMATION),
{noreply, State3};
+handle_info({open_link, Pid0}, State = #state{pro_panel=ProcViewer, frame=Frame}) ->
+ Pid = case Pid0 of
+ [_|_] -> try list_to_pid(Pid0) catch _:_ -> Pid0 end;
+ _ -> Pid0
+ end,
+ %% Forward to process tab
+ case is_pid(Pid) of
+ true -> wx_object:get_pid(ProcViewer) ! {procinfo_open, Pid};
+ false ->
+ Msg = io_lib:format("Information about ~p is not available or implemented",[Pid]),
+ Info = wxMessageDialog:new(Frame, Msg),
+ wxMessageDialog:showModal(Info),
+ wxMessageDialog:destroy(Info)
+ end,
+ {noreply, State};
+
handle_info({'EXIT', Pid, _Reason}, State) ->
io:format("Child (~s) crashed exiting: ~p ~p~n",
[pid2panel(Pid, State), Pid,_Reason]),