home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 15 / AACD15.ISO / AACD / Programming / BGUI / bgui_e / sources / examples / file.e < prev    next >
Encoding:
Text File  |  1999-08-26  |  4.8 KB  |  116 lines

  1. ;/* Execute me to compile.
  2. ec file
  3. quit
  4. */
  5. /*
  6. **      A small example of BGUI in Amiga E.
  7. **
  8. **      GUI stolen from the EasyGUI (file.e) example. Sorry
  9. **      Wouter, I could not resist ;)
  10. **
  11. **      Updated on 10-Aug-96
  12. **/
  13. OPT OSVERSION=37
  14. OPT PREPROCESS
  15.  
  16. MODULE 'libraries/bgui',
  17.        'libraries/bguim',
  18.        'libraries/gadtools',
  19.        'bgui',
  20.        'bgui/bgui_image',
  21.        'tools/boopsi',
  22.        'utility/tagitem',
  23.        'intuition/classes',
  24.        'intuition/classusr',
  25.        'intuition/gadgetclass'
  26.  
  27. /*
  28. **      And were off.
  29. **/
  30. PROC main()
  31.         DEF     wd_obj, running = TRUE, rc = 0, signal, s1, s2, s3
  32.  
  33.         /*
  34.         **      Open the library.
  35.         **/
  36.         IF bguibase := OpenLibrary( 'bgui.library', BGUIVERSION )
  37.                 /*
  38.                 **      Create a window object.
  39.                 **/
  40.                 wd_obj := WindowObject,
  41.                         WINDOW_Title,           'Select a file:',
  42.                         WINDOW_RMBTrap,         TRUE,
  43.                         WINDOW_AutoAspect,      TRUE,
  44.                         WINDOW_ScaleHeight,     20,
  45.                         WINDOW_AutoKeyLabel,    TRUE,
  46.                         WINDOW_MasterGroup,
  47.                                 /*
  48.                                 **      A vertical master group.
  49.                                 **/
  50.                                 VGroupObject, Spacing( 4 ), HOffset( 4 ), VOffset( 4 ),
  51.                                         StartMember, ListviewObject, EndObject, EndMember,
  52.                                         StartMember, s1 := TabKeyString( 'P_attern', '#?.e', 200, 0 ), FixMinHeight, EndMember,
  53.                                         StartMember, s2 := TabKeyString( '_Drawer',  'E:',   200, 0 ), FixMinHeight, EndMember,
  54.                                         StartMember, s3 := TabKeyString( '_File',    '',     200, 0 ), FixMinHeight, EndMember,
  55.                                         StartMember,
  56.                                                 HGroupObject, Spacing( 4 ),
  57.                                                         StartMember, KeyButton( '_OK', 0 ), EndMember,
  58.                                                         StartMember, KeyButton( '_Volumes', 0 ), EndMember,
  59.                                                         StartMember, KeyButton( '_Parent', 0 ), EndMember,
  60.                                                         StartMember, KeyButton( '_Cancel', 0 ), EndMember,
  61.                                                 EndObject, FixMinHeight,
  62.                                         EndMember,
  63.                                 EndObject,
  64.                         EndObject
  65.  
  66.                 /*
  67.                 **      Object created OK?
  68.                 **/
  69.                 IF wd_obj
  70.                         /*
  71.                         **      Setup tab-cycling.
  72.                         **/
  73.                         domethod( wd_obj, [ WM_TABCYCLE_ORDER, s1, s2, s3, NIL ] )
  74.                         /*
  75.                         **      Open up the window.
  76.                         **/
  77.                         IF WindowOpen( wd_obj )
  78.                                 /*
  79.                                 **      Obtain signal mask.
  80.                                 **/
  81.                                 GetAttr( WINDOW_SigMask, wd_obj, {signal} )
  82.                                 /*
  83.                                 **      Poll messages.
  84.                                 **/
  85.                                 WHILE running = TRUE
  86.                                         /*
  87.                                         **      Wait for the signal.
  88.                                         **/
  89.                                         Wait( signal )
  90.                                         /*
  91.                                         **      Call uppon the event handler.
  92.                                         **/
  93.                                         WHILE ( rc := HandleEvent( wd_obj )) <> WMHI_NOMORE
  94.                                                 SELECT rc
  95.                                                         CASE    WMHI_CLOSEWINDOW
  96.                                                                 running := FALSE
  97.                                                 ENDSELECT
  98.                                         ENDWHILE
  99.                                 ENDWHILE
  100.                         ENDIF
  101.                         /*
  102.                         **      Disposing of the object
  103.                         **      will automatically close the window
  104.                         **      and dispose of all objects that
  105.                         **      are attached to the window.
  106.                         **/
  107.                         DisposeObject( wd_obj )
  108.                 ELSE
  109.                         WriteF( 'Unable to create a window object\n' )
  110.                 ENDIF
  111.                 CloseLibrary(bguibase)
  112.         ELSE
  113.                 WriteF( 'Unable to open the bgui.library\n' )
  114.         ENDIF
  115. ENDPROC NIL
  116.