home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / e / EasyGUI_v33b2.lha / Src / Plugins / tapedeck.e < prev    next >
Text File  |  1997-02-02  |  3KB  |  88 lines

  1. OPT MODULE
  2.  
  3. MODULE 'tools/EasyGUI', 'tools/ghost',
  4.        'intuition/intuition', 'intuition/gadgetclass',
  5.        'gadgets/tapedeck'
  6.  
  7. EXPORT OBJECT tapedeck OF plugin
  8.   mode
  9.   paused
  10.   disabled
  11. PRIVATE
  12.   tapedeck:PTR TO gadget
  13.   tapedeckbase
  14. ENDOBJECT
  15.  
  16. PROC tapedeck(mode=BUT_STOP,paused=FALSE,disabled=FALSE) OF tapedeck
  17.   self.tapedeckbase:=OpenLibrary('gadgets/tapedeck.gadget',39)
  18.   IF self.tapedeckbase=NIL THEN Raise("tape")
  19.   self.mode:=mode
  20.   self.paused:=paused
  21.   self.disabled:=disabled
  22. ENDPROC
  23.  
  24. PROC end() OF tapedeck
  25.   IF self.tapedeckbase THEN CloseLibrary(self.tapedeckbase)
  26. ENDPROC
  27.  
  28. PROC min_size(ta,fh) OF tapedeck
  29. ENDPROC 201,15
  30.  
  31. PROC will_resize() OF tapedeck IS 0
  32.  
  33. PROC render(ta,x,y,xs,ys,w) OF tapedeck
  34.   self.tapedeck:=NewObjectA(NIL,'tapedeck.gadget',
  35.                      [GA_TOP,y, GA_LEFT,x, GA_WIDTH,xs, GA_HEIGHT,ys,
  36.                       TDECK_MODE,self.mode, TDECK_PAUSED,self.paused,
  37.                       TDECK_TAPE,TRUE, GA_DISABLED,self.disabled,
  38.                       GA_RELVERIFY,TRUE, NIL])
  39.   IF self.tapedeck=NIL THEN Raise("tape")
  40.   AddGList(w,self.tapedeck,-1,1,NIL)
  41.   RefreshGList(self.tapedeck,w,NIL,1)
  42.   IF self.disabled THEN ghost(w,self.x,self.y,self.xs,self.ys)
  43. ENDPROC
  44.  
  45. PROC clear_render(win:PTR TO window) OF tapedeck
  46.   IF self.tapedeck
  47.     RemoveGList(win,self.tapedeck,1)
  48.     DisposeObject(self.tapedeck)
  49.   ENDIF
  50. ENDPROC
  51.  
  52. PROC message_test(imsg:PTR TO intuimessage,win:PTR TO window) OF tapedeck
  53.   IF imsg.class=IDCMP_GADGETUP THEN RETURN imsg.iaddress=self.tapedeck
  54. ENDPROC FALSE
  55.  
  56. PROC message_action(class,qual,code,win:PTR TO window) OF tapedeck
  57.   DEF x
  58.   GetAttr(TDECK_MODE,self.tapedeck,{x})
  59.   self.mode:=x
  60.   GetAttr(TDECK_PAUSED,self.tapedeck,{x})
  61.   self.paused:=IF x THEN TRUE ELSE FALSE
  62. ENDPROC TRUE
  63.  
  64. PROC setmode(mode=BUT_STOP) OF tapedeck
  65.   self.mode:=mode
  66.   IF mode=BUT_PAUSE THEN self.paused:=self.paused=FALSE
  67.   SetGadgetAttrsA(self.tapedeck,self.gh.wnd,NIL,[TDECK_MODE,mode,NIL])
  68.   IF self.disabled THEN ghost(self.gh.wnd,self.x,self.y,self.xs,self.ys)
  69. ENDPROC
  70.  
  71. PROC setpaused(paused=TRUE) OF tapedeck
  72.   IF self.paused<>paused
  73.     SetGadgetAttrsA(self.tapedeck,self.gh.wnd,NIL,[TDECK_MODE,BUT_PAUSE,NIL])
  74.     IF self.disabled THEN ghost(self.gh.wnd,self.x,self.y,self.xs,self.ys)
  75.   ENDIF
  76.   self.paused:=paused
  77. ENDPROC
  78.  
  79. PROC setdisabled(disabled=TRUE) OF tapedeck
  80.   SetGadgetAttrsA(self.tapedeck,self.gh.wnd,NIL,[GA_DISABLED,disabled,NIL])
  81.   IF disabled
  82.     ghost(self.gh.wnd,self.x,self.y,self.xs,self.ys)
  83.   ELSE
  84.     unghost_clear(self.tapedeck,self.gh.wnd,self.x,self.y,self.xs,self.ys)
  85.   ENDIF
  86.   self.disabled:=disabled
  87. ENDPROC
  88.