Hi,
Great :).
I forgot to mention that you should use “layered” for a better layout:
view := RTMondrian new.
view shape label text: #name.
view nodes: self methods.
view shape line color: (Color lightGray alpha: 0.3).
view edges connectToAll: #invokedMethods.
view layout horizontalDominanceTree layered.
view view pushBackEdges.
view
Cheers,
Doru
On Oct 5, 2016, at 11:53 PM, Hernán Morales Durand
<hernan.morales(a)gmail.com> wrote:
Amazing!
I am already playing with it :)
| view |
view := RTMondrian new.
view shape label text: #name.
view nodes: self methods.
view shape line
color: (Color blue alpha: 0.3);
width: [ :each | each key numberOfStatements ].
view edges connectToAll: #invokedMethods.
view layout horizontalDominanceTree.
view view pushBackEdges.
view
Thank you Tudor,
Cheer,
Hernán
2016-10-05 18:29 GMT-03:00 Tudor Girba <tudor(a)tudorgirba.com>:
Hi,
Ok. Try this:
view := RTMondrian new.
view shape label text: #name.
view nodes: self methods.
view shape line color: (Color lightGray alpha: 0.3).
view edges connectToAll: #invokedMethods.
view layout horizontalDominanceTree.
view view pushBackEdges.
view
<call-graph.png>
Does this fit better?
Cheers,
Doru
> On Oct 5, 2016, at 11:16 PM, Hernán Morales Durand <hernan.morales(a)gmail.com>
wrote:
>
> Yes I known, but it doesn't display the method (selector) names without mouse
over - Or I didn't discovered how to.
> Besides I think that would need a new layout to make enough space between boxes or
ellipses. See how clear is the PHPCallGraph
http://phpcallgraph.sourceforge.net/
>
> Cheers,
>
> Hernán
>
> 2016-10-05 17:57 GMT-03:00 Tudor Girba <tudor(a)tudorgirba.com>:
> Hi,
>
> In that case, you want to use the Class Blueprint:
> <classblueprint.png>
>
>
> Cheers,
> Doru
>
>
>> On Oct 5, 2016, at 5:27 PM, Hernán Morales Durand
<hernan.morales(a)gmail.com> wrote:
>>
>> Hi Tudor,
>>
>> Maybe you have experimented this situation before: When you face a new class with
many methods you want to understand the message flow, specially with those I call the
"main()" classes, where there is mostly one or two methods which trigger
execution of other "private" methods. My interest is then to quickly explore the
call graph at the method level, at a single class scope.
>> Cheers,
>>
>> Hernán
>>
>>
>>
>>
>> 2016-10-05 7:24 GMT-03:00 Tudor Girba <tudor(a)tudorgirba.com>:
>> Hi,
>>
>> Thanks for the report. I could reproduce the problem.
>>
>> Could you detail your specific requirements? What nodes would you expect to see:
Methods, Classes, Packages?
>>
>> For example, we can have one method and show all transitive dependencies starting
from that. Is this what you are looking for?
>>
>> Cheers,
>> Doru
>>
>>
>> > On Sep 30, 2016, at 8:11 PM, Hernán Morales Durand
<hernan.morales(a)gmail.com> wrote:
>> >
>> > Hi Tudor,
>> >
>> > Thank you for the suggestion, I want to visualize one of my projects. I
tried to use RTDominanceTreeLayout from Moose with "Compression" package in
Moose Panel, and found it is used in "All famixnamespaces" and "All
famixpackages" (this one is giving a MessageNotUnderstood:
FAMIXClass>>FAMIXPackage). I always get 2 namespaces so I couldn't check how
close enough is RTDominanceTreeLayout from Moose.
>> > However, I checked the mailing list and found a script using
RTDominanceTreeLayout so I would start from there.
>> >
>> > Cheers,
>> >
>> > Hernán
>> >
>> >
>> >
>> >
>> >
>> > 2016-09-30 6:37 GMT-03:00 Tudor Girba <tudor(a)tudorgirba.com>:
>> > Hi,
>> >
>> > The closest layout that you can use is RTDominanceTreeLayout.
>> >
>> > What kind of call graph do you want to visualize? From you Pharo code or
something else?
>> >
>> > Cheers,
>> > Doru
>> >
>> >
>> > > On Sep 30, 2016, at 5:53 AM, Hernán Morales Durand
<hernan.morales(a)gmail.com> wrote:
>> > >
>> > >
>> > > Any call graph generator out there?
>> > >
>> > > I mean something where you can actually see selector names in the graph
(without hover) like these:
>> > >
>> > >
http://phpcallgraph.sourceforge.net/
>> > >
http://stackoverflow.com/questions/793685/c-sharp-call-graph-generation-tool
>> > >
>> > > Hernán
>> > >
>> > > _______________________________________________
>> > > Moose-dev mailing list
>> > > Moose-dev(a)list.inf.unibe.ch
>> > >
https://www.list.inf.unibe.ch/listinfo/moose-dev
>> >
>> > --
>> >
www.tudorgirba.com
>> >
www.feenk.com
>> >
>> > "Next time you see your life passing by, say 'hi' and get to
know her."
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > Moose-dev mailing list
>> > Moose-dev(a)list.inf.unibe.ch
>> >
https://www.list.inf.unibe.ch/listinfo/moose-dev
>> >
>> > _______________________________________________
>> > Moose-dev mailing list
>> > Moose-dev(a)list.inf.unibe.ch
>> >
https://www.list.inf.unibe.ch/listinfo/moose-dev
>>
>> --
>>
www.tudorgirba.com
>>
www.feenk.com
>>
>> "We can create beautiful models in a vacuum.
>> But, to get them effective we have to deal with the inconvenience of
reality."
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)list.inf.unibe.ch
>>
https://www.list.inf.unibe.ch/listinfo/moose-dev
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)list.inf.unibe.ch
>>
https://www.list.inf.unibe.ch/listinfo/moose-dev
>
> --
>
www.tudorgirba.com
>
www.feenk.com
>
> "If you interrupt the barber while he is cutting your hair,
> you will end up with a messy haircut."
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)list.inf.unibe.ch
>
https://www.list.inf.unibe.ch/listinfo/moose-dev
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)list.inf.unibe.ch
>
https://www.list.inf.unibe.ch/listinfo/moose-dev
--
www.tudorgirba.com
www.feenk.com
"Every thing should have the right to be different."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev