2010/1/15 Simon Denier <Simon.Denier@inria.fr>
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
How did you detect that ?
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:
Impressive. You should be a detective :)
I feel much less keen to include Algernon now that I have seen that.
Yes, me too. Completely.
Cheers
Mariano
Romain
On Jan 15, 2010, at 6:49 AM, Damien Cassou wrote:
2010/1/15 Mariano Martinez Peck <marianopeck@gmail.com>:
Thanks Damien. I did that, run the load of both projects but none of them warn me.
Are you sure they have overrides?
I'm sure that WorkingSet has overrides, my detection code is probably not correct.
-- Damien Cassou http://damiencassou.seasidehosting.st
"Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Romain Robbes http://www.inf.unisi.ch/phd/robbes
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Simon
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project