Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-ui-dev] Accelerator rework? (workbench eats Control+Z)

See my comments below

Simon :-)



                                                                                                                           
                      Randy Hudson                                                                                         
                      <hudsonr@xxxxxxxxxx>           To:      platform-ui-dev@xxxxxxxxxxx, platform-swt-dev@xxxxxxxxxxx    
                      Sent by:                       cc:                                                                   
                      platform-ui-dev-admin@         Subject: [platform-ui-dev] Accelerator rework? (workbench eats        
                      eclipse.org                    Control+Z)                                                            
                                                                                                                           
                                                                                                                           
                      09/18/02 11:51 AM                                                                                    
                      Please respond to                                                                                    
                      platform-ui-dev                                                                                      
                                                                                                                           
                                                                                                                           




Are any 2.1 plans underway to solve the accelerator problem.  The problem
is that a Control cannot receive a keystroke if it is registered somewhere
in the Menu.  A related problem is that a child Control has focus, and you
would like certain keystroked to get promoted to a parent or ancestor (like
PAGE_UP in the PDE's plugin.xml editor).

SA> Do you want all keystrokes not consumed by the child to be past on up
to the parent? Or do you only want to allow some keys and if so, how did
you envision to tell the control this?

For those unfamiliar with the problem, the Workbench registers Actions with
Control+Z and other accelerators.  As a result, Native controls will not
receive undo  keystrokes, etc.  The workaround required by UI developers
who have an editor filled with Text controls in cumbersome.  You must
register an action for Undo with the workbench.  That action must enable
and disable as a result of each change on every text control in the editor,
and it must follow focus, and it must forward the undo action to the
control.  If anyone extends your Editor and adds a new page to it, you'd
better plan for a UndoRedoCutCopyPasteHelper as well, if you want those
functions on that page.

SA> The accelerator key assigned to the Undo action is dependent on the
accelerator configuration you have active. If it is the default one, then
its Ctrl+Z, if its emacs, then its another shortcut key as Ctrl+Z is used
in emacs to scroll one line. Now if the text control got the key
beforehand, your emacs keybinding would not work properly.

SA> I do agree with you that the workaround provided by the workbench is
poor (having the developer figure out they need to hookup this undo action.
One area we are looking at is to make this much more easier for the plugin
developer. If you have suggestions for this, please let us know.

SA> It is an area that we are looking at improving for 2.1 if possible.

In addition to Undo/Redo/Cut/Copy/Paste, there are tons of other problems
that result from the current keyboard handling.  For example, accessibility
is broken whenever the Java Editor is up.  I cannot use Control+SPACE to
toggle selection in any tree, table, or other control in the workbench.

SA> If you could list what all the problems are that the current keyboard
handling is causing you, we can then look at solving them. If you could
also open a problem report for each one of these, that would be helpful for
us to track these issues. For the one about control+space, please open a
problem report with steps on how to reproduce it




Back to the top