%eden

pres_fullscreen = 1;

/* slide html pages */
execute("slide1 is "//pres_parsehtml("<h1>An introduction to the EM Presentation Environment</h1>

<p>Antony Harfield</p>

<p>Last updated: 8th November 2007</p>

<p>&nbsp;

<p>Click on 'Next ->' to begin...</p>")//";");

execute("slide2 is "//pres_parsehtml("<h1>The basics</h1>

<p>The buttons along the bottom of the window (from left to right) are explained as follows:</p>

<ul>

<li>'&gt Expand' / '&lt; Hide' -- Toggles the visibility of the left panel containing the interactive display and the input box. Hide this to make the presentation full screen.</li>

<li>'Show tkeden' -- Opens the <code>tkeden</code> main input window.</li>

<li>'Copy definitions' -- Copies the slide definitions to the clipboard (which can then be saved in a file to load the presentation at a later date). Do this regularly!</li>

<li>'Quit' -- Exit the EM Presentation Environment and <code>tkeden</code>.</li>

<li>'Edit slide' / 'View slide' -- Toggle between viewing and editing the current slide.</li>

<li>'Add slide' -- Add a new slide after the current slide.</li>

<li>'Previous' -- Move to the previous slide.</li>

<li>'Next' -- Move to the next slide.</li>

</ul>")//";");

execute("slide3 is "//pres_parsehtml("<h1>Editing slides</h1>

<p>In edit slide mode, a text input box replaces the slide view in which HTML can be used to describe the slide. Basic HTML is accepted with the following additions:</p>

<ul>

<li>To include a script within a slide, use the <code>&lt;script&gt;</code> tag. Enclosing EDEN (or any other notation) code within a <code>&lt;script&gt;</code> tag will cause it to be formatted and enable it to be executed from the slide. For example:</li>
<script>mytest = 1;</script>
<li>To make a slide change dependent on observables in EDEN, use the <code>&lt;eden&gt;</code> tag. For example, if you change the value of <code>mytest</code> in EDEN then the sentence below will be maintained by dependency:</li>

<p>The current value of <code>mytest</code> is&nbsp;<eden>mytest</eden>.</p>

<li>Images (gifs) must refer to absolute paths or refer to a relative path based on the current directory (try <code>writeln(cwd());</code>). For example: <code>&lt;img src=../mypres/image.gif&gt;</code></li>

</ul>")//";");

execute("slide4 is "//pres_parsehtml("<h1>Using the input box</h1>

<p>If you click the 'Expand' button then the built-in input box will be shown at the bottom of the left-hand panel. The input box can be used to enter definitions in any notation, either by using the notation buttons (%eden, %donald and %scout) or by prefixing your script with the notation name (e.g. %aop to parse AOP scripts).</p>

<p>The input box has some keyboard shortcuts common to the <code>tkeden</code> input window:

<ul>

<li>Alt-a -- Accept the input (same as the 'Accept' button).</li>

<li>Control-UpArrow (or Control-Alt-UpArrow) -- Go back to the previous input.</li>

<li>Control-DownArrow (or Control-Alt-DownArrow) -- Go forward to the next input in the input history.</li>

</ul>")//";");

execute("slide5 is "//pres_parsehtml("<h1>Using the interactive display</h1>

<p>A model can be included in a presentation within the interactive display on the left-hand panel. The interactive panel is initially set to display DoNaLD models. It does this in a viewport called PRES. Try the following:
<script>%donald
viewport PRES
circle c
c = circle({500,500}, 200)</script>
</p>
<p>It might be useful to remove the DoNaLD label currently obscuring the circle:
<script>%donald
delete pres_initlabel</script>
")//";");

execute("slide6 is "//pres_parsehtml("<h1>Using the interactive display (2)</h1>

<p>The interactive display is actually a SCOUT display with a DoNaLD window. The SCOUT display is called <code>pres_screen</code>, and to find out how it is currently defined, try:
<script>%scout

?pres_screen;</script>
<p>If you have a model on the standard SCOUT <code>screen</code> then you can move it into the interactive display by entering:
<script>%scout

pres_screen = screen;</script>
<p>It is also possible to put other GEL models into the interactive display. For this, all that is required is to change the <code>content</code> property of <code>pres_scoutframe</code>.")//";");

execute("slide7 is "//pres_parsehtml("<h1>Other observables to explore</h1>

<p>To rearrange the order of the slides or delete slides, change the <code>pres_slides</code> list.

<p>To change the background colour of the slides, change the <code>pres_slidebackground</code> observable. To change the background colour of the environment, change <code>pres_background</code>. 

<p>To change the formatting of slides, experiment with <code>pres_fontsize</code>, <code>pres_slideheader</code>, and <code>pres_slidefooter</code>.")//";");

execute("slide8 is "//pres_parsehtml("<h1>Saving your presentation</h1>

<p>To save the content of the slides, click on the 'Copy definitions' button and then paste the result into a text editor. Then when you reload the Presentation Environment, include the pasted definitions to get back to where you were. Note that the interactive display cannot be saved out in this manner.")//";");

execute("slide9 is "//pres_parsehtml("<h1>How to get started?</h1>

<p>First of all, lets remove all the slides except this one:</p>
<script>
%eden
pres_slides=[\"slide9\"];
pres_currentslideno=1;</script>
<p>Now you can edit this slide as the first in your presentation...</p>")//";");

pres_slidecount=9;
pres_slides=["slide1","slide2","slide3","slide4","slide5","slide6","slide7","slide8","slide9"];
pres_currentslideno=1;


