home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
600-699
/
ff634.lha
/
APIG
/
apig33.lzh
/
gadtools3.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1992-03-11
|
3KB
|
114 lines
/* Example of GadTools ListView Gadget */
x = addlib("apig.library",0,-30,0) /* make the lib avaiable */
call SET_APIG_GLOBALS()
scr = LOCKPUBSCREEN("Workbench") /* gonna put our window */
/* Workbench screen */
scrvinfo = GETVISUALINFO(scr) /* NewGadgets need this */
scrfont = GETVALUE(scr,40,4,'p') /* NewGadgets need this */
/* points to TextAttr */
glistpointer = ALLOCVEC(4,MEMF_CLEAR) /* a pointer for context */
conxgad = CREATECONTEXT(glistpointer)
previousgadget = conxgad
myid = 10
/* we now create and initialize a NewGadget structure */
newgadx = MAKENEWGADGET(scrvinfo,scrfont,65,32,185,120,"YOUR LISTVIEW GADGET",
,PLACETEXT_ABOVE,myid,null())
/* before doing the gadget creation we need an Exec List */
myexeclist = build_me_a_list()
/* we now create the gadget, a LISTVIEW gadget */
previousgadget = CREATEGADGET(LISTVIEW_KIND,previousgadget,newgadx,
,GTLV_LABELS,myexeclist,
,LAYOUTA_SPACING,1,
,TAG_DONE,0)
wintitle = "APIG v3.1 GadTools LISTVIEW Gadget Example"
winidcmp = CLOSEWINDOW+GADGETUP+GADGETDOWN+MOUSEMOVE
winflags = WINDOWCLOSE+WINDOWDRAG+WINDOWSIZING+WINDOWDEPTH+GIMMEZEROZERO,
+ACTIVATE
portname = "apiggadt3_port"
p = openport(portname)
/* open window, last parm in OPENWINDOW call points to our gadgets */
w1 = OPENWINDOW(portname,0,30,640,200,2,4,winidcmp,winflags,wintitle,
,scr,0,null(),null(),conxgad)
call GT_REFRESHWINDOW(w1,null()) /* need after opening window */
rpw1 = GETWINDOWRASTPORT(w1)
exitme = 0
do while exitme = 0
x = waitpkt(portname)
do forever
msg = getpkt(portname)
if msg = '0000 0000'x then leave
msgclass = getarg(msg,0)
msgcode = getarg(msg,1)
x = reply(msg,0)
select
when msgclass = CLOSEWINDOW then exitme = 1
when msgclass = GADGETUP then
do
call cleareol(rpw1,290,50)
call pitext(rpw1,290,50,("You clicked line" msgcode),1,2,JAM2,null())
end
otherwise nop
end
end
end
call CLOSEWINDOW(w1)
call UNLOCKPUBSCREEN(null(),scr)
call FREEVISUALINFO(scrvinfo)
call FREEGADGETS(conxgad)
call FREETHIS(newgadx)
call FREEVEC(glistpointer)
call FREE_EXEC_LIST(myexeclist,,1)
exit
build_me_a_list:
mylist = ALLOCMEM(14,MEMF_CLEAR) /* our list structure */
/* always use ALLOCMEM */
/* so it can be freed */
/* properly. */
call NEWLIST(mylist)
do x = 1 to 30
txt = "This is Line " x
ptr_to_node_added = ADD_LIST_NODE(mylist,txt)
end
return mylist