src/eric7/Documentation/Source/eric7.Graphics.PackageDiagramBuilder.html

branch
eric7
changeset 9209
b99e7fd55fd3
parent 8596
d64760b2da50
child 10070
9f5758c0fec1
equal deleted inserted replaced
9208:3fc8dfeb6ebe 9209:b99e7fd55fd3
1 <!DOCTYPE html>
2 <html><head>
3 <title>eric7.Graphics.PackageDiagramBuilder</title>
4 <meta charset="UTF-8">
5 <link rel="stylesheet" href="styles.css">
6 </head>
7 <body>
8 <a NAME="top" ID="top"></a>
9 <h1>eric7.Graphics.PackageDiagramBuilder</h1>
10
11 <p>
12 Module implementing a dialog showing an UML like class diagram of a package.
13 </p>
14 <h3>Global Attributes</h3>
15
16 <table>
17 <tr><td>None</td></tr>
18 </table>
19 <h3>Classes</h3>
20
21 <table>
22
23 <tr>
24 <td><a href="#PackageDiagramBuilder">PackageDiagramBuilder</a></td>
25 <td>Class implementing a builder for UML like class diagrams of a package.</td>
26 </tr>
27 </table>
28 <h3>Functions</h3>
29
30 <table>
31 <tr><td>None</td></tr>
32 </table>
33 <hr />
34 <hr />
35 <a NAME="PackageDiagramBuilder" ID="PackageDiagramBuilder"></a>
36 <h2>PackageDiagramBuilder</h2>
37
38 <p>
39 Class implementing a builder for UML like class diagrams of a package.
40 </p>
41 <h3>Derived from</h3>
42 UMLDiagramBuilder
43 <h3>Class Attributes</h3>
44
45 <table>
46 <tr><td>None</td></tr>
47 </table>
48 <h3>Class Methods</h3>
49
50 <table>
51 <tr><td>None</td></tr>
52 </table>
53 <h3>Methods</h3>
54
55 <table>
56
57 <tr>
58 <td><a href="#PackageDiagramBuilder.__init__">PackageDiagramBuilder</a></td>
59 <td>Constructor</td>
60 </tr>
61 <tr>
62 <td><a href="#PackageDiagramBuilder.__addExternalClass">__addExternalClass</a></td>
63 <td>Private method to add a class defined outside the module.</td>
64 </tr>
65 <tr>
66 <td><a href="#PackageDiagramBuilder.__addLocalClass">__addLocalClass</a></td>
67 <td>Private method to add a class defined in the module.</td>
68 </tr>
69 <tr>
70 <td><a href="#PackageDiagramBuilder.__addPackage">__addPackage</a></td>
71 <td>Private method to add a package to the diagram.</td>
72 </tr>
73 <tr>
74 <td><a href="#PackageDiagramBuilder.__arrangeClasses">__arrangeClasses</a></td>
75 <td>Private method to arrange the shapes on the canvas.</td>
76 </tr>
77 <tr>
78 <td><a href="#PackageDiagramBuilder.__buildModulesDict">__buildModulesDict</a></td>
79 <td>Private method to build a dictionary of modules contained in the package.</td>
80 </tr>
81 <tr>
82 <td><a href="#PackageDiagramBuilder.__buildSubpackagesDict">__buildSubpackagesDict</a></td>
83 <td>Private method to build a dictionary of sub-packages contained in this package.</td>
84 </tr>
85 <tr>
86 <td><a href="#PackageDiagramBuilder.__createAssociations">__createAssociations</a></td>
87 <td>Private method to generate the associations between the class shapes.</td>
88 </tr>
89 <tr>
90 <td><a href="#PackageDiagramBuilder.__getCurrentShape">__getCurrentShape</a></td>
91 <td>Private method to get the named shape.</td>
92 </tr>
93 <tr>
94 <td><a href="#PackageDiagramBuilder.buildDiagram">buildDiagram</a></td>
95 <td>Public method to build the class shapes of the package diagram.</td>
96 </tr>
97 <tr>
98 <td><a href="#PackageDiagramBuilder.fromDict">fromDict</a></td>
99 <td>Public method to populate the class with data persisted by 'toDict()'.</td>
100 </tr>
101 <tr>
102 <td><a href="#PackageDiagramBuilder.initialize">initialize</a></td>
103 <td>Public method to initialize the object.</td>
104 </tr>
105 <tr>
106 <td><a href="#PackageDiagramBuilder.parsePersistenceData">parsePersistenceData</a></td>
107 <td>Public method to parse persisted data.</td>
108 </tr>
109 <tr>
110 <td><a href="#PackageDiagramBuilder.toDict">toDict</a></td>
111 <td>Public method to collect data to be persisted.</td>
112 </tr>
113 </table>
114 <h3>Static Methods</h3>
115
116 <table>
117 <tr><td>None</td></tr>
118 </table>
119
120 <a NAME="PackageDiagramBuilder.__init__" ID="PackageDiagramBuilder.__init__"></a>
121 <h4>PackageDiagramBuilder (Constructor)</h4>
122 <b>PackageDiagramBuilder</b>(<i>dialog, view, project, package, noAttrs=False</i>)
123
124 <p>
125 Constructor
126 </p>
127 <dl>
128
129 <dt><i>dialog</i> (UMLDialog)</dt>
130 <dd>
131 reference to the UML dialog
132 </dd>
133 <dt><i>view</i> (UMLGraphicsView)</dt>
134 <dd>
135 reference to the view object
136 </dd>
137 <dt><i>project</i> (Project)</dt>
138 <dd>
139 reference to the project object
140 </dd>
141 <dt><i>package</i> (str)</dt>
142 <dd>
143 name of a python package to be shown
144 </dd>
145 <dt><i>noAttrs</i> (bool)</dt>
146 <dd>
147 flag indicating, that no attributes should be shown
148 </dd>
149 </dl>
150 <a NAME="PackageDiagramBuilder.__addExternalClass" ID="PackageDiagramBuilder.__addExternalClass"></a>
151 <h4>PackageDiagramBuilder.__addExternalClass</h4>
152 <b>__addExternalClass</b>(<i>_class, x, y</i>)
153
154 <p>
155 Private method to add a class defined outside the module.
156 </p>
157 <p>
158 If the canvas is too small to take the shape, it
159 is enlarged.
160 </p>
161 <dl>
162
163 <dt><i>_class</i> (ModuleParser.Class)</dt>
164 <dd>
165 class to be shown
166 </dd>
167 <dt><i>x</i> (float)</dt>
168 <dd>
169 x-coordinate
170 </dd>
171 <dt><i>y</i> (float)</dt>
172 <dd>
173 y-coordinate
174 </dd>
175 </dl>
176 <a NAME="PackageDiagramBuilder.__addLocalClass" ID="PackageDiagramBuilder.__addLocalClass"></a>
177 <h4>PackageDiagramBuilder.__addLocalClass</h4>
178 <b>__addLocalClass</b>(<i>className, _class, x, y, isRbModule=False</i>)
179
180 <p>
181 Private method to add a class defined in the module.
182 </p>
183 <dl>
184
185 <dt><i>className</i> (str)</dt>
186 <dd>
187 name of the class to be as a dictionary key
188 </dd>
189 <dt><i>_class</i> (ModuleParser.Class)</dt>
190 <dd>
191 class to be shown
192 </dd>
193 <dt><i>x</i> (float)</dt>
194 <dd>
195 x-coordinate
196 </dd>
197 <dt><i>y</i> (float)</dt>
198 <dd>
199 y-coordinate
200 </dd>
201 <dt><i>isRbModule</i> (bool)</dt>
202 <dd>
203 flag indicating a Ruby module
204 </dd>
205 </dl>
206 <a NAME="PackageDiagramBuilder.__addPackage" ID="PackageDiagramBuilder.__addPackage"></a>
207 <h4>PackageDiagramBuilder.__addPackage</h4>
208 <b>__addPackage</b>(<i>name, modules, x, y</i>)
209
210 <p>
211 Private method to add a package to the diagram.
212 </p>
213 <dl>
214
215 <dt><i>name</i> (str)</dt>
216 <dd>
217 package name to be shown
218 </dd>
219 <dt><i>modules</i> (list of str)</dt>
220 <dd>
221 list of module names contained in the package
222 </dd>
223 <dt><i>x</i> (float)</dt>
224 <dd>
225 x-coordinate
226 </dd>
227 <dt><i>y</i> (float)</dt>
228 <dd>
229 y-coordinate
230 </dd>
231 </dl>
232 <a NAME="PackageDiagramBuilder.__arrangeClasses" ID="PackageDiagramBuilder.__arrangeClasses"></a>
233 <h4>PackageDiagramBuilder.__arrangeClasses</h4>
234 <b>__arrangeClasses</b>(<i>nodes, routes, whiteSpaceFactor=1.2</i>)
235
236 <p>
237 Private method to arrange the shapes on the canvas.
238 </p>
239 <p>
240 The algorithm is borrowed from Boa Constructor.
241 </p>
242 <dl>
243
244 <dt><i>nodes</i> (list of str)</dt>
245 <dd>
246 list of nodes to arrange
247 </dd>
248 <dt><i>routes</i> (list of tuple of (str, str))</dt>
249 <dd>
250 list of routes
251 </dd>
252 <dt><i>whiteSpaceFactor</i> (float)</dt>
253 <dd>
254 factor to increase whitespace between
255 items
256 </dd>
257 </dl>
258 <a NAME="PackageDiagramBuilder.__buildModulesDict" ID="PackageDiagramBuilder.__buildModulesDict"></a>
259 <h4>PackageDiagramBuilder.__buildModulesDict</h4>
260 <b>__buildModulesDict</b>(<i></i>)
261
262 <p>
263 Private method to build a dictionary of modules contained in the
264 package.
265 </p>
266 <dl>
267 <dt>Return:</dt>
268 <dd>
269 dictionary of modules contained in the package
270 </dd>
271 </dl>
272 <dl>
273 <dt>Return Type:</dt>
274 <dd>
275 dict
276 </dd>
277 </dl>
278 <a NAME="PackageDiagramBuilder.__buildSubpackagesDict" ID="PackageDiagramBuilder.__buildSubpackagesDict"></a>
279 <h4>PackageDiagramBuilder.__buildSubpackagesDict</h4>
280 <b>__buildSubpackagesDict</b>(<i></i>)
281
282 <p>
283 Private method to build a dictionary of sub-packages contained in this
284 package.
285 </p>
286 <dl>
287 <dt>Return:</dt>
288 <dd>
289 dictionary of sub-packages contained in this package
290 </dd>
291 </dl>
292 <dl>
293 <dt>Return Type:</dt>
294 <dd>
295 dict
296 </dd>
297 </dl>
298 <a NAME="PackageDiagramBuilder.__createAssociations" ID="PackageDiagramBuilder.__createAssociations"></a>
299 <h4>PackageDiagramBuilder.__createAssociations</h4>
300 <b>__createAssociations</b>(<i>routes</i>)
301
302 <p>
303 Private method to generate the associations between the class shapes.
304 </p>
305 <dl>
306
307 <dt><i>routes</i> (list of tuple of (str, str))</dt>
308 <dd>
309 list of relationsships
310 </dd>
311 </dl>
312 <a NAME="PackageDiagramBuilder.__getCurrentShape" ID="PackageDiagramBuilder.__getCurrentShape"></a>
313 <h4>PackageDiagramBuilder.__getCurrentShape</h4>
314 <b>__getCurrentShape</b>(<i>name</i>)
315
316 <p>
317 Private method to get the named shape.
318 </p>
319 <dl>
320
321 <dt><i>name</i> (str)</dt>
322 <dd>
323 name of the shape
324 </dd>
325 </dl>
326 <dl>
327 <dt>Return:</dt>
328 <dd>
329 shape
330 </dd>
331 </dl>
332 <dl>
333 <dt>Return Type:</dt>
334 <dd>
335 QCanvasItem
336 </dd>
337 </dl>
338 <a NAME="PackageDiagramBuilder.buildDiagram" ID="PackageDiagramBuilder.buildDiagram"></a>
339 <h4>PackageDiagramBuilder.buildDiagram</h4>
340 <b>buildDiagram</b>(<i></i>)
341
342 <p>
343 Public method to build the class shapes of the package diagram.
344 </p>
345 <p>
346 The algorithm is borrowed from Boa Constructor.
347 </p>
348 <a NAME="PackageDiagramBuilder.fromDict" ID="PackageDiagramBuilder.fromDict"></a>
349 <h4>PackageDiagramBuilder.fromDict</h4>
350 <b>fromDict</b>(<i>version, data</i>)
351
352 <p>
353 Public method to populate the class with data persisted by 'toDict()'.
354 </p>
355 <dl>
356
357 <dt><i>version</i> (str)</dt>
358 <dd>
359 version of the data
360 </dd>
361 <dt><i>data</i> (dict)</dt>
362 <dd>
363 dictionary containing the persisted data
364 </dd>
365 </dl>
366 <dl>
367 <dt>Return:</dt>
368 <dd>
369 tuple containing a flag indicating success and an info
370 message in case the diagram belongs to a different project
371 </dd>
372 </dl>
373 <dl>
374 <dt>Return Type:</dt>
375 <dd>
376 tuple of (bool, str)
377 </dd>
378 </dl>
379 <a NAME="PackageDiagramBuilder.initialize" ID="PackageDiagramBuilder.initialize"></a>
380 <h4>PackageDiagramBuilder.initialize</h4>
381 <b>initialize</b>(<i></i>)
382
383 <p>
384 Public method to initialize the object.
385 </p>
386 <a NAME="PackageDiagramBuilder.parsePersistenceData" ID="PackageDiagramBuilder.parsePersistenceData"></a>
387 <h4>PackageDiagramBuilder.parsePersistenceData</h4>
388 <b>parsePersistenceData</b>(<i>version, data</i>)
389
390 <p>
391 Public method to parse persisted data.
392 </p>
393 <dl>
394
395 <dt><i>version</i> (str)</dt>
396 <dd>
397 version of the data
398 </dd>
399 <dt><i>data</i> (str)</dt>
400 <dd>
401 persisted data to be parsed
402 </dd>
403 </dl>
404 <dl>
405 <dt>Return:</dt>
406 <dd>
407 flag indicating success
408 </dd>
409 </dl>
410 <dl>
411 <dt>Return Type:</dt>
412 <dd>
413 bool
414 </dd>
415 </dl>
416 <a NAME="PackageDiagramBuilder.toDict" ID="PackageDiagramBuilder.toDict"></a>
417 <h4>PackageDiagramBuilder.toDict</h4>
418 <b>toDict</b>(<i></i>)
419
420 <p>
421 Public method to collect data to be persisted.
422 </p>
423 <dl>
424 <dt>Return:</dt>
425 <dd>
426 dictionary containing data to be persisted
427 </dd>
428 </dl>
429 <dl>
430 <dt>Return Type:</dt>
431 <dd>
432 dict
433 </dd>
434 </dl>
435 <div align="right"><a href="#top">Up</a></div>
436 <hr />
437 </body></html>

eric ide

mercurial