aboutsummaryrefslogtreecommitdiffstats
path: root/lib/gs/doc/src/examples/ex9.erl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gs/doc/src/examples/ex9.erl')
-rw-r--r--lib/gs/doc/src/examples/ex9.erl43
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/gs/doc/src/examples/ex9.erl b/lib/gs/doc/src/examples/ex9.erl
new file mode 100644
index 0000000000..2034520c6c
--- /dev/null
+++ b/lib/gs/doc/src/examples/ex9.erl
@@ -0,0 +1,43 @@
+-module(ex9).
+-copyright('Copyright (c) 1991-97 Ericsson Telecom AB').
+-vsn('$Revision: /main/release/2 $ ').
+
+-export([start/0,init/1]).
+
+start() ->
+ spawn(ex9, init, [self()]),
+ receive
+ {entry_reply, Reply} -> Reply
+ end.
+
+init(Pid) ->
+ S = gs:start(),
+ Win = gs:create(window,S,[{title,"Entry Demo"},
+ {width,150},{height,100}]),
+ gs:create(label,Win,[{label,{text,"What's your name?"}},
+ {width,150}]),
+ gs:create(entry,entry,Win,[{x,10},{y,30},{width,130},
+ {keypress,true}]),
+ gs:create(button,ok,Win,[{width,45},{y,60},{x,10},
+ {label,{text,"Ok"}}]),
+ gs:create(button,cancel,Win,[{width,60},{y,60},{x,80},
+ {label,{text,"Cancel"}}]),
+ gs:config(Win,{map,true}),
+ loop(Pid).
+
+loop(Pid) ->
+ receive
+ {gs,entry,keypress,_,['Return'|_]} ->
+ Text=gs:read(entry,text),
+ Pid ! {entry_reply,{name,Text}};
+ {gs,entry,keypress,_,_} -> % all other keypresses
+ loop(Pid);
+ {gs,ok,click,_,_} ->
+ Text=gs:read(entry,text),
+ Pid ! {entry_reply,{name,Text}};
+ {gs,cancel,click,_,_} ->
+ Pid ! {entry_reply,cancel};
+ X ->
+ io:format("Got X=~w~n",[X]),
+ loop(Pid)
+ end.