I started yesterday to read the chapter. I bought the book at ESUG. :D
On Sep 20, 2013, at 3:13 PM, Alejandro Infante <alejandroinfant...@gmail.com> wrote: > Also I forgot to tell you that the new book "Deep into Pharo" has a chapter > for Roassal and another for Mondrian. > > Maybe that's the best place to start from, the link of the book is > http://rmod.lille.inria.fr/pbe2/. > > > 2013/9/20 roberto.mine...@usi.ch <roberto.mine...@usi.ch> > Thanks Alejandro, > > Yes I went through the examples and I understood the difference between the > examples using the builder (which are easier) and with pure Roassal, which > are..let's say.. less user friendly.. > > I am trying, in pure Roassal, to do a tree map and add another node to the > ROView then calling signalUpdate. No luck 'till now.. > > Cheers, > R > > On Sep 20, 2013, at 3:01 PM, Alejandro Infante <alejandroinfant...@gmail.com> > wrote: > > > Well, > > If you started with the Easel then you must have seen the examples. Well at > > first you see two boxes with examples inside (one on the top and the other > > below (If you dont see the second one just drag the view). > > > > The first one has a label at the top-left corner that says > > ROMondrianExample, and this were done using the ROMondrianViewBuilder API, > > and you can see that you interact mainly with the "view" variable. > > The second box is called ROExample and then you interact mainly with the > > "rawView" variable which is pure Roassal. > > > > The difference between them is that the ROMondrianViewBuilder is a nice and > > friendly API, but doing really complex stuff it's not possible. So we go > > one level below to pure Roassal. > > > > Here you have the Collection class hierarchy in Roassal: > > |rawView| > > rawView := ROView new. > > Collection withAllSubclasses do: [ :c | > > | el | > > el := ROBorder elementOn: c. > > el @ ROPopup. > > rawView add: el ]. > > > > "Draw edges" > > rawView addAll: (ROEdge > > buildEdgesFromElements: rawView elements > > from: [ :cls | cls superclass ] > > to: #yourself > > using: ROLine new). > > > > ROTreeLayout on: rawView elementsNotEdge edges: rawView > > elementsAsEdge. > > rawView open. > > > > I recommend you to see the ROExamples and if there is something that you > > don't know just ask to the mailing list. > > You may like to see the ROExamples>>interactions>>addingOnClick example. > > > > > > 2013/9/20 roberto.mine...@usi.ch <roberto.mine...@usi.ch> > > Thanks Alejandro, I will try what you propose! > > > > What do you mean by > > > Another thing bothering me is that you mentioned the method #nodes, thats > > > from the ROMondrianViewBuilder, which I think is not that friendly with > > > dynamic stuff. > > > > How would you construct a view without using the ROMondrianViewBuilder? I > > am used to start as in the Roassal Easel like > > rawView := ROView new. > > view := ROMondrianViewBuilder view: rawView > > > > And then adding nodes to the view, calling view nodes: myNodes > > > > Cheers, > > R > > > > > > > > On Sep 20, 2013, at 1:49 PM, Alejandro Infante > > <alejandroinfant...@gmail.com> > > wrote: > > > > > In Roassal calling the method #signalUpdate to the view should show those > > > new nodes. If you want to re-layout the nodes you should apply a new > > > layout to the nodes before the #signalUpdate. > > > > > > Another pretty interesting feature is the method ROContainer>>callback: > > > aCallback. The idea is that every time an element is added inside the > > > container the callback is called. > > > Now how you can use this: > > > > > > element callback: (ROContainerCallbackLayout new layout: (ROGridLayout > > > new gapSize: 2)). > > > > > > Remember that you must send signalUpdate to the view if you want to see > > > the changes. > > > > > > Another thing bothering me is that you mentioned the method #nodes, thats > > > from the ROMondrianViewBuilder, which I think is not that friendly with > > > dynamic stuff. > > > It is a little bit ugly but you can always get the ROView from > > > ROMondrianViewBuilder sending the message #view and over that do all kind > > > of Roassal magic stuff, like adding the callback with the TreeLayout the > > > the ROView itself. Also for adding new nodes you should add them directly > > > to the ROView, or at least I haven't found the way to do that without > > > having to add all the nodes again to the Builder. > > > > > > Hope that help you. > > > > > > > > > 2013/9/20 roberto.mine...@usi.ch <roberto.mine...@usi.ch> > > > *and have the visualization re-layouted? > > > > > > On Sep 20, 2013, at 11:24 AM, "roberto.mine...@usi.ch" > > > <roberto.mine...@usi.ch> > > > wrote: > > > > > > > Hi, > > > > > > > > I was playing around with Roassal (in particular, a tree map) and I > > > > have a question: Is there a way to dynamically adding nodes? I mean, > > > > once the view is generated to update the #nodes by adding a new node > > > > (and associations as well, i.e., edges) and have the visualization re- > > > > > > > > Thanks in advance. > > > > > > > > Roby > > > > > > > > > > > > > > > > > >