home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / utility / misc / yak.lha / Yak / src / popup.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-17  |  7.3 KB  |  221 lines

  1. /*
  2.  *  Source generated with GadToolsBox V1.4
  3.  *  which is (c) Copyright 1991,92 Jaba Development
  4.  */
  5.  
  6. #include <exec/types.h>
  7. #include <intuition/intuition.h>
  8. #include <intuition/classes.h>
  9. #include <intuition/classusr.h>
  10. #include <intuition/imageclass.h>
  11. #include <intuition/gadgetclass.h>
  12. #include <libraries/gadtools.h>
  13. #include <graphics/displayinfo.h>
  14. #include <graphics/gfxbase.h>
  15. #include <proto/exec.h>
  16. #include <proto/intuition.h>
  17. #include <proto/gadtools.h>
  18. #include <proto/graphics.h>
  19. #include <proto/utility.h>
  20. #include <string.h>
  21.  
  22. #include "popup.h"
  23. #include "yak.h"        /****** ADDED ******/
  24.  
  25. struct Screen         *Scr = NULL;
  26. APTR                   VisualInfo = NULL;
  27. struct Window         *HelpWnd = NULL;
  28. struct Gadget         *HelpGList = NULL;
  29. struct Gadget         *HelpGadgets[17];
  30. UWORD                  HelpLeft = 30;
  31. UWORD                  HelpTop = 18;
  32. UWORD                  HelpWidth = 574;
  33. UWORD                  HelpHeight = 125;
  34. UBYTE                 *HelpWdt = NULL;
  35.  
  36. UBYTE         *DateFmt0Labels[] = {
  37.     (UBYTE *)"dd-mmm-yy",
  38.     (UBYTE *)"yy-mm-dd",
  39.     (UBYTE *)"mm-dd-yy",
  40.     (UBYTE *)"dd-mm-yy",
  41.     NULL };
  42.  
  43. extern struct MinList hkListView0List;
  44.  
  45. struct Node    hkListView0Nodes[] = {
  46.     &hkListView0Nodes[1], ( struct Node * )&hkListView0List.mlh_Head, 0, 0, "Show this window",
  47.     &hkListView0Nodes[2], &hkListView0Nodes[0], 0, 0, "Close window",
  48.     &hkListView0Nodes[3], &hkListView0Nodes[1], 0, 0, "Zip window",
  49.     &hkListView0Nodes[4], &hkListView0Nodes[2], 0, 0, "Shrink window",
  50.     &hkListView0Nodes[5], &hkListView0Nodes[3], 0, 0, "Enlarge window",
  51.     &hkListView0Nodes[6], &hkListView0Nodes[4], 0, 0, "Activate WBench",
  52.     &hkListView0Nodes[7], &hkListView0Nodes[5], 0, 0, "Palette",
  53.     &hkListView0Nodes[8], &hkListView0Nodes[6], 0, 0, "PopCommand",
  54.     ( struct Node * )&hkListView0List.mlh_Tail, &hkListView0Nodes[7], 0, 0, "Insert date" };
  55.  
  56. struct MinList hkListView0List = {
  57.     ( struct MinNode * )&hkListView0Nodes[0], ( struct MinNode * )NULL, ( struct MinNode * )&hkListView0Nodes[8] };
  58.  
  59. struct TextAttr topaz8 = {
  60.     ( STRPTR )"topaz.font", 8, 0x00, 0x00 };
  61.  
  62. struct IntuiText  HelpIText[] = {
  63.     2, 0, JAM1,224, 35, &topaz8, (UBYTE *)"Date Format", &HelpIText[1],
  64.     2, 0, JAM1,411, 5, &topaz8, (UBYTE *)"Mouse Options", NULL };
  65.  
  66. UWORD HelpGTypes[] = {
  67.     STRING_KIND,
  68.     LISTVIEW_KIND,
  69.     SLIDER_KIND,
  70.     MX_KIND,
  71.     CHECKBOX_KIND,
  72.     CHECKBOX_KIND,
  73.     CHECKBOX_KIND,
  74.     BUTTON_KIND,
  75.     BUTTON_KIND,
  76.     STRING_KIND,
  77.     CHECKBOX_KIND,
  78.     CHECKBOX_KIND,
  79.     CHECKBOX_KIND,
  80.     CHECKBOX_KIND,
  81.     CHECKBOX_KIND,
  82.     CHECKBOX_KIND,
  83.     INTEGER_KIND
  84. };
  85.  
  86. struct NewGadget HelpNGad[] = {
  87.     11, 106, 161, 12, NULL, NULL, GD_KeyStr, 0 ,NULL, NULL,
  88.     11, 17, 161, 88, (UBYTE *)"Yak HotKeys", NULL, GD_hkListView, PLACETEXT_ABOVE|NG_HIGHLABEL ,NULL, NULL,
  89.     191, 17, 151, 9, (UBYTE *)"Click Volume", NULL, GD_Volume, PLACETEXT_ABOVE|NG_HIGHLABEL ,NULL, NULL,
  90.     191, 47, 17, 9, NULL, NULL, GD_DateFmt, PLACETEXT_RIGHT ,NULL, NULL,
  91.     297, 69, 26, 11, (UBYTE *)"Time", NULL, GD_TimeCheck, PLACETEXT_RIGHT ,NULL, NULL,
  92.     297, 58, 26, 11, (UBYTE *)"Date", NULL, GD_DateCheck, PLACETEXT_RIGHT ,NULL, NULL,
  93.     297, 47, 26, 11, (UBYTE *)"Day", NULL, GD_DayCheck, PLACETEXT_RIGHT ,NULL, NULL,
  94.     390, 106, 74, 12, (UBYTE *)"Hide", NULL, GD_Hide, PLACETEXT_IN ,NULL, NULL,
  95.     480, 106, 74, 12, (UBYTE *)"Quit", NULL, GD_Quit, PLACETEXT_IN ,NULL, NULL,
  96.     191, 106, 174, 12, (UBYTE *)"PopCommand", NULL, GD_PopCLIStr, PLACETEXT_ABOVE|NG_HIGHLABEL ,NULL, NULL,
  97.     390, 17, 26, 11, (UBYTE *)"AutoPoint", NULL, GD_AutoCheck, PLACETEXT_RIGHT ,NULL, NULL,
  98.     390, 28, 26, 11, (UBYTE *)"Key Activate", NULL, GD_KeyActCheck, PLACETEXT_RIGHT ,NULL, NULL,
  99.     390, 39, 26, 11, (UBYTE *)"Click To Front", NULL, GD_CTFCheck, PLACETEXT_RIGHT ,NULL, NULL,
  100.     390, 50, 26, 11, (UBYTE *)"Click To Back", NULL, GD_CTBCheck, PLACETEXT_RIGHT ,NULL, NULL,
  101.     390, 61, 26, 11, (UBYTE *)"Screen Cycle", NULL, GD_ScrCycleCheck, PLACETEXT_RIGHT ,NULL, NULL,
  102.     390, 72, 26, 11, (UBYTE *)"Mouse Blanking", NULL, GD_MBlankCheck, PLACETEXT_RIGHT ,NULL, NULL,
  103.     510, 89, 44, 12, (UBYTE *)"Screen Timeout", NULL, GD_ScrTONum, PLACETEXT_LEFT|NG_HIGHLABEL ,NULL, NULL
  104. };
  105.  
  106. ULONG HelpGTags[] = {
  107.     (GTST_MaxChars), MAXKEYLEN /******CHANGED256******/, (TAG_DONE),
  108.     (GTLV_Labels), (ULONG)&hkListView0List, (GTLV_ShowSelected), NULL, (TAG_DONE),
  109.     (GTSL_Max), 64, (GTSL_MaxLevelLen), 5, (GTSL_LevelFormat), (ULONG)"%02ld", (GTSL_LevelPlace), (PLACETEXT_RIGHT), (PGA_Freedom), LORIENT_HORIZ, (GA_RelVerify), TRUE, (TAG_DONE),
  110.     (GTMX_Labels), (ULONG)&DateFmt0Labels[ 0 ], (TAG_DONE),
  111.     (TAG_DONE),
  112.     (TAG_DONE),
  113.     (TAG_DONE),
  114.     (TAG_DONE),
  115.     (TAG_DONE),
  116.     /******DELETED(GA_TabCycle), FALSE,******/(GTST_MaxChars), POPLEN/******CHANGED256******/, (TAG_DONE),
  117.     (TAG_DONE),
  118.     (TAG_DONE),
  119.     (TAG_DONE),
  120.     (TAG_DONE),
  121.     (TAG_DONE),
  122.     (TAG_DONE),
  123.     /******DELETED(GA_TabCycle), FALSE,******/(GTIN_Number), 0, (GTIN_MaxChars), 4, (TAG_DONE)
  124. };
  125.  
  126. int SetupScreen( void )
  127. {
  128.     if ( ! ( Scr = LockPubScreen((UBYTE * )"Workbench" )))
  129.         return( 1L );
  130.  
  131.     if ( ! ( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
  132.         return( 2L );
  133.  
  134.     return( 0L );
  135. }
  136.  
  137. void CloseDownScreen( void )
  138. {
  139.     if ( VisualInfo ) {
  140.         FreeVisualInfo( VisualInfo );
  141.         VisualInfo = NULL;
  142.     }
  143.  
  144.     if ( Scr        ) {
  145.         UnlockPubScreen( NULL, Scr );
  146.         Scr = NULL;
  147.     }
  148. }
  149.  
  150. void HelpRender( void )
  151. {
  152.     UWORD        offx, offy;
  153.  
  154.     offx = HelpWnd->BorderLeft;
  155.     offy = HelpWnd->BorderTop;
  156.  
  157.     PrintIText( HelpWnd->RPort, HelpIText, offx, offy );
  158. }
  159.  
  160. int OpenHelpWindow( void )
  161. {
  162.     struct NewGadget     ng;
  163.     struct Gadget       *g;
  164.     UWORD                lc, tc;
  165.     UWORD                offx = Scr->WBorLeft,offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  166.  
  167.     if ( ! ( g = CreateContext( &HelpGList )))
  168.         return( 1L );
  169.  
  170.     for( lc = 0, tc = 0; lc < Help_CNT; lc++ ) {
  171.  
  172.         CopyMem((char * )&HelpNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  173.  
  174.         ng.ng_VisualInfo = VisualInfo;
  175.         ng.ng_TextAttr   = &topaz8;
  176.         ng.ng_LeftEdge  += offx;
  177.         ng.ng_TopEdge   += offy;
  178.  
  179.         HelpGadgets[ lc ] = g = CreateGadgetA((ULONG)HelpGTypes[ lc ], g, &ng, ( struct TagItem * )&HelpGTags[ tc ] );
  180.  
  181.         while( HelpGTags[ tc ] ) tc += 2;
  182.         tc++;
  183.  
  184.         if ( NOT g )
  185.         return( 2L );
  186.     }
  187.  
  188.     if ( ! ( HelpWnd = OpenWindowTags( NULL,
  189.                     WA_Left,          HelpLeft,
  190.                     WA_Top,           HelpTop,
  191.                     WA_Width,         HelpWidth,
  192.                     WA_Height,        HelpHeight + offy,
  193.                     WA_IDCMP,         STRINGIDCMP|LISTVIEWIDCMP|SLIDERIDCMP|MXIDCMP|CHECKBOXIDCMP|BUTTONIDCMP|IDCMP_CLOSEWINDOW|IDCMP_CHANGEWINDOW|IDCMP_REFRESHWINDOW,
  194.                     WA_Flags,         WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
  195.                     WA_Gadgets,       HelpGList,
  196.                     WA_Title,         HelpWdt,
  197.                     WA_ScreenTitle,   "Yak 1.0  ⌐ 1992, Martin W. Scott",
  198.                     TAG_DONE )))
  199.         return( 4L );
  200.  
  201.     GT_RefreshWindow( HelpWnd, NULL );
  202.  
  203.     HelpRender();
  204.  
  205.     return( 0L );
  206. }
  207.  
  208. void CloseHelpWindow( void )
  209. {
  210.     if ( HelpWnd        ) {
  211.         CloseWindow( HelpWnd );
  212.         HelpWnd = NULL;
  213.     }
  214.  
  215.     if ( HelpGList      ) {
  216.         FreeGadgets( HelpGList );
  217.         HelpGList = NULL;
  218.     }
  219. }
  220.  
  221.