Mondrian forNode:do: on top level self

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

Mondrian forNode:do: on top level self

Ben Coman

Background:
I am trying to use Mondrian to visualize SomeContainerClass holding
SomeOtherContainerClass that holds Equipment classes.  So I was thinking
each container class might have a method (#subviewOf: aView) which at
some point does (aView forNode: self do:).   Now I have come to the
understanding that I am probably misusing #forNode:do: like that, and am
continuing exploring that, but thought I would report the MNU that I
encountered before moving on - just in case it was desirable to guard
against such abuse.

Steps to Reproduce:
The essence of this distills down to the following in Mondrian Easel,
where this first case works....
    view nodes: (1 to: 20).
    view forNode: 2 do: [ view nodes: (50 to: 52) ]
but this second case...
    view nodes: (1 to: 20).
    view forNode: view do: [ view nodes: (50 to: 52) ]
gets MNU "removeAllEdges"

Inserting 'self halt' between the two lines and tracing through to
MONode>>nodeWith:ifAbsent shows the line...
        nodeLookedUp := self nodes detect: [:each | each model =
anObject ] ifNone: aBlock.
has in the first case (self nodes) as anOrderedCollection of 20 items
and in the second (self nodes) is an empty Array.

Just reporting for discussion.  I am not sure if this would be
considered a bug worth tracking, or just an abuse of the framework.

Cheers, Ben






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

Re: Mondrian forNode:do: on top level self

Tudor Girba-2
Hi,

forNode:do: is an internal method. You should use node:forIt: or nodes:forEach: to construct nested graphs.

Cheers,
Doru


On 23 Mar 2012, at 15:26, Ben Coman wrote:

>
> Background:
> I am trying to use Mondrian to visualize SomeContainerClass holding SomeOtherContainerClass that holds Equipment classes.  So I was thinking each container class might have a method (#subviewOf: aView) which at some point does (aView forNode: self do:).   Now I have come to the understanding that I am probably misusing #forNode:do: like that, and am continuing exploring that, but thought I would report the MNU that I encountered before moving on - just in case it was desirable to guard against such abuse.
> Steps to Reproduce:
> The essence of this distills down to the following in Mondrian Easel, where this first case works....
>   view nodes: (1 to: 20).
>   view forNode: 2 do: [ view nodes: (50 to: 52) ]
> but this second case...
>   view nodes: (1 to: 20).
>   view forNode: view do: [ view nodes: (50 to: 52) ]
> gets MNU "removeAllEdges"
>
> Inserting 'self halt' between the two lines and tracing through to MONode>>nodeWith:ifAbsent shows the line...
>       nodeLookedUp := self nodes detect: [:each | each model = anObject ] ifNone: aBlock.
> has in the first case (self nodes) as anOrderedCollection of 20 items
> and in the second (self nodes) is an empty Array.
>
> Just reporting for discussion.  I am not sure if this would be considered a bug worth tracking, or just an abuse of the framework.
>
> Cheers, Ben
>
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"Value is always contextual."




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

Re: Mondrian forNode:do: on top level self

Ben Coman
My original example below was a little artificial in order to be concise.   It actually stemmed from not quite grasping the architecture of Mondrian (which has evolved in the last couple of days) and was equivalent to bypassing the line (view node: self) below.  I had been going...
    MyContainerClass>>addSubViewTo: view
        view node: self.
        view forNode: self do: [...]

I had not yet discovered #node:forIt: and it suites much better. Thanks.

btw, I had taken the use of #forNode:do: from World > Mondrian Easel > Examples >  subviews > add subview
which makes it look like an external method, as well as it not being in the 'private' method category of MOViewRenderer.
Is there another way to do that example with external methods?

cheers, -ben

Tudor Girba wrote:
Hi,

forNode:do: is an internal method. You should use node:forIt: or nodes:forEach: to construct nested graphs.

Cheers,
Doru


On 23 Mar 2012, at 15:26, Ben Coman wrote:

  
Background:
I am trying to use Mondrian to visualize SomeContainerClass holding SomeOtherContainerClass that holds Equipment classes.  So I was thinking each container class might have a method (#subviewOf: aView) which at some point does (aView forNode: self do:).   Now I have come to the understanding that I am probably misusing #forNode:do: like that, and am continuing exploring that, but thought I would report the MNU that I encountered before moving on - just in case it was desirable to guard against such abuse. 
Steps to Reproduce:
The essence of this distills down to the following in Mondrian Easel, where this first case works....
  view nodes: (1 to: 20).
  view forNode: 2 do: [ view nodes: (50 to: 52) ]
but this second case...
  view nodes: (1 to: 20).
  view forNode: view do: [ view nodes: (50 to: 52) ]
gets MNU "removeAllEdges"

Inserting 'self halt' between the two lines and tracing through to MONode>>nodeWith:ifAbsent shows the line...
      nodeLookedUp := self nodes detect: [:each | each model = anObject ] ifNone: aBlock.
has in the first case (self nodes) as anOrderedCollection of 20 items
and in the second (self nodes) is an empty Array.

Just reporting for discussion.  I am not sure if this would be considered a bug worth tracking, or just an abuse of the framework.

Cheers, Ben






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

--
www.tudorgirba.com

"Value is always contextual."




_______________________________________________
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: Mondrian forNode:do: on top level self

abergel
Yes, this example Examples >  subviews > add subview is about adding inner nodes when a particular action occurs. It is not meant to be the way to statically defines subviews.
I agree this is not elegant. This is exactly the reason why I am working on Roassal.

Alexandre


On 24 Mar 2012, at 15:31, Ben Coman wrote:

My original example below was a little artificial in order to be concise.   It actually stemmed from not quite grasping the architecture of Mondrian (which has evolved in the last couple of days) and was equivalent to bypassing the line (view node: self) below.  I had been going...
    MyContainerClass>>addSubViewTo: view
        view node: self.
        view forNode: self do: [...]

I had not yet discovered #node:forIt: and it suites much better. Thanks.

btw, I had taken the use of #forNode:do: from World > Mondrian Easel > Examples >  subviews > add subview
which makes it look like an external method, as well as it not being in the 'private' method category of MOViewRenderer.
Is there another way to do that example with external methods?

cheers, -ben

Tudor Girba wrote:
Hi,

forNode:do: is an internal method. You should use node:forIt: or nodes:forEach: to construct nested graphs.

Cheers,
Doru


On 23 Mar 2012, at 15:26, Ben Coman wrote:

  
Background:
I am trying to use Mondrian to visualize SomeContainerClass holding SomeOtherContainerClass that holds Equipment classes.  So I was thinking each container class might have a method (#subviewOf: aView) which at some point does (aView forNode: self do:).   Now I have come to the understanding that I am probably misusing #forNode:do: like that, and am continuing exploring that, but thought I would report the MNU that I encountered before moving on - just in case it was desirable to guard against such abuse. 
Steps to Reproduce:
The essence of this distills down to the following in Mondrian Easel, where this first case works....
  view nodes: (1 to: 20).
  view forNode: 2 do: [ view nodes: (50 to: 52) ]
but this second case...
  view nodes: (1 to: 20).
  view forNode: view do: [ view nodes: (50 to: 52) ]
gets MNU "removeAllEdges"

Inserting 'self halt' between the two lines and tracing through to MONode>>nodeWith:ifAbsent shows the line...
      nodeLookedUp := self nodes detect: [:each | each model = anObject ] ifNone: aBlock.
has in the first case (self nodes) as anOrderedCollection of 20 items
and in the second (self nodes) is an empty Array.

Just reporting for discussion.  I am not sure if this would be considered a bug worth tracking, or just an abuse of the framework.

Cheers, Ben






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

--
www.tudorgirba.com

"Value is always contextual."




_______________________________________________
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
|

Roassal was Re: Re: Mondrian forNode:do: on top level self

Ben Coman
Will Roassal be integrated with Glamour? 

Alexandre Bergel wrote:
Yes, this example Examples >  subviews > add subview is about adding inner nodes when a particular action occurs. It is not meant to be the way to statically defines subviews.
I agree this is not elegant. This is exactly the reason why I am working on Roassal.

Alexandre


On 24 Mar 2012, at 15:31, Ben Coman wrote:

  
My original example below was a little artificial in order to be concise.   It actually stemmed from not quite grasping the architecture of Mondrian (which has evolved in the last couple of days) and was equivalent to bypassing the line (view node: self) below.  I had been going...
    MyContainerClass>>addSubViewTo: view 
        view node: self.
        view forNode: self do: [...]

I had not yet discovered #node:forIt: and it suites much better. Thanks.

btw, I had taken the use of #forNode:do: from World > Mondrian Easel > Examples >  subviews > add subview
which makes it look like an external method, as well as it not being in the 'private' method category of MOViewRenderer.
Is there another way to do that example with external methods?

cheers, -ben

Tudor Girba wrote:
    
Hi,

forNode:do: is an internal method. You should use node:forIt: or nodes:forEach: to construct nested graphs.

Cheers,
Doru


On 23 Mar 2012, at 15:26, Ben Coman wrote:

  
      
Background:
I am trying to use Mondrian to visualize SomeContainerClass holding SomeOtherContainerClass that holds Equipment classes.  So I was thinking each container class might have a method (#subviewOf: aView) which at some point does (aView forNode: self do:).   Now I have come to the understanding that I am probably misusing #forNode:do: like that, and am continuing exploring that, but thought I would report the MNU that I encountered before moving on - just in case it was desirable to guard against such abuse. 
Steps to Reproduce:
The essence of this distills down to the following in Mondrian Easel, where this first case works....
  view nodes: (1 to: 20).
  view forNode: 2 do: [ view nodes: (50 to: 52) ]
but this second case...
  view nodes: (1 to: 20).
  view forNode: view do: [ view nodes: (50 to: 52) ]
gets MNU "removeAllEdges"

Inserting 'self halt' between the two lines and tracing through to MONode>>nodeWith:ifAbsent shows the line...
      nodeLookedUp := self nodes detect: [:each | each model = anObject ] ifNone: aBlock.
has in the first case (self nodes) as anOrderedCollection of 20 items
and in the second (self nodes) is an empty Array.

Just reporting for discussion.  I am not sure if this would be considered a bug worth tracking, or just an abuse of the framework.

Cheers, Ben






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

"Value is always contextual."




_______________________________________________
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
    

  

_______________________________________________ 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: Roassal was Re: Re: Mondrian forNode:do: on top level self

abergel
Sure. It will also support Cairo and produce HTML5.

Alexandre


On 28 Mar 2012, at 10:08, Ben Coman wrote:

Will Roassal be integrated with Glamour? 

Alexandre Bergel wrote:
Yes, this example Examples >  subviews > add subview is about adding inner nodes when a particular action occurs. It is not meant to be the way to statically defines subviews.
I agree this is not elegant. This is exactly the reason why I am working on Roassal.

Alexandre


On 24 Mar 2012, at 15:31, Ben Coman wrote:

  
My original example below was a little artificial in order to be concise.   It actually stemmed from not quite grasping the architecture of Mondrian (which has evolved in the last couple of days) and was equivalent to bypassing the line (view node: self) below.  I had been going...
    MyContainerClass>>addSubViewTo: view 
        view node: self.
        view forNode: self do: [...]

I had not yet discovered #node:forIt: and it suites much better. Thanks.

btw, I had taken the use of #forNode:do: from World > Mondrian Easel > Examples >  subviews > add subview
which makes it look like an external method, as well as it not being in the 'private' method category of MOViewRenderer.
Is there another way to do that example with external methods?

cheers, -ben

Tudor Girba wrote:
    
Hi,

forNode:do: is an internal method. You should use node:forIt: or nodes:forEach: to construct nested graphs.

Cheers,
Doru


On 23 Mar 2012, at 15:26, Ben Coman wrote:

  
      
Background:
I am trying to use Mondrian to visualize SomeContainerClass holding SomeOtherContainerClass that holds Equipment classes.  So I was thinking each container class might have a method (#subviewOf: aView) which at some point does (aView forNode: self do:).   Now I have come to the understanding that I am probably misusing #forNode:do: like that, and am continuing exploring that, but thought I would report the MNU that I encountered before moving on - just in case it was desirable to guard against such abuse. 
Steps to Reproduce:
The essence of this distills down to the following in Mondrian Easel, where this first case works....
  view nodes: (1 to: 20).
  view forNode: 2 do: [ view nodes: (50 to: 52) ]
but this second case...
  view nodes: (1 to: 20).
  view forNode: view do: [ view nodes: (50 to: 52) ]
gets MNU "removeAllEdges"

Inserting 'self halt' between the two lines and tracing through to MONode>>nodeWith:ifAbsent shows the line...
      nodeLookedUp := self nodes detect: [:each | each model = anObject ] ifNone: aBlock.
has in the first case (self nodes) as anOrderedCollection of 20 items
and in the second (self nodes) is an empty Array.

Just reporting for discussion.  I am not sure if this would be considered a bug worth tracking, or just an abuse of the framework.

Cheers, Ben






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

"Value is always contextual."




_______________________________________________
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
    

  

_______________________________________________ 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: Roassal was Re: Re: Mondrian forNode:do: on top level self

Tudor Girba-2
As soon as it will become open-source (right now it's not), I would
start looking into it more closely :)

Doru


On Thu, Mar 29, 2012 at 2:42 PM, Alexandre Bergel
<[hidden email]> wrote:

> Sure. It will also support Cairo and produce HTML5.
>
> Alexandre
>
>
> On 28 Mar 2012, at 10:08, Ben Coman wrote:
>
> Will Roassal be integrated with Glamour?
>
> Alexandre Bergel wrote:
>
> Yes, this example Examples >  subviews > add subview is about adding inner
> nodes when a particular action occurs. It is not meant to be the way to
> statically defines subviews.
> I agree this is not elegant. This is exactly the reason why I am working on
> Roassal.
>
> Alexandre
>
>
> On 24 Mar 2012, at 15:31, Ben Coman wrote:
>
>
>
> My original example below was a little artificial in order to be concise.
> It actually stemmed from not quite grasping the architecture of Mondrian
> (which has evolved in the last couple of days) and was equivalent to
> bypassing the line (view node: self) below.  I had been going...
>     MyContainerClass>>addSubViewTo: view
>         view node: self.
>         view forNode: self do: [...]
>
> I had not yet discovered #node:forIt: and it suites much better. Thanks.
>
> btw, I had taken the use of #forNode:do: from World > Mondrian Easel >
> Examples >  subviews > add subview
> which makes it look like an external method, as well as it not being in the
> 'private' method category of MOViewRenderer.
> Is there another way to do that example with external methods?
>
> cheers, -ben
>
> Tudor Girba wrote:
>
>
> Hi,
>
> forNode:do: is an internal method. You should use node:forIt: or
> nodes:forEach: to construct nested graphs.
>
> Cheers,
> Doru
>
>
> On 23 Mar 2012, at 15:26, Ben Coman wrote:
>
>
>
>
> Background:
> I am trying to use Mondrian to visualize SomeContainerClass holding
> SomeOtherContainerClass that holds Equipment classes.  So I was thinking
> each container class might have a method (#subviewOf: aView) which at some
> point does (aView forNode: self do:).   Now I have come to the understanding
> that I am probably misusing #forNode:do: like that, and am continuing
> exploring that, but thought I would report the MNU that I encountered before
> moving on - just in case it was desirable to guard against such abuse.
> Steps to Reproduce:
> The essence of this distills down to the following in Mondrian Easel, where
> this first case works....
>   view nodes: (1 to: 20).
>   view forNode: 2 do: [ view nodes: (50 to: 52) ]
> but this second case...
>   view nodes: (1 to: 20).
>   view forNode: view do: [ view nodes: (50 to: 52) ]
> gets MNU "removeAllEdges"
>
> Inserting 'self halt' between the two lines and tracing through to
> MONode>>nodeWith:ifAbsent shows the line...
>       nodeLookedUp := self nodes detect: [:each | each model = anObject ]
> ifNone: aBlock.
> has in the first case (self nodes) as anOrderedCollection of 20 items
> and in the second (self nodes) is an empty Array.
>
> Just reporting for discussion.  I am not sure if this would be considered a
> bug worth tracking, or just an abuse of the framework.
>
> Cheers, Ben
>
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
>
> --
> www.tudorgirba.com
>
> "Value is always contextual."
>
>
>
>
> _______________________________________________
> 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
>
>
>
>
> ________________________________
> _______________________________________________
> 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
>



--
www.tudorgirba.com

"Every thing has its own flow"

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

Re: Roassal was Re: Re: Mondrian forNode:do: on top level self

abergel
What is not open-source? Roassal? Oh... I forgot to select the license on squeaksource. Sorry about that, I've just changed it.

It is open source and will remain open source. There is absolutely no reason to change that.
We could add the MIT License in the comment of each of the classes. We will do this on some point. We could also do it for Moose by the way.

Maybe you thought about object profile? Roassal will be a product of the company, but will remain open source. Then you may wonder how does the company plans to make money? Well... we will see. But having closed sources does not work and would not work for us. So, no worry on that side :-)

Cheers,
Alexandre


On 29 Mar 2012, at 08:13, Tudor Girba wrote:

> As soon as it will become open-source (right now it's not), I would
> start looking into it more closely :)
>
> Doru
>
>
> On Thu, Mar 29, 2012 at 2:42 PM, Alexandre Bergel
> <[hidden email]> wrote:
>> Sure. It will also support Cairo and produce HTML5.
>>
>> Alexandre
>>
>>
>> On 28 Mar 2012, at 10:08, Ben Coman wrote:
>>
>> Will Roassal be integrated with Glamour?
>>
>> Alexandre Bergel wrote:
>>
>> Yes, this example Examples >  subviews > add subview is about adding inner
>> nodes when a particular action occurs. It is not meant to be the way to
>> statically defines subviews.
>> I agree this is not elegant. This is exactly the reason why I am working on
>> Roassal.
>>
>> Alexandre
>>
>>
>> On 24 Mar 2012, at 15:31, Ben Coman wrote:
>>
>>
>>
>> My original example below was a little artificial in order to be concise.
>> It actually stemmed from not quite grasping the architecture of Mondrian
>> (which has evolved in the last couple of days) and was equivalent to
>> bypassing the line (view node: self) below.  I had been going...
>>    MyContainerClass>>addSubViewTo: view
>>        view node: self.
>>        view forNode: self do: [...]
>>
>> I had not yet discovered #node:forIt: and it suites much better. Thanks.
>>
>> btw, I had taken the use of #forNode:do: from World > Mondrian Easel >
>> Examples >  subviews > add subview
>> which makes it look like an external method, as well as it not being in the
>> 'private' method category of MOViewRenderer.
>> Is there another way to do that example with external methods?
>>
>> cheers, -ben
>>
>> Tudor Girba wrote:
>>
>>
>> Hi,
>>
>> forNode:do: is an internal method. You should use node:forIt: or
>> nodes:forEach: to construct nested graphs.
>>
>> Cheers,
>> Doru
>>
>>
>> On 23 Mar 2012, at 15:26, Ben Coman wrote:
>>
>>
>>
>>
>> Background:
>> I am trying to use Mondrian to visualize SomeContainerClass holding
>> SomeOtherContainerClass that holds Equipment classes.  So I was thinking
>> each container class might have a method (#subviewOf: aView) which at some
>> point does (aView forNode: self do:).   Now I have come to the understanding
>> that I am probably misusing #forNode:do: like that, and am continuing
>> exploring that, but thought I would report the MNU that I encountered before
>> moving on - just in case it was desirable to guard against such abuse.
>> Steps to Reproduce:
>> The essence of this distills down to the following in Mondrian Easel, where
>> this first case works....
>>  view nodes: (1 to: 20).
>>  view forNode: 2 do: [ view nodes: (50 to: 52) ]
>> but this second case...
>>  view nodes: (1 to: 20).
>>  view forNode: view do: [ view nodes: (50 to: 52) ]
>> gets MNU "removeAllEdges"
>>
>> Inserting 'self halt' between the two lines and tracing through to
>> MONode>>nodeWith:ifAbsent shows the line...
>>      nodeLookedUp := self nodes detect: [:each | each model = anObject ]
>> ifNone: aBlock.
>> has in the first case (self nodes) as anOrderedCollection of 20 items
>> and in the second (self nodes) is an empty Array.
>>
>> Just reporting for discussion.  I am not sure if this would be considered a
>> bug worth tracking, or just an abuse of the framework.
>>
>> Cheers, Ben
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Value is always contextual."
>>
>>
>>
>>
>> _______________________________________________
>> 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
>>
>>
>>
>>
>> ________________________________
>> _______________________________________________
>> 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
>>
>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>
> _______________________________________________
> 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: Roassal was Re: Re: Mondrian forNode:do: on top level self

Stéphane Ducasse

On Mar 29, 2012, at 6:03 PM, Alexandre Bergel wrote:

> What is not open-source? Roassal? Oh... I forgot to select the license on squeaksource. Sorry about that, I've just changed it.
>
> It is open source and will remain open source. There is absolutely no reason to change that.
> We could add the MIT License in the comment of each of the classes.

please don't :)

Soon we will have package metadata for that and one license per package is enough

> We will do this on some point. We could also do it for Moose by the way.
>
> Maybe you thought about object profile? Roassal will be a product of the company, but will remain open source. Then you may wonder how does the company plans to make money? Well... we will see. But having closed sources does not work and would not work for us. So, no worry on that side :-)
>
> Cheers,
> Alexandre
>
>
> On 29 Mar 2012, at 08:13, Tudor Girba wrote:
>
>> As soon as it will become open-source (right now it's not), I would
>> start looking into it more closely :)
>>
>> Doru
>>
>>
>> On Thu, Mar 29, 2012 at 2:42 PM, Alexandre Bergel
>> <[hidden email]> wrote:
>>> Sure. It will also support Cairo and produce HTML5.
>>>
>>> Alexandre
>>>
>>>
>>> On 28 Mar 2012, at 10:08, Ben Coman wrote:
>>>
>>> Will Roassal be integrated with Glamour?
>>>
>>> Alexandre Bergel wrote:
>>>
>>> Yes, this example Examples >  subviews > add subview is about adding inner
>>> nodes when a particular action occurs. It is not meant to be the way to
>>> statically defines subviews.
>>> I agree this is not elegant. This is exactly the reason why I am working on
>>> Roassal.
>>>
>>> Alexandre
>>>
>>>
>>> On 24 Mar 2012, at 15:31, Ben Coman wrote:
>>>
>>>
>>>
>>> My original example below was a little artificial in order to be concise.
>>> It actually stemmed from not quite grasping the architecture of Mondrian
>>> (which has evolved in the last couple of days) and was equivalent to
>>> bypassing the line (view node: self) below.  I had been going...
>>>   MyContainerClass>>addSubViewTo: view
>>>       view node: self.
>>>       view forNode: self do: [...]
>>>
>>> I had not yet discovered #node:forIt: and it suites much better. Thanks.
>>>
>>> btw, I had taken the use of #forNode:do: from World > Mondrian Easel >
>>> Examples >  subviews > add subview
>>> which makes it look like an external method, as well as it not being in the
>>> 'private' method category of MOViewRenderer.
>>> Is there another way to do that example with external methods?
>>>
>>> cheers, -ben
>>>
>>> Tudor Girba wrote:
>>>
>>>
>>> Hi,
>>>
>>> forNode:do: is an internal method. You should use node:forIt: or
>>> nodes:forEach: to construct nested graphs.
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>> On 23 Mar 2012, at 15:26, Ben Coman wrote:
>>>
>>>
>>>
>>>
>>> Background:
>>> I am trying to use Mondrian to visualize SomeContainerClass holding
>>> SomeOtherContainerClass that holds Equipment classes.  So I was thinking
>>> each container class might have a method (#subviewOf: aView) which at some
>>> point does (aView forNode: self do:).   Now I have come to the understanding
>>> that I am probably misusing #forNode:do: like that, and am continuing
>>> exploring that, but thought I would report the MNU that I encountered before
>>> moving on - just in case it was desirable to guard against such abuse.
>>> Steps to Reproduce:
>>> The essence of this distills down to the following in Mondrian Easel, where
>>> this first case works....
>>> view nodes: (1 to: 20).
>>> view forNode: 2 do: [ view nodes: (50 to: 52) ]
>>> but this second case...
>>> view nodes: (1 to: 20).
>>> view forNode: view do: [ view nodes: (50 to: 52) ]
>>> gets MNU "removeAllEdges"
>>>
>>> Inserting 'self halt' between the two lines and tracing through to
>>> MONode>>nodeWith:ifAbsent shows the line...
>>>     nodeLookedUp := self nodes detect: [:each | each model = anObject ]
>>> ifNone: aBlock.
>>> has in the first case (self nodes) as anOrderedCollection of 20 items
>>> and in the second (self nodes) is an empty Array.
>>>
>>> Just reporting for discussion.  I am not sure if this would be considered a
>>> bug worth tracking, or just an abuse of the framework.
>>>
>>> Cheers, Ben
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Value is always contextual."
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>>>
>>>
>>>
>>>
>>> ________________________________
>>> _______________________________________________
>>> 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
>>>
>>
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow"
>>
>> _______________________________________________
>> 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: Roassal was Re: Re: Mondrian forNode:do: on top level self

Tudor Girba-2
In reply to this post by abergel
Hi,

On 29 Mar 2012, at 18:03, Alexandre Bergel wrote:

> What is not open-source? Roassal? Oh... I forgot to select the license on squeaksource. Sorry about that, I've just changed it.

:).

> It is open source and will remain open source. There is absolutely no reason to change that.
> We could add the MIT License in the comment of each of the classes. We will do this on some point. We could also do it for Moose by the way.

No need. I was mainly teasing :)

> Maybe you thought about object profile? Roassal will be a product of the company, but will remain open source. Then you may wonder how does the company plans to make money? Well... we will see. But having closed sources does not work and would not work for us. So, no worry on that side :-)

I am not. It's great to see business growing around Moose.

Cheers,
Doru


> Cheers,
> Alexandre
>
>
> On 29 Mar 2012, at 08:13, Tudor Girba wrote:
>
>> As soon as it will become open-source (right now it's not), I would
>> start looking into it more closely :)
>>
>> Doru
>>
>>
>> On Thu, Mar 29, 2012 at 2:42 PM, Alexandre Bergel
>> <[hidden email]> wrote:
>>> Sure. It will also support Cairo and produce HTML5.
>>>
>>> Alexandre
>>>
>>>
>>> On 28 Mar 2012, at 10:08, Ben Coman wrote:
>>>
>>> Will Roassal be integrated with Glamour?
>>>
>>> Alexandre Bergel wrote:
>>>
>>> Yes, this example Examples >  subviews > add subview is about adding inner
>>> nodes when a particular action occurs. It is not meant to be the way to
>>> statically defines subviews.
>>> I agree this is not elegant. This is exactly the reason why I am working on
>>> Roassal.
>>>
>>> Alexandre
>>>
>>>
>>> On 24 Mar 2012, at 15:31, Ben Coman wrote:
>>>
>>>
>>>
>>> My original example below was a little artificial in order to be concise.
>>> It actually stemmed from not quite grasping the architecture of Mondrian
>>> (which has evolved in the last couple of days) and was equivalent to
>>> bypassing the line (view node: self) below.  I had been going...
>>>   MyContainerClass>>addSubViewTo: view
>>>       view node: self.
>>>       view forNode: self do: [...]
>>>
>>> I had not yet discovered #node:forIt: and it suites much better. Thanks.
>>>
>>> btw, I had taken the use of #forNode:do: from World > Mondrian Easel >
>>> Examples >  subviews > add subview
>>> which makes it look like an external method, as well as it not being in the
>>> 'private' method category of MOViewRenderer.
>>> Is there another way to do that example with external methods?
>>>
>>> cheers, -ben
>>>
>>> Tudor Girba wrote:
>>>
>>>
>>> Hi,
>>>
>>> forNode:do: is an internal method. You should use node:forIt: or
>>> nodes:forEach: to construct nested graphs.
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>> On 23 Mar 2012, at 15:26, Ben Coman wrote:
>>>
>>>
>>>
>>>
>>> Background:
>>> I am trying to use Mondrian to visualize SomeContainerClass holding
>>> SomeOtherContainerClass that holds Equipment classes.  So I was thinking
>>> each container class might have a method (#subviewOf: aView) which at some
>>> point does (aView forNode: self do:).   Now I have come to the understanding
>>> that I am probably misusing #forNode:do: like that, and am continuing
>>> exploring that, but thought I would report the MNU that I encountered before
>>> moving on - just in case it was desirable to guard against such abuse.
>>> Steps to Reproduce:
>>> The essence of this distills down to the following in Mondrian Easel, where
>>> this first case works....
>>> view nodes: (1 to: 20).
>>> view forNode: 2 do: [ view nodes: (50 to: 52) ]
>>> but this second case...
>>> view nodes: (1 to: 20).
>>> view forNode: view do: [ view nodes: (50 to: 52) ]
>>> gets MNU "removeAllEdges"
>>>
>>> Inserting 'self halt' between the two lines and tracing through to
>>> MONode>>nodeWith:ifAbsent shows the line...
>>>     nodeLookedUp := self nodes detect: [:each | each model = anObject ]
>>> ifNone: aBlock.
>>> has in the first case (self nodes) as anOrderedCollection of 20 items
>>> and in the second (self nodes) is an empty Array.
>>>
>>> Just reporting for discussion.  I am not sure if this would be considered a
>>> bug worth tracking, or just an abuse of the framework.
>>>
>>> Cheers, Ben
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> [hidden email]
>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Value is always contextual."
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>>>
>>>
>>>
>>>
>>> ________________________________
>>> _______________________________________________
>>> 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
>>>
>>
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow"
>>
>> _______________________________________________
>> 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