test_widgets_grids.py :  » PDF » ReportLab » ReportLab_2_4 » tests » Python Open Source

Home
Python Open Source
1.3.1.2 Python
2.Ajax
3.Aspect Oriented
4.Blog
5.Build
6.Business Application
7.Chart Report
8.Content Management Systems
9.Cryptographic
10.Database
11.Development
12.Editor
13.Email
14.ERP
15.Game 2D 3D
16.GIS
17.GUI
18.IDE
19.Installer
20.IRC
21.Issue Tracker
22.Language Interface
23.Log
24.Math
25.Media Sound Audio
26.Mobile
27.Network
28.Parser
29.PDF
30.Project Management
31.RSS
32.Search
33.Security
34.Template Engines
35.Test
36.UML
37.USB Serial
38.Web Frameworks
39.Web Server
40.Web Services
41.Web Unit
42.Wiki
43.Windows
44.XML
Python Open Source » PDF » ReportLab 
ReportLab » ReportLab_2_4 » tests » test_widgets_grids.py
from reportlab.lib.testutils import setOutDir,makeSuiteForClasses,outputfile,printLocation
setOutDir(__name__)
import unittest
from reportlab.lib import colors
from reportlab.graphics.shapes import Drawing,Group,Line,Rect
from reportlab.graphics.widgetbase import Widget
from reportlab.graphics.widgets.grids import *
from reportlab.graphics import renderPDF
from reportlab.graphics import renderSVG


class GridTestCase(unittest.TestCase):
    "Testing diagrams containing grid widgets."

    def _test0(self):
        "Create color ranges."

        c0, c1 = colors.Color(0, 0, 0), colors.Color(1, 1, 1)
        for c in colorRange(c0, c1, 4):
            print c
        print

        c0, c1 = colors.CMYKColor(0, 0, 0, 0), colors.CMYKColor(0, 0, 0, 1)
        for c in colorRange(c0, c1, 4):
            print c
        print

        c0, c1 = colors.PCMYKColor(0, 0, 0, 0), colors.PCMYKColor(0, 0, 0, 100)
        for c in colorRange(c0, c1, 4):
            print c
        print


    def makeDrawing0(self):
        "Generate a RLG drawing with some uncommented grid samples."

        D = Drawing(450, 650)

        d = 80
        s = 50

        for row in range(10):
            y = 530 - row*d
            if row == 0:
                for col in range(4):
                    x = 20 + col*d
                    g = Grid()
                    g.x = x
                    g.y = y
                    g.width = s
                    g.height = s
                    g.useRects = 0
                    g.useLines = 1
                    if col == 0:
                        pass
                    elif col == 1:
                        g.delta0 = 10
                    elif col == 2:
                        g.orientation = 'horizontal'
                    elif col == 3:
                        g.deltaSteps = [5, 10, 20, 30]
                    g.demo()
                    D.add(g)
            elif row == 1:
                for col in range(4):
                    x = 20 + col*d
                    g = Grid()
                    g.y = y
                    g.x = x
                    g.width = s
                    g.height = s
                    if col == 0:
                        pass
                    elif col == 1:
                        g.delta0 = 10
                    elif col == 2:
                        g.orientation = 'horizontal'
                    elif col == 3:
                        g.deltaSteps = [5, 10, 20, 30]
                        g.useRects = 1
                        g.useLines = 0
                    g.demo()
                    D.add(g)
            elif row == 2:
                for col in range(3):
                    x = 20 + col*d
                    g = Grid()
                    g.x = x
                    g.y = y
                    g.width = s
                    g.height = s
                    g.useLines = 1
                    g.useRects = 1
                    if col == 0:
                        pass
                    elif col == 1:
                        g.delta0 = 10
                    elif col == 2:
                        g.orientation = 'horizontal'
                    g.demo()
                    D.add(g)
            elif row == 3:
                for col in range(3):
                    x = 20 + col*d
                    sr = ShadedRect()
                    sr.x = x
                    sr.y = y
                    sr.width = s
                    sr.height = s
                    sr.fillColorStart = colors.Color(0, 0, 0)
                    sr.fillColorEnd = colors.Color(1, 1, 1)
                    if col == 0:
                        sr.numShades = 5
                    elif col == 1:
                        sr.numShades = 2
                    elif col == 2:
                        sr.numShades = 1
                    sr.demo()
                    D.add(sr)
            elif row == 4:
                for col in range(3):
                    x = 20 + col*d
                    sr = ShadedRect()
                    sr.x = x
                    sr.y = y
                    sr.width = s
                    sr.height = s
                    sr.fillColorStart = colors.red
                    sr.fillColorEnd = colors.blue
                    sr.orientation = 'horizontal'
                    if col == 0:
                        sr.numShades = 10
                    elif col == 1:
                        sr.numShades = 20
                    elif col == 2:
                        sr.numShades = 50
                    sr.demo()
                    D.add(sr)
            elif row == 5:
                for col in range(3):
                    x = 20 + col*d
                    sr = ShadedRect()
                    sr.x = x
                    sr.y = y
                    sr.width = s
                    sr.height = s
                    sr.fillColorStart = colors.white
                    sr.fillColorEnd = colors.green
                    sr.orientation = 'horizontal'
                    if col == 0:
                        sr.numShades = 10
                    elif col == 1:
                        sr.numShades = 20
                        sr.orientation = 'vertical'
                    elif col == 2:
                        sr.numShades = 50
                    sr.demo()
                    D.add(sr)
            elif row == 6:
                for col in range(3):
                    x = 20 + col*d
                    sr = ShadedRect()
                    sr.x = x
                    sr.y = y+s
                    sr.width = s
                    sr.height = -s
                    sr.fillColorStart = colors.white
                    sr.fillColorEnd = colors.green
                    sr.orientation = 'horizontal'
                    if col == 0:
                        sr.numShades = 10
                    elif col == 1:
                        sr.numShades = 20
                        sr.orientation = 'vertical'
                    elif col == 2:
                        sr.numShades = 50
                    sr.demo()
                    D.add(sr)

        return D


    def makeDrawing1(self):
        "Generate a RLG drawing with some uncommented grid samples."

        D = Drawing(450, 650)

        d = 80
        s = 50

        for row in range(2):
            y = 530 - row*d
            if row == 0:
                for col in range(4):
                    x = 20 + col*d
                    g = DoubleGrid()
                    g.x = x
                    g.y = y
                    g.width = s
                    g.height = s

                    # This should be done implicitely...
                    g.grid0.x = x
                    g.grid0.y = y
                    g.grid1.x = x
                    g.grid1.y = y
                    g.grid0.width = s
                    g.grid0.height = s
                    g.grid1.width = s
                    g.grid1.height = s

                    if col == 0:
                        pass
                    elif col == 1:
                        g.grid0.delta0 = 10
                    elif col == 2:
                        g.grid0.delta0 = 5
                    elif col == 3:
                        g.grid0.deltaSteps = [5, 10, 20, 30]
                    g.demo()
                    D.add(g)
            elif row == 1:
                for col in range(4):
                    x = 20 + col*d
                    g = DoubleGrid()
                    g.x = x
                    g.y = y
                    g.width = s
                    g.height = s

                    # This should be done implicitely...
                    g.grid0.x = x
                    g.grid0.y = y
                    g.grid1.x = x
                    g.grid1.y = y
                    g.grid0.width = s
                    g.grid0.height = s
                    g.grid1.width = s
                    g.grid1.height = s

                    if col == 0:
                        g.grid0.useRects = 0
                        g.grid0.useLines = 1
                        g.grid1.useRects = 0
                        g.grid1.useLines = 1
                    elif col == 1:
                        g.grid0.useRects = 1
                        g.grid0.useLines = 1
                        g.grid1.useRects = 0
                        g.grid1.useLines = 1
                    elif col == 2:
                        g.grid0.useRects = 1
                        g.grid0.useLines = 0
                        g.grid1.useRects = 0
                        g.grid1.useLines = 1
                    elif col == 3:
                        g.grid0.useRects = 1
                        g.grid0.useLines = 0
                        g.grid1.useRects = 1
                        g.grid1.useLines = 0
                    g.demo()
                    D.add(g)

        return D


    def makeDrawing2(self):
        "Generate a RLG drawing with some uncommented grid samples."

        D = Drawing(450, 650)

        d = 80
        s = 50

        for row in range(10):
            y = 530 - row*d
            if row == 0:
                for col in range(4):
                    x = 20 + col*d
                    g = Grid()
                    g.x = x
                    g.y = y
                    g.width = s
                    g.height = s
                    g.useRects = 0
                    g.useLines = 1
                    if col == 0:
                        pass
                    elif col == 1:
                        g.delta0 = 10
                    elif col == 2:
                        g.orientation = 'horizontal'
                    elif col == 3:
                        g.deltaSteps = [5, 10, 20, 30]
                    g.demo()
                    D.add(g)
            elif row == 1:
                for col in range(4):
                    x = 20 + col*d
                    g = Grid()
                    g.y = y
                    g.x = x
                    g.width = s
                    g.height = s
                    if col == 0:
                        pass
                    elif col == 1:
                        g.delta0 = 10
                    elif col == 2:
                        g.orientation = 'horizontal'
                    elif col == 3:
                        g.deltaSteps = [5, 10, 20, 30]
                        g.useRects = 1
                        g.useLines = 0
                    g.demo()
                    D.add(g)
            elif row == 2:
                for col in range(3):
                    x = 20 + col*d
                    g = Grid()
                    g.x = x
                    g.y = y
                    g.width = s
                    g.height = s
                    g.useLines = 1
                    g.useRects = 1
                    if col == 0:
                        pass
                    elif col == 1:
                        g.delta0 = 10
                    elif col == 2:
                        g.orientation = 'horizontal'
                    g.demo()
                    D.add(g)
            elif row == 3:
                for col in range(3):
                    x = 20 + col*d
                    sr = ShadedRect()
                    sr.x = x
                    sr.y = y
                    sr.width = s
                    sr.height = s
    ##                  sr.fillColorStart = colors.Color(0, 0, 0)
    ##                  sr.fillColorEnd = colors.Color(1, 1, 1)
                    sr.fillColorStart = colors.CMYKColor(0, 0, 0, 0)
                    sr.fillColorEnd = colors.CMYKColor(1, 1, 1, 1)
                    if col == 0:
                        sr.numShades = 5
                    elif col == 1:
                        sr.numShades = 2
                    elif col == 2:
                        sr.numShades = 1
                    sr.demo()
                    D.add(sr)
            elif row == 4:
                for col in range(3):
                    x = 20 + col*d
                    sr = ShadedRect()
                    sr.x = x
                    sr.y = y
                    sr.width = s
                    sr.height = s
    ##                  sr.fillColorStart = colors.red
    ##                  sr.fillColorEnd = colors.blue
                    sr.fillColorStart = colors.CMYKColor(1, 0, 0, 0)
                    sr.fillColorEnd = colors.CMYKColor(0, 0, 1, 0)
                    sr.orientation = 'horizontal'
                    if col == 0:
                        sr.numShades = 10
                    elif col == 1:
                        sr.numShades = 20
                    elif col == 2:
                        sr.numShades = 50
                    sr.demo()
                    D.add(sr)
            elif row == 5:
                for col in range(3):
                    x = 20 + col*d
                    sr = ShadedRect()
                    sr.x = x
                    sr.y = y
                    sr.width = s
                    sr.height = s
    ##                  sr.fillColorStart = colors.white
    ##                  sr.fillColorEnd = colors.green
                    sr.fillColorStart = colors.PCMYKColor(11.0,11.0,72.0,0.0,    spotName='PANTONE 458 CV',density=1.00)
                    sr.fillColorEnd = colors.PCMYKColor(100.0,65.0,0.0,30.0,    spotName='PANTONE 288 CV',density=1.00)
                    sr.orientation = 'horizontal'
                    if col == 0:
                        sr.numShades = 10
                    elif col == 1:
                        sr.numShades = 20
                        sr.orientation = 'vertical'
                    elif col == 2:
                        sr.numShades = 50
                    sr.demo()
                    D.add(sr)
            elif row == 6:
                for col in range(3):
                    x = 20 + col*d
                    sr = ShadedRect()
                    sr.x = x
                    sr.y = y+s
                    sr.width = s
                    sr.height = -s
                    sr.fillColorStart = colors.white
                    sr.fillColorEnd = colors.green
                    sr.orientation = 'horizontal'
                    if col == 0:
                        sr.numShades = 10
                    elif col == 1:
                        sr.numShades = 20
                        sr.orientation = 'vertical'
                    elif col == 2:
                        sr.numShades = 50
                    sr.demo()
                    D.add(sr)

        return D


    def test0(self):
        "Generate PDF and SVG documents of first sample drawing."

        d = self.makeDrawing0()
        renderPDF.drawToFile(d, outputfile('test_widgets_grids0.pdf'))
        renderSVG.drawToFile(d, outputfile('test_widgets_grids0.svg'))


    def test1(self):
        "Generate PDF and SVG documents of second sample drawing."

        d = self.makeDrawing1()
        renderPDF.drawToFile(d, outputfile('test_widgets_grids1.pdf'))
        renderSVG.drawToFile(d, outputfile('test_widgets_grids1.svg'))


    def test2(self):
        "Generate PDF and SVG documents of third sample drawing."

        d = self.makeDrawing2()
        renderPDF.drawToFile(d, outputfile('test_widgets_grids2.pdf'))
        renderSVG.drawToFile(d, outputfile('test_widgets_grids2.svg'))


def makeSuite():
    return makeSuiteForClasses(GridTestCase)


#noruntests
if __name__ == "__main__":
    unittest.TextTestRunner().run(makeSuite())
    printLocation()
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.