aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tv/src/tv_pc_graph_ctrl.erl
blob: 3fc3ded5654d2be05b519cfb5e818192569b79d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
%%
%% %CopyrightBegin%
%% 
%% Copyright Ericsson AB 1997-2009. 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_pc_graph_ctrl).



-export([create_menu/4, win_conf/2]).


-include("tv_int_msg.hrl").
-include("tv_pc_int_def.hrl").








%%%*********************************************************************
%%% EXTERNAL FUNCTIONS
%%%*********************************************************************




%%======================================================================
%% Function:      
%%
%% Return Value:  
%%
%% Description:   
%%
%% Parameters:    
%%======================================================================


create_menu(PwPid, MenuTitle, TitleAccPos, MenuList) ->
    PwPid ! #pw_create_menu{sender        = self(),
			    menutitle     = MenuTitle,
			    title_acc_pos = TitleAccPos,
			    menulist      = MenuList
			   },
    receive 
	#pw_create_menu_cfm{} ->
	    done
    after 10000 ->
	    exit(error)
    end.
    








%%======================================================================
%% Function:      win_conf.
%%
%% Return Value:  None.
%%
%% Description:   Configures all objects in the window according to new coordinates.
%%
%% Parameters:    
%%======================================================================


win_conf(Msg, ProcVars) ->
    #pc_win_conf{width  = NewWidth, 
		 height = NewHeight}  = Msg,

    #process_variables{pd_pid        = PdPid,
		       window_params = WinP}  = ProcVars,
    
    #window_params{window_width  = OldWindowWidth,
		   window_height = OldWindowHeight}  = WinP,
		   

    case {NewWidth, NewHeight} of
	{OldWindowWidth, OldWindowHeight} ->
	    ProcVars;
	_Other ->
	    PdPid ! #pd_win_conf{sender = self(),
				 width  = NewWidth,
				 height = NewHeight
				},
	    NewWinP = WinP#window_params{window_width  = NewWidth,
					 window_height = NewHeight},
	    
	    ProcVars#process_variables{window_params = NewWinP}
    end.