@DATABASE "SuperTED V2.5 AmigaGuide® Documentation"
@REMARK $VER: SuperTED.guide 2.5 (23.6.96)
@NODE MAIN "SuperTED v2.5"

                              @{b}@{u}SuperTED v2.5@{ub}@{uu}


                            ©1996 Acid Software

                      Written by Red When Excited Ltd
                   Sold under license from Acid Software


	        	     @{"Introduction    " link INTRODUCTION}
			     @{"Requirements    " link REQUIREMENTS}
			     @{"Features        " link FEATURES}

			     @{"Foreign Users   " link FOREIGN}

			     @{"Red When Excited" link RWE}

@ENDNODE MAIN

@NODE INTRODUCTION "Introduction to SuperTED"

                               @{b}@{u}Introduction@{ub}@{uu}

SuperTED V2.5 is an update to the integrated text editor, TED, which is
supplied as part of the Blitz Basic 2 package.

The old version of TED (OldTed) had some problems :

		·	Hardware Level Blitter Usage
		·	Would not work on graphics cards
		·	Non-standard Cut/Copy/Paste
		·	Dated preferences requester
		·	Awkward file requesters
		·	Painfully slow at saving
		·	Restricted to 2 preset fonts
		·	1.3 look Menus

SuperTED will work stand-alone (eg, without Blitz 2) but it is a bit
of a waste of time - you should realy use CygnusEd or GoldEd for
writing your C or Assembler!

This version of SuperTED has been upgraded from the original assembler
source provided by Acid Software, but significant portions of the
program have been re-written or added.

The basic operation is the same, but we have added many useful @{"features" link FEATURES}
which will prove to be a great help.

Blitz Basic 2 and the OldTED were written by Mark Sibly and is published
by Acid Software.

SuperTED v2.5 was developed by Red When Excited Ltd, based upon the
original TED v1.1 source code.

@ENDNODE INTRODUCTION


@NODE REQUIREMENTS "What you need"

                               @{b}@{u}Requirements@{ub}@{uu}

SuperTED requires an Amiga with Kickstart/Workbench V2.04 or higher.

SuperTed has been tested on :

		A1200 with Blizzard 1230 Turbo MkII@50Mhz
		A4000/040 with PicolloSD64 Graphics Card
		A500+ with 1Mb RAM
		A1200 with Amitek Hawk RAM board (4Mb)

@ENDNODE REQUIREMENTS

@NODE FEATURES "Features"

                               @{b}@{u}Main Features@{ub}@{uu}

			     @{"Preferences        " link PREFS}
			     @{"Public Screen      " link PUBSCREEN}
			     @{"ARexx Port         " link AREXX}
			     @{"Multiple Documents " link MULTIPLEDOCS}
			     @{"Document History   " link LASTSAVED}
			     @{"Custom Menu        " link CUSTOMMENU}
			     @{"StartUp Folder     " link STARTUP}
			     @{"Mouseable Labels   " link MOUSEABLE}

                           Developer Information

			          ted.library	- see ted.doc
			          ted_lib.fd	- see FD:ted_lib.fd

@ENDNODE FEATURES

@NODE STARTUP "The StartUp Folder"

                              @{b}@{u}StartUp Folder@{ub}@{uu}

SuperTED v2.5 will scan a folder upon startup and execute every file inside
(excluding .info files).

The folder which is scanned is @{b}@{i}Blitz2:StartUp/SuperTED@{ub}@{ui}

Just place any programs you wished to be executed automatically each time
you load SuperTED, inside this folder.


*********** Do NOT put Blitz2 or SuperTED inside this folder, otherwise
! WARNING ! you will have infinite copies of Blitz2/SuperTED loading ad infinitum
*********** (increasing ad infinitum)

Before any progams are executed, SuperTED will set some environment
variables which your program can access (see the @{"LaunchClock" system "more Blitz2:StartUp/SuperTED/LaunchClock"} script
for an example of this) :-

	TEDSCREEN		- the name of SuperTEDs @{"public screen" link PUBSCREEN} (if any)
	TEDSPORT		- the name of SuperTEDs @{"ARexx" link AREXX} port (if any)

@ENDNODE

@NODE AREXX "The AREXX Port"

                              @{b}@{u}The ARexx Port@{ub}@{uu}

This program has an ARexx port. The AREXX port name defaults to TED_REXX1.
If this port exists, SuperTED tries TED_REXX2 and so on upto TED_REXX9.

Using this port you can send SuperTED a large number of commands, enabling
you to control the features of SuperTED from another program or from
an ARexx script. 

For example, the REDHelp system uses the ARexx port of the various
applications in the Blitz Support Suite.

To send a message to the ARexx port from the CLI you use the rx command
(located in SYS:Rexxc/).  This command accepts a command line such as :

	rx 'address "TED_REXX1" ABOUT'

			 |        |
			 |        |
		    Arexx port  Function
		    to send to  to send

If using Blitz2 you can send and receive ARexx commands by using the
RIARexxLib, which is part of the REDBlitzLibs V5.  Please see the
documentation for this library for information about its commands.

See @{" ARexx Commands " link AREXXLIST} for a full ARexx command list.

IMPORTANT:
You need RexxMast running (which should be on your system disk inside the
system drawer) before you can use SuperTEDs ARexx features.

@ENDNODE AREXX

@NODE AREXXLIST "The AREXX Commands"

                @{b}@{u}ARexx Commands Supported By SuperTED v2.5@{ub}@{uu}

			      @{"ABOUT        " link REXX_ABOUT}
			      @{"VERSION      " link REXX_VERSION}

			      @{"NUMLINES     " link REXX_NUMLINES}

			      @{"REDRAW       " link REXX_REDRAW}
			      @{"HIDESCREEN   " link REXX_HIDESCREEN}
			      @{"SHOWSCREEEN  " link REXX_SHOWSCREEN}
			      @{"ICONIFY      " link REXX_ICONIFY}
			      @{"ACTIVATE     " link REXX_ACTIVATE}
			      @{"SCREENNAME   " link REXX_SCREENNAME}

			      @{"GETDOCLIST   " link REXX_GETDOCLIST}
			      @{"PREVDOC      " link REXX_PREVDOC}
			      @{"NEXTDOC      " link REXX_NEXTDOC}
			      @{"GOTODOC      " link REXX_GOTODOC}
			      @{"DOCLIST      " link REXX_DOCLIST}

			      @{"TOPLINE      " link REXX_TOPLINE}
			      @{"BOTTOMLINE   " link REXX_BOTTOMLINE}
			      @{"PREVLINE     " link REXX_PREVLINE}
			      @{"NEXTLINE     " link REXX_GETLINE}
			      @{"GETLINE      " link REXX_GETLINE}

			      @{"LOAD         " link REXX_LOAD}
			      @{"LOADNEW      " link REXX_LOADNEW}
			      @{"SAVE         " link REXX_SAVE}
			      @{"COMPILE      " link REXX_COMPILE}
			      @{"RUN          " link REXX_RUN}
			      @{"PRINT        " link REXX_PRINT}
			      @{"CUT          " link REXX_CUT}
			      @{"COPY         " link REXX_COPY}
			      @{"PASTE        " link REXX_PASTE}

			      @{"RELOADMENUS  " link REXX_RELOADMENUS}
			      @{"GETWORD      " link REXX_GETWORD}
			      @{"HELP         " link REXX_HELP}
			      @{"HELPTEXT     " link REXX_HELPTEXT}
			      @{"LIBGUIDE     " link REXX_LIBGUIDE}

			      @{"REMEMBERME   " link REXX_REMEMBERME}
			      @{"FORGETME     " link REXX_FORGETME}

			      @{"WINDOWPOS    " link REXX_WINDOWPOS}
			      @{"WINDOWSHORTEN" link REXX_WINDOWSHORTEN}


@ENDNODE AREXXLIST

@NODE REXX_ABOUT "ABOUT"

                                   @{b}@{u}ABOUT@{ub}@{uu}

The @{b}ABOUT@{ub} command instructs SuperTED to bring up the ABOUT requester

@ENDNODE REXX_ABOUT

@NODE REXX_GETDOCLIST "GETDOCLIST"

                                @{b}@{u}GETDOCLIST@{ub}@{uu}

@{b}GETDOCLIST@{ub} returns the address of the first document in memory.

For example, if the variable @{b}ad.l@{ub} is the result of @{b}GETDOCLIST@{ub},
then :

	document pathname		=	Peek$(ad+30)
	document filename		=	Peek$(ad+222)
	address of next document	=	Peek.l(ad)
	address of previous document	=	Peek.l(ad+4)
	current document ID		=	Peek.l(ad+8)
	number of lines			=	Peek.w(ad+28)
	address of first line		=	Peek.l(ad+16)
	address of last line		=	Peek.l(ad+20)
	address of current line		=	Peek.l(ad+24)

@ENDNODE REXX_GETDOCLIST


@NODE REXX_PREVDOC "PREVDOC"

                                  @{b}@{u}PREVDOC@{ub}@{uu}

@{b}PREVDOC@{ub} instructs SuperTED to move to the previous document.

@ENDNODE REXX_PREVDOC

@NODE REXX_NEXTDOC "NEXTDOC"

                                  @{b}@{u}NEXTDOC@{ub}@{uu}

@{b}NEXTDOC@{ub} instructs SuperTED to move the the next document.

@ENDNODE REXX_NEXTDOC

@NODE REXX_GOTODOC "GOTODOC"

                                  @{b}@{u}GOTODOC@{ub}@{uu}

@{b}GOTODOC@{ub} instructs SuperTED to move the document which as nth in the
document list. 0=first document.

@ENDNODE REXX_GOTODOC

@NODE REXX_DOCLIST "DOCLIST"
                                  @{b}@{u}DOCLIST@{ub}@{uu}

The command @{b}DOCLIST@{ub} will bring up the Document List selection window.
This command will not return until the user has closed the window.

@ENDNODE REXX_DOCLIST

@NODE REXX_NUMLINES "NUMLINES"

                                 @{b}@{u}NUMLINES@{ub}@{uu}

@{b}NUMLINES@{ub} returns the number of lines in the current document

@ENDNODE REXX_NUMLINES

@NODE REXX_VERSION "VERSION"

                                 @{b}@{u}VERSION@{ub}@{uu}

@{b}VERSION@{ub} returns the version of SuperTED (eg '2.5')

@ENDNODE REXX_VERSION

@NODE REXX_TOPLINE "TOPLINE"

                                  @{b}@{u}TOPLINE@{ub}@{uu}

@{b}TOPLINE@{ub} sets the AREXX line pointer to the first line in the current
document. This does not actually move the cursor on SuperTED's screen to this
line, but moves an internal pointer.

@ENDNODE REXX_TOPLINE

@NODE REXX_BOTTOMLINE "BOTTOMLINE"

                                @{b}@{u}BOTTOMLINE@{ub}@{uu}

@{b}BOTTOMLINE@{ub} sets the AREXX line pointer to the last line in the current
document. This does not actually move the cursor on SuperTED's screen to this
line, but moves an internal pointer.

@ENDNODE REXX_BOTTOMLINE

@NODE REXX_PREVLINE "PREVLINE"

                                 @{b}@{u}PREVLINE@{ub}@{uu}

@{b}PREVLINE@{ub} moves the AREXX line pointer back one line. This does not
move the cursor on SuperTED's screen, but moves an internal pointer.

@ENDNODE REXX_PREVLINE


@NODE REXX_NEXTLINE "NEXTLINE"

                                 @{b}@{u}NEXTLINE@{ub}@{uu}

@{b}NEXTLINE@{ub} moves the AREXX line pointer forward one line. This does not
move the cursor on SuperTED's screen, but moves an internal pointer.

@ENDNODE REXX_NEXTLINE

@NODE REXX_GETLINE "GETLINE"

                                  @{b}@{u}GETLINE@{ub}@{uu}

@{b}GETLINE@{ub} retrieves the line of text that the AREXX line pointer is at.
The text returned is detokenised.

@ENDNODE REXX_GETLINE


@NODE REXX_REDRAW "REDRAW"

                                  @{b}@{u}REDRAW@{ub}@{uu}

@{b}REDRAW@{ub} forces SuperTED to refresh the display. This will result
in the current page of text to be redrawn and the mouseable label list
to be refreshed.

@ENDNODE REXX_REDRAW

@NODE REXX_HIDESCREEN "HIDESCREEN"

                                @{b}@{u}HIDESCREEN@{ub}@{uu}

@{b}HIDESCREEN@{ub} will tell SuperTED to push its screen to the back, so it
is not visible.

@ENDNODE REXX_HIDESCREEN


@NODE REXX_SHOWSCREEN "SHOWSCREEN"

                                @{b}@{u}SHOWSCREEN@{ub}@{uu}

@{b}SHOWSCREEN@{ub} will tell SuperTED to bring its screen to the front, so it
will become visible.

@ENDNODE REXX_SHOWSCREEN

@NODE REXX_ICONIFY "ICONIFY"

                                  @{b}@{u}ICONIFY@{ub}@{uu}

@{b}ICONIFY@{ub} will close SuperTED's screen and add an item to Workbench's
@{b}Tools...@{ub} menu. SuperTED will not re-open until the Tools... menu
item is selected.

@ENDNODE REXX_ICONIFY

@NODE REXX_ACTIVATE "ACTIVATE"

                                 @{b}@{u}ACTIVATE@{ub}@{uu}

@{b}ACTIVATE@{ub} will ensure that the text-editing area is activated.

@ENDNODE REXX_ACTIVATE


@NODE REXX_SCREENNAME "SCREENNAME"

                                @{b}@{u}SCREENNAME@{ub}@{uu}

@{b}SCREENNAME@{ub} will return the name of SuperTED's public screen. If the
@{"Public Screen" link PUBSCREEN} option is disabled then an empty string is returned.

@ENDNODE REXX_SCREENNAME

@NODE REXX_NEW "NEW"

                                    @{b}@{u}NEW@{ub}@{uu}

Issuing the command @{b}NEW@{ub} will result in a new document being opened.

@ENDNODE REXX_NEW

@NODE REXX_LOAD "LOAD"

                             @{b}@{u}LOAD [filename$]@{ub}@{uu}

The command @{b}LOAD@{ub} will load @{i}filename$@{ui} into the @{b}current document@{ub}.
If there are any unsaved changes to the current document, the user will be asked
for confirmaton.

If @{i}filename$@{ui} is not specified, SuperTED will open a file requester prompting
the user to select a file to load.

@ENDNODE REXX_LOAD

@NODE REXX_LOADNEW "LOADNEW"

                                  @{b}@{u}LOADNEW@{ub}@{uu}

@{b}LOADNEW@{ub} performs the same function as @{"LOAD" link REXX_LOAD} except that a
new empty document is opened before the file is loaded in.

@ENDNODE REXX_LOADNEW

@NODE REXX_SAVE "SAVE"

                             @{b}@{u}SAVE [filename$]@{ub}@{uu}

The command @{b}SAVE@{ub} will save the @{b}current document@{ub} as @{i}filename$@{ui}.

If @{i}filename$@{ui} is not specified, SuperTED will open a file requester prompting
the user to select a name to save as.

@ENDNODE REXX_SAVE

@NODE REXX_COMPILE "COMPILE"

                                  @{b}@{u}COMPILE@{ub}@{uu}

Surprisingly, @{b}COMPILE@{ub} will result in the currently loaded program
to be compiled (and executed). This is the same as selecting 'Compile & Run...'
from the compiler menu.

@ENDNODE REXX_COMPILE

@NODE REXX_RUN "RUN"

                                    @{b}@{u}RUN@{ub}@{uu}

The command @{b}RUN@{ub} will execute the last compiled program. This is
the same as selecting 'Run...' from the Compiler menu.

@ENDNODE REXX_RUN

@NODE REXX_PRINT "PRINT"

                                   @{b}@{u}PRINT@{ub}@{uu}

@{b}PRINT@{ub} will print the current document. This is the same as selecting
'Print...' from the Project menu.

@ENDNODE REXX_PRINT

@NODE REXX_CUT "CUT"

                                    @{b}@{u}CUT@{ub}@{uu}

@{b}CUT@{ub} will cut the currently selected block to the clipboard. This
is the same as selecting 'Cut' from the Edit menu.

@ENDNODE REXX_CUT

@NODE REXX_COPY "COPY"

                                   @{b}@{u}COPY@{ub}@{uu}

@{b}COPY@{ub} will copy the currently selected block to the clipboard. This
is the same as selecting 'Copy' from the Edit menu.

@ENDNODE REXX_COPY

@NODE REXX_PASTE "PASTE"

                                   @{b}@{u}PASTE@{ub}@{uu}

@{b}PASTE@{ub} will paste the contents of the clipboard (unit 0) to the
current document. This is the same as selecting 'Paste' from the Edit menu.

@ENDNODE REXX_PASTE

@NODE REXX_RELOADMENUS "RELOADMENUS"

                                @{b}@{u}RELOADMENUS@{ub}@{uu}

@{b}RELOADMENUS@{ub} will instruct SuperTED to re-load the custom menu file
(ENV:Ted.menus) and alter the 'Customs menu accordingly.

@ENDNODE REXX_RELOADMENUS

@NODE REXX_GETWORD "GETWORD"

                                  @{b}@{u}GETWORD@{ub}@{uu}

@{b}GETWORD@{ub} will return the current word under the cursor. The text
is detokenised.

@ENDNODE REXX_GETWORD

@NODE REXX_HELP "HELP"

                                   @{b}@{u}HELP@{ub}@{uu}

@{b}HELP@{ub} will display the standard help line on SuperTED's screen title.
This is the same as pushing the HELP key.

@ENDNODE REXX_HELP

@NODE REXX_HELPTEXT "HELPTEXT"

                                 @{b}@{u}HELPTEXT@{ub}@{uu}

@{b}HELPTEXT@{ub} will return the standard line of help text associated with
each Blitz command.

@ENDNODE REXX_HELPTEXT

@NODE REXX_LIBGUIDE "LIBGUIDE"

                                 @{b}@{u}LIBGUIDE@{ub}@{uu}

@{b}LIBGUIDE@{ub} will return the path to the online-help text associated
with the command under the cursor. This is obtained from the file
Blitz2:REDHelp/REDHelp.dat

@ENDNODE REXX_LIBGUIDE

@NODE REXX_REMEMBERME "REMEMBERME"

                                @{b}@{u}REMEMBERME@{ub}@{uu}

@{b}REMEMBERME@{ub} is for use with external programs, rather than AREXX scripts.
Issuing this command will mean your program will receive a message whenever it
needs to close its window (for example when SuperTED needs to close its screen).
or when it should quit (when SuperTED is exiting for example)

If you open a window on SuperTED's screen, you MUST ask to be added to
the list of running applications which should be sent a message, otherwise
SuperTED will not be able to close its screen when necessary.

Your program will be sent the messages :

		· CLOSEWINDOW		when it must close its window
		· OPENWINDOW		when it is ok to re-open its window
		· QUITPLEASE		when it must exit

If you receive the message CLOSEWINDOW or OPENWINDOW, your program should reply
to the message AFTER it has performed its action (either closed its window,
opened its window).

If you receive the message QUITPLEASE, your program should reply to the message
AFTER it has closed its window, but should not send the @{"FORGETME" link REXX_FORGETME}
message back to SuperTED.

@ENDNODE REXX_REMEMBERME

@NODE REXX_FORGETME "FORGETME"

                                 @{b}@{u}FORGETME@{ub}@{uu}

@{b}FORGETME@{ub} is for use with external programs, rather than AREXX scrips.
Issuing this command will man your program will not receive any more messages
whenever it needs to close its window. For instance, if a user exits your
program (but not by exiting SuperTED) you should tell SuperTED that you
are no longer running so that it no longer needs to worry about telling
you to quit/close/open window.

If your application has been given the message 'QUITPLEASE' from SuperTED
you should NOT send a FORGETME message back.

@ENDNODE REXX_FORGETME

@NODE PUBSCREEN "Public Screen..."

                               @{b}@{u}Public Screen@{ub}@{uu}

SuperTED v2.5 allows you to make its Screen 'PUBLIC'. This means that the many
Public Screen aware programs (eg, CygnusED, KingCON + more) can open
Windows onto SuperTED's screen (check out @{"TEDDock" link Blitz2:REDHelp/SuperTED/TEDDock.GUIDE/MAIN} for an example of this).

The Public Screen name is SuperTED1. If SuperTED1 is already open,
SuperTED tries to use SuperTED2, and so on (upto SuperTED9).

If you try and quit SuperTED whilst another program has a window open
on it, a requester will pop up reminding you to close any open windows.

@ENDNODE PUBSCREEN

@NODE LASTSAVED "Quickly Retrieve Commonly Used Files"

                               @{b}@{u}SAVE HISTORY@{ub}@{uu}

SuperTED v2.5 can remember the last 5 files which were saved.
These are added to the Project... menu (beneath Quit All) and are in
chronological order of saving.

Each time you save a file or quit SuperTED, the file ENVARC:Ted.history
is updated. When SuperTED runs, it looks in ENV:Ted.history to read the
file.

Selecting one of these 5 files will OVERWRITE the current document,
(if the current document has unsaved changes however, a requester will
pop-up asking for confirmation)

If a save slot is empty ('Unnamed...'), SuperTED will prompt you for a file, 
and store that filename into the corresponding slot.

When you save a file, SuperTED will push that filename to the top of the list.
If the file was already in the list, it simply shuffles everything above the
entry down one. If the file is not on the list, all items are shuffled down
one item, and the 5th item will be forgotten

If a slot is empty and you try to save a file which is not already in the list,
the empty slot is used.

@ENDNODE LASTSAVED

@NODE PREFS "All New Preferences"

                                @{b}@{u}PREFERENCES@{ub}@{uu}

SuperTed uses the file ENVARC:TED.prefs to hold current preferences.
To bring up the prefs requester, select the Prefs..item from the Project
menu.

If you are running Workbench 3 or higher, click @{"here" link Blitz2:REDHelp/SuperTED/Preferences.IFF/MAIN} to see the
preferences requester (click on Retrace to return to this screen)

	@{"Use WB Pal              " link PREFS_USEWBPAL}
	@{"Tokenise                " link PREFS_TOKENISE}
	@{"Clone WB                " link PREFS_CLONEWB}
	@{"Create Icons            " link PREFS_CREATEICONS}
	@{"Auto Indent             " link PREFS_AUTOINDENT}
	@{"File Patterns           " link PREFS_FILEPATTERNS}
	@{"R                       " link PREFS_R}
	@{"G                       " link PREFS_G}
	@{"B                       " link PREFS_B}
	@{"Choose Font             " link PREFS_CHOOSEFONT}
	@{"Screen Mode             " link PREFS_SCREENMODE}
	@{"Load Palette            " link PREFS_LOADPALETTE}
	@{"Text                    " link PREFS_TEXT}
	@{"Token                   " link PREFS_TOKEN}
	@{"Label Size              " link PREFS_LABELSIZE}
	@{"ASL Dimensions          " link PREFS_ASLDIMENSIONS}
	@{"X                       " link PREFS_X}
	@{"Y                       " link PREFS_Y}
	@{"Width                   " link PREFS_HEIGHT}
	@{"Height                  " link PREFS_HEIGHT}
	@{"Tab Size                " link PREFS_TABSIZE}
	@{"Public Screen           " link PREFS_PUBLICSCREEN}
	@{"Remember Saved          " link PREFS_REMEMBERSAVED}
	@{"Reset Window Dimensions " link PREFS_RESETWINDOW}
	@{"Startup Folder          " link PREFS_STARTUPFOLDER}
	@{"Save                    " link PREFS_SAVE}
	@{"Use                     " link PREFS_USE}
	@{"Cancel                  " link PREFS_CANCEL}

If you are running WB2.04, you will find that the @{"Screen Mode" link PREFS_SCREENMODE}
and @{"Choose Font" link PREFS_CHOOSEFONT} will not be present. Instead you will find
gadgets in which to enter the screen mode details and font details
manually.

@ENDNODE PREFS

@NODE PREFS_USEWBPAL "Use WB Pal Option"

With this box ticked, SuperTED will use the same palette as used by the
Workbench screen. If it is disabled, it will use the customized palette,
as shown by the 4 areas of colour at the top centre of the requester.
Use the @{"R" link PREFS_R}ed, @{"G" link PREFS_G}reen and @{"B" link PREFS_B}lue
sliders to adjust the colour palette.

@ENDNODE PREFS_USEWBPAL

@NODE PREFS_CLONEWB "Clone WB Option"

With this bocked ticked, SuperTED will open its screen in exactly the same
format as that used by the Workbench screen (width,height,depth,modeID etc).
If this option is disabled, the screen mode chosen from the @{"Screen Mode" link PREFS_SCREENMODE}
button will be used.

@ENDNODE PREFS_CLONEWB

@NODE PREFS_AUTOINDENT "Auto Indent Option"

Auto Indent is useful when you are writing structured code. It works like this:

When you push return after editing a line, ordinarily, the cursor is moved down
one line and it appears on the left. With Auto Indent ON, the cursor is still
moved down one line, but it appears directly underneath the first character
on the line above it.

eg. (#=Cursor,  |=Left hand column of page)

    Before Pressing Return	    After Pressing Return

|				|
| If a=5			| If a=5
|   NPrint "Hello"#	-->	|   NPrint "Hello"
|				|   #

@ENDNODE PREFS_AUTOINDENT

@NODE PREFS_FILEPATTERNS "File Patterns Option"

File patterns are a way to stop unwanted files from being shown inside a file
requester. For instance, when you wish to load a file, you aren't going to
want to load a file that ends in '.info' (since those are icons) or a file
that ends in '.xtra' (since those are settings files for Blitz source code).

When File patterns are enabled, the file requester only shows files which
match the pattern in the 'Pattern' field.

The default pattern for loading is :	~(#?.info|#?.xtra)

The ~ means 'everything except'
The # means '0 or more of the following character'
The ? means 'any character'
The | means 'OR ....'

So the pattern means :	everything except anything that ends in '.info' OR
					  anything that ends in '.info' OR

For instance, if you only wanted to show files ending in '.bb' you would
set the pattern to be:   #?.bb

If you wanted everything EXCEPT those that end in .bb you would set the
pattern to be:   ~(#?.bb)

@ENDNODE PREFS_FILEPATTERNS

@NODE PREFS_ASLDIMENSIONS "ASL Dimensions Option"

The file requesters use a standard Amiga library called ASL.
When this option enabled, you can force the position and size of the ASL file
requesters. If it is disabled, the ASL library will use its own defaults
(which are usually at the top left of the screen and 1/4 of the screen's width
 and 1/4 of the screen's height) 

When the option is enabled, the value in @{"X" link PREFS_X} are taken as the left
co-ordinate, the value in @{"Y" link PREFS_Y} are taken as the top co-ordinate, the
value in @{"Width" link PREFS_WIDTH} is taken as the width of the requester and
the value in @{"Height" link PREFS_HEIGHT} taken as the height of the requester.

@ENDNODE PREFS_ASLDIMENSIONS

@NODE PREFS_X "X Option"

                                     @{u}@{b}X@{uu}@{ub}

This gadget allows you to set the left-hand co-ordinate that the ASL
requesters will open at.

@ENDNODE PREFS_X

@NODE PREFS_Y "Y Option"

                                     @{u}@{b}Y@{uu}@{ub}

This gadget allows you to set the top co-ordinate that the ASL requesters
will open at.

@ENDNODE PREFS_Y

@NODE PREFS_Width "Width Option"

                                   @{u}@{b}Width@{uu}@{ub}

This gadget allows you to set the width of the ASL requesters.

@ENDNODE PREFS_Width

@NODE PREFS_Height "Height Option"

                                  @{u}@{b}Height@{uu}@{ub}

This gadget allows you to set the height of the ASL requesters.

@ENDNODE PREFS_Height

@NODE PREFS_PublicScreen "PublicScreen Option"

                               @{u}@{b}PublicScreen@{uu}@{ub}

With this gadgt ticked, SuperTED will open its screen as a @{"Public Screen" link PUBSCREEN}.
This is necessary to allow other programs (such as REDHelp to open windows on
SuperTED's screen. If this option is unticked, then no program can legally open
its window on SuperTED's screen. This option must be enabled if you wish to use
REDHelp.

@ENDNODE PREFS_PublicScreen

@NODE PREFS_ResetWindow "Reset Window Option"

                          @{b}@{u}Reset Window Dimensions@{ub}@{uu}

This program will (if the SAVE or USE button is hit) reset SuperTED's main editing
windows to their default position.

@ENDNODE PREFS_ResetWindow

@NODE PREFS_Tokenise "Tokenise Option"

                                 @{u}@{b}Tokenise@{uu}@{ub}

Blitz 2 treats keywords as 'Token's. These are special characters which are
recognized as separate from standard ASCII characters. The Tokenise option allows
you to switch off tokenisation. For instance, when importing a large ASCII
file you might not want to be converted to tokens automatically. With this
option ticked, Blitz commands will look like and are treated the same as
standard non-Blitz words.

@ENDNODE PREFS_Tokenise

@NODE PREFS_CreateIcons "CreateIcons Option"

                                @{u}@{b}CreateIcons@{uu}@{ub}

This option allows you to determine whether SuperTED will create an icon file
when you save your source code. With the box ticked, SuperTED will create
a '.info' file with every source code program you save. If the box is unticked,
no '.info' file is created.

@ENDNODE PREFS_CreateIcons

@NODE PREFS_R "R Option"

                                     @{u}@{b}R@{uu}@{ub}

This slider allows you to alter the amount of Red that is present in the
currently selected colour.

@ENDNODE PREFS_R

@NODE PREFS_G "G Option"

                                     @{u}@{b}G@{uu}@{ub}
This slider allows you to alter the amount of Green that is present in the
currently selected colour.

@ENDNODE PREFS_G

@NODE PREFS_B "B Option"

                                     @{u}@{b}B@{uu}@{ub}
This slider allows you to alter the amount of Blue that is present in the
currently selected colour.

@ENDNODE PREFS_B

@NODE PREFS_ChooseFont "ChooseFont Option"

                                @{u}@{b}ChooseFont@{uu}@{ub}

This button allows you to choose which font SuperTED should use for rendering
text. The font must be a maximum of 8 characters wide and should be
proportional (each character takes up the same number of pixels)

This option is only available if you are running Workbench v2.1 or higher.
If you are running an earlier version, you will see two gadgets allowing
you type in the name of the font and the size of the font.

@ENDNODE PREFS_ChooseFont

@NODE PREFS_ScreenMode "ScreenMode Option"

                                @{u}@{b}ScreenMode@{uu}@{ub}
This button allows you to choose which ScreenMode SuperTED will open its screen
in. SuperTED is compatible with Graphics Cards so any display mode which is in
the OS Display Database (for instance if you are running CyberGraphX) will be
acceptable. You can also adjust the number of bitplanes that SuperTED uses.

This option is only available if you are running Workbench v2.1 or higher.
If you are running an earlier version, you will see a gadget allowing you to
type in the ModeID of the screen mode you are using. This must be entered
in DECIMAL. You will also be unable to change the depth of the screen
(it will default to 2 bitplanes)

Common values are :

	Name			     |   ModeID	  |   Std Dimensions
	-----------------------------+------------+-------------------
	PAL:High Res	             |   32768	  |   640x256
	NTSC:High Res                |   19000    |   640x200
	DBLPAL:High Res No Flicker   |   692228   |   640x512
	DBLNTSC:High Res No Flicker  |   626692   |   640x400
	MULTISCAN:Productivity	     |   233508   |   640x480

@ENDNODE PREFS_ScreenMode

@NODE PREFS_Text "Text Option"

                                   @{u}@{b}Text@{uu}@{ub}

This allows you to choose which colour SuperTED will render normal text
(non-commands) in. Select the colour you want from the selection of colours
shown.

@ENDNODE PREFS_Text

@NODE PREFS_Token "Token Option"

                                   @{u}@{b}Token@{uu}@{ub}
This allows you to choose which colour SuperTED will render tokens
(Blitz Commands) in. Select the colour you want from the selection of colours
shown.

@ENDNODE PREFS_Token

@NODE PREFS_LoadPalette "LoadPalette Option"


This feature lets you load the palette from any picture in and use those
colours. This is useful when you are using an application such as TEDDock
and wish to use the correct colour palette. This option is only active
when Use WB Pal is disabled.

@ENDNODE Prefs_LoadPalette

@NODE PREFS_LabelSize "LabelSize Option"

                                 @{u}@{b}LabelSize@{uu}@{ub}

This gadget allows you to set the size (in characters) of the area allocated to
the @{"'mouseable'" link MOUSEABLE} label list.

@ENDNODE PREFS_LabelSize

@NODE PREFS_TabSize "TabSize Option"

                                  @{u}@{b}TabSize@{uu}@{ub}

This allows you to define the size of the Tab margins. The default value is 2,
which means that SuperTED will shift text right, so that the cursor's X location
is on a multiple of 2. Setting this value to 8, will mean that SuperTED will
insert spaces until the cursor's X position is on a multiple of 8.

@ENDNODE PREFS_TabSize

@NODE PREFS_RememberSaved "RememberSaved Option"

                               @{u}@{b}RememberSaved@{uu}@{ub}

This option lets you enable or disable the @{"Document History" link LASTSAVED} functions
of SuperTED. If this option is unticked, the Document History is disabled and the
menu options will be removed from the 'Project' menu. If this option is enabled,
SuperTED will load the file ENV:ted.menus and add 5 menu options to the 'Project'
menu.

@ENDNODE PREFS_RememberSaved

@NODE PREFS_StartupFolder "StartupFolder Option"

                               @{u}@{b}StartupFolder@{uu}@{ub}

This allows you to enable or disable the @{"StartUp Folder" link STARTUPFOLDER}. If
this option is unticked the StartUp-folder process is not performed. If this
option is enabled, and you @{"Save" link PREFS_SAVE} your preferences, the next
time you load SuperTED (directly of via Blitz2) the StartUp-folder process is
invoked.

@ENDNODE PREFS_StartupFolder

@NODE PREFS_Save "Save Option"

                                   @{u}@{b}Save@{uu}@{ub}

This will save your current preference settings to ENVARC:ted.prefs (permanent)
and to ENV:ted.prefs

It will also enable any changes you have made.

@ENDNODE PREFS_Save

@NODE PREFS_Use "Use Option"

                                    @{u}@{b}Use@{uu}@{ub}
This will save you current preference settings to ENV:ted.prefs (not permanent).
You current settings will be used for this and future SuperTED sessions until
you either the power off or perform a soft reset.

@ENDNODE PREFS_Use

@NODE PREFS_Cancel "Cancel Option"

                                  @{u}@{b}Cancel@{uu}@{ub}

This will make SuperTED ignore any changes to your settings since you brought
up the preferences requester. All settings will revert back to their original
values (eg before the preferences requester was invoked)

@ENDNODE PREFS_Cancel

@NODE FOREIGN "Umlauts"

                               @{b}@{u}Foreign Users@{ub}@{uu}

If your language has characters additional to the English A-Z,
you will find that any 'umlauts',for example Ë and Ü
will not be accepted by SuperTED. This is due to the fact
that all characters with ASCII values of 128 or higher
are treated as tokens (Blitz commands) and will not be displayed
correctly. At present, nothing can be done to avoid this.

A few of the more command characters are handled, and at present I am
compiling a list of umlauts that need to be handled, and these will be
available in the next upgrade.

@ENDNODE FOREIGN

@NODE MULTIPLEDOCS "Memory Saving"

                            @{b}@{u}Multiple Documents@{ub}@{uu}

SuperTED allows you to have more than one source file loaded at a time.
This means you just need 1 copy of Blitz Basic to be loaded, which can
save a considerable amount of memory.

To use this feature, select Open New... from the Project menu. You will
then be presented with an empty document.

The keys F9 and F10 are used to navigate between the various loaded
files. F9 sends you back one document, F10 sends you forward one.
If you are at the first document and push F9, you will go to the
last document. Similarly, if you at the last document and push F10, you
will go to the first document.


Selecting List.. from the Edit menu (or pushing Amiga'+') will bring
up a window containing a list of current documents loaded. Click on the document
you wish to jump to and click the 'Show' button. If you dont want to jump
to a document, click the closegadget in the topleft corner of the window

                                  @{b}@{u}Caveats@{ub}@{uu}

The .xtra files associated with source code files are handled by a function
inside Blitz 2 itself and not SuperTED. So, if you loaded a file, then opened
a new file and loaded some source into that, the first document would
lose all its Compiler Options information. SuperTED creates some temporary
files in T: to get around this problem. The files are only around 1k per
document loaded and they are deleted when you close the document. So
if you see some files like TED_0E950D4A  *DONT* delete them.

@ENDNODE MULTIPLEDOCS

@NODE MOUSEABLE "Mouseable Label List"

                         @{b}@{u}The Mouseable Label List@{ub}@{uu}

SuperTED is almost unique in its ability to maintain a list of easy-accessible
list of program labels. This handy feature is designed to allow the programmer
to navigate round the source code quickly and easily, by being able to jump
to a specific label without having to plough through hundreds of lines of code.

The mouseable label list is activated as soon as you preceed a labelname with
a '.'

If this was the first label that had a full stop preceeding it, SuperTED
will adjust the window dimensions to accomodate the label list. The size that
SuperTED will allocate to the label list is defined in the @{"LabelSize" link PREFS_LabelSize}
option in the @{"Preferences" link PREFS} window. If you already had mouseable
labels defined, SuperTED will just add it to the list (in order of position
in the source code).

To jump straight to a label shown in the mouseable label list, simply move the
mouse pointer over the label's name (on the right hand area of screen) and
click the left mouse button.

@ENDNODE MOUSEABLE

@NODE RWE "Red When Excited"

                      @{b}@{u}How To Contact Red When Excited@{ub}@{uu}


Write to:                   Red When Excited Ltd,
                            2 Slimmons Drive,
                            St. Albans,
                            Herts.
                            AL4 9AS.
                            ENGLAND.

If you have Internet access, you can e-mail us :

                      redwhen@ldngedge.demon.co.uk

or point your browser at our WorldWide Web page :

                   http://www.aber.ac.uk/~ngh94/rwe.html

@ENDNODE RWE

@NODE CUSTOMMENU "The Custom Menu"

                                @{b}@{u}Custom Menu@{ub}@{uu}

SuperTED allows the programmer to add their own menu items to a specially
created menu called the 'Custom Menu'. This menu is maintained by using the
supplied @{"Menu Editor" link Blitz2:REDHelp/SuperTED/MenuED.Guide/MAIN}. Please
read the supplied documentation for instructions on its usage.

@ENDNODE CUSTOMMENU

