MENU
====  

    User should be aware that when leaving GUI, it DOES NOT PROMPT to save the job.
    To avoid losing the job, user should not forget to save it.

    If user would like to be sure that all parts of project and project itself are saved,
    \Project\Save All can be used.

    Starting "New" project, schema, or source,
    does not save default New names automatically and does not change preferences.

    If you started "NewProject", but do not like to save it with this name, 
    project should be saved first with chosen name, 
    and then project elements like schema or source. 
    (Saving schema first, automatically saves project with existing name.)


    \Run ... resets Compi,
             processes loaded Schema and Source from screen to screen, 
             but if no source-text on screen, attempts to run source from disk to screen;

    \Go  ... resets Compi,
             processes Schema and Source from hard drive to hard drive.

    Project refers to its parts (schema and source) by relative file names, so
    if all three are in the same folder, folder can be moved as a hole without
    breaking the structure of project. May be except the calse when schema includes
    relative links to files outside of the folder.

    Output to console window is automatically duplicated to file console.txt.
    Hence, direct typing on console has no effect on console.txt.
    When S2S starts, former console.txt is erased.

THE BEST FONT     to view Schema should be Courier New, size 9.
SCREEN RESOLUTION recommended is not less than 1048*768 with small fonts.
                  Use \Start\Settings\Control Panel\Display.
LANDSCAPE         printer settins are recommended to pring schemas.





MENU DETAILS
============

   General note: \New or \Open Project or Schema resets Compi. \New Source - does not.

   \Project

           any action except \New saves prefrences with current project name.
           any action except \Save All does not save any project elements.
           action \Save All saves all project element and project itself.

	   \New      - opens the new Project and new Schema for work. When work is finished, to save it
		       with default names, use \Save. To assign your own names, "Save As" Project first
		       and "Save As" Schema second.
		       Certainly, you can add Source to the new project also using \Source menu tree.
		       Please note, that every time when you \Save (As) Schema or Source, Project is
                       saved also.	
                      
	   \Open     - loads existing project and Schema and Source belonging to this project.
	   \Save     - save name of Project, of Schema and Source.
	   \Save AS  - the same as \Save, but you can select a name for Project.
           \Save All - the same as \Save plus files' content will be saved.


   \Schema or
   \Source
           \Open, \Save (As), and \Exclude  refreshes and saves project.

           \Run      - executes currently loaded file.  
                       COMPILER IS NOT RESET before run.
                       Execution result will not be saved into a file, 
                       but will be displayed in RESULT box.

	   \Exclude  - Excludes current Schema from Project. 

        
   \Run              - RESETS COMPILER and runs \Schema\Run and then \Source\Run.
   \Go               - RESETS COMPILER and runs Schema and Source from hard drive.
		       Creates a twin-tree "RESULT_FILES" under the 
                       SCHEMA PARENT FOLDER and SOURCE PARENT FOLDER correspondingly
                       where executed files will be put during execution.
   \Step             - active only during Compiler-Suspended state.
   \Stop             - stops project and sets GUI in Edit mode. COMPILER IS RESET.
		       If you need to see Compi's states during execution, suspend it.		
                       

   \Control            Most options are obvious.
	  
	   \Run without reset  - the same as Run, but without resetting Compi.
      	   \Suspend 	       - presets suspend condition, so user may compile Schema and/or
                                 Source step by step by clicking menu\Step and watch steps
                                 if "Debug" is set.
           \Debug 	       - allows to debug schema and/or source; can be preset before running;
           \Resetting Compiler - recreates Compi to his initial state;




WORK WITH BINRY FILES.
=====================

Script2Script automatically assumes that file is binary if S2S finds

  1) char(0)
  2) not-coupled char(13); not-coupled means that char(13) is not followed by char(10);


When S2S displays binary files, then this characters escaped as follows:

  char( 0) --> ^z
  char(13) --> ^r
  char(10) --> ^n

where "^" is an escape character.

Escaping affects only display of a file, but not real file content.

User can escape more characters, and this may be useful to see part of 
text in hexadecimal form. Click on button "hex" to add more characters to
be escaped. If character X is escaped as ^xy,  then it can be added into
text by entering ^xy or X (except case char(0), char(10), and char(13)).

If characters char(10) or char(13) are escaped, then 
  1. their images - combinations ^r^n or not-coupled ^r, ^n are always 
     followed by char(13)char(10) couple for nice layout;
  2. char(13)char(10) couple is transparent in this case and
     does not affect real text contents.

User can choose another escape characters.



TEXT EDITOR
===========

 Shortcuts:

   Ctrl + (KeyUp)Home     --> editor goes to the begining of file
   Ctrl + (KeyUp)End      --> end of file
   Ctrl + (KeyUp)PageUP   --> beginning of fragment
   Ctrl + (KeyUp)PageDown --> end of fragment 
   Ctr+Home and Ctrl+End  --> beginning of document and end of document

 Text fragmentation:
   
   Schema, source, result texts large than 15K bytes
   are exposed only partilly in text box with about 15K limit.

   Although Visual Basic documentation claims that text
   boxes can be any size, it appears that boxes 
   30K and large can cause "Out of memory" message.

   User can change this restriction in menu\Project\Text Box Size Limit.

   For fragmented texts, PageDown, PageUp may be pushed twice to
   move to the next fragment.
  


MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
ADVANCED DETAILS
mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

REPRESENTATION OF Project/sc/so_MasterNames 
===========================================

This information 
  may help GUI developer and 
  user to edit project files manually.

Project/sc/so_MasterNames 

      represented in GUI internally as absolute paths or empty strings.
      represented (=saved) in external (Preferences.txt,*.prj) files 
                  as relative, absolute, or empty.

      Project attempted to be saved as relative to Application Path.
      sc/so   attempted to be saved as relative ot Project.


proc load_Preferences
---------------------
   
   If Project_MasterName is not empty, 
   then load_Project will interpret:
      so/sc_MasterName  - relative(preferrably), absolute, or empty.

During internal operations, proc gui_DisplayNames
-------------------------------------------------
   displays file names on GUI Control Frame preferrably in relative format.


Versions s2s GUI before Revision 19 had:
----------------------------------------
  ProjectText:
    schema=SchemaFile
    source=SourceFile
  Which are names relative to AppPath

  Now, it is:
  ProjectText:
    schema =SchemaFile
    source =SourceFile

  Which are names relative to Project