convert all Imakefile LinuxDistribution to LinuxArchitecture.
[oweals/cde.git] / cde / programs / dtksh / examples / EventHandlerTest.src
1 XCOMM! CDE_INSTALLATION_TOP/bin/dtksh
2 XCOMM  $XConsortium: EventHandlerTest.src /main/3 1996/04/23 20:18:10 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 demonstrates how event handlers can be added
15 XCOMM  and removed.  It also demonstrates how the EH_WIDGET and EH_EVENT
16 XCOMM  convenience environment variables can be referenced.
17 XCOMM 
18
19
20 EventHandler1()
21 {
22    echo "EH_WIDGET ="$EH_WIDGET
23    echo "EH_EVENT ="$EH_EVENT
24    echo "EH_EVENT.TYPE ="${EH_EVENT.TYPE}
25    echo "event handler 1 invoked ("$1")"
26 }
27
28 EventHandler2()
29 {
30    echo "EH_WIDGET ="$EH_WIDGET
31    echo "EH_EVENT ="$EH_EVENT
32    echo "EH_EVENT.TYPE ="${EH_EVENT.TYPE}
33    echo "event handler 1 invoked ("$1")"
34 }
35
36 XCOMM  PushbuttonCallback: Adds an event handler to the form widget
37 AddMaskableEventHandler1()
38 {
39    XtAddEventHandler $FORM2 "Button2MotionMask" False \
40          "EventHandler1 1"
41 }
42
43 XCOMM  PushbuttonCallback: Adds an event handler to the form widget
44 AddMaskableEventHandler2()
45 {
46    XtAddEventHandler $FORM2 "ButtonPressMask|ButtonReleaseMask" False \
47          "EventHandler1 1"
48 }
49
50 XCOMM  PushbuttonCallback: Adds an event handler to the form widget
51 AddMaskableEventHandler3()
52 {
53    XtAddEventHandler $FORM2 "Button2MotionMask" False \
54          "EventHandler1 2"
55 }
56
57 XCOMM  PushbuttonCallback: Adds an event handler to the form widget
58 AddNonmaskableEventHandler()
59 {
60    XtAddEventHandler $FORM2 "NoEventMask" True "EventHandler2 1"
61 }
62
63 XCOMM  PushbuttonCallback: Adds an event handler to the form widget.
64 XCOMM                      Should report a bad event mask.
65 AddBadEventHandler()
66 {
67    XtAddEventHandler $FORM2 "fooMask" False "EventHandler2 1"
68 }
69
70 XCOMM  PushbuttonCallback: Removes an event handler to the form widget
71 RemoveEventHandler1()
72 {
73    XtRemoveEventHandler $FORM2 "Button2MotionMask" False \
74          "EventHandler1 1"
75 }
76
77 XCOMM  PushbuttonCallback: Removes an event handler to the form widget
78 RemoveEventHandler2()
79 {
80    XtRemoveEventHandler $FORM2 "ButtonPressMask|ButtonReleaseMask" False \
81          "EventHandler1 1"
82 }
83
84 XCOMM  PushbuttonCallback: Removes an event handler to the form widget
85 RemoveEventHandler1and2()
86 {
87    XtRemoveEventHandler $FORM2 "XtAllEvents" True "EventHandler1 1"
88 }
89
90
91
92 XCOMM ###################### Create the Main UI ###############################
93
94 XtInitialize TOPLEVEL eventHandlerTest EventHandlerTest "$0" "$@"
95
96 XtCreateManagedWidget FORM form XmForm $TOPLEVEL
97
98 XtCreateManagedWidget FORM2 form2 XmForm $FORM \
99         topAttachment:ATTACH_FORM \
100         leftAttachment:ATTACH_FORM \
101         rightAttachment:ATTACH_FORM
102 XtSetValues $FORM2 height:150 width:150
103
104 XtCreateManagedWidget SEP sep XmSeparator $FORM \
105         topAttachment:ATTACH_WIDGET \
106         topWidget:$FORM2 \
107         leftAttachment:ATTACH_FORM \
108         rightAttachment:ATTACH_FORM
109
110 XtCreateManagedWidget PB1 pb XmPushButton $FORM \
111         labelString:"Add Maskable Event Handler 1" \
112         topAttachment:ATTACH_WIDGET \
113         topWidget:$SEP \
114         topOffset:10 \
115         leftAttachment:ATTACH_POSITION \
116         leftPosition:10 \
117         rightAttachment:ATTACH_POSITION \
118         rightPosition:40
119 XtAddCallback $PB1 activateCallback AddMaskableEventHandler1
120
121 XtCreateManagedWidget PB2 pb2 XmPushButton $FORM \
122         labelString:"Add Maskable Event Handler 2" \
123         topAttachment:ATTACH_WIDGET \
124         topWidget:$SEP \
125         topOffset:10 \
126         leftAttachment:ATTACH_POSITION \
127         leftPosition:60 \
128         rightAttachment:ATTACH_POSITION \
129         rightPosition:90
130 XtAddCallback $PB2 activateCallback AddMaskableEventHandler2
131
132 XtCreateManagedWidget PB3 pb3 XmPushButton $FORM \
133         labelString:"Add Maskable Event Handler 3" \
134         topAttachment:ATTACH_WIDGET \
135         topWidget:$PB2 \
136         topOffset:10 \
137         leftAttachment:ATTACH_POSITION \
138         leftPosition:10 \
139         rightAttachment:ATTACH_POSITION \
140         rightPosition:40 
141 XtAddCallback $PB3 activateCallback AddMaskableEventHandler3
142
143 XtCreateManagedWidget PB4 pb4 XmPushButton $FORM \
144         labelString:"Add Maskable Event Handler 4" \
145         topAttachment:ATTACH_WIDGET \
146         topWidget:$PB2 \
147         topOffset:10 \
148         leftAttachment:ATTACH_POSITION \
149         leftPosition:60 \
150         rightAttachment:ATTACH_POSITION \
151         rightPosition:90
152 XtAddCallback $PB4 activateCallback AddMaskableEventHandler4
153 XtSetSensitive $PB4 False
154
155 XtCreateManagedWidget PB5 pb5 XmPushButton $FORM \
156         labelString:"Add non-maskable Event Handler" \
157         topAttachment:ATTACH_WIDGET \
158         topWidget:$PB4 \
159         topOffset:10 \
160         leftAttachment:ATTACH_POSITION \
161         leftPosition:10 \
162         rightAttachment:ATTACH_POSITION \
163         rightPosition:40
164 XtAddCallback $PB5 activateCallback AddNonmaskableEventHandler
165
166 XtCreateManagedWidget PB6 pb6 XmPushButton $FORM \
167         labelString:"Add Bad Event Handler" \
168         topAttachment:ATTACH_WIDGET \
169         topWidget:$PB4 \
170         topOffset:10 \
171         leftAttachment:ATTACH_POSITION \
172         leftPosition:60 \
173         rightAttachment:ATTACH_POSITION \
174         rightPosition:90
175 XtAddCallback $PB6 activateCallback AddBadEventHandler
176
177 XtCreateManagedWidget PB7 pb7 XmPushButton $FORM \
178         labelString:"Remove Maskable Event Handler 1" \
179         topAttachment:ATTACH_WIDGET \
180         topWidget:$PB6 \
181         topOffset:10 \
182         leftAttachment:ATTACH_POSITION \
183         leftPosition:10 \
184         rightAttachment:ATTACH_POSITION \
185         rightPosition:40 
186 XtAddCallback $PB7 activateCallback RemoveEventHandler1
187
188 XtCreateManagedWidget PB8 pb8 XmPushButton $FORM \
189         labelString:"Remove Maskable Event Handler 2" \
190         topAttachment:ATTACH_WIDGET \
191         topWidget:$PB6 \
192         topOffset:10 \
193         leftAttachment:ATTACH_POSITION \
194         leftPosition:60 \
195         rightAttachment:ATTACH_POSITION \
196         rightPosition:90
197 XtAddCallback $PB8 activateCallback RemoveEventHandler2
198
199 XtCreateManagedWidget PB9 pb9 XmPushButton $FORM \
200         labelString:"Remove Maskable Event Handler 1 and 2" \
201         topAttachment:ATTACH_WIDGET \
202         topWidget:$PB8 \
203         topOffset:10 \
204         leftAttachment:ATTACH_POSITION \
205         leftPosition:10 \
206         rightAttachment:ATTACH_POSITION \
207         rightPosition:40 \
208         bottomAttachment:ATTACH_FORM \
209         bottomOffset:10
210 XtAddCallback $PB9 activateCallback RemoveEventHandler1and2
211
212
213 XtRealizeWidget $TOPLEVEL
214
215 XtMainLoop