Here is another way to visualize the nesting,
with frames. It's enough to call #withShadedFrames. How cool is that?
Here's a sample visualization @
And here's the script:
=-=-=--=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-
builder := DFTreeMapBuilder new.
builder weightBlock: [ :el | el ].
builder nodes: (1 to: 100).
builder nestingFromAssociations: (builder nodes allButFirst collect: [:each | (each // 2)
-> each ]).
"Some optional configurations parameters"
colors := (Color lightBlue) mix: Color blue shades: (builder nodes size).
builder colorBlock: [ :el | colors at: el ].
builder rootColor: (Color red).
builder extent: 521@312.
builder origin: 20@20.
builder withShadedFrames.
builder draw.
=-=-=--=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-=-=-=--=-=-=-
Roby
On Oct 9, 2013, at 8:12 AM, "roberto.minelli(a)usi.ch"
<roberto.minelli(a)usi.ch>
wrote:
And yes, now the tree map builder does no longer
use z-ordering to lay out the elements ;)
On Oct 8, 2013, at 12:51 PM, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
> Ok, excellent!!!
>
> Alexandre
>
>> Le 08-10-2013 à 6:44, "roberto.minelli(a)usi.ch"
<roberto.minelli(a)usi.ch> a écrit :
>>
>> Hi,
>>
>> I made a couple of changes of the builder as per your suggestions. An updated
usage script would be:
>>
>>> builder := DFTreeMapBuilder new.
>>> builder weightBlock: [ :el | el ].
>>> builder nodes: (1 to: 50).
>>> builder nestingFromAssociations: (builder nodes allButFirst collect: [:each |
(each // 2) -> each ]).
>>>
>>> "Some optional configurations parameters"
>>> colors := Color green mix: Color blue shades: (builder nodes size).
>>> builder colorBlock: [ :el | colors at: el ].
>>> builder rootColor: ((Color red) alpha: 0.5).
>>> builder inset: 5.
>>> builder extent: 300@400.
>>> builder origin: 10@30.
>>>
>>> "Some node-specific customization"
>>> builder fillNodes: [ :n | (n > 40) ] withColor: (Color white).
>>> builder fillNode: 50 withColor: (Color yellow).
>>> builder fillNode: 43 withColor: (Color green).
>>>
>>> builder strokeNodes: [ :n | (n \\ 2) = 1 ] withColor: (Color blue).
>>> builder strokeNode: 13 withColor: (Color black).
>>>
>>> builder strokeNodes: [ :n | (n \\ 6) = 0 ] withWidth: 2.
>>> builder strokeNode: 3 withColor: (Color red).
>>> builder strokeNode: 3 withWidth: 3.
>>>
>>> "Using the #drawOn: message for compatibility with
ROMondrianViewBuilder"
>>> view := ROView new.
>>> view @ RODraggable.
>>> builder drawOn: view.
>>> view open.
>>
>> And the resulting tree map @
https://dl.dropboxusercontent.com/u/6281855/updated-treemap.png
>>
>> Now I am converting from z-ordering to nesting. Stay tuned ;)
>>
>> Cheers,
>> Roby
>>
>>> On Oct 7, 2013, at 7:33 PM, Alexandre Bergel <alexandre.bergel(a)me.com>
wrote:
>>>
>>> Looks good to me.
>>> Maybe you could have in addition to
>>> DFTreeMapBuilder>>associations:
>>> something
>>> DFTreeMapBuilder>>parent: aBlockOrASymbol
>>>
>>> Also, something very important that I forgot to mention, we need a method
DFTreeMapBuilder>>drawOn: aROView
>>>
>>> Like that, we should be able to have a treemap when using the mondrian
builder. Using your example, we should have exactly the same result if we do:
>>> -=-=-=-=-=-=-=-=-=-=-=-=
>>> builder := DFTreeMapBuilder new.
>>> builder ... // your example here
>>>
>>> view := ROView new.
>>> builder drawOn: view.
>>> view open
>>> -=-=-=-=-=-=-=-=-=-=-=-=
>>>
>>> Cheers,
>>> Alexandre
>>>
>>>
>>>> On Oct 7, 2013, at 1:07 PM, "roberto.minelli(a)usi.ch"
<roberto.minelli(a)usi.ch> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I finished the first version of the new tree map builder for Roassal.
>>>>
>>>> You can find the source code in my SmalltalkHub package
'DevFlow-View'!
>>>>
>>>> Gofer new
>>>> smalltalkhubUser: 'RobertoMinelli' project: 'DevFlow';
>>>> package: 'DevFlow-View';
>>>> load.
>>>>
>>>> Here's an example usage:
>>>>
>>>> builder := DFTreeMapBuilder new.
>>>> builder weightBlock: [ :el | el ].
>>>> builder nodes: (1 to: 50).
>>>> builder associations: (builder nodes allButFirst collect: [:each | (each
// 2) -> each ]).
>>>>
>>>> "Some optional configurations parameters"
>>>> colors := Color white mix: Color blue shades: (builder nodes size).
>>>> builder colorBlock: [ :el | colors at: el ].
>>>> builder rootColor: ((Color red) alpha: 0.5).
>>>> builder inset: 5.
>>>> builder extent: 500@300.
>>>> builder origin: 10@30.
>>>>
>>>> builder draw.
>>>>
>>>> And the resulting tree map!
>>>>
>>>> [cid:EC2669CC-CA97-4B81-8B1B-B792FBE1C04F@mobile.usilu.net]
>>>>
>>>> Please tell me what do you think!
>>>>
>>>> The next steps are:
>>>> - Add customizable interactions
>>>> - Remove z-ordering and use proper nesting
>>>> - Eventually unroll the recursion in the layout algorithm
>>>>
>>>> Cheers,
>>>> Roberto
>>>
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel
http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch