dabo Commit
Revision 6606
Date: 2011-05-27 16:52:45 -0700 (Fri, 27 May 2011)
Author: Paul
Trac: http://trac.dabodev.com/changeset/6606
Changed:
U trunk/dabo/lib/reportWriter.py
Log:
When using fixed-height Memos, if the data results in a memo longer than the
available height, nothing prints at all. Changed it to at least print a
<<< string too long >>> at font size 7, so the developer knows what the
problem is.
The long-term solution involves being able to go line-by-line in the paragraph,
instead of paragraph-by-paragraph, and tweak the expr to print as much as
possible before adding ellipses.
Diff:
Modified: trunk/dabo/lib/reportWriter.py
===================================================================
--- trunk/dabo/lib/reportWriter.py 2011-05-26 16:09:20 UTC (rev 6605)
+++ trunk/dabo/lib/reportWriter.py 2011-05-27 23:52:45 UTC (rev 6606)
@@ -1809,8 +1809,11 @@
return deferred, neededHeight
- def getStory(self, obj):
+ def getStory(self, obj, overrideExpr=None, overrideFontSize=None):
width = self.getPt(obj.getProp("width"))
+ height = obj.getProp("height")
+ if height is not None:
+ height = self.getPt(height)
padLeft = self.getPt(obj.getProp("padLeft"))
padRight = self.getPt(obj.getProp("padRight"))
padTop = self.getPt(obj.getProp("padTop"))
@@ -1829,7 +1832,10 @@
for fobject in objects:
objNeededHeight = 0
- expr = fobject.getProp("expr")
+ if overrideExpr:
+ expr = overrideExpr
+ else:
+ expr = fobject.getProp("expr")
if isinstance(s, basestring):
expr = expr.encode(self.Encoding)
@@ -1837,7 +1843,10 @@
expr = ustr(expr)
s = copy.deepcopy(s)
- s.fontSize = fobject.getProp("fontSize")
+ if overrideFontSize:
+ s.fontSize = overrideFontSize
+ else:
+ s.fontSize = fobject.getProp("fontSize")
s.fontName = fobject.getProp("fontName")
# If the specified font name isn't available, we need
to substitute
@@ -1885,6 +1894,8 @@
hackDeferredPara()
neededHeight = objNeededHeight + padTop + padBottom
+ if height is not None and neededHeight > height and not
overrideExpr:
+ return self.getStory(obj, overrideExpr="<<< string too
long >>>", overrideFontSize=7)
return story, neededHeight
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message:
http://leafe.com/archives/byMID/[email protected]