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."