diff options
Diffstat (limited to 'lib/tv/src/tv_poll_dialog.erl')
-rw-r--r-- | lib/tv/src/tv_poll_dialog.erl | 363 |
1 files changed, 0 insertions, 363 deletions
diff --git a/lib/tv/src/tv_poll_dialog.erl b/lib/tv/src/tv_poll_dialog.erl deleted file mode 100644 index e33d398898..0000000000 --- a/lib/tv/src/tv_poll_dialog.erl +++ /dev/null @@ -1,363 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-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% -%%%********************************************************************* -%%% -%%% Description: Code for the "set poll interval" dialog with the user. -%%% -%%%********************************************************************* - --module(tv_poll_dialog). --compile([{nowarn_deprecated_function,{gs,button,2}}, - {nowarn_deprecated_function,{gs,config,2}}, - {nowarn_deprecated_function,{gs,label,2}}, - {nowarn_deprecated_function,{gs,radiobutton,2}}, - {nowarn_deprecated_function,{gs,scale,2}}, - {nowarn_deprecated_function,{gs,start,0}}, - {nowarn_deprecated_function,{gs,window,2}}]). - - --export([start/1, init/2]). - - - --include("tv_int_msg.hrl"). - - - --define(WINDOW_WIDTH, 305). --define(WINDOW_HEIGHT, 185). - --define(DEFAULT_BG_COLOR, {217, 217, 217}). - - - - - - -%%%********************************************************************* -%%% EXTERNAL FUNCTIONS -%%%********************************************************************* - - - -%%====================================================================== -%% Function: -%% -%% Return Value: -%% -%% Description: -%% -%% Parameters: -%%====================================================================== - - -start(Pos) -> - Pid = self(), - ProcPid = spawn_link(?MODULE, init, [Pid, Pos]), - receive_answer(ProcPid). - - - - - - - - -%%====================================================================== -%% Function: -%% -%% Return Value: -%% -%% Description: -%% -%% Parameters: -%%====================================================================== - - -init(Pid, Pos) -> - process_flag(trap_exit, true), - {ScalePos, ScaleRange, Poll, Color} = case Pos of - infinity -> - {0, {20, 20}, false, {255, 255, 255}}; - _Other -> - {Pos, {20, 300}, true, {0, 0, 0}} - end, - S = gs:start(), - Win = gs:window(S, [{width, ?WINDOW_WIDTH}, - {height, ?WINDOW_HEIGHT}, - {bg, ?DEFAULT_BG_COLOR}, - {title, "[TV] Set Poll Interval"}, - {configure, true}, - {destroy, true} - ]), - - NoPollBtn = gs:radiobutton(Win, [{height, 30}, - {width, 143}, - {x, 10}, - {y, 10}, - {bg, ?DEFAULT_BG_COLOR}, - {fg, {0, 0, 0}}, - {value, no_poll}, - {label, {text, "Manual Polling"}}, - {select, not(Poll)} - ]), - - PollBtn = gs:radiobutton(Win, [{height, 30}, - {width, 163}, - {x, 10}, - {y, 60}, - {bg, ?DEFAULT_BG_COLOR}, - {fg, {0, 0, 0}}, - {value, poll}, - {label, {text, "Automatic Polling"}}, - {select, Poll} - ]), - - Lbl = gs:label(Win, [{label, {text, "Poll Interval (seconds):"}}, - {align, center}, - {bg, ?DEFAULT_BG_COLOR}, - {fg, Color}, - {width, 183}, - {height, 30}, - {x, 10}, - {y, 100} - ]), - - Scale = gs:scale(Win, [{bg, ?DEFAULT_BG_COLOR}, - {fg, Color}, - {orient, horizontal}, - {range, ScaleRange}, - {pos, ScalePos}, - {width, 285}, - {height, 50}, - {x, 10}, - {y, 130} - ]), - - OkBtn = gs:button(Win, [{label, {text, "OK"}}, - {bg, ?DEFAULT_BG_COLOR}, - {fg, {0, 0, 0}}, - {align, center}, - {width, 60}, - {height, 30}, - {x, 230}, - {y, 10} - ]), - - CancelBtn = gs:button(Win, [{label, {text, "Cancel"}}, - {bg, ?DEFAULT_BG_COLOR}, - {fg, {0, 0, 0}}, - {align, center}, - {width, 60}, - {height, 30}, - {x, 230}, - {y, 60} - ]), - - gs:config(Win, {map, true}), - browser_loop(Pid, Win, NoPollBtn, PollBtn, Lbl, Scale, OkBtn, CancelBtn, Poll, Pos). - - - - - - - -%%%********************************************************************* -%%% INTERNAL FUNCTIONS -%%%********************************************************************* - - - - -%%====================================================================== -%% Function: -%% -%% Return Value: -%% -%% Description: -%% -%% Parameters: -%%====================================================================== - - -receive_answer(ProcPid) -> - receive_answer(ProcPid, undefined, undefined, undefined, undefined). - - - - - - - - - -%%====================================================================== -%% Function: -%% -%% Return Value: -%% -%% Description: -%% -%% Parameters: -%%====================================================================== - - -receive_answer(ProcPid, DataReqMsg, WinConfMsg, MarkedRowMsg, SubsetMsg) -> - receive Msg -> - case Msg of - - {browser, ProcPid, cancel} -> - PcPid = self(), - PcPid ! DataReqMsg, - PcPid ! WinConfMsg, - PcPid ! MarkedRowMsg, - PcPid ! SubsetMsg, - cancel; - - {browser, ProcPid, {true, PollInterval}} -> - PcPid = self(), - PcPid ! DataReqMsg, - PcPid ! WinConfMsg, - PcPid ! MarkedRowMsg, - PcPid ! SubsetMsg, - PollInterval; - - {browser, ProcPid, {false, _Pollinterval}} -> - PcPid = self(), - PcPid ! DataReqMsg, - PcPid ! WinConfMsg, - PcPid ! MarkedRowMsg, - PcPid ! SubsetMsg, - infinity; - - #pc_data_req{} -> - receive_answer(ProcPid, Msg, WinConfMsg, MarkedRowMsg, SubsetMsg); - - #pc_win_conf{} -> - receive_answer(ProcPid, DataReqMsg, Msg, MarkedRowMsg, SubsetMsg); - - #pc_marked_row{} -> - receive_answer(ProcPid, DataReqMsg, WinConfMsg, Msg, SubsetMsg); - - #dbs_subset{} -> - receive_answer(ProcPid, DataReqMsg, WinConfMsg, MarkedRowMsg, Msg); - - #pc_menu_msg{data = exit_button} -> - self() ! Msg, - cancel; - - #pc_set_sorting_mode{sender = Sender} -> - Sender ! #pd_ignore{sender = self()}, - ProcPid ! raise_and_beep, - receive_answer(ProcPid, DataReqMsg, WinConfMsg, MarkedRowMsg, SubsetMsg); - - {'EXIT', _Sender, _Reason} -> - self() ! Msg, - cancel; - - _Other -> - ProcPid ! raise_and_beep, - receive_answer(ProcPid, DataReqMsg, WinConfMsg, MarkedRowMsg, SubsetMsg) - end - end. - - - - - - - - -%%====================================================================== -%% Function: -%% -%% Return Value: -%% -%% Description: -%% -%% Parameters: -%%====================================================================== - - -browser_loop(Pid, Win, NoPollBtn, PollBtn, Lbl, Scale, OkBtn, CancelBtn, Poll, Pos) -> - receive - {gs, Scale, click, _, [NewPos | _]} -> - browser_loop(Pid, Win, NoPollBtn, PollBtn, Lbl, Scale, OkBtn, - CancelBtn, Poll, NewPos); - - {gs, NoPollBtn, click, _, _} -> - gs:config(Lbl, [{fg, {255, 255, 255}}]), - gs:config(Scale, [{fg, {255, 255, 255}}, {pos, 0}, {range, {20, 20}}]), - receive - {gs, Scale, click, _, _} -> - done - after 500 -> - done - end, - browser_loop(Pid, Win, NoPollBtn, PollBtn, Lbl, Scale, OkBtn, - CancelBtn, false, Pos); - - {gs, PollBtn, click, _, _} -> - gs:config(Lbl, [{fg, {0, 0, 0}}]), - gs:config(Scale, [{fg, {0, 0, 0}}, {pos, Pos}, {range, {20, 300}}]), - receive - {gs, Scale, click, _, _} -> - done - after 500 -> - done - end, - browser_loop(Pid, Win, NoPollBtn, PollBtn, Lbl, Scale, OkBtn, - CancelBtn, true, Pos); - - {gs, OkBtn, click, _, _} -> - Pid ! {browser, self(), {Poll, Pos}}; - - {gs, CancelBtn, click, _, _} -> - Pid ! {browser, self(), cancel}; - - {gs, _, destroy, _, _} -> - Pid ! {browser, self(), cancel}; - - - {gs, Win, configure, _, _} -> - gs:config(Win, [{width, ?WINDOW_WIDTH}, - {height, ?WINDOW_HEIGHT} - ]), - browser_loop(Pid, Win, NoPollBtn, PollBtn, Lbl, Scale, OkBtn, - CancelBtn, Poll, Pos); - - - raise_and_beep -> - gs:config(Win, [raise, - beep]), - browser_loop(Pid, Win, NoPollBtn, PollBtn, Lbl, Scale, OkBtn, - CancelBtn, Poll, Pos); - - - {'EXIT', _Sender, _Reason} -> - Pid ! {browser, self(), cancel}; - - - _Other -> - io:format("Poll dialog received message ~w ~n", [_Other]), - browser_loop(Pid, Win, NoPollBtn, PollBtn, Lbl, Scale, OkBtn, - CancelBtn, Poll, Pos) - - end. - |