home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / gaded20demo.lha / Oberon / Test.mod next >
Text File  |  1993-11-11  |  50KB  |  1,420 lines

  1. MODULE Test;
  2.  
  3. (* Erstellt mit GadEd V2.0 *)
  4. (* Geschrieben von Michael Neumann und Thomas Patschinski *)
  5.  
  6. IMPORT s  := SYSTEM,
  7.        es := ExecSupport,
  8.        e  := Exec,
  9.        df := DiskFont,
  10.        g  := Graphics,
  11.        in := Intuition,
  12.        gt := GadTools,
  13.        st := Strings,
  14.        u  := Utility;
  15.  
  16. TYPE TagItemType = UNTRACED POINTER TO ARRAY MAX (INTEGER) OF u.TagItem;
  17.      TagType     = UNTRACED POINTER TO ARRAY MAX (INTEGER) OF u.Tag;
  18.  
  19. CONST
  20.       tagUnderscore    = gt.tagBase+64;
  21.       waNewLookMenu    = u.user+30H+99;
  22.       gtNewLookMenu    = u.user+80000H+67;
  23.       tagCheckScaled   = u.user+80000H+68;
  24.       tagMxScaled      = u.user+80000H+69;
  25.       tagNumColors     = u.user+80000H+70;
  26.       tagTitlePlace    = u.user+80000H+71;
  27.       tagFrontPen      = u.user+80000H+72;
  28.       tagBackPen       = u.user+80000H+73;
  29.       tagJustification = u.user+80000H+74;
  30.       tagFormat        = u.user+80000H+75;
  31.       tagMaxNumberLen  = u.user+80000H+76;
  32.       tagFrameType     = u.user+80000H+77;
  33.       tagMaxPixelLen   = u.user+80000H+80;
  34.       tagClipped       = u.user+80000H+85;
  35.  
  36.  
  37.       (* Proc00-Requester *)
  38.       (* Gadget Lables *)
  39.  
  40.       Proc00GadEdGadget000               * = 0;
  41.       Proc00GadEdGadget001               * = 1;
  42.       Proc00GadEdGadget002               * = 2;
  43.       Proc00GadEdGadget003               * = 3;
  44.       Proc00GadEdGadget004               * = 4;
  45.       Proc00GadEdGadget005               * = 5;
  46.       Proc00GadEdGadget006               * = 6;
  47.       Proc00GadEdGadget007               * = 7;
  48.       Proc00GadEdGadget008               * = 8;
  49.       Proc00GadEdGadget009               * = 9;
  50.       Proc00GadEdGadget010               * = 10;
  51.       Proc00GadEdGadget011               * = 11;
  52.       Proc00GadEdGadget012               * = 12;
  53.       Proc00GadEdGadget013               * = 13;
  54.       Proc00GadEdGadget014               * = 14;
  55.       Proc00GadEdGadget015               * = 15;
  56.       Proc00GadEdGadget016               * = 16;
  57.       Proc00GadEdGadget017               * = 17;
  58.       Proc00GadEdGadget018               * = 18;
  59.       Proc00GadEdGadget019               * = 19;
  60.       Proc00GadEdGadget020               * = 20;
  61.       Proc00GadEdGadget021               * = 21;
  62.       Proc00GadEdGadget022               * = 22;
  63.       Proc00GadEdGadget023               * = 23;
  64.       Proc00GadEdGadget024               * = 24;
  65.       Proc00GadEdGadget025               * = 25;
  66.       Proc00GadEdGadget026               * = 26;
  67.       Proc00GadEdGadget027               * = 27;
  68.  
  69.       (* Menü Lables *)
  70.  
  71.       Proc00GadEdTitel000                * = 0;
  72.       Proc00GadEdItem000                 * = 0;
  73.       Proc00GadEdItem001                 * = 2;
  74.       Proc00GadEdItem002                 * = 3;
  75.       Proc00GadEdItem003                 * = 5;
  76.       Proc00GadEdTitel001                * = 1;
  77.       Proc00GadEdItem004                 * = 0;
  78.       Proc00GadEdItem005                 * = 1;
  79.       Proc00GadEdItem006                 * = 2;
  80.       Proc00GadEdTitel002                * = 2;
  81.       Proc00GadEdItem007                 * = 0;
  82.       Proc00GadEdSub000                  * = 0;
  83.       Proc00GadEdSub001                  * = 2;
  84.       Proc00GadEdItem008                 * = 1;
  85.       Proc00GadEdItem009                 * = 2;
  86.       Proc00GadEdItem010                 * = 3;
  87.       Proc00GadEdItem011                 * = 5;
  88.       Proc00GadEdItem012                 * = 6;
  89.       Proc00GadEdTitel003                * = 3;
  90.       Proc00GadEdItem013                 * = 0;
  91.       Proc00GadEdItem014                 * = 1;
  92.       Proc00GadEdItem015                 * = 3;
  93.       Proc00GadEdSub002                  * = 0;
  94.       Proc00GadEdSub003                  * = 1;
  95.  
  96.       (* Proc01-Requester *)
  97.       (* Gadget Lables *)
  98.  
  99.       Proc01GadEdGadget000               * = 0;
  100.       Proc01GadEdGadget001               * = 1;
  101.       Proc01GadEdGadget002               * = 2;
  102.       Proc01GadEdGadget003               * = 3;
  103.       Proc01GadEdGadget004               * = 4;
  104.       Proc01GadEdGadget005               * = 5;
  105.       Proc01GadEdGadget006               * = 6;
  106.       Proc01GadEdGadget007               * = 7;
  107.       Proc01GadEdGadget008               * = 8;
  108.       Proc01GadEdGadget009               * = 9;
  109.       Proc01GadEdGadget010               * = 10;
  110.       Proc01GadEdGadget011               * = 11;
  111.       Proc01GadEdGadget012               * = 12;
  112.       Proc01GadEdGadget013               * = 13;
  113.       Proc01GadEdGadget014               * = 14;
  114.       Proc01GadEdGadget015               * = 15;
  115.       Proc01GadEdGadget016               * = 16;
  116.       Proc01GadEdGadget017               * = 17;
  117.       Proc01GadEdGadget018               * = 18;
  118.       Proc01GadEdGadget019               * = 19;
  119.       Proc01GadEdGadget020               * = 20;
  120.       Proc01GadEdGadget021               * = 21;
  121.       Proc01GadEdGadget022               * = 22;
  122.       Proc01GadEdGadget023               * = 23;
  123.       Proc01GadEdGadget024               * = 24;
  124.       Proc01GadEdGadget025               * = 25;
  125.       Proc01GadEdGadget026               * = 26;
  126.       Proc01GadEdGadget027               * = 27;
  127.  
  128.       (* Menü Lables *)
  129.  
  130.       Proc01GadEdTitel000                * = 0;
  131.       Proc01GadEdItem000                 * = 0;
  132.       Proc01GadEdItem001                 * = 2;
  133.       Proc01GadEdItem002                 * = 3;
  134.       Proc01GadEdItem003                 * = 5;
  135.       Proc01GadEdTitel001                * = 1;
  136.       Proc01GadEdItem004                 * = 0;
  137.       Proc01GadEdItem005                 * = 1;
  138.       Proc01GadEdItem006                 * = 2;
  139.       Proc01GadEdTitel002                * = 2;
  140.       Proc01GadEdItem007                 * = 0;
  141.       Proc01GadEdSub000                  * = 0;
  142.       Proc01GadEdSub001                  * = 2;
  143.       Proc01GadEdItem008                 * = 1;
  144.       Proc01GadEdItem009                 * = 2;
  145.       Proc01GadEdItem010                 * = 3;
  146.       Proc01GadEdItem011                 * = 5;
  147.       Proc01GadEdItem012                 * = 6;
  148.       Proc01GadEdTitel003                * = 3;
  149.       Proc01GadEdItem013                 * = 0;
  150.       Proc01GadEdItem014                 * = 1;
  151.       Proc01GadEdItem015                 * = 3;
  152.       Proc01GadEdSub002                  * = 0;
  153.       Proc01GadEdSub003                  * = 1;
  154.  
  155. VAR
  156.     Liste * :               ARRAY 2 OF e.List;
  157.     ListViewList00 * :      ARRAY 2 OF e.List;
  158.     Men * :                 in.MenuPtr;
  159.     Menu00 * :              in.MenuPtr;
  160.     congad:                 ARRAY 2 OF in.GadgetPtr;
  161.     W:                      ARRAY 2 OF in.WindowPtr;
  162.     gad:                    in.GadgetPtr;
  163.     Vi:                     s.ADDRESS;
  164.     Screen:                 in.ScreenPtr;
  165.     OwnScreen:              BOOLEAN;
  166.     SAttr:                  g.TextAttr;
  167.     SFont:                  g.TextFontPtr;
  168.     WFont:                  ARRAY 2 OF g.TextFontPtr;
  169.     OffsetY:                INTEGER;
  170.     FontXSize,
  171.     FontYSize,
  172.     WinLeft,
  173.     WinTop,
  174.     WinWidth,
  175.     WinHeight:              INTEGER;
  176.     G0 * :                  ARRAY 28 OF in.GadgetPtr;
  177.     GPtrs00 * :             ARRAY 28 OF in.GadgetPtr;
  178.  
  179. TYPE PensType = ARRAY 1 OF INTEGER;
  180. CONST Pens = PensType(-1);
  181.  
  182. TYPE STagsType = ARRAY 24 OF u.Tag;
  183. CONST STags = STagsType (
  184.          in.saFont,NIL,
  185.          in.saTop,0,
  186.          in.saPens,s.ADR(Pens),
  187.          in.saWidth,724,
  188.          in.saHeight,564,
  189.          in.saDepth,2,
  190.          in.saDisplayID,000029004H,
  191.          in.saTitle,s.ADR("Gadget Test Screen"),
  192.          in.saFullPalette,in.LTRUE,
  193.          in.saShowTitle,in.LTRUE,
  194.          in.saOverscan,in.oScanText,
  195.          u.done,NIL
  196.       );
  197.  
  198. (* Definitionen für Fenster Proc00 Maske *)
  199.  
  200. CONST WAttr0=g.TextAttr(s.ADR("topaz-classic.font"),8,SHORTSET{},SHORTSET{});
  201.  
  202. TYPE  NewG0Type=ARRAY 28 OF gt.NewGadget;
  203. CONST NewG0=NewG0Type(
  204.         115, 71, 67, 12, s.ADR("Tel_. Nummer:"), s.ADR(WAttr0), 0, LONGSET{gt.placeTextLeft}, NIL,NIL
  205.        ,115, 83, 67, 12, s.ADR("_Haus Nummer:"), s.ADR(WAttr0), 1, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  206.        ,115, 212, 234, 12, s.ADR("Copyright b_y"), s.ADR(WAttr0), 2, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  207.        ,115, 224, 234, 12, s.ADR("Copyright b_y"), s.ADR(WAttr0), 3, LONGSET{gt.placeTextLeft}, NIL,NIL
  208.        ,15, 18, 92, 21, s.ADR("Button"), s.ADR(WAttr0), 4, LONGSET{gt.placeTextIn}, NIL,1
  209.        ,15, 39, 92, 21, s.ADR("_Ok"), s.ADR(WAttr0), 5, LONGSET{gt.placeTextIn}, NIL,NIL
  210.        ,107, 18, 92, 21, s.ADR("_Under"), s.ADR(WAttr0), 6, LONGSET{gt.placeTextIn}, NIL,2
  211.        ,107, 39, 92, 21, s.ADR("Special !"), s.ADR(WAttr0), 7, LONGSET{gt.placeTextIn}, NIL,NIL
  212.        ,217, 17, 26, 11, s.ADR("Checkbo_x"), s.ADR(WAttr0), 8, LONGSET{gt.placeTextRight,gt.highLabel}, NIL,NIL
  213.        ,217, 28, 26, 11, s.ADR("_Gfx"), s.ADR(WAttr0), 9, LONGSET{gt.placeTextRight}, NIL,NIL
  214.        ,217, 39, 26, 11, s.ADR("Text _Modus"), s.ADR(WAttr0), 10, LONGSET{gt.placeTextRight}, NIL,NIL
  215.        ,217, 50, 26, 11, s.ADR("Nicht umschalten"), s.ADR(WAttr0), 11, LONGSET{gt.placeTextRight}, NIL,NIL
  216.        ,393, 30, 227, 49, s.ADR("Info Box"), s.ADR(WAttr0), 12, LONGSET{gt.placeTextAbove,gt.highLabel}, NIL,NIL
  217.        ,393, 90, 227, 71, s.ADR("Screen Mode:"), s.ADR(WAttr0), 13, LONGSET{gt.placeTextAbove}, NIL,NIL
  218.        ,248, 72, 16, 8, s.ADR("3.x"), s.ADR(WAttr0), 14, LONGSET{gt.placeTextRight,gt.highLabel}, NIL,NIL
  219.        ,230, 72, 16, 8, NIL, s.ADR(WAttr0), 15, LONGSET{gt.placeTextLeft}, NIL,NIL
  220.        ,89, 104, 87, 10, s.ADR("Fast Ram"), s.ADR(WAttr0), 16, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  221.        ,89, 114, 87, 10, s.ADR("Chip Ram"), s.ADR(WAttr0), 17, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  222.        ,61, 135, 122, 12, s.ADR("Mo_dus"), s.ADR(WAttr0), 18, LONGSET{gt.placeTextLeft}, NIL,NIL
  223.        ,61, 147, 122, 12, s.ADR("Mo_dus"), s.ADR(WAttr0), 19, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  224.        ,83, 167, 160, 19, s.ADR("Farb_wahl"), s.ADR(WAttr0), 20, LONGSET{gt.placeTextLeft}, NIL,NIL
  225.        ,83, 186, 160, 19, s.ADR("Farb_wahl"), s.ADR(WAttr0), 21, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  226.        ,332, 72, 24, 73, s.ADR("Q\o"), s.ADR(WAttr0), 22, LONGSET{gt.placeTextBelow,gt.highLabel}, NIL,NIL
  227.        ,356, 72, 24, 73, s.ADR("Q\o"), s.ADR(WAttr0), 23, LONGSET{gt.placeTextBelow}, NIL,NIL
  228.        ,311, 170, 281, 17, s.ADR("Anfang"), s.ADR(WAttr0), 24, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  229.        ,311, 187, 281, 17, s.ADR("Ende"), s.ADR(WAttr0), 25, LONGSET{gt.placeTextLeft}, NIL,NIL
  230.        ,441, 213, 184, 11, s.ADR("Fix Text"), s.ADR(WAttr0), 26, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  231.        ,441, 224, 184, 11, s.ADR("Fix Text"), s.ADR(WAttr0), 27, LONGSET{gt.placeTextLeft}, NIL,NIL
  232.       );
  233.  
  234. TYPE  MxText0x0Type=ARRAY 5 OF s.ADDRESS;
  235. CONST MxText0x0=MxText0x0Type (
  236.         s.ADR("_Domino"),
  237.         s.ADR("_Pal"),
  238.         s.ADR("_Ntsc"),
  239.         s.ADR("N_ichts"),
  240.         NIL
  241.       );
  242.  
  243. TYPE  MxText0x1Type=ARRAY 10 OF s.ADDRESS;
  244. CONST MxText0x1=MxText0x1Type (
  245.         s.ADR("1\o"),
  246.         s.ADR("2\o"),
  247.         s.ADR("4\o"),
  248.         s.ADR("8\o"),
  249.         s.ADR("16"),
  250.         s.ADR("32"),
  251.         s.ADR("64"),
  252.         s.ADR("128"),
  253.         s.ADR("256"),
  254.         NIL
  255.       );
  256.  
  257. TYPE  CyText0x0Type=ARRAY 4 OF s.ADDRESS;
  258. CONST CyText0x0=CyText0x0Type (
  259.         s.ADR("Pause"),
  260.         s.ADR("Step"),
  261.         s.ADR("Run"),
  262.         NIL
  263.       );
  264.  
  265. TYPE  CyText0x1Type=ARRAY 4 OF s.ADDRESS;
  266. CONST CyText0x1=CyText0x1Type (
  267.         s.ADR("Pause"),
  268.         s.ADR("Step"),
  269.         s.ADR("Run"),
  270.         NIL
  271.       );
  272.  
  273. TYPE  Kinds0Type=ARRAY 28 OF INTEGER;
  274. CONST Kinds0=Kinds0Type(
  275.         gt.integerKind
  276.        ,gt.integerKind
  277.        ,gt.stringKind
  278.        ,gt.stringKind
  279.        ,gt.buttonKind
  280.        ,gt.buttonKind
  281.        ,gt.buttonKind
  282.        ,gt.buttonKind
  283.        ,gt.checkBoxKind
  284.        ,gt.checkBoxKind
  285.        ,gt.checkBoxKind
  286.        ,gt.checkBoxKind
  287.        ,gt.listViewKind
  288.        ,gt.listViewKind
  289.        ,gt.mxKind
  290.        ,gt.mxKind
  291.        ,gt.numberKind
  292.        ,gt.numberKind
  293.        ,gt.cycleKind
  294.        ,gt.cycleKind
  295.        ,gt.paletteKind
  296.        ,gt.paletteKind
  297.        ,gt.scrollerKind
  298.        ,gt.scrollerKind
  299.        ,gt.sliderKind
  300.        ,gt.sliderKind
  301.        ,gt.textKind
  302.        ,gt.textKind
  303.       );
  304.  
  305. TYPE  Tags0Type=ARRAY 228 OF u.Tag;
  306. CONST Tags0=Tags0Type(
  307.         tagUnderscore,ORD("_"),
  308.         gt.inNumber,4711,
  309.         in.stringaReplaceMode,in.LTRUE,
  310.         in.gaImmediate,in.LTRUE,
  311.         u.done,
  312.         tagUnderscore,ORD("_"),
  313.         gt.inNumber,1,
  314.         gt.inMaxChars,7,
  315.         in.stringaJustification,LONGSET{in.stringCenter},
  316.         u.done,
  317.         tagUnderscore,ORD("_"),
  318.         gt.stString,s.ADR("Thomas Patschinski"),
  319.         in.stringaReplaceMode,in.LTRUE,
  320.         in.stringaJustification,LONGSET{in.stringCenter},
  321.         gt.stMaxChars,79,
  322.         in.gaImmediate,in.LTRUE,
  323.         in.gaTabCycle,in.LFALSE,
  324.         in.stringaExitHelp,in.LTRUE,
  325.         u.done,
  326.         tagUnderscore,ORD("_"),
  327.         gt.stString,s.ADR("Michael Neumann"),
  328.         gt.stMaxChars,255,
  329.         in.gaTabCycle,in.LFALSE,
  330.         in.stringaExitHelp,in.LTRUE,
  331.         u.done,
  332.         in.gaImmediate,in.LTRUE,
  333.         u.done,
  334.         tagUnderscore,ORD("_"),
  335.         u.done,
  336.         tagUnderscore,ORD("_"),
  337.         u.done,
  338.         in.gaDisabled,in.LTRUE,
  339.         u.done,
  340.         tagUnderscore,ORD("_"),
  341.         gt.cbChecked,in.LTRUE,
  342.         tagCheckScaled,in.LTRUE,
  343.         u.done,
  344.         tagUnderscore,ORD("_"),
  345.         u.done,
  346.         tagUnderscore,ORD("_"),
  347.         gt.cbChecked,in.LTRUE,
  348.         u.done,
  349.         in.gaDisabled,in.LTRUE,
  350.         u.done,
  351.         gt.lvReadOnly,in.LTRUE,
  352.         gt.lvLabels,NIL,
  353.         in.layoutaSpacing,2,
  354.         u.done,
  355.         gt.lvScrollWidth,24,
  356.         gt.lvShowSelected,NIL,
  357.         gt.lvLabels,NIL,
  358.         u.done,
  359.         tagUnderscore,ORD("_"),
  360.         gt.mxSpacing,2,
  361.         gt.mxLabels,s.ADR(MxText0x0[0]),
  362.         in.gaDisabled,in.LTRUE,
  363.        tagTitlePlace,LONGSET{gt.placeTextBelow},
  364.         u.done,
  365.         gt.mxSpacing,2,
  366.         gt.mxLabels,s.ADR(MxText0x1[0]),
  367.         tagMxScaled,in.LTRUE,
  368.         u.done,
  369.         gt.nmBorder,in.LTRUE,
  370.         gt.nmNumber,11893096,
  371.         tagClipped,in.LFALSE,
  372.         u.done,
  373.         gt.nmBorder,in.LTRUE,
  374.         gt.nmNumber,1904760,
  375.         tagFrontPen,2,
  376.         tagJustification,2,        tagMaxNumberLen,9,
  377.         u.done,
  378.         tagUnderscore,ORD("_"),
  379.         gt.cyLabels,s.ADR(CyText0x0[0]),
  380.         u.done,
  381.         tagUnderscore,ORD("_"),
  382.         in.gaDisabled,in.LTRUE,
  383.         gt.cyLabels,s.ADR(CyText0x1[0]),
  384.         u.done,
  385.         tagUnderscore,ORD("_"),
  386.         in.gaDisabled,in.LTRUE,
  387.         gt.paDepth,2,
  388.         gt.paIndicatorHeight,0,
  389.         gt.paIndicatorWidth,0,
  390.         u.done,
  391.         tagUnderscore,ORD("_"),
  392.         gt.paDepth,2,
  393.         gt.paIndicatorHeight,0,
  394.         gt.paIndicatorWidth,0,
  395.         u.done,
  396.         in.gaDisabled,in.LTRUE,
  397.         gt.scTotal,10,
  398.         gt.scVisible,3,
  399.         gt.scArrows,16,
  400.         in.pgaFreedom,2,
  401.         in.gaRelVerify,in.LTRUE,
  402.         in.gaImmediate,in.LTRUE,
  403.         u.done,
  404.         gt.scTop,9,
  405.         gt.scTotal,11,
  406.         gt.scArrows,16,
  407.         in.pgaFreedom,2,
  408.         u.done,
  409.         gt.slLevel,3,
  410.         gt.slMaxLevelLen,4,
  411.         gt.slLevelFormat,s.ADR("%ld "),
  412.         gt.slLevelPlace,2,
  413.         tagMaxPixelLen,5,
  414.         tagJustification,1,
  415.         u.done,
  416.         in.gaDisabled,in.LTRUE,
  417.         gt.slLevel,15,
  418.         gt.slMaxLevelLen,3,
  419.         gt.slLevelFormat,s.ADR("%ld "),
  420.         gt.slLevelPlace,2,
  421.         tagJustification,2,
  422.         u.done,
  423.         gt.txBorder,in.LTRUE,
  424.         gt.txText,s.ADR("GadEd Version 1.10"),
  425.         gt.txCopyText,in.LTRUE,
  426.         tagFrontPen,2,
  427.         tagBackPen,1,
  428.         u.done,
  429.         gt.txBorder,in.LTRUE,
  430.         gt.txText,s.ADR("<Empty>"),
  431.         tagJustification,2,        tagClipped,in.LFALSE,
  432.         u.done
  433.       );
  434.  
  435. TYPE  Bevel0Type=ARRAY 48 OF INTEGER;
  436. CONST Bevel0=Bevel0Type(
  437.         7, 101, 179,27
  438.        ,329, 68, 55,95
  439.        ,7, 68, 179,30
  440.        ,7, 132, 179,31
  441.        ,364, 210, 264,29
  442.        ,213, 13, 171,53
  443.        ,7, 210, 345,29
  444.        ,7, 165, 240,43
  445.        ,7, 13, 203,53
  446.        ,188, 68, 139,95
  447.        ,250, 165, 378,43
  448.        ,387, 13, 241,150
  449.       );
  450.  
  451. TYPE  BevelTags0Type=ARRAY 36 OF u.Tag;
  452. CONST BevelTags0=BevelTags0Type(
  453.         gt.visualInfo,NIL
  454.         ,u.done
  455.        ,gt.visualInfo,NIL
  456.         ,u.done
  457.        ,gt.visualInfo,NIL
  458.         ,u.done
  459.        ,gt.visualInfo,NIL
  460.         ,u.done
  461.        ,gt.visualInfo,NIL
  462.         ,u.done
  463.        ,gt.visualInfo,NIL
  464.         ,u.done
  465.        ,gt.visualInfo,NIL
  466.         ,u.done
  467.        ,gt.visualInfo,NIL
  468.         ,u.done
  469.        ,gt.visualInfo,NIL
  470.         ,u.done
  471.        ,gt.visualInfo,NIL
  472.         ,u.done
  473.        ,gt.visualInfo,NIL
  474.         ,u.done
  475.        ,gt.visualInfo,NIL
  476.         ,u.done
  477.       );
  478.  
  479. TYPE  IText0Type=ARRAY 4 OF in.IntuiText;
  480. CONST IText0=IText0Type(
  481.         3, 2, SHORTSET{0},267, 126, s.ADR(WAttr0), s.ADR("Das ist"), NIL
  482.        ,1, 0, SHORTSET{0,g.inversvid},283, 144, s.ADR(WAttr0), s.ADR("Intui"), NIL
  483.        ,1, 3, SHORTSET{0},291, 153, s.ADR(WAttr0), s.ADR("Text"), NIL
  484.        ,1, 2, SHORTSET{0},299, 135, s.ADR(WAttr0), s.ADR("ein"), NIL
  485.       );
  486.  
  487. TYPE  NewM0Type=ARRAY 30 OF gt.NewMenu;
  488. CONST NewM0=NewM0Type(
  489.         gt.title, s.ADR("Projekt"), NIL, {}, LONGSET{}, NIL, 
  490.         gt.item,s.ADR("About"),s.ADR("A\o"),  {}, LONGSET{}, NIL, 
  491.         gt.item,gt.barLabel,NIL,  {}, LONGSET{}, NIL, 
  492.         gt.item,s.ADR("Load"),s.ADR("L\o"),  {}, LONGSET{}, NIL, 
  493.         gt.item,s.ADR("Save"),s.ADR("S\o"),  {}, LONGSET{}, NIL, 
  494.         gt.item,gt.barLabel,NIL,  {}, LONGSET{}, NIL, 
  495.         gt.item,s.ADR("Quit"),s.ADR("Q\o"),  {}, LONGSET{}, NIL, 
  496.         gt.title, s.ADR("Buffer"), NIL, {}, LONGSET{}, NIL, 
  497.         gt.item,s.ADR("Cut"),s.ADR("C\o"),  {}, LONGSET{}, NIL, 
  498.         gt.item,s.ADR("Paste"),s.ADR("P\o"),  {}, LONGSET{}, NIL, 
  499.         gt.item,s.ADR("Copy"),s.ADR("O\o"),  {}, LONGSET{}, NIL, 
  500.         gt.title, s.ADR("Settings"), NIL, {}, LONGSET{}, NIL, 
  501.         gt.item,s.ADR("Special"),NIL,  {}, LONGSET{}, NIL, 
  502.         gt.sub,s.ADR("Betatester Info"),NIL, {in.menuToggle,in.checkIt,in.itemEnabled}, LONGSET{}, NIL, 
  503.         gt.sub,gt.barLabel;NIL, {}, LONGSET{}, NIL, 
  504.         gt.sub,s.ADR("Extendet Features"),NIL, {in.menuToggle,in.checkIt}, LONGSET{}, NIL, 
  505.         gt.item,s.ADR("Save Icons"),NIL,  {in.menuToggle,in.checkIt,in.checked}, LONGSET{}, NIL, 
  506.         gt.item,s.ADR("Use ENV:"),NIL,  {in.menuToggle,in.checkIt,in.checked}, LONGSET{}, NIL, 
  507.         gt.item,s.ADR("Fast Ram"),NIL,  {in.menuToggle,in.checkIt}, LONGSET{}, NIL, 
  508.         gt.item,gt.barLabel,NIL,  {}, LONGSET{}, NIL, 
  509.         gt.item,s.ADR("Asl Requster"),NIL,  {in.checkIt,in.checked}, LONGSET{}, NIL, 
  510.         gt.item,s.ADR("OS 3.x"),NIL,  {in.checkIt}, LONGSET{}, NIL, 
  511.         gt.title, s.ADR("Extendet Menu"), NIL, {gt.menuDisabled}, LONGSET{}, NIL, 
  512.         gt.item,s.ADR("New 1"),NIL,  {}, LONGSET{}, NIL, 
  513.         gt.item,s.ADR("New 2"),NIL,  {}, LONGSET{}, NIL, 
  514.         gt.item,gt.barLabel,NIL,  {}, LONGSET{}, NIL, 
  515.         gt.item,s.ADR("New 3"),NIL,  {}, LONGSET{}, NIL, 
  516.         gt.sub,s.ADR("New 3_1"),NIL, {}, LONGSET{}, NIL, 
  517.         gt.sub,s.ADR("New 3_2"),NIL, {}, LONGSET{}, NIL, 
  518.         gt.end, NIL, NIL, {}, LONGSET{},NIL
  519.       );
  520.  
  521. TYPE WTags0Type = ARRAY 30 OF u.Tag;
  522. CONST WTags0 = WTags0Type (
  523.         in.waCustomScreen,NIL,
  524.         in.waGadgets,NIL,
  525.         in.waLeft,0,
  526.         in.waTop,0,
  527.         in.waWidth,0,
  528.         in.waHeight,0,
  529.         in.waMinWidth,633,
  530.         in.waMinHeight,243,
  531.         in.waMaxWidth,633,
  532.         in.waMaxHeight,243,
  533.         in.waTitle,s.ADR("Gadget Test Fenster1"),
  534.         in.waIDCMP,gt.buttonIDCMP+gt.checkBoxIDCMP+gt.integerIDCMP+gt.listViewIDCMP+gt.mxIDCMP+gt.numberIDCMP+gt.cycleIDCMP+gt.paletteIDCMP+gt.scrollerIDCMP+gt.sliderIDCMP+gt.stringIDCMP+gt.textIDCMP+LONGSET{in.newSize,in.closeWindow},
  535.         in.waFlags,LONGSET{in.windowDrag,in.windowDepth,in.windowClose,in.activate},
  536.         waNewLookMenu,in.LTRUE,
  537.         u.done,NIL
  538.      );
  539.  
  540. (* Definitionen für Fenster Proc01 Maske *)
  541.  
  542. CONST WAttr1=g.TextAttr(s.ADR("topaz-classic.font"),8,SHORTSET{},SHORTSET{});
  543.  
  544. TYPE  NewG1Type=ARRAY 28 OF gt.NewGadget;
  545. CONST NewG1=NewG1Type(
  546.         115, 71, 67, 12, s.ADR("Tel_. Nummer:"), s.ADR(WAttr1), 0, LONGSET{gt.placeTextLeft}, NIL,NIL
  547.        ,115, 83, 67, 12, s.ADR("_Haus Nummer:"), s.ADR(WAttr1), 1, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  548.        ,115, 212, 234, 12, s.ADR("Copyright b_y"), s.ADR(WAttr1), 2, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  549.        ,115, 224, 234, 12, s.ADR("Copyright b_y"), s.ADR(WAttr1), 3, LONGSET{gt.placeTextLeft}, NIL,NIL
  550.        ,15, 18, 92, 21, s.ADR("Button"), s.ADR(WAttr1), 4, LONGSET{gt.placeTextIn}, NIL,1
  551.        ,15, 39, 92, 21, s.ADR("_Ok"), s.ADR(WAttr1), 5, LONGSET{gt.placeTextIn}, NIL,NIL
  552.        ,107, 18, 92, 21, s.ADR("_Under"), s.ADR(WAttr1), 6, LONGSET{gt.placeTextIn}, NIL,2
  553.        ,107, 39, 92, 21, s.ADR("Special !"), s.ADR(WAttr1), 7, LONGSET{gt.placeTextIn}, NIL,NIL
  554.        ,217, 17, 26, 11, s.ADR("Checkbo_x"), s.ADR(WAttr1), 8, LONGSET{gt.placeTextRight,gt.highLabel}, NIL,NIL
  555.        ,217, 28, 26, 11, s.ADR("_Gfx"), s.ADR(WAttr1), 9, LONGSET{gt.placeTextRight}, NIL,NIL
  556.        ,217, 39, 26, 11, s.ADR("Text _Modus"), s.ADR(WAttr1), 10, LONGSET{gt.placeTextRight}, NIL,NIL
  557.        ,217, 50, 26, 11, s.ADR("Nicht umschalten"), s.ADR(WAttr1), 11, LONGSET{gt.placeTextRight}, NIL,NIL
  558.        ,393, 30, 227, 49, s.ADR("Info Box"), s.ADR(WAttr1), 12, LONGSET{gt.placeTextAbove,gt.highLabel}, NIL,NIL
  559.        ,393, 90, 227, 71, s.ADR("Screen Mode:"), s.ADR(WAttr1), 13, LONGSET{gt.placeTextAbove}, NIL,NIL
  560.        ,248, 72, 16, 8, s.ADR("3.x"), s.ADR(WAttr1), 14, LONGSET{gt.placeTextRight,gt.highLabel}, NIL,NIL
  561.        ,230, 72, 16, 8, NIL, s.ADR(WAttr1), 15, LONGSET{gt.placeTextLeft}, NIL,NIL
  562.        ,89, 104, 87, 10, s.ADR("Fast Ram"), s.ADR(WAttr1), 16, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  563.        ,89, 114, 87, 10, s.ADR("Chip Ram"), s.ADR(WAttr1), 17, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  564.        ,61, 135, 122, 12, s.ADR("Mo_dus"), s.ADR(WAttr1), 18, LONGSET{gt.placeTextLeft}, NIL,NIL
  565.        ,61, 147, 122, 12, s.ADR("Mo_dus"), s.ADR(WAttr1), 19, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  566.        ,83, 167, 160, 19, s.ADR("Farb_wahl"), s.ADR(WAttr1), 20, LONGSET{gt.placeTextLeft}, NIL,NIL
  567.        ,83, 186, 160, 19, s.ADR("Farb_wahl"), s.ADR(WAttr1), 21, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  568.        ,332, 72, 24, 73, s.ADR("Q\o"), s.ADR(WAttr1), 22, LONGSET{gt.placeTextBelow,gt.highLabel}, NIL,NIL
  569.        ,356, 72, 24, 73, s.ADR("Q\o"), s.ADR(WAttr1), 23, LONGSET{gt.placeTextBelow}, NIL,NIL
  570.        ,311, 170, 281, 17, s.ADR("Anfang"), s.ADR(WAttr1), 24, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  571.        ,311, 187, 281, 17, s.ADR("Ende"), s.ADR(WAttr1), 25, LONGSET{gt.placeTextLeft}, NIL,NIL
  572.        ,441, 213, 184, 11, s.ADR("Fix Text"), s.ADR(WAttr1), 26, LONGSET{gt.placeTextLeft,gt.highLabel}, NIL,NIL
  573.        ,441, 224, 184, 11, s.ADR("Fix Text"), s.ADR(WAttr1), 27, LONGSET{gt.placeTextLeft}, NIL,NIL
  574.       );
  575.  
  576. TYPE  MxText1x0Type=ARRAY 5 OF s.ADDRESS;
  577. CONST MxText1x0=MxText1x0Type (
  578.         s.ADR("_Domino"),
  579.         s.ADR("_Pal"),
  580.         s.ADR("_Ntsc"),
  581.         s.ADR("N_ichts"),
  582.         NIL
  583.       );
  584.  
  585. TYPE  MxText1x1Type=ARRAY 10 OF s.ADDRESS;
  586. CONST MxText1x1=MxText1x1Type (
  587.         s.ADR("1\o"),
  588.         s.ADR("2\o"),
  589.         s.ADR("4\o"),
  590.         s.ADR("8\o"),
  591.         s.ADR("16"),
  592.         s.ADR("32"),
  593.         s.ADR("64"),
  594.         s.ADR("128"),
  595.         s.ADR("256"),
  596.         NIL
  597.       );
  598.  
  599. TYPE  CyText1x0Type=ARRAY 4 OF s.ADDRESS;
  600. CONST CyText1x0=CyText1x0Type (
  601.         s.ADR("Pause"),
  602.         s.ADR("Step"),
  603.         s.ADR("Run"),
  604.         NIL
  605.       );
  606.  
  607. TYPE  CyText1x1Type=ARRAY 4 OF s.ADDRESS;
  608. CONST CyText1x1=CyText1x1Type (
  609.         s.ADR("Pause"),
  610.         s.ADR("Step"),
  611.         s.ADR("Run"),
  612.         NIL
  613.       );
  614.  
  615. TYPE  Kinds1Type=ARRAY 28 OF INTEGER;
  616. CONST Kinds1=Kinds1Type(
  617.         gt.integerKind
  618.        ,gt.integerKind
  619.        ,gt.stringKind
  620.        ,gt.stringKind
  621.        ,gt.buttonKind
  622.        ,gt.buttonKind
  623.        ,gt.buttonKind
  624.        ,gt.buttonKind
  625.        ,gt.checkBoxKind
  626.        ,gt.checkBoxKind
  627.        ,gt.checkBoxKind
  628.        ,gt.checkBoxKind
  629.        ,gt.listViewKind
  630.        ,gt.listViewKind
  631.        ,gt.mxKind
  632.        ,gt.mxKind
  633.        ,gt.numberKind
  634.        ,gt.numberKind
  635.        ,gt.cycleKind
  636.        ,gt.cycleKind
  637.        ,gt.paletteKind
  638.        ,gt.paletteKind
  639.        ,gt.scrollerKind
  640.        ,gt.scrollerKind
  641.        ,gt.sliderKind
  642.        ,gt.sliderKind
  643.        ,gt.textKind
  644.        ,gt.textKind
  645.       );
  646.  
  647. TYPE  Tags1Type=ARRAY 228 OF u.Tag;
  648. CONST Tags1=Tags1Type(
  649.         tagUnderscore,ORD("_"),
  650.         gt.inNumber,4711,
  651.         in.stringaReplaceMode,in.LTRUE,
  652.         in.gaImmediate,in.LTRUE,
  653.         u.done,
  654.         tagUnderscore,ORD("_"),
  655.         gt.inNumber,1,
  656.         gt.inMaxChars,7,
  657.         in.stringaJustification,LONGSET{in.stringCenter},
  658.         u.done,
  659.         tagUnderscore,ORD("_"),
  660.         gt.stString,s.ADR("Thomas Patschinski"),
  661.         in.stringaReplaceMode,in.LTRUE,
  662.         in.stringaJustification,LONGSET{in.stringCenter},
  663.         gt.stMaxChars,79,
  664.         in.gaImmediate,in.LTRUE,
  665.         in.gaTabCycle,in.LFALSE,
  666.         in.stringaExitHelp,in.LTRUE,
  667.         u.done,
  668.         tagUnderscore,ORD("_"),
  669.         gt.stString,s.ADR("Michael Neumann"),
  670.         gt.stMaxChars,255,
  671.         in.gaTabCycle,in.LFALSE,
  672.         in.stringaExitHelp,in.LTRUE,
  673.         u.done,
  674.         in.gaImmediate,in.LTRUE,
  675.         u.done,
  676.         tagUnderscore,ORD("_"),
  677.         u.done,
  678.         tagUnderscore,ORD("_"),
  679.         u.done,
  680.         in.gaDisabled,in.LTRUE,
  681.         u.done,
  682.         tagUnderscore,ORD("_"),
  683.         gt.cbChecked,in.LTRUE,
  684.         tagCheckScaled,in.LTRUE,
  685.         u.done,
  686.         tagUnderscore,ORD("_"),
  687.         u.done,
  688.         tagUnderscore,ORD("_"),
  689.         gt.cbChecked,in.LTRUE,
  690.         u.done,
  691.         in.gaDisabled,in.LTRUE,
  692.         u.done,
  693.         gt.lvReadOnly,in.LTRUE,
  694.         gt.lvLabels,NIL,
  695.         in.layoutaSpacing,2,
  696.         u.done,
  697.         gt.lvScrollWidth,24,
  698.         gt.lvShowSelected,NIL,
  699.         gt.lvLabels,NIL,
  700.         u.done,
  701.         tagUnderscore,ORD("_"),
  702.         gt.mxSpacing,2,
  703.         gt.mxLabels,s.ADR(MxText1x0[0]),
  704.         in.gaDisabled,in.LTRUE,
  705.        tagTitlePlace,LONGSET{gt.placeTextBelow},
  706.         u.done,
  707.         gt.mxSpacing,2,
  708.         gt.mxLabels,s.ADR(MxText1x1[0]),
  709.         tagMxScaled,in.LTRUE,
  710.         u.done,
  711.         gt.nmBorder,in.LTRUE,
  712.         gt.nmNumber,11893096,
  713.         tagClipped,in.LFALSE,
  714.         u.done,
  715.         gt.nmBorder,in.LTRUE,
  716.         gt.nmNumber,1904760,
  717.         tagFrontPen,2,
  718.         tagJustification,2,        tagMaxNumberLen,9,
  719.         u.done,
  720.         tagUnderscore,ORD("_"),
  721.         gt.cyLabels,s.ADR(CyText1x0[0]),
  722.         u.done,
  723.         tagUnderscore,ORD("_"),
  724.         in.gaDisabled,in.LTRUE,
  725.         gt.cyLabels,s.ADR(CyText1x1[0]),
  726.         u.done,
  727.         tagUnderscore,ORD("_"),
  728.         in.gaDisabled,in.LTRUE,
  729.         gt.paDepth,2,
  730.         gt.paIndicatorHeight,0,
  731.         gt.paIndicatorWidth,0,
  732.         u.done,
  733.         tagUnderscore,ORD("_"),
  734.         gt.paDepth,2,
  735.         gt.paIndicatorHeight,0,
  736.         gt.paIndicatorWidth,0,
  737.         u.done,
  738.         in.gaDisabled,in.LTRUE,
  739.         gt.scTotal,10,
  740.         gt.scVisible,3,
  741.         gt.scArrows,16,
  742.         in.pgaFreedom,2,
  743.         in.gaRelVerify,in.LTRUE,
  744.         in.gaImmediate,in.LTRUE,
  745.         u.done,
  746.         gt.scTop,9,
  747.         gt.scTotal,11,
  748.         gt.scArrows,16,
  749.         in.pgaFreedom,2,
  750.         u.done,
  751.         gt.slLevel,3,
  752.         gt.slMaxLevelLen,4,
  753.         gt.slLevelFormat,s.ADR("%ld "),
  754.         gt.slLevelPlace,2,
  755.         tagMaxPixelLen,5,
  756.         tagJustification,1,
  757.         u.done,
  758.         in.gaDisabled,in.LTRUE,
  759.         gt.slLevel,15,
  760.         gt.slMaxLevelLen,3,
  761.         gt.slLevelFormat,s.ADR("%ld "),
  762.         gt.slLevelPlace,2,
  763.         tagJustification,2,
  764.         u.done,
  765.         gt.txBorder,in.LTRUE,
  766.         gt.txText,s.ADR("GadEd Version 1.10"),
  767.         gt.txCopyText,in.LTRUE,
  768.         tagFrontPen,2,
  769.         tagBackPen,1,
  770.         u.done,
  771.         gt.txBorder,in.LTRUE,
  772.         gt.txText,s.ADR("<Empty>"),
  773.         tagJustification,2,        tagClipped,in.LFALSE,
  774.         u.done
  775.       );
  776.  
  777. TYPE  Bevel1Type=ARRAY 48 OF INTEGER;
  778. CONST Bevel1=Bevel1Type(
  779.         7, 101, 179,27
  780.        ,329, 68, 55,95
  781.        ,7, 68, 179,30
  782.        ,7, 132, 179,31
  783.        ,364, 210, 264,29
  784.        ,213, 13, 171,53
  785.        ,7, 210, 345,29
  786.        ,7, 165, 240,43
  787.        ,7, 13, 203,53
  788.        ,188, 68, 139,95
  789.        ,250, 165, 378,43
  790.        ,387, 13, 241,150
  791.       );
  792.  
  793. TYPE  BevelTags1Type=ARRAY 36 OF u.Tag;
  794. CONST BevelTags1=BevelTags1Type(
  795.         gt.visualInfo,NIL
  796.         ,u.done
  797.        ,gt.visualInfo,NIL
  798.         ,u.done
  799.        ,gt.visualInfo,NIL
  800.         ,u.done
  801.        ,gt.visualInfo,NIL
  802.         ,u.done
  803.        ,gt.visualInfo,NIL
  804.         ,u.done
  805.        ,gt.visualInfo,NIL
  806.         ,u.done
  807.        ,gt.visualInfo,NIL
  808.         ,u.done
  809.        ,gt.visualInfo,NIL
  810.         ,u.done
  811.        ,gt.visualInfo,NIL
  812.         ,u.done
  813.        ,gt.visualInfo,NIL
  814.         ,u.done
  815.        ,gt.visualInfo,NIL
  816.         ,u.done
  817.        ,gt.visualInfo,NIL
  818.         ,u.done
  819.       );
  820.  
  821. TYPE  IText1Type=ARRAY 4 OF in.IntuiText;
  822. CONST IText1=IText1Type(
  823.         3, 2, SHORTSET{0},267, 126, s.ADR(WAttr1), s.ADR("Das ist"), NIL
  824.        ,1, 0, SHORTSET{0,g.inversvid},283, 144, s.ADR(WAttr1), s.ADR("Intui"), NIL
  825.        ,1, 3, SHORTSET{0},291, 153, s.ADR(WAttr1), s.ADR("Text"), NIL
  826.        ,1, 2, SHORTSET{0},299, 135, s.ADR(WAttr1), s.ADR("ein"), NIL
  827.       );
  828.  
  829. TYPE  NewM1Type=ARRAY 30 OF gt.NewMenu;
  830. CONST NewM1=NewM1Type(
  831.         gt.title, s.ADR("Projekt"), NIL, {}, LONGSET{}, NIL, 
  832.         gt.item,s.ADR("About"),s.ADR("A\o"),  {}, LONGSET{}, NIL, 
  833.         gt.item,gt.barLabel,NIL,  {}, LONGSET{}, NIL, 
  834.         gt.item,s.ADR("Load"),s.ADR("L\o"),  {}, LONGSET{}, NIL, 
  835.         gt.item,s.ADR("Save"),s.ADR("S\o"),  {}, LONGSET{}, NIL, 
  836.         gt.item,gt.barLabel,NIL,  {}, LONGSET{}, NIL, 
  837.         gt.item,s.ADR("Quit"),s.ADR("Q\o"),  {}, LONGSET{}, NIL, 
  838.         gt.title, s.ADR("Buffer"), NIL, {}, LONGSET{}, NIL, 
  839.         gt.item,s.ADR("Cut"),s.ADR("C\o"),  {}, LONGSET{}, NIL, 
  840.         gt.item,s.ADR("Paste"),s.ADR("P\o"),  {}, LONGSET{}, NIL, 
  841.         gt.item,s.ADR("Copy"),s.ADR("O\o"),  {}, LONGSET{}, NIL, 
  842.         gt.title, s.ADR("Settings"), NIL, {}, LONGSET{}, NIL, 
  843.         gt.item,s.ADR("Special"),NIL,  {}, LONGSET{}, NIL, 
  844.         gt.sub,s.ADR("Betatester Info"),NIL, {in.menuToggle,in.checkIt,in.itemEnabled}, LONGSET{}, NIL, 
  845.         gt.sub,gt.barLabel;NIL, {}, LONGSET{}, NIL, 
  846.         gt.sub,s.ADR("Extendet Features"),NIL, {in.menuToggle,in.checkIt}, LONGSET{}, NIL, 
  847.         gt.item,s.ADR("Save Icons"),NIL,  {in.menuToggle,in.checkIt,in.checked}, LONGSET{}, NIL, 
  848.         gt.item,s.ADR("Use ENV:"),NIL,  {in.menuToggle,in.checkIt,in.checked}, LONGSET{}, NIL, 
  849.         gt.item,s.ADR("Fast Ram"),NIL,  {in.menuToggle,in.checkIt}, LONGSET{}, NIL, 
  850.         gt.item,gt.barLabel,NIL,  {}, LONGSET{}, NIL, 
  851.         gt.item,s.ADR("Asl Requster"),NIL,  {in.checkIt,in.checked}, LONGSET{}, NIL, 
  852.         gt.item,s.ADR("OS 3.x"),NIL,  {in.checkIt}, LONGSET{}, NIL, 
  853.         gt.title, s.ADR("Extendet Menu"), NIL, {gt.menuDisabled}, LONGSET{}, NIL, 
  854.         gt.item,s.ADR("New 1"),NIL,  {}, LONGSET{}, NIL, 
  855.         gt.item,s.ADR("New 2"),NIL,  {}, LONGSET{}, NIL, 
  856.         gt.item,gt.barLabel,NIL,  {}, LONGSET{}, NIL, 
  857.         gt.item,s.ADR("New 3"),NIL,  {}, LONGSET{}, NIL, 
  858.         gt.sub,s.ADR("New 3_1"),NIL, {}, LONGSET{}, NIL, 
  859.         gt.sub,s.ADR("New 3_2"),NIL, {}, LONGSET{}, NIL, 
  860.         gt.end, NIL, NIL, {}, LONGSET{},NIL
  861.       );
  862.  
  863. TYPE WTags1Type = ARRAY 30 OF u.Tag;
  864. CONST WTags1 = WTags1Type (
  865.         in.waCustomScreen,NIL,
  866.         in.waGadgets,NIL,
  867.         in.waLeft,0,
  868.         in.waTop,0,
  869.         in.waWidth,0,
  870.         in.waHeight,0,
  871.         in.waMinWidth,633,
  872.         in.waMinHeight,243,
  873.         in.waMaxWidth,633,
  874.         in.waMaxHeight,243,
  875.         in.waTitle,s.ADR("Gadget Test Fenster"),
  876.         in.waIDCMP,gt.buttonIDCMP+gt.checkBoxIDCMP+gt.integerIDCMP+gt.listViewIDCMP+gt.mxIDCMP+gt.numberIDCMP+gt.cycleIDCMP+gt.paletteIDCMP+gt.scrollerIDCMP+gt.sliderIDCMP+gt.stringIDCMP+gt.textIDCMP+LONGSET{in.newSize,in.closeWindow},
  877.         in.waFlags,LONGSET{in.windowDrag,in.windowDepth,in.windowClose,in.activate},
  878.         waNewLookMenu,in.LTRUE,
  879.         u.done,NIL
  880.      );
  881.  
  882. PROCEDURE AddNode(VAR LVList : e.List; Name : ARRAY OF CHAR): BOOLEAN;
  883. VAR TempNode: e.NodePtr;
  884.     NewStr:   e.STRPTR;
  885. BEGIN
  886.    TempNode:=e.AllocVec(SIZE(e.Node),LONGSET{e.public,e.memClear});
  887.    IF TempNode=NIL THEN RETURN FALSE; END;
  888.    e.AddTail(LVList,TempNode);
  889.    NewStr:=e.AllocVec(st.Length(Name)+1,LONGSET{e.public,e.memClear});
  890.    IF NewStr=NIL THEN RETURN FALSE; END;
  891.    TempNode.name := NewStr;
  892.    e.CopyMemAPTR(s.ADR(Name),NewStr,st.Length(Name)+1);
  893.    RETURN TRUE;
  894. END AddNode;
  895.  
  896. PROCEDURE CalcXValue(number:INTEGER):INTEGER;
  897. BEGIN
  898. RETURN ((FontXSize*number)+4) DIV 8;
  899. END CalcXValue;
  900.  
  901. PROCEDURE CalcYValue(number:INTEGER):INTEGER;
  902. BEGIN
  903. RETURN ((FontYSize*number)+4) DIV 8;
  904. END CalcYValue;
  905.  
  906. PROCEDURE CalcFont(Width,Height:INTEGER);
  907. BEGIN
  908.    OffsetY     := 0;
  909.    FontXSize   := Screen^.rastPort.font^.xSize;
  910.    FontYSize   := Screen^.rastPort.font^.ySize;
  911.    SAttr.name  := Screen^.rastPort.font^.message.node.name;
  912.    SAttr.ySize := FontYSize;
  913.    IF (Width>0) AND (Height>0) THEN
  914.       IF (CalcXValue(Width) > Screen^.width) OR (CalcYValue(Height) > Screen^.height) THEN
  915.          OffsetY     := FontYSize-8;
  916.          SAttr.name  := s.ADR("topaz.font");
  917.          SAttr.ySize := 8;
  918.          FontXSize   := 8;
  919.          FontYSize   := 8;
  920.       END;
  921.    END;
  922. END CalcFont;
  923.  
  924. PROCEDURE CenterX(width:INTEGER): INTEGER;
  925. VAR rect      : g.Rectangle;
  926.     l,w       : INTEGER;
  927.     ID,Result : LONGINT;
  928. BEGIN
  929.   ID:=g.GetVPModeID(s.ADR(Screen^.viewPort));
  930.   Result := in.QueryOverscan(ID,rect,in.oScanText);
  931.   l := -Screen^.leftEdge;
  932.   w := rect.maxX - rect.minX+1;
  933.   RETURN ((w-width) DIV 2)+l;
  934. END CenterX;
  935.  
  936. PROCEDURE CenterY(height:INTEGER): INTEGER;
  937. VAR rect      : g.Rectangle;
  938.     t,h       : INTEGER;
  939.     ID,Result : LONGINT;
  940. BEGIN
  941.   ID:=g.GetVPModeID(s.ADR(Screen^.viewPort));
  942.   Result := in.QueryOverscan(ID,rect,in.oScanText);
  943.   t := -Screen^.topEdge;
  944.   h := rect.maxY - rect.minY+1;
  945.   RETURN ((h-height) DIV 2)+t;
  946. END CenterY;
  947.  
  948. PROCEDURE RefreshProc00 * ;
  949. VAR  i         : INTEGER;
  950.      CopyPtr   : TagItemType;
  951.      TempPtr   : u.TagItemPtr;
  952.      TagCount  : INTEGER;
  953.      TempIText : in.IntuiText;
  954.      left,top,width,height : INTEGER;
  955. BEGIN
  956.    TagCount:=0;
  957.    FOR i:=0 TO 11 DO
  958.       CopyPtr :=u.CloneTagItems(s.VAL(TagItemType,s.ADR(BevelTags0[TagCount]))^);
  959.       IF CopyPtr#NIL THEN
  960.          TempPtr := u.FindTagItem(gt.visualInfo,CopyPtr^);
  961.          IF TempPtr#NIL THEN
  962.             TempPtr^.data:=Vi;
  963.          left   := CalcXValue(Bevel0[i*4]);
  964.          top    := CalcYValue(Bevel0[i*4+1])+OffsetY;
  965.          width  := CalcXValue(Bevel0[i*4+2]);
  966.          height := CalcYValue(Bevel0[i*4+3]);
  967.          gt.DrawBevelBoxA(W[0]^.rPort,left,top,width,height,CopyPtr^);
  968.          END;
  969.          u.FreeTagItems(CopyPtr^);
  970.       END;
  971.       WHILE BevelTags0[TagCount]#u.done DO INC(TagCount,2) END;
  972.       INC(TagCount);
  973.    END;
  974.    FOR i:=0 TO 3 DO
  975.      TempIText:=IText0[i];
  976.      TempIText.iTextFont := s.ADR(SAttr);
  977.      TempIText.leftEdge  := CalcXValue(TempIText.leftEdge);
  978.      TempIText.topEdge   := CalcYValue(TempIText.topEdge)+OffsetY;
  979.      in.PrintIText(W[0].rPort,TempIText,0,0);
  980.    END;
  981. END RefreshProc00;
  982.  
  983. PROCEDURE CloseProc00Mask * ;
  984. VAR i:        INTEGER;
  985.     TempNode: e.NodePtr;
  986. BEGIN
  987.    IF W[0]#NIL THEN
  988.       in.CloseWindow(W[0]);
  989.       W[0]:=NIL;
  990.    END;
  991.    IF Men#NIL THEN
  992.       in.ClearMenuStrip(W[0]);
  993.       gt.FreeMenus(Men);
  994.       Men:=NIL;
  995.    END;
  996.    IF congad[0]#NIL THEN
  997.       gt.FreeGadgets(congad[0]);
  998.       congad[0]:=NIL;
  999.    END;
  1000.    FOR i:=0 TO 1 DO
  1001.       TempNode:=e.RemHead(Liste[i]);
  1002.       WHILE TempNode#NIL DO
  1003.          IF TempNode.name#NIL THEN
  1004.             e.FreeVec(TempNode.name);
  1005.          END;
  1006.          e.FreeVec(TempNode);
  1007.          TempNode:=e.RemHead(Liste[i]);
  1008.       END;
  1009.    END;
  1010.    IF WFont[0]#NIL THEN
  1011.       g.CloseFont(WFont[0]);
  1012.       WFont[0]:=NIL;
  1013.    END;
  1014. END CloseProc00Mask;
  1015.  
  1016. PROCEDURE InitProc00Mask * (UserTags:ARRAY OF u.Tag): in.WindowPtr;
  1017. VAR i,TagCount : INTEGER;
  1018.     TempGadget : gt.NewGadget;
  1019.     MainList   : TagItemType;
  1020.     CopyPtr    : TagItemType;
  1021.     TempPtr    : u.TagItemPtr;
  1022.     LVCount    : INTEGER;
  1023.     UserList, TempItem : TagItemType;
  1024. BEGIN
  1025.    IF W[0]#NIL THEN RETURN NIL; END;
  1026.    WFont[0]:=df.OpenDiskFont(WAttr0);
  1027.    IF WFont[0]=NIL THEN RETURN NIL; END;
  1028.    es.NewList(Liste[0]);
  1029.    es.NewList(Liste[1]);
  1030.  
  1031.    IF NOT AddNode(Liste[0],"Mode:      Hires Lace") THEN CloseProc00Mask; RETURN NIL; END;
  1032.    IF NOT AddNode(Liste[0],"Auflösung: 800x600") THEN CloseProc00Mask; RETURN NIL; END;
  1033.    IF NOT AddNode(Liste[0],"Hori. Frq: 81 Hz") THEN CloseProc00Mask; RETURN NIL; END;
  1034.    IF NOT AddNode(Liste[0],"Vert. Frq: 57 kHz") THEN CloseProc00Mask; RETURN NIL; END;
  1035.    IF NOT AddNode(Liste[0]," ") THEN CloseProc00Mask; RETURN NIL; END;
  1036.    IF NOT AddNode(Liste[0],"Special:   Nicht ziehbar") THEN CloseProc00Mask; RETURN NIL; END;
  1037.    IF NOT AddNode(Liste[0],"           Kein Genlock") THEN CloseProc00Mask; RETURN NIL; END;
  1038.    IF NOT AddNode(Liste[0],"           WB Like") THEN CloseProc00Mask; RETURN NIL; END;
  1039.  
  1040.    IF NOT AddNode(Liste[1],"DOMINO:1280x1024") THEN CloseProc00Mask; RETURN NIL; END;
  1041.    IF NOT AddNode(Liste[1],"DOMINO:1024x768") THEN CloseProc00Mask; RETURN NIL; END;
  1042.    IF NOT AddNode(Liste[1],"DOMINO:800x600") THEN CloseProc00Mask; RETURN NIL; END;
  1043.    IF NOT AddNode(Liste[1],"DOMINO:640x480") THEN CloseProc00Mask; RETURN NIL; END;
  1044.    IF NOT AddNode(Liste[1],"PAL:Hires") THEN CloseProc00Mask; RETURN NIL; END;
  1045.    IF NOT AddNode(Liste[1],"PAL:Hires Lace") THEN CloseProc00Mask; RETURN NIL; END;
  1046.    IF NOT AddNode(Liste[1],"PAL:Superhires") THEN CloseProc00Mask; RETURN NIL; END;
  1047.    IF NOT AddNode(Liste[1],"PAL:Superhires Lace") THEN CloseProc00Mask; RETURN NIL; END;
  1048.  
  1049.    WinLeft   := 41;
  1050.    WinTop    := 120;
  1051.    CalcFont(633,243);
  1052.    WinWidth  :=  CalcXValue(633);
  1053.    WinHeight := CalcYValue(243)+OffsetY;
  1054.    IF WinLeft + WinWidth > Screen^.width THEN
  1055.       WinLeft := Screen^.width - WinWidth;
  1056.    END;
  1057.    IF WinTop + WinHeight > Screen^.height THEN
  1058.       WinTop := Screen^.height - WinHeight;
  1059.    END;
  1060.    gad:=gt.CreateContext(congad[0]);
  1061.  
  1062.    IF gad=NIL THEN CloseProc00Mask; RETURN NIL; END;
  1063.    TagCount := 0;
  1064.    LVCount  := 0;
  1065.    FOR i:=0 TO 27 DO
  1066.       TempGadget:=NewG0[i];
  1067.       TempGadget.visualInfo := Vi;
  1068.       TempGadget.textAttr   := s.ADR(SAttr);
  1069.       TempGadget.leftEdge   := CalcXValue(TempGadget.leftEdge);
  1070.       TempGadget.topEdge    := CalcYValue(TempGadget.topEdge)+OffsetY;
  1071.       TempGadget.width      := CalcXValue(TempGadget.width);
  1072.       TempGadget.height     := CalcYValue(TempGadget.height);
  1073.       IF Kinds0[i]=gt.listViewKind THEN
  1074.          CopyPtr := u.CloneTagItems(s.VAL(TagItemType,s.ADR(Tags0[TagCount]))^);
  1075.          IF CopyPtr#NIL THEN
  1076.             TempPtr := u.FindTagItem(gt.lvLabels, CopyPtr^);
  1077.             IF TempPtr#NIL THEN
  1078.                TempPtr^.data:=s.ADR(Liste[LVCount]);
  1079.             END;
  1080.             gad := gt.CreateGadgetA(Kinds0[i],gad,TempGadget,CopyPtr^);
  1081.             IF gad=NIL THEN CloseProc00Mask; RETURN NIL; END;
  1082.             G0[i]:=gad;
  1083.             u.FreeTagItems(CopyPtr^);
  1084.          END;
  1085.          INC(LVCount);
  1086.       ELSE
  1087.          gad := gt.CreateGadgetA(Kinds0[i],gad,TempGadget,s.VAL(TagItemType,s.ADR(Tags0[TagCount]))^);
  1088.          IF gad=NIL THEN CloseProc00Mask; RETURN NIL; END;
  1089.          G0[i]:=gad;
  1090.       END;
  1091.       IF Kinds0[i]=gt.buttonKind THEN
  1092.          IF TempGadget.userData#NIL THEN
  1093.             INCL(gad.activation,in.toggleSelect);
  1094.          END;
  1095.          IF s.VAL(LONGINT,TempGadget.userData)>1 THEN
  1096.             INCL(gad.flags,in.selected);
  1097.          END;
  1098.       END;
  1099.       WHILE Tags0[TagCount]#u.done DO INC(TagCount,2) END;
  1100.       INC(TagCount);
  1101.    END;
  1102.  
  1103.    MainList:=u.CloneTagItems(s.VAL(TagItemType,s.ADR(WTags0))^);
  1104.    IF MainList=NIL THEN CloseProc00Mask; RETURN NIL; END;
  1105.    MainList[0].data:=Screen;
  1106.    MainList[1].data:=congad[0];
  1107.    MainList[2].data:=CenterX(WinWidth);
  1108.    MainList[3].data:=CenterY(WinHeight);
  1109.    MainList[4].data:=WinWidth;
  1110.    MainList[5].data:=WinHeight;
  1111.  
  1112.    UserList:=u.CloneTagItems(s.VAL(TagItemType,s.ADR(UserTags))^);
  1113.    IF UserList=NIL THEN
  1114.       u.FreeTagItems(MainList^);
  1115.       CloseProc00Mask;
  1116.       RETURN NIL;
  1117.    END;
  1118.    u.FilterTagChanges(UserList^,MainList^,TRUE); 
  1119.    TempItem:=MainList; i:=0;
  1120.    WHILE TempItem[i].tag#u.done DO INC(i); END;
  1121.    TempItem[i].tag  := u.more;
  1122.    TempItem[i].data := UserList;
  1123.    W[0]:=in.OpenWindowTagListA(NIL,MainList^);
  1124.    u.FreeTagItems(MainList^);
  1125.    u.FreeTagItems(UserList^);
  1126.    IF W[0]#NIL THEN
  1127.       gt.RefreshWindow(W[0],NIL);
  1128.       Men:=gt.CreateMenus(NewM0,u.done);
  1129.       IF NOT gt.LayoutMenus(Men,Vi,gtNewLookMenu,in.LTRUE,u.done) THEN 
  1130.          CloseProc00Mask;
  1131.          RETURN NIL;
  1132.       END;
  1133.       IF NOT in.SetMenuStrip(W[0],Men^) THEN CloseProc00Mask; RETURN NIL; END;
  1134.       RefreshProc00;
  1135.       RETURN W[0];
  1136.    ELSE
  1137.       RETURN NIL;
  1138.    END;
  1139. END InitProc00Mask;
  1140.  
  1141. PROCEDURE GetProc00GPtr * (Nummer:INTEGER): in.GadgetPtr;
  1142. BEGIN
  1143.    IF (Nummer>=0) AND (Nummer<=27) THEN
  1144.       RETURN G0[Nummer];
  1145.    ELSE
  1146.       RETURN NIL;
  1147.    END;
  1148. END GetProc00GPtr;
  1149.  
  1150. PROCEDURE RefreshProc01 * ;
  1151. VAR  i         : INTEGER;
  1152.      CopyPtr   : TagItemType;
  1153.      TempPtr   : u.TagItemPtr;
  1154.      TagCount  : INTEGER;
  1155.      TempIText : in.IntuiText;
  1156.      left,top,width,height : INTEGER;
  1157. BEGIN
  1158.    TagCount:=0;
  1159.    FOR i:=0 TO 11 DO
  1160.       CopyPtr :=u.CloneTagItems(s.VAL(TagItemType,s.ADR(BevelTags1[TagCount]))^);
  1161.       IF CopyPtr#NIL THEN
  1162.          TempPtr := u.FindTagItem(gt.visualInfo,CopyPtr^);
  1163.          IF TempPtr#NIL THEN
  1164.             TempPtr^.data:=Vi;
  1165.          left   := CalcXValue(Bevel1[i*4]);
  1166.          top    := CalcYValue(Bevel1[i*4+1])+OffsetY;
  1167.          width  := CalcXValue(Bevel1[i*4+2]);
  1168.          height := CalcYValue(Bevel1[i*4+3]);
  1169.          gt.DrawBevelBoxA(W[1]^.rPort,left,top,width,height,CopyPtr^);
  1170.          END;
  1171.          u.FreeTagItems(CopyPtr^);
  1172.       END;
  1173.       WHILE BevelTags1[TagCount]#u.done DO INC(TagCount,2) END;
  1174.       INC(TagCount);
  1175.    END;
  1176.    FOR i:=0 TO 3 DO
  1177.      TempIText:=IText1[i];
  1178.      TempIText.iTextFont := s.ADR(SAttr);
  1179.      TempIText.leftEdge  := CalcXValue(TempIText.leftEdge);
  1180.      TempIText.topEdge   := CalcYValue(TempIText.topEdge)+OffsetY;
  1181.      in.PrintIText(W[1].rPort,TempIText,0,0);
  1182.    END;
  1183. END RefreshProc01;
  1184.  
  1185. PROCEDURE CloseProc01Mask * ;
  1186. VAR i:        INTEGER;
  1187.     TempNode: e.NodePtr;
  1188. BEGIN
  1189.    IF W[1]#NIL THEN
  1190.       in.CloseWindow(W[1]);
  1191.       W[1]:=NIL;
  1192.    END;
  1193.    IF Menu00#NIL THEN
  1194.       in.ClearMenuStrip(W[1]);
  1195.       gt.FreeMenus(Menu00);
  1196.       Menu00:=NIL;
  1197.    END;
  1198.    IF congad[1]#NIL THEN
  1199.       gt.FreeGadgets(congad[1]);
  1200.       congad[1]:=NIL;
  1201.    END;
  1202.    FOR i:=0 TO 1 DO
  1203.       TempNode:=e.RemHead(ListViewList00[i]);
  1204.       WHILE TempNode#NIL DO
  1205.          IF TempNode.name#NIL THEN
  1206.             e.FreeVec(TempNode.name);
  1207.          END;
  1208.          e.FreeVec(TempNode);
  1209.          TempNode:=e.RemHead(ListViewList00[i]);
  1210.       END;
  1211.    END;
  1212.    IF WFont[1]#NIL THEN
  1213.       g.CloseFont(WFont[1]);
  1214.       WFont[1]:=NIL;
  1215.    END;
  1216. END CloseProc01Mask;
  1217.  
  1218. PROCEDURE InitProc01Mask * (UserTags:ARRAY OF u.Tag): in.WindowPtr;
  1219. VAR i,TagCount : INTEGER;
  1220.     TempGadget : gt.NewGadget;
  1221.     MainList   : TagItemType;
  1222.     CopyPtr    : TagItemType;
  1223.     TempPtr    : u.TagItemPtr;
  1224.     LVCount    : INTEGER;
  1225.     UserList, TempItem : TagItemType;
  1226. BEGIN
  1227.    IF W[1]#NIL THEN RETURN NIL; END;
  1228.    WFont[1]:=df.OpenDiskFont(WAttr1);
  1229.    IF WFont[1]=NIL THEN RETURN NIL; END;
  1230.    es.NewList(ListViewList00[0]);
  1231.    es.NewList(ListViewList00[1]);
  1232.  
  1233.    IF NOT AddNode(ListViewList00[0],"Mode:      Hires Lace") THEN CloseProc01Mask; RETURN NIL; END;
  1234.    IF NOT AddNode(ListViewList00[0],"Auflösung: 800x600") THEN CloseProc01Mask; RETURN NIL; END;
  1235.    IF NOT AddNode(ListViewList00[0],"Hori. Frq: 81 Hz") THEN CloseProc01Mask; RETURN NIL; END;
  1236.    IF NOT AddNode(ListViewList00[0],"Vert. Frq: 57 kHz") THEN CloseProc01Mask; RETURN NIL; END;
  1237.    IF NOT AddNode(ListViewList00[0]," ") THEN CloseProc01Mask; RETURN NIL; END;
  1238.    IF NOT AddNode(ListViewList00[0],"Special:   Nicht ziehbar") THEN CloseProc01Mask; RETURN NIL; END;
  1239.    IF NOT AddNode(ListViewList00[0],"           Kein Genlock") THEN CloseProc01Mask; RETURN NIL; END;
  1240.    IF NOT AddNode(ListViewList00[0],"           WB Like") THEN CloseProc01Mask; RETURN NIL; END;
  1241.  
  1242.    IF NOT AddNode(ListViewList00[1],"DOMINO:1280x1024") THEN CloseProc01Mask; RETURN NIL; END;
  1243.    IF NOT AddNode(ListViewList00[1],"DOMINO:1024x768") THEN CloseProc01Mask; RETURN NIL; END;
  1244.    IF NOT AddNode(ListViewList00[1],"DOMINO:800x600") THEN CloseProc01Mask; RETURN NIL; END;
  1245.    IF NOT AddNode(ListViewList00[1],"DOMINO:640x480") THEN CloseProc01Mask; RETURN NIL; END;
  1246.    IF NOT AddNode(ListViewList00[1],"PAL:Hires") THEN CloseProc01Mask; RETURN NIL; END;
  1247.    IF NOT AddNode(ListViewList00[1],"PAL:Hires Lace") THEN CloseProc01Mask; RETURN NIL; END;
  1248.    IF NOT AddNode(ListViewList00[1],"PAL:Superhires") THEN CloseProc01Mask; RETURN NIL; END;
  1249.    IF NOT AddNode(ListViewList00[1],"PAL:Superhires Lace") THEN CloseProc01Mask; RETURN NIL; END;
  1250.  
  1251.    WinLeft   := 41;
  1252.    WinTop    := 120;
  1253.    CalcFont(633,243);
  1254.    WinWidth  :=  CalcXValue(633);
  1255.    WinHeight := CalcYValue(243)+OffsetY;
  1256.    IF WinLeft + WinWidth > Screen^.width THEN
  1257.       WinLeft := Screen^.width - WinWidth;
  1258.    END;
  1259.    IF WinTop + WinHeight > Screen^.height THEN
  1260.       WinTop := Screen^.height - WinHeight;
  1261.    END;
  1262.    gad:=gt.CreateContext(congad[1]);
  1263.  
  1264.    IF gad=NIL THEN CloseProc01Mask; RETURN NIL; END;
  1265.    TagCount := 0;
  1266.    LVCount  := 0;
  1267.    FOR i:=0 TO 27 DO
  1268.       TempGadget:=NewG1[i];
  1269.       TempGadget.visualInfo := Vi;
  1270.       TempGadget.textAttr   := s.ADR(SAttr);
  1271.       TempGadget.leftEdge   := CalcXValue(TempGadget.leftEdge);
  1272.       TempGadget.topEdge    := CalcYValue(TempGadget.topEdge)+OffsetY;
  1273.       TempGadget.width      := CalcXValue(TempGadget.width);
  1274.       TempGadget.height     := CalcYValue(TempGadget.height);
  1275.       IF Kinds1[i]=gt.listViewKind THEN
  1276.          CopyPtr := u.CloneTagItems(s.VAL(TagItemType,s.ADR(Tags1[TagCount]))^);
  1277.          IF CopyPtr#NIL THEN
  1278.             TempPtr := u.FindTagItem(gt.lvLabels, CopyPtr^);
  1279.             IF TempPtr#NIL THEN
  1280.                TempPtr^.data:=s.ADR(ListViewList00[LVCount]);
  1281.             END;
  1282.             gad := gt.CreateGadgetA(Kinds1[i],gad,TempGadget,CopyPtr^);
  1283.             IF gad=NIL THEN CloseProc01Mask; RETURN NIL; END;
  1284.             GPtrs00[i]:=gad;
  1285.             u.FreeTagItems(CopyPtr^);
  1286.          END;
  1287.          INC(LVCount);
  1288.       ELSE
  1289.          gad := gt.CreateGadgetA(Kinds1[i],gad,TempGadget,s.VAL(TagItemType,s.ADR(Tags1[TagCount]))^);
  1290.          IF gad=NIL THEN CloseProc01Mask; RETURN NIL; END;
  1291.          GPtrs00[i]:=gad;
  1292.       END;
  1293.       IF Kinds1[i]=gt.buttonKind THEN
  1294.          IF TempGadget.userData#NIL THEN
  1295.             INCL(gad.activation,in.toggleSelect);
  1296.          END;
  1297.          IF s.VAL(LONGINT,TempGadget.userData)>1 THEN
  1298.             INCL(gad.flags,in.selected);
  1299.          END;
  1300.       END;
  1301.       WHILE Tags1[TagCount]#u.done DO INC(TagCount,2) END;
  1302.       INC(TagCount);
  1303.    END;
  1304.  
  1305.    MainList:=u.CloneTagItems(s.VAL(TagItemType,s.ADR(WTags1))^);
  1306.    IF MainList=NIL THEN CloseProc01Mask; RETURN NIL; END;
  1307.    MainList[0].data:=Screen;
  1308.    MainList[1].data:=congad[1];
  1309.    MainList[2].data:=CenterX(WinWidth);
  1310.    MainList[3].data:=CenterY(WinHeight);
  1311.    MainList[4].data:=WinWidth;
  1312.    MainList[5].data:=WinHeight;
  1313.  
  1314.    UserList:=u.CloneTagItems(s.VAL(TagItemType,s.ADR(UserTags))^);
  1315.    IF UserList=NIL THEN
  1316.       u.FreeTagItems(MainList^);
  1317.       CloseProc01Mask;
  1318.       RETURN NIL;
  1319.    END;
  1320.    u.FilterTagChanges(UserList^,MainList^,TRUE); 
  1321.    TempItem:=MainList; i:=0;
  1322.    WHILE TempItem[i].tag#u.done DO INC(i); END;
  1323.    TempItem[i].tag  := u.more;
  1324.    TempItem[i].data := UserList;
  1325.    W[1]:=in.OpenWindowTagListA(NIL,MainList^);
  1326.    u.FreeTagItems(MainList^);
  1327.    u.FreeTagItems(UserList^);
  1328.    IF W[1]#NIL THEN
  1329.       gt.RefreshWindow(W[1],NIL);
  1330.       Menu00:=gt.CreateMenus(NewM1,u.done);
  1331.       IF NOT gt.LayoutMenus(Menu00,Vi,gtNewLookMenu,in.LTRUE,u.done) THEN 
  1332.          CloseProc01Mask;
  1333.          RETURN NIL;
  1334.       END;
  1335.       IF NOT in.SetMenuStrip(W[1],Menu00^) THEN CloseProc01Mask; RETURN NIL; END;
  1336.       RefreshProc01;
  1337.       RETURN W[1];
  1338.    ELSE
  1339.       RETURN NIL;
  1340.    END;
  1341. END InitProc01Mask;
  1342.  
  1343. PROCEDURE GetProc01GPtr * (Nummer:INTEGER): in.GadgetPtr;
  1344. BEGIN
  1345.    IF (Nummer>=0) AND (Nummer<=27) THEN
  1346.       RETURN GPtrs00[Nummer];
  1347.    ELSE
  1348.       RETURN NIL;
  1349.    END;
  1350. END GetProc01GPtr;
  1351.  
  1352. PROCEDURE FreeTest * ;
  1353. VAR Result:    BOOLEAN;
  1354. BEGIN
  1355.    CloseProc00Mask;
  1356.    CloseProc01Mask;
  1357.    IF Vi#NIL THEN
  1358.       gt.FreeVisualInfo(Vi);
  1359.       Vi:=NIL;
  1360.    END;
  1361.    IF OwnScreen THEN
  1362.       IF Screen#NIL THEN
  1363.          Result:=in.CloseScreen(Screen);
  1364.       END;
  1365.    END;
  1366.    Screen:=NIL;
  1367.    IF SFont#NIL THEN
  1368.       g.CloseFont(SFont);
  1369.       SFont:=NIL;
  1370.    END;
  1371. END FreeTest;
  1372.  
  1373. PROCEDURE InitTest * (S:in.ScreenPtr;UserTags:ARRAY OF u.Tag): BOOLEAN;
  1374. VAR MainList : TagItemType;
  1375.     UserList, TempItem : TagItemType;
  1376.     i : INTEGER;
  1377. BEGIN
  1378.    IF Screen#NIL THEN RETURN TRUE; END;
  1379.    IF S=NIL THEN
  1380.       OwnScreen:=TRUE;
  1381.       SAttr.name:=s.ADR("topaz-classic.font");
  1382.       SAttr.ySize:=8;
  1383.       SFont:=df.OpenDiskFont(SAttr);
  1384.       IF SFont=NIL THEN RETURN FALSE; END;
  1385.       MainList:=u.CloneTagItems(s.VAL(TagItemType,s.ADR(STags))^);
  1386.       IF MainList=NIL THEN FreeTest; RETURN FALSE; END;
  1387.       MainList[0].data:=s.ADR(SAttr);
  1388.       UserList:=u.CloneTagItems(s.VAL(TagItemType,s.ADR(UserTags))^);
  1389.       IF UserList=NIL THEN
  1390.          u.FreeTagItems(MainList^);
  1391.          FreeTest;
  1392.          RETURN FALSE;
  1393.       END;
  1394.       u.FilterTagChanges(UserList^,MainList^,TRUE); 
  1395.       TempItem:=MainList; i:=0;
  1396.       WHILE TempItem[i].tag#u.done DO INC(i); END;
  1397.       TempItem[i].tag  := u.more;
  1398.       TempItem[i].data := UserList;
  1399.       Screen:=in.OpenScreenTagListA(NIL,MainList^);
  1400.       u.FreeTagItems(MainList^);
  1401.       u.FreeTagItems(UserList^);
  1402.       IF Screen=NIL THEN
  1403.          FreeTest;
  1404.          RETURN FALSE;
  1405.       END;
  1406.    ELSE
  1407.       OwnScreen := FALSE;
  1408.       Screen:=S;
  1409.    END;
  1410.    CalcFont(0,0);
  1411.    Vi:=gt.GetVisualInfo(Screen,u.done);
  1412.    IF Vi=NIL THEN
  1413.       FreeTest;
  1414.       RETURN FALSE;
  1415.    END;
  1416.    RETURN TRUE;
  1417. END InitTest;
  1418.  
  1419. END Test.
  1420.