home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 113 / EnigmaAmiga113CD.iso / software / sviluppo / easygui_os12 / examples / easyplugins / dclistview_os12_demo1.e < prev    next >
Encoding:
Text File  |  2000-06-06  |  2.2 KB  |  79 lines

  1. OPT PREPROCESS
  2.  
  3. -> RST: Added conditional EASY_OS12 support
  4. #define EASY_OS12
  5.  
  6. #ifdef EASY_OS12
  7.   MODULE 'tools/easygui_os12', 'easyplugins/dclistview_os12', 'hybrid/utility'
  8. #endif
  9. #ifndef EASY_OS12
  10.   OPT OSVERSION=37
  11.   MODULE 'tools/easygui', 'easyplugins/dclistview', 'utility'
  12. #endif
  13.  
  14. MODULE 'tools/exceptions', 'exec/nodes', 'exec/lists',
  15.        'tools/constructors', 'utility/tagitem'
  16.  
  17. DEF result=-1
  18.  
  19. PROC main() HANDLE
  20.   DEF dclist:PTR TO dclistview
  21.   DEF list, a, nodes
  22. #ifdef EASY_OS12
  23.   openUtility()
  24. #endif
  25. #ifndef EASY_OS12
  26.   IF (utilitybase:=OpenLibrary('utility.library', 37)) =NIL THEN Raise("util")
  27. #endif
  28.   list:=newlist()
  29.   nodes:=['zero','one','two','three','four','five','six','seven',
  30.           'eight','nine','ten','eleven','twelve','thirteen','fourteen']
  31.   ForAll({a}, nodes, `AddTail(list, newnode(NIL, a)))
  32.   NEW dclist.dclistview([DCLV_LABEL, 'L_abel',
  33.                          DCLV_RELX, 15,
  34.                          DCLV_RELY, 7,
  35.                          DCLV_LIST, list,
  36.                          DCLV_CURRENT, result,
  37.                          TAG_DONE])
  38.   easyguiA('Double Click test',
  39.           [EQROWS,
  40.             [DCLIST, {listaction},dclist,TRUE],  ->note use of ID constant (=PLUGIN)
  41.             [EQCOLS,
  42.               [SBUTTON, {okaction}, '_OK', dclist, "o"],
  43.               [SBUTTON, {disable}, '_Disable', dclist, "d"],
  44.               [SBUTTON, {cancelaction}, '_Cancel', NIL, "c"]
  45.             ]
  46.           ])
  47. EXCEPT DO
  48. #ifdef EASY_OS12
  49.   closeUtility()
  50. #endif
  51. #ifndef EASY_OS12
  52.   IF utilitybase THEN CloseLibrary(utilitybase)
  53. #endif
  54.   END dclist
  55.   IF exception<>"QUIT" THEN report_exception()
  56. ENDPROC
  57.  
  58. PROC listaction(info, dclist:PTR TO dclistview)
  59.   IF dclist.get(DCLV_CLICK) THEN okaction(dclist, NIL)
  60.   WriteF('Current Selection: \d\n',dclist.get(DCLV_CURRENT))
  61. ENDPROC
  62.  
  63. PROC okaction(dclist:PTR TO dclistview, info)
  64.   IF (result:=dclist.get(DCLV_CURRENT))= -1
  65.     WriteF('No selection made\n')
  66.     cancelaction(info)
  67.   ENDIF
  68.   WriteF('Final Selection: \d\n',result)
  69.   quitgui(result)
  70. ENDPROC
  71.  
  72. PROC disable(dclist:PTR TO dclistview, info) IS dclist.set(DCLV_DISABLED, dclist.get(DCLV_DISABLED)=FALSE)
  73.  
  74. PROC cancelaction(info)
  75.   WriteF('Operation cancelled.\n')
  76.   quitgui()
  77. ENDPROC
  78.  
  79.