pman_buf_printer.erl
来自「OTP是开放电信平台的简称」· ERL 代码 · 共 89 行
ERL
89 行
%% ``The contents of this file are subject to the Erlang Public License,%% Version 1.1, (the "License"); you may not use this file except in%% compliance with the License. You should have received a copy of the%% Erlang Public License along with this software. If not, it can be%% retrieved via the world wide web at http://www.erlang.org/.%% %% Software distributed under the License is distributed on an "AS IS"%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See%% the License for the specific language governing rights and limitations%% under the License.%% %% The Initial Developer of the Original Code is Ericsson Utvecklings AB.%% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings%% AB. All Rights Reserved.''%% %% $Id$%%-module(pman_buf_printer).%%-compile(export_all).-export([init/2]).-include("pman_buf.hrl").%% ---------------------------------------------------------------%% Starts the part of the buffer which regulates the flow of data to%% be printed in the pid editorsinit(Editor,Buffer_pid) -> Buffer_pid!{printer,send}, printer_loop(Editor,Buffer_pid). printer_loop(Editor,Buffer_pid)-> receive {save_buffer,Name} -> gs:config(Editor,{save,Name}), TT = "Buffer saved in file\n" ++ Name, pman_win:dialog_window(gs:start(),TT), printer_loop(Editor,Buffer_pid); {buffer,Trace} -> case lists:flat_length(Trace) of Len when Len > ?MAX_OUTPUT -> printer_long(lists:flatten(Trace),Editor), Buffer_pid!{printer,send}, printer_loop(Editor,Buffer_pid); _ -> Buffer_pid!{printer,send}, print_trace(Editor,Trace), printer_loop(Editor,Buffer_pid) end; clear -> pman_win:configeditor(Editor, [{enable, true}]), pman_win:configeditor(Editor,clear), pman_win:configeditor(Editor, [{enable, false}]), printer_loop(Editor,Buffer_pid); _Other -> printer_loop(Editor,Buffer_pid) end.printer_long([],_) -> ok;printer_long(Trace,Editor) -> receive clear -> pman_win:configeditor(Editor, [{enable, true}]), pman_win:configeditor(Editor,clear), pman_win:configeditor(Editor, [{enable, false}]) after 0 -> {_Length,Rest,Print} = pman_buf_utils:split(Trace, ?MAX_OUTPUT, 0, []), print_trace(Editor,Print), printer_long(Rest,Editor) end.%% ---------------------------------------------------------------%% Function which print trace messages on the window %% ---------------------------------------------------------------print_trace(Editor,Elements) -> pman_win:configeditor(Editor, [{enable, true}]), pman_win:configeditor(Editor, [{insert, {'end',Elements}}]), pman_win:configeditor(Editor, [{enable, false}]).
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?