Currently, there is no support for complex shapes. This is definitely a direction in which
we have to invest.
Cheers,
Doru
On 28 Jul 2012, at 18:06, Ben Coman wrote:
Referring to the attached graph, what is the best way
to approach the following in Roassal.
Currently with Mondrian I produce a produce a custom shape using the forms builder in
#mondrianShape, which is a method of my ModelRoot class. Referring to the attached
graph, as an example this shows the class name "Substation" above the instance
"SS1" and has a space for contained items to be displayed within it.
>mondrianShape
| builder |
builder := MOFormsBuilder new.
builder column; center; fill; pref; grow.
builder
row; center; pref; fill; grow;
row; center; pref; fill; grow;
row; center; pref; fill; grow.
builder x: 1 y: 1 add: ( MORectangleShape new text: #strippedClassName;
textAlignment: #left; borderColor: Color white ) .
builder x: 1 y: 2 add: ( MORectangleShape new text: #localName; textAlignment:
#left ) .
builder x: 1 y: 3 add: ( MORectangleShape new ) .
builder x: 1 y: 3 add: ( MOChildrenShape new ) .
^builder shape
In conjunction with the use of MOChildrenShape above, class ModelRoot also has method
#addSubViewTo: which descends through contained classes - for example instance
"primary" inside "T1" inside "SS2" inside "Figure
8..."
>addSubViewTo: aMOViewRenderer
aMOViewRenderer
node: self
using: self mondrianShape
forIt:
[
self children do:
[ :child |
child addSubViewTo: aMOViewRenderer.
]
]
My initial issues in migrating this to Roassal are:
1. Roassal appears to not provide any methods that have "using:" in them.
2. Roassal appears to not support MOFormsBuilder
It may be that I am accessing to much internal methods. The code above was the result of
evolutionary hacking as I was learning Mondrian. I would be happy to re-architect if
someone can advise best practice for Roassal.
cheers -ben
<MOFormsBuilder.png>_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev