home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / files / comm / net / casiolink / layout.c < prev    next >
C/C++ Source or Header  |  1993-08-07  |  6KB  |  179 lines

  1.  
  2. extern UBYTE Datei[],ParamString[];
  3.  
  4. struct Screen         *Scr = NULL;
  5. APTR                   VisualInfo = NULL;
  6. struct Window         *Wnd = NULL;
  7. struct Gadget         *CasioLinkGList = NULL;
  8. struct Menu           *Menus = NULL;
  9. struct Gadget         *CasioLinkGadgets[CasioLink_CNT];
  10.  
  11. char ShortCut[] = "PpAaSsEeLlRrOo";
  12.  
  13. struct MinList BufferList = {NULL,NULL,NULL};
  14.  
  15. struct TextAttr topaz8 = {(STRPTR)"topaz.font", 8, 0x00, 0x41};
  16.  
  17. struct IntuiText IText[] = {
  18.         1, 0, JAM1, 82, 27, &topaz8, (UBYTE *)"Datei", &IText[1],
  19.         1, 0, JAM1,209, 27, &topaz8, (UBYTE *)"Buffer", &IText[2],
  20.         1, 0, JAM1,473, 27, &topaz8, (UBYTE *)"Konfiguration", &IText[3],
  21.         1, 0, JAM1, 22, 75, &topaz8, (UBYTE *)"Status:", &IText[4],
  22.         1, 0, JAM1, 22,112, &topaz8, (UBYTE *)"Buffer:", NULL};
  23.  
  24. struct NewMenu CasioLinkNewMenu[] = {
  25.         NM_TITLE, (STRPTR)"Projekt", NULL, 0, NULL, NULL,
  26.         NM_ITEM,  (STRPTR)"Editor", (STRPTR)"E", 0, 0, NULL,
  27.         NM_ITEM,  (STRPTR)"Drucken", (STRPTR)"P", 0, 0, NULL,
  28.         NM_ITEM,  (STRPTR)"Shell", (STRPTR)"S", 0, 0, NULL,
  29.         NM_ITEM,  (STRPTR)NM_BARLABEL, NULL, 0, 0, NULL,
  30.         NM_ITEM,  (STRPTR)"Drucker-Emulation", NULL, CHECKIT|MENUTOGGLE, 0, NULL,
  31.         NM_ITEM,  (STRPTR)NM_BARLABEL, NULL, 0, 0, NULL,
  32.         NM_ITEM,  (STRPTR)"Quit", (STRPTR)"Q", 0, 0, NULL,
  33.         NM_TITLE, (STRPTR)"Hilfe", NULL, 0, NULL, NULL,
  34.         NM_ITEM,  (STRPTR)"Info", (STRPTR)"I", 0, 0, NULL,
  35.         NM_ITEM,  (STRPTR)"Hilfe", (STRPTR)"H", 0, 0, NULL,
  36.         NM_END, NULL, NULL, 0, 0, NULL };
  37.  
  38. UWORD CasioLinkGTypes[] = {
  39.         BUTTON_KIND,
  40.         BUTTON_KIND,
  41.         BUTTON_KIND,
  42.         BUTTON_KIND,
  43.         BUTTON_KIND,
  44.         BUTTON_KIND,
  45.         BUTTON_KIND,
  46.         NUMBER_KIND,
  47.         TEXT_KIND,
  48.         TEXT_KIND,
  49.         TEXT_KIND,
  50.         LISTVIEW_KIND
  51. };
  52.  
  53. struct NewGadget CasioLinkNGad[] = {
  54.          23, 33, 80, 18, (UBYTE *)"S_peichern", NULL, GD_Speichern, PLACETEXT_IN, NULL, NULL,
  55.         106, 33, 60, 18, (UBYTE *)"L_aden", NULL, GD_Laden, PLACETEXT_IN, NULL, NULL,
  56.         193, 33, 70, 18, (UBYTE *)"_Senden", NULL, GD_Senden, PLACETEXT_IN, NULL, NULL,
  57.         266, 33, 80, 18, (UBYTE *)"_Empfangen", NULL, GD_Empfangen, PLACETEXT_IN, NULL, NULL,
  58.         349, 33, 70, 18, (UBYTE *)"_Löschen", NULL, GD_Loeschen, PLACETEXT_IN, NULL, NULL,
  59.         446, 33, 60, 18, (UBYTE *)"_RS232", NULL, GD_Konf_RS, PLACETEXT_IN, NULL, NULL,
  60.         509, 33, 80, 18, (UBYTE *)"S_onstiges", NULL, GD_Konf_Sonst, PLACETEXT_IN, NULL, NULL,
  61.         371, 11, 48, 17, (UBYTE *)"bytes:", NULL, GD_bytes, PLACETEXT_LEFT, NULL, NULL,
  62.          18, 73,578, 17, NULL, NULL, GD_Status, PLACETEXT_ABOVE, NULL, NULL,
  63.         402, 59,200, 17, (UBYTE *)"Parameter:", NULL, GD_Parameter, PLACETEXT_LEFT, NULL, NULL,
  64.         100, 96,200, 17, Datei, NULL, GD_Datei, PLACETEXT_LEFT, NULL, NULL,
  65.          18,110,578,116, NULL, NULL, GD_BufferListe, PLACETEXT_ABOVE, NULL, NULL
  66. };
  67.  
  68. ULONG *CasioLinkGTags[] = {
  69.         (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
  70.         (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
  71.         (ULONG *)(GA_Disabled), (ULONG *)TRUE, (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
  72.         (ULONG *)(GA_Disabled), (ULONG *)TRUE, (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
  73.         (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
  74.         (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
  75.         (ULONG *)(GT_Underscore), (ULONG *)'_', (ULONG *)(TAG_DONE),
  76.         (ULONG *)(GTNM_Border), (ULONG *)TRUE, (ULONG *)(TAG_DONE),
  77.         (ULONG *)(GTTX_Border), (ULONG *)TRUE, (ULONG *)(TAG_DONE),
  78.         (ULONG *)(GTTX_Text), (ULONG *)ParamString, (ULONG *)(TAG_DONE),
  79.         (ULONG *)(TAG_DONE),
  80.         (ULONG *)(GTLV_Labels), (ULONG *)&BufferList, (ULONG *)(GTLV_ReadOnly), (ULONG *)TRUE, (ULONG *)(TAG_DONE)
  81. };
  82.  
  83. long SetupScreen()
  84. {
  85.    if(!(Scr = LockPubScreen(NULL)))
  86.      return(6);
  87.    if(!(VisualInfo = GetVisualInfo(Scr, TAG_DONE)))
  88.      return(7);
  89.    return(0);
  90. }
  91.  
  92. void CloseDownScreen()
  93. {
  94.    if(VisualInfo)
  95.    {
  96.       FreeVisualInfo(VisualInfo);
  97.       VisualInfo = NULL;
  98.    }
  99.    if(Scr)
  100.    {
  101.       UnlockPubScreen(NULL, Scr);
  102.       Scr = NULL;
  103.    }
  104. }
  105.  
  106. long OpenWind()
  107. {
  108.    struct NewGadget ng;
  109.    struct Gadget   *g;
  110.    UWORD  lc, tc;
  111.  
  112.    if(!(g = CreateContext( &CasioLinkGList))) return(8);
  113.  
  114.    for(lc = 0, tc = 0; lc < CasioLink_CNT; lc++)
  115.    {
  116.       CopyMem((char * )&CasioLinkNGad[lc], (char *)&ng, sizeof(struct NewGadget));
  117.       ng.ng_VisualInfo = VisualInfo;
  118.       ng.ng_TextAttr   = &topaz8;
  119.       ng.ng_LeftEdge  += 4;
  120.       ng.ng_TopEdge   += 11;
  121.       CasioLinkGadgets[lc] = g = CreateGadgetA((ULONG)CasioLinkGTypes[lc], g, &ng, (struct TagItem*)&CasioLinkGTags[tc]);
  122.  
  123.       while(CasioLinkGTags[tc]) tc += 2;
  124.       tc++;
  125.       if(!g) return(9);
  126.    }
  127.  
  128.    if(!(Menus = CreateMenus(CasioLinkNewMenu, GTMN_FrontPen, 0L, TAG_DONE))) return(10);
  129.  
  130.    LayoutMenus(Menus, VisualInfo, GTMN_TextAttr, &topaz8, TAG_DONE);
  131.  
  132.    if(!(Wnd = OpenWindowTags( NULL,
  133.            WA_Left,      10,
  134.            WA_Top,       10,
  135.            WA_Width,     620,
  136.            WA_Height,    256,
  137.            WA_IDCMP,     BUTTONIDCMP|TEXTIDCMP|LISTVIEWIDCMP|IDCMP_MENUPICK|IDCMP_RAWKEY|\
  138.                          IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW|IDCMP_VANILLAKEY,
  139.            WA_Flags,     WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|\
  140.                          WFLG_SMART_REFRESH|WFLG_ACTIVATE,
  141.            WA_Gadgets,   CasioLinkGList,
  142.            WA_Title,     "Casio 850 <-> AMIGA",
  143.            WA_PubScreen, Scr,
  144.            WA_MinWidth,  620,
  145.            WA_MinHeight, 256,
  146.            WA_MaxWidth,  620,
  147.            WA_MaxHeight, 512,
  148.            TAG_DONE ))) return(11);
  149.  
  150.    SetMenuStrip(Wnd, Menus);
  151.    GT_RefreshWindow(Wnd, NULL);
  152.  
  153.    DrawBevelBox(Wnd->RPort,  21, 17, 155, 49, GT_VisualInfo, VisualInfo, GTBB_Recessed, TRUE, TAG_DONE);
  154.    DrawBevelBox(Wnd->RPort, 191, 17, 238, 49, GT_VisualInfo, VisualInfo, GTBB_Recessed, TRUE, TAG_DONE);
  155.    DrawBevelBox(Wnd->RPort, 444, 17, 155, 49, GT_VisualInfo, VisualInfo, GTBB_Recessed, TRUE, TAG_DONE);
  156.    PrintIText(Wnd->RPort, IText, 0, 0);
  157.    return(0);
  158. }
  159.  
  160. void CloseWind()
  161. {
  162.    if(Menus)
  163.    {
  164.       ClearMenuStrip(Wnd);
  165.       FreeMenus(Menus);
  166.       Menus = NULL;
  167.    }
  168.    if(Wnd)
  169.    {
  170.       CloseWindow(Wnd);
  171.       Wnd = NULL;
  172.    }
  173.    if(CasioLinkGList)
  174.    {
  175.       FreeGadgets(CasioLinkGList);
  176.       CasioLinkGList = NULL;
  177.    }
  178. }
  179.