#! /usr/dt/bin/dtksh ########################################################################## # (c) Copyright 1993, 1994 Hewlett-Packard Company # (c) Copyright 1993, 1994 International Business Machines Corp. # (c) Copyright 1993, 1994 Sun Microsystems, Inc. # (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of # Novell, Inc. ########################################################################## # # This sample shell script demonstrates how widget callbacks can be # added and removed. It adds callbacks both using XtAddCallback and # by specifying a callback as a resource, when the test pushbutton # is created. # # The activate callback which can be dynamically added and removed ActivateCallback1() { echo "activateCallback1 invoked" } # The activate callback which is added when the widget was created ActivateCallback2() { echo "activateCallback2 invoked" } # Pushbutton Callback: Adds an activate callback to the test pushbutton AddCallback1() { XtAddCallback $TESTPB activateCallback ActivateCallback1 XtGetValues $TESTPB activateCallback:AC echo "Callback list = "$AC } # Pushbutton Callback: Removes an activate callback from the test pushbutton DeleteCallback1() { XtRemoveCallback $TESTPB activateCallback ActivateCallback1 XtGetValues $TESTPB activateCallback:AC2 echo "Callback list = "$AC2 } ######################### Create the Main UI ################################# XtInitialize TOPLEVEL callbackTest CallbackTest "$0" "$@" XtCreateManagedWidget FORM form XmForm $TOPLEVEL XtCreateManagedWidget PB1 pb XmPushButton $FORM labelString:"Add Callback1" topAttachment:ATTACH_FORM topOffset:10 leftAttachment:ATTACH_POSITION leftPosition:10 rightAttachment:ATTACH_POSITION rightPosition:40 activateCallback:AddCallback1 XtCreateManagedWidget PB2 pb2 XmPushButton $FORM labelString:"Delete Callback1" topAttachment:ATTACH_FORM topOffset:10 leftAttachment:ATTACH_POSITION leftPosition:60 rightAttachment:ATTACH_POSITION rightPosition:90 activateCallback:DeleteCallback1 XtCreateManagedWidget TESTPB testpb XmPushButton $FORM labelString:"Test Button" topAttachment:ATTACH_WIDGET topWidget:$PB2 topOffset:20 leftAttachment:ATTACH_POSITION leftPosition:20 rightAttachment:ATTACH_POSITION rightPosition:80 bottomAttachment:ATTACH_FORM bottomOffset:10 activateCallback:ActivateCallback2 XtRealizeWidget $TOPLEVEL XtMainLoop