From: Larry B. <bec...@gm...> - 2009-02-03 16:09:24
|
If no one really needs the pan and zoom shortcut keys, we could just disable InstallKeyPanPlugIn in the default-plugins.xml file. Those who really need it and are willing to accept the side effects can add it to their workbench-properties.xml file. Comments? regards, Larry On Thu, Jan 29, 2009 at 1:49 PM, Larry Becker <bec...@gm...>wrote: > I now have a pretty complete understanding of the "Pan and Zoom shortcut > keys problem". I have attempted to fix it, but nothing seems to work. To > reiterate the problem, when the arrow and page up/page down keys are used to > move the cursor while editing layer names, they continue to pan and zoom the > layer view. This unexpected behavior also occurs during other arrow key > uses like menu selection. I consider this a "must fix" problem because is > makes the UI unpredictable. Here is what I've found out so far: > > 1) Pan and Zoom key shortcuts are implemented in a separate plugin written > by Ugo. > 2) It uses the WorkBenchFrame#addKeyboardShortcut method (I'm doing this > from memory so don't quote me on the exact name). > 3) It implements no checks to determine the context before executing the > shortcut commands. > 4) It is possible to add an EnableCheck when the keyboard shortcut is > defined. > 5) I have tried several EnableCheck versions, but so far have not found a > way to restrict the pan and zoom behavior to only the layer view. This > seems trivial, but isn't because the methods are called multiple times with > different panels "active". > 6) The LayerNamePanel and the LayerViewPanel are implemented as JSplitPane > panels under the TaskFrame. > 7) Here is the real problem: There doesn't seem to be a definition in Java > of "front most" component in a split pane, so both panels get all of the key > events. > 8) In order to fix the problem it is necessary to restrict the scope of the > pan and zoom keyboard shortcuts. > 9) I could not find a way to ensure that the LayerViewPanel is "not active" > when the task window active. I'm not even sure if this would be a good > idea. > 10) Unless someone can see a way out of this trap, it doesn't look like the > problem has a code solution. > > The floor is open for alternative solutions. We could, for instance, check > for less often used key combinations like control-arrow which might minimize > the conflicts. > > regards, > Larry > -- > http://amusingprogrammer.blogspot.com/ > -- http://amusingprogrammer.blogspot.com/ |