home *** CD-ROM | disk | FTP | other *** search
- { ===================================================================== }
-
- Procedure displayBevelboxes; { used to display and refresh the boxes }
- Begin { output }
-
- DrawBevelBoxA(TheWindow^.RPort, Sizes[S_G2_L]+Sizes[S_G2_W]+4,
- Sizes[TBS]+2, Sizes[S_G3_W]+sizes[extra]+7,
- Gads[G_LV]^.TopEdge + gads[G_LV]^.Height-2 -Sizes[TBS],
- @Beveltags);
-
- {DrawBevelBoxA(TheWindow^.RPort, Sizes[S_G2_L]+Sizes[S_G2_W]+4,
- Sizes[TBS]+2, Sizes[S_G3_W]+sizes[extra]+7,
- Gads[G_S_SCRID]^.TopEdge + gads[G_S_SCRID]^.Height +3 -Sizes[TBS],
- @Beveltags);
- }
- End;
-
- { ===================================================================== }
-
- Procedure setupbevelBoxes; { set up boxes }
- Begin
- Beveltags[1].ti_Tag := GT_VisualInfo;
- BevelTags[1].ti_Data := LONG(vi);
- BevelTags[2].ti_Tag := GTBB_Recessed;
- BevelTags[2].ti_Data := True_;
- BevelTags[3].ti_Tag := TAG_DONE;
- End;
-
- (* ===================================================================== *)
-
- Procedure RefreshWin;
- begin
- GT_BeginRefresh(TheWindow);
- DisplayBevelBoxes;
- GT_EndRefresh(TheWindow, True);
- end;
-
- (* ===================================================================== *)
-
- Procedure UpDateFont;
- VAR
- t : array[0..2] of tTagItem;
- ts2 : string;
- begin
- FSplit(retrieveStr(CD.cd_Font.ta_Name), ts2, ts, ts2);
- (* Just pretend it is a file name *)
- Str(CD.cd_Font.ta_YSize, ts2);
- TS := TS + ' ' + TS2 + #0;
- T[0].ti_Tag := GTTX_Border;
- T[0].ti_Data := True_;
- T[1].ti_Tag := GTTX_Text;
- T[1].ti_Data := Long(@ts[1]);
- T[2].ti_Tag := TAG_DONE;
- GT_SetGadgetAttrsA(gads[G_TD_FONT], Thewindow, NIL, @T);
- end;
-
- (* ===================================================================== *)
-
- Procedure ErrExit(Errortxt : string; ExitCode : integer);
-
- Begin
- ErrorExit('** SMPrefs Error **'#0, Errortxt);
- CloseLibrary(pLibrary(IntuitionBase));
- If GadToolsBase <> NIL then CloseLibrary(pLibrary(GadtoolsBase));
- If UtilityBase <> NIL then CloseLibrary(pLibrary(UtilityBase));
- If AslBase <> NIL then CloseLibrary(pLibrary(AslBase));
- If GfxBase <> NIL then CloseLibrary(pLibrary(GfxBase));
- If ReqToolsBase <> NIL then CloseLibrary(pLibrary(ReqToolsBase));
- If TheWindow <> NIL then CloseWindow(TheWindow);
- If gads[G_NI] <> NIL then FreeGadgets(gads[G_NI]);
- If vi <> NIL then Freevisualinfo(vi);
- FreeRemember(@RememberKey, True);
- Halt(exitcode);
- end;
-
- (* ===================================================================== *)
-
- Procedure open_window;
-
-
- Var
- Window_Tags : Array[0..17] Of tTagItem;
- Gadget_Tags : Array[0..4] Of tTagItem;
- sampTxt : tIntuiText;
- screendef : pScreen;
-
- Begin
- WindowIDCMP := INTEGERIDCMP Or IDCMP_REFRESHWINDOW
- Or BUTTONIDCMP Or LISTVIEWIDCMP
- OR CHECKBOXIDCMP;
- gads[G_NI] := NIL;
- pubname := LockFrontPubScr(screendef);
-
- (* Get visual info and create context *)
- vi := GetVisualInfoA(screendef, NIL);
- If vi = NIL Then
- ErrExit('Failed to get visual info'#0, 0);
- Gads[G_CC] := CreateContext(@gads[G_NI]);
- If Gads[G_CC] = NIL Then
- ErrExit('Failed to create context'#0, 0);
- (* Get some data from the screen *)
-
- My_Font := Screendef^.Font^;
- Sizes[TBS] := screendef^.WBorTop + (screendef^.Font^.ta_YSize + 1);
- Sizes[S_Gad_H] := sizes[TBS] + 1;
- sizes[S_WB_T] := Screendef^.WBorTop;
- sizes[S_WB_L] := Screendef^.WBorLeft;
- sizes[S_WB_R] := Screendef^.WBorRight;
- sizes[S_WB_B] := Screendef^.WBorBottom;
-
- Samptxt.ITextFont := @My_Font;
- Sizes[S_G1_L] := Sizes[S_WB_L] + Sizes[S_WB_L];
- Samptxt.IText := @G_B_BOTTOMtxt[1];
- Sizes[S_G1_W] := IntuiTextLength(@Samptxt) + 10;
- Samptxt.IText := @Sampstr[1];
- Sizes[S_G2_W] := IntuiTextLength(@Samptxt) + 10;
- Samptxt.IText := @G_S_TXTtxt[1];
- Sizes[S_G2_L] := sizes[S_G1_L] + sizes[S_G1_W] + sizes[S_WB_L];
- Samptxt.IText := @sampstr2[1];
- Sizes[S_G3_W] := IntuiTextLength(@Samptxt) + 20;
- Sizes[S_G3_L] := sizes[S_G2_L] + sizes[S_G2_W] + 6;
- Samptxt.IText := @G_IK_ACROStxt[1];
- sizes[extra] := IntuiTextLength(@Samptxt) + 10;
- Samptxt.IText := CstrConstPtrAR(@RememberKey, 'The Requesters');
- sizes[S_SCRID_W] := IntuiTextLength(@Samptxt) + 20;
- (* Initilise gadget structures *)
- Gadget_Tags[0].ti_Tag := GA_Disabled;
- Gadget_Tags[0].ti_Data := True_;
- Gadget_Tags[1].ti_Tag := GT_UnderScore;
- Gadget_Tags[1].ti_Data := LONG('_');
- Gadget_Tags[2].ti_Tag := TAG_END;
-
- With GadgetFlags Do Begin
- ng_TextAttr := @My_Font;
- ng_LeftEdge := sizes[S_G1_L];
- ng_TopEdge := Sizes[TBS]+2;
- ng_Width := Sizes[S_G1_W];
- ng_Height := Sizes[S_GAD_H];
- ng_GadgetText := @G_B_TOPtxt[1];
- ng_VisualInfo := vi;
- ng_GadgetID := G_B_TOP;
- End;
- (* create gadgets *)
- Gads[G_B_TOP] := CreateGadgetA(BUTTON_KIND, Gads[G_CC], @Gadgetflags, @Gadget_Tags);
-
- With GadgetFlags Do Begin
- ng_TopEdge := ng_TopEdge + Sizes[S_Gad_H] + 2;
- ng_GadgetText := @G_B_UPtxt[1];
- ng_GadgetID := G_B_UP;
- End;
- Gads[G_B_UP] := CreateGadgetA(BUTTON_KIND, Gads[G_B_TOP], @Gadgetflags, @Gadget_Tags);
-
- With GadgetFlags Do Begin
- ng_TopEdge := ng_TopEdge + Sizes[S_Gad_H] + 2;
- ng_GadgetText := @G_B_DOWNtxt[1];
- ng_GadgetID := G_B_DOWN;
- End;
- Gads[G_B_DOWN] := CreateGadgetA(BUTTON_KIND, Gads[G_B_UP], @Gadgetflags, @Gadget_Tags);
-
- With GadgetFlags Do Begin
- ng_TopEdge := ng_TopEdge + Sizes[S_Gad_H] + 2;
- ng_GadgetText := @G_B_BOTTOMtxt[1];
- ng_GadgetID := G_B_BOTTOM;
- End;
- Gads[G_B_BOTTOM] := CreateGadgetA(BUTTON_KIND, Gads[G_B_DOWN], @Gadgetflags, @Gadget_Tags);
- Gadget_Tags[0].ti_Tag := GA_Disabled;
- Gadget_Tags[0].ti_Data := False_;
- With GadgetFlags Do Begin
- ng_TopEdge := ng_TopEdge + Sizes[S_Gad_H] + 2;
- ng_GadgetText := @G_B_SORTtxt[1];
- ng_GadgetID := G_B_SORT;
- End;
- Gads[G_B_SORT] := CreateGadgetA(BUTTON_KIND, Gads[G_B_BOTTOM], @Gadgetflags, @Gadget_Tags);
-
- Gadget_Tags[0].ti_Tag := GA_Disabled;
- Gadget_Tags[0].ti_Data := False_;
-
- With GadgetFlags Do Begin
- ng_TopEdge := ng_TopEdge + Sizes[S_Gad_H] + 2;
- ng_GadgetText := @G_B_NEWtxt[1];
- ng_GadgetID := G_B_NEW;
- End;
- Gads[G_B_NEW] := CreateGadgetA(BUTTON_KIND, Gads[G_B_SORT], @Gadgetflags, @Gadget_Tags);
-
- Gadget_Tags[0].ti_Tag := GA_Disabled;
- Gadget_Tags[0].ti_Data := True_;
- With GadgetFlags Do Begin
- ng_TopEdge := ng_TopEdge + Sizes[S_Gad_H] + 2;
- ng_GadgetText := @G_B_REMOVEtxt[1];
- ng_GadgetID := G_B_REMOVE;
- End;
- Gads[G_B_REMOVE] := CreateGadgetA(BUTTON_KIND, Gads[G_B_NEW], @Gadgetflags, @Gadget_Tags);
-
- With GadgetFlags Do Begin
- ng_TopEdge := ng_TopEdge + Sizes[S_Gad_H] + 2;
- ng_GadgetText := @G_B_COPYtxt[1];
- ng_GadgetID := G_B_COPY;
- End;
- Gads[G_B_COPY] := CreateGadgetA(BUTTON_KIND, Gads[G_B_REMOVE], @Gadgetflags, @Gadget_Tags);
-
- Gadget_Tags[0].ti_Tag := GA_Disabled;
- Gadget_Tags[0].ti_Data := False_;
- Gadget_Tags[2].ti_Tag := GTST_MaxChars;
- Gadget_Tags[2].ti_Data := 31;
- Gadget_Tags[3].ti_Tag := TAG_DONE;
- With GadgetFlags Do Begin
- ng_Width := Sizes[S_G2_W];
- ng_LeftEdge := Sizes[S_G2_L];
- ng_TopEdge := Sizes[TBS] + 2;
- ng_GadgetText := @G_S_TXTtxt[1];
- ng_GadgetID := G_S_TXT;
- ng_Flags := PLACETEXT_RIGHT;
- End;
- Gads[G_S_TXT] := CreateGadgetA(STRING_KIND, Gads[G_B_COPY], @Gadgetflags, @Gadget_Tags);
-
- Gadget_Tags[2].ti_Tag := GTLV_ShowSelected;
- Gadget_Tags[2].ti_Data := LONG(gads[G_S_TXT]);
- Gadget_Tags[3].ti_Tag := GTLV_Labels;
- Gadget_Tags[3].ti_Data := LONG(CurrentList);
- Gadget_Tags[4].ti_Tag := TAG_END;
- With GadgetFlags Do Begin
- ng_LeftEdge := sizes[S_G2_L];
- ng_TopEdge := Sizes[TBS] +2;
- ng_Width := Sizes[S_G2_W];
- ng_Height := (screendef^.Font^.ta_YSize * ListViewRows)+Sizes[S_GAD_H]+4;
- ng_GadgetText := NIL;
- ng_GadgetID := G_LV;
- End;
- Gads[G_LV] := CreateGadgetA(LISTVIEW_KIND, Gads[G_S_TXT], @Gadgetflags, @Gadget_Tags);
- If Gads[G_LV] = NIL Then
- ErrExit('Failed to create gadgets'#0, 0);
-
-
- Gadget_Tags[0].ti_Tag := GA_Disabled;
- Gadget_Tags[0].ti_Data := True_;
- Gadget_Tags[2].ti_Tag := GTST_MaxChars;
- Gadget_Tags[2].ti_Data := 180;
- Gadget_Tags[3].ti_Tag := TAG_DONE;
- With GadgetFlags Do Begin
- ng_TopEdge := gads[G_S_TXT]^.TopEdge + gads[G_S_TXT]^.Height + 4;
- ng_Width := Sizes[S_G2_W];
- ng_Height := Sizes[S_GAD_H];
- ng_GadgetText := @G_S_CMDtxt[1];
- ng_Flags := PLACETEXT_RIGHT;
- ng_GadgetID := G_S_CMD;
- End;
- Gads[G_S_CMD] := CreateGadgetA(STRING_KIND, Gads[G_LV], @Gadgetflags, @Gadget_Tags);
-
- Gadget_Tags[2].ti_Tag := TAG_END;
- With GadgetFlags Do Begin
- ng_LeftEdge := sizes[S_G2_L] + (Sizes[S_G2_W] div 2);
- ng_Width := Sizes[S_G2_W] div 2;
- ng_TopEdge := ng_TopEdge + Sizes[S_Gad_H] + 2;
- ng_GadgetText := @G_B_CMDREQtxt[1];
- ng_GadgetID := G_B_CMDREQ;
- ng_Flags := 0;
- End;
- Gads[G_B_CMDREQ] := CreateGadgetA(BUTTON_KIND, Gads[G_S_CMD], @Gadgetflags, @Gadget_Tags);
-
- Gadget_Tags[2].ti_Tag := GTST_MaxChars;
- Gadget_Tags[2].ti_Data := 1;
- Gadget_Tags[3].ti_Tag := TAG_DONE;
- With GadgetFlags Do Begin
- ng_LeftEdge := sizes[S_G2_L];
- ng_Width := Sizes[S_G2_W] div 4;
- ng_GadgetText := @G_S_KEYtxt[1];
- ng_GadgetID := G_S_KEY;
- ng_Flags := PLACETEXT_RIGHT;
- End;
- Gads[G_S_KEY] := CreateGadgetA(STRING_KIND, Gads[G_B_CMDREQ], @Gadgetflags, @Gadget_Tags);
-
- Gadget_Tags[0].ti_Tag := GA_Disabled;
- Gadget_Tags[0].ti_Data := False_;
- Gadget_Tags[2].ti_Tag := GTIN_MaxChars;
- Gadget_Tags[2].ti_Data := 3;
- Gadget_Tags[3].ti_Tag := GTIN_Number;
- Gadget_Tags[3].ti_Data := CD.cd_Across;
- Gadget_Tags[4].ti_Tag := TAG_END;
- With GadgetFlags Do Begin
- ng_Width := Sizes[S_G3_W];
- ng_LeftEdge := Sizes[S_G3_L]+4;
- ng_Height := Sizes[S_GAD_H];
- ng_TopEdge := Sizes[TBS] +5;
- ng_GadgetText := @G_IK_ACROStxt[1];
- ng_GadgetID := G_IK_ACROS;
- End;
- Gads[G_IK_ACROS] := CreateGadgetA(INTEGER_KIND, Gads[G_S_KEY], @Gadgetflags, @Gadget_Tags);
-
- Gadget_Tags[2].ti_Tag := GTNM_Border;
- Gadget_Tags[2].ti_Data := True_;
- Gadget_Tags[3].ti_Tag := GTNM_Number;
- Gadget_Tags[3].ti_Data := 337;
- Gadget_Tags[4].ti_Tag := TAG_END;
- With GadgetFlags Do Begin
- ng_TopEdge := ng_TopEdge + Sizes[S_Gad_H] + 2;
- ng_GadgetText := @G_ND_DOWNtxt[1];
- ng_GadgetID := G_ND_DOWN;
- End;
- Gads[G_ND_DOWN] := CreateGadgetA(NUMBER_KIND, Gads[G_IK_ACROS], @Gadgetflags, @Gadget_Tags);
-
- Gadget_Tags[0].ti_Tag := GA_Disabled;
- Gadget_Tags[0].ti_Data := False_;
- Gadget_Tags[2].ti_Tag := TAG_END;
- With GadgetFlags Do Begin
- ng_Width := Sizes[S_G3_L]+Sizes[S_G3_W]+Sizes[S_WB_L]+sizes[extra]-ng_LeftEdge-5;
- ng_Height := Sizes[S_GAD_H];
- ng_TopEdge := ng_TopEdge + Sizes[S_Gad_H] + 2;
- ng_GadgetText := CstrConstPtrAR(@RememberKey, 'Screen...');
- ng_GadgetID := G_S_SCRID;
- ng_Flags := 0;
- End;
- Gads[G_S_SCRID] := CreateGadgetA(BUTTON_KIND, Gads[G_ND_DOWN], @Gadgetflags, @Gadget_Tags);
-
- With GadgetFlags Do Begin
- ng_Width := Sizes[S_G3_L]+Sizes[S_G3_W]+Sizes[S_WB_L]+sizes[extra]-ng_LeftEdge-5;
- ng_TopEdge := ng_TopEdge + sizes[S_Gad_H] + 2;
- ng_GadgetText := @G_B_FONTtxt[1];
- ng_GadgetID := G_B_FONT;
- ng_Flags := 0;
- end;
- Gads[G_B_FONT] := CreateGadgetA(BUTTON_KIND, Gads[G_S_SCRID], @Gadgetflags, @Gadget_Tags);
-
- str(CD.cd_Font.ta_YSize, tmpstr);
- fontstr := retrievestr(CD.cd_Font.ta_Name)+tmpstr+#0;
-
- Gadget_Tags[2].ti_Tag := GTTX_Border;
- Gadget_Tags[2].ti_Data := True_;
- Gadget_Tags[3].ti_Tag := GTTX_Text;
- Gadget_Tags[3].ti_Data := LONG(NIL);
- Gadget_Tags[4].ti_Tag := TAG_DONE;
-
- With GadgetFlags do begin
- ng_GadgetText := NIL;
- ng_TopEdge := ng_TopEdge + sizes[S_Gad_H] + 2;
- end;
- Gads[G_TD_FONT] := CreateGadgetA(TEXT_KIND, Gads[G_B_FONT], @Gadgetflags, @Gadget_Tags);
-
- Gadget_Tags[0].ti_Tag := GA_Disabled;
- Gadget_Tags[0].ti_Data := False_;
- Gadget_Tags[2].ti_Tag := TAG_END;
- With GadgetFlags Do Begin
- ng_Width := Sizes[S_G3_L]+Sizes[S_G3_W]+Sizes[S_WB_L]+sizes[extra]-ng_LeftEdge-5;
- ng_Height := Sizes[S_GAD_H];
- ng_TopEdge := ng_TopEdge + Sizes[S_Gad_H] + 2;
- ng_GadgetText := CstrConstPtrAR(@RememberKey, 'Palette...');
- ng_GadgetID := G_B_PALREQ;
- ng_Flags := 0;
- End;
- Gads[G_B_PALREQ] := CreateGadgetA(BUTTON_KIND, Gads[G_TD_FONT], @Gadgetflags, @Gadget_Tags);
-
- Gadget_Tags[0].ti_Tag := GA_Disabled;
- Gadget_Tags[0].ti_Data := False_;
- Gadget_Tags[2].ti_Tag := TAG_END;
- With GadgetFlags Do Begin
- ng_Width := Sizes[S_G3_L]+Sizes[S_G3_W]+Sizes[S_WB_L]+sizes[extra]-ng_LeftEdge-5;
- ng_Height := Sizes[S_GAD_H];
- ng_TopEdge := ng_TopEdge + Sizes[S_Gad_H] + 2;
- ng_GadgetText := CstrConstPtrAR(@RememberKey, 'Titles...');
- ng_GadgetID := G_B_TITREQ;
- ng_Flags := 0;
- End;
- Gads[G_B_TITREQ] := CreateGadgetA(BUTTON_KIND, Gads[G_B_PALREQ], @Gadgetflags, @Gadget_Tags);
-
- Gadget_Tags[0].ti_Tag := GA_Disabled;
- Gadget_Tags[0].ti_Data := False_;
- Gadget_Tags[3].ti_Tag := TAG_DONE;
- SampTxt.IText := @G_B_SAVEAStxt[1];
- With GadgetFlags Do Begin
- ng_TopEdge := gads[G_S_KEY]^.TopEdge + gads[G_S_KEY]^.Height + 6;
- ng_LeftEdge := sizes[S_G1_L];
- ng_Width := IntuiTextLength(@Samptxt) + 10;
- ng_GadgetText := @G_B_SAVEtxt[1];
- ng_Flags := 0;
- ng_GadgetID := G_B_SAVE;
- End;
- Gads[G_B_SAVE] := CreateGadgetA(BUTTON_KIND, Gads[G_B_TITREQ], @Gadgetflags, @Gadget_Tags);
-
- With GadgetFlags Do Begin
- ng_Leftedge := ng_LeftEdge + ng_Width + 2;
- ng_GadgetText := @G_B_SAVEAStxt[1];
- ng_GadgetID := G_B_SAVEAS;
- ng_Width := ng_Width ;
- End;
- Gads[G_B_SAVEAS] := CreateGadgetA(BUTTON_KIND, Gads[G_B_SAVE], @Gadgetflags, @Gadget_Tags);
-
-
- With GadgetFlags Do Begin
- ng_Leftedge := Sizes[S_G3_L] + Sizes[S_G3_W] + Sizes[S_WB_L] + sizes[extra] - ng_Width;
- ng_GadgetText := @G_B_CANCELtxt[1];
- ng_GadgetID := G_B_CANCEL;
- End;
- Gads[G_B_CANCEL] := CreateGadgetA(BUTTON_KIND, Gads[G_B_SAVEAS], @Gadgetflags, @Gadget_Tags);
-
- With GadgetFlags Do Begin
- ng_Leftedge := ng_LeftEdge -(ng_Width) - 2;
- ng_GadgetText := @G_B_LOADtxt[1];
- ng_GadgetID := G_B_LOAD;
- End;
- Gads[G_B_LOAD] := CreateGadgetA(BUTTON_KIND, Gads[G_B_CANCEL], @Gadgetflags, @Gadget_Tags);
-
- With GadgetFlags Do Begin
- ng_Leftedge := gads[G_B_SAVEAS]^.LeftEdge + ng_Width + 2;
- ng_GadgetText := @G_B_INFOtxt[1];
- ng_Width := gads[G_B_LOAD]^.LeftEdge - 2 - ng_LeftEdge;
- ng_GadgetID := G_B_INFO;
- End;
- Gads[G_B_INFO] := CreateGadgetA(BUTTON_KIND, Gads[G_B_LOAD], @Gadgetflags, @Gadget_Tags);
-
-
- If Gads[G_CC] = NIL Then
- ErrExit('Failed to create gadgets'#0, 0);
-
- (* window structure *)
- Window_Tags[0].ti_Tag := WA_Left;
- Window_Tags[0].ti_Data := screendef^.MouseX - ((Sizes[S_G2_L] + Sizes[S_G2_W] + Sizes[S_WB_R] + Sizes[S_WB_L]) div 2);
- Window_Tags[1].ti_Tag := WA_Top;
- Window_Tags[1].ti_Data := Screendef^.MouseY - ((GadgetFlags.ng_TopEdge + Sizes[S_Gad_H] + 2) div 2);
- Window_Tags[2].ti_Tag := WA_Width;
- Window_Tags[2].ti_Data := Sizes[S_G3_L] + Sizes[S_G3_W] + Sizes[S_WB_R] + Sizes[S_WB_L] + sizes[extra]+4;
- Window_Tags[3].ti_Tag := WA_Height;
- Window_Tags[3].ti_Data := gads[G_B_SAVE]^.TopEdge + gads[G_B_SAVE]^.Height + Sizes[S_WB_T] + Sizes[S_WB_B];
- Window_Tags[4].ti_Tag := WA_Title;
- Window_Tags[4].ti_Data := LONG(@Win_Title[1]);
- Window_Tags[5].ti_Tag := WA_IDCMP;
- Window_Tags[5].ti_Data := WindowIDCMP;
- Window_Tags[6].ti_Tag := WA_CloseGadget;
- Window_Tags[6].ti_Data := False_;
- Window_Tags[7].ti_Tag := WA_DragBar;
- Window_Tags[7].ti_Data := True_;
- Window_Tags[8].ti_Tag := WA_DepthGadget;
- Window_Tags[8].ti_Data := True_;
- Window_Tags[9].ti_Tag := WA_AutoAdjust;
- Window_Tags[9].ti_Data := True_;
- Window_Tags[10].ti_Tag := WA_Activate;
- Window_Tags[10].ti_Data:= True_;
- Window_Tags[11].ti_Tag := WA_Gadgets;
- Window_Tags[11].ti_Data:= LONG(gads[G_NI]);
- Window_Tags[12].ti_Tag := WA_SimpleRefresh;
- Window_Tags[12].ti_Data:= True_;
- Window_Tags[13].ti_Tag := WA_RMBTrap;
- Window_Tags[13].ti_Data:= True_;
- Window_Tags[14].ti_Tag := WA_PubScreenName;
- Window_Tags[14].ti_Data:= LONG(@pubname[1]);
- Window_Tags[15].ti_Tag := WA_PubScreenFallBack;
- Window_Tags[15].ti_Data:= True_;
- Window_Tags[16].ti_Tag := WA_ScreenTitle;
- Window_Tags[16].ti_Data:= LONG(@Scr_Title[1]);
- Window_Tags[17].ti_Tag := TAG_DONE;
-
- TheWindow := OpenWindowTaglist(NIL,@Window_Tags);
- If TheWindow = NIL Then
- ErrExit('Failed to create window'#0, 206);
-
- Gadget_Tags[0].ti_Tag := TAG_IGNORE;
- Gadget_Tags[0].ti_Data := True_;
- Gadget_Tags[1].ti_Tag := TAG_END;
- setupbevelboxes;
- displaybevelboxes;
- GT_RefreshWindow(TheWindow, NIL);
- UnlockFrontPubScr(pubname, ScreenDef);
- CD.cd_Down := calcdown(CD.cd_Across);
- UpDateFont;
-
- End;
-
- (* ===================================================================== *)
-
- Procedure UpDateAcDown;
- VAR
- t : array[0..1] of tTagItem;
- begin
- T[0].ti_Tag := GTIN_Number;
- T[0].ti_Data := CD.cd_Across;
- T[1].ti_Tag := TAG_DONE;
- GT_SetGadgetAttrsA(gads[G_IK_ACROS], Thewindow, NIL, @T);
- CD.cd_Down := calcdown(CD.cd_Across);
- end;
-
- (* ===================================================================== *)
-
- Function ThirdGenAn(LeftEdge, TopEdge : LongInt) : Boolean;
- TYPE (* Displays info *)
- tGrafixData = Array[0..279] of Word;
- pGrafixData = ^tGrafixData;
- CONST
- fontname : string = 'topaz.font'#0;
- WT : string = 'About Startup-Menu'#0;
- ImgData : tGrafixData = (
- (* Plane 0 *)
- $8A70,$0FFF,$FFFF,$FFFF,$FFF0,$80C6,$07FF,$FFFF,
- $FFFF,$FFF0,$803E,$03FF,$FFFF,$FFBF,$FFF0,$80C1,
- $01E0,$007F,$FF5F,$FFF0,$813E,$819F,$FFBF,$FEEF,
- $FFF0,$82CF,$417F,$FFDF,$FDF7,$FFF0,$8507,$A2FF,
- $FFBF,$FDF7,$FFF0,$8A07,$D50F,$FF7F,$FBFB,$FFF0,
- $8A1F,$DA1F,$FEFF,$F7FD,$FC00,$FD25,$DBF8,$05FF,
- $F7FD,$FC00,$FEA5,$D7E7,$007F,$AFBE,$FC00,$FF48,
- $D72A,$FFBF,$DFB1,$7800,$FF90,$B655,$FFDF,$5FF1,
- $7E00,$FFB4,$57DB,$FE5F,$BFF0,$AFF0,$FFDF,$E4D7,
- $FE5F,$7FE0,$50F0,$542F,$D44F,$FC59,$45F8,$5050,
- $0011,$F6A4,$0452,$87FF,$E800,$01FD,$F6E3,$F455,
- $0803,$F400,$0202,$D2D8,$0455,$17FD,$5400,$05FC,
- $2B07,$FC5A,$1405,$0A00,$0A7F,$EDB0,$045A,$2802,
- $8A00,$14FF,$DEF4,$4054,$2802,$8500,$28FF,$BF6F,
- $7028,$1405,$0280,$17FE,$4F9F,$FFD7,$EF82,$FDF0,
- $0801,$EF60,$0028,$1F81,$03F0,$07FE,$AC7F,$FFC7,
- $FF80,$FFF0,$0000,$B07F,$B000,$FFC0,$07F0,$0000,
- $007F,$8000,$7FC0,$07F0,
- (* Plane 1 *)
- $758F,$F000,$0000,$0FFF,$FFF0,$FF39,$F800,$0000,
- $0FFF,$FFF0,$FFFF,$FC1F,$FF80,$3FFF,$FFF0,$FFFF,
- $FE7F,$FFC0,$1FBF,$FFF0,$FFC1,$FEE0,$0060,$7F5F,
- $FFF0,$FF30,$FF80,$00B0,$FEEF,$FFF0,$FEF8,$7F00,
- $0060,$7EEF,$FFF0,$FDF8,$3EF0,$00C1,$FDF7,$FFF0,
- $FDE0,$3DE0,$0183,$FBFB,$FFF0,$FEDA,$3DE7,$FB81,
- $FBBB,$FFF0,$FF5A,$3BDF,$FFC7,$F75D,$FFF0,$FFB7,
- $3BDF,$006F,$EF5E,$FFF0,$FFEF,$7BBE,$07BF,$EE0E,
- $FFF0,$FFDF,$BBBC,$1FBF,$DCFF,$7FF0,$FFEF,$DBB8,
- $3FBF,$BDFF,$BFF0,$FFF1,$EBB0,$03BF,$BBFF,$BFF0,
- $FFFE,$EBDB,$FBBF,$7803,$DFF0,$FFFE,$EBDF,$FBBE,
- $F7FD,$EFF0,$FFFD,$EDA7,$FBBE,$EFFE,$EFF0,$FE03,
- $DDF8,$03BD,$EFFE,$F7F0,$FDFF,$DEFF,$FFBD,$DFFF,
- $77F0,$FBFF,$BF5F,$FFBB,$DFFF,$7BF0,$F7FE,$7F97,
- $FFD7,$EFFE,$FDF0,$F801,$FBE0,$0038,$187F,$0300,
- $FFFF,$FFFF,$FFFF,$F07F,$FE00,$FFFF,$FF9F,$FFFF,
- $E07F,$FC00,$FFFF,$FF81,$FFFF,$003F,$F800,$FFFF,
- $FF80,$FFFF,$803F,$F800
- );
- PicImage : tImage = (
- LeftEdge : 0;
- TopEdge : 0;
- Width : 76;
- Height : 28;
- Depth : 2;
- ImageData : NIL;
- PlanePick : $0003;
- PlaneOnOff : $0000;
- NextImage : NIL
- );
-
- VAR
- TheWin : pWindow;
- exitl : boolean;
- message : pIntuiMessage;
- MsgClass,
- Dummy : Long;
- ImageDataPtr : pGrafixData;
- Tgs : Array[0..13] of tTagItem;
- Infotxt : array [0..11] of tIntuiText;
- MyFont : tTextAttr;
- InfoStrs : Array[0..11] of string;
-
- begin
- ImageDataptr := AllocMem(sizeof(tGrafixData), MEMF_CHIP);
- if ImageDataPtr = NIL then ErrExit('Failed to allocate pointer memory'#0, 10);
-
- ImageDataPtr^ := ImgData;
-
- PicImage.ImageData := pWord(ImageDataPtr);
-
- WITH MyFont DO BEGIN
- ta_Name := @FontName[1];
- ta_YSize := 8;
- ta_Style := FS_NORMAL;
- ta_Flags := FPF_ROMFONT;
- END;
-
-
- InfoStrs[0] := 'SMPrefs v1.00'#0;
- InfoStrs[1] := 'Creates a preference file'#0;
- InfoStrs[2] := 'file for Startup-Menu'#0;
- InfoStrs[3] := ' '#0;
- InfoStrs[4] := 'Programming : Lee Kindness'#0;
- InfoStrs[5] := 'Gfx & Misc : Adam Kindness'#0;
- InfoStrs[6] := 'Comments to : '#0;
- InfoStrs[7] := ' Lee Kindness'#0;
- InfoStrs[8] := ' 8 Craigmarn Road'#0;
- InfoStrs[9] := ' Portlethen'#0;
- InfoStrs[10]:= ' ABERDEEN AB1 4QR'#0;
- InfoStrs[11]:= ' SCOTLAND'#0;
-
- for i := 0 to 11 do
- with InfoTxt[i] do begin
- FrontPen := 1;
- BackPen := 0;
- DrawMode := JAM1;
- LeftEdge := 0;
- TopEdge := (9*i);
- ITextFont := @MyFont;
- IText := @InfoStrs[i,1];
- if i < 11 then NextText := @InfoTxt[i+1] else NextText := NIL
- end;
-
- Tgs[0].ti_Tag := WA_Width;
- Tgs[0].ti_Data := 335;
- Tgs[1].ti_Tag := WA_Height;
- Tgs[1].ti_Data := 125;
- Tgs[2].ti_Tag := WA_Title;
- Tgs[2].ti_Data := LONG(@WT[1]);
- Tgs[3].ti_Tag := WA_IDCMP;
- Tgs[3].ti_Data := IDCMP_CLOSEWINDOW OR IDCMP_REFRESHWINDOW
- OR IDCMP_MOUSEBUTTONS;
- Tgs[4].ti_Tag := WA_PubScreenName;
- Tgs[4].ti_Data := LONG(@pubname[1]);
- Tgs[5].ti_Tag := WA_CloseGadget;
- Tgs[5].ti_Data := True_;
- Tgs[6].ti_Tag := WA_DragBar;
- Tgs[6].ti_Data := True_;
- Tgs[7].ti_Tag := WA_SimpleRefresh;
- Tgs[7].ti_Data := True_;
- Tgs[8].ti_Tag := WA_RMBTrap;
- Tgs[8].ti_Data := True_;
- Tgs[9].ti_Tag := WA_Activate;
- Tgs[9].ti_Data := True_;
- Tgs[10].ti_Tag := WA_Left;
- Tgs[10].ti_Data:= LeftEdge;
- Tgs[11].ti_Tag := WA_Top;
- Tgs[11].ti_Data:= TopEdge;
- Tgs[12].ti_Tag := WA_PubScreenFallBack;
- Tgs[12].ti_Data:= True_;
- Tgs[13].ti_Tag := TAG_DONE;
-
- TheWin := OpenWindowTaglist(NIL,@Tgs);
- If TheWin = NIL Then
- ErrExit('Failed to create window'#0, 206);
-
- DrawImage(TheWin^.RPort, @PicImage, 12, Sizes[TBS]+3);
- DrawBevelBoxA(TheWin^.RPort, 10, sizes[TBS]+2, 81, 30 ,@BevelTags);
- PrintIText(TheWin^.RPort, @InfoTxt, 100, sizes[TBS]+2);
-
- exitl := false;
- While Not exitl Do Begin
- dummy := Wait(BitMask(TheWin^.UserPort^.MP_SIGBIT));
- Repeat
- message := pIntuiMessage(GetMsg(TheWin^.userPort));
- MsgClass := message^.Class;
-
- Case MsgClass Of
- IDCMP_REFRESHWINDOW : begin
- GT_BeginRefresh(TheWin);
- DrawImage(TheWin^.RPort, @PicImage, 12, Sizes[TBS]+6);
- DrawBevelBoxA(TheWin^.RPort, 10, sizes[TBS]+5, 81, 30 ,@BevelTags);
- PrintIText(TheWin^.RPort, @InfoTxt, 100, sizes[TBS]+2);
- GT_EndRefresh(TheWin, True);
- end;
-
- IDCMP_MOUSEBUTTONS : begin
- exitl := True;
- end;
-
- IDCMP_CLOSEWINDOW : begin
- exitl := True;
- end;
- end; {CASE}
- Until message = NIL;
- End; (*while*)
- CloseWindow(TheWin);
- FreeMem_(ImageDataPtr, sizeof(tGrafixData));
- ThirdGenAn := True;
- end;
- (* ===================================================================== *)