ROArc

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

ROArc

MathieuDehouck

Hi

I've improved ROArc class so that we can now change the angle between made by the center of the circle and the borders of the edge.

An angle of 0 will return a simple ROLine, and if the angle is bigger than 2pi, it will use an angle like   alpha % 2pi. The angle is given in rad.



    layout:= ROVerticalCompactTree new.

    view shape circle size: 15 .
    view nodes: ( ROLayout withAllSubclasses ).
    
    view edgesFrom: #superclass.
    layout userDefinedEdges: view edges.
    
    
    view layout: layout.
    layout verticalGap: 70; horizontalGap: 30.
    view applyLayout.
    
        view nodes do: [ :f | (layout childrenFor: f) do: [ :t | (t model inheritsFrom: f model) ifTrue: [ t model methodDict keysDo: [ :k | (f model methodDict includesKey: k) ifTrue: [ view edgeFromAssociation: f model ->t model ]  ] ] ] ].
    
    view edges do: [ :e | e - ROLine + (ROArc new color: (Color r: 0 g: 1 b: 0.5 ); width: 2; angle: 2) ].
    layout userDefinedEdges do: [ :e | e - ROArc + ((ROLine arrowed) color: (Color r: 1 g: 0 b: 0 ); width: 2 )"; attachPoint: ROCenteredAttachPoint instance)"  ].



Maybe you will see something weird.

Well I don't understand why, but the first time it draws the ROArc, if the mouse is not on the canva, there are strange thing until you move the mouse on an edge...

You can see the same phenomenon when dragging an edge and making its abscissa bigger and smaller than its father's one.


If you understand what appends please tell me.

Regards

Mathieu

 

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