Hi :),
On 07/06/15 06:50, Alexandre Bergel wrote:
Which is pretty close to what we originally
planed. I would like to play with some color saturation on the epicycle, which could
imply, at some point changing the color of the font of the numbers on it, changing from
black to other colors. I also presume that would be nice to have some kind of scale in the
graph. Distance between epycicle and nucleus avatar is measured in a logarithmic inspired
scale, first days (green), then weeks (orange), then months (red) and finally years
(black).
Excellent!
Ok. I will keep all you posted on our advances.
So, two more
questions:
- How can I select the zoom out level of the view, making all object to fit in that view
automatically (the screenshot was obtained by manually zooming out and arranging the
visual objects).
you simply have to send #focusOnCenterScaled to the Trachel
canvas. Consider the following example (the most important line is the menu):
-=-=-=-=-=-=-=-=-=-=-=-=
| b |
b := RTMondrian new.
b shape circle
size: 8;
if: [ :c | '*Line*' match: c name ] fillColor: Color red.
b nodes: TRShape withAllSubclasses, RTShape withAllSubclasses.
b shape line.
b edges
connectFrom: #superclass.
b shape bezierLineFollowing: #superclass; color: (Color blue alpha: 0.2).
b edges
objects: TRShape withAllSubclasses, RTShape withAllSubclasses;
notUseInLayout;
connectToAll: #dependentClasses.
b layout tree.
b build.
“VVVVV important line VVVVVV"
b view addMenu: 'focus' callback: [ b view canvas focusOnCenterScaled. b view
signalUpdate ].
^ b
-=-=-=-=-=-=-=-=-=-=-=-=
Thanks. Tested is working pretty fine.
- How can I
get this kind of "logarithmic" scale a rule in the bottom of the view.
I
do not understand. What such a scale is supposed to do?
My bad. Again a picture is worth a thousand of words :-). So I have send
you some pictures of what I mean:
- Graphic 1:
- Graphic 2 (left) and Graphic 3 (right):
The graphic 1 is just my grafoscopio notebook where I'm testing your
help notes. The code to produce the graphic at the right most panel is
published at: [1]
http://ws.stfx.eu/4AZSKR2NH7AO. The graphic 2 is an
exportation of that graphic as a png edited by hand with the things I
would like to add. Some labeled boxes with color conventions (white:
days, light gray: weeks, gray: months) and this custom ruler scale at
the bottom of the graphic. I have read the visualization composition
chapter but If I remember well, you shared with us some other way to put
conventions on a graph, which seem easier. How can I add the custom
ruler and labeled convention boxes?
Another possibility is not use this custom scale ruler and instead we
will use some kind of arcs, but I would like to test different
approaches to choose from. By the way testing the arcs approach (code at
[2]
http://ws.stfx.eu/EGZ9ZYULOR0 and graphic 3) I start to wonder if
there is not a better way by having overlapping ellipsis with
transparent background and custom colored borders. Is this possible?
Another strange thing happen when I was making this test: The circular
tree layout examples started to work funny, with a background being all
gray or all black. See video example at: [3]
[3]
https://archive.org/details/funny-roassal.mp4
- A sytle
question "labeledCircleSized: upLabel: downLabel: at:" seems descriptive to me,
but I don't know if has the proper style for a method name. I can read Smalltalk with
Style to look at it, now that I know more about the environment, but advice of seasoned
smalltalkers would help a lot in getting proper style also.
You may want to use a
factory object to configure its creation :-)
I remember reading something about
factory of objects in the book Squeak Learn programming with Robots, but that was the name
for a class... still I don't get it :-/
From Slide 16 until Slide 24 in:
https://www.dropbox.com/s/w7r17a5xlahj6oa/14-MoreDesignPatterns.pdf?dl=0
Ohh ok! Bookmarked. Surely in the future, the Dataviz package will
contain some "Visual helpers" with this kind of custom forms, like the
labeled circle, which can be used for several objects in their custom
visualizations. I was wondering if the name "labeledCircleSized:
upperLabel: bottomLabel: at:" was a good one and follows the
Smalltalk-ish good style rules.
Cheers,
Alexandre
Thanks as always,
Offray