home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / LFC-SW2.LHA / StormWizard / Example-Source / E / Test.e next >
Encoding:
Text File  |  1996-06-17  |  1.3 KB  |  37 lines

  1. /* very small StormWizard test in E, adaption of the Pascal version
  2.    by Wouter van Oortmerssen   */
  3.  
  4. MODULE 'wizard', 'libraries/wizard', 'intuition/intuition', 'intuition/screens'
  5.  
  6. PROC main() HANDLE
  7.   DEF wizgui=NIL, wizwin=NIL:PTR TO wizardwindowhandle,
  8.       wiznewwin=NIL:PTR TO nw, wizgadgets[25]:ARRAY OF gadget,
  9.       win=NIL:PTR TO window, wbscreen=NIL:PTR TO screen,
  10.       msg:PTR TO intuimessage, class
  11.  
  12.   IF (wizardbase:=OpenLibrary('wizard.library',0))=NIL THEN Raise("WIZL")
  13.   IF (wbscreen:=LockPubScreen('Workbench'))=NIL THEN Raise("WB")
  14.   IF (wizgui:=Wz_OpenSurfaceA('PROGDIR:Test.wizard',NIL,NIL))=NIL THEN Raise("WIZF")
  15.   IF (wizwin:=Wz_AllocWindowHandleA(wbscreen,0,wizgui,NIL))=NIL THEN Raise("WIZW")
  16.   IF (wiznewwin:=Wz_CreateWindowObjA(wizwin,1,
  17.        [WWH_GADGETARRAY,wizgadgets,NIL]))=NIL THEN Raise("WIZW")
  18.   IF (win:=Wz_OpenWindowA(wizwin,wiznewwin,NIL))=NIL THEN Raise("WIZW")
  19.  
  20.   LOOP
  21.     WaitPort(win.userport)
  22.     msg:=GetMsg(win.userport)
  23.     IF msg
  24.       class:=msg.class
  25.       ReplyMsg(msg)
  26.       IF class=IDCMP_CLOSEWINDOW THEN Raise()
  27.     ENDIF
  28.   ENDLOOP
  29.  
  30. EXCEPT DO
  31.  IF win THEN Wz_CloseWindow(wizwin)
  32.  IF wizwin THEN Wz_FreeWindowHandle(wizwin)
  33.  IF wizgui THEN Wz_CloseSurface(wizgui)
  34.  IF wbscreen THEN UnlockPubScreen(NIL,wbscreen)
  35.  IF wizardbase THEN CloseLibrary(wizardbase)
  36. ENDPROC
  37.