On Mon, May 17, 2010 at 11:37 AM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Sorry for the noise...I am an idiot. It is below the map :)

Now, can I put it in above? like kind of header?

 
Ok...I did it. If someone is interested in the change, I just move the place of  "self renderLegendOn: view." in AbstractDistributionMap >> renderOn:

now it is:

renderOn: view
    | nodes colorsAndNodes elements |
    nodes := self parts.
    nodes := self orderParts: nodes.
   
    self renderLegendOn: view.
   
    "Node for the map itself"
    view shape rectangle withoutBorder.
    view
        node: #map
        forIt: [
            "Node for container + title"
            view shape rectangle withoutBorder.
            view
                nodes: nodes
                forEach: [ :node |
                    (view shape label)
                        withoutBorder;
                        fontSize: 7.
                    view node: node name.
                   
                    "Node for container"
                    view interaction nodraggable.
                    view interaction popupText: [ :element | element asString ].
                    view interaction menuMorphBlock: [ :element | element mooseMenuMorph ].
                    (view shape rectangle)
                        borderColor: Color gray;
                        borderWidth: 1.
                    view
                        node: node
                        forIt: [
   
                            "Node for elements"
                            view interaction nodraggable.
                            view interaction popupText: [ :element | element asString ].
                            self renderElementsFrom: node on: view.
                            view gridLayout gapSize: 2 ].
                    view verticalLineLayout gapSize: 0 ].
            view flowLayout maxWidth: 800 ].

    view verticalLineLayout.
    ^ view



thanks

mariano
 
Thanks!

mariano


On Mon, May 17, 2010 at 11:31 AM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Thanks Jannik. It worked like a charm :)

Now I have another question: how can I put a reference in a DistributionMap to know what does it mean each color.

For example, suppose I export the map to a png and I send it to you...how to you know each color what does it mean ?

It would be cool to have such information in a header or some other visible place.

Can I do this? how?  (not with wizard please!)

Thanks

Mariano


On Sat, May 15, 2010 at 4:05 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:


On Sat, May 15, 2010 at 2:53 AM, Tudor Girba <tudor.girba@gmail.com> wrote:
Hi Mariano,

I believe you did not receive the previous mails because you are not subscribed to the mailing list and the default behavior is to only reply to the moose-dev mailing list.

If you want to subscribe, you can do it through:
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


I am already subscribed. I even could send this email. I wouldn't be able (probably) sent the email if I was not.
 

The idea is that if you return multiple values in your properties block, you will get multiple colors.


Thanks Doru/Jannik  I will give a try and let you know.

 
Cheers,
Doru


On 14 May 2010, at 20:57, Laval Jannik wrote:

Hi Mariano,

If you want, I use this script in a visualization, it should help you.

^ ((DistributionMap onContainers: anOrionModel allModelPackages elements: #classes properties: [:element | element stateIn: anOrionModel] )
               propertyColorMap: (Dictionary new at: #notChanged put: Color gray; at:#isModified put: Color green; at: #isCreated put: Color blue; at: #isRemoved put: Color red; yourself); yourself)
                       render
                       open.

Cheers,
Jannik



On May 14, 2010, at 20:53 , Mariano Martinez Peck wrote:

nobody ?  :(

On Wed, May 12, 2010 at 3:58 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Hi folks. I am trying to script some distribution maps. For the moment I was doing simple things with just two colors. Example:


   ^ (DistributionMap onContainers: (self listOfCorePackages
       collect: [ :each | (PackageInfo named: each) ]) elements: #classes properties: [:element | element hasUsedInstances = true] )
           render
           open.


That show me classes with used instances with blue and the rest with red. Now I want:

element hasUsedInstances = true  ->  blue
element instanceCount > 0 and:  [hasUsedInstances = false] -> red
the rest (without instances) -> yellow

Forget about the colors, I don't care which color (although it would be cool  to be able to choose). What I don't know how to do is to define multiple properties. And I cannot use the wizard, I have to do it by code ;)

Can someone help ?

Thank you very much in advance.

Mariano

_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

---
Jannik Laval

_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Some battles are better lost than fought."