[squeak-dev] how to extend a class (add methods) and have the source of the methods be in a category other than the one the class is defined in?

Louis LaBrunda Lou at Keystone-Software.com
Fri Jan 13 18:34:36 UTC 2017


Hi Nicolas,

Thanks for the prompt reply.  I think I get it, so we will see how it goes.

Lou


On Fri, 13 Jan 2017 18:53:23 +0100, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:

>Hi Louis,
>if the purpose is packaging code for loading/unloading/versioning, then the
>usage is to create a package via Monticello, say
>
>'LouisApp'
>
>Then any class classified into a category 'LouisApp', 'LouisApp-Base' or
>'LouisApp-Whatever' would belong to the 'LouisApp' package.
>And any method classified into a category '*LouisApp',
>'*LouisApp-accessing' or '*LouisApp-WhatYouPrefer' would also belong to the
>'LouisApp' package. That's how we would package some extension to another
>class not in our package.
>
>That's a very low cost but effective convention.
>
>2017-01-13 18:38 GMT+01:00 Louis LaBrunda <Lou at keystone-software.com>:
>
>> Hi Bob,
>>
>> Thanks for the prompt reply.  I'm still a little confused.  Allow me to
>> describe what we do in
>> VA Smalltalk and see if we can get the same results in Squeak.
>>
>> VA Smalltalk has a class called Application.  Applications are similar (I
>> think) to Class
>> categories (the first pane on the left).  Classes can appear in more than
>> one Application. Each
>> Application a class appears in holds some methods.  A class starts out
>> being defined in one
>> application.  It is "extended" by adding methods to other applications.
>> If one of those
>> applications is not loaded, then the extended methods are not available.
>>
>> I have created a Class category to hold my program.  As part of the
>> program I want to add a few
>> methods to say the String class.  But I'm afraid I will add them to the
>> class category where
>> String is defined.
>>
>> Does this make sense and how do I do it in Squeak?
>>
>>
>> Lou
>>
>> On Fri, 13 Jan 2017 12:18:37 -0500, Bob Arning <arning315 at comcast.net>
>> wrote:
>>
>> >Class categories (the first pane on the left at the top of a system
>> >browser) are completely different from method categories (third pane
>> >from the left). Assuming you are talking about method categories, you can:
>> >
>> >- select the desired method category before you enter and save the method
>> >
>> >- if it's already in the wrong category...
>> >
>> >-- drag the method name from the fourth pane into the third pane at the
>> >desired category
>> >
>> >-- copy the method source, select the desired category, paste the method
>> >source back in and save
>> >
>> >-- choose "reorganize" from the third pane menu
>> >
>> >
>> >On 1/13/17 11:55 AM, Louis LaBrunda wrote:
>> >> Hi All,
>> >>
>> >> How does one extend a class (add methods) and have the source of the
>> methods be in a category
>> >> other than the one the class is originally defined in?  I expect this
>> is simple and I'm just
>> >> missing something easy.
>> >>
>> >> Lou
>> --
>> Louis LaBrunda
>> Keystone Software Corp.
>> SkypeMe callto://PhotonDemon
>>
>>
>>
-- 
Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon



More information about the Squeak-dev mailing list