mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-19 14:32:16 +00:00
Added printing requirements
This commit is contained in:
78
z3c/rml/tests/module.py
Normal file
78
z3c/rml/tests/module.py
Normal file
@@ -0,0 +1,78 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007-2012 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTLAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""Testing all XML Locale functionality.
|
||||
"""
|
||||
import reportlab.platypus
|
||||
import reportlab.lib.styles
|
||||
import reportlab.graphics.widgets.markers
|
||||
from reportlab.graphics import renderPDF, shapes
|
||||
from reportlab.lib import colors
|
||||
from z3c.rml import attr, interfaces, SampleStyleSheet
|
||||
|
||||
def myPreformatted(params):
|
||||
return reportlab.platypus.Preformatted('''
|
||||
Hey, this is a long text from a plugin. Hey, this is a long text from
|
||||
a plugin. Hey, this is a long text from a plugin. Hey, this is a long
|
||||
text from a plugin. Hey, this is a long text from a plugin. Hey, this
|
||||
is a long text from a plugin. Hey, this is a long text from a
|
||||
plugin. Hey, this is a long text from a plugin. Hey, this is a long
|
||||
text from a plugin. Hey, this is a long text from a plugin. Hey, this
|
||||
is a long text from a plugin. Hey, this is a long text from a
|
||||
plugin. Hey, this is a long text from a plugin. Hey, this is a long
|
||||
text from a plugin. Hey, this is a long text from a plugin. Hey, this
|
||||
is a long text from a plugin.''',
|
||||
SampleStyleSheet['Normal'])
|
||||
|
||||
class LinkURL(reportlab.platypus.flowables.Flowable):
|
||||
def __init__(self, link):
|
||||
self.link = link
|
||||
|
||||
def wrap(self, *args):
|
||||
return (0, 0)
|
||||
|
||||
def draw(self):
|
||||
self.canv.linkURL(self.link, None)
|
||||
|
||||
|
||||
def linkURL(params):
|
||||
params = eval(params)
|
||||
return (
|
||||
reportlab.platypus.Paragraph(
|
||||
params[0], SampleStyleSheet['Normal']),
|
||||
LinkURL(*params))
|
||||
|
||||
class IMarker(interfaces.IRMLDirectiveSignature):
|
||||
x = attr.Measurement()
|
||||
y = attr.Measurement()
|
||||
dx = attr.Measurement()
|
||||
dy = attr.Measurement()
|
||||
size = attr.Measurement()
|
||||
fillColor = attr.Color(acceptNone=True, required=False)
|
||||
strokeColor = attr.Color(acceptNone=True, required=False)
|
||||
strokeWidth = attr.Measurement(required=False)
|
||||
arrowBarDx = attr.Measurement(required=False)
|
||||
arrowHeight = attr.Measurement(required=False)
|
||||
|
||||
def symbols(canvas, params):
|
||||
args = eval('dict(%s)' %params)
|
||||
name = args.pop('name')
|
||||
n = args.pop('n')
|
||||
for key, value in args.items():
|
||||
field = IMarker[key].bind(canvas.manager)
|
||||
args[key] = field.fromUnicode(value)
|
||||
m = reportlab.graphics.widgets.markers.makeMarker(name, **args)
|
||||
drawing = shapes.Drawing()
|
||||
drawing.add(m)
|
||||
for idx in range(n):
|
||||
drawing.drawOn(canvas, idx*args['dx'], idx*args['dy'])
|
||||
Reference in New Issue
Block a user