

  ----------------------------------------------

      turtleDemo - Help

  ----------------------------------------------

  This document has two sections:

  (1) How to use the demo viewer
  (2) How to add your own demos to the demo repository


  (1) How to use the demo viewer.

  Select a demoscript from the example menu.
  The (syntax coloured) source code appears in the left
  source code window. IT CANNOT BE EDITED, but ONLY VIEWED!

  - Press START button to start the demo.
  - Stop execution by pressing the STOP button.
  - Clear screen by pressing the CLEAR button.
  - Restart by pressing the START button again.

  SPECIAL demos are those which run EVENTDRIVEN.
  (For example clock.py - or oldTurtleDemo.py which
  in the end expects a mouse click.):

      Press START button to start the demo.

      - Until the EVENTLOOP is entered everything works
      as in an ordinary demo script.

      - When the EVENTLOOP is entered, you control the
      application by using the mouse and/or keys (or it's
      controlled by some timer events)
      To stop it you can and must press the STOP button.

      While the EVENTLOOP is running, the examples menu is disabled.

      - Only after having pressed the STOP button, you may
      restart it or choose another example script.

   * * * * * * * *
   In some rare situations there may occur interferences/conflicts
   between events concerning the demo script and those concerning the
   demo-viewer. (They run in the same process.) Strange behaviour may be
   the consequence and in the worst case you must close and restart the
   viewer.
   * * * * * * * *


   (2) How to add your own demos to the demo repository

   - scriptname: must begin with tdemo_ ,
     so it must have the form tdemo_<your-script-name>.py

   - place: same directory as turtleDemo.py or some
     subdirectory, the name of which must also begin with
     tdemo_.....

   - requirements on source code:
       code must contain a main() function which will
       be executed by the viewer (see provided example scripts)
       main() may return a string which will be displayed
       in the Label below the source code window (when execution
       has finished.) 

       !! For programs, which are EVENT DRIVEN, main must return
       !! the string "EVENTLOOP". This informs the viewer, that the
       !! script is still running and must be stopped by the user!

        
  
