Fixed a bug in HTML table widths; allow args to make_basic_stylesheet; add scrollbars to tabbed items
svn: r13660
This commit is contained in:
parent
8e0593d7ad
commit
2ed9ac56e4
@ -73,9 +73,17 @@ class SimpleDoc(object):
|
|||||||
"""
|
"""
|
||||||
self.__write('Normal', text)
|
self.__write('Normal', text)
|
||||||
|
|
||||||
def make_basic_stylesheet():
|
def make_basic_stylesheet(**kwargs):
|
||||||
"""
|
"""
|
||||||
Create the basic style sheet for the SimpleDoc class
|
Create the basic style sheet for the SimpleDoc class.
|
||||||
|
|
||||||
|
kwargs - a dictionary of the form:
|
||||||
|
item={method: value, ...}, ...
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
make_basic_stylesheet(Table={"set_width": 90})
|
||||||
|
|
||||||
"""
|
"""
|
||||||
sheet = StyleSheet()
|
sheet = StyleSheet()
|
||||||
|
|
||||||
@ -86,6 +94,12 @@ def make_basic_stylesheet():
|
|||||||
fstyle.set_bold(True)
|
fstyle.set_bold(True)
|
||||||
pstyle.set_font(fstyle)
|
pstyle.set_font(fstyle)
|
||||||
pstyle.set_alignment(PARA_ALIGN_LEFT)
|
pstyle.set_alignment(PARA_ALIGN_LEFT)
|
||||||
|
# Handle args:
|
||||||
|
if "Title" in kwargs:
|
||||||
|
for method in kwargs["Title"]:
|
||||||
|
value = kwargs["Title"][method]
|
||||||
|
if value is not None:
|
||||||
|
getattr(pstyle, method)(value)
|
||||||
sheet.add_paragraph_style('Title', pstyle)
|
sheet.add_paragraph_style('Title', pstyle)
|
||||||
|
|
||||||
pstyle = ParagraphStyle()
|
pstyle = ParagraphStyle()
|
||||||
@ -96,6 +110,12 @@ def make_basic_stylesheet():
|
|||||||
pstyle.set_font(fstyle)
|
pstyle.set_font(fstyle)
|
||||||
pstyle.set_alignment(PARA_ALIGN_LEFT)
|
pstyle.set_alignment(PARA_ALIGN_LEFT)
|
||||||
pstyle.set_tabs([4, 8, 12, 16])
|
pstyle.set_tabs([4, 8, 12, 16])
|
||||||
|
# Handle args:
|
||||||
|
if "Header1" in kwargs:
|
||||||
|
for method in kwargs["Header1"]:
|
||||||
|
value = kwargs["Header1"][method]
|
||||||
|
if value is not None:
|
||||||
|
getattr(pstyle, method)(value)
|
||||||
sheet.add_paragraph_style('Header1', pstyle)
|
sheet.add_paragraph_style('Header1', pstyle)
|
||||||
|
|
||||||
pstyle = ParagraphStyle()
|
pstyle = ParagraphStyle()
|
||||||
@ -106,6 +126,12 @@ def make_basic_stylesheet():
|
|||||||
pstyle.set_font(fstyle)
|
pstyle.set_font(fstyle)
|
||||||
pstyle.set_alignment(PARA_ALIGN_LEFT)
|
pstyle.set_alignment(PARA_ALIGN_LEFT)
|
||||||
pstyle.set_tabs([4, 8, 12, 16])
|
pstyle.set_tabs([4, 8, 12, 16])
|
||||||
|
# Handle args:
|
||||||
|
if "Header2" in kwargs:
|
||||||
|
for method in kwargs["Header2"]:
|
||||||
|
value = kwargs["Header2"][method]
|
||||||
|
if value is not None:
|
||||||
|
getattr(pstyle, method)(value)
|
||||||
sheet.add_paragraph_style('Header2', pstyle)
|
sheet.add_paragraph_style('Header2', pstyle)
|
||||||
|
|
||||||
pstyle = ParagraphStyle()
|
pstyle = ParagraphStyle()
|
||||||
@ -117,10 +143,22 @@ def make_basic_stylesheet():
|
|||||||
pstyle.set_font(fstyle)
|
pstyle.set_font(fstyle)
|
||||||
pstyle.set_alignment(PARA_ALIGN_LEFT)
|
pstyle.set_alignment(PARA_ALIGN_LEFT)
|
||||||
pstyle.set_tabs([4, 8, 12, 16])
|
pstyle.set_tabs([4, 8, 12, 16])
|
||||||
|
# Handle args:
|
||||||
|
if "Header3" in kwargs:
|
||||||
|
for method in kwargs["Header3"]:
|
||||||
|
value = kwargs["Header3"][method]
|
||||||
|
if value is not None:
|
||||||
|
getattr(pstyle, method)(value)
|
||||||
sheet.add_paragraph_style('Header3', pstyle)
|
sheet.add_paragraph_style('Header3', pstyle)
|
||||||
|
|
||||||
pstyle = ParagraphStyle()
|
pstyle = ParagraphStyle()
|
||||||
pstyle.set_tabs([4, 8, 12, 16])
|
pstyle.set_tabs([4, 8, 12, 16])
|
||||||
|
# Handle args:
|
||||||
|
if "Normal" in kwargs:
|
||||||
|
for method in kwargs["Normal"]:
|
||||||
|
value = kwargs["Normal"][method]
|
||||||
|
if value is not None:
|
||||||
|
getattr(pstyle, method)(value)
|
||||||
sheet.add_paragraph_style('Normal', pstyle)
|
sheet.add_paragraph_style('Normal', pstyle)
|
||||||
|
|
||||||
# Styles for tables:
|
# Styles for tables:
|
||||||
@ -129,18 +167,42 @@ def make_basic_stylesheet():
|
|||||||
tbl.set_columns(2)
|
tbl.set_columns(2)
|
||||||
tbl.set_column_width(0,20)
|
tbl.set_column_width(0,20)
|
||||||
tbl.set_column_width(1,80)
|
tbl.set_column_width(1,80)
|
||||||
|
# Handle args:
|
||||||
|
if "Table" in kwargs:
|
||||||
|
for method in kwargs["Table"]:
|
||||||
|
value = kwargs["Table"][method]
|
||||||
|
if value is not None:
|
||||||
|
getattr(tbl, method)(value)
|
||||||
sheet.add_table_style("Table",tbl)
|
sheet.add_table_style("Table",tbl)
|
||||||
|
|
||||||
cell = TableCellStyle()
|
cell = TableCellStyle()
|
||||||
cell.set_top_border(1)
|
cell.set_top_border(1)
|
||||||
cell.set_bottom_border(1)
|
cell.set_bottom_border(1)
|
||||||
|
# Handle args:
|
||||||
|
if "TableHead" in kwargs:
|
||||||
|
for method in kwargs["TableHead"]:
|
||||||
|
value = kwargs["TableHead"][method]
|
||||||
|
if value is not None:
|
||||||
|
getattr(cell, method)(value)
|
||||||
sheet.add_cell_style("TableHead",cell)
|
sheet.add_cell_style("TableHead",cell)
|
||||||
|
|
||||||
cell = TableCellStyle()
|
cell = TableCellStyle()
|
||||||
|
# Handle args:
|
||||||
|
if "TableHeaderCell" in kwargs:
|
||||||
|
for method in kwargs["TableHeaderCell"]:
|
||||||
|
value = kwargs["TableHeaderCell"][method]
|
||||||
|
if value is not None:
|
||||||
|
getattr(cell, method)(value)
|
||||||
sheet.add_cell_style("TableHeaderCell",cell)
|
sheet.add_cell_style("TableHeaderCell",cell)
|
||||||
|
|
||||||
cell = TableCellStyle()
|
cell = TableCellStyle()
|
||||||
cell.set_longlist(1)
|
cell.set_longlist(1)
|
||||||
|
# Handle args:
|
||||||
|
if "TableDataCell" in kwargs:
|
||||||
|
for method in kwargs["TableDataCell"]:
|
||||||
|
value = kwargs["TableDataCell"][method]
|
||||||
|
if value is not None:
|
||||||
|
getattr(cell, method)(value)
|
||||||
sheet.add_cell_style("TableDataCell",cell)
|
sheet.add_cell_style("TableDataCell",cell)
|
||||||
|
|
||||||
return sheet
|
return sheet
|
||||||
|
@ -339,7 +339,7 @@ class HtmlDoc(BaseDoc, TextDoc):
|
|||||||
"""
|
"""
|
||||||
styles = self.get_style_sheet()
|
styles = self.get_style_sheet()
|
||||||
self._tbl = styles.get_table_style(style)
|
self._tbl = styles.get_table_style(style)
|
||||||
self.htmllist += [Html('table', width=str(self._tbl.get_width())+'%%',
|
self.htmllist += [Html('table', width=str(self._tbl.get_width())+'%',
|
||||||
cellspacing='0')]
|
cellspacing='0')]
|
||||||
|
|
||||||
def end_table(self):
|
def end_table(self):
|
||||||
@ -373,7 +373,7 @@ class HtmlDoc(BaseDoc, TextDoc):
|
|||||||
else:
|
else:
|
||||||
self.htmllist += (Html('td', colspan=str(span),
|
self.htmllist += (Html('td', colspan=str(span),
|
||||||
width=str(self._tbl.get_column_width(
|
width=str(self._tbl.get_column_width(
|
||||||
self._col))+ '%%',
|
self._col))+ '%',
|
||||||
class_=style_name),)
|
class_=style_name),)
|
||||||
self._col += 1
|
self._col += 1
|
||||||
|
|
||||||
|
@ -83,11 +83,10 @@ class Table(object):
|
|||||||
def __init__(self, doc):
|
def __init__(self, doc):
|
||||||
self.doc = doc
|
self.doc = doc
|
||||||
# None is paperstyle, which is ignored:
|
# None is paperstyle, which is ignored:
|
||||||
self.doc = Doc(HtmlDoc.HtmlDoc(make_basic_stylesheet(), None))
|
self.doc = Doc(HtmlDoc.HtmlDoc(make_basic_stylesheet(Table={"set_width":95}), None))
|
||||||
self.doc.doc._backend = HtmlBackend()
|
self.doc.doc._backend = HtmlBackend()
|
||||||
# You can set elements id, class, etc:
|
# You can set elements id, class, etc:
|
||||||
# self.doc.doc.htmllist += [Html('div', id="grampstextdoc")]
|
self.doc.doc.htmllist += [Html('div', style="overflow: auto; height:150px; background-color: white;")]
|
||||||
self.doc.doc.htmllist += [Html('div')]
|
|
||||||
|
|
||||||
def columns(self, *args):
|
def columns(self, *args):
|
||||||
self.table.columns(*args)
|
self.table.columns(*args)
|
||||||
|
Loading…
Reference in New Issue
Block a user