UML builder

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

UML builder

abergel
Hi!

Thanks to Milton and Doru, we have an UML builder in Roassal.

Here is a screenshot:

I have this example:

.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=
| b |
b := RTUMLClassBuilder new.
b methodShape label
if: [ :method | method selector beginsWith: 'init' ] color: Color green;
if: [ :method | method selector beginsWith: 'with' ] color: Color red.
b attributeShape label
if: [ :attribute | attribute beginsWith: 'a' ] color: Color blue.
b addObjects: RTShape withAllSubclasses.
b treeLayout; open.

.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=


It also works with any arbitrary representation of classes:
.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=
| objects b |
objects :=  {
{ 'MyClass' . { #iv1 . #iv2 } . { #method1 . #method2 . #method3 }}  .
{ 'MyClass2' . { #iv2 . #iv2 } . { #method1 . #method2 . #method4 }}  }.

b := RTUMLClassBuilder new.
b attributeShape label if: [ :a | a = #iv1 ] color: Color red.
b
addObjects: objects;
classname: #first;
instanceVariables: #second;
methodsNames: #third;
methodselector: #yourself;
attributeselector: #yourself;
superclass: nil;
open
.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=

Thanks Milton!

Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: UML builder

Tudor Girba-2
Great.

Thanks!

Doru

On Tue, Oct 21, 2014 at 9:31 PM, Alexandre Bergel <[hidden email]> wrote:
Hi!

Thanks to Milton and Doru, we have an UML builder in Roassal.

Here is a screenshot:

I have this example:

.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=
| b |
b := RTUMLClassBuilder new.
b methodShape label
if: [ :method | method selector beginsWith: 'init' ] color: Color green;
if: [ :method | method selector beginsWith: 'with' ] color: Color red.
b attributeShape label
if: [ :attribute | attribute beginsWith: 'a' ] color: Color blue.
b addObjects: RTShape withAllSubclasses.
b treeLayout; open.

.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=


It also works with any arbitrary representation of classes:
.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=
| objects b |
objects :=  {
{ 'MyClass' . { #iv1 . #iv2 } . { #method1 . #method2 . #method3 }}  .
{ 'MyClass2' . { #iv2 . #iv2 } . { #method1 . #method2 . #method4 }}  }.

b := RTUMLClassBuilder new.
b attributeShape label if: [ :a | a = #iv1 ] color: Color red.
b
addObjects: objects;
classname: #first;
instanceVariables: #second;
methodsNames: #third;
methodselector: #yourself;
attributeselector: #yourself;
superclass: nil;
open
.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=

Thanks Milton!

Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev




--

"Every thing has its own flow"

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev