Hi everybody,
I'm working on vizualisation with Roassal2 and I would like to have some
feedbacks on my work.
You can vizualise some elements in their containers and test a property on
the elements.
You have the legend build with the property and a menu (not a lot of
features in the menu but it will come).
Edges are not available yet, but I'm working on it.
The repository :
MCHttpRepository
location: 'http://smalltalkhub.com/mc/LeoPerard/Telescope/main'
user: ''
password: ''
To load the project : ConfigurationOfTelescope load
To play with it you can follow this example :
| telescope |
telescope := TLTelescope new onContainers: Collection withAllSubclasses
elements: #authors properties: #yourself.
telescope numberOfColors: 9. "optional"
telescope open
or
| telescope |
telescope := TLTelescope new onElements: Collection withAllSubclasses
containers: #package properties: [ :class | class numberOfLinesOfCode > 30
].
telescope numberOfColors: 9. "optional"
telescope open
If you have any ideas, or find somes bugs do not hesitate to report to me.
Thanks.
--
Leo Perard
Hi,
here somes bugs I have found on the RTCompositeShape
- RTNest does not work with the RTCompositeShape
> | view shape element els |
> view := RTView new.
> shape := (RTVerticalCompositeShape new
> shape1: RTBox new;
> shape2: RTLabel new;
> yourself).
>
> element := shape elementOn: 'Container'.
> els := (RTEllipse new size: 10; color: (Color blue alpha: 0.5))
> elementsOn: (1 to: 16).
> view add: element; addAll: els.
> element @ RTDraggable.
> RTNest new layout: RTGridLayout; on: element nest: els.
> view open
- on some layouts there is a "lag" when you re-apply a layout
> | view shape elements |
> view := RTView new.
> shape := (RTHorizontalCompositeShape new
> shape1: (RTBox new width: 40; height: 30);
> shape2: (RTEllipse new size: 15; color: Color red);
> yourself).
>
> elements := shape elementsOn: (1 to: 30).
> view addAll: elements.
> RTEdge
> buildEdgesFromObjects: (1 to: 30)
> from: [ :v | v // 2 ]
> to: #yourself
> inView: view.
>
> RTHorizontalTreeLayout on: elements.
> view canvas addMenu: 'Layout' callback: [ RTHorizontalTreeLayout new
> translator: RTSmoothLayoutTranslator new; on: elements ].
> view open
This example does not have any sense but in my project the graph is
generate dynamicly so I have to apply a layout anytime there is a new
element ans this "lag" is strange
- RTHorizontalAttachPoint does not work
> | view shape elements |
> view := RTView new.
> shape := (RTHorizontalCompositeShape new
> shape1: (RTBox new width: 40; height: 30);
> shape2: (RTEllipse new size: 15; color: Color red);
> yourself).
>
> elements := shape elementsOn: (1 to: 30).
> view addAll: elements.
> RTEdge
> buildEdgesFromObjects: (1 to: 30)
> from: [ :v | v // 2 ]
> to: #yourself
> using: (RTLine new attachPoint: RTHorizontalAttachPoint new; color: Color
> blue)
> inView: view.
>
> RTHorizontalTreeLayout on: elements.
> view canvas addMenu: 'Layout' callback: [ RTHorizontalTreeLayout new
> translator: RTSmoothLayoutTranslator new; on: elements ].
> view open
For now I have found this bugs. If I find more, I will report them here ;-)
--
Cheers,
Leo Perard
University of Lille 1
Hi all,
I forgot the shortcut key for debug-it (I’m getting old apparently), and I wanted to debug-it an expression in the debugger, but I cannot because the context menu does not have it. The same holds for the playground. Please add it back. It’s cool that the menu is more minimal than what standard Pharo does, but it should really have debug-it.
---> Save our in-boxes! http://emailcharter.org <---
Johan Fabry - http://pleiad.cl/~jfabry
PLEIAD lab - Computer Science Department (DCC) - University of Chile
Hi all,
I’d like to report a bug in Roassal: RTDirectedLine does not support the changing of its color. Below is Alex’ example of edge color changing where I substituted RTDirectedLine for RTLine. You will see that the ‘change color’ block no longer works.
| v es edges shape |
v := RTView new.
es := (RTEllipse new size: 20; color: (Color blue alpha: 0.4)) elementsOn: (1 to: 20).
RTCircleLayout new initialRadius: 100; on: es.
v addAll: es.
shape := RTDirectedLine new color: Color red.
edges := RTEdge
buildEdgesFromObjects: (1 to: 20)
from: [ :value | value // 2 ]
to: #yourself
using: shape
inView: v.
v canvas addMenu: 'change color' callback: [ edges do: [ :e | e trachelShape color: Color random ]. v signalUpdate ].
v open
---> Save our in-boxes! http://emailcharter.org <---
Johan Fabry - http://pleiad.cl/~jfabry
PLEIAD lab - Computer Science Department (DCC) - University of Chile
Hi!
Just to let you know I am working on a mechanism in Moose that identify that are the “ideal” threshold for a set of Moose models.
Interesting (but very academic) piece of work.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi!
I open a playground and enter the following:
I then modify the script to have the following:
However, there is no smooth transition between the two rendering. And Roassal knows how to smoothly animate things [*]. But Playground does not give me a hand on the previous view.
Is there a way to fix this?
Cheers,
Alexandre
[*] https://www.facebook.com/photo.php?v=572267689526499&set=vb.340543479365589…
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi!
I’ve just introduced a new class TRExtensibleLabelShape and TRLabelShape. This will ease the problem we are experiencing with using labels in a composed shape.
I would like now to discuss about how to compose shapes. This has been a big discussion for at least 5 years. I propose a solution in this email, I hope this will make most of us happy :-)
Consider the example:
-=-=-=-=-=-=-=-=
| v s1 s2 c es |
v := RTView new.
s1 := (RTEllipse new size: #yourself; color: (Color blue alpha: 0.4)).
s2 := (RTLabel new text: 'Hello World'; height: 10).
c := RTCompositeShape new
shape1: s1;
shape2: s2;
offset2: 0 @ -30.
es := c elementsOn: #(30 60 80).
es @ RTDraggable.
v addAll: es.
es when: TRMouseClick do: [ :evt | evt element remove. v signalUpdate ].
RTHorizontalLineLayout on: v elements.
v open
-=-=-=-=-=-=-=-=
This is the output:
If you click on an element, then the element with its label is properly removed. Yupi! Leo will be happy with that :-)
The reason is that how can I specify to have s2 above s1? What should I put in offset2 ? Instead of fiddling with blocks like [:shape1 :shape2 :element | … ] I have introduced RTHorizontalCompositeShape and RTVerticalCompositeShape just to try whether it make sense or not.
We can have
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| v s1 s2 c es |
v := RTView new.
s1 := (RTEllipse new size: #yourself; color: (Color blue alpha: 0.4)).
s2 := (RTLabel new text: 'Hello World'; height: 10).
c := RTHorizontalCompositeShape new
shape1: s1;
shape2: s2.
es := c elementsOn: #(30 60 80).
es @ RTDraggable.
v addAll: es.
RTHorizontalLineLayout on: v elements.
v
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Replacing Horizontal by Vertical works as expected.
You can also compose these things. Look at that:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| v s1 s2 c es |
v := RTView new.
s1 := (RTEllipse new size: #yourself; color: (Color blue alpha: 0.4)).
s2 := (RTLabel new text: 'Hello World'; height: 10).
c2 := RTVerticalCompositeShape new
shape1: s1;
shape2: s2.
c := RTHorizontalCompositeShape new
shape1: s1;
shape2: c2.
es := c elementsOn: #(30 60 80).
es @ RTDraggable.
v addAll: es.
RTHorizontalLineLayout on: v elements.
v
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Are we happy with RTVerticalCompositeShape, RTHorizontalCompositeShape and RTCompositeShape ?
If yes, then RTLabelling (and its problem of passing the view along :-) will be obsolete.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi all,
I have the following situation: a node named ‘one’ and a node named ‘two’, I want to draw an arrow ‘onetwo' from one to two, and ‘twoone' from two to one. Nodes are ellipses with size 30, and a label. Arrows are an edge + line + arrow + label construct. So I get the image like below, which raises two2 questions.
First question: how can I make the arrows go to the border of the ellipse, instead of the center?
Second question: as a human I would draw each of the two arrows with a curve: one curving up and one curving down so that they (and their labels) do not overlap. Can I do something like this in Roassal? Because now readability is far from optimal.
---> Save our in-boxes! http://emailcharter.org <---
Johan Fabry - http://pleiad.cl/~jfabry
PLEIAD lab - Computer Science Department (DCC) - University of Chile
Hi,
We (me, Andrei, and Doru) are happy to present a new horizontal scroll
widget for Glamour: the GTPager.
It's aim is it to provide more visual feedback when working with a finder
like widget.
It is available in the latest Moose version. You can try a simple example:
GLMBasicExamples new simplePager openOn: 42
[image: Inline-Bild 1]
Also, it is used in GTInspector, so for a real world example just open an
inspector or a workspace:
[image: Inline-Bild 2]
Cheers,
Alex