home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 6 / FreshFish_September1994.bin / bbs / misc / cp-4.3.lha / cP / Source / plotgui.c < prev    next >
C/C++ Source or Header  |  1994-08-03  |  21KB  |  675 lines

  1. /*
  2.  *  Source machine generated by GadToolsBox V2.0
  3.  *  which is (c) Copyright 1991-1993 Jaba Development
  4.  *
  5.  *  GUI Designed by : Chris Conger
  6.  */
  7.  
  8. #include <exec/types.h>
  9. #include <intuition/intuition.h>
  10. #include <intuition/classes.h>
  11. #include <intuition/classusr.h>
  12. #include <intuition/imageclass.h>
  13. #include <intuition/gadgetclass.h>
  14. #include <libraries/gadtools.h>
  15. #include <graphics/displayinfo.h>
  16. #include <graphics/gfxbase.h>
  17. #include <clib/exec_protos.h>
  18. #include <clib/intuition_protos.h>
  19. #include <clib/gadtools_protos.h>
  20. #include <clib/graphics_protos.h>
  21. #include <clib/utility_protos.h>
  22. #include <string.h>
  23. #include <clib/diskfont_protos.h>
  24.  
  25. #include "plotgui.h"
  26. #include "cp.h"
  27.  
  28. extern UBYTE *version_string;
  29.  
  30.  
  31. struct Screen         *Scr = NULL;
  32. APTR                   VisualInfo = NULL;
  33. struct Window         *PlotWindowWnd = NULL;
  34. struct Window         *delwinWnd = NULL;
  35. struct Gadget         *PlotWindowGList = NULL;
  36. struct Gadget         *delwinGList = NULL;
  37. struct Menu           *PlotWindowMenus = NULL;
  38. struct IntuiMessage    PlotWindowMsg;
  39. struct IntuiMessage    delwinMsg;
  40. struct Gadget         *PlotWindowGadgets[6];
  41. struct Gadget         *delwinGadgets[3];
  42. UWORD                  SWIDTH = STDSCREENWIDTH;
  43. UWORD                  SHEIGHT = STDSCREENHEIGHT;
  44. UWORD                  delwinWidth;
  45. UWORD                  delwinHeight;
  46. UBYTE                 *PlotWindowWdt = (UBYTE *)"ChrisP";
  47. UBYTE                 *delwinWdt = (UBYTE *)"Kill Trace";
  48. struct Window         *PreSlideWnd = NULL;
  49. struct Gadget         *PreSlideGList = NULL;
  50. struct IntuiMessage    PreSlideMsg;
  51. struct Gadget         *PreSlideGadgets[1];
  52. UBYTE                 *PreSlideWdt = (UBYTE *)"Precision for Identify Feature";
  53.  
  54. WORD GADHEIGHT;
  55. WORD GADWIDTH;
  56.  
  57.  
  58. struct NewMenu PlotWindowNewMenu[] = {
  59.      NM_TITLE, (STRPTR)"Project", NULL, 0, NULL, NULL,
  60.      NM_ITEM, (STRPTR)"Open File", (STRPTR)"O", 0, 0L, (APTR)newfile,
  61.      NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
  62.      NM_ITEM, (STRPTR)"Add File", (STRPTR)"A", 0, 0L, (APTR)addClicked,
  63.      NM_ITEM, (STRPTR)"Kill Set", (STRPTR)"K", 0, 0L, (APTR)deleteClicked,
  64.      NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
  65.      NM_ITEM, (STRPTR)"Print", (STRPTR)"P", 0, 0L, (APTR)PlotDump,
  66.      NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
  67.      NM_ITEM, (STRPTR)"About", NULL, 0, 0L, (APTR)PlotWindowItem0,
  68.      NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
  69.      NM_ITEM, (STRPTR)"Die", (STRPTR)"Q", 0, 0L, (APTR)PlotWindowItem1,
  70.      NM_TITLE, (STRPTR)"Display", NULL, 0, NULL, NULL,
  71.      NM_ITEM, (STRPTR)"Full View", (STRPTR)"F", 0L, 0L, (APTR)fullClicked,
  72.      NM_ITEM, (STRPTR)"UnZoom", (STRPTR)"U", 0L, 0L, (APTR)UnZoom,
  73.      NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
  74.      NM_ITEM, (STRPTR)"Cross Hair", (STRPTR)"H", 0L, 0L, (APTR)CrossHair,
  75.      NM_ITEM, (STRPTR)"Significant Digits", (STRPTR)"D", 0L, 0L, (APTR)PreOpenRequest,
  76.      NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
  77.      NM_ITEM, (STRPTR)"Grid", (STRPTR)"G", NULL, 0L, (APTR)gridClicked,
  78.      NM_ITEM, (STRPTR)"Symbols", (STRPTR)"S", NULL, 0L, (APTR)PlotWindowItem6,
  79.      NM_ITEM, (STRPTR)"Control Panel", (STRPTR)"C", NULL, 0L, (APTR)PlotWindowItem7,
  80.      NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
  81.      NM_ITEM, (STRPTR)"Screen  Depth", NULL, 0, NULL, NULL,
  82.      NM_SUB, (STRPTR)"1", (STRPTR)"1", NULL, 0L, (APTR)NewDepth1,
  83.      NM_SUB, (STRPTR)"2", (STRPTR)"2", NULL, 0L, (APTR)NewDepth2,
  84.      NM_SUB, (STRPTR)"3", (STRPTR)"3", NULL, 0L, (APTR)NewDepth3,
  85.      NM_SUB, (STRPTR)"4", (STRPTR)"4", NULL, 0L, (APTR)NewDepth4,
  86.      NM_TITLE, (STRPTR)"Axis", NULL, 0, NULL, NULL,
  87.      NM_ITEM, (STRPTR)"XAxis", NULL, 0, NULL, NULL,
  88.      NM_SUB, (STRPTR)"Lin", NULL, 0, 0L, (APTR)PlotWindowItem2,
  89.      NM_SUB, (STRPTR)"Log", NULL, 0, 0L, (APTR)PlotWindowItem3,
  90.      NM_ITEM, (STRPTR)"YAxis", NULL, 0, NULL, NULL,
  91.      NM_SUB, (STRPTR)"Lin", NULL, 0, 0L, (APTR)PlotWindowItem4,
  92.      NM_SUB, (STRPTR)"Log", NULL, 0, 0L, (APTR)PlotWindowItem5,
  93.      NM_END, NULL, NULL, 0, 0L, NULL };
  94.  
  95.  
  96. UWORD PlotWindowGTypes[] = {
  97.      BUTTON_KIND,
  98.      BUTTON_KIND,
  99.      BUTTON_KIND,
  100.      BUTTON_KIND,
  101.      BUTTON_KIND,
  102.      BUTTON_KIND
  103. };
  104.  
  105. UWORD delwinGTypes[] = {
  106.      LISTVIEW_KIND,
  107.      BUTTON_KIND,
  108.      BUTTON_KIND
  109. };
  110.  
  111. UWORD PreSlideGTypes[] = {
  112.     SLIDER_KIND
  113. };
  114.  
  115. struct NewGadget PlotWindowNGad[] = {
  116.      NULL, NULL, NULL, NULL, (UBYTE *)"_Add", NULL, GD_add, PLACETEXT_IN, NULL, (APTR)addClicked,
  117.      NULL, NULL, NULL, NULL, (UBYTE *)"_Kill", NULL, GD_delete, PLACETEXT_IN, NULL, (APTR)deleteClicked,
  118.      NULL, NULL, NULL, NULL, (UBYTE *)"_Full", NULL, GD_full, PLACETEXT_IN, NULL, (APTR)fullClicked,
  119.      NULL, NULL, NULL, NULL, (UBYTE *)"_Zoom", NULL, GD_zoom, PLACETEXT_IN, NULL, (APTR)zoomClicked,
  120.      NULL, NULL, NULL, NULL, (UBYTE *)"_Hair", NULL, GD_grid, PLACETEXT_IN, NULL, (APTR)CrossHair,
  121.      NULL, NULL, NULL, NULL, (UBYTE *)"_Quit", NULL, GD_quit, PLACETEXT_IN, NULL, (APTR)quitClicked
  122. };
  123.  
  124. struct NewGadget delwinNGad[] = {
  125.      NULL, NULL, NULL, NULL, NULL, NULL, GD_dellist, NULL, NULL, (APTR)dellistClicked,
  126.      NULL, NULL, NULL, NULL, (UBYTE *)"_Kill", NULL, GD_delset, PLACETEXT_IN, NULL, (APTR)delsetClicked,
  127.      NULL, NULL, NULL, NULL, (UBYTE *)"_Redraw", NULL, GD_canlist, PLACETEXT_IN, NULL, (APTR)canlistClicked
  128. };
  129.  
  130. struct NewGadget PreSlideNGad[] = {
  131.     NULL, NULL, NULL, NULL, NULL, NULL, GD_pre, PLACETEXT_BELOW, NULL, (APTR)preClicked
  132. };
  133.  
  134.  
  135. ULONG PlotWindowGTags[] = {
  136.      (GT_Underscore), '_', (TAG_DONE),
  137.      (GT_Underscore), '_', (TAG_DONE),
  138.      (GT_Underscore), '_', (TAG_DONE),
  139.      (GT_Underscore), '_', (TAG_DONE),
  140.      (GT_Underscore), '_', (TAG_DONE),
  141.      (GT_Underscore), '_', (TAG_DONE)
  142. };
  143.  
  144. ULONG delwinGTags[] = {
  145.      (GTLV_ShowSelected), NULL, (TAG_DONE),
  146.      (GT_Underscore), '_', (TAG_DONE),
  147.      (GT_Underscore), '_', (TAG_DONE)
  148. };
  149.  
  150. ULONG PreSlideGTags[] = {
  151.     (GTSL_Min), 1, (GTSL_Max), 9, (GTSL_Level), NULL, (GTSL_MaxLevelLen), 3, (GTSL_LevelFormat), (ULONG)"%ld", (PGA_Freedom), LORIENT_HORIZ, (GA_RelVerify), TRUE, (TAG_DONE)
  152. };
  153.  
  154.  
  155. struct ColorSpec MonoColors[] = {
  156.       0, 0x02, 0x01, 0x05,
  157.       1, 0x0F, 0x0E, 0x0D,
  158.      ~0, 0x00, 0x00, 0x00 };
  159.  
  160. struct ColorSpec FourColors[] = {
  161.       0, 0x06, 0x07, 0x09,
  162.       1, 0x0B, 0x0A, 0x0A,
  163.       2, 0x03, 0x01, 0x03,
  164.       3, 0x0F, 0x06, 0x06,
  165.      ~0, 0x00, 0x00, 0x00 };
  166.  
  167. struct ColorSpec EightColors[] = {
  168.       0, 0x08, 0x07, 0x08,
  169.       1, 0x00, 0x00, 0x00,
  170.       2, 0x0C, 0x0C, 0x0F,
  171.       3, 0x09, 0x07, 0x08,
  172.       4, 0x0A, 0x07, 0x0F,
  173.       5, 0x0F, 0x0E, 0x08,
  174.       6, 0x04, 0x04, 0x07,
  175.       7, 0x0F, 0x0F, 0x0F,
  176.      ~0, 0x00, 0x00, 0x00 };
  177.  
  178. struct ColorSpec SixteenColors[] = {
  179.       0, 0x08, 0x07, 0x08,
  180.       1, 0x00, 0x00, 0x00,
  181.       2, 0x0F, 0x0F, 0x0F,
  182.       3, 0x07, 0x06, 0x09,
  183.       4, 0x08, 0x0B, 0x0F,
  184.       5, 0x00, 0x0E, 0x08,
  185.       6, 0x0F, 0x04, 0x08,
  186.       7, 0x0F, 0x0D, 0x07,
  187.       8, 0x0B, 0x07, 0x0F,
  188.       9, 0x0F, 0x0A, 0x08,
  189.      10, 0x0F, 0x08, 0x0D,
  190.      11, 0x06, 0x00, 0x0F,
  191.      12, 0x00, 0x0F, 0x0F,
  192.      13, 0x0F, 0x05, 0x00,
  193.      14, 0x05, 0x04, 0x07,
  194.      15, 0x0F, 0x0F, 0x0F,
  195.      ~0, 0x00, 0x00, 0x00 };
  196.  
  197.  
  198. int SetupScreen( void )
  199. {
  200. UBYTE PubNum[4];
  201. struct List    *publist;
  202. struct PubScreenNode *psnode;
  203. WORD  s=0,t;
  204. WORD len;
  205. struct ColorSpec *ScreenColors;
  206. UBYTE PubName[32];
  207.  
  208. UWORD DriPens[] = {
  209.      0,1,2,2,1,3,2,0,2,~0 };
  210.  
  211. UWORD TwoPens[] = {
  212.      0,1,2,1,2,3,2,0,2,~0 };
  213.  
  214.  
  215.      strcpy(PubName,MyName);  /* OpenScreen will fail if MyName has already been used */
  216.  
  217.      if ( Stricmp(PubName,&version_string[5])==0)     /** if user didn't supply us a name **/
  218.        {
  219.         strcpy(PubName,"cP");
  220.  
  221.         len = (WORD) strlen( PubName );
  222.  
  223.         publist = LockPubScreenList();                /* Lock the public screen list     */
  224.  
  225.         for (psnode = (struct PubScreenNode *) publist->lh_Head; psnode->psn_Node.ln_Succ; psnode = (struct PubScreenNode *) psnode->psn_Node.ln_Succ)
  226.           {
  227.               if ( ! Strnicmp( psnode-> psn_Node.ln_Name, PubName, len))
  228.                   {
  229.                    t = 0;
  230.                    sscanf( &psnode-> psn_Node.ln_Name [len],"%hd", &t);
  231.                    s = max(s,t);
  232.                 }
  233.           }
  234.  
  235.          UnlockPubScreenList ();
  236.  
  237.          sprintf( PubNum,"%hd", s+1 );
  238.          strcat ( PubName, PubNum)