On Sun, Mar 24, 2013 at 8:55 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
I am trying to redefine shortcuts such as Cmd+s for an instance of PluggableTextMorph, but I cannot find a way.
Now that we have Kemappings in the image, I see that Cmd+s is defined in: TextMorph>>buildTextEditorKeymapsOn: aBuilder <keymap>
(aBuilder shortcut: #accept) category: #TextMorph default: $s ctrl win | $s ctrl unix | $s command mac do: [ :morph | morph acceptContents ].
aBuilder attachShortcutCategory: #TextMorph to: TextMorph.
Nice, but this defines a behavior that is global to the TextMorph class.
The Keymappings extensions from Morph do allow some degree of morph specific shortcuts, but it seems that the only thing I can do is: - create a category with my keymappings; the category must have a name - registered it the dispatcher - tell the morph to attach this category by passing the name of the category
I could not get a code that sets this up because I stumbled across too much symbol-based indirection. Can anyone help?
You can also try to do: aMorph on: $s cmd do: [ "my custom code" ]. The only thing is that PluggableTextmorph+friends are a bit of a mess, so the code that initializes the shortcuts is here: PluggableTextMorph>>configureTextMorph: aTextMorph "I prepare a text morph for use" aTextMorph setEditView: self. scroller addMorph: aTextMorph. aTextMorph autoAccept: self autoAccept; selectionColor: self selectionColor. * aTextMorph editor installKeymappingsOn: self.* There you can customize... Tell me if that helps! Guille
Cheers, Doru
-- www.tudorgirba.com
"In a world where everything is moving ever faster, one might have better chances to win by moving slower."