Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[riena-dev] Internal changes reg. submodule navigation - 286255, 271798

Just wanted to share what I've been doing: I've changed the internals
of  the submodule navigation and activation, to improve keyboard
navigation with "non-selectable" submodules (details below).

Before the navigation was directly bound to the selected property of
the tree. That meant that every selection change resulted in an
activation attempt EVERY time. In the case of activation of a
"non-selectable" submodule this was causing the selection to jump to
the first child immediately. It also meant that when moving with the
keyboard from submodule A -> B -> C -> D, all submodules in the chain
would be activated one after another, causing 'slowness' and flicker.

Now the class ModuleNavigationListener handles both mouse and keyboard
triggered selection of a submodule and decides what is appropriate for
the current situation. As an added bonus, navigating the tree with the
keyboard is much faster, because the activation only happens when you
stop moving (after an adjustable delay of 750ms). This means that
moving  from A to D by keyboard will only activate D.

I've also adjusted NavigationProcessor.addParentToActivate(...) to
skip activation of SubModuleNodes that are not selectable. If you
think that's a problem let me know (I'm only starting to get familiar
with the NavigationProcessor class). This change was necessary to fix
some jumping that was occurring. Note that the existing behavior is
preserved - i.e. selecting a non-selectable node will go to the 1st
selectable child.

Greetings from Portland,
Elias.

-- 
Elias Volanakis | Technical Lead | EclipseSource Portland
elias@xxxxxxxxxxxxxxxxx | +1 503 929 5537 | http://eclipsesource.com


Back to the top