You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@gump.apache.org by aj...@apache.org on 2004/04/15 19:26:08 UTC
cvs commit: gump/python/gump/document/forrest resolver.py documenter.py
ajack 2004/04/15 10:26:08
Modified: python/gump/svg depdiag.py svg.py scale.py drawing.py
python/gump/document/forrest resolver.py documenter.py
Log:
Added a graphic for FOG Factor.
Revision Changes Path
1.5 +21 -8 gump/python/gump/svg/depdiag.py
Index: depdiag.py
===================================================================
RCS file: /home/cvs/gump/python/gump/svg/depdiag.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- depdiag.py 15 Apr 2004 13:13:26 -0000 1.4
+++ depdiag.py 15 Apr 2004 17:26:07 -0000 1.5
@@ -44,8 +44,13 @@
def getRowCol(self):
return (self.rowNo,self.colNo)
+
+ def setPoint(self,point):
+ self.point=point
+
+ def getPoint(self):
+ return self.point
-
def compareNodesByProjectFOGFactor(node1,node2):
project1=node1.getProject()
project2=node2.getProject()
@@ -177,6 +182,15 @@
# context rectangle.
svg=SimpleSvg(rect.getWidth(),rect.getHeight())
+
+ #
+ # Find centers
+ #
+ for node in self.matrix.getNodes():
+ (row, col) = node.getRowCol()
+ (x,y) = context.realPoint(col,rows-row)
+ node.setPoint(Point(x,y))
+
#
# Draw dependency lines
#
@@ -193,11 +207,8 @@
depNode=self.matrix.getNodeForProject(dependProject)
(depRow,depCol) = depNode.getRowCol()
- (x,y) = context.realPoint(col,rows-row)
- (x1,y1) = context.realPoint(depCol,rows-depRow)
-
- print 'VIRTUAL LINE: %s,%s -> %s,%s' % (row,col,depRow,depCol),
- print 'LINE: %s,%s -> %s,%s' % (x,y,x1,y1)
+ (x,y) = node.getPoint().getXY()
+ (x1,y1) = depNode.getPoint().getXY()
width=1+(dependProject.getFOGFactor()*3)
# Shape color
@@ -222,8 +233,10 @@
project = node.getProject()
(row,col) = node.getRowCol()
- (x,y) = context.realPoint(col-0.25,(rows-row)-0.25)
- (x1,y1) = context.realPoint(col+0.25,(rows-row)+0.25)
+
+ (centerX,centerY) = node.getPoint().getXY()
+ (x,y) = context.realPoint(centerX-0.25,centerY-0.25)
+ (x1,y1) = context.realPoint(centerX+0.25,centerY+0.25)
print 'RECTANGLE %s,%s -> %s,%s' % (x,y,x1,y1)
1.4 +1 -1 gump/python/gump/svg/svg.py
Index: svg.py
===================================================================
RCS file: /home/cvs/gump/python/gump/svg/svg.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- svg.py 14 Apr 2004 22:32:45 -0000 1.3
+++ svg.py 15 Apr 2004 17:26:07 -0000 1.4
@@ -121,7 +121,7 @@
self.y=y
# Try to size for the user...
- if -1 == width or -1 == heigth:
+ if -1 == width or -1 == height:
(self.width, self.height) = getSvgSizes(x,y)
self.description=None
1.2 +2 -2 gump/python/gump/svg/scale.py
Index: scale.py
===================================================================
RCS file: /home/cvs/gump/python/gump/svg/scale.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- scale.py 14 Apr 2004 22:12:58 -0000 1.1
+++ scale.py 15 Apr 2004 17:26:07 -0000 1.2
@@ -27,10 +27,10 @@
class ScaleDiagram:
""" The interface to a chainable context """
def __init__(self, val1, val2, width=3, height=0.5) :
- self.width=width
- self.height=height
self.val1=val1
self.val2=val2
+ self.width=width
+ self.height=height
def generateDiagram(self):
1.4 +5 -1 gump/python/gump/svg/drawing.py
Index: drawing.py
===================================================================
RCS file: /home/cvs/gump/python/gump/svg/drawing.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- drawing.py 15 Apr 2004 13:13:26 -0000 1.3
+++ drawing.py 15 Apr 2004 17:26:07 -0000 1.4
@@ -34,7 +34,8 @@
self.y=y
def getX(self): return self.x
- def getY(self): return self.y
+ def getY(self): return self.y
+ def getXY(self): return (self.x, self.y)
def dump(self, indent=0, output=sys.stdout):
""" Display the contents of this object """
@@ -171,6 +172,9 @@
def __init__(self,name=None,context=None,rect=None,scaledWidth=1,scaledHeight=1):
StandardDrawingContext.__init__(self,name,context,rect)
+ if not scaledWidth: raise RuntimeError, 'Can\'t scale with 0 width.'
+ if not scaledHeight: raise RuntimeError, 'Can\'t scale with 0 height.'
+
self.scaledWidth=scaledWidth
self.scaledHeight=scaledHeight
1.4 +1 -1 gump/python/gump/document/forrest/resolver.py
Index: resolver.py
===================================================================
RCS file: /home/cvs/gump/python/gump/document/forrest/resolver.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- resolver.py 14 Apr 2004 23:06:56 -0000 1.3
+++ resolver.py 15 Apr 2004 17:26:08 -0000 1.4
@@ -193,7 +193,7 @@
location.setDocument(documentName)
# XDocs in one place, content in another...
- if not extn == '.xml' or notXDocs:
+ if (not extn == '.xml' and not extn == '.svg') or notXDocs:
self.makePath(location.getPath(),self.contentDir)
file=concatenate(self.contentDir,location.serialize())
else:
1.4 +11 -2 gump/python/gump/document/forrest/documenter.py
Index: documenter.py
===================================================================
RCS file: /home/cvs/gump/python/gump/document/forrest/documenter.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- documenter.py 14 Apr 2004 23:06:56 -0000 1.3
+++ documenter.py 15 Apr 2004 17:26:08 -0000 1.4
@@ -2616,8 +2616,17 @@
# Generate an SVG:
# ,'FOG'
- #svgFile=self.resolver.getFile(stats,project.getName()+'_FOG','.svg')
- #fogRow.createData().createIcon(svgName.replace('.svg','.png'),'FOG Factor')
+ if pstats.successes+pstats.failures+pstats.prereqs > 0:
+ svgFile=self.resolver.getFile(stats,project.getName()+'_FOG','.svg')
+ pngFile=os.path.basename(svgFile).replace('.svg','.png')
+ from gump.svg.scale import ScaleDiagram
+ diagram=ScaleDiagram(pstats.successes,pstats.failures+pstats.prereqs)
+ diagram.generateDiagram().serializeToFile(svgFile)
+ fogRow.createData().createIcon(pngFile,'FOG Factor')
+ else:
+ fogRow.createData('Not Available')
+
+
document.serialize()
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org