home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d523 / bmake.lha / BMake / source.lzh / guicode.c < prev    next >
C/C++ Source or Header  |  1991-07-01  |  3KB  |  100 lines

  1. /*    guicode.c
  2.  *    (c) Copyright 1991 by Ben Eng, All Rights Reserved
  3.  *
  4.  */
  5.  
  6. #ifndef NO_GAD_HEADERS
  7. #include <exec/types.h>
  8. #include <exec/lists.h>
  9. #include <intuition/intuition.h>
  10. #include <intuition/screens.h>
  11. #include <intuition/gadgetclass.h>
  12. #include <libraries/gadtools.h>
  13. #include <clib/gadtools_protos.h>
  14. #endif
  15.  
  16. #define NG_Region0 (NGAry + 0)
  17. #define NG_Region1 (NGAry + 1)
  18. #define NG_Region2 (NGAry + 2)
  19. #define NG_Region3 (NGAry + 3)
  20. #define GAD_Region0 0
  21. #define GAD_Region1 1
  22. #define GAD_Region2 2
  23. #define GAD_Region3 3
  24.  
  25. static struct NewGadget NGAry[4] = {
  26.     { 9,24,168,70,"Targets",(void *)0L,GAD_Region0,0x0004,(void *)0L },
  27.     { 12,110,81,14,"Add",(void *)0L,GAD_Region1,0x0010,(void *)0L },
  28.     { 94,110,80,14,"Delete",(void *)0L,GAD_Region2,0x0010,(void *)0L },
  29.     { 10,92,166,13,"ItemSelect",(void *)0L,GAD_Region3,0x0010,(void *)0L }
  30. };
  31.  
  32. #define WIN_LEFT   427
  33. #define WIN_TOP    0
  34. #define WIN_WIDTH  200
  35. #define WIN_HEIGHT 200
  36.  
  37. static struct Gadget *Gad_Region0;
  38. static struct Gadget *Gad_Region1;
  39. static struct Gadget *Gad_Region2;
  40. static struct Gadget *Gad_Region3;
  41. static struct MinList List_Region0 = { (struct MinNode *)&List_Region0.mlh_Tail, (void *)0L, (struct MinNode *)&List_Region0.mlh_Head };
  42. static char *Buf_Region0;
  43. static char *DefText_Region0 = (char *)0L;
  44.  
  45. static struct Gadget *GList;
  46. static struct VisualInfo *VisInfo;
  47. #define SelNo_Region0 0
  48.  
  49. struct Gadget *
  50. InitGads( struct Screen *scr )
  51. {
  52.     struct Gadget *gad;
  53.     short i;
  54.  
  55.     GList = (void *)0;
  56.     if ((VisInfo = GetVisualInfo(scr, TAG_END)) == NULL )
  57.         return((void *)0L);
  58.  
  59.     {
  60.         struct NewGadget *ng;
  61.         for( i = 0, ng = NGAry; i < sizeof(NGAry)/sizeof(NGAry[0]);
  62.             i++, ng++ ) {
  63.             ng->ng_VisualInfo = VisInfo;
  64.             ng->ng_TextAttr = scr->Font;
  65.         }
  66.     }
  67.     if( ( gad = CreateContext(&GList)) == NULL ) return((void *)0L);
  68.     Gad_Region0 = gad = CreateGadget(LISTVIEW_KIND, gad, NGAry + 0,
  69.         GTLV_Labels, &List_Region0,
  70.         GTLV_Selected, SelNo_Region0,
  71.         TAG_END
  72.     );
  73.     if( gad == NULL ) return( NULL );
  74.  
  75.     Gad_Region1 = gad = CreateGadget(BUTTON_KIND, gad, NGAry + 1, TAG_END );
  76.     if( gad == NULL ) return( NULL );
  77.  
  78.     Gad_Region2 = gad = CreateGadget(BUTTON_KIND, gad, NGAry + 2, TAG_END );
  79.     if( gad == NULL ) return( NULL );
  80.  
  81.     Gad_Region3 = gad = CreateGadget(STRING_KIND, gad, NGAry + 3,
  82.         GTST_MaxChars, 108,
  83.         GTST_String, DefText_Region0,
  84.         TAG_END
  85.     );
  86.     if( gad == NULL ) return( NULL );
  87.     Buf_Region0 = ((struct StringInfo *)gad->SpecialInfo)->Buffer;
  88.  
  89.     return( GList );
  90. }
  91.  
  92. void
  93. FreeGads(void)
  94. {
  95.     FreeGadgets( GList );
  96.     if( VisInfo ) FreeVisualInfo( VisInfo );
  97.     VisInfo = NULL;
  98.     GList = NULL;
  99. }
  100.