PyInvoice/pyinvoice/components.py
2015-05-28 18:17:55 +08:00

37 lines
No EOL
1 KiB
Python

from reportlab.platypus import Paragraph, Table, TableStyle, Flowable
from reportlab.lib.styles import ParagraphStyle, getSampleStyleSheet
from reportlab.lib import colors
class CodeSnippet(Paragraph):
style = ParagraphStyle(
name='CodeSnippet',
parent=getSampleStyleSheet()['Code'],
backColor=colors.lightgrey, leftIndent=0,
borderPadding=(5, 5, 5, 5)
)
def __init__(self, code):
Paragraph.__init__(self, code, self.style)
class SimpleTable(Table):
style = TableStyle([
('INNERGRID', (0, 0), (-1, -1), .25, colors.black),
('BOX', (0, 0), (-1, -1), .25, colors.black),
])
def __init__(self, data, horizontal_align=None):
Table.__init__(self, data, style=self.style, hAlign=horizontal_align)
class PaidStamp(object):
def __init__(self, x, y):
self.x = x
self.y = y
def __call__(self, canvas, doc):
# TODO: xxx
canvas.saveState()
canvas.drawString(self.x, self.y, 'PAID')
canvas.restoreState()