diff options
Diffstat (limited to 'lib/tv/src/tv_utils.erl')
-rw-r--r-- | lib/tv/src/tv_utils.erl | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/lib/tv/src/tv_utils.erl b/lib/tv/src/tv_utils.erl deleted file mode 100644 index 799e3994cb..0000000000 --- a/lib/tv/src/tv_utils.erl +++ /dev/null @@ -1,179 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1998-2012. All Rights Reserved. -%% -%% 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 online 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. -%% -%% %CopyrightEnd% --module(tv_utils). --compile([{nowarn_deprecated_function,{gs,config,2}}, - {nowarn_deprecated_function,{gs,create,3}}, - {nowarn_deprecated_function,{gs,destroy,1}}]). - - - --export([notify/3]). - - - - %% Minimum size of help windows --define(wwin, 300). --define(hwin, 180). - - %% Button sizes --define(wbut, 60). --define(hbut, 30). - --define(pad, 10). - - -%---------------------------------------- -% notify(S,Strings) -> ok -% S = pid() GS -% Strings = string() | [string()] -% A notification window contains a message to the user. -% Will lock the GUI until the user confirms the message by -% pressing the 'Ok' button. -%---------------------------------------- -notify(S,Title,Strings) -> - W = required_width(Strings, ?wwin), - Htop = round(2 * ?hwin / 3), - Hbot = ?hwin - Htop, - - %% Open a new window - Win = gs:create(window,S,[{width, W}, - {height, ?hwin}, - {title, Title}, - {data, notifywin} - ]), - - %% Top frame containing a label - Top = gs:create(frame,Win,[{width, W}, - {height, Htop}, - {x, 0}, - {y, 0}, - {data, notifywin}, - {keypress, true} - ]), - - Lbl = gs:create(label,Top,[{width,W}, - {height, Htop - 2 * ?pad}, - {x, 0}, - {y, ?pad}, - {align, c}, - {justify, center}, - {data, notifywin}, - {keypress, true} - ]), - - gs:config(Lbl, {label, {text, insert_newlines(Strings)}}), - - %% Bottom frame containing an 'Ok' button - Bot = gs:create(frame,Win,[{width, W}, - {height, Hbot}, - {x, 0}, - {y, Htop} - ]), - gs:create(button,Bot,[{width, ?wbut}, - {height, ?hbut}, - {x, W / 2 - ?wbut/2}, - {y, Hbot / 2 - ?hbut / 2}, - {label, {text, "OK"}}, - {data, notifywin}, - {keypress, true}]), - - gs:config(Win, [{map,true}]), - - event_loop(Win,null). - - - - -insert_newlines([String|Rest]) when is_list(String), Rest=/=[]-> - String ++ "\n" ++ insert_newlines(Rest); -insert_newlines([Last]) -> - [Last]; -insert_newlines(Other) -> - Other. - - - - -event_loop(Win,Entry) -> - receive - - %% - %% Notify window - %% - - %% 'Ok' pressed in notify window - {gs,_Obj,_Event,notifywin,["OK"|_]} -> - gs:destroy(Win), - ok; - - %% 'Window manager destroy' received in notify window - {gs,_Obj,destroy,notifywin,_} -> - gs:destroy(Win), - ok; - - %% 'Return' pressed in notify or confirm window - {gs,_Obj,_Event,helpwin,['Return'|_]} -> - gs:destroy(Win), - ok; - - - %% - %% Common or partly common events - %% - - %% 'Window manager destroy' received in notify, - %% confirm,confirm_exit or request window - {gs,_Obj,destroy,_,_} -> - gs:destroy(Win), - cancel; - - %% Flush any other GS events - {gs,_Obj,_Event,_Data,_Arg} -> - event_loop(Win,Entry) - end. - - - - -%---------------------------------------- -% required_width(Strings,Min) -> Req -% Strings = string() | [string()] -% Min = Req = integer() -% Returns the minimum required width in pixels for a help window, -% which is the maximum of Min and the required width for Strings. -% NOTE: Font dependant really! -%---------------------------------------- -required_width([First|Rest],Min) when is_list(First) -> - Req = 7*length(First), % 7 pixels per character - if - Req>Min -> - required_width(Rest,Req); - true -> - required_width(Rest,Min) - end; -required_width([],Min) -> - Min; -required_width(String,Min) -> - Req = 7*length(String), - if - Req>Min -> - Req; - true -> - Min - end. - |