Documentation/Source/eric5.Graphics.UMLClassDiagramBuilder.html

Sun, 09 Sep 2012 17:40:32 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 09 Sep 2012 17:40:32 +0200
changeset 2031
c36c2eb62a75
child 2033
4b99609f6a87
permissions
-rw-r--r--

Refactored the UML graphics code.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html><head>
<title>eric5.Graphics.UMLClassDiagramBuilder</title>
<style>
body {
    background: #EDECE6;
    margin: 0em 1em 10em 1em;
    color: black;
}

h1 { color: white; background: #85774A; }
h2 { color: white; background: #85774A; }
h3 { color: white; background: #9D936E; }
h4 { color: white; background: #9D936E; }
    
a { color: #BA6D36; }

</style>
</head>
<body><a NAME="top" ID="top"></a>
<h1>eric5.Graphics.UMLClassDiagramBuilder</h1>
<p>
Module implementing a dialog showing a UML like class diagram.
</p>
<h3>Global Attributes</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3>Classes</h3>
<table>
<tr>
<td><a href="#UMLClassDiagramBuilder">UMLClassDiagramBuilder</a></td>
<td>Class implementing a builder for UML like class diagrams.</td>
</tr>
</table>
<h3>Functions</h3>
<table>
<tr><td>None</td></tr>
</table>
<hr /><hr />
<a NAME="UMLClassDiagramBuilder" ID="UMLClassDiagramBuilder"></a>
<h2>UMLClassDiagramBuilder</h2>
<p>
    Class implementing a builder for UML like class diagrams.
</p>
<h3>Derived from</h3>
UMLDiagramBuilder
<h3>Class Attributes</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3>Class Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3>Methods</h3>
<table>
<tr>
<td><a href="#UMLClassDiagramBuilder.__init__">UMLClassDiagramBuilder</a></td>
<td>Constructor</td>
</tr><tr>
<td><a href="#UMLClassDiagramBuilder.__addExternalClass">__addExternalClass</a></td>
<td>Private method to add a class defined outside the module.</td>
</tr><tr>
<td><a href="#UMLClassDiagramBuilder.__addLocalClass">__addLocalClass</a></td>
<td>Private method to add a class defined in the module.</td>
</tr><tr>
<td><a href="#UMLClassDiagramBuilder.__arrangeClasses">__arrangeClasses</a></td>
<td>Private method to arrange the shapes on the canvas.</td>
</tr><tr>
<td><a href="#UMLClassDiagramBuilder.__createAssociations">__createAssociations</a></td>
<td>Private method to generate the associations between the class shapes.</td>
</tr><tr>
<td><a href="#UMLClassDiagramBuilder.__getCurrentShape">__getCurrentShape</a></td>
<td>Private method to get the named shape.</td>
</tr><tr>
<td><a href="#UMLClassDiagramBuilder.buildDiagram">buildDiagram</a></td>
<td>Public method to build the class shapes of the class diagram.</td>
</tr>
</table>
<h3>Static Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<a NAME="UMLClassDiagramBuilder.__init__" ID="UMLClassDiagramBuilder.__init__"></a>
<h4>UMLClassDiagramBuilder (Constructor)</h4>
<b>UMLClassDiagramBuilder</b>(<i>dialog, view, project, file, noAttrs=False</i>)
<p>
        Constructor
</p><dl>
<dt><i>dialog</i></dt>
<dd>
reference to the UML dialog (UMLDialog)
</dd><dt><i>view</i></dt>
<dd>
reference to the view object (UMLGraphicsView)
</dd><dt><i>project</i></dt>
<dd>
reference to the project object (Project)
</dd><dt><i>file</i></dt>
<dd>
file name of a python module to be shown (string)
</dd><dt><i>noAttrs=</i></dt>
<dd>
flag indicating, that no attributes should be shown (boolean)
</dd>
</dl><a NAME="UMLClassDiagramBuilder.__addExternalClass" ID="UMLClassDiagramBuilder.__addExternalClass"></a>
<h4>UMLClassDiagramBuilder.__addExternalClass</h4>
<b>__addExternalClass</b>(<i>_class, x, y</i>)
<p>
        Private method to add a class defined outside the module.
</p><p>
        If the canvas is too small to take the shape, it
        is enlarged.
</p><dl>
<dt><i>_class</i></dt>
<dd>
class to be shown (string)
</dd><dt><i>x</i></dt>
<dd>
x-coordinate (float)
</dd><dt><i>y</i></dt>
<dd>
y-coordinate (float)
</dd>
</dl><a NAME="UMLClassDiagramBuilder.__addLocalClass" ID="UMLClassDiagramBuilder.__addLocalClass"></a>
<h4>UMLClassDiagramBuilder.__addLocalClass</h4>
<b>__addLocalClass</b>(<i>className, _class, x, y, isRbModule=False</i>)
<p>
        Private method to add a class defined in the module.
</p><dl>
<dt><i>className</i></dt>
<dd>
name of the class to be as a dictionary key (string)
</dd><dt><i>_class</i></dt>
<dd>
class to be shown (ModuleParser.Class)
</dd><dt><i>x</i></dt>
<dd>
x-coordinate (float)
</dd><dt><i>y</i></dt>
<dd>
y-coordinate (float)
</dd><dt><i>isRbModule</i></dt>
<dd>
flag indicating a Ruby module (boolean)
</dd>
</dl><a NAME="UMLClassDiagramBuilder.__arrangeClasses" ID="UMLClassDiagramBuilder.__arrangeClasses"></a>
<h4>UMLClassDiagramBuilder.__arrangeClasses</h4>
<b>__arrangeClasses</b>(<i>nodes, routes, whiteSpaceFactor=1.2</i>)
<p>
        Private method to arrange the shapes on the canvas.
</p><p>
        The algorithm is borrowed from Boa Constructor.
</p><a NAME="UMLClassDiagramBuilder.__createAssociations" ID="UMLClassDiagramBuilder.__createAssociations"></a>
<h4>UMLClassDiagramBuilder.__createAssociations</h4>
<b>__createAssociations</b>(<i>routes</i>)
<p>
        Private method to generate the associations between the class shapes.
</p><dl>
<dt><i>routes</i></dt>
<dd>
list of relationsships
</dd>
</dl><a NAME="UMLClassDiagramBuilder.__getCurrentShape" ID="UMLClassDiagramBuilder.__getCurrentShape"></a>
<h4>UMLClassDiagramBuilder.__getCurrentShape</h4>
<b>__getCurrentShape</b>(<i>name</i>)
<p>
        Private method to get the named shape.
</p><dl>
<dt><i>name</i></dt>
<dd>
name of the shape (string)
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
shape (QGraphicsItem)
</dd>
</dl><a NAME="UMLClassDiagramBuilder.buildDiagram" ID="UMLClassDiagramBuilder.buildDiagram"></a>
<h4>UMLClassDiagramBuilder.buildDiagram</h4>
<b>buildDiagram</b>(<i></i>)
<p>
        Public method to build the class shapes of the class diagram.
</p><p>
        The algorithm is borrowed from Boa Constructor.
</p>
<div align="right"><a href="#top">Up</a></div>
<hr />
</body></html>

eric ide

mercurial