home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / dev / dropbox-1.1.lha / DropBox / src / window.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-09-05  |  9.8 KB  |  331 lines

  1. /*
  2.  *  Source machine generated by GadToolsBox V2.0b
  3.  *  which is (c) Copyright 1991-1993 Jaba Development
  4.  *
  5.  *  GUI Designed by : Steve Anichini
  6.  */
  7.  
  8.  
  9. #include "window.h"
  10.  
  11. struct Screen         *Scr = NULL;
  12. UBYTE                 *PubScreenName = "Workbench";
  13. APTR                   VisualInfo = NULL;
  14. struct Window         *DropBoxWnd = NULL;
  15. struct Window         *SelectWnd = NULL;
  16. struct Gadget         *DropBoxGList = NULL;
  17. struct Gadget         *SelectGList = NULL;
  18. struct Menu           *DropBoxMenus = NULL;
  19. struct Gadget         *DropBoxGadgets[18];
  20. struct Gadget         *SelectGadgets[3];
  21. extern Class          *initGet( void );
  22. struct IClass         *getClass = NULL;
  23. struct _Object        *getImage = NULL;
  24. UWORD                  DropBoxLeft = 103;
  25. UWORD                  DropBoxTop = 150;
  26. UWORD                  DropBoxWidth = 416;
  27. UWORD                  DropBoxHeight = 162;
  28. UWORD                  SelectLeft = 182;
  29. UWORD                  SelectTop = 96;
  30. UWORD                  SelectWidth = 211;
  31. UWORD                  SelectHeight = 133;
  32. UBYTE                 *DropBoxWdt = (UBYTE *)"DropBox 1.1";
  33. UBYTE                 *SelectWdt = (UBYTE *)"DropBox Selection";
  34.  
  35. struct TextAttr topaz8 = {
  36.     ( STRPTR )"topaz.font", 8, 0x00, 0x00 };
  37.  
  38. struct NewMenu DropBoxNewMenu[] = {
  39.     NM_TITLE, (STRPTR)"Project", NULL, 0, NULL, NULL,
  40.     NM_ITEM, (STRPTR)"New...", (STRPTR)"N", 0, 0L, NULL,
  41.     NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
  42.     NM_ITEM, (STRPTR)"Open...", (STRPTR)"O", 0, 0L, NULL,
  43.     NM_ITEM, (STRPTR)"Save", (STRPTR)"S", 0, 0L, NULL,
  44.     NM_ITEM, (STRPTR)"Save as...", NULL, 0, 0L, NULL,
  45.     NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
  46.     NM_ITEM, (STRPTR)"About...", NULL, 0, 0L, NULL,
  47.     NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
  48.     NM_ITEM, (STRPTR)"Hide", (STRPTR)"H", 0, 0L, NULL,
  49.     NM_ITEM, (STRPTR)"Quit...", (STRPTR)"Q", 0, 0L, NULL,
  50.     NM_TITLE, (STRPTR)"Edit", NULL, 0, NULL, NULL,
  51.     NM_ITEM, (STRPTR)"Cut", (STRPTR)"X", NM_ITEMDISABLED, 0L, NULL,
  52.     NM_ITEM, (STRPTR)"Copy", (STRPTR)"C", NM_ITEMDISABLED, 0L, NULL,
  53.     NM_ITEM, (STRPTR)"Paste", (STRPTR)"V", NM_ITEMDISABLED, 0L, NULL,
  54.     NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
  55.     NM_ITEM, (STRPTR)"Bubble Up", (STRPTR)"U", NM_ITEMDISABLED, 0L, NULL,
  56.     NM_ITEM, (STRPTR)"Bubble Down", (STRPTR)"D", NM_ITEMDISABLED, 0L, NULL,
  57.     NM_TITLE, (STRPTR)"Options", NULL, 0, NULL, NULL,
  58.     NM_ITEM, (STRPTR)"Create Icons", NULL, CHECKIT|MENUTOGGLE, 0L, NULL,
  59.     NM_ITEM, (STRPTR)"Use Select Window", NULL, CHECKIT|MENUTOGGLE, 0L, NULL,
  60.     NM_ITEM, (STRPTR)"Verify Commands", NULL, CHECKIT|MENUTOGGLE, 0L, NULL,
  61.     NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
  62.     NM_ITEM, (STRPTR)"I/O Window size...", NULL, 0, 0L, NULL,
  63.     NM_END, NULL, NULL, 0, 0L, NULL };
  64.  
  65. UWORD DropBoxGTypes[] = {
  66.     BUTTON_KIND,
  67.     BUTTON_KIND,
  68.     BUTTON_KIND,
  69.     GENERIC_KIND,
  70.     BUTTON_KIND,
  71.     GENERIC_KIND,
  72.     CHECKBOX_KIND,
  73.     STRING_KIND,
  74.     LISTVIEW_KIND,
  75.     STRING_KIND,
  76.     LISTVIEW_KIND,
  77.     STRING_KIND,
  78.     STRING_KIND,
  79.     STRING_KIND,
  80.     BUTTON_KIND,
  81.     BUTTON_KIND,
  82.     BUTTON_KIND,
  83.     CHECKBOX_KIND
  84. };
  85.  
  86. UWORD SelectGTypes[] = {
  87.     LISTVIEW_KIND,
  88.     BUTTON_KIND,
  89.     BUTTON_KIND
  90. };
  91.  
  92. struct NewGadget DropBoxNGad[] = {
  93.     5, 80, 41, 15, (UBYTE *)"_Add", NULL, GD_Add, PLACETEXT_IN, NULL, NULL,
  94.     48, 80, 41, 15, (UBYTE *)"Del", NULL, GD_Delete, PLACETEXT_IN, NULL, NULL,
  95.     91, 80, 41, 15, (UBYTE *)"_Ins", NULL, GD_Insert, PLACETEXT_IN, NULL, NULL,
  96.     291, 103, 20, 14, NULL, NULL, GD_DestGet, 0, NULL, NULL,
  97.     134, 80, 41, 15, (UBYTE *)"Sort", NULL, GD_Sort, PLACETEXT_IN, NULL, NULL,
  98.     291, 123, 20, 14, NULL, NULL, GD_ComGet, 0, NULL, NULL,
  99.     373, 15, 26, 11, (UBYTE *)"I/O", NULL, GD_Suppress, PLACETEXT_LEFT, NULL, NULL,
  100.     5, 20, 170, 17, NULL, NULL, GD_Name, 0, NULL, NULL,
  101.     5, 15, 170, 56, (UBYTE *)"DropItem Database", NULL, GD_File_Types, PLACETEXT_ABOVE|NG_HIGHLABEL, NULL, NULL,
  102.     185, 20, 126, 17, NULL, NULL, GD_Pattern, 0, NULL, NULL,
  103.     185, 15, 126, 56, (UBYTE *)"Pattern", NULL, GD_Pat_View, PLACETEXT_ABOVE|NG_HIGHLABEL, NULL, NULL,
  104.     103, 100, 186, 17, (UBYTE *)"Destination", NULL, GD_Dest, PLACETEXT_LEFT, NULL, NULL,
  105.     102, 120, 187, 17, (UBYTE *)"Command    ", NULL, GD_Command, PLACETEXT_LEFT, NULL, NULL,
  106.     78, 140, 233, 17, (UBYTE *)"Template", NULL, GD_Template, PLACETEXT_LEFT, NULL, NULL,
  107.     185, 80, 41, 15, (UBYTE *)"Add", NULL, GD_Pat_Add, PLACETEXT_IN, NULL, NULL,
  108.     227, 80, 41, 15, (UBYTE *)"Del", NULL, GD_Pat_Del, PLACETEXT_IN, NULL, NULL,
  109.     270, 80, 41, 15, (UBYTE *)"Ins", NULL, GD_Pat_Ins, PLACETEXT_IN, NULL, NULL,
  110.     373, 30, 26, 11, (UBYTE *)"Create", NULL, GD_Create, PLACETEXT_LEFT, NULL, NULL
  111. };
  112.  
  113. struct NewGadget SelectNGad[] = {
  114.     17, 14, 170, 80, (UBYTE *)"Process With:", NULL, GD_SelectGad, PLACETEXT_ABOVE|NG_HIGHLABEL, NULL, NULL,
  115.     127, 105, 60, 21, (UBYTE *)"Cancel", NULL, GD_Cancel, PLACETEXT_IN, NULL, NULL,
  116.     17, 105, 43, 21, (UBYTE *)"Ok", NULL, GD_Ok, PLACETEXT_IN, NULL, NULL
  117. };
  118.  
  119. ULONG DropBoxGTags[] = {
  120.     (GT_Underscore), '_', (TAG_DONE),
  121.     (GA_Disabled), TRUE, (TAG_DONE),
  122.     (GT_Underscore), '_', (GA_Disabled), TRUE, (TAG_DONE),
  123.     (TAG_DONE),
  124.     (TAG_DONE),
  125.     (TAG_DONE),
  126.     (GA_Disabled), TRUE, (TAG_DONE),
  127.     (GTST_MaxChars), 30, (GA_Disabled), TRUE, (TAG_DONE),
  128.     (GTLV_ShowSelected), 1L, (TAG_DONE),
  129.     (GTST_MaxChars), 10, (GA_Disabled), TRUE, (TAG_DONE),
  130.     (GTLV_ShowSelected), 1L, (TAG_DONE),
  131.     (GTST_MaxChars), 128, (GA_Disabled), TRUE, (TAG_DONE),
  132.     (GTST_MaxChars), 128, (GA_Disabled), TRUE, (TAG_DONE),
  133.     (GTST_MaxChars), 128, (GA_Disabled), TRUE, (TAG_DONE),
  134.     (GA_Disabled), TRUE, (TAG_DONE),
  135.     (GA_Disabled), TRUE, (TAG_DONE),
  136.     (GA_Disabled), TRUE, (TAG_DONE),
  137.     (GA_Disabled), TRUE, (TAG_DONE)
  138. };
  139.  
  140. ULONG SelectGTags[] = {
  141.     (GTLV_ShowSelected), NULL, (TAG_DONE),
  142.     (TAG_DONE),
  143.     (TAG_DONE)
  144. };
  145.  
  146. int SetupScreen( void )
  147. {
  148.     if ( ! ( Scr = LockPubScreen( PubScreenName )))
  149.         return( 1L );
  150.  
  151.     if ( ! ( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
  152.         return( 2L );
  153.  
  154.     if ( ! ( getClass = initGet()))
  155.         return( 3L );
  156.  
  157.     if ( ! ( getImage = NewObject( getClass, NULL, GT_VisualInfo, VisualInfo, TAG_DONE )))
  158.         return( 4L );
  159.  
  160.     return( 0L );
  161. }
  162.  
  163. void CloseDownScreen( void )
  164. {
  165.     if ( getImage   ) {
  166.         DisposeObject( getImage );
  167.         getImage = NULL;
  168.     }
  169.  
  170.     if ( getClass   ) {
  171.         FreeClass( getClass );
  172.         getClass = NULL;
  173.     }
  174.  
  175.     if ( VisualInfo ) {
  176.         FreeVisualInfo( VisualInfo );
  177.         VisualInfo = NULL;
  178.     }
  179.  
  180.     if ( Scr        ) {
  181.         UnlockPubScreen( NULL, Scr );
  182.         Scr = NULL;
  183.     }
  184. }
  185.  
  186. int OpenDropBoxWindow( void )
  187. {
  188.     struct NewGadget    ng;
  189.     struct Gadget    *g;
  190.     struct TagItem    *tmp;
  191.     UWORD        lc, tc;
  192.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  193.  
  194.     if ( ! ( g = CreateContext( &DropBoxGList )))
  195.         return( 1L );
  196.  
  197.     for( lc = 0, tc = 0; lc < DropBox_CNT; lc++ ) {
  198.  
  199.         CopyMem((char * )&DropBoxNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  200.  
  201.         ng.ng_VisualInfo = VisualInfo;
  202.         ng.ng_TextAttr   = &topaz8;
  203.         ng.ng_LeftEdge  += offx;
  204.         ng.ng_TopEdge   += offy;
  205.  
  206.         if ( DropBoxGTypes[ lc ] == LISTVIEW_KIND ) {
  207.             if ( tmp = FindTagItem( GTLV_ShowSelected, ( struct TagItem * )&DropBoxGTags[ tc ] )) {
  208.                 if ( tmp->ti_Data ) tmp->ti_Data = (ULONG)g;
  209.             }
  210.         }
  211.  
  212.         DropBoxGadgets[ lc ] = g = CreateGadgetA((ULONG)DropBoxGTypes[ lc ], g, &ng, ( struct TagItem * )&DropBoxGTags[ tc ] );
  213.  
  214.         if ( DropBoxGTypes[ lc ] == GENERIC_KIND ) {
  215.             g->Flags             |= GFLG_GADGIMAGE | GFLG_GADGHIMAGE;
  216.             g->Activation        |= GACT_RELVERIFY;
  217.             g->GadgetRender       = (APTR)getImage;
  218.             g->SelectRender       = (APTR)getImage;
  219.         }
  220.  
  221.         while( DropBoxGTags[ tc ] ) tc += 2;
  222.         tc++;
  223.  
  224.         if ( NOT g )
  225.             return( 2L );
  226.     }
  227.  
  228.     if ( ! ( DropBoxMenus = CreateMenus( DropBoxNewMenu, GTMN_FrontPen, 0L, TAG_DONE )))
  229.         return( 3L );
  230.  
  231.     LayoutMenus( DropBoxMenus, VisualInfo, GTMN_TextAttr, &topaz8, TAG_DONE );
  232.  
  233.     if ( ! ( DropBoxWnd = OpenWindowTags( NULL,
  234.                 WA_Left,    DropBoxLeft,
  235.                 WA_Top,        DropBoxTop,
  236.                 WA_Width,    DropBoxWidth,
  237.                 WA_Height,    DropBoxHeight + offy,
  238.                 WA_IDCMP,    BUTTONIDCMP|IDCMP_GADGETUP|CHECKBOXIDCMP|STRINGIDCMP|LISTVIEWIDCMP|IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  239.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
  240.                 WA_Gadgets,    DropBoxGList,
  241.                 WA_Title,    DropBoxWdt,
  242.                 WA_ScreenTitle,    "DropBox 1.1 Copyright 1993 Steve Anichini.",
  243.                 WA_PubScreenFallBack,    TRUE,
  244.                 TAG_DONE )))
  245.     return( 4L );
  246.  
  247.     SetMenuStrip( DropBoxWnd, DropBoxMenus );
  248.     GT_RefreshWindow( DropBoxWnd, NULL );
  249.  
  250.     return( 0L );
  251. }
  252.  
  253. void CloseDropBoxWindow( void )
  254. {
  255.     if ( DropBoxMenus      ) {
  256.         ClearMenuStrip( DropBoxWnd );
  257.         FreeMenus( DropBoxMenus );
  258.         DropBoxMenus = NULL;    }
  259.  
  260.     if ( DropBoxWnd        ) {
  261.         CloseWindow( DropBoxWnd );
  262.         DropBoxWnd = NULL;
  263.     }
  264.  
  265.     if ( DropBoxGList      ) {
  266.         FreeGadgets( DropBoxGList );
  267.         DropBoxGList = NULL;
  268.     }
  269. }
  270.  
  271. int OpenSelectWindow( void )
  272. {
  273.     struct NewGadget    ng;
  274.     struct Gadget    *g;
  275.     struct TagItem    *tmp;
  276.     UWORD        lc, tc;
  277.     UWORD        offx = Scr->WBorLeft, offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  278.  
  279.     if ( ! ( g = CreateContext( &SelectGList )))
  280.         return( 1L );
  281.  
  282.     for( lc = 0, tc = 0; lc < Select_CNT; lc++ ) {
  283.  
  284.         CopyMem((char * )&SelectNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  285.  
  286.         ng.ng_VisualInfo = VisualInfo;
  287.         ng.ng_TextAttr   = &topaz8;
  288.         ng.ng_LeftEdge  += offx;
  289.         ng.ng_TopEdge   += offy;
  290.  
  291.         SelectGadgets[ lc ] = g = CreateGadgetA((ULONG)SelectGTypes[ lc ], g, &ng, ( struct TagItem * )&SelectGTags[ tc ] );
  292.  
  293.         while( SelectGTags[ tc ] ) tc += 2;
  294.         tc++;
  295.  
  296.         if ( NOT g )
  297.             return( 2L );
  298.     }
  299.  
  300.     if ( ! ( SelectWnd = OpenWindowTags( NULL,
  301.                 WA_Left,    SelectLeft,
  302.                 WA_Top,        SelectTop,
  303.                 WA_Width,    SelectWidth,
  304.                 WA_Height,    SelectHeight + offy,
  305.                 WA_IDCMP,    LISTVIEWIDCMP|BUTTONIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  306.                 WA_Flags,    WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_SMART_REFRESH|WFLG_SIMPLE_REFRESH|WFLG_ACTIVATE,
  307.                 WA_Gadgets,    SelectGList,
  308.                 WA_Title,    SelectWdt,
  309.                 WA_ScreenTitle,    "DropBox 1.1 Copyright 1993 SteveAnichini",
  310.                 TAG_DONE )))
  311.     return( 4L );
  312.  
  313.     GT_RefreshWindow( SelectWnd, NULL );
  314.  
  315.     return( 0L );
  316. }
  317.  
  318. void CloseSelectWindow( void )
  319. {
  320.     if ( SelectWnd        ) {
  321.         CloseWindow( SelectWnd );
  322.         SelectWnd = NULL;
  323.     }
  324.  
  325.     if ( SelectGList      ) {
  326.         FreeGadgets( SelectGList );
  327.         SelectGList = NULL;
  328.     }
  329. }
  330.  
  331.