Thread View: comp.sources.apple2
1 messages
1 total messages
Started by Jonathan A. Chandross
Fri, 10 May 1991 19:47
v001SRC048: Texter -- text editor (GS Only) Part 02/02
Author: Jonathan A. Chandross
Date: Fri, 10 May 1991 19:47
Date: Fri, 10 May 1991 19:47
1440 lines
42106 bytes
42106 bytes
Submitted-by: Joel Sumner (q4kx@cornella.ccs.cornell.edu)
Posting-number: Volume 1, Source:48
Archive-name: editor/texter/part02
Architecture: ONLY_2gs
Version-number: 1.1.1
=texter.pas
-{$keep 'Texter'}
-{$optimize -1}
-Program Texter;
-
-Uses Common,
- ControlMgr,
- ResourceMgr,
- MemoryMgr,
- IntegerMath,
- DeskMgr,
- ToolLocator,
- WindowMgr,
- FontMgr,
- QuickDrawII,
- PrintMgr,
- MenuMgr,
- GSOS,
- DialogMgr,
- SFToolSet,
- TextEdit,
- {$LibPrefix '0/'}
- MessUnit, {Dave Lyon's Unit for Message Center}
- MyStuff,
- Texter2;
-
-
-const
- Application_Menu_Bar = 1;
- Apple_Menu = 1;
- About_Menu_Item = 256;
-
- File_Menu = 2;
- New_Menu_Item = 258;
- Open_Menu_Item = 259;
- Close_Menu_Item = 255;
- Save_Menu_Item = 260;
- SaveAs_Menu_Item = 261;
- Page_Setup_Item = 263;
- Print_Item = 264;
- Quit_Menu_Item = 257;
-
- Edit_Menu = 3;
- Undo_Menu_Item = 250;
- Cut_Menu_Item = 251;
- Copy_Menu_Item = 252;
- Paste_Menu_Item = 253;
- Clear_Menu_Item = 254;
-
- Window_Menu = 4;
- Window1_Item = 265;
- Window2_Item = 266;
- Window3_Item = 267;
- Window4_Item = 268;
- Window5_Item = 269;
-
- Goodies_Menu = 5;
- Word_Wrap_Item = 270;
- Choose_Font_Item=271;
-
- Text_Window = 4090;
- Text_Window_wColor = 1;
- Text_Edit_Control = 1;
- Tool_Startup_Table = 1;
-
- Printing_Alert = 1;
- Tool_Error_Alert = 2;
- Save_Alert = 3;
-
-
-
-var
- MyMemoryID: Integer;
- OldWindow: integer;
- StartStopRef: longint;
- Done: Boolean;
- PrintRecHandle:PrHandle;
- theGSString: GSOSInString;
- WindowMenuStr: String[255];
- WindowItems: Array[1..5] of String[25];
- OpenWindows: Integer; {Max of 5 Open Windows}
- OPTable: OpenOSDCB;
- WindFront: boolean;
- FormatDlog,
- ApplicPort: GrafPortPtr;
-
-
-procedure DoPageSetup;
-var Good,
- Dummy:boolean;
-begin
-dummy:=PrValidate(PrintRecHandle);
-If ToolError<>0 then ErrorBox(ToolError,$1301)
- else begin
- Good:=PrStlDialog(PrintRecHandle);
- If ToolError<>0 then ErrorBox(ToolError,$1301);
- end;
-end;
-
-
-procedure DoPrintDoc;
-var PrintPort,
- theWindow: GrafPortPtr;
- LineNum,
- memsize: longint;
- hTECtl: TEHandle;
- Error,
- Where: integer;
- pageRect: rect;
- dummy: boolean;
-begin
-theWindow := FrontWindow;
-hTECtl := TEHandle(GetCtlHandleFromID(theWindow, Text_Edit_Control));
-If ToolError<>0 then ErrorBox(ToolError,$1101);
-dummy:=PrValidate(PrintRecHandle);
-If PrJobDialog(PrintRecHandle)>0 then
- begin
- PrintPort:=PrOpenDoc(PrintRecHandle,nil);
- If ToolError<>0 then begin
- PrSetError(prAbort);
- Where:=2;
- end;
- pageRect := PrintRecHandle^^.prInfo.rPage;
- LineNum:=0;
- Repeat
- PrOpenPage(PrintPort,nil);
- If ToolError<>0 then begin
- PrSetError(prAbort);
- Where:=3;
- end;
- LineNum:=TEPaintText(PrintPort,LineNum,PageRect,0,hTECtl);
- If ToolError<>0 then begin
- PrSetError(prAbort);
- Where:=4;
- end;
- PrClosePage(PrintPort);
- If ToolError<>0 then begin
- PrSetError(prAbort);
- Where:=5;
- end;
- Until LineNum=-1;
- PrCloseDoc(PrintPort);
- Error:=PrError;
- If Error<>0 then
- begin
- ErrorBox(Error,$1100+Where);
- result:=AlertWindow(5,nil,pointer(Printing_Alert));
- end
- else
- PrPicFile(PrintRecHandle,nil,nil);
- end;
-end;
-
-
-Function GetAWindow(WindNum:Integer):GrafPortPtr;
-var tmpWindow: GrafPortPtr;
-begin
-tmpWindow:=NewWindow2(@Windows[windNum].WindowTitle,
- @Windows[windnum],
- @DrawWindow,
- nil,
- refIsResource,
- Text_Window,
- $800E);
-If ToolError<>0 then ErrorBox(ToolError,$1001);
-SetPort(tmpWindow);
-GetAWindow:=tmpWindow;
-end;
-
-Function MakeWindow(theWindnum:integer):Boolean;
-begin
-Windows[theWindNum].DocWindow:=GetAWindow(theWindNum);
-if Windows[theWindNum].DocWindow<>nil then
- Begin
- With Windows[theWindNum] do begin
- MakeWindow:=true;
- If Length(WindowTitle)>15 then
- WindowItems[theWindNum]:=concat('...',
- copy(WindowTitle,Length(WindowTitle)-15,17),
- ' ')
- else
- WindowItems[theWindNum]:= WindowTitle;
- SetMItemName(@WindowItems[theWindNum],theWindNum+264);
- EnableMItem(theWindNum+264);
- CalcMenuSize(0,0,4);
- end; {of With Windows}
- end
- else MakeWindow:=false;
-end;
-
-Procedure SetWindArr(i:integer);
-begin
-Windows[i].index:=i;
-Windows[i].InUse:=True;
-Windows[i].Wrap:=true;
-EnableMItem(Close_Menu_Item);
-EnableMItem(Print_Item);
-EnableMItem(Save_Menu_Item);
-EnableMItem(SaveAs_Menu_Item);
-EnableMItem(Page_Setup_Item);
-EnableMItem(Choose_Font_Item);
-EnableMItem(Word_Wrap_Item);
-WindFront:=true;
-end;
-
-Procedure DoNew;
-var i,
- MyWindNum:Integer;
- OpenOK,
- Success: Boolean;
- tempStr: Str255;
-begin
-myWindNum:=0;
-For i:=5 downto 1 do
- If Windows[i].InUse=False then mywindnum:=i;
-if mywindnum=0 then ErrorBox(-2,$F01);
-tempStr:=' Untitled ';
-For I:=1 to length(tempstr) do
- Windows[mywindnum].DocGSString.thestring[i]:=tempstr[i];
-Windows[mywindnum].DocGSString.size:=Length(tempstr);
-Windows[myWindNum].WindowTitle:=tempstr;
-Windows[mywindnum].DocRef:=0;
-OpenOK:=True;
-Success:=True;
-If Success then OpenOK:=MakeWindow(MyWindNum);
-If not OpenOK then ErrorBox(-3,$F02)
- else begin
- OpenWindows:=OpenWindows+1;
- SetWindArr(mywindnum);
- Windows[mywindnum].New:=True;
- Windows[mywindnum].Saved:=False;
- end;
-If OpenWindows>4 then begin
- DisableMItem(Open_Menu_Item);
- DisableMItem(New_Menu_Item);
- end;
-end; {of DoNew}
-
-Procedure FormDlog;
-var r: rect;
-begin
-ApplicPort:=GetPort;
-WaitCursor;
-SetRect(r,200,40,440,65);
-FormatDlog :=NewModalDialog(r,true,0);
-If ToolError<>0 then ErrorBox(ToolError,$E07);
-SetPort(FormatDlog);
-MoveTo(10,15);DrawString(@'Please Wait. Formatting Text...');
-end;
-
-Function ReadIt(thedocnum:integer):Boolean;
-var eofparm: eofOSDCB;
- temp: boolean;
- TextHandle:Handle;
- readparm: readWriteOSDCB;
- TEControl:TEHandle;
-
-begin
-FormDlog;
-temp:=true;
-eofparm.pcount:=2;
-eofparm.refnum:=Windows[thedocnum].Docref;
-GetEOFGS(eofparm);
-if ToolError<>0 then begin
- ErrorBox(ToolError,$E01);
- temp:=false;
- end
- else begin
- TextHandle:=NewHandle(eofparm.eofEOF,MyMemoryID,0,pointer(0));
- If ToolError<>0 then begin
- ErrorBox(ToolError,$E02);
- temp:=False;
- end;
- end;
-If Temp then
- begin
- Hlock(TextHandle);
- readparm.pcount:=4;
- readparm.refnum:=Windows[thedocnum].Docref;
- readparm.databuffer:=TextHandle^;
- readparm.requestcount:=eofparm.eofEOF;
- ReadGS(readparm);
- If ToolError<>0 then begin
- ErrorBox(ToolError,$E03);
- temp:=false;
- end;
- end;
-If Temp then
- begin
- TEControl:=TEHandle(GetCtlHandleFromID(Windows[thedocnum].DocWindow,
- Text_Edit_Control));
- If ToolError<>0 then
- ErrorBox(ToolError,$E03);
-
- TESetText(8+5, {Data is in Handle in Unformatted text block}
- teTextRef(TextHandle),
- eofparm.eofEOF, {Should be ignored}
- $0000,
- $00000000,
- TEControl);
- If ToolError<>0 then
- ErrorBox(ToolError,$E04);
- HUnlock(TextHandle);
- If ToolError<>0 then
- ErrorBox(ToolError,$E05);
- DisposeHandle(TextHandle);
- If ToolError<>0 then ErrorBox(ToolError,$E06);
- end;
-ReadIt:=temp;
-InitCursor;
-CloseDialog(FormatDlog);
-If ToolError<>0 then ErrorBox(ToolError,$E08);
-SetPort(ApplicPort);
-end;
-
-Procedure CloseFile(theref:integer);
-var CloseRec:CloseOSDCB;
-begin
-CloseRec.pCount:=1;
-CloseRec.refNum:=theref;
-CloseGS(CloseRec);
-If ToolError<>0 then ErrorBox(ToolError,$1401);
-end;
-
-Procedure OpenStartUp(theFile:Str255);
-var
- i,Error: integer;
- OpenOK,
- Success: Boolean;
- temptext: Str255;
-begin
-For I:=1 to Length(thefile) do
- Windows[openWindows+1].DocGSString.thestring[i]:=thefile[i];
-Windows[openWindows+1].DocGSString.size:=Length(thefile);
-Windows[OpenWindows+1].WindowTitle:=concat(' ',thefile,' ');
-With OPtable do begin
- pCount:= 15;
- refnum:= 0;
- pathname:= @Windows[openWindows+1].DocGSString;
- requestAccess:=1;
- ResourceNumber:=0;
- end;
-OpenGS(OPtable);
-Error:=ToolError;
-If (OPTable.filetype<>$04) and (OPTable.Filetype<>$B0) then Error:=-1;
-Windows[OpenWindows+1].DocRef:=OPtable.refnum;
-OpenOK:=True;
-Success:=True;
-If Error<>0 then
- begin
- ErrorBox(Error,$D01);
- Success:=False;
- end;
-If Success then OpenOK:=MakeWindow(OpenWindows+1);
-If not OpenOK then begin
- ErrorBox(-3,$D03);
- CloseFile(Windows[openwindows+1].DocRef);
- end
- else
- begin
- OpenWindows:=OpenWindows+1;
- SetWindArr(OpenWindows);
- Windows[OpenWindows].New:=False;
- Windows[OpenWindows].Saved:=True;
- OpenOK:=ReadIt(OpenWindows);
- CloseFile(Windows[openwindows].DocRef);
- end;
-end; {of OpenStartUp}
-
-
-Procedure OpenIt(SfRecord:ReplyRecord);
-var
- i,Error,
- MyWindNum:integer;
- OpenOK,
- Success: Boolean;
- temptext: Str255;
-begin
-mywindnum:=0;
-For i:=5 downto 1 do
- If Windows[i].InUse=False then mywindnum:=i;
-if mywindnum=0 then ErrorBox(-2,$C01);
-For I:=1 to Length(SFRecord.Fullpathname) do
- Windows[mywindnum].DocGSString.thestring[i]:=SFRecord.Fullpathname[i];
-Windows[mywindnum].DocGSString.size:=Length(SFRecord.Fullpathname);
-Windows[myWindNum].WindowTitle:=SFRecord.Fullpathname;
-With OPtable do begin
- pCount:= 15;
- refnum:= 0;
- pathname:= @Windows[mywindnum].DocGSString;
- requestAccess:=1;
- ResourceNumber:=0;
- end;
-OpenGS(OPtable);
-Error:=ToolError;
-Windows[mywindnum].DocRef:=OPtable.refnum;
-OpenOK:=True;
-Success:=True;
-if Error<>0 then
- begin
- ErrorBox(Error,$C02);
- Success:=False;
- end;
-If Success then OpenOK:=MakeWindow(MyWindNum);
-If not OpenOK then begin
- ErrorBox(Error,$C03);
- CloseFile(Windows[mywindnum].DocRef);
- end
- else begin
- OpenWindows:=OpenWindows+1;
- SetWindArr(mywindnum);
- Windows[mywindnum].New:=False;
- Windows[mywindnum].Saved:=True;
- OpenOK:=ReadIt(mywindnum);
- CloseFile(Windows[mywindnum].DocRef);
- end;
-If OpenWindows>4 then begin
- DisableMItem(Open_Menu_Item);
- DisableMItem(New_Menu_Item);
- end;
-end; {of OpenIt}
-
-Function OpenFile(i:integer):boolean;
-var OCtable:OpenOSDCB;
- error: integer;
-begin
-With OCtable do begin
- pCount:= 15;
- refnum:= 0;
- pathname:= @Windows[i].DocGSString;
- requestAccess:=3;
- ResourceNumber:=0
- end;
-OpenGS(OCtable);
-Error:=ToolError;
-Windows[i].Docref:=OCTable.refnum;
-if Error<>0 then
- begin
- ErrorBox(Error,$B01);
- OpenFile:=False;
- end
- else OpenFile:=True;
-end;
-
-Procedure DoOpen;
-var prompt: str255;
- replyrec: ReplyRecord;
- TheTypeList: TypeList;
-begin
-prompt := 'File to Open:';
-with TheTypeList do begin
- numEntries := 2;
- fileType[1] := $0004;
- fileType[2] := $00B0;
- end;
-SFGetFile(100,50,@prompt,nil,@TheTypeList,replyrec);
-If toolError>0 then ErrorBox(ToolError,$A01);
-if not(replyrec.good=false) then OpenIt(replyRec);
-end;
-
-Function DeleteFile(var CreateTable:CreateOSDCB):boolean;
-var DPTable: DestroyOSDCB;
- I,
- error: Integer;
-begin
-DPTable.pcount:=1;
-DPTable.Pathname:=CreateTable.PathName;
-DestroyGS(DPTable);
-If ToolError>0 then
- begin
- ErrorBox(Error,$901);
- DeleteFile:=False;
- end
-else begin
- CreateGS(CreateTable);
- If ToolError>0 then begin
- ErrorBox(ToolError,$902);
- DeleteFile:=False;
- end
- else DeleteFile:=True;
- end;
-end; {of DeleteFile}
-
-Function CreateNewFile(index:integer):Boolean;
-var CPtable: CreateOSDCB;
- i,
- error: integer;
- prompt,
- origname: String;
- reply: ReplyRecord;
-begin
-prompt:='Save conversion as:';
-origname:='Untitled';
-SFPutFile(100,50,@prompt,@origname,15,reply);
-If ToolError> 0 then ErrorBox(ToolError,$801);
-if integer(reply.good)=0 then
- CreateNewFile:=False
- else
- begin
- For I:=1 to Length(reply.fullpathname) do
- theGSString.thestring[i]:=reply.fullpathname[i];
- theGSString.size:=Length(reply.fullpathname);
- With CPtable do
- begin
- pCount:= 7;
- Pathname:= @theGSString;
- access:= 227;
- filetype:= 4;
- auxType:= 0;
- StorageType:= 1;
- DataEOF:= 1;
- resourceEOF:= 0;
- end;
- CreateGS(CPtable);
- Error:=ToolError;
- Windows[index].DocGSString:=theGSString;
- Windows[index].WindowTitle:=reply.Fullpathname;
- CreateNewFile:=True;
- If Error>0 then begin
- If Error = 71 then CreateNewFile:=DeleteFile(CPTable)
- else begin
- ErrorBox(ToolError,$802);
- CreateNewFile:=False;
- end; {If ToolError}
- End; {If IsToolError}
- end; {of If not reply.good}
-end; {of CreateNewFile}
-
-Function WriteDocWindow(i:integer):boolean;
-var eofparm: SetMarkOSDCB;
- writeparms:readwriteOSDCB;
- uhoh: boolean;
- TECtlHand:TEHandle;
- TextHandle:Handle;
- length: longint;
-begin
-Uhoh:=false;
-with eofparm do
- begin
- pcount:= 3;
- refnum:= Windows[i].DocRef;
- base:= 0;
- displacement:= 0;
- end;
-SetEOFGS(eofParm); {Set EOF to zero to prepare for write}
-TECtlHand:=TEHandle(GetCtlHandleFromID(Windows[i].DocWindow,
- Text_Edit_Control));
-If ToolError<>0 then ErrorBox(ToolError,$701);
-TextHandle:=NewHandle(TECtlHand^^.textlength,MyMemoryID,0,pointer(0));
-If ToolError<>0 then
- begin
- ErrorBox(ToolError,$702);
- uhoh:=true;
- end;
-If not(uhoh) then
- begin
- HLock(TextHandle);
- length:=TEGetText(8+5, {Data to Handle in Unformatted text block}
- TextHandle,
- $00000000, {ignored}
- $0000,
- $00000000,{No style info}
- TECtlHand);
- If ToolError<>0 then
- begin
- ErrorBox(ToolError,$703);
- uhoh:=true;
- end;
- end;
-if not(uhoh) then
- begin
- With writeparms do
- begin
- pcount:= 5;
- refnum:= Windows[i].DocRef;
- databuffer:= TextHandle^;
- requestcount:=length;
- cachePriority:=0;
- end;
- WriteGS(writeparms);
- If ToolError<>0 then
- begin
- ErrorBox(ToolError,$704);
- uhoh:=true;
- end;
- end;
-WriteDocWindow:=not(uhoh);
-HUnlock(TextHandle);
-DisposeHandle(TextHandle);
-end;
-
-Procedure DoSaveAs;
-var i: integer;
- theDocptr:DocumentPtr;
- theDoc: Document;
- success: boolean;
- TEControl:TEHandle;
- dirty: byte;
-begin
-theDocPtr:=DocumentPtr(GetWRefCon(FrontWindow));
-theDoc:=theDocPtr^;
-i:=theDoc.Index;
-If CreateNewFile(i) then
- begin
- if OpenFile(i) then success:=writeDocWindow(i);
- CloseFile(Windows[i].DocRef);
- end;
-If Success then
- With Windows[i] do begin
- If Length(WindowTitle)>15 then
- WindowItems[i]:=concat('...',
- copy(WindowTitle,Length(WindowTitle)-15,17),
- ' ')
- else
- WindowItems[i]:= WindowTitle;
- SetWTitle(@WindowTitle,DocWindow);
- SetMItemName(@WindowItems[i],i+264);
- EnableMItem(i+264);
- CalcMenuSize(0,0,4);
- saved:=true;
- new:=false;
- TEControl:=TEHandle(GetCtlHandleFromID(DocWindow,
- Text_Edit_Control));
- If ToolError<>0 then ErrorBox(ToolError,$601);
- TEControl^^.ctlFlag:=TEControl^^.ctlFlag & $bf;
- end; {of with windows}
-end;
-
-procedure DoSave;
-var i: integer;
- theDocptr:DocumentPtr;
- theDoc: Document;
- success: boolean;
- TEControl:TEHandle;
- dirty: byte;
-begin
-theDocPtr:=DocumentPtr(GetWRefCon(FrontWindow));
-theDoc:=theDocPtr^;
-i:=theDoc.Index;
-success:=false;
-if windows[i].new then DoSaveAs
- else
- begin
- if OpenFile(i) then success:=WriteDocWindow(i);
- CloseFile(windows[i].DocRef);
- end;
-If success then begin
- windows[i].saved:=true;
- TEControl:=TEHandle(GetCtlHandleFromID(Windows[i].DocWindow,
- Text_Edit_Control));
- If ToolError<>0 then ErrorBox(ToolError,$501);
- TEControl^^.ctlFlag:=TEControl^^.ctlFlag & $bf;
- end;
-end;
-
-procedure ContinueClose(i:integer);
-begin
-CloseWindow(Windows[i].DocWindow); {close it}
-Windows[i].DocWindow := nil;
-Windows[i].InUse:=False;
-OpenWindows:=OpenWindows-1;
-EnableMItem(Open_Menu_Item);
-EnableMItem(New_Menu_Item);
-WindowItems[i]:=concat('Window',cnvis(i));
-SetMItemName(@WindowItems[i],i+264);
-CalcMenuSize(0,0,4);
-DisableMItem(264+i);
-If OpenWindows=0 then
- begin
- Windfront:=false;
- DisableMItem(Close_Menu_Item);
- DisableMItem(Print_Item);
- DisableMItem(Save_Menu_Item);
- DisableMItem(SaveAs_Menu_Item);
- DisableMItem(Page_Setup_Item);
- DisableMItem(Word_Wrap_Item);
- DisableMITem(Choose_Font_Item);
- end;
-end;
-
-procedure DoClose;
-var i: integer;
- theDocptr:DocumentPtr;
- theDoc: Document;
- TEControl:TEHandle;
- dirty: byte;
- button: integer;
-begin
-if FrontWindow <> nil then
- begin
- if GetWKind(FrontWindow)=0 then
- begin
- theDocPtr:=DocumentPtr(GetWRefCon(FrontWindow));
- theDoc:=theDocPtr^;
- i:=theDoc.Index;
- TEControl:=TEHandle(GetCtlHandleFromID(Windows[i].DocWindow,
- Text_Edit_Control));
- If ToolError<>0 then ErrorBox(ToolError,$401);
- dirty:=TEControl^^.ctlFlag;
- if (dirty & $0040) <> 0 then
- Windows[i].saved:=false;
- if not (Windows[i].saved) then
- begin
- button:=AlertWindow(5,nil,pointer(Save_Alert));
- if button=2 then DoSave;
- if button>0 then ContinueClose(i);
- end
- else ContinueClose(i);
- end
- end
- else begin
- CloseNDAByWinPtr(FrontWindow);
- If ToolError<>0 then ErrorBox(ToolError,$402);
- end;
-end; {DoClose}
-
-Procedure GoGetBuffer;
-var any: integer;
- PathPtr: StringPtr;
- NotDone: Boolean;
- PPtable: PrefsOSDCB;
-begin
-PPtable.pcount:=1;
-PPtable.preferences:=$8000;
-SetSysPrefsGS(PPTable);
-If ToolError<>0 then ErrorBox(ToolError,$301);
-
-new(PathPtr);
-Any:=InitReadMc(MyMemoryID);
-OpenWindows:=0;
-If Any>-1 then
- Repeat
- NotDone:=ReadNextMc(PathPtr);
- if (NotDone) and (OpenWindows<5) then OpenStartUp(PathPtr^);
- Until NotDone=False;
-If OpenWindows>4 then begin
- DisableMItem(Open_Menu_Item);
- DisableMItem(New_Menu_Item);
- end;
-end;
-
-Procedure DoChooseFont;
-var i: integer;
- theDocptr:DocumentPtr;
- theDoc: Document;
- TECtlHand:TEHandle;
- theid: longint;
- thestyle: TEStyle;
-begin
-thestyle.teFont.fid:=ChooseFont(FMGetCurFID,0);
-If ToolError<>0 then ErrorBox(ToolError,$1601);
-theDocPtr:=DocumentPtr(GetWRefCon(FrontWindow));
-theDoc:=theDocPtr^;
-i:=theDoc.Index;
-TECtlHand:=TEHandle(GetCtlHandleFromID(Windows[i].DocWindow,
- Text_Edit_Control));
-FormDlog;
-If ToolError<>0 then ErrorBox(ToolError,$1602);
-TESetSelection(0,TECtlHand^^.textlength,TECtlHand);
-If ToolError<>0 then ErrorBox(ToolError,$1603);
-TEStyleChange($62,theStyle,TECtlHand);
-If ToolError<>0 then ErrorBox(ToolError,$1604);
-InitCursor;
-CloseDialog(FormatDlog);
-If ToolError<>0 then ErrorBox(ToolError,$1605);
-SetPort(ApplicPort);
-end;
-
-Procedure ChangeWrap;
-var i: integer;
- theDocptr:DocumentPtr;
- theDoc: Document;
- TEControl:TEHandle;
- flag: longint;
- theruler: Handle;
-begin
-theDocPtr:=DocumentPtr(GetWRefCon(FrontWindow));
-theDoc:=theDocPtr^;
-i:=theDoc.Index;
-TEControl:=TEHandle(GetCtlHandleFromID(Windows[i].DocWindow,
- Text_Edit_Control));
-If ToolError<>0 then ErrorBox(ToolError,$1501);
-FormDlog;
-flag:=TEControl^^.textflags;
-flag:=(flag ! $10000000);
-if (flag & $10000000)=0 then begin
- Windows[i].Wrap:=True;
- CheckMItem(true,Word_Wrap_Item);
- end
- else begin
- CheckMItem(false,Word_Wrap_Item);
- Windows[i].Wrap:=False;
- end;
-TEControl^^.textflags:=flag;
-theRuler:=NewHandle(80,MyMemoryID,
- attrLocked+attrFixed+attrNoCross,
- Pointer(0));
-If ToolError<>0 then ErrorBox(ToolError,$1502);
-TEGetRuler(terefIsHandle,theruler,TEControl);
-If ToolError<>0 then ErrorBox(ToolError,$1503)
- else begin
- TESetRuler(teRefIsHandle,theruler,TEControl);
- If ToolError<>0 then ErrorBox(ToolError,$1504);
- end;
-DisposeHandle(theRuler);
-InitCursor;
-CloseDialog(FormatDlog);
-If ToolError<>0 then ErrorBox(ToolError,$1605);
-SetPort(ApplicPort);
-end;
-
-procedure ProcessMenu(Code: longint);
-var menuNum : integer;
- itemNum : integer;
-begin
- menuNum := HiWord(Code);
- itemNum := LoWord(Code);
-
- case itemNum of
- {Apple Menu}
- About_Menu_Item : DoAbout;
- {File Menu}
- New_Menu_Item: DoNew;
- Open_Menu_Item: DoOpen;
- Close_Menu_Item: DoClose;
- Save_Menu_Item: DoSave;
- SaveAs_Menu_Item: DoSaveAs;
- Page_Setup_Item: DoPageSetup;
- Print_Item: DoPrintDoc;
- Quit_Menu_Item : Done := true;
- {Edit Menu}
- Undo_Menu_Item:;
- Cut_Menu_Item:;
- Copy_Menu_Item:;
- Paste_Menu_Item:;
- Clear_Menu_Item:;
- Window1_Item: DoToFront(1);
- Window2_Item: DoToFront(2);
- Window3_Item: DoToFront(3);
- Window4_Item: DoToFront(4);
- Window5_Item: DoToFront(5);
- Word_Wrap_Item: ChangeWrap;
- Choose_Font_Item:DoChooseFont;
- otherwise ;
- end; {case}
-
- HiliteMenu(false,menuNum);
-end;
-
-Procedure modifymenus(i:integer);
-begin
-if i=0 then
- begin {Back to Texter windows}
- If windfront=true then
- begin
- enableMItem(Save_Menu_Item);
- enableMitem(SaveAs_Menu_Item);
- enableMItem(Page_Setup_Item);
- enableMItem(Print_Item);
- enableMItem(Choose_Font_Item);
- enableMItem(Word_Wrap_Item);
- end;
- end
- else
- begin
- If windfront=true then
- begin
- disableMItem(Save_Menu_Item);
- disableMitem(SaveAs_Menu_Item);
- disableMItem(Page_Setup_Item);
- disableMItem(Print_Item);
- disableMItem(Choose_Font_Item);
- disableMItem(Word_Wrap_Item);
- end;
- end;
-end;
-
-procedure CheckFront;
-var currwindow: integer;
- fwind: GrafPortPtr;
- i: integer;
- theDocptr: DocumentPtr;
- theDoc: Document;
-begin
-fWind:=FrontWindow;
-currwindow:=GetWKind(Fwind);
-if currwindow<>oldwindow then
- Modifymenus(currwindow);
-theDocPtr:=DocumentPtr(GetWRefCon(FWind));
-theDoc:=theDocPtr^;
-i:=theDoc.Index;
-If Windows[i].Wrap then CheckMItem(true,Word_Wrap_Item)
- else CheckMItem(false,Word_Wrap_Item);
-end;
-
-procedure MainEventLoop;
-var Event : EventRecord;
- EventCode : integer;
-begin
- Event.TaskMask := $FFFFF;
- while not done do begin
- CheckFront;
- EventCode := TaskMaster($076E,Event);
- case EventCode of
- wInSpecial,
- wInMenuBar : ProcessMenu(Event.TaskData);
- wInContent :;
- wInGoAway : DoClose;
- otherwise ;
- end; {case}
- end; {while}
-end;
-
-procedure SetUpMenus;
-var
- height: Integer;
-
-begin
-SetSysBar(CtlRecHndl(NewMenubar2(refIsResource,Application_Menu_Bar, nil)));
-SetMenuBar(nil);
-FixAppleMenu(Apple_Menu); { Add DAs to apple menu }
-If ToolError<>0 then ErrorBox(ToolError,$201);
-height := FixMenuBar; { Set sizes of menus }
-DrawMenuBar; { and draw the menu bar! }
-end; { of SetUpMenus }
-
-
-Procedure Initialize;
-begin
-OldWindow:=1;
-ErrStringPtr:=@ErrStringArr;
-PrintRecHandle:=PrHandle(NewHandle($8C, {Size of Printer Job Rec}
- MyMemoryID,
- attrnocross+attrfixed+attrlocked,
- Pointer(0)));
-If ToolError<>0 then ErrorBox(ToolError,$101);
-PrDefault(PrintRecHandle);
-If ToolError<>0 then ErrorBox(ToolError,$102);
-Windfront:=false;
-end;
-
-
-begin
-TLStartUp;
-MyMemoryID := MMStartUp;
-
-StartStopRef := StartupTools(MyMemoryID,refIsResource,Tool_StartUp_Table);
-result:=ToolError;
-If result=0 then
- begin
- Initialize;
- SetUpMenus;
- GoGetBuffer;
- InitCursor;
- MainEventLoop;
- end
- else
- NoRun(result);
-
-ShutDownTools(refIsHandle, StartStopRef);
-end.
-
=texter.r.src
-// --------------------------------------------------------------------
-// Genesys created REZ data code
-// Simple Software Systems International, Inc.
-// APWREZ.SCG 1.2
-// --------------------------------------------------------------------
-
-#include "types.rez"
-
-// --- Control Templates
-
-resource rControlTemplate (Text_Edit_Control, $0000) {
- $00000001, // ID
- { 0, 0,170,590}, // rect
- editTextControl {{
- $0000, // flag
- $7C00, // moreFlags
- $00000000, // refCon
- $22280000, // textFlags
- {65535,65535,65535,65535}, // indentRect
- $FFFFFFFF, // vertBar
- $0000, // vertAmount
- $00000000, // horzBar
- $0000, // horzAmount
- $00000000, // styleRef
- $0015, // textDescriptor
- Edit_pString, // textRef
- $00000000, // textLength
- $00000000, // maxChars
- $00000000, // maxLines
- $0000, // maxCharsPerLine
- $0000, // maxHeight
- 0, // colorTableRef
- $0000, // drawMode
- $00000000 // filterProcPtr
- }};
-};
-
-// --- rPString Templates
-
-resource rPString (Apple_pString, $C018) {
- "@"
-};
-
-resource rPString (File_pString, $C018) {
- " File "
-};
-
-resource rPString (Edit_pString, $C018) {
- " Edit "
-};
-
-resource rPString (Windows_pString, $C018) {
- " Windows "
-};
-
-resource rPString (Goodies_pString, $C018) {
- " Goodies "
-};
-
-resource rPString (Undo_pString, $C018) {
- "Undo"
-};
-
-resource rPString (Cut_pString, $C018) {
- "Cut"
-};
-
-resource rPString (Copy_pString, $C018) {
- "Copy"
-};
-
-resource rPString (Paste_pString, $C018) {
- "Paste"
-};
-
-resource rPString (Clear_pString, $C018) {
- "Clear"
-};
-
-resource rPString (Close_pString, $C018) {
- "Close"
-};
-
-resource rPString (About_pString, $C018) {
- "About..."
-};
-
-resource rPString (Quit_pString, $C018) {
- "Quit"
-};
-
-resource rPString (New_pString, $C018) {
- "New"
-};
-
-resource rPString (Open_pString, $C018) {
- "Open..."
-};
-
-resource rPString (Save_pString, $C018) {
- "Save"
-};
-
-resource rPString (SaveAs_pString, $C018) {
- "Save as..."
-};
-
-resource rPString (Page_Setup_pString, $C018) {
- "Page Setup..."
-};
-
-resource rPString (Print_pString, $C018) {
- "Print..."
-};
-
-resource rPString (Window1_pString, $C018) {
- "Window1"
-};
-
-resource rPString (Window2_pString, $C018) {
- "Window2"
-};
-
-resource rPString (Window3_pString, $C018) {
- "Window3"
-};
-
-resource rPString (Window4_pString, $C018) {
- "Window4"
-};
-
-resource rPString (Window5_pString, $C018) {
- "Window5"
-};
-
-resource rPString (Word_Wrap_pString, $C018) {
- "Word Wrap On"
-};
-
-resource rPString (Choose_Font_pString, $C018) {
- "Choose Font"
-};
-
-resource rPString (Text_Window_Title, $0000) {
- " Title "
-};
-
-// --- Menu Bar Definitions
-
-resource rMenuBar (Application_Menu_Bar, $C018) {
- {
- Apple_Menu,
- File_Menu,
- Edit_Menu,
- Window_Menu,
- Goodies_Menu
- };
-};
-
-// --- Menu Definitions
-
-resource rMenu (Apple_Menu, $C018) {
- $0001, // menuID
- $A008, // menuFlag
- Apple_pString, { // menuTitleRef
- About_Menu_Item
- };
-};
-
-resource rMenu (File_Menu, $C018) {
- $0002, // menuID
- $A008, // menuFlag
- File_pString, { // menuTitleRef
- New_Menu_Item,
- Open_Menu_Item,
- Close_Menu_Item,
- Save_Menu_Item,
- SaveAs_Menu_Item,
- Page_Setup_Item,
- Print_Item,
- Quit_Menu_Item
- };
-};
-
-resource rMenu (Edit_Menu, $C018) {
- $0003, // menuID
- $A008, // menuFlag
- Edit_pString, { // menuTitleRef
- Undo_Menu_Item,
- Cut_Menu_Item,
- Copy_Menu_Item,
- Paste_Menu_Item,
- Clear_Menu_Item
- };
-};
-
-resource rMenu (Window_Menu, $C018) {
- $0004, // menuID
- $A008, // menuFlag
- Windows_pString, { // menuTitleRef
- Window1_Item,
- Window2_Item,
- Window3_Item,
- Window4_Item,
- Window5_Item
- };
-};
-
-resource rMenu (Goodies_Menu, $C018) {
- $0005, // menuID
- $A008, // menuFlag
- Goodies_pString, { // menuTitleRef
- Word_Wrap_Item,
- Choose_Font_Item
- };
-};
-
-// --- Menu Item Definitions
-
-resource rMenuItem (Undo_Menu_Item, $C018) {
- $00FA, // itemID
- "Z","z", // itemChar, itemAltChar
- NIL, // itemCheck
- $8040, // itemFlag
- Undo_pString // itemTitleRef
-};
-
-resource rMenuItem (Cut_Menu_Item, $C018) {
- $00FB, // itemID
- "X","x", // itemChar, itemAltChar
- NIL, // itemCheck
- $8000, // itemFlag
- Cut_pString // itemTitleRef
-};
-
-resource rMenuItem (Copy_Menu_Item, $C018) {
- $00FC, // itemID
- "C","c", // itemChar, itemAltChar
- NIL, // itemCheck
- $8000, // itemFlag
- Copy_pString // itemTitleRef
-};
-
-resource rMenuItem (Paste_Menu_Item, $C018) {
- $00FD, // itemID
- "V","v", // itemChar, itemAltChar
- NIL, // itemCheck
- $8000, // itemFlag
- Paste_pString // itemTitleRef
-};
-
-resource rMenuItem (Clear_Menu_Item, $C018) {
- $00FE, // itemID
- "","", // itemChar, itemAltChar
- NIL, // itemCheck
- $8000, // itemFlag
- Clear_pString // itemTitleRef
-};
-
-resource rMenuItem (Close_Menu_Item, $C018) {
- $00FF, // itemID
- "W","w", // itemChar, itemAltChar
- NIL, // itemCheck
- $8080, // itemFlag
- Close_pString // itemTitleRef
-};
-
-resource rMenuItem (About_Menu_Item, $0018) {
- $0100, // itemID
- "","", // itemChar, itemAltChar
- NIL, // itemCheck
- $8040, // itemFlag
- About_pString // itemTitleRef
-};
-
-resource rMenuItem (Quit_Menu_Item, $0018) {
- $0101, // itemID
- "Q","q", // itemChar, itemAltChar
- NIL, // itemCheck
- $8000, // itemFlag
- Quit_pString // itemTitleRef
-};
-
-resource rMenuItem (New_Menu_Item, $C018) {
- $0102, // itemID
- "N","n", // itemChar, itemAltChar
- NIL, // itemCheck
- $8000, // itemFlag
- New_pString // itemTitleRef
-};
-
-resource rMenuItem (Open_Menu_Item, $0018) {
- $0103, // itemID
- "O","o", // itemChar, itemAltChar
- NIL, // itemCheck
- $8040, // itemFlag
- Open_pString // itemTitleRef
-};
-
-resource rMenuItem (Save_Menu_Item, $C018) {
- $0104, // itemID
- "S","s", // itemChar, itemAltChar
- NIL, // itemCheck
- $8080, // itemFlag
- Save_pString // itemTitleRef
-};
-
-resource rMenuItem (SaveAs_Menu_Item, $C018) {
- $0105, // itemID
- "","", // itemChar, itemAltChar
- NIL, // itemCheck
- $80C0, // itemFlag
- SaveAs_pString // itemTitleRef
-};
-
-resource rMenuItem (Page_Setup_Item, $0018) {
- $0107, // itemID
- "","", // itemChar, itemAltChar
- NIL, // itemCheck
- $8080, // itemFlag
- Page_Setup_pString // itemTitleRef
-};
-
-resource rMenuItem (Print_Item, $C018) {
- $0108, // itemID
- "P","p", // itemChar, itemAltChar
- NIL, // itemCheck
- $80C0, // itemFlag
- Print_pString // itemTitleRef
-};
-
-resource rMenuItem (Window1_Item, $C018) {
- $0109, // itemID
- "","", // itemChar, itemAltChar
- NIL, // itemCheck
- $8080, // itemFlag
- Window1_pString // itemTitleRef
-};
-
-resource rMenuItem (Window2_Item, $C018) {
- $010A, // itemID
- "","", // itemChar, itemAltChar
- NIL, // itemCheck
- $8080, // itemFlag
- Window2_pString // itemTitleRef
-};
-
-resource rMenuItem (Window3_Item, $C018) {
- $010B, // itemID
- "","", // itemChar, itemAltChar
- NIL, // itemCheck
- $8080, // itemFlag
- Window3_pString // itemTitleRef
-};
-
-resource rMenuItem (Window4_Item, $C018) {
- $010C, // itemID
- "","", // itemChar, itemAltChar
- NIL, // itemCheck
- $8080, // itemFlag
- Window4_pString // itemTitleRef
-};
-
-resource rMenuItem (Window5_Item, $C018) {
- $010D, // itemID
- "","", // itemChar, itemAltChar
- NIL, // itemCheck
- $8080, // itemFlag
- Window5_pString // itemTitleRef
-};
-
-resource rMenuItem (Word_Wrap_Item, $C018) {
- $010E, // itemID
- "","", // itemChar, itemAltChar
- $0012, // itemCheck
- $8080, // itemFlag
- Word_Wrap_pString // itemTitleRef
-};
-
-resource rMenuItem (Choose_Font_Item, $C018) {
- $010F, // itemID
- "F","f", // itemChar, itemAltChar
- NIL, // itemCheck
- $8080, // itemFlag
- Choose_Font_pString // itemTitleRef
-};
-
-// --- Window Templates
-
-resource rWindParam1 (Text_Window, $0000) {
- $C1A0, // plFrame (frame bits)
- Text_Window_Title, // plTitle (title ID)
- $00000000, // plRefCon
- { 0, 0, 0, 0}, // plZoomRect
- Text_Window_wColor, // plColorTable
- {$0000, $0000}, // plYOrigin, plXOrigin
- {$0000, $0000}, // plDataHeight, plDataWidth
- {$0000, $0000}, // plMaxHeight, plMaxWidth
- {$0000, $0000}, // plVerScroll, plHorScroll
- {$0000, $0000}, // plVerPage, plHorPage
- $00000000, // plInfoText (info RefCon)
- $0000, // plInfoHeight
- { 27, 24,197,614}, // plPosition
- infront, // plPlane
- Text_Edit_Control, // plControlList
- $0A02 // plInDesc
-};
-
-// --- Window Color Templates
-
-resource rWindColor (Text_Window_wColor, $0000) {
- $0000, // frameColor
- $0F00, // titleColor
- $0207, // tBarColor
- $F0FF, // growColor
- $F0F0 // infoColor
-};
-
-// --- Tool Startup Table Templates
-
-resource rToolStartup (Tool_Startup_Table, $0000) {
- $C080, { // videoMode
- 3, $0300, // Miscellaneous Tools
- 4, $0301, // QuickDraw II
- 5, $0302, // Desk Manager
- 6, $0300, // Event Manager
- 11, $0200, // Integer Math
- 14, $0301, // Window Manager
- 15, $0301, // Menu Manager
- 16, $0301, // Control Manager
- 18, $0301, // QuickDraw II Aux.
- 19, $0300, // Print Manager
- 20, $0301, // LineEdit Tools
- 21, $0301, // Dialog Manager
- 22, $0300, // Scrap Manager
- 23, $0301, // Standard File Tools
- 27, $0301, // Font Manager
- 28, $0301, // List Manager
- 30, $0100, // Resource Manager
- 34, $0101 // TextEdit Manager
- }
-};
-
-// --- rAlertString Templates
-
-resource rAlertString (Printing_Alert, $0000) {
- "53~A Printing Error Has Occurred!~^#6"
- "\$00"
-};
-
-resource rAlertString (Tool_Error_Alert, $0000) {
- "54~Tool Error *0 Has Occurred at *1!~^#6"
- "\$00"
-};
-
-resource rAlertString (Save_Alert, $0000) {
- "23~"
- "\$0D"
- " Save Changes?~#1~#3~^#2"
- "\$00"
-};
-
-// --- rText Templates
-
-resource rText (Window_Text, $0000) {
- " "
-};
-
+ END OF ARCHIVE
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads