Hi,
On 27 Feb 2011, at 12:04, Stéphane Ducasse wrote:
>>>> - Lukas went over the WeakAnnouncements implementation to get the
>>>> WeakMessageSend working. The code is in PharoTaskForces
>>>
>>> should we take action on this one?
>>> I mean integrating it.
>>
>> It can be integrated, because the base code works in the same way as before.
>>
>> Currently, the solution is implemented through a WeakAnnouncer which
>> subclasses Announcer. I wanted the weak thing to be merged, because the
>> clients of announcements should benefit from the Weak implementation, but
>> Lukas says that he does not trust the Weak support in Pharo and that if you
>> have many WeakAnnouncers it somehow does not scale.
>
> ok so ...?
So, we need to investigate more :). It would be cool if someone with more
knowledge would take a look, too. Igor, would you have a bit of time to look
into it?
I will probably also give it a look to see how it works in the context of
Glamour. I hope that Esteban will join me again. Esteban, what do you say :)?
>> The problem with the current approach is that models have to take an
>> explicit stand of whether they want weak or non weak when instantiating the
>> announcer. Unfortunately, I do have enough technical knowledge for this. It
>> would be cool if someone with better knowledge in this area would take a
>> look.
>>
>>>> - Lukas worked on getting OB work with the changes in TextMorph from Pharo
>>>> 1.2.
>>>>
>>>> - Adrian, Jorge and Toon worked on implementing a Debugger on top of
>>>> Glamour. They got a first version working that is able to do basic
>>>> actions: step, restart, step into. The challenge was to get to understand
>>>> the model, and to figure out that <primitive: 19> is used for marking that
>>>> a method should not be debugged. In any case, working with Glamour seemed
>>>> to work quite smoothly. The code is available in the Glamorous Toolkit.
>>>> Adrian, did I get it right? :)
>>>>
>>>> - Mircea built a new widget for searching multiple categories of items in
>>>> the same time, similar to spotlight where you enter one string and you get
>>>> multiple hits from multiple categories. The implementation was spawned
>>>> from the OBCompletionDialog / OBCompletionRequest and currently it simply
>>>> provides multiple lists one below the other. The idea is to use this kind
>>>> of widget to search simultaneously for classes / methods / packages. The
>>>> code is available in Glamour (Glamour-Morphic-Renderer). The widget can
>>>> definitely be improved visually, but Mircea already did a nice job.
>>>
>>> is the widget only for glamour because I think that a widget with search
>>> list integrated should be used everywhere?
>>> We were discussing with alain to have a look at the one in OB and push
>>> it/rewrite it as a core widget
>>
>> Neither the OB nor the Glamour widgets depend on Glamour, so they can be
>> used independently. You just need to take the Request and the Dialog
>> together.
>
>
> ok where is the code?
OBCompletionDialog / OBCompletionRequest come with the OB from Pharo 1.2. The
way to use it is like:
OBCompletionRequest new
prompt: 'Find Class';
searchBlock: [ :string | OBCmdFindClass new
findClassIn: Smalltalk pattern: string ];
labelBlock: [ :class | class name ];
iconBlock: [ :class | class browserIcon ];
signal.
The GLMSpotterRequest / GLMMorphicSpotterDialog are in
Glamour-Morphic-Renderer. You can use them like
| composite classRequest methodRequest thirdRequest |
composite := GLMSpotterRequest new.
classRequest := GLMSingleSpotterRequest new
prompt: 'Find Class';
searchBlock: [ :string | OBCmdFindClass new
findClassIn: Smalltalk pattern: string ];
labelBlock: [ :class | class name ];
iconBlock: [ :class | class browserIcon ].
methodRequest := GLMSingleSpotterRequest new
prompt: 'Object Selectors';
searchBlock: [ :string | Object selectors select: [:e|
string, '*' match: e asString] ];
labelBlock: [ :e | e ].
thirdRequest := GLMSingleSpotterRequest new
prompt: 'Other Selectors';
searchBlock: [ :string | Class selectors select: [:e|
string, '*' match: e asString] ];
labelBlock: [ :e | e ].
composite
add: classRequest;
add: methodRequest;
add: thirdRequest;
signal
Cheers,
Doru
--
www.tudorgirba.com
"Reasonable is what we are accustomed with."