Since I've made this video yesterday for my benefactors, I might as well share it here
now this is still far from done, however I do use FAMIX to represent the model (I have of course extended it, because FAMIX has no notion of multiplicities etc.), but in principle it should be able to visualize some subset of the FAMIX model.
Of course many of the requirements you have can be achieved directly in Roassal, for example try running this
| b |
b := RTUMLClassBuilder new.
b instanceVariables: #instVarNames. "show attributes"
"b instanceVariables: #()." "hide attributes"
b methodselector: #selector.
"b methodsNames: #methods." "show methods"
b methodsNames: #(). "hide methods"
b attributeselector: #yourself.
"all black, you can even have varying colors --- look at RTUMLExample>>examplecolored"
b attributeShape color: Color black.
b methodShape color: Color black.
b classNameShape color: Color black.
b lineShape color: Color black.
b boxShape borderColor: Color black.
b addObjects: (TREvent withAllSubclasses ).
b layout tree.
b build.
^b view