- changed status to resolved
Horizontal menus in DreamPlex stuck
The horizontal menus in DreamPlex rely on the idiosyncratic implementation of moveUp
/moveDown
/pageUp
/pageDown
in Sources.List
that were changed in the fixes to bugs #575 & #576.
DreamPlex uses a List
/TemplatedMultiContent
/Listbox
chain with a renderer size of 1,1, to apparently do nothing more than a little modulo arithmetic. If the renderer height is less than the height of a line, the relative move (moveUp
/moveDown
/pageUp
/pageDown
) operations used in the fixes to #575 & #576 do nothing, and the menu selection doesn't change when UP/DOWN/LEFT/RIGHT are used to change the selection.
Replication steps
in MENU>Plugins, use GREEN Download plugins to install the plugin Extensions>dreamplex if it's not already installed.
Reboot.
In MENU>Dreamplex, the screen shows a horizontal menu bar. Pressing UP/DOWN/LEFT/RIGHT should rotate the menu items so that he central selected menu item changes. However, UP/DOWN/LEFT/RIGHT do nothing.
EXIT to exit the plugin.
Comments (4)
-
-
Merged in prl/easy-ui-4/Fix-bug-586 (pull request #357)
Fix Bug
#586: Horizontal menus in DreamPlex stuck→ <<cset e18ad3130761>>
-
Paging fixup for Fix Bug
#586: Horizontal menus in DreamPlex stuck[Sources.List]
The previous code wouldn't allow fallback paging to the start or the end of the list if the cursor was within 9 lines of the list start or end.
→ <<cset c409d135a2f8>>
-
Merged in prl/easy-ui-4/Fix-bug-586-fixup (pull request #358)
Paging fixup for Fix Bug
#586: Horizontal menus in DreamPlex stuck→ <<cset 990a077cd4df>>
- Log in to comment
Fix Bug
#586: Horizontal menus in DreamPlex stuck[Sources.List, Converter.StringList]
Pass through the wrap_around property from Renderer.Listbox.
This allows wrap_around to be overridden in the renderer from the source and to have its value tested in the chain.
[Sources.List]
Allow the enableWrapAround argument to init() to be passed through to the renderer so that it over-rides the renderer default and skin setting.
If the renderer's height is too small to allow the operations moveUp/moveDown/pageUp/pageDown to operate, detect this and fall back to the old code's (prior to the fix of bugs
#575ɀ) method, using the index property passed down to the renderer, and using the previous paging distance guesses of +/-10 lines.→ <<cset 93f2ebe518f0>>