On 15 janv. 2010, at 21:20, Mariano Martinez Peck wrote:
On Fri, Jan 15, 2010 at 5:55 PM, Romain Robbes
<romain.robbes@gmail.com> wrote:
yes it has overrides ...
that's because as far as I know, there's no keyboard shortcut management facility
in Pharo. If there was one, I suppose Algernon and WorkingSet would coexist.
So...all your overrides are due to the shortcuts? I think it is not fear to "forbid" a package to be included in a Dev image if we don't provide from the core a way to manage shortcuts. So:
1) Or we let this projects to be installed in the Dev image
2) We fix the problem with the shortcuts.
Romain: can you tell us where exactly the problem is ? maybe someone can give you a hand.
Taking a look at that, there are 2 overrides in WorkingSet
PasteupMorph>>keystrokeInWorld:
but the diff is the same with my default version! So it can be removed
HandMorph>>sendKeyboardEvent:
which is the real conflicting method
Looking at it, there are 3 different versions, the default one, one from WorkingSet and one from Algernon. On the plus sign, it's quite easy to merge the last two and make WorkingSet works together with Algernon.
But the one from Algernon is actually the worst way to patch things, because it is all in a changeset which is encoded in binary format (see ConfigurationOfAlgernons>>multipleFocusHolderCs :(
It adds an instance variable to HandMorph and overrides two methods in HandMorph. Of course you cant see it at first since these are hidden in the binary changeset :(
'''From Squeak3.7gamma of ''''17 July 2004'''' [latest update: #5985] on 9 August 2004 at 7:56:10 pm''!
"Change Set: MultipleFocusHolder-hpt
Date: 9 August 2004
Author: Hernan Tylim
This changesets does the simplest modifications to HandMorph for it to support various focus holders.
The important changes are:
* addiionalKeyboardFocuses instance variable was added with its getter and setter methods.
* HandMorph>>sendKeyboardEvent: was changed to traverse the list of keyboard focus holders and call HandMorph>>sendEvent:focus:clear: to each one of them.
* HandMorph>>sendEvent:focus:clear: was changed to preserve the ''wasHandled'' status of the event, before that info were lost because the Event instance were copied before passed to the Morph.
"!
The comment itself is misleading, it overrides sendFocusEvent:to:clear:, not sendEvent:focus:clear:
I feel much less keen to include Algernon now that I have seen that.
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project