~openerp/openobject-server/web-dashboard

« back to all changes in this revision

Viewing changes to bin/reportlab/tools/pythonpoint/demos/pythonpoint.xml

  • Committer: pinky
  • Date: 2006-12-07 13:41:40 UTC
  • Revision ID: pinky-3f10ee12cea3c4c75cef44ab04ad33ef47432907
New trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
 
2
<!DOCTYPE presentation SYSTEM "../pythonpoint.dtd">
 
3
<presentation filename="pythonpoint.pdf" pageDuration="3">
 
4
  <stylesheet module="standard" function="getParagraphStyles"/>
 
5
  <title>PythonPoint Demonstration</title>
 
6
  <author>Andy Robinson</author>
 
7
  <subject>Reportlab Sample Applications</subject>
 
8
  <section name="Main">
 
9
    <!-- any graphics in the section go on all its pages as a backdrop -->
 
10
    <rectangle height="555" fill="ReportLabBlue" x="20" width="96" y="20"/>
 
11
    <!--fixedimage height="64" filename="leftlogo.gif" x="20" width="96" y="510"/-->
 
12
    <customshape module="customshapes" class="Logo" initargs="(20,510,96,64)"/>
 
13
    <!--infostring size="14" align="right" x="800" y="36">
 
14
            &#187;%(title)s, page %(page)s&#171;
 
15
        </infostring-->
 
16
    <!-- Now for the slides -->
 
17
    <slide title="Introduction" id="Slide001" effectname="Wipe">
 
18
      <frame height="468" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
19
        <para style="Heading1">
 
20
                    Welcome to PythonPoint
 
21
                </para>
 
22
        <para style="BodyText">
 
23
                    ...a library for creating presentation slides.
 
24
                </para>
 
25
        <para style="BodyText">
 
26
          <i>
 
27
                        PythonPoint
 
28
                    </i>
 
29
                    lets you create attractive and consistent presentation slides
 
30
                on any platform.  It is a demo app built on top of the PDFgen PDF library
 
31
                and the PLATYPUS Page Layout library.  Essentially, it converts slides
 
32
                in an XML format to PDF.
 
33
                </para>
 
34
        <para style="BodyText">
 
35
                    It can be used right now to create slide shows, but will
 
36
                    undoubtedly change and evolve.  Read on for a tutorial...
 
37
                </para>
 
38
      </frame>
 
39
      <notes>
 
40
        <para>
 
41
                    Smile and look them in the eye!
 
42
                </para>
 
43
      </notes>
 
44
    </slide>
 
45
    <slide title="Part 1" id="Part1" effectname="Blinds" effectdirection="0">
 
46
      <frame height="468" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
47
        <para/>
 
48
        <para/>
 
49
        <para/>
 
50
        <para style="Heading1">
 
51
                    Part 1 &#150; Feature Overview
 
52
                </para>
 
53
      </frame>
 
54
    </slide>
 
55
    <slide title="XML Notation" id="Slide002" effectname="Blinds" effectdirection="0" outlinelevel="1">
 
56
      <frame height="468" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
57
        <para style="Heading1">
 
58
                    XML Notation
 
59
                </para>
 
60
        <para style="BodyText">
 
61
                    You create slides in a text editor with a basic
 
62
                    XML syntax looking like this:
 
63
                </para>
 
64
        <prefmt style="Code"><![CDATA[
 
65
<frame x="160" y="72" width="600" height="468"
 
66
    leftmargin="36" rightmargin="36">
 
67
    <para style='Heading1'>
 
68
        Welcome to PythonPoint
 
69
    </para>
 
70
    <para style='BodyText'>
 
71
        ...a library for creating presentation slides.
 
72
    </para>
 
73
</frame> ]]></prefmt>
 
74
        <para style="BodyText">
 
75
                    Pythonpoint then converts these into slides.  Just enter
 
76
                    "pythonpoint.py myfile.xml" to create a PDF document
 
77
                    (usually called "myfile.pdf", but you specify that in the XML).
 
78
                </para>
 
79
      </frame>
 
80
    </slide>
 
81
    <slide title="Page Layout" id="Slide003" effectname="Box" outlinelevel="1">
 
82
      <frame height="468" border="true" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
83
        <para style="Heading1">
 
84
                    Page Layout Model
 
85
                </para>
 
86
        <para style="BodyText">
 
87
                    The Page Layout model comes from PLATYPUS (Page Layout and Typography Using Scripts),
 
88
                a key component of the toolkit.  This covers concepts such as:
 
89
                </para>
 
90
        <para style="Bullet">
 
91
                    Reusable 'Drawable Objects'
 
92
                </para>
 
93
        <para style="Bullet">
 
94
                    Frames into which objects flow (like this one, around which we have drawn a border)
 
95
                </para>
 
96
        <para style="Bullet">
 
97
                    Style Sheets for text, table cells, line styles etc.
 
98
                </para>
 
99
        <para style="Bullet">
 
100
                    Wrapping, page breaking an document management logic
 
101
                </para>
 
102
        <para style="BodyText">
 
103
                    Everything is open and extensible.  I hope a library of
 
104
                    reusable objects such as charts and diagrams will grow up.
 
105
                </para>
 
106
      </frame>
 
107
    </slide>
 
108
    <slide title="Reuse" id="Slide004" effectname="Wipe" outlinelevel="1">
 
109
      <frame height="468" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
110
        <para style="Heading1">
 
111
                    Reuse and Consistency &#150; Sections
 
112
                </para>
 
113
        <para style="BodyText">
 
114
                    You can create a 'section' spanning some or all tags in the presentation 
 
115
                    and place graphics on this. The blue border and title come from the 
 
116
                    section. Here's how we did the border:
 
117
                </para>
 
118
        <prefmt style="Code"><![CDATA[
 
119
<presentation filename='pythonpoint.pdf'>
 
120
  <section name = 'Main'>
 
121
    <!-- any graphics in the section go on all its pages as a backdrop -->
 
122
    <rectangle x="20" y="510" width="800" height="65" fill="(0,0,1)"/>
 
123
    <rectangle x="20" y="20" width="65" height="555" fill="(0,0,1)"/>
 
124
      ...all slides go here...
 
125
  </section>
 
126
</presentation>
 
127
]]></prefmt>
 
128
        <para style="BodyText">
 
129
                    Thus you can re-brand an entire presentation for 
 
130
                    a new audience in seconds.
 
131
                </para>
 
132
      </frame>
 
133
    </slide>
 
134
    <slide title="Styles" id="Slide005" effectname="Dissolve" outlinelevel="1">
 
135
      <frame height="468" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
136
        <para style="Heading1">
 
137
                    Style Sheets
 
138
                </para>
 
139
        <para style="BodyText">
 
140
                    Paragraph styles are defined externally.  You may specify a filename
 
141
                    from which to load a stylesheet with the stylesheet tag.
 
142
                </para>
 
143
        <para style="BodyText">
 
144
                    Thus you can have different sizes and formats by switching
 
145
                    stylesheets, or colour and black-and-white options.
 
146
                </para>
 
147
        <para style="BodyText">
 
148
                    When they are added, tables will be driven by line and cell
 
149
                    styles in a similar way.
 
150
                </para>
 
151
      </frame>
 
152
    </slide>
 
153
    <slide title="Special Effects" id="Slide006" effectname="Dissolve" outlinelevel="1">
 
154
      <frame height="468" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
155
        <para style="Heading1">
 
156
                    Special Effects
 
157
                </para>
 
158
        <para style="BodyText">
 
159
                    Acrobat Reader supports tags to define page transition effects.
 
160
                    If you are reading this on screen, you should have seen a selection
 
161
                    of these:
 
162
                </para>
 
163
        <para style="Bullet">
 
164
                    Split
 
165
                </para>
 
166
        <para style="Bullet">
 
167
                    Blinds
 
168
                </para>
 
169
        <para style="Bullet">
 
170
                    Box
 
171
                </para>
 
172
        <para style="Bullet">
 
173
                    Wipe
 
174
                </para>
 
175
        <para style="Bullet">
 
176
                    Dissolve
 
177
                </para>
 
178
        <para style="Bullet">
 
179
                    Glitter
 
180
                </para>
 
181
        <para style="BodyText">
 
182
                    Each has a range of options to fine-tune.
 
183
                </para>
 
184
        <para style="BodyText">
 
185
                    When they are added, tables will be driven by line and cell
 
186
                    styles in a similar way.
 
187
                </para>
 
188
      </frame>
 
189
    </slide>
 
190
    <slide title="Outlines and Hyperlinks" id="Slide007" effectname="Wipe" outlinelevel="1">
 
191
      <frame height="468" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
192
        <para style="Heading1">
 
193
                    Outlines and Hyperlinks
 
194
                </para>
 
195
        <para style="BodyText">
 
196
                    By default, we generate an outline view in the left pane to
 
197
                help you navigate.  Hyperlinks within documents are also
 
198
                possible.
 
199
                </para>
 
200
        <para style="BodyText">
 
201
                    As far as we know, this is the first PDF library to expose
 
202
                these features.
 
203
                </para>
 
204
      </frame>
 
205
    </slide>
 
206
    <slide title="Basic Shapes" id="Slide008" effectname="Wipe" outlinelevel="1">
 
207
      <frame height="468" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
208
        <para style="Heading1">
 
209
                    Basic Shapes
 
210
                </para>
 
211
        <para>
 
212
                    Here are some of the basic shapes available for decorating pages...
 
213
                </para>
 
214
      </frame>
 
215
      <rectangle height="50" fill="(0,1,1)" x="200" width="100" y="300"/>
 
216
      <roundrect height="50" x="350" y="300" radius="15" fill="(0,1,1)" width="100"/>
 
217
      <line y1="300" y2="350" x1="500" x2="600"/>
 
218
      <ellipse fill="(0,1,1)" y1="300" y2="350" x1="650" x2="750"/>
 
219
      <polygon points="(200,200),(300,200),(350,180),(250,150)" fill="(0,1,1)"/>
 
220
      <string size="14" color="(1,0,0)" align="center" x="500" y="200">
 
221
                This is a\nmulti-line string\nplaced directly on the page.\n\nIt can be left-aligned,\ncentred,\nor right-aligned.
 
222
            </string>
 
223
      <customshape module="customshapes" class="Jigsaw" initargs="(700,200,1)"/>
 
224
    </slide>
 
225
    <slide title="Tables" id="Slide008a" effectname="Glitter" outlinelevel="1">
 
226
      <frame height="468" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
227
        <para style="Heading1">
 
228
                    Tables
 
229
                </para>
 
230
        <para>
 
231
                    The Table tag lets you paste in bulk data and format it attractively:
 
232
                </para>
 
233
        <spacer height="24"/>
 
234
        <table heights="(28,28,28,28,28)" style="table1" widths="(144,72,72,72,108)">
 
235
                    Division,Jan,Feb,Mar,Q1 Total
 
236
                                North,100,115,120,335
 
237
                                South,215,145,180,540
 
238
                                East,75,90,135,300
 
239
                                West,100,120,115,335
 
240
                </table>
 
241
      </frame>
 
242
    </slide>
 
243
    <slide title="Future Features" id="Slide009" effectname="Glitter" outlinelevel="1">
 
244
      <frame height="468" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
245
        <para style="Heading1">
 
246
                    Features Coming Soon
 
247
                </para>
 
248
        <para style="BodyText">
 
249
                    This is the first version that runs.  A lot can now be added fairly easily:
 
250
                </para>
 
251
        <para style="Bullet">
 
252
                    Preprocessor to let you enter paragraphs and
 
253
                    bullets as one block of text, with less tag typing!
 
254
                </para>
 
255
        <para style="Bullet">
 
256
                    PIDDLE drawings
 
257
                </para>
 
258
        <para style="Bullet">
 
259
                    PINGO drawings &#150; 'Object Graphics' tags with grouping and coordinate transformations
 
260
                </para>
 
261
        <para style="Bullet">
 
262
                    Speaker notes and a mode to print them
 
263
                </para>
 
264
        <para style="Bullet">
 
265
                    Tools to archive slides in a database and build presentations to order
 
266
                </para>
 
267
        <para style="Italic">
 
268
                    ...what else can YOU think of?
 
269
                </para>
 
270
      </frame>
 
271
    </slide>
 
272
    <slide title="Part 2" id="Part2" effectname="Blinds" effectdirection="0" outlinelevel="0">
 
273
      <frame height="468" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
274
        <para/>
 
275
        <para/>
 
276
        <para/>
 
277
        <para style="Heading1">
 
278
                    Part 2 &#150; Reference
 
279
                </para>
 
280
        <para/>
 
281
        <para style="Centered">
 
282
                    This section covers all command line options
 
283
                    and tags currently in use.
 
284
                </para>
 
285
      </frame>
 
286
    </slide>
 
287
    <slide title="Command Line Options" id="Slide200" effectname="Blinds" effectdirection="0" outlinelevel="1">
 
288
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
289
        <para style="Heading2">
 
290
                    Command Line Options
 
291
                </para>
 
292
        <para>
 
293
                    Usage (NT, or executable Unix script):
 
294
                </para>
 
295
        <para>
 
296
          <i>
 
297
                        pythonpoint.py [/notes] myslides.xml
 
298
                    </i>
 
299
        </para>
 
300
        <para>
 
301
                    or (Win9x or non-executable script)
 
302
                </para>
 
303
        <para>
 
304
          <i>
 
305
                        python pythonpoint.py [/notes] myslides.xml
 
306
                    </i>
 
307
        </para>
 
308
        <para style="BodyText">
 
309
                    Notes:
 
310
                </para>
 
311
        <para style="Bullet">
 
312
                    The resulting PDF file has the same
 
313
                    name as the input file.
 
314
                </para>
 
315
        <para style="Bullet">
 
316
                    The Speaker Notes mode prints a shrunken canvas with
 
317
                    room for notes around the edge.  To create notes, make
 
318
                    an extra frame off the page.  See the source of
 
319
                    Pythonpoint.xml slide 001 for an example.
 
320
                </para>
 
321
      </frame>
 
322
    </slide>
 
323
    <slide title="Tag: Presentation" id="Slide201" effectname="Blinds" effectdirection="0" outlinelevel="1">
 
324
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
325
        <para style="Heading2">
 
326
                    Tag "presentation"
 
327
                </para>
 
328
        <para style="BodyText">
 
329
                    This is the outermost tag in an XML file and is always required.
 
330
                </para>
 
331
        <para style="Italic">
 
332
                    Attributes:
 
333
                </para>
 
334
        <para style="Indent">
 
335
                    filename (required)
 
336
                </para>
 
337
        <para style="Italic">
 
338
                    Can Contain:
 
339
                </para>
 
340
        <para style="Indent">
 
341
                    section, stylesheet, slides
 
342
                </para>
 
343
        <para/>
 
344
        <para style="Italic">
 
345
                    To Do:
 
346
                </para>
 
347
        <para style="Indent">
 
348
                    Support for page sizes, opening modes
 
349
                </para>
 
350
      </frame>
 
351
    </slide>
 
352
    <slide title="Tag: Stylesheet" id="Slide202" effectname="Blinds" effectdirection="0" outlinelevel="1">
 
353
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
354
        <para style="Heading2">
 
355
                    Tag "stylesheet"
 
356
                </para>
 
357
        <para style="BodyText">
 
358
                    This defines an external style sheet full of paragraph styles.
 
359
                    For now, these are Python modules conforming to a common interface,
 
360
                    and examples are given.  If not declared, a default style sheet is
 
361
                    used.  You are strongly advised to define your own style sheet,
 
362
                    as the built-in one will change a few more times.
 
363
                </para>
 
364
        <para style="Italic">
 
365
                    Attributes:
 
366
                </para>
 
367
        <para style="Indent">
 
368
                    path, module, function
 
369
                </para>
 
370
        <para style="Italic">
 
371
                    Contained By:
 
372
                </para>
 
373
        <para style="Indent">
 
374
                    Presentation, Section
 
375
                </para>
 
376
        <para style="Italic">
 
377
                    Can Contain:
 
378
                </para>
 
379
        <para style="Indent">
 
380
                    nothing
 
381
                </para>
 
382
        <para style="Italic">
 
383
                    Example
 
384
                </para>
 
385
        <prefmt style="Code"><![CDATA[
 
386
<stylesheet module="modern" function="getParagraphStyles"/>
 
387
]]></prefmt>
 
388
      </frame>
 
389
    </slide>
 
390
    <slide title="Tag: Section" id="Slide203" effectname="Blinds" effectdirection="0" outlinelevel="1">
 
391
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
392
        <para style="Heading2">
 
393
                    Tag "section"
 
394
                </para>
 
395
        <para style="BodyText">
 
396
                    A Section spans across a number of slides and can apply an
 
397
                    overall background to them.  Place graphics directly within
 
398
                    the section tag, either before or after slides. This lets
 
399
                    you re-brand a presentation very quickly.  Documents
 
400
                    may contain multiple sections; nesting of sections is
 
401
                    not (yet) permitted.
 
402
                </para>
 
403
        <para style="Italic">
 
404
                    Attributes:
 
405
                </para>
 
406
        <para style="Indent">
 
407
                    name (required, but not used yet)
 
408
                </para>
 
409
        <para style="Italic">
 
410
                    Contained By:
 
411
                </para>
 
412
        <para style="Indent">
 
413
                    Presentation
 
414
                </para>
 
415
        <para style="Italic">
 
416
                    Can Contain:
 
417
                </para>
 
418
        <para style="Indent">
 
419
                    all graphic shapes; slides
 
420
                </para>
 
421
      </frame>
 
422
    </slide>
 
423
    <slide title="Tag: Slide" id="Slide204" effectname="Blinds" effectdirection="0" outlinelevel="1">
 
424
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
425
        <para style="Heading2">
 
426
                    Tag "slide"
 
427
                </para>
 
428
        <para style="BodyText">
 
429
                    Defines a single slide.  The presentation effects are defined
 
430
                    in the PDF reference; best to just try the combinations.
 
431
                </para>
 
432
        <para style="Italic">
 
433
                    Attributes (with defaults):
 
434
                </para>
 
435
        <para style="Indent">
 
436
                    id (required)
 
437
                </para>
 
438
        <para style="Indent">
 
439
                    title (required)
 
440
                </para>
 
441
        <para style="Indent">
 
442
                    effectname: one of Split, Blinds, Box, Wipe, Dissolve, Glitter
 
443
                </para>
 
444
        <para style="Indent">
 
445
                    effectdirection: '0','90','180' or '270'
 
446
                </para>
 
447
        <para style="Indent">
 
448
                    effectdimension: 'H' or 'V' (Horiz./Vert.)
 
449
                </para>
 
450
        <para style="Indent">
 
451
                    effectmotion: 'I' for inwards or 'O' for outwards
 
452
                </para>
 
453
        <para style="Indent">
 
454
                    effectduration: time in seconds
 
455
                </para>
 
456
        <para style="Italic">
 
457
                    Contained By:
 
458
                </para>
 
459
        <para style="Indent">
 
460
                    Presentation
 
461
                </para>
 
462
        <para style="Italic">
 
463
                    Can Contain:
 
464
                </para>
 
465
        <para style="Indent">
 
466
                    all graphic shapes; frames
 
467
                </para>
 
468
      </frame>
 
469
    </slide>
 
470
    <slide title="Tag: Frame" id="Slide205" effectname="Blinds" effectdirection="0" outlinelevel="1">
 
471
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
472
        <para style="Heading2">
 
473
                    Tag "frame"
 
474
                </para>
 
475
        <para style="BodyText">
 
476
                    Defines a frame on the page which can hold content.  You may have
 
477
                    as many frames as you like, to allow multi-column text or flow  
 
478
                    around pictures.
 
479
                </para>
 
480
        <para style="Italic">
 
481
                    Attributes:
 
482
                </para>
 
483
        <para style="Indent">
 
484
                    x, y, width, height (all required): in points
 
485
                </para>
 
486
        <para style="Indent">
 
487
                    leftmargin, rightmargin, topmargin, bottommargin 
 
488
                    (optional, default to zero) &#150; define the 'inner rectangle' within
 
489
                    which content flows
 
490
                </para>
 
491
        <para style="Indent">
 
492
                    border (defaults to 'false'): whether to show
 
493
                    a frame border &#150; useful when designing pages.
 
494
                </para>
 
495
        <para style="Italic">
 
496
                    Contained By:
 
497
                </para>
 
498
        <para style="Indent">
 
499
                    Slide
 
500
                </para>
 
501
        <para style="Italic">
 
502
                    Can Contain:
 
503
                </para>
 
504
        <para style="Indent">
 
505
                    all 'flowable objects' &#150; paragraphs, images
 
506
                </para>
 
507
      </frame>
 
508
    </slide>
 
509
    <slide title="Flowable Objects" id="Slide206" effectname="Blinds" effectdirection="0" outlinelevel="1">
 
510
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
511
        <para style="Heading2">
 
512
                    Tag family &#150; "Flowable Objects"
 
513
                </para>
 
514
        <para style="BodyText">
 
515
                    Flowable Objects currently include Paragraphs, Preformatted text
 
516
                    (used for code printing, where the line breaks and spaces matter)
 
517
                    and inline Images.  More will be added in future.  
 
518
                    They negotiate with their containing frame about height and
 
519
                    width; paragraphs do what you would expect, while images are centred.
 
520
                </para>
 
521
        <para style="Italic">
 
522
                    Contained By:
 
523
                </para>
 
524
        <para style="Indent">
 
525
                    Slide
 
526
                </para>
 
527
        <para style="Italic">
 
528
                    Can Contain:
 
529
                </para>
 
530
        <para style="Indent">
 
531
                    The three instances so far contain nothing.
 
532
                </para>
 
533
      </frame>
 
534
    </slide>
 
535
    <slide title="Tag: para" id="Slide207" effectname="Blinds" effectdirection="0" outlinelevel="2">
 
536
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
537
        <para style="Heading2">
 
538
                    Tag "para" &#150; Paragraphs
 
539
                </para>
 
540
        <para style="BodyText">
 
541
                    Paragraphs are used for wrapping text.  They are very simple 
 
542
                    &#150; they have a style attribute,
 
543
                    and the stylesheet defines most attributes externally. 
 
544
                    Currently we use a hack to handle 'bullets', which may be in
 
545
                    a different font (such as 'ZapfDingbats, specified in style) 
 
546
                    and offset to the left.  These are used
 
547
                    for bullets, numbering and definition lists 
 
548
                    This will vanish as soon as one can
 
549
                    switch fonts in mid-paragraph (due mid April).
 
550
                </para>
 
551
        <para style="Italic">
 
552
                    Attributes:
 
553
                </para>
 
554
        <para style="Indent">
 
555
                    style (defaults to 'Normal') &#150; 
 
556
                    reference to stylesheet
 
557
                </para>
 
558
        <para style="Indent">
 
559
                    bullettext &#150; 
 
560
                    text for the optional 'bullet' section. To be deprecated.
 
561
                </para>
 
562
        <para style="Italic">
 
563
                    Contained By:
 
564
                </para>
 
565
        <para style="Indent">
 
566
                    Frame
 
567
                </para>
 
568
        <para style="Italic">
 
569
                    Can Contain:
 
570
                </para>
 
571
        <para style="Indent">
 
572
                    Their text
 
573
                </para>
 
574
      </frame>
 
575
    </slide>
 
576
    <slide title="Tag: prefmt" id="Slide207" effectname="Blinds" effectdirection="0" outlinelevel="2">
 
577
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
578
        <para style="Heading2">
 
579
                    Tag "prefmt"
 
580
                </para>
 
581
        <para style="BodyText">
 
582
                    This is used for printing code, or other text which contains
 
583
                    line breaks.
 
584
                </para>
 
585
        <para style="Italic">
 
586
                    Attributes:
 
587
                </para>
 
588
        <para style="Indent">
 
589
                    style (defaults to 'Normal') &#150; 
 
590
                    reference to stylesheet
 
591
                </para>
 
592
        <para style="Italic">
 
593
                    Contained By:
 
594
                </para>
 
595
        <para style="Indent">
 
596
                    Frame
 
597
                </para>
 
598
        <para style="Italic">
 
599
                    Can Contain:
 
600
                </para>
 
601
        <para style="Indent">
 
602
                    The text to be displayed
 
603
                </para>
 
604
      </frame>
 
605
    </slide>
 
606
    <slide title="Tag: image" id="Slide208" effectname="Blinds" effectdirection="0" outlinelevel="2">
 
607
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
608
        <para style="Heading2">
 
609
                    Tag "image" &#150; flowing images
 
610
                </para>
 
611
        <para style="BodyText">
 
612
                    This is used for an image to be displayed inline within
 
613
                    the frame.  It will be drawn at a scale of 1 pixel to
 
614
                    1 point, and centred in the frame.
 
615
                </para>
 
616
        <para style="Italic">
 
617
                    Attributes:
 
618
                </para>
 
619
        <para style="Indent">
 
620
                    filename (required)
 
621
                </para>
 
622
        <para style="Italic">
 
623
                    Contained By:
 
624
                </para>
 
625
        <para style="Indent">
 
626
                    Frame
 
627
                </para>
 
628
        <para style="Italic">
 
629
                    Can Contain:
 
630
                </para>
 
631
        <para style="Indent">
 
632
                    Nothing
 
633
                </para>
 
634
        <para style="Italic">
 
635
                    To do
 
636
                </para>
 
637
        <para style="Indent">
 
638
                    Rename it 'flowing image'?  Control
 
639
                    over alignment and size if needed.  Image caching.
 
640
                </para>
 
641
      </frame>
 
642
    </slide>
 
643
    <slide title="Tag: table" id="Slide208a" effectname="Blinds" effectdirection="0" outlinelevel="2">
 
644
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
645
        <para style="Heading2">
 
646
                    Tag "table" &#150; tables
 
647
                </para>
 
648
        <para style="BodyText">
 
649
                    This lets you draw tables with a wide variety of formatting
 
650
                    options.
 
651
                </para>
 
652
        <para style="Italic">
 
653
                    Attributes:
 
654
                </para>
 
655
        <para style="Indent">
 
656
          <b>
 
657
                        widths
 
658
                    </b>
 
659
                    (optional) in points (auto-sizes if not given)
 
660
                </para>
 
661
        <para style="Indent">
 
662
          <b>
 
663
                        heights
 
664
                    </b>
 
665
                    (optional) in points (auto-sizes if not given)
 
666
                </para>
 
667
        <para style="Indent">
 
668
          <b>
 
669
                        style
 
670
                    </b>
 
671
                    (optional) &#150; name of a ReportLab
 
672
                        tablestyle  defined in the stylesheet.
 
673
                </para>
 
674
        <para style="Indent">
 
675
          <b>
 
676
                        colDelim
 
677
                    </b>
 
678
                    (optional) &#150; the column
 
679
                      delimiter string for bulk data; defaults to a comma.
 
680
                </para>
 
681
        <para style="Indent">
 
682
          <b>
 
683
                        rowDelim
 
684
                    </b>
 
685
                    (optional) &#150; the line
 
686
                      delimiter string for bulk data; defaults to a carriage 
 
687
                    return.
 
688
                </para>
 
689
        <para style="Italic">
 
690
                    Contained By:
 
691
                </para>
 
692
        <para style="Indent">
 
693
                    Frame
 
694
                </para>
 
695
        <para style="Italic">
 
696
                    Can Contain:
 
697
                </para>
 
698
        <para style="Indent">
 
699
                    Bulk data, with the row and column delimiters
 
700
                    specified
 
701
                </para>
 
702
      </frame>
 
703
    </slide>
 
704
    <slide title="Drawable Objects" id="Slide209" effectname="Blinds" effectdirection="0" outlinelevel="1">
 
705
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
706
        <para style="Heading2">
 
707
                    Tag family &#150; "Drawable Objects"
 
708
                </para>
 
709
        <para style="BodyText">
 
710
                    These are objects which know how to draw themselves directly on
 
711
                    the page (or section template).  Use them for designing the backdrop,
 
712
                    and for custom graphics.
 
713
                </para>
 
714
        <para style="Italic">
 
715
                    Contained By:
 
716
                </para>
 
717
        <para style="Indent">
 
718
                    Slide, Section
 
719
                </para>
 
720
        <para style="Italic">
 
721
                    Can Contain:
 
722
                </para>
 
723
        <para style="Indent">
 
724
                    Varies.
 
725
                </para>
 
726
        <para style="Italic">
 
727
                    To Do:
 
728
                </para>
 
729
        <para style="Indent">
 
730
                    Will include the full PINGO object
 
731
                    model &#150; a subset of SVG &#150; allowing any vector graphics
 
732
                    at all.
 
733
                </para>
 
734
      </frame>
 
735
    </slide>
 
736
    <slide title="Tag: FixedImage" id="Slide210" effectname="Blinds" effectdirection="0" outlinelevel="2">
 
737
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
738
        <para style="Heading2">
 
739
                    Tag "fixedimage"
 
740
                </para>
 
741
        <para style="BodyText">
 
742
                    This is an image draw directly at a fixed position &#150; 
 
743
                    for example, the logo at top left of the page.
 
744
                </para>
 
745
        <para style="Italic">
 
746
                    Attributes:
 
747
                </para>
 
748
        <para style="Indent">
 
749
                    filename: required
 
750
                </para>
 
751
        <para style="Indent">
 
752
                    x, y: required
 
753
                </para>
 
754
        <para style="Indent">
 
755
                    width, height: optional, stretches image 
 
756
                    to fit box if present.
 
757
                </para>
 
758
        <para style="Italic">
 
759
                    Contained By:
 
760
                </para>
 
761
        <para style="Indent">
 
762
                    Slide, Section
 
763
                </para>
 
764
        <para style="Italic">
 
765
                    Can Contain:
 
766
                </para>
 
767
        <para style="Indent">
 
768
                    Nothing
 
769
                </para>
 
770
      </frame>
 
771
    </slide>
 
772
    <slide title="Tag: Rectangle" id="Slide211" effectname="Blinds" effectdirection="0" outlinelevel="2">
 
773
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
774
        <para style="Heading2">
 
775
                    Tag "rectangle"
 
776
                </para>
 
777
        <para style="Italic">
 
778
                    Attributes:
 
779
                </para>
 
780
        <para style="Indent">
 
781
                    x, y, width, height: required
 
782
                </para>
 
783
        <para style="Indent">
 
784
                    fill, stroke: either 'None', or an
 
785
                    (r,g,b) tuple.
 
786
                </para>
 
787
        <para style="Indent">
 
788
                    linewidth: defaults to 0 (hairline)
 
789
                </para>
 
790
        <para style="Italic">
 
791
                    Contained By:
 
792
                </para>
 
793
        <para style="Indent">
 
794
                    Slide, Section
 
795
                </para>
 
796
        <para style="Italic">
 
797
                    Can Contain:
 
798
                </para>
 
799
        <para style="Indent">
 
800
                    Nothing
 
801
                </para>
 
802
      </frame>
 
803
    </slide>
 
804
    <slide title="Tag: RoundRect" id="Slide212" effectname="Blinds" effectdirection="0" outlinelevel="2">
 
805
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
806
        <para style="Heading2">
 
807
                    Tag "roundrect"
 
808
                </para>
 
809
        <para style="BodyText">
 
810
                    This is exactly like Rectangle,
 
811
                    but with an extra 'radius' attribute defining the corner
 
812
                    radius in points &#150; default is 6 points.
 
813
                </para>
 
814
      </frame>
 
815
    </slide>
 
816
    <slide title="Tag: Ellipse" id="Slide213" effectname="Blinds" effectdirection="0" outlinelevel="2">
 
817
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
818
        <para style="Heading2">
 
819
                    Tag "ellipse"
 
820
                </para>
 
821
        <para style="BodyText">
 
822
                    Draws an ellipse, defined by its
 
823
                    bounding box.  Note that it can
 
824
                    create circles if height and width are equal.
 
825
                </para>
 
826
        <para style="Italic">
 
827
                    Attributes:
 
828
                </para>
 
829
        <para style="Indent">
 
830
                    x1, y1, x2, y2: required
 
831
                </para>
 
832
        <para style="Indent">
 
833
                    fill, stroke: either 'None', or an
 
834
                    (r,g,b) tuple.
 
835
                </para>
 
836
        <para style="Indent">
 
837
                    linewidth: defaults to 0 (hairline)
 
838
                </para>
 
839
        <para style="Italic">
 
840
                    Contained By:
 
841
                </para>
 
842
        <para style="Indent">
 
843
                    Slide, Section
 
844
                </para>
 
845
        <para style="Italic">
 
846
                    Can Contain:
 
847
                </para>
 
848
        <para style="Indent">
 
849
                    Nothing
 
850
                </para>
 
851
      </frame>
 
852
    </slide>
 
853
    <slide title="Tag: Polygon" id="Slide214" effectname="Blinds" effectdirection="0" outlinelevel="2">
 
854
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
855
        <para style="Heading2">
 
856
                    Tag "polygon"
 
857
                </para>
 
858
        <para style="BodyText">
 
859
                    Draws a polygon from a list
 
860
                    of points you provide.
 
861
                </para>
 
862
        <para style="Italic">
 
863
                    Attributes:
 
864
                </para>
 
865
        <para style="Indent">
 
866
                    points: list such as "(0,0),(50,0),(25,25)"
 
867
                </para>
 
868
        <para style="Indent">
 
869
                    fill, stroke: either 'None', or an
 
870
                    (r,g,b) tuple.
 
871
                </para>
 
872
        <para style="Indent">
 
873
                    linewidth: defaults to 0 (hairline)
 
874
                </para>
 
875
        <para style="Italic">
 
876
                    Contained By:
 
877
                </para>
 
878
        <para style="Indent">
 
879
                    Slide, Section
 
880
                </para>
 
881
        <para style="Italic">
 
882
                    Can Contain:
 
883
                </para>
 
884
        <para style="Indent">
 
885
                    Nothing
 
886
                </para>
 
887
      </frame>
 
888
    </slide>
 
889
    <slide title="Tag: Line" id="Slide215" effectname="Blinds" effectdirection="0" outlinelevel="2">
 
890
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
891
        <para style="Heading2">
 
892
                    Tag "line"
 
893
                </para>
 
894
        <para style="BodyText">
 
895
                    Draws a line.
 
896
                </para>
 
897
        <para style="Italic">
 
898
                    Attributes:
 
899
                </para>
 
900
        <para style="Indent">
 
901
                    x1, y1, x2, y2
 
902
                </para>
 
903
        <para style="Indent">
 
904
                    stroke: either 'None', or an
 
905
                    (r,g,b) tuple.
 
906
                </para>
 
907
        <para style="Indent">
 
908
                    width: defaults to 0 (hairline)
 
909
                </para>
 
910
        <para style="Italic">
 
911
                    Contained By:
 
912
                </para>
 
913
        <para style="Indent">
 
914
                    Slide, Section
 
915
                </para>
 
916
        <para style="Italic">
 
917
                    Can Contain:
 
918
                </para>
 
919
        <para style="Indent">
 
920
                    Nothing
 
921
                </para>
 
922
      </frame>
 
923
    </slide>
 
924
    <slide title="Tag: String" id="Slide215" effectname="Blinds" effectdirection="0" outlinelevel="2">
 
925
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
926
        <para style="Heading2">
 
927
                    Tag "string"
 
928
                </para>
 
929
        <para style="BodyText">
 
930
                    This places strings directly on the page.  They may have
 
931
                    embedded newlines (use a '\n' in the XML), in which
 
932
                    case multi-line strings are printed. Left, right
 
933
                    and centre alignment are allowed.
 
934
                </para>
 
935
        <para style="Italic">
 
936
                    Attributes:
 
937
                </para>
 
938
        <para style="Indent">
 
939
                    x, y: required
 
940
                </para>
 
941
        <para style="Indent">
 
942
                    color:  RGB colour tuple such as '(0,1,0)'
 
943
                </para>
 
944
        <para style="Indent">
 
945
                    font: default is 'Times-Roman'
 
946
                </para>
 
947
        <para style="Indent">
 
948
                    size: default 12
 
949
                </para>
 
950
        <para style="Indent">
 
951
                    align: default 'left', allows 
 
952
                    also 'right' or 'center'
 
953
                </para>
 
954
        <para style="Italic">
 
955
                    Contained By:
 
956
                </para>
 
957
        <para style="Indent">
 
958
                    Slide, Section
 
959
                </para>
 
960
        <para style="Italic">
 
961
                    Can Contain:
 
962
                </para>
 
963
        <para style="Indent">
 
964
                    The text of the string
 
965
                </para>
 
966
      </frame>
 
967
    </slide>
 
968
    <slide title="Tag: CustomShape" id="Slide216" effectname="Blinds" effectdirection="0" outlinelevel="2">
 
969
      <frame height="510" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
970
        <para style="Heading2">
 
971
                    Tag "customshape"
 
972
                </para>
 
973
        <para style="BodyText">
 
974
                    This looks in a specified Python module for a 
 
975
                    'drawable object' you write, and initialises
 
976
                    it with arguments you provide before drawing.
 
977
                    This must provide a 'self.drawOn(canvas)' method.
 
978
                </para>
 
979
        <para style="Italic">
 
980
                    Attributes:
 
981
                </para>
 
982
        <para style="Indent">
 
983
                    path:  where to look; searches Python path 
 
984
                    if None
 
985
                </para>
 
986
        <para style="Indent">
 
987
                    module: module name
 
988
                </para>
 
989
        <para style="Indent">
 
990
                    class: class name to create
 
991
                </para>
 
992
        <para style="Indent">
 
993
                    initargs: tuple of arguments with which
 
994
                    to initialize the class.
 
995
                </para>
 
996
        <para style="Indent">
 
997
                    align: default 'left', allows 
 
998
                    also 'right' or 'center'
 
999
                </para>
 
1000
        <para style="Italic">
 
1001
                    Contained By:
 
1002
                </para>
 
1003
        <para style="Indent">
 
1004
                    Slide, Section
 
1005
                </para>
 
1006
        <para style="Italic">
 
1007
                    Can Contain:
 
1008
                </para>
 
1009
        <para style="Indent">
 
1010
                    Nothing
 
1011
                </para>
 
1012
      </frame>
 
1013
    </slide>
 
1014
    <slide title="To Do" id="Part3" effectname="Blinds" effectdirection="0">
 
1015
      <frame height="468" x="120" y="72" rightmargin="36" width="700" leftmargin="36">
 
1016
        <para style="Heading1">
 
1017
                    Part 3 &#150; To Do
 
1018
                </para>
 
1019
        <para style="Bullet">
 
1020
                    Lots of testing
 
1021
                </para>
 
1022
        <para style="Bullet">
 
1023
                    Text preprocessor to let you input text, styles and images
 
1024
                     in something easier to type
 
1025
                </para>
 
1026
        <para style="Bullet">
 
1027
                    Support for Pingo (http://pingo.sourceforge.net/) drawings using
 
1028
                    the Scalable Vector Graphics imaging model
 
1029
                </para>
 
1030
        <para style="Bullet">
 
1031
                    Proper caching of flowing images
 
1032
                </para>
 
1033
        <para style="Bullet">
 
1034
                    Basic Tables and Charts
 
1035
                </para>
 
1036
        <para style="Bullet">
 
1037
                    Use new XML parsers as wel as xmllib
 
1038
                </para>
 
1039
        <para style="Bullet">
 
1040
                    Slide indexing and database search tools
 
1041
                </para>
 
1042
        <para style="Bullet">
 
1043
                    Speaker Notes mode
 
1044
                </para>
 
1045
        <para>
 
1046
                    Naturally, help is extremely welcome :-)
 
1047
                </para>
 
1048
      </frame>
 
1049
    </slide>
 
1050
  </section>
 
1051
</presentation>