MCPcopy Create free account
hub / github.com/cogentcore/core / keyInputNav

Method keyInputNav

core/list.go:1584–1617  ·  view source on GitHub ↗

keyInputNav supports multiple selection navigation keys

(kt events.Event)

Source from the content-addressed store, hash-verified

1582
1583// keyInputNav supports multiple selection navigation keys
1584func (lb *ListBase) keyInputNav(kt events.Event) {
1585 kf := keymap.Of(kt.KeyChord())
1586 selMode := events.SelectModeBits(kt.Modifiers())
1587 if selMode == events.SelectOne {
1588 if lb.SelectMode {
1589 selMode = events.ExtendContinuous
1590 }
1591 }
1592 switch kf {
1593 case keymap.CancelSelect:
1594 lb.unselectAllIndexes()
1595 lb.SelectMode = false
1596 kt.SetHandled()
1597 case keymap.MoveDown:
1598 lb.moveDownEvent(selMode)
1599 kt.SetHandled()
1600 case keymap.MoveUp:
1601 lb.moveUpEvent(selMode)
1602 kt.SetHandled()
1603 case keymap.PageDown:
1604 lb.movePageDownEvent(selMode)
1605 kt.SetHandled()
1606 case keymap.PageUp:
1607 lb.movePageUpEvent(selMode)
1608 kt.SetHandled()
1609 case keymap.SelectMode:
1610 lb.SelectMode = !lb.SelectMode
1611 kt.SetHandled()
1612 case keymap.SelectAll:
1613 lb.selectAllIndexes()
1614 lb.SelectMode = false
1615 kt.SetHandled()
1616 }
1617}
1618
1619func (lb *ListBase) keyInputEditable(kt events.Event) {
1620 lb.keyInputNav(kt)

Callers 2

keyInputEditableMethod · 0.95
keyInputReadOnlyMethod · 0.95

Calls 11

unselectAllIndexesMethod · 0.95
moveDownEventMethod · 0.95
moveUpEventMethod · 0.95
movePageDownEventMethod · 0.95
movePageUpEventMethod · 0.95
selectAllIndexesMethod · 0.95
OfFunction · 0.92
SelectModeBitsFunction · 0.92
KeyChordMethod · 0.65
ModifiersMethod · 0.65
SetHandledMethod · 0.65

Tested by

no test coverage detected