As Tim said, TodoItemProto is not a class but a (prototypical) object that is 
cloned (.copy()) everytime you create a new TodoItem using the + button.

How can you find it? Usually [morph].show() will highlight the morph in the 
work showing red corners. If you do it for this example 
(this.get('TodoItemProto').show() in the Object Editor), you will see that it 
must be hidden behind the Progress Bar somewhere.

Digging further into it by inspecting the morphs and submorphs of the Todo Item 
Tool, you will find the TodoItemProto as a submorph of the TodoList container 
(not the window though). It is not visible so it will not be affected by the 
horizontal layout and you cannot see it.

How can you find that out programmatically? From the Object Editor, print or 
inspect this.get('TodoItemProto').owner. :-)

        - Marko


On 13 May 2014, at 07:36, Tim Felgentreff <[email protected]> wrote:

> The TodoItemProto in this example isn't a class. It's the name of a morph 
> somewhere in the world. Finding it's class won't be useful.
> From: Carlos Crosetti
> Sent: ‎13/‎05/‎2014 01:55
> To: [email protected]
> Subject: Re: [lively-kernel] finding a class
> 
> Thanks Lars, the programmatic method you explained  is very useful. However I 
> was interested in a manual method to find a class. either in the System Code 
> Browser or thru the world menu
> 
> On 05/12/2014 03:31 PM, Lars wrote:
>> Hello Carlos,
>> in oder to get to the TodoItemProto class, just ask the morph for its 
>> constructor. When printed, that gives you the class' name. If you want to 
>> know where the class is from, ask the constructor for it's source module:
>> 
>> var klass = this.get("TodoItemProto").constructor
>> var source = this.get("TodoItemProto").constructor.sourceModule
>> 
>> Methods defined using the lively class scheme have an attribute 
>> "declaredClass" which contains a string which should yield the class object 
>> upon evaluation.
>> 
>> Lars
>> 
>> 
>> On 12 May 2014 11:08, <[email protected]> wrote:
>> Hi, I am familiar with Smalltalk and teaching myself the Lively Kernel. 
>> While browsing the TodoList via object editor I sea fragment of code like 
>> this
>> 
>> var item = this.get("TodoItemProto").copy();
>> 
>> 
>> How do I find the TodoItemProto class? Is there a way to select the class 
>> name from a method and jump to the class browser open in that target class?
>> 
>> Regards, Carlos
>> 
>>  
>>  
>> 
>> _______________________________________________
>> lively-kernel mailing list
>> [email protected]
>> http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel
>> 
>> 
> 
> _______________________________________________
> lively-kernel mailing list
> [email protected]
> http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel

_______________________________________________
lively-kernel mailing list
[email protected]
http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel

Reply via email to