convert all Imakefile LinuxDistribution to LinuxArchitecture.
[oweals/cde.git] / cde / programs / dtksh / examples / CallDataTest4.src
1 XCOMM! CDE_INSTALLATION_TOP/bin/dtksh
2 XCOMM  $XConsortium: CallDataTest4.src /main/3 1996/04/23 20:17:51 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 the CB_WIDGET and CB_CALL_DATA
15 XCOMM  convenience environment variables can be referenced within a callback
16 XCOMM  function.
17 XCOMM 
18
19 XCOMM  PushButton Callback: Forces the scale to reset to the origin
20 ResetScale()
21 {
22    XmScaleSetValue $SCALE 0
23 }
24
25 XCOMM  PushButton Callback: Forces the scale to its minimum value
26 SetScaleMin()
27 {
28    XmScaleSetValue $SCALE -200
29 }
30
31 XCOMM  PushButton Callback: Forces the scale to its maximum value
32 SetScaleMax()
33 {
34    XmScaleSetValue $SCALE 200
35
36    echo "CB Widget = "$CB_WIDGET
37    echo "CallData = "$CB_CALL_DATA
38    echo "CallData.Reason = "${CB_CALL_DATA.REASON}
39    echo "CallData.Event = "${CB_CALL_DATA.EVENT}
40    echo "CallData.Event.Type = "${CB_CALL_DATA.EVENT.TYPE}
41    echo "CallData.Event.Xbutton.Type = "${CB_CALL_DATA.EVENT.XBUTTON.TYPE}
42    echo "CallData.Event.Xbutton.Serial = "${CB_CALL_DATA.EVENT.XBUTTON.SERIAL}
43    echo "CallData.Event.Xbutton.Send_Event = "${CB_CALL_DATA.EVENT.XBUTTON.SEND_EVENT}
44    echo "CallData.Event.Xbutton.Display = "${CB_CALL_DATA.EVENT.XBUTTON.DISPLAY}
45    echo "CallData.Event.Xbutton.Window = "${CB_CALL_DATA.EVENT.XBUTTON.WINDOW}
46    echo "CallData.Event.Xbutton.Root = "${CB_CALL_DATA.EVENT.XBUTTON.ROOT}
47    echo "CallData.Event.Xbutton.Subwindow = "${CB_CALL_DATA.EVENT.XBUTTON.SUBWINDOW}
48    echo "CallData.Event.Xbutton.Time = "${CB_CALL_DATA.EVENT.XBUTTON.TIME}
49    echo "CallData.Event.Xbutton.X = "${CB_CALL_DATA.EVENT.XBUTTON.X}
50    echo "CallData.Event.Xbutton.Y = "${CB_CALL_DATA.EVENT.XBUTTON.Y}
51    echo "CallData.Event.Xbutton.X_root = "${CB_CALL_DATA.EVENT.XBUTTON.X_ROOT}
52    echo "CallData.Event.Xbutton.Y_root = "${CB_CALL_DATA.EVENT.XBUTTON.Y_ROOT}
53    echo "CallData.Event.Xbutton.State = "${CB_CALL_DATA.EVENT.XBUTTON.STATE}
54    echo "CallData.Event.Xbutton.Button = "${CB_CALL_DATA.EVENT.XBUTTON.BUTTON}
55    echo "CallData.Event.Xbutton.Same_Screen = "${CB_CALL_DATA.EVENT.XBUTTON.SAME_SCREEN}
56    echo
57 }
58
59
60 XCOMM  Scale Callback: Invoked when the user interactively modified the scale value
61 ScaleValueChanged()
62 {
63    XmScaleGetValue $CB_WIDGET VALUE
64
65    echo "New Scale Value = "$VALUE
66    echo "CB Widget = "$CB_WIDGET
67    echo "CallData = "$CB_CALL_DATA
68    echo "CallData.Value = "${CB_CALL_DATA.VALUE}
69    echo "CallData.Event = "${CB_CALL_DATA.EVENT}
70    echo "CallData.Event.Xany.Type = "${CB_CALL_DATA.EVENT.XANY.TYPE}
71    echo "CallData.Event.Type = "${CB_CALL_DATA.EVENT.TYPE}
72    echo "CallData.Reason = "${CB_CALL_DATA.REASON}
73    echo
74 }
75
76 XCOMM ###################### Create the Main UI ###############################
77
78 XtInitialize TOPLEVEL command1 Command1 "$0" "$@"
79
80 XtCreateManagedWidget FORM form XmForm $TOPLEVEL
81
82 XtCreateManagedWidget SCALE scale XmScale $FORM \
83         showValue:True \
84         orientation:HORIZONTAL \
85         maximum:200 \
86         minimum:-200 \
87         topAttachment:ATTACH_FORM \
88         topOffset:10 \
89         leftAttachment:ATTACH_FORM \
90         leftOffset:10 \
91         rightAttachment:ATTACH_FORM \
92         rightOffset:10 
93 XtAddCallback $SCALE valueChangedCallback ScaleValueChanged
94
95 XtCreateManagedWidget SEP sep XmSeparator $FORM \
96         topAttachment:ATTACH_WIDGET \
97         topWidget:$SCALE \
98         topOffset:10 \
99         leftAttachment:ATTACH_FORM \
100         rightAttachment:ATTACH_FORM
101
102 XtCreateManagedWidget PB pb XmPushButton $FORM \
103         labelString:"Reset Scale" \
104         topAttachment:ATTACH_WIDGET \
105         topOffset:10 \
106         topWidget:$SEP \
107         bottomAttachment:ATTACH_FORM \
108         bottomOffset:10 \
109         leftAttachment:ATTACH_POSITION \
110         leftPosition:10 \
111         rightAttachment:ATTACH_POSITION \
112         rightPosition:30 
113 XtAddCallback $PB activateCallback ResetScale
114
115 XtCreateManagedWidget PB2 pb XmPushButton $FORM \
116         labelString:"Set Scale Max" \
117         topAttachment:ATTACH_WIDGET \
118         topOffset:10 \
119         topWidget:$SEP \
120         bottomAttachment:ATTACH_FORM \
121         bottomOffset:10 \
122         leftAttachment:ATTACH_POSITION \
123         leftPosition:40 \
124         rightAttachment:ATTACH_POSITION \
125         rightPosition:60 
126 XtAddCallback $PB2 activateCallback SetScaleMax
127
128 XtCreateManagedWidget PB3 pb XmPushButton $FORM \
129         labelString:"Set Scale Min" \
130         topAttachment:ATTACH_WIDGET \
131         topOffset:10 \
132         topWidget:$SEP \
133         bottomAttachment:ATTACH_FORM \
134         bottomOffset:10 \
135         leftAttachment:ATTACH_POSITION \
136         leftPosition:70 \
137         rightAttachment:ATTACH_POSITION \
138         rightPosition:90 
139 XtAddCallback $PB3 activateCallback SetScaleMin
140
141 XtRealizeWidget $TOPLEVEL
142
143 XtMainLoop