def gather_elements(self, client, node, style):
# This should work, but doesn't look good inside of
# table cells (see Issue 173)
#node.elements = [MyIndenter(left=client.styles['blockquote'].leftIndent)]\
#+ client.gather_elements( node, style) + \
#[MyIndenter(left=-client.styles['blockquote'].leftIndent)]
# Workaround for Issue 173 using tables
leftIndent=client.styles['blockquote'].leftIndent
rightIndent=client.styles['blockquote'].rightIndent
spaceBefore=client.styles['blockquote'].spaceBefore
spaceAfter=client.styles['blockquote'].spaceAfter
s=copy(client.styles['blockquote'])
s.leftIndent=style.leftIndent
data=[['',client.gather_elements( node, s)]]
if client.splittables:
node.elements=[MySpacer(0,spaceBefore),SplitTable(data,
colWidths=[leftIndent,None],
style=TableStyle([["TOPPADDING",[0,0],[-1,-1],0],
["LEFTPADDING",[0,0],[-1,-1],0],
["RIGHTPADDING",[0,0],[-1,-1],rightIndent],
["BOTTOMPADDING",[0,0],[-1,-1],0],
])), MySpacer(0,spaceAfter)]
else:
node.elements=[MySpacer(0,spaceBefore),DelayedTable(data,
colWidths=[leftIndent,None],
style=TableStyle([["TOPPADDING",[0,0],[-1,-1],0],
["LEFTPADDING",[0,0],[-1,-1],0],
["RIGHTPADDING",[0,0],[-1,-1],rightIndent],
["BOTTOMPADDING",[0,0],[-1,-1],0],
])), MySpacer(0,spaceAfter)]
return node.elements
评论列表
文章目录