convert all Imakefile LinuxDistribution to LinuxArchitecture.
[oweals/cde.git] / cde / programs / dtksh / examples / CallbackTest2.src
1 XCOMM! CDE_INSTALLATION_TOP/bin/dtksh
2 XCOMM  $XConsortium: CallbackTest2.src /main/3 1996/04/23 20:17:57 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 widget callbacks can be
15 XCOMM  added and removed.  It adds callbacks both using XtAddCallback and
16 XCOMM  by specifying a callback as a resource, when the test pushbutton
17 XCOMM  is created.
18 XCOMM 
19
20 XCOMM  The activate callback which can be dynamically added and removed
21 ActivateCallback1()
22 {
23    echo "activateCallback1 invoked"
24 }
25
26 XCOMM  The activate callback which is added when the widget was created
27 ActivateCallback2()
28 {
29    echo "activateCallback2 invoked"
30 }
31
32 XCOMM  Pushbutton Callback: Adds an activate callback to the test pushbutton
33 AddCallback1()
34 {
35    XtAddCallback $TESTPB activateCallback ActivateCallback1
36    XtGetValues $TESTPB activateCallback:AC
37    echo "Callback list = "$AC
38 }
39
40 XCOMM  Pushbutton Callback: Removes an activate callback from the test pushbutton
41 DeleteCallback1()
42 {
43    XtRemoveCallback $TESTPB activateCallback ActivateCallback1
44    XtGetValues $TESTPB activateCallback:AC2
45    echo "Callback list = "$AC2
46 }
47
48 XCOMM ###################### Create the Main UI ###############################
49
50 XtInitialize TOPLEVEL callbackTest CallbackTest "$0" "$@"
51
52 XtCreateManagedWidget FORM form XmForm $TOPLEVEL
53
54 XtCreateManagedWidget PB1 pb XmPushButton $FORM \
55         labelString:"Add Callback1" \
56         topAttachment:ATTACH_FORM \
57         topOffset:10 \
58         leftAttachment:ATTACH_POSITION \
59         leftPosition:10 \
60         rightAttachment:ATTACH_POSITION \
61         rightPosition:40 \
62         activateCallback:AddCallback1
63
64 XtCreateManagedWidget PB2 pb2 XmPushButton $FORM \
65         labelString:"Delete Callback1" \
66         topAttachment:ATTACH_FORM \
67         topOffset:10 \
68         leftAttachment:ATTACH_POSITION \
69         leftPosition:60 \
70         rightAttachment:ATTACH_POSITION \
71         rightPosition:90 \
72         activateCallback:DeleteCallback1
73
74 XtCreateManagedWidget TESTPB testpb XmPushButton $FORM \
75         labelString:"Test Button" \
76         topAttachment:ATTACH_WIDGET \
77         topWidget:$PB2 \
78         topOffset:20 \
79         leftAttachment:ATTACH_POSITION \
80         leftPosition:20 \
81         rightAttachment:ATTACH_POSITION \
82         rightPosition:80 \
83         bottomAttachment:ATTACH_FORM \
84         bottomOffset:10 \
85         activateCallback:ActivateCallback2
86
87 XtRealizeWidget $TOPLEVEL
88
89 XtMainLoop