Setting colors in Mondrian and sorting

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Setting colors in Mondrian and sorting

Alexandre Bergel
Hi!

Here is a short script excerpt I use.
        view shape rectangle
                size: 10;
                fillColor: [ :aMethod | aMethod isCovered ifTrue: [ Color lightRed ]  
ifFalse: [ Color white ]].
        view  nodes: (aClass methods sortedAs: #isCovered).

I feel the way the color is set is very verbose.
The following are equivalent
fillColor: { #isCovered -> #lightRed }
fillColor: { [:m | m isCovered] -> #lightRed }
fillColor: { #isCovered -> #lightRed . [:m | m isCovered not ] ->  
#white}

The white color could be the default color is no color is picked up.

In the script above, I also use #sortedAs: to sort my elements. I find  
this method quite handy. It is defined as an extension of Collection.  
It is more flexible than Jannik's #sortedBy: and Moose's #sorted:.  
#sortedAs operates on boolean as well.

Any opinion?

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Setting colors in Mondrian and sorting

Stéphane Ducasse
what is sortedAs:

STf
On Mar 7, 2010, at 3:38 PM, Alexandre Bergel wrote:

> Hi!
>
> Here is a short script excerpt I use.
> view shape rectangle
> size: 10;
> fillColor: [ :aMethod | aMethod isCovered ifTrue: [ Color lightRed ] ifFalse: [ Color white ]].
> view  nodes: (aClass methods sortedAs: #isCovered).
>
> I feel the way the color is set is very verbose.
> The following are equivalent
> fillColor: { #isCovered -> #lightRed }
> fillColor: { [:m | m isCovered] -> #lightRed }
> fillColor: { #isCovered -> #lightRed . [:m | m isCovered not ] -> #white}
>
> The white color could be the default color is no color is picked up.
>
> In the script above, I also use #sortedAs: to sort my elements. I find this method quite handy. It is defined as an extension of Collection. It is more flexible than Jannik's #sortedBy: and Moose's #sorted:. #sortedAs operates on boolean as well.
>
> Any opinion?
>
> Cheers,
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Setting colors in Mondrian and sorting

Alexandre Bergel
I method that I wrote some times ago. It sorts collection in a fancy  
way.

Alexandre

On 7 Mar 2010, at 13:10, Stéphane Ducasse wrote:

> what is sortedAs:
>
> STf
> On Mar 7, 2010, at 3:38 PM, Alexandre Bergel wrote:
>
>> Hi!
>>
>> Here is a short script excerpt I use.
>> view shape rectangle
>> size: 10;
>> fillColor: [ :aMethod | aMethod isCovered ifTrue: [ Color  
>> lightRed ] ifFalse: [ Color white ]].
>> view  nodes: (aClass methods sortedAs: #isCovered).
>>
>> I feel the way the color is set is very verbose.
>> The following are equivalent
>> fillColor: { #isCovered -> #lightRed }
>> fillColor: { [:m | m isCovered] -> #lightRed }
>> fillColor: { #isCovered -> #lightRed . [:m | m isCovered not ] ->  
>> #white}
>>
>> The white color could be the default color is no color is picked up.
>>
>> In the script above, I also use #sortedAs: to sort my elements. I  
>> find this method quite handy. It is defined as an extension of  
>> Collection. It is more flexible than Jannik's #sortedBy: and  
>> Moose's #sorted:. #sortedAs operates on boolean as well.
>>
>> Any opinion?
>>
>> Cheers,
>> Alexandre
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Setting colors in Mondrian and sorting

Stéphane Ducasse
ok but still send the code because right now I do not get it.

Stef



On Mar 7, 2010, at 5:37 PM, Alexandre Bergel wrote:

> I method that I wrote some times ago. It sorts collection in a fancy way.
>
> Alexandre
>
> On 7 Mar 2010, at 13:10, Stéphane Ducasse wrote:
>
>> what is sortedAs:
>>
>> STf
>> On Mar 7, 2010, at 3:38 PM, Alexandre Bergel wrote:
>>
>>> Hi!
>>>
>>> Here is a short script excerpt I use.
>>> view shape rectangle
>>> size: 10;
>>> fillColor: [ :aMethod | aMethod isCovered ifTrue: [ Color lightRed ] ifFalse: [ Color white ]].
>>> view  nodes: (aClass methods sortedAs: #isCovered).
>>>
>>> I feel the way the color is set is very verbose.
>>> The following are equivalent
>>> fillColor: { #isCovered -> #lightRed }
>>> fillColor: { [:m | m isCovered] -> #lightRed }
>>> fillColor: { #isCovered -> #lightRed . [:m | m isCovered not ] -> #white}
>>>
>>> The white color could be the default color is no color is picked up.
>>>
>>> In the script above, I also use #sortedAs: to sort my elements. I find this method quite handy. It is defined as an extension of Collection. It is more flexible than Jannik's #sortedBy: and Moose's #sorted:. #sortedAs operates on boolean as well.
>>>
>>> Any opinion?
>>>
>>> Cheers,
>>> Alexandre
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel  http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Setting colors in Mondrian and sorting

Tudor Girba
Hi,

I agree that we need a convenience construct for expressing properties  
based on a condition, but I do not like the format you propose :).

In VW, we had the following method:
RectangleShape>>ifTrue: conditionBlock fillColor: colorBlock
        | oldBlock |
        oldBlock := self fillColor ifNil: self defaultFillColor.
        ^self fillColor: [ :each | (conditionBlock mondrianValue: each)
                ifTrue: [ colorBlock ] ifFalse: [ oldBlock ]].

Your examples would look like:

shape rectangle ifTrue:  #isCovered fillColor: #lightRed.
shape rectangle ifTrue: [:m | m isCovered] fillColor:  #lightRed.
shape rectnagle
        fillColor: #white;
        ifTrue: #isCovered  fillColor:  #lightRed.

Now, I would just rename "ifTrue:fillColor:" to "when:fillColor:" or  
"if:fillColor:".

Cheers,
Doru


On 7 Mar 2010, at 23:02, Stéphane Ducasse wrote:

> ok but still send the code because right now I do not get it.
>
> Stef
>
>
>
> On Mar 7, 2010, at 5:37 PM, Alexandre Bergel wrote:
>
>> I method that I wrote some times ago. It sorts collection in a  
>> fancy way.
>>
>> Alexandre
>>
>> On 7 Mar 2010, at 13:10, Stéphane Ducasse wrote:
>>
>>> what is sortedAs:
>>>
>>> STf
>>> On Mar 7, 2010, at 3:38 PM, Alexandre Bergel wrote:
>>>
>>>> Hi!
>>>>
>>>> Here is a short script excerpt I use.
>>>> view shape rectangle
>>>> size: 10;
>>>> fillColor: [ :aMethod | aMethod isCovered ifTrue: [ Color  
>>>> lightRed ] ifFalse: [ Color white ]].
>>>> view  nodes: (aClass methods sortedAs: #isCovered).
>>>>
>>>> I feel the way the color is set is very verbose.
>>>> The following are equivalent
>>>> fillColor: { #isCovered -> #lightRed }
>>>> fillColor: { [:m | m isCovered] -> #lightRed }
>>>> fillColor: { #isCovered -> #lightRed . [:m | m isCovered not ] ->  
>>>> #white}
>>>>
>>>> The white color could be the default color is no color is picked  
>>>> up.
>>>>
>>>> In the script above, I also use #sortedAs: to sort my elements. I  
>>>> find this method quite handy. It is defined as an extension of  
>>>> Collection. It is more flexible than Jannik's #sortedBy: and  
>>>> Moose's #sorted:. #sortedAs operates on boolean as well.
>>>>
>>>> Any opinion?
>>>>
>>>> Cheers,
>>>> Alexandre
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel  http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>> [hidden email]
>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"It's not how it is, it is how we see it."


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Setting colors in Mondrian and sorting

Alexandre Bergel
> Your examples would look like:
>
> shape rectangle ifTrue:  #isCovered fillColor: #lightRed.
> shape rectangle ifTrue: [:m | m isCovered] fillColor:  #lightRed.
> shape rectnagle
> fillColor: #white;
> ifTrue: #isCovered  fillColor:  #lightRed.

A bit more verbose, but looks okay. I will implement this.

Cheers,
Alexandre

>
>
> On 7 Mar 2010, at 23:02, Stéphane Ducasse wrote:
>
>> ok but still send the code because right now I do not get it.
>>
>> Stef
>>
>>
>>
>> On Mar 7, 2010, at 5:37 PM, Alexandre Bergel wrote:
>>
>>> I method that I wrote some times ago. It sorts collection in a  
>>> fancy way.
>>>
>>> Alexandre
>>>
>>> On 7 Mar 2010, at 13:10, Stéphane Ducasse wrote:
>>>
>>>> what is sortedAs:
>>>>
>>>> STf
>>>> On Mar 7, 2010, at 3:38 PM, Alexandre Bergel wrote:
>>>>
>>>>> Hi!
>>>>>
>>>>> Here is a short script excerpt I use.
>>>>> view shape rectangle
>>>>> size: 10;
>>>>> fillColor: [ :aMethod | aMethod isCovered ifTrue: [ Color  
>>>>> lightRed ] ifFalse: [ Color white ]].
>>>>> view  nodes: (aClass methods sortedAs: #isCovered).
>>>>>
>>>>> I feel the way the color is set is very verbose.
>>>>> The following are equivalent
>>>>> fillColor: { #isCovered -> #lightRed }
>>>>> fillColor: { [:m | m isCovered] -> #lightRed }
>>>>> fillColor: { #isCovered -> #lightRed . [:m | m isCovered not ] -
>>>>> > #white}
>>>>>
>>>>> The white color could be the default color is no color is picked  
>>>>> up.
>>>>>
>>>>> In the script above, I also use #sortedAs: to sort my elements.  
>>>>> I find this method quite handy. It is defined as an extension of  
>>>>> Collection. It is more flexible than Jannik's #sortedBy: and  
>>>>> Moose's #sorted:. #sortedAs operates on boolean as well.
>>>>>
>>>>> Any opinion?
>>>>>
>>>>> Cheers,
>>>>> Alexandre
>>>>> --
>>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>>> Alexandre Bergel  http://www.bergel.eu
>>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Moose-dev mailing list
>>>>> [hidden email]
>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>
>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>> [hidden email]
>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel  http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> www.tudorgirba.com
>
> "It's not how it is, it is how we see it."
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Setting colors in Mondrian and sorting

Tudor Girba
>> Your examples would look like:
>>
>> shape rectangle ifTrue:  #isCovered fillColor: #lightRed.
>> shape rectangle ifTrue: [:m | m isCovered] fillColor:  #lightRed.
>> shape rectnagle
>> fillColor: #white;
>> ifTrue: #isCovered  fillColor:  #lightRed.
>
> A bit more verbose, but looks okay.

It is only a tiny bit more verbose, but it is significantly more  
explicit :).

> I will implement this.

Thanks,
Doru


> Cheers,
> Alexandre
>
>>
>>
>> On 7 Mar 2010, at 23:02, Stéphane Ducasse wrote:
>>
>>> ok but still send the code because right now I do not get it.
>>>
>>> Stef
>>>
>>>
>>>
>>> On Mar 7, 2010, at 5:37 PM, Alexandre Bergel wrote:
>>>
>>>> I method that I wrote some times ago. It sorts collection in a  
>>>> fancy way.
>>>>
>>>> Alexandre
>>>>
>>>> On 7 Mar 2010, at 13:10, Stéphane Ducasse wrote:
>>>>
>>>>> what is sortedAs:
>>>>>
>>>>> STf
>>>>> On Mar 7, 2010, at 3:38 PM, Alexandre Bergel wrote:
>>>>>
>>>>>> Hi!
>>>>>>
>>>>>> Here is a short script excerpt I use.
>>>>>> view shape rectangle
>>>>>> size: 10;
>>>>>> fillColor: [ :aMethod | aMethod isCovered ifTrue: [ Color  
>>>>>> lightRed ] ifFalse: [ Color white ]].
>>>>>> view  nodes: (aClass methods sortedAs: #isCovered).
>>>>>>
>>>>>> I feel the way the color is set is very verbose.
>>>>>> The following are equivalent
>>>>>> fillColor: { #isCovered -> #lightRed }
>>>>>> fillColor: { [:m | m isCovered] -> #lightRed }
>>>>>> fillColor: { #isCovered -> #lightRed . [:m | m isCovered not ] -
>>>>>> > #white}
>>>>>>
>>>>>> The white color could be the default color is no color is  
>>>>>> picked up.
>>>>>>
>>>>>> In the script above, I also use #sortedAs: to sort my elements.  
>>>>>> I find this method quite handy. It is defined as an extension  
>>>>>> of Collection. It is more flexible than Jannik's #sortedBy: and  
>>>>>> Moose's #sorted:. #sortedAs operates on boolean as well.
>>>>>>
>>>>>> Any opinion?
>>>>>>
>>>>>> Cheers,
>>>>>> Alexandre
>>>>>> --
>>>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>>>> Alexandre Bergel  http://www.bergel.eu
>>>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Moose-dev mailing list
>>>>>> [hidden email]
>>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Moose-dev mailing list
>>>>> [hidden email]
>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel  http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>> [hidden email]
>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>> --
>> www.tudorgirba.com
>>
>> "It's not how it is, it is how we see it."
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Next time you see your life passing by, say 'hi' and get to know her."




_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Setting colors in Mondrian and sorting

Alexandre Bergel
In reply to this post by Stéphane Ducasse
The method is defined on Collection:

-=-=-=-=-=-=-=-=-=-=-=-=
sortedAs: aSortBlockOrSymbol
        "Answer a SortedCollection whose elements are the elements of the
        receiver. The sort order is defined by the argument, aSortBlock."

        | aSortedCollection aSortBlock |
        aSortedCollection := SortedCollection new: self size.
        aSortBlock :=
                aSortBlockOrSymbol isSymbol
                        ifTrue: [ [:a :b | |t1 t2|
                                                        t1 := (a perform: aSortBlockOrSymbol).
                                                        t2 := (b perform: aSortBlockOrSymbol).
                                                        ((t1 isKindOf: Boolean) and: [t2 isKindOf: Boolean])
                                                                ifTrue: [ t1 ]
                                                                ifFalse: [ t1 < t2 ] ] ]
                        ifFalse: [ aSortBlockOrSymbol ].
        aSortedCollection sortBlock: aSortBlock.
        aSortedCollection addAll: self.
        ^ aSortedCollection
-=-=-=-=-=-=-=-=-=-=-=-=

the idea is to be able to easily sort objects. Often I would to  
separate object following a boolean property:
#(1 2 3 4 5 6 7) sortedAs: #odd
==> a SortedCollection(1 7 3 5 6 2 4)

In the example I gave in the previous email, I want to have method  
covered before

Alexandre


On 7 Mar 2010, at 19:02, Stéphane Ducasse wrote:

> ok but still send the code because right now I do not get it.
>
> Stef
>
>
>
> On Mar 7, 2010, at 5:37 PM, Alexandre Bergel wrote:
>
>> I method that I wrote some times ago. It sorts collection in a  
>> fancy way.
>>
>> Alexandre
>>
>> On 7 Mar 2010, at 13:10, Stéphane Ducasse wrote:
>>
>>> what is sortedAs:
>>>
>>> STf
>>> On Mar 7, 2010, at 3:38 PM, Alexandre Bergel wrote:
>>>
>>>> Hi!
>>>>
>>>> Here is a short script excerpt I use.
>>>> view shape rectangle
>>>> size: 10;
>>>> fillColor: [ :aMethod | aMethod isCovered ifTrue: [ Color  
>>>> lightRed ] ifFalse: [ Color white ]].
>>>> view  nodes: (aClass methods sortedAs: #isCovered).
>>>>
>>>> I feel the way the color is set is very verbose.
>>>> The following are equivalent
>>>> fillColor: { #isCovered -> #lightRed }
>>>> fillColor: { [:m | m isCovered] -> #lightRed }
>>>> fillColor: { #isCovered -> #lightRed . [:m | m isCovered not ] ->  
>>>> #white}
>>>>
>>>> The white color could be the default color is no color is picked  
>>>> up.
>>>>
>>>> In the script above, I also use #sortedAs: to sort my elements. I  
>>>> find this method quite handy. It is defined as an extension of  
>>>> Collection. It is more flexible than Jannik's #sortedBy: and  
>>>> Moose's #sorted:. #sortedAs operates on boolean as well.
>>>>
>>>> Any opinion?
>>>>
>>>> Cheers,
>>>> Alexandre
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel  http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>> [hidden email]
>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Setting colors in Mondrian and sorting

Alexandre Bergel
In reply to this post by Tudor Girba
> RectangleShape>>ifTrue: conditionBlock fillColor: colorBlock
> | oldBlock |
> oldBlock := self fillColor ifNil: self defaultFillColor.
> ^self fillColor: [ :each | (conditionBlock mondrianValue: each)
> ifTrue: [ colorBlock ] ifFalse: [ oldBlock ]].

Shouldn't a "mondrianValue: each" be added after colorBlock and  
oldBlock ?
I added:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
MOFilledShape>>if: conditionBlock fillColor: colorBlock
        | oldBlockOrValue |
        oldBlockOrValue := self fillColor ifNil: [ self defaultFillColor ].
        ^self fillColor: [ :each | (conditionBlock moValue: each)
                                                                ifTrue: [ colorBlock moValue: each ] ifFalse:  
[ oldBlockOrValue moValue: each ]].
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Added if:fillColor: and testConditionalColor in 388

Cheers,
Alexandre

>
>
> On 7 Mar 2010, at 23:02, Stéphane Ducasse wrote:
>
>> ok but still send the code because right now I do not get it.
>>
>> Stef
>>
>>
>>
>> On Mar 7, 2010, at 5:37 PM, Alexandre Bergel wrote:
>>
>>> I method that I wrote some times ago. It sorts collection in a  
>>> fancy way.
>>>
>>> Alexandre
>>>
>>> On 7 Mar 2010, at 13:10, Stéphane Ducasse wrote:
>>>
>>>> what is sortedAs:
>>>>
>>>> STf
>>>> On Mar 7, 2010, at 3:38 PM, Alexandre Bergel wrote:
>>>>
>>>>> Hi!
>>>>>
>>>>> Here is a short script excerpt I use.
>>>>> view shape rectangle
>>>>> size: 10;
>>>>> fillColor: [ :aMethod | aMethod isCovered ifTrue: [ Color  
>>>>> lightRed ] ifFalse: [ Color white ]].
>>>>> view  nodes: (aClass methods sortedAs: #isCovered).
>>>>>
>>>>> I feel the way the color is set is very verbose.
>>>>> The following are equivalent
>>>>> fillColor: { #isCovered -> #lightRed }
>>>>> fillColor: { [:m | m isCovered] -> #lightRed }
>>>>> fillColor: { #isCovered -> #lightRed . [:m | m isCovered not ] -
>>>>> > #white}
>>>>>
>>>>> The white color could be the default color is no color is picked  
>>>>> up.
>>>>>
>>>>> In the script above, I also use #sortedAs: to sort my elements.  
>>>>> I find this method quite handy. It is defined as an extension of  
>>>>> Collection. It is more flexible than Jannik's #sortedBy: and  
>>>>> Moose's #sorted:. #sortedAs operates on boolean as well.
>>>>>
>>>>> Any opinion?
>>>>>
>>>>> Cheers,
>>>>> Alexandre
>>>>> --
>>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>>> Alexandre Bergel  http://www.bergel.eu
>>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Moose-dev mailing list
>>>>> [hidden email]
>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>
>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>> [hidden email]
>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel  http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> www.tudorgirba.com
>
> "It's not how it is, it is how we see it."
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Setting colors in Mondrian and sorting

Tudor Girba
Hi Alex,

Nice catch. Indeed, this is a bug. The method was actually used only  
for constants like Color white, so I never detected it :)

Cheers,
Doru


On 8 Mar 2010, at 19:55, Alexandre Bergel wrote:

>> RectangleShape>>ifTrue: conditionBlock fillColor: colorBlock
>> | oldBlock |
>> oldBlock := self fillColor ifNil: self defaultFillColor.
>> ^self fillColor: [ :each | (conditionBlock mondrianValue: each)
>> ifTrue: [ colorBlock ] ifFalse: [ oldBlock ]].
>
> Shouldn't a "mondrianValue: each" be added after colorBlock and  
> oldBlock ?
> I added:
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> MOFilledShape>>if: conditionBlock fillColor: colorBlock
> | oldBlockOrValue |
> oldBlockOrValue := self fillColor ifNil: [ self defaultFillColor ].
> ^self fillColor: [ :each | (conditionBlock moValue: each)
> ifTrue: [ colorBlock moValue: each ] ifFalse:  
> [ oldBlockOrValue moValue: each ]].
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>
> Added if:fillColor: and testConditionalColor in 388
>
> Cheers,
> Alexandre
>
>>
>>
>> On 7 Mar 2010, at 23:02, Stéphane Ducasse wrote:
>>
>>> ok but still send the code because right now I do not get it.
>>>
>>> Stef
>>>
>>>
>>>
>>> On Mar 7, 2010, at 5:37 PM, Alexandre Bergel wrote:
>>>
>>>> I method that I wrote some times ago. It sorts collection in a  
>>>> fancy way.
>>>>
>>>> Alexandre
>>>>
>>>> On 7 Mar 2010, at 13:10, Stéphane Ducasse wrote:
>>>>
>>>>> what is sortedAs:
>>>>>
>>>>> STf
>>>>> On Mar 7, 2010, at 3:38 PM, Alexandre Bergel wrote:
>>>>>
>>>>>> Hi!
>>>>>>
>>>>>> Here is a short script excerpt I use.
>>>>>> view shape rectangle
>>>>>> size: 10;
>>>>>> fillColor: [ :aMethod | aMethod isCovered ifTrue: [ Color  
>>>>>> lightRed ] ifFalse: [ Color white ]].
>>>>>> view  nodes: (aClass methods sortedAs: #isCovered).
>>>>>>
>>>>>> I feel the way the color is set is very verbose.
>>>>>> The following are equivalent
>>>>>> fillColor: { #isCovered -> #lightRed }
>>>>>> fillColor: { [:m | m isCovered] -> #lightRed }
>>>>>> fillColor: { #isCovered -> #lightRed . [:m | m isCovered not ] -
>>>>>> > #white}
>>>>>>
>>>>>> The white color could be the default color is no color is  
>>>>>> picked up.
>>>>>>
>>>>>> In the script above, I also use #sortedAs: to sort my elements.  
>>>>>> I find this method quite handy. It is defined as an extension  
>>>>>> of Collection. It is more flexible than Jannik's #sortedBy: and  
>>>>>> Moose's #sorted:. #sortedAs operates on boolean as well.
>>>>>>
>>>>>> Any opinion?
>>>>>>
>>>>>> Cheers,
>>>>>> Alexandre
>>>>>> --
>>>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>>>> Alexandre Bergel  http://www.bergel.eu
>>>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Moose-dev mailing list
>>>>>> [hidden email]
>>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Moose-dev mailing list
>>>>> [hidden email]
>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel  http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>> [hidden email]
>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>> --
>> www.tudorgirba.com
>>
>> "It's not how it is, it is how we see it."
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"We are all great at making mistakes."






_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev