Hi Martin,Try the following script:-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=assocs := {
'v3.2' -> 'v3.1' -> 'what a great version' .
'v3.1' -> 'v3' -> 'what a great version' .
'v3' -> 'v2' -> 'what a great version' .
'v2.1' -> 'v2' -> 'branched!' .
'v2' -> 'v1' -> 'Fixed some bugs' .
'v1' -> 'v0' -> 'Initial version'
}.
nodes := Set new.
assocs do: [ :assoc | nodes add: assoc key key; add: assoc key value ].
view shape circle size: 20; withText.
view interaction popupText: [ :version | assocs detect: [ :as | as key key = version ] ].
view nodes: nodes.
view edges: nodes from: #yourself toAll: [ :versionName | assocs select: [ :as | as key key = versionName ] thenCollect: [ :as | as key value ] ].
view treeLayout.-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=To do properly the thing, you will need a dedicated layout and builder. The layout could maybe use the tree layout and do some adjustment.AlexandreHi
I would like to have a Morphic widget like this. Does anyone know if there is something already done that I could reuse?Maybe do it with Roassal in this way:_______________________________________________
Use the list morph, where each row knows an image morph with its corresponding slice of the graph.
Each time the graph changes (for example, if a node is appended), render using Roassal the part of the graph has to be updated, and cut the rendered surface in the new slices for each updated row.
Any opinion?
Maybe I should think more in vectors (i.e. Athens) instead of pixels/images?
Cheers,
Martin
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev