tests/test_platypus_tables.py
author robin <robin@reportlab.com>
Tue, 07 Mar 2017 10:00:34 +0000
changeset 4330 617ffa6bbdc8
parent 4269 305766131a79
child 4341 19a971b1bfa4
permissions -rw-r--r--
changes for release 3.4.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
     1
#!/bin/env python
4330
617ffa6bbdc8 changes for release 3.4.0
robin <robin@reportlab.com>
parents: 4269
diff changeset
     2
#Copyright ReportLab Europe Ltd. 2000-2017
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
     3
#see license.txt for license details
4252
fe660f227cac changes for release 3.3.0
robin
parents: 4250
diff changeset
     4
__version__='3.3.0'
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
     5
__doc__='Test script for reportlab.tables'
2987
711910106e3a tests: more changes to testsFolder and friends
rgbecker
parents: 2984
diff changeset
     6
from reportlab.lib.testutils import setOutDir,makeSuiteForClasses, outputfile, printLocation
2984
c63f149d55aa tests.utils --> reportlab.lib.testutils
rgbecker
parents: 2966
diff changeset
     7
setOutDir(__name__)
2966
c9df63ccabdf reportlab-2.2: major changes to make tests run
rgbecker
parents: 2963
diff changeset
     8
import os,unittest
3760
674899ebab37 platypus: FrameBG related stuff ifrom default that got lost somehow
robin
parents: 3721
diff changeset
     9
from reportlab.platypus import Spacer, SimpleDocTemplate, Table, TableStyle, FrameBG
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    10
from reportlab.platypus.paragraph import Paragraph
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    11
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    12
from reportlab.lib.units import inch, cm
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    13
from reportlab.lib import colors
3564
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
    14
from reportlab.graphics.charts.linecharts import HorizontalLineChart
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
    15
from reportlab.graphics.shapes import Drawing, _DrawingEditorMixin
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
    16
from reportlab.graphics.charts.barcharts import VerticalBarChart
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    17
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    18
styleSheet = getSampleStyleSheet()
3760
674899ebab37 platypus: FrameBG related stuff ifrom default that got lost somehow
robin
parents: 3721
diff changeset
    19
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    20
def getTable():
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    21
    t = Table((('','North','South','East','West'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    22
             ('Quarter 1',100,200,300,400),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    23
             ('Quarter 2',100,400,600,800),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    24
             ('Total',300,600,900,'1,200')),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    25
             (72,36,36,36,36),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    26
             (24, 16,16,18)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    27
            )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    28
    return t
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    29
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    30
def makeStyles():
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    31
    styles = []
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    32
    for i in range(5):
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    33
        styles.append(TableStyle([('ALIGN', (1,1), (-1,-1), 'RIGHT'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    34
                                  ('ALIGN', (0,0), (-1,0), 'CENTRE'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    35
                                  ('HREF', (0,0), (0,0), 'www.google.com'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    36
                                  ]))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    37
    for style in styles[1:]:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    38
        style.add('GRID', (0,0), (-1,-1), 0.25, colors.black)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    39
    for style in styles[2:]:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    40
        style.add('LINEBELOW', (0,0), (-1,0), 2, colors.black)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    41
    for style in styles[3:]:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    42
        style.add('LINEABOVE', (0, -1), (-1,-1), 2, colors.black)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    43
    styles[-1].add('LINEBELOW',(1,-1), (-1, -1), 2, (0.5, 0.5, 0.5))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    44
    return styles
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    45
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    46
def run():
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
    47
    doc = SimpleDocTemplate(outputfile('test_platypus_tables.pdf'), pagesize=(8.5*inch, 11*inch), showBoundary=1)
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    48
    lst = []
3154
669734f429f0 moved paragraph baseline back down
andy
parents: 3153
diff changeset
    49
    from reportlab import Version
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    50
    styNormal = styleSheet['Normal']
3152
f108b32a1ae7 tried out diacritics
andy
parents: 3149
diff changeset
    51
    styBackground = ParagraphStyle('background', parent=styNormal, backColor=colors.pink)
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    52
    styH1 = styleSheet['Heading1']
3760
674899ebab37 platypus: FrameBG related stuff ifrom default that got lost somehow
robin
parents: 3721
diff changeset
    53
    lst.append(FrameBG(color=colors.red))
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    54
    lst.append(Paragraph("First, a test of how tables align their content...", styH1))
3154
669734f429f0 moved paragraph baseline back down
andy
parents: 3153
diff changeset
    55
    lst.append(Paragraph("""Generated with version %s""" % Version,
669734f429f0 moved paragraph baseline back down
andy
parents: 3153
diff changeset
    56
                        styNormal))
669734f429f0 moved paragraph baseline back down
andy
parents: 3153
diff changeset
    57
    lst.append(Paragraph("""In release 2.3, cells with plain text positioned their
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    58
                         text differently to cells with Paragraphs using the
3154
669734f429f0 moved paragraph baseline back down
andy
parents: 3153
diff changeset
    59
                         same font.  Hopefully now they are back on the same baseline""",
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    60
                        styNormal))
3760
674899ebab37 platypus: FrameBG related stuff ifrom default that got lost somehow
robin
parents: 3721
diff changeset
    61
    lst.append(FrameBG(color=colors.blue))
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    62
    ts1 = TableStyle([
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    63
                ('ALIGN', (0,0), (-1,0), 'RIGHT'),
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    64
                ('BACKGROUND', (0,0), (-1,0), colors.lightgrey),
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    65
                ('VALIGN', (0,0), (-1,-1), 'TOP'),
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    66
                ('GRID', (0,0), (-1,-1), 0.25, colors.black),
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    67
                    ])
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    68
    t1 = Table([
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    69
        ('plain text','plain text','shortpara','plain text', 'long para'),
3154
669734f429f0 moved paragraph baseline back down
andy
parents: 3153
diff changeset
    70
        ('Text','more text', Paragraph('Is this para level?', styBackground), 'Back to text', Paragraph('Short para again', styBackground)),
3152
f108b32a1ae7 tried out diacritics
andy
parents: 3149
diff changeset
    71
        ('Text',
f108b32a1ae7 tried out diacritics
andy
parents: 3149
diff changeset
    72
            'more text',
3154
669734f429f0 moved paragraph baseline back down
andy
parents: 3153
diff changeset
    73
            Paragraph('Is this level?', styBackground),
3152
f108b32a1ae7 tried out diacritics
andy
parents: 3149
diff changeset
    74
            'This is plain\ntext with line breaks\nto compare against\nthe para on right',
f108b32a1ae7 tried out diacritics
andy
parents: 3149
diff changeset
    75
            Paragraph('Long paragraph we expect to wrap over several lines accurately', styBackground)),
4258
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
    76
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    77
        ])
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    78
    t1.setStyle(ts1)
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    79
    lst.append(t1)
3760
674899ebab37 platypus: FrameBG related stuff ifrom default that got lost somehow
robin
parents: 3721
diff changeset
    80
    lst.append(FrameBG(start=False))
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    81
    lst.append(Spacer(0,10))
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    82
    lst.append(Paragraph("Now we make a table with just one cell containing a string...note how the text sits low", styNormal))
3760
674899ebab37 platypus: FrameBG related stuff ifrom default that got lost somehow
robin
parents: 3721
diff changeset
    83
    lst.append(FrameBG(start=False))
4258
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
    84
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    85
    tsGrid = TableStyle([
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    86
                ('GRID', (0,0), (-1,-1), 0.25, colors.black),
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    87
                    ])
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    88
    lst.append(Table([['One cell of plain text']], style=tsGrid, colWidths=[200]))
4258
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
    89
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    90
    lst.append(Spacer(0,10))
3154
669734f429f0 moved paragraph baseline back down
andy
parents: 3153
diff changeset
    91
    lst.append(Paragraph("Now we make a table with just one cell containing a para...should be same position.  Note that the overall bounding box is an approximation and lies - it always did.", styNormal))
3153
e1349cabd4c3 more tests
andy
parents: 3152
diff changeset
    92
    lst.append(Table([[Paragraph('One cell containing a paragraph.  &#196;&#201;&#8747;', styBackground)]], style=tsGrid, colWidths=[200]))
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    93
3149
8db48c1b721f wrote test to show misalignment
andy
parents: 3148
diff changeset
    94
    lst.append(Spacer(0,10))
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    95
    lst.append(Paragraph("Paragraphs jumped up post 2.1.  Ideally they should align the same.", styNormal))
4258
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
    96
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
    97
3149
8db48c1b721f wrote test to show misalignment
andy
parents: 3148
diff changeset
    98
    lst.append(Spacer(0,30))
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
    99
    lst.append(Paragraph("Now for all the tests we had before.  See also the much longer test_platypus_tables_2.pdf, which for reasons unknown was split into a separate file generated by the same script", styNormal))
4258
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   100
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   101
    styles = makeStyles()
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   102
    for style in styles:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   103
        t = getTable()
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   104
        t.setStyle(style)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   105
##        print '--------------'
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   106
##        for rowstyle in t._cellstyles:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   107
##            for s in rowstyle:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   108
##                print s.alignment
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   109
        lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   110
        lst.append(Spacer(0,12))
4258
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   111
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   112
    t=Table([['VERTICAL Gradient Red top, grey bottom','Horizontal Gradient Blue left, green right'],
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   113
             ['HORIZONTAL Gradient Span grey left red right', ''],
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   114
             ['VERTICAL Gradiant Span Blue top green bottom',''],
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   115
             ['','CLEAR']],[3.5*inch, 2.7*inch])
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   116
    style=TableStyle([
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   117
    ('SPAN', (0,1),(1,1)),
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   118
    ('SPAN', (0,2),(0,3)),
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   119
    ('BACKGROUND',(0,0), (0,0),['VERTICAL', colors.grey, colors.red]),
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   120
    ('BACKGROUND',(1,0), (1,0),['HORIZONTAL', colors.blue, colors.green]),
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   121
    ('BACKGROUND',(0,1), (1,1),['HORIZONTAL', colors.grey, colors.red]),
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   122
    ('BACKGROUND',(0,2), (0,3),['VERTICAL', colors.blue, colors.green])
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   123
    ])
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   124
    t.setStyle(style)
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   125
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   126
    lst.append(t)
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   127
    doc.build(lst)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   128
3564
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   129
class TableBarChart(_DrawingEditorMixin,Drawing):
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   130
    def __init__(self,width=400,height=200,*args,**kw):
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   131
        Drawing.__init__(self,width,height,*args,**kw)
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   132
        self.width = 136
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   133
        self.height = 140
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   134
        self._add(self,VerticalBarChart(),name='chart',validate=None,desc=None)
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   135
        self.chart.y = 20
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   136
        self.chart.width = self.width - 21
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   137
        self.chart.height = self.height - 24
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   138
        self.chart.categoryAxis.categoryNames = ['Spring','Summer','Autumn','Winter']
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   139
        self.chart.categoryAxis.labels.fontSize = 7
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   140
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   141
def old_tables_test():
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   142
    from reportlab.lib.units import inch, cm
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   143
    from reportlab.platypus.flowables import Image, PageBreak, Spacer, XBox
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   144
    from reportlab.platypus.paragraph import Paragraph
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   145
    from reportlab.platypus.xpreformatted import XPreformatted
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   146
    from reportlab.platypus.flowables import Preformatted
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   147
    from reportlab.platypus.doctemplate import SimpleDocTemplate
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   148
    from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   149
    from reportlab.platypus.tables import GRID_STYLE, BOX_STYLE, LABELED_GRID_STYLE, COLORED_GRID_STYLE, LIST_STYLE, LongTable
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   150
    rowheights = (24, 16, 16, 16, 16)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   151
    rowheights2 = (24, 16, 16, 16, 30)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   152
    colwidths = (50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   153
    data = (
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   154
        ('', 'Jan', 'Feb', 'Mar','Apr','May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   155
        ('Mugs', 0, 4, 17, 3, 21, 47, 12, 33, 2, -2, 44, 89),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   156
        ('T-Shirts', 0, 42, 9, -3, 16, 4, 72, 89, 3, 19, 32, 119),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   157
        ('Key Ring', 0,0,0,0,0,0,1,0,0,0,2,13),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   158
        ('Hats', 893, 912, '1,212', 643, 789, 159, 888, '1,298', 832, 453, '1,344','2,843')
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   159
        )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   160
    data2 = (
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   161
        ('', 'Jan', 'Feb', 'Mar','Apr','May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   162
        ('Mugs', 0, 4, 17, 3, 21, 47, 12, 33, 2, -2, 44, 89),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   163
        ('T-Shirts', 0, 42, 9, -3, 16, 4, 72, 89, 3, 19, 32, 119),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   164
        ('Key Ring', 0,0,0,0,0,0,1,0,0,0,2,13),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   165
        ('Hats\nLarge', 893, 912, '1,212', 643, 789, 159, 888, '1,298', 832, 453, '1,344','2,843')
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   166
        )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   167
    lst = []
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   168
    lst.append(Paragraph("Tables", styleSheet['Heading1']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   169
    lst.append(Paragraph(__doc__, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   170
    lst.append(Paragraph("The Tables (shown in different styles below) were created using the following code:", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   171
    lst.append(Preformatted("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   172
    colwidths = (50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   173
    rowheights = (24, 16, 16, 16, 16)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   174
    data = (
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   175
        ('', 'Jan', 'Feb', 'Mar','Apr','May', 'Jun',
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   176
           'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   177
        ('Mugs', 0, 4, 17, 3, 21, 47, 12, 33, 2, -2, 44, 89),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   178
        ('T-Shirts', 0, 42, 9, -3, 16, 4, 72, 89, 3, 19, 32, 119),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   179
        ('Key Ring', 0,0,0,0,0,0,1,0,0,0,2,13),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   180
        ('Hats', 893, 912, '1,212', 643, 789, 159,
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   181
             888, '1,298', 832, 453, '1,344','2,843')
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   182
        )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   183
    t = Table(data, colwidths, rowheights)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   184
    """, styleSheet['Code'], dedent=4))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   185
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   186
    You can then give the Table a TableStyle object to control its format. The first TableStyle used was
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   187
    created as follows:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   188
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   189
    lst.append(Preformatted("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   190
GRID_STYLE = TableStyle(
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   191
    [('GRID', (0,0), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   192
     ('ALIGN', (1,1), (-1,-1), 'RIGHT')]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   193
    )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   194
    """, styleSheet['Code']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   195
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   196
    TableStyles are created by passing in a list of commands. There are two types of commands - line commands
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   197
    and cell formatting commands. In all cases, the first three elements of a command are the command name,
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   198
    the starting cell and the ending cell.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   199
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   200
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   201
    Line commands always follow this with the weight and color of the desired lines. Colors can be names,
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   202
    or they can be specified as a (R,G,B) tuple, where R, G and B are floats and (0,0,0) is black. The line
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   203
    command names are: GRID, BOX, OUTLINE, INNERGRID, LINEBELOW, LINEABOVE, LINEBEFORE
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   204
    and LINEAFTER. BOX and OUTLINE are equivalent, and GRID is the equivalent of applying both BOX and
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   205
    INNERGRID.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   206
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   207
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   208
    Cell formatting commands are:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   209
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   210
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   211
    FONT - takes fontname, fontsize and (optional) leading.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   212
    """, styleSheet['Definition']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   213
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   214
    TEXTCOLOR - takes a color name or (R,G,B) tuple.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   215
    """, styleSheet['Definition']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   216
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   217
    ALIGNMENT (or ALIGN) - takes one of LEFT, RIGHT, CENTRE (or CENTER) or DECIMAL.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   218
    """, styleSheet['Definition']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   219
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   220
    LEFTPADDING - defaults to 6.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   221
    """, styleSheet['Definition']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   222
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   223
    RIGHTPADDING - defaults to 6.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   224
    """, styleSheet['Definition']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   225
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   226
    BOTTOMPADDING - defaults to 3.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   227
    """, styleSheet['Definition']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   228
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   229
    A tablestyle is applied to a table by calling Table.setStyle(tablestyle).
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   230
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   231
    t = Table(data, colwidths, rowheights)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   232
    t.setStyle(GRID_STYLE)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   233
    lst.append(PageBreak())
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   234
    lst.append(Paragraph("This is GRID_STYLE\n", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   235
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   236
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   237
    t = Table(data, colwidths, rowheights)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   238
    t.setStyle(BOX_STYLE)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   239
    lst.append(Paragraph("This is BOX_STYLE\n", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   240
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   241
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   242
    It was created as follows:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   243
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   244
    lst.append(Preformatted("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   245
BOX_STYLE = TableStyle(
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   246
    [('BOX', (0,0), (-1,-1), 0.50, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   247
     ('ALIGN', (1,1), (-1,-1), 'RIGHT')]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   248
    )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   249
    """, styleSheet['Code']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   250
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   251
    t = Table(data, colwidths, rowheights)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   252
    t.setStyle(LABELED_GRID_STYLE)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   253
    lst.append(Paragraph("This is LABELED_GRID_STYLE\n", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   254
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   255
    t = Table(data2, colwidths, rowheights2)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   256
    t.setStyle(LABELED_GRID_STYLE)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   257
    lst.append(Paragraph("This is LABELED_GRID_STYLE ILLUSTRATES EXPLICIT LINE SPLITTING WITH NEWLINE (different heights and data)\n", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   258
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   259
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   260
    It was created as follows:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   261
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   262
    lst.append(Preformatted("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   263
LABELED_GRID_STYLE = TableStyle(
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   264
    [('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   265
     ('BOX', (0,0), (-1,-1), 2, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   266
     ('LINEBELOW', (0,0), (-1,0), 2, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   267
     ('LINEAFTER', (0,0), (0,-1), 2, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   268
     ('ALIGN', (1,1), (-1,-1), 'RIGHT')]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   269
    )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   270
    """, styleSheet['Code']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   271
    lst.append(PageBreak())
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   272
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   273
    t = Table(data, colwidths, rowheights)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   274
    t.setStyle(COLORED_GRID_STYLE)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   275
    lst.append(Paragraph("This is COLORED_GRID_STYLE\n", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   276
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   277
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   278
    It was created as follows:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   279
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   280
    lst.append(Preformatted("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   281
COLORED_GRID_STYLE = TableStyle(
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   282
    [('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   283
     ('BOX', (0,0), (-1,-1), 2, colors.red),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   284
     ('LINEBELOW', (0,0), (-1,0), 2, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   285
     ('LINEAFTER', (0,0), (0,-1), 2, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   286
     ('ALIGN', (1,1), (-1,-1), 'RIGHT')]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   287
    )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   288
    """, styleSheet['Code']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   289
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   290
    t = Table(data, colwidths, rowheights)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   291
    t.setStyle(LIST_STYLE)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   292
    lst.append(Paragraph("This is LIST_STYLE\n", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   293
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   294
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   295
    It was created as follows:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   296
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   297
    lst.append(Preformatted("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   298
LIST_STYLE = TableStyle(
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   299
    [('LINEABOVE', (0,0), (-1,0), 2, colors.green),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   300
     ('LINEABOVE', (0,1), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   301
     ('LINEBELOW', (0,-1), (-1,-1), 2, colors.green),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   302
     ('ALIGN', (1,1), (-1,-1), 'RIGHT')]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   303
    )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   304
    """, styleSheet['Code']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   305
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   306
    t = Table(data, colwidths, rowheights)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   307
    ts = TableStyle(
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   308
    [('LINEABOVE', (0,0), (-1,0), 2, colors.green),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   309
     ('LINEABOVE', (0,1), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   310
     ('LINEBELOW', (0,-1), (-1,-1), 3, colors.green,'butt'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   311
     ('LINEBELOW', (0,-1), (-1,-1), 1, colors.white,'butt'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   312
     ('ALIGN', (1,1), (-1,-1), 'RIGHT'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   313
     ('TEXTCOLOR', (0,1), (0,-1), colors.red),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   314
     ('BACKGROUND', (0,0), (-1,0), colors.Color(0,0.7,0.7))]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   315
    )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   316
    t.setStyle(ts)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   317
    lst.append(Paragraph("This is a custom style\n", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   318
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   319
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   320
    It was created as follows:
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   321
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   322
    lst.append(Preformatted("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   323
   ts = TableStyle(
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   324
    [('LINEABOVE', (0,0), (-1,0), 2, colors.green),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   325
     ('LINEABOVE', (0,1), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   326
     ('LINEBELOW', (0,-1), (-1,-1), 3, colors.green,'butt'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   327
     ('LINEBELOW', (0,-1), (-1,-1), 1, colors.white,'butt'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   328
     ('ALIGN', (1,1), (-1,-1), 'RIGHT'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   329
     ('TEXTCOLOR', (0,1), (0,-1), colors.red),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   330
     ('BACKGROUND', (0,0), (-1,0), colors.Color(0,0.7,0.7))]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   331
    )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   332
    """, styleSheet['Code']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   333
    data = (
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   334
        ('', 'Jan\nCold', 'Feb\n', 'Mar\n','Apr\n','May\n', 'Jun\nHot', 'Jul\n', 'Aug\nThunder', 'Sep\n', 'Oct\n', 'Nov\n', 'Dec\n'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   335
        ('Mugs', 0, 4, 17, 3, 21, 47, 12, 33, 2, -2, 44, 89),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   336
        ('T-Shirts', 0, 42, 9, -3, 16, 4, 72, 89, 3, 19, 32, 119),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   337
        ('Key Ring', 0,0,0,0,0,0,1,0,0,0,2,13),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   338
        ('Hats', 893, 912, '1,212', 643, 789, 159, 888, '1,298', 832, 453, '1,344','2,843')
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   339
        )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   340
    c = list(colwidths)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   341
    c[0] = None
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   342
    c[8] = None
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   343
    t = Table(data, c, [None]+list(rowheights[1:]))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   344
    t.setStyle(LIST_STYLE)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   345
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   346
        This is a LIST_STYLE table with the first rowheight set to None ie automatic.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   347
        The top row cells are split at a newline '\\n' character. The first and August
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   348
        column widths were also set to None.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   349
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   350
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   351
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   352
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   353
        This demonstrates a number of features useful in financial statements. The first is decimal alignment;
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   354
        with ALIGN=DECIMAL the numbers align on the points; and the points are aligned based on
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   355
        the RIGHTPADDING, which is usually 3 points so you should set it higher.  The second is multiple lines;
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   356
        one can specify double or triple lines and control the separation if desired. Finally, the coloured
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   357
        negative numbers were (we regret to say) done in the style; we don't have a way to conditionally
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   358
        format numbers based on value yet.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   359
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   360
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   361
3721
0c93dd8ff567 initial changes from 2to3-3.3
rptlab
parents: 3617
diff changeset
   362
    t = Table([['Corporate Assets','Amount'],
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   363
               ['Fixed Assets','1,234,567.89'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   364
               ['Company Vehicle','1,234.8901'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   365
               ['Petty Cash','42'],
3721
0c93dd8ff567 initial changes from 2to3-3.3
rptlab
parents: 3617
diff changeset
   366
               ['Intellectual Property\u00ae','(42,078,231.56)'],
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   367
               ['Overdraft','(12,345)'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   368
               ['Boardroom Flat Screen','60 inches'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   369
               ['Net Position','Deep Sh*t.Really']
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   370
               ],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   371
              [144,72])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   372
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   373
    ts = TableStyle(
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   374
        [#first the top row
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   375
         ('ALIGN', (1,1), (-1,-1), 'CENTER'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   376
         ('LINEABOVE', (0,0), (-1,0), 1, colors.purple),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   377
         ('LINEBELOW', (0,0), (-1,0), 1, colors.purple),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   378
         ('FONT', (0,0), (-1,0), 'Times-Bold'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   379
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   380
        #bottom row has a line above, and two lines below
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   381
         ('LINEABOVE', (0,-1), (-1,-1), 1, colors.purple),  #last 2 are count, sep
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   382
         ('LINEBELOW', (0,-1), (-1,-1), 0.5, colors.purple, 1, None, None, 4,1),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   383
         ('LINEBELOW', (0,-1), (-1,-1), 1, colors.red),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   384
         ('FONT', (0,-1), (-1,-1), 'Times-Bold'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   385
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   386
        #numbers column
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   387
         ('ALIGN', (1,1), (-1,-1), 'DECIMAL'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   388
         ('RIGHTPADDING', (1,1), (-1,-1), 36),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   389
         ('TEXTCOLOR', (1,4), (1,4), colors.red),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   390
4258
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   391
        #red cell
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   392
        ]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   393
        )
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   394
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   395
    t.setStyle(ts)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   396
    lst.append(t)
4258
d3e9de82a5aa add table cell support for simple background shadings, contributed by Jeffrey Creem jcreem@bitbucket
robin
parents: 4252
diff changeset
   397
    lst.append(Spacer(36,36))
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   398
    lst.append(Paragraph("""
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   399
        The red numbers should be aligned LEFT &amp; BOTTOM, the blue RIGHT &amp; TOP
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   400
        and the green CENTER &amp; MIDDLE.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   401
    """, styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   402
    XY  =   [['X00y', 'X01y', 'X02y', 'X03y', 'X04y'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   403
            ['X10y', 'X11y', 'X12y', 'X13y', 'X14y'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   404
            ['X20y', 'X21y', 'X22y', 'X23y', 'X24y'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   405
            ['X30y', 'X31y', 'X32y', 'X33y', 'X34y']]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   406
    t=Table(XY, 5*[0.6*inch], 4*[0.6*inch])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   407
    t.setStyle([('ALIGN',(1,1),(-2,-2),'LEFT'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   408
                ('TEXTCOLOR',(1,1),(-2,-2),colors.red),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   409
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   410
                ('VALIGN',(0,0),(1,-1),'TOP'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   411
                ('ALIGN',(0,0),(1,-1),'RIGHT'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   412
                ('TEXTCOLOR',(0,0),(1,-1),colors.blue),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   413
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   414
                ('ALIGN',(0,-1),(-1,-1),'CENTER'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   415
                ('VALIGN',(0,-1),(-1,-1),'MIDDLE'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   416
                ('TEXTCOLOR',(0,-1),(-1,-1),colors.green),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   417
                ('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   418
                ('BOX', (0,0), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   419
                ])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   420
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   421
    data = [('alignment', 'align\012alignment'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   422
            ('bulletColor', 'bulletcolor\012bcolor'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   423
            ('bulletFontName', 'bfont\012bulletfontname'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   424
            ('bulletFontSize', 'bfontsize\012bulletfontsize'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   425
            ('bulletIndent', 'bindent\012bulletindent'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   426
            ('firstLineIndent', 'findent\012firstlineindent'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   427
            ('fontName', 'face\012fontname\012font'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   428
            ('fontSize', 'size\012fontsize'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   429
            ('leading', 'leading'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   430
            ('leftIndent', 'leftindent\012lindent'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   431
            ('rightIndent', 'rightindent\012rindent'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   432
            ('spaceAfter', 'spaceafter\012spacea'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   433
            ('spaceBefore', 'spacebefore\012spaceb'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   434
            ('textColor', 'fg\012textcolor\012color')]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   435
    t = Table(data)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   436
    t.setStyle([
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   437
            ('VALIGN',(0,0),(-1,-1),'TOP'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   438
            ('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   439
            ('BOX', (0,0), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   440
            ])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   441
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   442
    t = Table([ ('Attribute', 'Synonyms'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   443
                ('alignment', 'align, alignment'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   444
                ('bulletColor', 'bulletcolor, bcolor'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   445
                ('bulletFontName', 'bfont, bulletfontname'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   446
                ('bulletFontSize', 'bfontsize, bulletfontsize'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   447
                ('bulletIndent', 'bindent, bulletindent'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   448
                ('firstLineIndent', 'findent, firstlineindent'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   449
                ('fontName', 'face, fontname, font'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   450
                ('fontSize', 'size, fontsize'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   451
                ('leading', 'leading'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   452
                ('leftIndent', 'leftindent, lindent'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   453
                ('rightIndent', 'rightindent, rindent'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   454
                ('spaceAfter', 'spaceafter, spacea'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   455
                ('spaceBefore', 'spacebefore, spaceb'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   456
                ('textColor', 'fg, textcolor, color')])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   457
    t.repeatRows = 1
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   458
    t.setStyle([
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   459
                ('FONT',(0,0),(-1,1),'Times-Bold',10,12),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   460
                ('FONT',(0,1),(-1,-1),'Courier',8,8),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   461
                ('VALIGN',(0,0),(-1,-1),'MIDDLE'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   462
                ('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   463
                ('BOX', (0,0), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   464
                ('BACKGROUND', (0, 0), (-1, 0), colors.green),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   465
                ('BACKGROUND', (0, 1), (-1, -1), colors.pink),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   466
                ('ALIGN', (0, 0), (-1, 0), 'CENTER'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   467
                ('ALIGN', (0, 1), (0, -1), 'LEFT'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   468
                ('ALIGN', (-1, 1), (-1, -1), 'RIGHT'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   469
                ('FONT', (0, 0), (-1, 0), 'Times-Bold', 12),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   470
                ('ALIGN', (1, 1), (1, -1), 'CENTER'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   471
                ])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   472
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   473
    lst.append(Table(XY,
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   474
            style=[ ('FONT',(0,0),(-1,-1),'Times-Roman', 5,6),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   475
                    ('GRID', (0,0), (-1,-1), 0.25, colors.blue),]))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   476
    lst.append(Table(XY,
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   477
            style=[ ('FONT',(0,0),(-1,-1),'Times-Roman', 10,12),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   478
                    ('GRID', (0,0), (-1,-1), 0.25, colors.black),]))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   479
    lst.append(Table(XY,
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   480
            style=[ ('FONT',(0,0),(-1,-1),'Times-Roman', 20,24),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   481
                    ('GRID', (0,0), (-1,-1), 0.25, colors.red),]))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   482
    lst.append(PageBreak())
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   483
    data=  [['00', '01', '02', '03', '04'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   484
            ['10', '11', '12', '13', '14'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   485
            ['20', '21', '22', '23', '24'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   486
            ['30', '31', '32', '33', '34']]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   487
    t=Table(data,style=[
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   488
                    ('GRID',(0,0),(-1,-1),0.5,colors.grey),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   489
                    ('GRID',(1,1),(-2,-2),1,colors.green),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   490
                    ('BOX',(0,0),(1,-1),2,colors.red),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   491
                    ('BOX',(0,0),(-1,-1),2,colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   492
                    ('LINEABOVE',(1,2),(-2,2),1,colors.blue),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   493
                    ('LINEBEFORE',(2,1),(2,-2),1,colors.pink),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   494
                    ('BACKGROUND', (0, 0), (0, 1), colors.pink),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   495
                    ('BACKGROUND', (1, 1), (1, 2), colors.lavender),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   496
                    ('BACKGROUND', (2, 2), (2, 3), colors.orange),
4269
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   497
                    ('TEXTCOLOR',(0,-1),(-2,-1),colors.green),
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   498
                    ])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   499
    lst.append(Paragraph("Illustrating splits: nosplit", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   500
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   501
    lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   502
    lst.append(Paragraph("Illustrating splits: split(4in,30)", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   503
    for s in t.split(4*inch,30):
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   504
        lst.append(s)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   505
        lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   506
    lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   507
    lst.append(Paragraph("Illustrating splits: split(4in,36)", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   508
    for s in t.split(4*inch,36):
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   509
        lst.append(s)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   510
        lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   511
    lst.append(Paragraph("Illustrating splits: split(4in,56)", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   512
    lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   513
    for s in t.split(4*inch,56):
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   514
        lst.append(s)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   515
        lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   516
4269
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   517
    lst.append(Paragraph("Illustrating splits: repeated split(4in,30)", styleSheet['BodyText']))
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   518
    lst.append(Spacer(0,6))
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   519
    S = t.split(4*inch,30)
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   520
    s = S.pop(-1)
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   521
    S.extend(s.split(4*inch,30))
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   522
    s = S.pop(-1)
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   523
    S.extend(s.split(4*inch,30))
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   524
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   525
    for s in S:
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   526
        lst.append(s)
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   527
        lst.append(Spacer(0,6))
305766131a79 add negative span style to test_platypus_tables splitting example
robin
parents: 4264
diff changeset
   528
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   529
    lst.append(PageBreak())
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   530
    data=  [['00', '01', '02', '03', '04'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   531
            ['', '11', '12', '13', '14'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   532
            ['20', '21', '22', '23', '24'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   533
            ['30', '31', '', '33', '34']]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   534
    sty=[
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   535
                    ('GRID',(0,0),(-1,-1),0.5,colors.grey),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   536
                    ('GRID',(1,1),(-2,-2),1,colors.green),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   537
                    ('BOX',(0,0),(1,-1),2,colors.red),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   538
                    ('BOX',(0,0),(-1,-1),2,colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   539
                    ('LINEABOVE',(1,2),(-2,2),1,colors.blue),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   540
                    ('LINEBEFORE',(2,1),(2,-2),1,colors.pink),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   541
                    ('BACKGROUND', (0, 0), (0, 1), colors.pink),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   542
                    ('SPAN',(0,0),(0,1)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   543
                    ('BACKGROUND', (2, 2), (2, 3), colors.orange),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   544
                    ('SPAN',(2,2),(2,3)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   545
                    ]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   546
    t=Table(data,style=sty)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   547
    lst.append(Paragraph("Illustrating splits with spans: nosplit", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   548
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   549
    lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   550
    lst.append(Paragraph("Illustrating splits with spans: split(4in,30)", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   551
    for s in t.split(4*inch,30):
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   552
        lst.append(s)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   553
        lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   554
    lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   555
    lst.append(Paragraph("Illustrating splits with spans: split(4in,36)", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   556
    for s in t.split(4*inch,36):
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   557
        lst.append(s)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   558
        lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   559
    lst.append(Paragraph("Illustrating splits with spans: split(4in,56)", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   560
    lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   561
    for s in t.split(4*inch,56):
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   562
        lst.append(s)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   563
        lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   564
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   565
    data=  [['00', '01', '02', '03', '04'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   566
            ['', '11', '12', '13', ''],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   567
            ['20', '21', '22', '23', '24'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   568
            ['30', '31', '', '33', ''],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   569
            ['40', '41', '', '43', '44']]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   570
    sty=[
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   571
        ('GRID',(0,0),(-1,-1),0.5,colors.grey),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   572
        ('GRID',(1,1),(-2,-2),1,colors.green),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   573
        ('BOX',(0,0),(1,-1),2,colors.red),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   574
        ('BOX',(0,0),(-1,-1),2,colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   575
        ('LINEABOVE',(1,2),(-2,2),1,colors.blue),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   576
        ('LINEBEFORE',(2,1),(2,-2),1,colors.pink),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   577
        ('BACKGROUND', (0, 0), (0, 1), colors.pink),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   578
        ('SPAN',(0,0),(0,1)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   579
        ('BACKGROUND',(-2,1),(-1,1),colors.palegreen),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   580
        ('SPAN',(-2,1),(-1,1)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   581
        ('BACKGROUND',(-2,3),(-1,3),colors.yellow),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   582
        ('SPAN',(-2,3),(-1,3)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   583
        ('BACKGROUND', (2, 3), (2, 4), colors.orange),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   584
        ('SPAN',(2,3),(2,4)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   585
        ]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   586
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   587
    t=Table(data,style=sty,repeatRows=2)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   588
    lst.append(Paragraph("Illustrating splits with spans and repeatRows: nosplit", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   589
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   590
    lst.append(Spacer(0,6))
3461
69feb4332117 test_platypus_tables.py: minor changes
rgbecker
parents: 3154
diff changeset
   591
    if  1:
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   592
        lst.append(Paragraph("Illustrating splits with spans and repeatRows: split(4in,30)", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   593
        for s in t.split(4*inch,30):
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   594
            lst.append(s)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   595
            lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   596
        lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   597
        lst.append(Paragraph("Illustrating splits with spans and repeatRows: split(4in,36)", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   598
        for s in t.split(4*inch,36):
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   599
            lst.append(s)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   600
            lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   601
    lst.append(Paragraph("Illustrating splits with spans and repeatRows: split(4in,56)", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   602
    lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   603
    for s in t.split(4*inch,56):
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   604
        lst.append(s)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   605
        lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   606
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   607
    lst.append(PageBreak())
2987
711910106e3a tests: more changes to testsFolder and friends
rgbecker
parents: 2984
diff changeset
   608
    from reportlab.lib.testutils import testsFolder
2966
c9df63ccabdf reportlab-2.2: major changes to make tests run
rgbecker
parents: 2963
diff changeset
   609
    I = Image(os.path.join(os.path.dirname(testsFolder),'tools','pythonpoint','demos','leftlogo.gif'))
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   610
    I.drawHeight = 1.25*inch*I.drawHeight / I.drawWidth
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   611
    I.drawWidth = 1.25*inch
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   612
    #I.drawWidth = 9.25*inch #uncomment to see better messaging
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   613
    P = Paragraph("<para align=center spaceb=3>The <b>ReportLab Left <font color=red>Logo</font></b> Image</para>", styleSheet["BodyText"])
3564
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   614
    B = TableBarChart()
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   615
    BP = Paragraph("<para align=center spaceb=3>A bar chart in a cell.</para>", styleSheet["BodyText"])
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   616
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   617
    data=  [['A', 'B', 'C', Paragraph("<b>A pa<font color=red>r</font>a<i>graph</i></b><super><font color=yellow>1</font></super>",styleSheet["BodyText"]), 'D'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   618
            ['00', '01', '02', [I,P], '04'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   619
            ['10', '11', '12', [I,P], '14'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   620
            ['20', '21', '22', '23', '24'],
3564
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   621
            ['30', '31', '32', '33', '34'],
fd1f9e74eac2 test_platypus_paragraphs.py simple test of PageTemplate.autoNextPageTemplate
rgbecker
parents: 3461
diff changeset
   622
            ['40', '41', '42', [B,BP], '44']]
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   623
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   624
    t=Table(data,style=[('GRID',(1,1),(-2,-2),1,colors.green),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   625
                    ('BOX',(0,0),(1,-1),2,colors.red),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   626
                    ('LINEABOVE',(1,2),(-2,2),1,colors.blue),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   627
                    ('LINEBEFORE',(2,1),(2,-2),1,colors.pink),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   628
                    ('BACKGROUND', (0, 0), (0, 1), colors.pink),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   629
                    ('BACKGROUND', (1, 1), (1, 2), colors.lavender),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   630
                    ('BACKGROUND', (2, 2), (2, 3), colors.orange),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   631
                    ('BOX',(0,0),(-1,-1),2,colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   632
                    ('GRID',(0,0),(-1,-1),0.5,colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   633
                    ('VALIGN',(3,0),(3,0),'BOTTOM'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   634
                    ('BACKGROUND',(3,0),(3,0),colors.limegreen),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   635
                    ('BACKGROUND',(3,1),(3,1),colors.khaki),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   636
                    ('ALIGN',(3,1),(3,1),'CENTER'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   637
                    ('BACKGROUND',(3,2),(3,2),colors.beige),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   638
                    ('ALIGN',(3,2),(3,2),'LEFT'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   639
                    ])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   640
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   641
    t._argW[3]=1.5*inch
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   642
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   643
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   644
    # now for an attempt at column spanning.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   645
    lst.append(PageBreak())
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   646
    data=  [['A', 'BBBBB', 'C', 'D', 'E'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   647
            ['00', '01', '02', '03', '04'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   648
            ['10', '11', '12', '13', '14'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   649
            ['20', '21', '22', '23', '24'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   650
            ['30', '31', '32', '33', '34']]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   651
    sty = [
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   652
            ('ALIGN',(0,0),(-1,-1),'CENTER'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   653
            ('VALIGN',(0,0),(-1,-1),'TOP'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   654
            ('GRID',(0,0),(-1,-1),1,colors.green),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   655
            ('BOX',(0,0),(-1,-1),2,colors.red),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   656
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   657
            #span 'BBBB' across middle 3 cells in top row
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   658
            ('SPAN',(1,0),(3,0)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   659
            #now color the first cell in this range only,
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   660
            #i.e. the one we want to have spanned.  Hopefuly
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   661
            #the range of 3 will come out khaki.
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   662
            ('BACKGROUND',(1,0),(1,0),colors.khaki),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   663
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   664
            ('SPAN',(0,2),(-1,2)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   665
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   666
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   667
            #span 'AAA'down entire left column
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   668
            ('SPAN',(0,0), (0, 1)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   669
            ('BACKGROUND',(0,0),(0,0),colors.cyan),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   670
            ('LINEBELOW', (0,'splitlast'), (-1,'splitlast'), 1, colors.white,'butt'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   671
           ]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   672
    t=Table(data,style=sty, colWidths = [20] * 5, rowHeights = [20]*5)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   673
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   674
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   675
    # now for an attempt at percentage widths
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   676
    lst.append(Spacer(18,18))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   677
    lst.append(Paragraph("This table has colWidths=5*['14%']!", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   678
    t=Table(data,style=sty, colWidths = ['14%'] * 5, rowHeights = [20]*5)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   679
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   680
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   681
    lst.append(Spacer(18,18))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   682
    lst.append(Paragraph("This table has colWidths=['14%','10%','19%','22%','*']!", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   683
    t=Table(data,style=sty, colWidths = ['14%','10%','19%','22%','*'], rowHeights = [20]*5)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   684
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   685
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   686
    # Mike's test example
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   687
    lst.append(Spacer(18,18))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   688
    lst.append(Paragraph('Mike\'s Spanning Example', styleSheet['Heading1']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   689
    data=  [[Paragraph('World Domination: The First Five Years', styleSheet['BodyText']), ''],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   690
            [Paragraph('World <font color="green">Domination</font>: The First Five Years', styleSheet['BodyText']),''],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   691
            [Paragraph('World Domination: The First Five Years', styleSheet['BodyText']), ''],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   692
            ]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   693
    t=Table(data, style=[('SPAN',(0,0),(1,0)),('SPAN',(0,1),(1,1)),('SPAN',(0,2),(1,2)),], colWidths = [3*cm,8*cm], rowHeights = [None]*3)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   694
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   695
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   696
    lst.append(Spacer(18,18))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   697
    lst.append(Paragraph('Mike\'s Non-spanning Example', styleSheet['Heading1']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   698
    data=  [[Paragraph('World Domination: The First Five Years', styleSheet['BodyText'])],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   699
            [Paragraph('World <font color="magenta">Domination</font>: The First Five Years', styleSheet['BodyText'])],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   700
            [Paragraph('World Domination: The First Five Years', styleSheet['BodyText'])],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   701
            ]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   702
    t=Table(data, style=[], colWidths = [11*cm], rowHeights = [None]*3)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   703
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   704
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   705
    lst.append(Spacer(18,18))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   706
    lst.append(Paragraph('xpre example', styleSheet['Heading1']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   707
    data=  [    [
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   708
                XPreformatted('Account Details', styleSheet['Heading3']),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   709
                '', XPreformatted('Client Details', styleSheet['Heading3']),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   710
                ],  #end of row 0
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   711
            ]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   712
    t=Table(data, style=[], colWidths = [80,230.0,80], rowHeights = [None]*1)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   713
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   714
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   715
    lst.append(PageBreak())
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   716
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   717
    lst.append(Paragraph('Trying colour cycling in background', styleSheet['Heading1']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   718
    lst.append(Paragraph("This should alternate pale blue and uncolored by row", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   719
    data=  [['001', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   720
            ['002', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   721
            ['003', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   722
            ['004', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   723
            ['005', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   724
            ['006', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   725
            ['007', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   726
            ['008', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   727
            ['009', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   728
            ['010', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   729
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   730
            ]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   731
    t=Table(data,style=[
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   732
                    ('GRID',(0,0),(-1,-1),0.5,colors.grey),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   733
                    ('ROWBACKGROUNDS', (0, 0), (-1, -1), (0xD0D0FF, None)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   734
                    ])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   735
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   736
    lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   737
    lst.append(Paragraph("And this should pale blue, pale pink and None by column", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   738
    data=  [['001', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   739
            ['002', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   740
            ['003', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   741
            ['004', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   742
            ['005', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   743
            ['006', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   744
            ['007', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   745
            ['008', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   746
            ['009', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   747
            ['010', '01', '02', '03', '04', '05'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   748
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   749
            ]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   750
    t=Table(data,style=[
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   751
                    ('GRID',(0,0),(-1,-1),0.5,colors.grey),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   752
                    ('COLBACKGROUNDS', (0, 0), (-1, -1), (0xD0D0FF, 0xFFD0D0, None)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   753
                    ])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   754
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   755
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   756
    lst.append(PageBreak())
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   757
    lst.append(Paragraph("This spanning example illustrates automatic removal of grids and lines in spanned cells!", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   758
    lst.append(Spacer(0,6))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   759
    data=  [['Top\nLeft', '', '02', '03', '04', '05', '06', '07'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   760
            ['', '', '12', 'Span (3,1) (6,2)', '','','','17'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   761
            ['20', '21', '22', '', '','','','27'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   762
            ['30', '31', '32', '33', '34','35','36','37'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   763
            ['40', 'In The\nMiddle', '', '', '44','45','46','47'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   764
            ['50', '', '', '', '54','55','56','57'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   765
            ['60', '', '', '','64', '65', 'Bottom\nRight', ''],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   766
            ['70', '71', '72', '73','74', '75', '', '']]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   767
    t=Table(data,style=[
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   768
            ('GRID',(0,0),(-1,-1),0.5,colors.grey),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   769
            ('BACKGROUND',(0,0),(1,1),colors.palegreen),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   770
            ('SPAN',(0,0),(1,1)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   771
            ('BACKGROUND',(-2,-2),(-1,-1), colors.pink),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   772
            ('SPAN',(-2,-2),(-1,-1)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   773
            ('SPAN',(1,4),(3,6)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   774
            ('BACKGROUND',(1,4),(3,6), colors.lightblue),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   775
            ('SPAN',(3,1),(6,2)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   776
            ('BACKGROUND',(3,1),(6,2), colors.peachpuff),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   777
            ('VALIGN',(3,1),(6,2),'TOP'),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   778
            ('LINEABOVE', (0,2),(-1,2), 1, colors.black, 0, None, None, 2, 2),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   779
            ('LINEBEFORE', (3,0),(3,-1), 1, colors.black, 0, None, None, 2, 2),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   780
            ])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   781
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   782
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   783
    lst.append(PageBreak())
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   784
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   785
    lst.append(Paragraph("und jetzt noch eine Tabelle mit 5000 Zeilen:", styleSheet['BodyText']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   786
    sty = [ ('GRID',(0,0),(-1,-1),1,colors.green),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   787
            ('BOX',(0,0),(-1,-1),2,colors.red),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   788
           ]
3721
0c93dd8ff567 initial changes from 2to3-3.3
rptlab
parents: 3617
diff changeset
   789
    data = [[str(i), Paragraph("xx "* (i%10), styleSheet["BodyText"]), Paragraph("blah "*(i%40), styleSheet["BodyText"])] for i in range(500)]
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   790
    t=LongTable(data, style=sty, colWidths = [50,100,200])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   791
    lst.append(t)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   792
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   793
    #Yuan Hong's bug tester
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   794
    lst.append(PageBreak())
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   795
    lst.append(Paragraph('Yian Hong\'s Bug Case (should not blow up)', styleSheet['Heading2']))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   796
    data = ([['Col1', 'Col2', 'Col3', 'Col4', 'Col5']]+
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   797
                [['01', Paragraph('This is cell one that contains a paragraph.', styleSheet['Normal']), '02', '03', '04']
3721
0c93dd8ff567 initial changes from 2to3-3.3
rptlab
parents: 3617
diff changeset
   798
                    for i in range(50)])
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   799
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   800
    t = Table(data, ['20%']*5, repeatRows=1)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   801
    t.setStyle(TableStyle([
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   802
        ('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   803
        ('BOX', (0,0), (-1,-1), 0.25, colors.black),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   804
        ('SPAN', (0,50), (-2,50)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   805
        ]))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   806
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   807
    lst.append(t)
3461
69feb4332117 test_platypus_tables.py: minor changes
rgbecker
parents: 3154
diff changeset
   808
    lst.append(PageBreak())
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   809
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   810
    #Volker Haas' example extended
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   811
    #the optimal row heights are the solution of an LP similar to
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   812
    #
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   813
    #Objective function
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   814
    #   min: 3*h0+3*h1+3*h2+2*h3;
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   815
    #
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   816
    #constraints
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   817
    #   h0>=12;
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   818
    #   h1>=12;
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   819
    #   h2>=12;
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   820
    #   h3>=12;
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   821
    #   h0+h1+h2>=48;
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   822
    #   h0+h1>=12;
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   823
    #   h2+h3>=60;
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   824
    #
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   825
    #the solution H=[12,12,24,36]
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   826
    def makeTable(x,y):
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   827
        return Table([
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   828
                ['00', '01', '02', '03', '04', '05\nline2\nline3\nline4'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   829
                ['', '11', '12', x, '',''],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   830
                ['20', '21', y, '23', '24',''],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   831
                ['30', '31', '', '33', '34','35'],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   832
                ],
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   833
                style=[
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   834
                    ('TOPPADDING',(0,0),(-1,-1),0),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   835
                    ('BOTTOMPADDING',(0,0),(-1,-1),0),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   836
                    ('RIGHTPADDING',(0,0),(-1,-1),0),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   837
                    ('LEFTPADDING',(0,0),(-1,-1),0),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   838
                    ('GRID',(0,0),(-1,-1),0.5,colors.grey),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   839
                    ('BACKGROUND', (0, 0), (0, 1), colors.pink),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   840
                    ('SPAN',(0,0),(0,1)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   841
                    ('BACKGROUND', (2, 2), (2, 3), colors.orange),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   842
                    ('SPAN',(2,2),(2,3)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   843
                    ('SPAN',(3,1),(4,1)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   844
                    ('SPAN',(5,0),(5,2)),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   845
                ])
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   846
    p_style= ParagraphStyle('Normal')
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   847
    lst.append(makeTable(
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   848
            Paragraph('This is a string',p_style),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   849
            Paragraph('22<br/>blub<br/>asfd<br/>afd<br/>asdfs', p_style)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   850
            ))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   851
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   852
    lst.append(Spacer(10,10))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   853
    lst.append(makeTable(
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   854
            XPreformatted('This is a string',p_style),
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   855
            Paragraph('22<br/>blub<br/>asfd<br/>afd<br/>asdfs', p_style)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   856
            ))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   857
    lst.append(Spacer(10,10))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   858
    lst.append(makeTable(
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   859
            'This is a string',
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   860
            '22\nblub\nasfd\nafd\nasdfs',
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   861
            ))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   862
    lst.append(Spacer(10,10))
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   863
    lst.append(makeTable(
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   864
            'This is a string',
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   865
            Paragraph('22<br/>blub<br/>asfd<br/>afd<br/>asdfs', p_style)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   866
            ))
3148
fed6b457b190 wrote test to show misalignment
andy
parents: 2987
diff changeset
   867
    SimpleDocTemplate(outputfile('test_platypus_tables_2.pdf'), showBoundary=1).build(lst)
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   868
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   869
class TablesTestCase(unittest.TestCase):
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   870
    "Make documents with tables"
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   871
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   872
    def test0(self):
4264
295afbf0f4c8 import Table _rowpositions calculation; version-->3.3.5
robin
parents: 4258
diff changeset
   873
        "Make a document full of tables 0"
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   874
        run()
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   875
3149
8db48c1b721f wrote test to show misalignment
andy
parents: 3148
diff changeset
   876
    def test1(self):
4264
295afbf0f4c8 import Table _rowpositions calculation; version-->3.3.5
robin
parents: 4258
diff changeset
   877
        "Make a document full of tables 1"
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   878
        old_tables_test()
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   879
4250
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   880
    def test2(self):
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   881
        '''buggy table example from Lele Gaifax https://bitbucket.org/lele/
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   882
        should split to two pages with the blue box on page 1 complete
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   883
        '''
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   884
        from reportlab.lib.pagesizes import A4, landscape
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   885
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   886
        data = [
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   887
            ['Date', '08 AM', '', '', '', '09 AM', '', '', '', '10 AM', '', '', '', '11 AM', '', '', '', '12 PM', '', '', '', '01 PM', '', '', '', '02 PM', '', '', '', '03 PM', '', '', '', '04 PM', '', '', '', '05 PM', '', '', '', '06 PM', '', '', '', '07 PM', '', '', '', '08 PM', '', '', '', '09 PM', '', '', '', '10 PM', '', '', '', '11 PM', '', '', ''],
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   888
            ['04-30-2015', '', '', '', '', '09:00 AM\n:\n01:00 PM\nSupervision\nReception', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   889
            ['05-01-2015', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '01:00 PM\n:\n04:00 PM\nSupervision\nInfo point 1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   890
            ['05-03-2015', '', '', '', '', '09:00 AM\n:\n01:00 PM\nSupervision\nReception', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   891
            ['05-04-2015', '', '', '', '', '', '', '', '', '10:00 AM\n:\n01:00 PM\nSupervision\nInfo point 2', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '03:00 PM\n:\n05:30 PM\nSupervision\nInfo point 3', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   892
            ['05-05-2015', '', '', '', '', '09:00 AM\n:\n01:00 PM\nSupervision\nReception', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   893
            ['05-08-2015', '', '', '', '', '', '', '', '', '10:00 AM\n:\n01:00 PM\nSupervision\nInfo point 2', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '02:30 PM\n:\n05:30 PM\nSupervision\nInfo point 3', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   894
            ['05-10-2015', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '04:00 PM\n:\n08:00 PM\nSupervision\nInfo point 2', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   895
         ]
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   896
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   897
        style = [
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   898
            ('SPAN', (1, 0), (4, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   899
            ('SPAN', (5, 0), (8, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   900
            ('SPAN', (9, 0), (12, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   901
            ('SPAN', (13, 0), (16, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   902
            ('SPAN', (17, 0), (20, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   903
            ('SPAN', (21, 0), (24, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   904
            ('SPAN', (25, 0), (28, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   905
            ('SPAN', (29, 0), (32, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   906
            ('SPAN', (33, 0), (36, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   907
            ('SPAN', (37, 0), (40, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   908
            ('SPAN', (41, 0), (44, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   909
            ('SPAN', (45, 0), (48, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   910
            ('SPAN', (49, 0), (52, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   911
            ('SPAN', (53, 0), (56, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   912
            ('SPAN', (57, 0), (60, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   913
            ('SPAN', (61, 0), (64, 0)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   914
            ('SPAN', (1, -1), (4, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   915
            ('SPAN', (5, -1), (8, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   916
            ('SPAN', (9, -1), (12, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   917
            ('SPAN', (13, -1), (16, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   918
            ('SPAN', (17, -1), (20, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   919
            ('SPAN', (21, -1), (24, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   920
            ('SPAN', (25, -1), (28, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   921
            ('SPAN', (29, -1), (32, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   922
            ('SPAN', (33, -1), (36, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   923
            ('SPAN', (37, -1), (40, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   924
            ('SPAN', (41, -1), (44, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   925
            ('SPAN', (45, -1), (48, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   926
            ('SPAN', (49, -1), (52, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   927
            ('SPAN', (53, -1), (56, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   928
            ('SPAN', (57, -1), (60, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   929
            ('SPAN', (61, -1), (64, -1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   930
            ('ALIGN', (0, 0), (-1, -1), 'CENTER'),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   931
            ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   932
            ('SIZE', (0, 1), (0, -1), 8),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   933
            ('SIZE', (1, 1), (-1, -1), 6),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   934
            ('BOX', (5, 1), (20, 1), 1, colors.black), ('SPAN', (5, 1), (20, 1)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   935
            ('BOX', (21, 2), (32, 2), 1, colors.black), ('SPAN', (21, 2), (32, 2)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   936
            ('BOX', (5, 3), (20, 3), 1, colors.black), ('SPAN', (5, 3), (20, 3)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   937
            ('BOX', (9, 4), (20, 4), 1, colors.black), ('SPAN', (9, 4), (20, 4)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   938
            ('BOX', (29, 4), (38, 4), 1, colors.black), ('SPAN', (29, 4), (38, 4)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   939
            ('BOX', (5, 5), (20, 5), 1, colors.green), ('SPAN', (5, 5), (20, 5)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   940
            ('BOX', (9, 6), (20, 6), 1, colors.red), ('SPAN', (9, 6), (20, 6)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   941
            ('BOX', (27, 6), (38, 6), 1, colors.blue),('SPAN', (27, 6), (38, 6)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   942
            ('BOX', (33, 7), (48, 7), 1, colors.black),('SPAN', (33, 7), (48, 7)),
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   943
            ]
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   944
        t = Table(data, colWidths=None, rowHeights=None, style=style, repeatRows=1)
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   945
        doc = SimpleDocTemplate(outputfile('test_platypus_tables_issue74.pdf'), showBoundary=0, pagesize=landscape(A4))
3ed1ea9c1fc4 fix issue74 reported by Lele Gaifax https://bitbucket.org/lele/; version --> 3.2.18
robin
parents: 4067
diff changeset
   946
        doc.build([t])
2963
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   947
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   948
def makeSuite():
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   949
    return makeSuiteForClasses(TablesTestCase)
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   950
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   951
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   952
#noruntests
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   953
if __name__ == "__main__":
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   954
    unittest.TextTestRunner().run(makeSuite())
c414c0ab69e7 reportlab-2.2: first stage of major re-org
rgbecker
parents:
diff changeset
   955
    printLocation()