To parse graphViz-Dot files you probably want to write a small parser (regular expression is enough or you can use PetitParser).
To render the thing, use Roassal. Execute the following in a Workspace to load Roassal:
Gofer new smalltalkhubUser: 'ObjectProfile' project: 'Roassal'; package: 'ConfigurationOfRoassal'; load. (Smalltalk at: #ConfigurationOfRoassal) project lastVersion load.
Open a workspace, and type:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| view rawView data nodes|
rawView := ROView new.
view := ROMondrianViewBuilder view: rawView.
"-------------"
"-------------"
data := {
'hello' -> 'world' .
'world' -> 'earth' .
'earth' -> 'mars' .
'world' -> 'underworld' .
'underworld' -> 'metallica' .
'hello' -> 'bonjour' .
'metallica' -> 'mars'
}.
nodes := data inject: Set new into: [ :set :assoc | set, (Set with: assoc key with: assoc value ) ].
view shape rectangle size: 15;
if: [ :el | #('metallica' 'underworld') includes: el ] borderColor: Color red.
view nodes: nodes.
view shape arrowedLineWithOffset: 0.1.
view edges: data from: #key to: #value.
view radialTreeLayout.
"-------------"
"-------------"
ROEaselMorphic new populateMenuOn: view.
view open
-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Hi,
I´m searching for Options to visualize diagrams, for example an
class-diagram.
Is there an graphViz-Implementation in Pharo or better other Options to
display Diagrams?
(here is the graphViz-Dot-Example:
graph ethane {
Car -- tire1 [type=s];
Car -- tire2 [type=s];
Car -- tire3 [type=s];
Car -- tire4 [type=s];
}
Thanks for routing me in the right direction!
Cheers,
Damir
-----
--
Damir Majer
... be agile: www.majcon.de
--
View this message in context: http://forum.world.st/Options-for-Visualization-tp4682144.html
Sent from the Moose mailing list archive at Nabble.com.
_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel
http://www.bergel.eu^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.