XCOMM! CDE_INSTALLATION_TOP/bin/dtksh XCOMM $XConsortium: ListBounds1.src /main/3 1996/04/23 20:18:16 drk $ XCOMM ######################################################################### XCOMM (c) Copyright 1993, 1994 Hewlett-Packard Company XCOMM (c) Copyright 1993, 1994 International Business Machines Corp. XCOMM (c) Copyright 1993, 1994 Sun Microsystems, Inc. XCOMM (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of XCOMM Novell, Inc. XCOMM ######################################################################### XCOMM XCOMM This sample shell script demonstrates how to create a list widget, and XCOMM also how to query the bounds for each of the list items. XCOMM integer i XCOMM 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 } XCOMM Pushbutton Callback: Delete the first list item DelFirst() { XmListDeletePos $LIST 1 } XCOMM ###################### 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