Apple II
Technical Notes
_____________________________________________________________________________
                                                  Developer Technical Support

Apple IIgs
#92:    Twisted Tales of TextEdit

Written by:    C.K. Haun <TR> and Dave Lyons                   September 1990

This Technical Note discusses some undocumented features and some bugs in the 
TextEdit tool set through System Software 5.0.3.
_____________________________________________________________________________


TEInsert

Using the TEInsert call on an invisible TextEdit record causes the screen to 
scroll, exactly as if the TextEdit record were visible.

If you use LETextBox2 style text as input for a TEInsert call, any style 
change information contained at the end of the LETextBox2 text is ignored.  To 
ensure that the style change is not ignored, append an additional character at 
the end of the block, then delete (with TESetSelect and TEDelete) the extra 
character after the TEInsert call.


TEGetText

The documentation for TEGetText says that a dataFormat value of $4 returns the 
text as "Formatted for input to LineEdit LETextBox2".  This is not a reliable 
return method--this call may or may not succeed.  Greater chance for success 
occurs with less than 4,000 characters in the TextEdit record.


TEClick

Using TEClick or TestControl on an inactive record currently causes that 
record to activate.


TERuler

Pixel tabbing values must all be greater than zero or TextEdit loops 
infinitely on a tab.


TEGetRuler & TESetRuler

TERuler, for the default ruler or any ruler that uses a tabType value of $1 
returns a ruler four bytes longer than described in the documentation.  The 
extra four bytes are all $FF, and they are the terminator characters for 
tabType $2 rulers.  Expand your buffers by four bytes to prevent overwriting 
any data.  TextEdit also expects the additional information on a TESetRuler 
call, so you should pad your ruler with four $FF bytes if you are using a type 
$1 ruler.


TESetText 

Passing a zero-length class one input string (a word length string with the 
word set to zero) to TESetText causes TextEdit to crash.


TEPaintText

TEPaintText currently prints colored text in only four colors.


Further Reference
_____________________________________________________________________________
  o  Apple IIgs Toolbox Reference, Volume 3

