home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / ui_utils / aib623.lha / source / construct3.c < prev    next >
C/C++ Source or Header  |  1992-03-21  |  12KB  |  472 lines

  1. #include "aib.h"
  2. #include "extern.h"
  3.  
  4. /* prototypes */
  5. void menu_menu(void);
  6. void project_menu(void);
  7.  
  8. extern BOOL fchecked;
  9.  
  10. /***************************** menu menu *******************************/
  11. void menu_menu(void)
  12. {
  13.    UWORD top;              /* offset into Window under titlebar */
  14.    struct NewGadget ng;    /* for Gadget positioning */
  15.    struct Gadget *gad;     /* our running Gadget pointer */
  16.    struct Node *node;
  17.    struct title_box *indt = topt;
  18.  
  19.    top = window->BorderTop + 1;
  20.    gad =  CreateContext(&glist);
  21.  
  22.    /* setup lists */
  23.   NewList(&tit_list);
  24.     while(indt)
  25.      {
  26.       node=(struct Node *)AllocRemember(&rmem,sizeof(struct Node), MEMF_CLEAR);
  27.       if (!node)
  28.           abort_me("couldn't allocate LISTVIEW list.");
  29.       node->ln_Name = indt->title;
  30.       AddTail(&tit_list,node);
  31.       indt = indt->next;
  32.      }    
  33.  
  34.    ng.ng_TextAttr = &topaz80;
  35.    ng.ng_VisualInfo = vi;
  36.    ng.ng_Flags = 0;
  37.  
  38.     ng.ng_Width = 160;
  39.     ng.ng_Height = 14;
  40.     ng.ng_GadgetText = NULL;
  41.     ng.ng_GadgetID = MM_tstring;
  42.      tstring= gad = CreateGadget(STRING_KIND,gad,&ng,
  43.         GTST_MaxChars,256,
  44.             GA_Disabled,TRUE,
  45.         TAG_DONE);
  46.  
  47.         ng.ng_LeftEdge = 15;
  48.         ng.ng_TopEdge = top + 15;
  49.         ng.ng_Width = 160;
  50.         ng.ng_Height = 60;
  51.         ng.ng_GadgetID = MM_titl;
  52.     ng.ng_GadgetText="Titles";
  53.          tl= gad = CreateGadget(LISTVIEW_KIND,gad,&ng,
  54.         GTLV_Labels,&tit_list,
  55.         GTLV_ShowSelected,gad,
  56.         LAYOUTA_SPACING,2,
  57.             GT_Underscore, '*',
  58.             TAG_DONE);
  59.  
  60.     ng.ng_Width = 160;
  61.     ng.ng_Height = 14;
  62.     ng.ng_GadgetText = NULL;
  63.     ng.ng_GadgetID = MM_istring;
  64.      istring= gad = CreateGadget(STRING_KIND,gad,&ng,
  65.         GTST_MaxChars,256,
  66.         GA_Disabled,TRUE,
  67.         TAG_DONE);
  68.  
  69.         ng.ng_LeftEdge = 194;
  70.         ng.ng_TopEdge = top + 15;
  71.         ng.ng_Width = 160;
  72.         ng.ng_Height = 60;
  73.         ng.ng_GadgetID = MM_item;
  74.     ng.ng_GadgetText="Items";
  75.           il=gad = CreateGadget(LISTVIEW_KIND,gad,&ng,
  76.         GTLV_ShowSelected,gad,
  77.         LAYOUTA_SPACING,2,
  78.         GA_Disabled,FALSE,
  79.             GT_Underscore, '*',
  80.             TAG_DONE);
  81.  
  82.     ng.ng_Width = 160;
  83.     ng.ng_Height = 14;
  84.     ng.ng_GadgetText = NULL;
  85.     ng.ng_GadgetID = MM_sstring;
  86.      sstring= gad = CreateGadget(STRING_KIND,gad,&ng,
  87.         GTST_MaxChars,256,
  88.         GA_Disabled,TRUE,
  89.         TAG_DONE);
  90.  
  91.         ng.ng_LeftEdge = 373;
  92.         ng.ng_TopEdge = top + 15;
  93.         ng.ng_Width = 160;
  94.         ng.ng_Height = 60;
  95.         ng.ng_GadgetID = MM_subs;
  96.     ng.ng_GadgetText="Submenus";
  97.          sl = gad = CreateGadget(LISTVIEW_KIND,gad,&ng,
  98.         GTLV_ShowSelected,gad,
  99.         LAYOUTA_SPACING,2,
  100.         GA_Disabled,FALSE,
  101.             GT_Underscore, '*',
  102.             TAG_DONE);
  103.  
  104.  
  105.    ng.ng_LeftEdge = 15;
  106.    ng.ng_TopEdge = top + 73; 
  107.    ng.ng_Width = 55;
  108.    ng.ng_Height = 12;
  109.    ng.ng_GadgetID = MM_ta;
  110.    ng.ng_GadgetText="ADD";
  111.    ta= gad = CreateGadget(BUTTON_KIND,gad,&ng,
  112.           GT_Underscore, '*',
  113.       GA_Disabled , FALSE,
  114.           TAG_DONE);
  115.  
  116.    ng.ng_LeftEdge = 70;
  117.    ng.ng_TopEdge = top + 73; 
  118.    ng.ng_Width = 50;
  119.    ng.ng_Height = 12;
  120.    ng.ng_GadgetID = MM_td;
  121.    ng.ng_GadgetText="DEL";
  122.     td=gad = CreateGadget(BUTTON_KIND,gad,&ng,
  123.           GT_Underscore, '*',
  124.       GA_Disabled,TRUE,
  125.           TAG_DONE);
  126.  
  127.    ng.ng_LeftEdge = 120;
  128.    ng.ng_TopEdge = top + 73; 
  129.    ng.ng_Width = 55;
  130.    ng.ng_Height = 12;
  131.    ng.ng_GadgetID = MM_ts;
  132.    ng.ng_GadgetText="SWAP";
  133.     ts=gad = CreateGadget(BUTTON_KIND,gad,&ng,
  134.           GT_Underscore, '*',
  135.       GA_Disabled,TRUE,
  136.           TAG_DONE);
  137.  
  138.    ng.ng_LeftEdge = 194;
  139.    ng.ng_TopEdge = top + 73; 
  140.    ng.ng_Width = 55;
  141.    ng.ng_Height = 12;
  142.    ng.ng_GadgetID = MM_ia;
  143.    ng.ng_GadgetText="ADD";
  144.     ia=gad = CreateGadget(BUTTON_KIND,gad,&ng,
  145.           GT_Underscore, '*',
  146.       GA_Disabled,TRUE,
  147.           TAG_DONE);
  148.  
  149.    ng.ng_LeftEdge = 249;
  150.    ng.ng_TopEdge = top + 73; 
  151.    ng.ng_Width = 50;
  152.    ng.ng_Height = 12;
  153.    ng.ng_GadgetID = MM_id;
  154.    ng.ng_GadgetText="DEL";
  155.     id=gad = CreateGadget(BUTTON_KIND,gad,&ng,
  156.           GT_Underscore, '*',
  157.       GA_Disabled,TRUE,
  158.           TAG_DONE);
  159.  
  160.    ng.ng_LeftEdge = 299;
  161.    ng.ng_TopEdge = top + 73; 
  162.    ng.ng_Width = 55;
  163.    ng.ng_Height = 12;
  164.    ng.ng_GadgetID = MM_is;
  165.    ng.ng_GadgetText="SWAP";
  166.     is=gad = CreateGadget(BUTTON_KIND,gad,&ng,
  167.           GT_Underscore, '*',
  168.       GA_Disabled,TRUE,
  169.           TAG_DONE);
  170.  
  171.    ng.ng_LeftEdge = 373;
  172.    ng.ng_TopEdge = top + 73; 
  173.    ng.ng_Width = 55;
  174.    ng.ng_Height = 12;
  175.    ng.ng_GadgetID = MM_sa;
  176.    ng.ng_GadgetText="ADD";
  177.     sa=gad = CreateGadget(BUTTON_KIND,gad,&ng,
  178.           GT_Underscore, '*',
  179.       GA_Disabled,TRUE,
  180.           TAG_DONE);
  181.  
  182.    ng.ng_LeftEdge = 428;
  183.    ng.ng_TopEdge = top + 73; 
  184.    ng.ng_Width = 50;
  185.    ng.ng_Height = 12;
  186.    ng.ng_GadgetID = MM_sd;
  187.    ng.ng_GadgetText="DEL";
  188.     sd=gad = CreateGadget(BUTTON_KIND,gad,&ng,
  189.           GT_Underscore, '*',
  190.       GA_Disabled,TRUE,
  191.           TAG_DONE);
  192.  
  193.    ng.ng_LeftEdge = 478;
  194.    ng.ng_TopEdge = top + 73; 
  195.    ng.ng_Width = 55;
  196.    ng.ng_Height = 12;
  197.    ng.ng_GadgetID = MM_ss;
  198.    ng.ng_GadgetText="SWAP";
  199.     ss=gad = CreateGadget(BUTTON_KIND,gad,&ng,
  200.       GA_Disabled,TRUE,
  201.           GT_Underscore, '*',
  202.           TAG_DONE);
  203.  
  204.    ng.ng_LeftEdge = 170;
  205.    ng.ng_TopEdge = top + 110; 
  206.    ng.ng_Width = 75;
  207.    ng.ng_Height = 12;
  208.    ng.ng_GadgetID = MM_tog;
  209.    ng.ng_GadgetText="Type";
  210.     tog=gad = CreateGadget(CYCLE_KIND,gad,&ng,
  211.       GA_Disabled,TRUE,
  212.       GTCY_Labels,MFlags,
  213.           GT_Underscore, '*',
  214.           TAG_DONE);
  215.  
  216.    ng.ng_LeftEdge = 85;
  217.    ng.ng_TopEdge = top + 110; 
  218.    ng.ng_Width = 55;
  219.    ng.ng_Height = 12;
  220.    ng.ng_GadgetID = MM_chec;
  221.    ng.ng_GadgetText="Checked";
  222.     chec=gad = CreateGadget(CHECKBOX_KIND,gad,&ng,
  223.       GA_Disabled,TRUE,
  224.           GT_Underscore, '*',
  225.           TAG_DONE);
  226.  
  227.    ng.ng_LeftEdge = 210;
  228.    ng.ng_TopEdge = top + 90; 
  229.    ng.ng_Width = 55;
  230.    ng.ng_Height = 12;
  231.    ng.ng_GadgetID = MM_bar;
  232.    ng.ng_GadgetText="menu bar?";
  233.     bar=gad = CreateGadget(CHECKBOX_KIND,gad,&ng,
  234.       GA_Disabled,TRUE,
  235.           GT_Underscore, '*',
  236.           TAG_DONE);
  237.  
  238.    ng.ng_LeftEdge = 338;
  239.    ng.ng_TopEdge = top + 88; 
  240.    ng.ng_Width = 25;
  241.    ng.ng_Height = 15;
  242.    ng.ng_GadgetID = MM_select;
  243.    ng.ng_GadgetText="Choice:";
  244.     select=gad = CreateGadget(TEXT_KIND,gad,&ng,
  245.       GTTX_Border,TRUE,
  246.       GTTX_Text,select_type,
  247.           GT_Underscore, '*',
  248.           TAG_DONE);
  249.  
  250.    ng.ng_LeftEdge = 373;
  251.    ng.ng_TopEdge = top + 88; 
  252.    ng.ng_Width = 160;
  253.    ng.ng_Height = 15;
  254.    ng.ng_GadgetID = MM_stype;
  255.    ng.ng_GadgetText="";
  256.     stype=gad = CreateGadget(TEXT_KIND,gad,&ng,
  257.       GTTX_Border,TRUE,
  258.       GTTX_Text,name_type,
  259.           GT_Underscore, '*',
  260.           TAG_DONE);
  261.  
  262.    ng.ng_LeftEdge = 375;
  263.    ng.ng_TopEdge = top + 108; 
  264.    ng.ng_Width = 160;
  265.    ng.ng_Height = 15;
  266.    ng.ng_GadgetID = MM_func;
  267.    ng.ng_GadgetText="Function Name";
  268.     func=gad = CreateGadget(STRING_KIND,gad,&ng,
  269.       GA_Disabled,TRUE,
  270.       GTST_MaxChars,50,
  271.       GTST_String,"",
  272.           GT_Underscore, '*',
  273.           TAG_DONE);
  274.  
  275.    ng.ng_LeftEdge = 90;
  276.    ng.ng_TopEdge = top + 90; 
  277.    ng.ng_Width = 55;
  278.    ng.ng_Height = 12;
  279.    ng.ng_GadgetID = MM_dis;
  280.    ng.ng_GadgetText="Disabled";
  281.     dis=gad = CreateGadget(CHECKBOX_KIND,gad,&ng,
  282.           GT_Underscore, '*',
  283.       GA_Disabled,TRUE,
  284.           TAG_DONE);
  285.  
  286.    ng.ng_LeftEdge = 30;
  287.    ng.ng_TopEdge = top + 132; 
  288.    ng.ng_Width = 10;
  289.    ng.ng_Height = 15;
  290.    ng.ng_GadgetID = MM_fche;
  291.    ng.ng_GadgetText="";
  292.     fche=gad = CreateGadget(CHECKBOX_KIND,gad,&ng,
  293.       GTCB_Checked,fchecked,
  294.           GT_Underscore, '*',
  295.           TAG_DONE);
  296.  
  297.    ng.ng_LeftEdge = 130;
  298.    ng.ng_TopEdge = top + 130; 
  299.    ng.ng_Width = 150;
  300.    ng.ng_Height = 15;
  301.    ng.ng_GadgetID = MM_font;
  302.    ng.ng_GadgetText="Custom:";
  303.     menu_font = gad = CreateGadget(TEXT_KIND,gad,&ng,
  304.       GA_Disabled,TRUE,
  305.       GTTX_Text,menucta.ta_Name,
  306.       GTTX_Border,TRUE,
  307.           GT_Underscore, '*',
  308.           TAG_DONE);
  309.  
  310.    ng.ng_LeftEdge = 290;
  311.    ng.ng_TopEdge = top + 130; 
  312.    ng.ng_Width = 35;
  313.    ng.ng_Height = 15;
  314.    ng.ng_GadgetID = MM_sfont;
  315.    ng.ng_GadgetText=NULL;
  316.     menu_size = gad = CreateGadget(NUMBER_KIND,gad,&ng,
  317.       GTNM_Number,menucta.ta_YSize,
  318.       GTNM_Border,TRUE,
  319.       GA_Disabled,TRUE,
  320.           GT_Underscore, '*',
  321.           TAG_DONE);
  322.     
  323.    ng.ng_LeftEdge = 360;
  324.    ng.ng_TopEdge = top + 130;
  325.    ng.ng_Width = 150;
  326.    ng.ng_Height = 15;
  327.    ng.ng_GadgetID = MM_nfont;
  328.    ng.ng_GadgetText="Choose Font...";
  329.     nfont=gad = CreateGadget(BUTTON_KIND,gad,&ng,
  330.       GA_Disabled,(fchecked)?FALSE:TRUE,
  331.           GT_Underscore, '*',
  332.           TAG_DONE);
  333.  
  334.    ng.ng_LeftEdge = 260;
  335.    ng.ng_TopEdge = top + 150;
  336.    ng.ng_Width = 30;
  337.    ng.ng_Height = 15;
  338.    ng.ng_GadgetID = MM_key;
  339.    ng.ng_GadgetText="HotKey:";
  340.     key=gad = CreateGadget(STRING_KIND,gad,&ng,
  341.       GTST_MaxChars,1,
  342.       GTST_String,"",      
  343.       GA_Disabled,TRUE,
  344.           GT_Underscore, '*',
  345.           TAG_DONE);
  346.  
  347.    ng.ng_LeftEdge = 360;
  348.    ng.ng_TopEdge = top + 160;
  349.    ng.ng_Width = 150;
  350.    ng.ng_Height = 15;
  351.    ng.ng_GadgetID = MM_can;
  352.    ng.ng_GadgetText="*Cancel";
  353.     gad = CreateGadget(BUTTON_KIND,gad,&ng,
  354.           GT_Underscore, '*',
  355.           TAG_DONE);
  356.  
  357.    ng.ng_LeftEdge = 30;
  358.    ng.ng_TopEdge = top + 160;
  359.    ng.ng_Width = 150;
  360.    ng.ng_Height = 15;
  361.    ng.ng_GadgetID = MM_ok;
  362.    ng.ng_GadgetText="*OK";
  363.     gad = CreateGadget(BUTTON_KIND,gad,&ng,
  364.           GT_Underscore, '*',
  365.           TAG_DONE);
  366.  
  367.  
  368.     if (!gad)
  369.       abort_me("Couldn't allocate the Gadget list.");
  370.  
  371.    AddGList(window, glist, (UWORD)-1, (UWORD)-1, NULL);
  372.    RefreshGList(glist, window, NULL, (UWORD)-1);
  373.    GT_RefreshWindow(window, NULL);
  374. }
  375.  
  376.  
  377. /*********************** project menu **************************************/
  378.  
  379. void project_menu(void)
  380. {
  381.    UWORD top;              /* offset into Window under titlebar */
  382.    struct NewGadget ng;    /* for Gadget positioning */
  383.    struct Gadget *gad;     /* our running Gadget pointer */
  384.    
  385.    top = window->BorderTop + 1;
  386.    gad =  CreateContext(&glist);
  387.  
  388.    ng.ng_TextAttr = &topaz80;
  389.    ng.ng_VisualInfo = vi;
  390.  
  391.    ng.ng_Flags=PLACETEXT_LEFT;
  392.    ng.ng_LeftEdge = 195;
  393.    ng.ng_TopEdge = top + 10;
  394.    ng.ng_Width = 170;
  395.    ng.ng_Height = 15;
  396.    ng.ng_GadgetID = P_name;
  397.    ng.ng_GadgetText = "Project Name:";
  398.     gad = CreateGadget(TEXT_KIND,gad,&ng,
  399.       GTTX_Border,TRUE,
  400.       GTTX_Text,"none",
  401.           GT_Underscore,'_',
  402.           TAG_DONE);
  403.     
  404.    ng.ng_Flags=0;  
  405.    ng.ng_LeftEdge = 65;
  406.    ng.ng_TopEdge = top + 55;
  407.    ng.ng_Width = 170;
  408.    ng.ng_Height = 20;
  409.    ng.ng_GadgetID = P_load;
  410.    ng.ng_GadgetText = "Load Project...";
  411.     gad = CreateGadget(BUTTON_KIND,gad,&ng,
  412.           GT_Underscore,'_',
  413.           TAG_DONE);
  414.  
  415.    ng.ng_LeftEdge = 65;
  416.    ng.ng_TopEdge = top + 95;
  417.    ng.ng_Width = 170;
  418.    ng.ng_Height = 20;
  419.    ng.ng_GadgetID= P_save;
  420.    ng.ng_GadgetText=  "Save Project";
  421.     gad = CreateGadget(BUTTON_KIND,gad,&ng,
  422.           GT_Underscore,'_',
  423.           TAG_DONE);
  424.    
  425.    ng.ng_LeftEdge = 65;
  426.    ng.ng_TopEdge = top + 135;
  427.    ng.ng_Width = 170;
  428.    ng.ng_Height = 20;
  429.    ng.ng_GadgetID= P_saveas;
  430.    ng.ng_GadgetText=  "Save Project AS...";
  431.     gad = CreateGadget(BUTTON_KIND,gad,&ng,
  432.           GT_Underscore,'_',
  433.           TAG_DONE);       
  434.           
  435.    ng.ng_LeftEdge = window->Width-240;
  436.    ng.ng_TopEdge = top + 55;
  437.    ng.ng_Width = 170;
  438.    ng.ng_Height = 20;
  439.    ng.ng_GadgetID= P_savec;
  440.    ng.ng_GadgetText=  "Save C";
  441.     gad = CreateGadget(BUTTON_KIND,gad,&ng,
  442.           GT_Underscore,'_',
  443.           TAG_DONE);
  444.    
  445.    ng.ng_LeftEdge = window->Width-240;
  446.    ng.ng_TopEdge = top + 95;
  447.    ng.ng_Width = 170;
  448.    ng.ng_Height = 20;
  449.    ng.ng_GadgetID= P_saveasc;
  450.    ng.ng_GadgetText=  "Save C AS...";
  451.     gad = CreateGadget(BUTTON_KIND,gad,&ng,
  452.           GT_Underscore,'_',
  453.           TAG_DONE);
  454.    
  455.    ng.ng_LeftEdge = window->Width-240;
  456.    ng.ng_TopEdge = top + 135;
  457.    ng.ng_Width = 170;
  458.    ng.ng_Height = 20;
  459.    ng.ng_GadgetID= P_can;
  460.    ng.ng_GadgetText=  "Cancel";
  461.     gad = CreateGadget(BUTTON_KIND,gad,&ng,
  462.           GT_Underscore,'_',
  463.           TAG_DONE);
  464.       
  465.     if (!gad)
  466.       abort_me("Couldn't allocate the Gadget list.");
  467.  
  468.    AddGList(window, glist, (UWORD)-1, (UWORD)-1, NULL);
  469.    RefreshGList(glist, window, NULL, (UWORD)-1);
  470.    GT_RefreshWindow(window, NULL);
  471. }
  472.