/* Copyright (c) Xerox Corporation 1993. All rights reserved. */

#ifndef tiogatxt←DEFINED
#define tiogatxt←DEFINED 1
 
#include <class.h>
/* 
 * This file was generated by the Andrew class system preprocessor.
 * Don't make changes to this file as it is created from tiogatxt.ch and will be
 * overwritten.  Make changes to tiogatxt.ch instead.
 */ 
 
/* 
 * The following information was copied, as-is, from tiogatxt.ch.
 */ 
 
/* tiogatxt.ch -- Text subclass that can read Tioga files.
   David Nichols
   December, 1990 */

struct tiogatxt←Run {
    long looks;			/* bitmap of looks */
    long start;			/* start position */
    long len;			/* length */
};

struct tiogatxt←Env {
    struct environment *env;	/* current environment */
    struct environment *env2;	/* wrapped around env, maybe */
    long pos;			/* where to start it */
    int comment;		/* is this node a comment? */
};

#define tiogatxt←NUMLOOKS	26






/* 
 * End of information copied from tiogatxt.ch.
 */ 
 
/* 
 * Include the superclass information
 */ 
#define dontDefineRoutinesFor←text
#include "text.ih"
#undef dontDefineRoutinesFor←text

 
 
/* 
 * Data structure for tiogatxt 
 */ 
struct tiogatxt { 
    union {
	struct basicobject←methods *tiogatxt←methods;
	struct observable observable;
	struct dataobject dataobject;
	struct simpletext simpletext;
	struct text text;
    } header;
    char *reader;		/* saved tread←Reader */
    struct tiogatxt←Run *runs;	/* saved runs during reading */
    int nRuns;			/* number of them */
    int nAllocedRuns;		/* space for them */
    struct tiogatxt←Env *envs;	/* stacked envs during reading */
    int nEnvs;			/* number of them */
    int nAllocedEnvs;		/* space for them */
    struct style *topStyle;	/* special top-level style */
    struct style *lookTable[tiogatxt←NUMLOOKS];	/* cached looks for reading */

};

 
/* 
 * End of data structure for tiogatxt.
 */ 
 


#ifndef tiogatxt←PROGRAMMERVERSION
#define tiogatxt←PROGRAMMERVERSION 1
#endif /* tiogatxt←PROGRAMMERVERSION */

#ifdef tiogatxt←VERSION
#undef tiogatxt←VERSION
#endif /* tiogatxt←VERSION */
#define tiogatxt←VERSION ((((tiogatxt←PROGRAMMERVERSION << 16) ↑ (69 << 8) ↑ sizeof(struct tiogatxt)) & 0x7ffff) + 0x80000 + (0 << 20))

#define tiogatxt←StaticLoadOnlyThisClass()  \
{ extern struct classinfo *tiogatxt←←GetClassInfo(); \
  (void) class←EnterInfo(NULL, tiogatxt←classheader.name, tiogatxt←←GetClassInfo, NULL, tiogatxt←classheader.namekey); } 
 
#define tiogatxt←StaticLoad()  \
    { \
    text←StaticLoad(); \
    tiogatxt←StaticLoadOnlyThisClass();  \
    } 
 
#define tiogatxt←StaticEntry  {tiogatxt←StaticLoad()} 
 
static struct classheader tiogatxt←classheader = {
    tiogatxt←VERSION,
    "tiogatxt",
    "tiogatxt",
    (struct basicobject←methods *) &class←RoutineStruct,
};


#endif /* tiogatxt←DEFINED */

#if !defined(tiogatxt←ROUTINESDEFINED) && !defined(dontDefineRoutinesFor←tiogatxt) && !defined(class←StaticEntriesOnly)
#define tiogatxt←ROUTINESDEFINED

#define tiogatxt←AddObserver(self,observer) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[0]))) (self,observer))
#define tiogatxt←RemoveObserver(self,observer) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[1]))) (self,observer))
#define tiogatxt←NotifyObservers(self,value) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[2]))) (self,value))
#define tiogatxt←ObservedChanged(self,changed,value) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[3]))) (self,changed,value))
#define tiogatxt←AddRecipient(self,trigger,rcvr,func,rock) \
    ((* ((boolean (*)())((self)->header.tiogatxt←methods->routines[4]))) (self,trigger,rcvr,func,rock))
#define tiogatxt←DeleteRecipient(self,trigger,rcvr) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[5]))) (self,trigger,rcvr))
#define tiogatxt←PullTrigger(self,trigger) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[6]))) (self,trigger))
#define tiogatxt←DisableTrigger(self,trigger) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[7]))) (self,trigger))
#define tiogatxt←EnableTrigger(self,trigger) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[8]))) (self,trigger))
#define tiogatxt←DisableCount(self,trigger) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[9]))) (self,trigger))
#define tiogatxt←Read(self,file,id) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[10]))) (self,file,id))
#define tiogatxt←Write(self,file,writeid,level) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[11]))) (self,file,writeid,level))
#define tiogatxt←GetModified(self) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[12]))) (self))
#define tiogatxt←SetModified(self) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[13]))) (self))
#define tiogatxt←ViewName(self) \
    ((* ((char * (*)())((self)->header.tiogatxt←methods->routines[14]))) (self))
#define tiogatxt←SetAttributes(self,attributes) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[15]))) (self,attributes))
#define tiogatxt←Put(self,property,type,rock) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[16]))) (self,property,type,rock))
#define tiogatxt←Get(self,property,type,rock) \
    ((* ((short (*)())((self)->header.tiogatxt←methods->routines[17]))) (self,property,type,rock))
#define tiogatxt←ListCurrentViews(self,array,size) \
    ((* ((int (*)())((self)->header.tiogatxt←methods->routines[18]))) (self,array,size))
#define tiogatxt←RestoreModified(self,oldmodified) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[19]))) (self,oldmodified))
#define tiogatxt←UniqueID(self) \
 ((long)((&(self)->header.dataobject)))
#define tiogatxt←GetWriteID(self) \
 ( ((&(self)->header.dataobject))->writeID )
#define tiogatxt←SetWriteID(self,newValue) \
 ( (((&(self)->header.dataobject))->writeID) = (newValue) )
#define tiogatxt←GetID(self) \
      ( ((&(self)->header.dataobject))->id )
#define tiogatxt←SetID(self,newValue) \
      ( (((&(self)->header.dataobject))->id) = (newValue) )
#define tiogatxt←CreateMark(self,pos,length) \
    ((* ((struct mark * (*)())((self)->header.tiogatxt←methods->routines[20]))) (self,pos,length))
#define tiogatxt←RemoveMark(self,mark) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[21]))) (self,mark))
#define tiogatxt←SetReadOnly(self,readOnly) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[22]))) (self,readOnly))
#define tiogatxt←GetReadOnly(self) \
    ((* ((boolean (*)())((self)->header.tiogatxt←methods->routines[23]))) (self))
#define tiogatxt←RegionModified(self,pos,len) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[24]))) (self,pos,len))
#define tiogatxt←LengthChanged(self,pos,len) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[25]))) (self,pos,len))
#define tiogatxt←Clear(self) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[26]))) (self))
#define tiogatxt←InsertCharacters(self,pos,str,len) \
    ((* ((boolean (*)())((self)->header.tiogatxt←methods->routines[27]))) (self,pos,str,len))
#define tiogatxt←AlwaysInsertCharacters(self,position,string,size) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[28]))) (self,position,string,size))
#define tiogatxt←AddInCharacter(self,pos,c) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[29]))) (self,pos,c))
#define tiogatxt←DeleteCharacters(self,pos,len) \
    ((* ((boolean (*)())((self)->header.tiogatxt←methods->routines[30]))) (self,pos,len))
#define tiogatxt←AlwaysDeleteCharacters(self,position,size) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[31]))) (self,position,size))
#define tiogatxt←ReplaceCharacters(self,pos,len,repStr,repLen) \
    ((* ((boolean (*)())((self)->header.tiogatxt←methods->routines[32]))) (self,pos,len,repStr,repLen))
#define tiogatxt←AlwaysReplaceCharacters(self,pos,len,repStr,repLen) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[33]))) (self,pos,len,repStr,repLen))
#define tiogatxt←GetLength(self) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[34]))) (self))
#define tiogatxt←GetChar(self,pos) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[35]))) (self,pos))
#define tiogatxt←GetBuf(self,pos,len,lenp) \
    ((* ((char * (*)())((self)->header.tiogatxt←methods->routines[36]))) (self,pos,len,lenp))
#define tiogatxt←GetBufEnd(self,endpos,len,lenp) \
    ((* ((char * (*)())((self)->header.tiogatxt←methods->routines[37]))) (self,endpos,len,lenp))
#define tiogatxt←GetGap(self,pos,len) \
    ((* ((char * (*)())((self)->header.tiogatxt←methods->routines[38]))) (self,pos,len))
#define tiogatxt←GetPosForLine(self,line) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[39]))) (self,line))
#define tiogatxt←GetLineForPos(self,pos) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[40]))) (self,pos))
#define tiogatxt←GetBeginningOfLine(self,pos) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[41]))) (self,pos))
#define tiogatxt←GetEndOfLine(self,pos) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[42]))) (self,pos))
#define tiogatxt←CopyText(self,pos,srctext,srcpos,len) \
    ((* ((boolean (*)())((self)->header.tiogatxt←methods->routines[43]))) (self,pos,srctext,srcpos,len))
#define tiogatxt←AlwaysCopyText(self,pos,srctext,srcpos,len) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[44]))) (self,pos,srctext,srcpos,len))
#define tiogatxt←Index(self,pos,c,len) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[45]))) (self,pos,c,len))
#define tiogatxt←Strncmp(self,pos,str,len) \
    ((* ((int (*)())((self)->header.tiogatxt←methods->routines[46]))) (self,pos,str,len))
#define tiogatxt←Textncmp(self,pos,text,pos2,len) \
    ((* ((int (*)())((self)->header.tiogatxt←methods->routines[47]))) (self,pos,text,pos2,len))
#define tiogatxt←ReadSubString(self,pos,file,quoteCharacters) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[48]))) (self,pos,file,quoteCharacters))
#define tiogatxt←WriteSubString(self,pos,len,file,quoteCharacters) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[49]))) (self,pos,len,file,quoteCharacters))
#define tiogatxt←CopySubString(self,pos,len,buf,quoteCharacters) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[50]))) (self,pos,len,buf,quoteCharacters))
#define tiogatxt←HandleDataObject(self,pos,dop,file) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[51]))) (self,pos,dop,file))
#define tiogatxt←HandleKeyWord(self,pos,keyword,file) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[52]))) (self,pos,keyword,file))
#define tiogatxt←HandleCloseBrace(self,pos,file) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[53]))) (self,pos,file))
#define tiogatxt←HandleBegindata(self,pos,file) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[54]))) (self,pos,file))
#define tiogatxt←GetFence(self) \
 mark←GetLength(((&(self)->header.simpletext))->fence)
#define tiogatxt←SetFence(self,pos) \
 mark←SetLength(((&(self)->header.simpletext))->fence, pos)
#define tiogatxt←ClearFence(self) \
 mark←SetLength(((&(self)->header.simpletext))->fence, 0L)
#define tiogatxt←GetFenceMark(self) \
 (((&(self)->header.simpletext))->fence)
#define tiogatxt←GetObjectInsertionFlag(self) \
 (((&(self)->header.simpletext))->objectInsertionAllowed)
#define tiogatxt←SetObjectInsertionFlag(self,flag) \
 (((&(self)->header.simpletext))->objectInsertionAllowed = (flag))
#define tiogatxt←InsertObject(self,pos,name,viewname) \
    ((* ((struct viewref * (*)())((self)->header.tiogatxt←methods->routines[55]))) (self,pos,name,viewname))
#define tiogatxt←AddStyle(self,pos,len,style) \
    ((* ((struct environment * (*)())((self)->header.tiogatxt←methods->routines[56]))) (self,pos,len,style))
#define tiogatxt←AddView(self,pos,viewtype,dataobject) \
    ((* ((struct environment * (*)())((self)->header.tiogatxt←methods->routines[57]))) (self,pos,viewtype,dataobject))
#define tiogatxt←AlwaysAddStyle(self,pos,len,style) \
    ((* ((struct environment * (*)())((self)->header.tiogatxt←methods->routines[58]))) (self,pos,len,style))
#define tiogatxt←AlwaysAddView(self,pos,viewtype,dataobject) \
    ((* ((struct environment * (*)())((self)->header.tiogatxt←methods->routines[59]))) (self,pos,viewtype,dataobject))
#define tiogatxt←SetEnvironmentStyle(self,envptr,styleptr) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[60]))) (self,envptr,styleptr))
#define tiogatxt←SetGlobalStyle(self,styleptr) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[61]))) (self,styleptr))
#define tiogatxt←GetGlobalStyle(self) \
    ((* ((struct style * (*)())((self)->header.tiogatxt←methods->routines[62]))) (self))
#define tiogatxt←ReadTemplate(self,templateName,inserttemplatetext) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[63]))) (self,templateName,inserttemplatetext))
#define tiogatxt←FindViewreference(self,pos,len) \
    ((* ((struct viewref * (*)())((self)->header.tiogatxt←methods->routines[64]))) (self,pos,len))
#define tiogatxt←AlwaysInsertFile(self,file,filename,position) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[65]))) (self,file,filename,position))
#define tiogatxt←InsertFile(self,file,filename,position) \
    ((* ((long (*)())((self)->header.tiogatxt←methods->routines[66]))) (self,file,filename,position))
#define tiogatxt←ClearCompletely(self) \
    ((* ((void (*)())((self)->header.tiogatxt←methods->routines[67]))) (self))
#define tiogatxt←EnumerateEnvironments(self,pos,len,callBack,rock) \
    ((* ((struct environment * (*)())((self)->header.tiogatxt←methods->routines[68]))) (self,pos,len,callBack,rock))
#define tiogatxt←SetExportEnvironments(self,val) \
 ((&(self)->header.text)->exportEnvs = val)
#define tiogatxt←GetExportEnvironments(self) \
 ((&(self)->header.text)->exportEnvs)
#define tiogatxt←GetStyleSheet(self) \
 ((&(self)->header.text)->styleSheet)
#define tiogatxt←SetWriteAsText(self,TorF) \
  (((&(self)->header.text))->WriteAsText = TorF)
#define tiogatxt←GetWriteAsText(self) \
  (((&(self)->header.text))->WriteAsText)
#define tiogatxt←SetCopyAsText(self,TorF) \
  (((&(self)->header.text))->CopyAsText = TorF)
#define tiogatxt←GetCopyAsText(self) \
  (((&(self)->header.text))->CopyAsText)
#define tiogatxt←GetWriteStyle(self) \
 (((&(self)->header.text))->writeStyle)
#define tiogatxt←SetWriteStyle(self,style) \
 (((&(self)->header.text))->writeStyle = style)

#define tiogatxt←NewFromObject(self) \
    ((* ((struct tiogatxt * (*)())((self)->header.tiogatxt←methods->info->procs->routines[0]))) (&tiogatxt←classheader, (self)->header.tiogatxt←methods->info->versionnumber))
#define tiogatxt←New() \
    (tiogatxt←←New(NULL, tiogatxt←VERSION))
#define tiogatxt←Initialize(self) \
    (tiogatxt←←Initialize(NULL, self, tiogatxt←VERSION))

#define tiogatxt←Destroy(self) \
    ((* ((void (*)()) ((self)->header.tiogatxt←methods->info->procs->routines[1]))) (&tiogatxt←classheader, self))
#define tiogatxt←Finalize(self) \
    (tiogatxt←←Finalize(NULL, self))



#endif /* !defined(tiogatxt←ROUTINESDEFINED) && !defined(dontDefineRoutinesFor←tiogatxt ) && !defined(class←StaticEntriesOnly)*/

#define super←AddObserver(self,observer)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[0]))) (self,observer))
#define super←RemoveObserver(self,observer)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[1]))) (self,observer))
#define super←NotifyObservers(self,value)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[2]))) (self,value))
#define super←ObservedChanged(self,changed,value)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[3]))) (self,changed,value))
#define super←AddRecipient(self,trigger,rcvr,func,rock)  \
    ((* ((boolean (*)()) (tiogatxt←supermethods->routines[4]))) (self,trigger,rcvr,func,rock))
#define super←DeleteRecipient(self,trigger,rcvr)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[5]))) (self,trigger,rcvr))
#define super←PullTrigger(self,trigger)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[6]))) (self,trigger))
#define super←DisableTrigger(self,trigger)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[7]))) (self,trigger))
#define super←EnableTrigger(self,trigger)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[8]))) (self,trigger))
#define super←DisableCount(self,trigger)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[9]))) (self,trigger))
#define super←Read(self,file,id)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[10]))) (self,file,id))
#define super←Write(self,file,writeid,level)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[11]))) (self,file,writeid,level))
#define super←GetModified(self)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[12]))) (self))
#define super←SetModified(self)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[13]))) (self))
#define super←ViewName(self)  \
    ((* ((char * (*)()) (tiogatxt←supermethods->routines[14]))) (self))
#define super←SetAttributes(self,attributes)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[15]))) (self,attributes))
#define super←Put(self,property,type,rock)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[16]))) (self,property,type,rock))
#define super←Get(self,property,type,rock)  \
    ((* ((short (*)()) (tiogatxt←supermethods->routines[17]))) (self,property,type,rock))
#define super←ListCurrentViews(self,array,size)  \
    ((* ((int (*)()) (tiogatxt←supermethods->routines[18]))) (self,array,size))
#define super←RestoreModified(self,oldmodified)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[19]))) (self,oldmodified))
#define super←UniqueID(self)  \
	   text←UniqueID((struct text *)self)
#define super←GetWriteID(self)  \
	   text←GetWriteID((struct text *)self)
#define super←SetWriteID(self,newValue)  \
	   text←SetWriteID((struct text *)self,newValue)
#define super←GetID(self)  \
	   text←GetID((struct text *)self)
#define super←SetID(self,newValue)  \
	   text←SetID((struct text *)self,newValue)
#define super←CreateMark(self,pos,length)  \
    ((* ((struct mark * (*)()) (tiogatxt←supermethods->routines[20]))) (self,pos,length))
#define super←RemoveMark(self,mark)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[21]))) (self,mark))
#define super←SetReadOnly(self,readOnly)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[22]))) (self,readOnly))
#define super←GetReadOnly(self)  \
    ((* ((boolean (*)()) (tiogatxt←supermethods->routines[23]))) (self))
#define super←RegionModified(self,pos,len)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[24]))) (self,pos,len))
#define super←LengthChanged(self,pos,len)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[25]))) (self,pos,len))
#define super←Clear(self)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[26]))) (self))
#define super←InsertCharacters(self,pos,str,len)  \
    ((* ((boolean (*)()) (tiogatxt←supermethods->routines[27]))) (self,pos,str,len))
#define super←AlwaysInsertCharacters(self,position,string,size)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[28]))) (self,position,string,size))
#define super←AddInCharacter(self,pos,c)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[29]))) (self,pos,c))
#define super←DeleteCharacters(self,pos,len)  \
    ((* ((boolean (*)()) (tiogatxt←supermethods->routines[30]))) (self,pos,len))
#define super←AlwaysDeleteCharacters(self,position,size)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[31]))) (self,position,size))
#define super←ReplaceCharacters(self,pos,len,repStr,repLen)  \
    ((* ((boolean (*)()) (tiogatxt←supermethods->routines[32]))) (self,pos,len,repStr,repLen))
#define super←AlwaysReplaceCharacters(self,pos,len,repStr,repLen)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[33]))) (self,pos,len,repStr,repLen))
#define super←GetLength(self)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[34]))) (self))
#define super←GetChar(self,pos)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[35]))) (self,pos))
#define super←GetBuf(self,pos,len,lenp)  \
    ((* ((char * (*)()) (tiogatxt←supermethods->routines[36]))) (self,pos,len,lenp))
#define super←GetBufEnd(self,endpos,len,lenp)  \
    ((* ((char * (*)()) (tiogatxt←supermethods->routines[37]))) (self,endpos,len,lenp))
#define super←GetGap(self,pos,len)  \
    ((* ((char * (*)()) (tiogatxt←supermethods->routines[38]))) (self,pos,len))
#define super←GetPosForLine(self,line)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[39]))) (self,line))
#define super←GetLineForPos(self,pos)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[40]))) (self,pos))
#define super←GetBeginningOfLine(self,pos)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[41]))) (self,pos))
#define super←GetEndOfLine(self,pos)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[42]))) (self,pos))
#define super←CopyText(self,pos,srctext,srcpos,len)  \
    ((* ((boolean (*)()) (tiogatxt←supermethods->routines[43]))) (self,pos,srctext,srcpos,len))
#define super←AlwaysCopyText(self,pos,srctext,srcpos,len)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[44]))) (self,pos,srctext,srcpos,len))
#define super←Index(self,pos,c,len)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[45]))) (self,pos,c,len))
#define super←Strncmp(self,pos,str,len)  \
    ((* ((int (*)()) (tiogatxt←supermethods->routines[46]))) (self,pos,str,len))
#define super←Textncmp(self,pos,text,pos2,len)  \
    ((* ((int (*)()) (tiogatxt←supermethods->routines[47]))) (self,pos,text,pos2,len))
#define super←ReadSubString(self,pos,file,quoteCharacters)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[48]))) (self,pos,file,quoteCharacters))
#define super←WriteSubString(self,pos,len,file,quoteCharacters)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[49]))) (self,pos,len,file,quoteCharacters))
#define super←CopySubString(self,pos,len,buf,quoteCharacters)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[50]))) (self,pos,len,buf,quoteCharacters))
#define super←HandleDataObject(self,pos,dop,file)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[51]))) (self,pos,dop,file))
#define super←HandleKeyWord(self,pos,keyword,file)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[52]))) (self,pos,keyword,file))
#define super←HandleCloseBrace(self,pos,file)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[53]))) (self,pos,file))
#define super←HandleBegindata(self,pos,file)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[54]))) (self,pos,file))
#define super←GetFence(self)  \
	   text←GetFence((struct text *)self)
#define super←SetFence(self,pos)  \
	   text←SetFence((struct text *)self,pos)
#define super←ClearFence(self)  \
	   text←ClearFence((struct text *)self)
#define super←GetFenceMark(self)  \
	   text←GetFenceMark((struct text *)self)
#define super←GetObjectInsertionFlag(self)  \
	   text←GetObjectInsertionFlag((struct text *)self)
#define super←SetObjectInsertionFlag(self,flag)  \
	   text←SetObjectInsertionFlag((struct text *)self,flag)
#define super←InsertObject(self,pos,name,viewname)  \
    ((* ((struct viewref * (*)()) (tiogatxt←supermethods->routines[55]))) (self,pos,name,viewname))
#define super←AddStyle(self,pos,len,style)  \
    ((* ((struct environment * (*)()) (tiogatxt←supermethods->routines[56]))) (self,pos,len,style))
#define super←AddView(self,pos,viewtype,dataobject)  \
    ((* ((struct environment * (*)()) (tiogatxt←supermethods->routines[57]))) (self,pos,viewtype,dataobject))
#define super←AlwaysAddStyle(self,pos,len,style)  \
    ((* ((struct environment * (*)()) (tiogatxt←supermethods->routines[58]))) (self,pos,len,style))
#define super←AlwaysAddView(self,pos,viewtype,dataobject)  \
    ((* ((struct environment * (*)()) (tiogatxt←supermethods->routines[59]))) (self,pos,viewtype,dataobject))
#define super←SetEnvironmentStyle(self,envptr,styleptr)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[60]))) (self,envptr,styleptr))
#define super←SetGlobalStyle(self,styleptr)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[61]))) (self,styleptr))
#define super←GetGlobalStyle(self)  \
    ((* ((struct style * (*)()) (tiogatxt←supermethods->routines[62]))) (self))
#define super←ReadTemplate(self,templateName,inserttemplatetext)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[63]))) (self,templateName,inserttemplatetext))
#define super←FindViewreference(self,pos,len)  \
    ((* ((struct viewref * (*)()) (tiogatxt←supermethods->routines[64]))) (self,pos,len))
#define super←AlwaysInsertFile(self,file,filename,position)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[65]))) (self,file,filename,position))
#define super←InsertFile(self,file,filename,position)  \
    ((* ((long (*)()) (tiogatxt←supermethods->routines[66]))) (self,file,filename,position))
#define super←ClearCompletely(self)  \
    ((* ((void (*)()) (tiogatxt←supermethods->routines[67]))) (self))
#define super←EnumerateEnvironments(self,pos,len,callBack,rock)  \
    ((* ((struct environment * (*)()) (tiogatxt←supermethods->routines[68]))) (self,pos,len,callBack,rock))
#define super←SetExportEnvironments(self,val)  \
	   text←SetExportEnvironments((struct text *)self,val)
#define super←GetExportEnvironments(self)  \
	   text←GetExportEnvironments((struct text *)self)
#define super←GetStyleSheet(self)  \
	   text←GetStyleSheet((struct text *)self)
#define super←SetWriteAsText(self,TorF)  \
	   text←SetWriteAsText((struct text *)self,TorF)
#define super←GetWriteAsText(self)  \
	   text←GetWriteAsText((struct text *)self)
#define super←SetCopyAsText(self,TorF)  \
	   text←SetCopyAsText((struct text *)self,TorF)
#define super←GetCopyAsText(self)  \
	   text←GetCopyAsText((struct text *)self)
#define super←GetWriteStyle(self)  \
	   text←GetWriteStyle((struct text *)self)
#define super←SetWriteStyle(self,style)  \
	   text←SetWriteStyle((struct text *)self,style)

extern struct basicobject←methods *tiogatxt←supermethods;

#ifndef AUXMODULE

struct basicobject←methods *tiogatxt←supermethods;

struct tiogatxt←methods {
    struct classinfo *info;
    long (*routines[69])();
};

struct tiogatxt←classprocedures {
    struct classinfo *info;
    long (*routines[4])();
};

long tiogatxt←←Read();
long tiogatxt←←Write();
char * tiogatxt←←ViewName();
void tiogatxt←←SetAttributes();

static struct tiogatxt←methods tiogatxt←methodtable = {
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    (long (*)()) tiogatxt←←Read,
    (long (*)()) tiogatxt←←Write,
    NULL,
    NULL,
    (long (*)()) tiogatxt←←ViewName,
    (long (*)()) tiogatxt←←SetAttributes,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL
};

struct tiogatxt *tiogatxt←←New();
void tiogatxt←←Destroy();
boolean tiogatxt←←Initialize();
void tiogatxt←←Finalize();
boolean tiogatxt←←InitializeObject();

static struct tiogatxt←classprocedures tiogatxt←classproceduretable = {
    NULL,
    (long (*)()) tiogatxt←←New,
    (long (*)()) tiogatxt←←Destroy,
    (long (*)()) tiogatxt←←Initialize,
    (long (*)()) tiogatxt←←Finalize
};


static struct classinfo tiogatxt←classinfo = {
    (struct basicobject←methods *) &tiogatxt←methodtable,
    (struct basicobject←methods *) &tiogatxt←classproceduretable,
    "tiogatxt",
    "tiogatxt",
    tiogatxt←VERSION,
    "text",
    "text",
    NULL,
    NULL,
    &tiogatxt←classheader,
    NULL,
    0
};

static int classinitialized = FALSE;

boolean tiogatxt←←Initialize(classID, self, versionnumber)
struct classheader *classID;
struct tiogatxt *self;
unsigned long versionnumber;
{
    /* text←Initialize(self); */
    if(!(*((boolean (*)()) (text←classheader.classprocedures->routines[2])))(&text←classheader,self, text←VERSION))
	return FALSE;
    if (! classinitialized)  {
	classinitialized = TRUE;
	tiogatxt←supermethods =self->header.tiogatxt←methods;
	{
	    long (**p)() = &(tiogatxt←methodtable.routines[0]);
	    long (**q)() = &(self->header.tiogatxt←methods->routines[0]);
	    long i;

	    for (i = 0; i < 69; i++)  {
		if (*p == NULL)
		    *p = *q;
		p++;
		q++;
	    }
	}
	tiogatxt←classinfo.superclass = tiogatxt←supermethods->info;
	tiogatxt←methodtable.info = &tiogatxt←classinfo;
    }
    self->header.tiogatxt←methods = (struct basicobject←methods *) &tiogatxt←methodtable;
    if(!tiogatxt←←InitializeObject(classID, self)){
	/* text←Finalize(self); */
	(*((void (*)()) (text←classheader.classprocedures->routines[3])))(&text←classheader,self);
	return FALSE;
    }
    return TRUE;
}

struct tiogatxt *tiogatxt←←New(classID, versionnumber)
struct classheader *classID;
unsigned long versionnumber;
{
    struct tiogatxt *self;
    if (versionnumber != class←VERSIONNOTKNOWN && versionnumber != tiogatxt←VERSION)  {
	(void) fprintf(stderr, "Incompatible version of tiogatxt requested from %s!\n", classID->name);
    }
    self = (struct tiogatxt *) malloc (sizeof(struct tiogatxt));
    if (! self)  {
	(void) fprintf(stderr, "Could not allocate tiogatxt object!\n");
	return NULL;
    }
    if(!tiogatxt←←Initialize(classID, self, versionnumber)){
	free((char *)self);
	return NULL;
    }
    return self;
}

void tiogatxt←←Finalize(classID, self)
struct classheader *classID;
struct tiogatxt *self;
{
    /* text←Finalize(self); */
    (*((void (*)()) (text←classheader.classprocedures->routines[3])))(&text←classheader,self);
}

void tiogatxt←←Destroy(classID, self)
struct classheader *classID;
struct tiogatxt *self;
{
    tiogatxt←←Finalize(classID, self);
    free(self);
}

struct classinfo *tiogatxt←←GetClassInfo(classID, versionnumber)
struct classheader *classID;
unsigned long versionnumber;
{
    if (versionnumber != class←VERSIONNOTKNOWN && versionnumber != tiogatxt←VERSION)  {
	(void) fprintf(stderr, "Incompatible version of tiogatxt requested from %s!\n", classID->name);
    }
    tiogatxt←classproceduretable.info = &tiogatxt←classinfo;
    return &tiogatxt←classinfo;
}

/* 
 * THIS IS NEEDED BECAUSE OF THE WAY makedo WORKS.
 * HOPEFULLY, IT CAN BE REMOVED SOON.
 */ 
 
/* this patch is not needed as the class name is the same as the file name */
 
/* 
 * END OF THIS PATCH. 
 */ 
 
#endif /* AUXMODULE */