dabo Commit
Revision 6025
Date: 2010-09-22 14:18:16 -0700 (Wed, 22 Sep 2010)
Author: Paul
Trac: http://trac.dabodev.com/changeset/6025
Changed:
U trunk/ide/ReportDesigner.py
Log:
Refactored the Ruler class so the instance knows its position, not merely its
orientation. This should fix the error Jacek's been getting on Windows XP
that I wasn't able to reproduce but could have happened if the Paint event
occurred at an unexpected time.
Diff:
Modified: trunk/ide/ReportDesigner.py
===================================================================
--- trunk/ide/ReportDesigner.py 2010-09-22 21:04:06 UTC (rev 6024)
+++ trunk/ide/ReportDesigner.py 2010-09-22 21:18:16 UTC (rev 6025)
@@ -2087,15 +2087,15 @@
self._rw.UseTestCursor = True
self._rulers = {}
- self._rulers["top"] = self.getRuler("h")
- self._rulers["bottom"] = self.getRuler("h")
+ self._rulers["top"] = self.getRuler("t")
+ self._rulers["bottom"] = self.getRuler("b")
def addBand(bandObj):
caption = bandObj.__class__.__name__
if isinstance(bandObj, (GroupHeader, GroupFooter)):
caption = "%s: %s" % (caption,
bandObj.parent.get("expr"))
- self._rulers["%s-left" % caption] = self.getRuler("v")
- self._rulers["%s-right" % caption] = self.getRuler("v")
+ self._rulers["%s-left" % caption] = self.getRuler("l")
+ self._rulers["%s-right" % caption] = self.getRuler("r")
b = DesignerBand(self, Caption=caption)
b.ReportObject = bandObj
bandObj.DesignerObject = b
@@ -2161,7 +2161,6 @@
tr = self._rulers["top"]
tr.Length = pageWidth
tr.pointLength = pointPageWidth
- tr.rulerPos = "t"
for index in range(len(self._bands)):
band = self._bands[index]
@@ -2187,12 +2186,10 @@
lr = self._rulers["%s-left" % band.Caption]
lr.Length = bandCanvasHeight
lr.pointLength = pointLength
- lr.rulerPos = "l"
rr = self._rulers["%s-right" % band.Caption]
rr.Length = bandCanvasHeight
rr.pointLength = pointLength
- rr.rulerPos = "r"
band.Left = ml + lr.Thickness
lr.Position = (0, band.Top)
@@ -2205,7 +2202,6 @@
br = self._rulers["bottom"]
br.Length = pageWidth
br.pointLength = pointPageWidth
- br.rulerPos = "b"
tr.Position = (lr.Width,0)
br.Position = (lr.Width, totPageHeight)
@@ -2226,7 +2222,7 @@
self.showPosition()
- def getRuler(self, orientation):
+ def getRuler(self, pos):
defaultThickness = 20
defaultLength = 1
@@ -2235,7 +2231,8 @@
class Ruler(DesignerPanel):
def initProperties(self):
self.BackColor = (192,128,192)
- self._orientation = orientation[0].lower()
+ self.rulerPos = pos
+ self._orientation = {"t":"h", "b":"h", "l":"v",
"r":"v"}[pos]
self.pointLength = 0
def copy(self):
@@ -2285,13 +2282,13 @@
break
if ruleSize:
rescaledPos = (pos*z)
- if self.rulerPos == "r":
+ if rulerPos == "r":
dc.DrawLine(0,
rescaledPos, ruleSize, rescaledPos)
- if self.rulerPos == "l":
+ if rulerPos == "l":
dc.DrawLine(self.Thickness, rescaledPos, self.Thickness - ruleSize, rescaledPos)
- if self.rulerPos == "b":
+ if rulerPos == "b":
dc.DrawLine(rescaledPos, 0, rescaledPos, ruleSize)
- if self.rulerPos == "t":
+ if rulerPos == "t":
dc.DrawLine(rescaledPos, self.Thickness, rescaledPos, self.Thickness - ruleSize)
_______________________________________________
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]