#! /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 to create a list widget, and # also how to query the bounds for each of the list items. # integer i # Pushbutton Callback: Query the bound for each list item GetBounds() { i=1 echo while XmListPosToBounds $LIST $i X Y W H; do echo "Bounds of item "$i" is ("$X $Y $W $H")" i=i+1 done } # Pushbutton Callback: Delete the first list item DelFirst() { XmListDeletePos $LIST 1 } ######################### Create the Main UI ################################# XtInitialize TOPLEVEL listKbd1 ListKbd1 "$0" "$@" XtSetValues $TOPLEVEL allowShellResize:True XmCreateScrolledList LIST $TOPLEVEL list itemCount:11 items:"item1,item2,item3,item4,item5,item6,item7,item8,item9,item10,item11" visibleItemCount:15 listSizePolicy:VARIABLE XtSetValues $LIST selectedItemCount:3 selectedItems:"item2,item4,item6" XtManageChild $LIST XtRealizeWidget $TOPLEVEL XtCreateApplicationShell TOPLEVEL2 listKbd1a TopLevelShell XtCreateManagedWidget RC rc XmRowColumn $TOPLEVEL2 orientation:HORIZONTAL numColumns:2 packing:PACK_COLUMN XtCreateManagedWidget PB1 pb1 XmPushButton $RC labelString:"Get Item Bounds" XtAddCallback $PB1 activateCallback "GetBounds" XtCreateManagedWidget PB2 pb2 XmPushButton $RC labelString:"Delete First Item" XtAddCallback $PB2 activateCallback "DelFirst" XtRealizeWidget $TOPLEVEL2 XtMainLoop