The following are the steps to reconstruct the 'clock' application that
is built using the scriptable graph part and the timer object.

1. Ensure that the Scriptable Graph Part and the Timer Part are both
   installed as part of your OD environment.  Easiest way to check is
   to just run docshell with no parms and verify that both are in the
   list of parts.

   If needed use odinst to install the code.  There should be odz
   packages for both built.
               iodscrgp.odz  - Scriptable Graph Part
               iodtimer.odz  - Scriptable Timer Part

2. Start 'docshell' and select a  Scriptable Graph Part as the base document

3. From the OD Menu select Edit->Edit Scripts
   This will bring up the Lotus Interactive development environment where
   we will do the scripting.

4. The IDE has two 'drop-down' lists at the top.  The left one should
   have 'Graph' showing and the Right should have '(Declarations)'.
   In the left dropdown, select the '(Globals)' option.

5. From the IDE menu select File->Import and specify the path to the
   C_Global.lss file.

6. The right dropdown will now show several items.  Selecting one of those
   items will present the corresponding source code in the code window
   below the dropdown items.
       (Options)               - Global options for the application
       (Declarations)          - Global declarations for the application
       Initialize              - placeholder for global initialization routine
       Terminate               - placeholder for global termination routine
       MyInit                  - The initialization code I supplied
       Tick                    - The code to draw the clock and update it.

7. Now, use the left dropdown to select Graph

8. From the IDE menu select File->Import and specify the path to the
   C_Graph.lss file.

9. Now the right dropdown will show the code associated with the events
   on the 'Graph' object. There are a number of routines here:
       (Declarations)          - has just a comment in it.
       Initialize              - placeholder
       Menuevent               - placeholder
       Mousedown               - code to be invoked when mouse is clicked
       Partadded               - placeholder
       Partcontentsinitialized - code to be invoked after load from storage
                                 unit completes
       Partremoved             - placeholder
       Terminate               - placeholder

10.Both Partcontenstinitialized and mousedown have the same code, a call to
   the global routine 'Myinit' passing a reference to the Graph Part.

   Myinit will create the timer object and attach the routine 'Tick' to the
   timer event.  These items are done once.  The code will then always
   toggle the timer on/off.  Thus it will start/stop the clock.  The call
   from PartcontentsInitialized will invoke this code when the object has
   completed loading from the storage unit, so the clock will start
   automatically when the document is reloaded.

11.click the mouse on the grafpart to start the clock.
   Feel free to modify the application (colors, shapes of hands,
   frequency of update, add alarms, what ever you want).
   Read the code for 'Tick' that's where the most logic/options
   are located.  If you don't understand some part, let me know.

12.Other parts of the IDE that are useful and/or interesting
   A. You can setbreakpoints on any executable line of the
      code by using the menu or by clicking next the the line in the grey
      band to the left of the code window.  the 'red dot' marks a
      breakpoint. To restart use the 'Run' menu.

   B. When you are stopped, the bottom of the window will have a tab
      labeled 'variables' that lets you see the current value of the
      data objects.

   C. You can use a print statement to print out data which will show up
      in the bottom part of the window under the 'Output' tab.

   D. Selecting the 'Browser' tab makes a number of items available, selected
      using the drop down just above the tabbed area.

      LotusScript Language - shows syntax for each language element.  Note
               that the little triangle at the left is an outline indicator
               that can be clicked on to expand the outline (when it points
               to the right) or to collapse the outline (when it points
               down).

      OpenDoc Classes - shows the classes that have been defined for the
               current script environment.  The outline shows properties
               (aka SOM Attributes), methods and events (i.e. calls from the
               class object to Lotus Script Code).


