1 XCOMM! CDE_INSTALLATION_TOP/bin/dtksh
2 XCOMM $XConsortium: CallDataTest4.src /main/3 1996/04/23 20:17:51 drk $
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
10 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
19 XCOMM PushButton Callback: Forces the scale to reset to the origin
22 XmScaleSetValue $SCALE 0
25 XCOMM PushButton Callback: Forces the scale to its minimum value
28 XmScaleSetValue $SCALE -200
31 XCOMM PushButton Callback: Forces the scale to its maximum value
34 XmScaleSetValue $SCALE 200
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}
60 XCOMM Scale Callback: Invoked when the user interactively modified the scale value
63 XmScaleGetValue $CB_WIDGET VALUE
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}
76 XCOMM ###################### Create the Main UI ###############################
78 XtInitialize TOPLEVEL command1 Command1 "$0" "$@"
80 XtCreateManagedWidget FORM form XmForm $TOPLEVEL
82 XtCreateManagedWidget SCALE scale XmScale $FORM \
84 orientation:HORIZONTAL \
87 topAttachment:ATTACH_FORM \
89 leftAttachment:ATTACH_FORM \
91 rightAttachment:ATTACH_FORM \
93 XtAddCallback $SCALE valueChangedCallback ScaleValueChanged
95 XtCreateManagedWidget SEP sep XmSeparator $FORM \
96 topAttachment:ATTACH_WIDGET \
99 leftAttachment:ATTACH_FORM \
100 rightAttachment:ATTACH_FORM
102 XtCreateManagedWidget PB pb XmPushButton $FORM \
103 labelString:"Reset Scale" \
104 topAttachment:ATTACH_WIDGET \
107 bottomAttachment:ATTACH_FORM \
109 leftAttachment:ATTACH_POSITION \
111 rightAttachment:ATTACH_POSITION \
113 XtAddCallback $PB activateCallback ResetScale
115 XtCreateManagedWidget PB2 pb XmPushButton $FORM \
116 labelString:"Set Scale Max" \
117 topAttachment:ATTACH_WIDGET \
120 bottomAttachment:ATTACH_FORM \
122 leftAttachment:ATTACH_POSITION \
124 rightAttachment:ATTACH_POSITION \
126 XtAddCallback $PB2 activateCallback SetScaleMax
128 XtCreateManagedWidget PB3 pb XmPushButton $FORM \
129 labelString:"Set Scale Min" \
130 topAttachment:ATTACH_WIDGET \
133 bottomAttachment:ATTACH_FORM \
135 leftAttachment:ATTACH_POSITION \
137 rightAttachment:ATTACH_POSITION \
139 XtAddCallback $PB3 activateCallback SetScaleMin
141 XtRealizeWidget $TOPLEVEL