Author Topic: Graeme's Minifind and Key bindings  (Read 1510 times)

jporkkahtc

  • Senior Community Member
  • Posts: 1902
  • Hero Points: 185
  • Text
Graeme's Minifind and Key bindings
« on: January 26, 2017, 07:10:21 pm »
In key bindings you can bind a key to a specific mode.
Most of these modes are languages, but there is at least one special one for Diff.
(Are there others?

Seems like this would be a useful thing for controlling keybindings in more areas of Slickedit.
Many dialogs have hard-coded key bindings and new bindings cannot be added without changing their implementation.

So, if there was a "Minifind" mode, maybe these extra key bindings could have been added that way.


I imagine the bindings are sort-of like a universal remote: When in cable-box mode, the keys left undefined by the cable box "punch thru" to the TV mode: Thus, things like Vol+/- work even though the cablebox doesn't control volume.

The slick command line does this, as things like Ctrl+Tab work while you are typing in the command line - as they "punch-thru" to the normal editor.



Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 5178
  • Hero Points: 429
Re: Graeme's Minifind and Key bindings
« Reply #1 on: January 27, 2017, 03:52:13 am »
The modes are mostly for editor controls. Dialogs are more complicated because their are no standard commands/functions. Every dialog is essentially a special case because there are no standard commands/functions you can bind.

You can add key bindings to pretty much any dialog outside the source module containing the majority of the code.  You just need to know the event table name. Sometimes this is good enough but other times ther is simple no standard command/function to call. Graeme just modified the dialog code for minifind. That's was the way to go for that one.

There is no way to automate more configurability here other than for the SlickEdit dev team to write tons of special case code for a bunch of dialogs to emulate key bindings to what look like modes but aren't.