Please see below for my comments having quickly reviewed all of the Pivot components (from trunk) that I could think of. I ignored TextArea as it is still under active development Apologies in advance for the long list.
Regards, Chris Can you provide some specific examples? Some (generic) keyboard shortcuts > make sense at the component level, but others are specific to an individual > app. The easiest way to create application-specific shortcuts is to add > entries to your main window's action mappings. See > Window#getActionMappings() - it returns a sequence of Window.ActionMapping > that you can populate to associate keystrokes with actions. > > Greg > > Navigation Containers Accordion - Ability to navigate between panels with keys - Up/Down arrows to decrement/increment the selected panel index - Home & End to select the first or last panel respectively - Possibly require a modifier such as Control? - Needs to be focusable first Expander - Spacebar to expand/collapse - Needs to be focusable first Panorama - Ability to navigate with keys - Up//Down/Left/Right - Optional modifier key to adjust using an increased step size - Needs to be focusable first Rollup - Spacebar to expand/collapse - Needs to be focusable first TabPane - Control+Tab & Control+Shift+Tab - Next & previous enabled tabs - Needs to be focusable first Components (widgets) LinkButton - Space to select - Needs to be focusable first ListButton - Alt+Down arrow to show the list ListView - Home & End to select (and scroll to) first/last item respectively Use of a modifier to determine whether to jump to only enabled items Would also need to respect the current Shift modifier to increase the selection - Control+A to select all items (on multi-select lists) Use of a further modifier to determine whether to select only enabled items - Modify the logic in TerraListViewSkin.keyReleased() so that the selection loops back to the first matching item if there are no more matchin items with a higher list index - Addition of a style/property which would make list view selection with the up/down arrow keys loop from the first to the last item & vice versa This behaviour is already implented in Spinner with the the 'circular' property -- If this is added, enable it for ListViews used internally within the skins for the following components (which are unlikely to contain relatively small lists which would benefit) ListButton MenuBar MenuButton SuggestionPopup RadioButton - Ability to change focus within the button group with arrow keys - Up and/or Left to focus on previous button - Down and/or Right to focus on next button - Home & End to focus on first & last button respectively Slider - Home & End to set the value to start/end respectively TableView - Home & End to select (and scroll to) first/last row respectively Use of a modifier to determine whether to jump to only enabled rows Would also need to respect the current Shift modifier to increase the selection - Control+A to select all rows (on multi-select lists) Use of a further modifier to determine whether to select only enabled rows - Select row matching a pressed key (as per ListView) Loop the selection so that if there are 3 rows beginning with the letter 'a' and the last one is selected, the selection would jump to the first row of the 3 If the TableView is sorted, then use the sorted column as the source of the value to be compared with the pressed key If not, use first visible text column If no visible text columns, either use a toString() or take no action TextInput - Control+Left/Right to position caret at start of previous/next word - Shit+Control+Left/Right position the caret at start of previous/next word and expand the selection span TreeView - Home & End to select (and scroll to) first/last node respectively (without expanding any branches) (Use of a modifier to determine whether to jump to only enabled nodes) - Control+A to select all items (on multi-select trees) Use of a further modifier to determine whether to select only enabled nodes - Select sibling matching a pressed key (as per ListView) Loop the selection so that if there are 3 nodes beginning with the letter 'a' and the last one is selected, the selection would jump to the first node of the 3 - Left arrow If selected node is an open branch, close it (existing functionality) If selected node is a closed branch or a leaf, select the parent branch - Control + Up/Down Jump to the previous or next *sibling* of current node, ignoring any visible children in opened branches