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

Reply via email to