ef692f53a5983bb530d72dbaf98cd6b0ab3e640d
[oweals/cde.git] / cde / programs / dtksh / examples / TransEventTest.src
1 XCOMM! CDE_INSTALLATION_TOP/bin/dtksh
2 XCOMM  $XConsortium: TransEventTest.src /main/3 1996/04/23 20:19:07 drk $
3
4 XCOMM #########################################################################
5 XCOMM   (c) Copyright 1993, 1994 Hewlett-Packard Company        
6 XCOMM   (c) Copyright 1993, 1994 International Business Machines Corp.
7 XCOMM   (c) Copyright 1993, 1994 Sun Microsystems, Inc.
8 XCOMM   (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
9 XCOMM       Novell, Inc.
10 XCOMM #########################################################################
11
12
13 XCOMM 
14 XCOMM  This sample shell script verifies that the augment and override
15 XCOMM  capabilities for translations work as expected.  Since augmenting
16 XCOMM  a translation does not replace an existing translation, the first
17 XCOMM  pushbutton should only use our button3 translation.  Since overriding
18 XCOMM  a translation replaces an existing translation, the second pushbutton
19 XCOMM  should use both our Enter and button1 translations.
20 XCOMM 
21 XCOMM  It also demonstrates access to the TRANSLATION_EVENT convenience
22 XCOMM  environment variable.
23 XCOMM 
24
25 XCOMM  EnterNotify handler
26 Enter()
27 {
28    echo EnterNotify
29    echo "Event = "${TRANSLATION_EVENT}
30    echo "Event.type = "${TRANSLATION_EVENT.TYPE}
31    echo "Event.xany.window = "${TRANSLATION_EVENT.XANY.WINDOW}
32 }
33
34 XCOMM  ButtonDown handler; $1 indicates which button
35 BtnDown()
36 {
37    echo "ButtonDown ("$1")"
38    echo "Event = "${TRANSLATION_EVENT}
39    echo "Event.type = "${TRANSLATION_EVENT.TYPE}
40    echo "Event.xany.window = "${TRANSLATION_EVENT.XANY.WINDOW}
41    echo "Event.xbutton.x = "${TRANSLATION_EVENT.XBUTTON.X}
42    echo "Event.xbutton.y = "${TRANSLATION_EVENT.XBUTTON.Y}
43 }
44
45 XCOMM  Default activate callback for the pushbuttons; should only get called
46 XCOMM  for the first pushbutton (augmented one).
47 Activate()
48 {
49    echo "Activate ("$1")"
50 }
51
52
53 XCOMM ###################### Create the Main UI ###############################
54
55 XtInitialize TOPLEVEL transEventTest TransEventTest "$0" "$@"
56 XtSetValues $TOPLEVEL allowShellResize:True
57
58 XtCreateManagedWidget RC rc XmRowColumn $TOPLEVEL \
59          orientation:HORIZONTAL \
60          numColumns:2 \
61          packing:PACK_COLUMN 
62
63 XtCreateManagedWidget PB1 pb1 XmPushButton $RC \
64         labelString:"Augmented Button" \
65         translations:'#augment
66                 <EnterNotify>:ksh_eval("Enter") 
67                 <Btn1Down>:ksh_eval("BtnDown 1")
68                 <Btn3Down>:ksh_eval("BtnDown 3")'
69 XtAddCallback $PB1 activateCallback "Activate 1"
70
71 XtCreateManagedWidget PB2 pb2 XmPushButton $RC \
72         labelString:"Overridden Button" \
73         translations:'#override
74                 <EnterNotify>:ksh_eval("Enter") 
75                 <Btn1Down>:ksh_eval("BtnDown 1")'
76 XtAddCallback $PB2 activateCallback "Activate 2"
77
78 XtRealizeWidget $TOPLEVEL
79
80 XtMainLoop