forked from joejulian/gio
io/key: [API] introduce FocusFilter for matching focus and editor events
Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
+1
-1
@@ -162,7 +162,7 @@ func (b *Clickable) Update(gtx layout.Context) []Click {
|
||||
})
|
||||
}
|
||||
}
|
||||
for _, e := range gtx.Events(&b.keyTag) {
|
||||
for _, e := range gtx.Events(&b.keyTag, key.FocusFilter{}) {
|
||||
switch e := e.(type) {
|
||||
case key.FocusEvent:
|
||||
b.focused = e.Focus
|
||||
|
||||
+1
-1
@@ -332,7 +332,7 @@ func (e *Editor) processKey(gtx layout.Context) {
|
||||
}
|
||||
// adjust keeps track of runes dropped because of MaxLen.
|
||||
var adjust int
|
||||
for _, ke := range gtx.Events(&e.eventKey, transfer.TargetFilter{Type: "application/text"}) {
|
||||
for _, ke := range gtx.Events(&e.eventKey, transfer.TargetFilter{Type: "application/text"}, key.FocusFilter{}) {
|
||||
e.blinkStart = gtx.Now
|
||||
switch ke := ke.(type) {
|
||||
case key.FocusEvent:
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@ func (e *Enum) Update(gtx layout.Context) bool {
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, ev := range gtx.Events(&state.tag) {
|
||||
for _, ev := range gtx.Events(&state.tag, key.FocusFilter{}) {
|
||||
switch ev := ev.(type) {
|
||||
case key.FocusEvent:
|
||||
if ev.Focus {
|
||||
|
||||
@@ -304,7 +304,7 @@ func (e *Selectable) clickDragEvents(gtx layout.Context) []event.Event {
|
||||
}
|
||||
|
||||
func (e *Selectable) processKey(gtx layout.Context) {
|
||||
for _, ke := range gtx.Events(e) {
|
||||
for _, ke := range gtx.Events(e, key.FocusFilter{}) {
|
||||
switch ke := ke.(type) {
|
||||
case key.FocusEvent:
|
||||
e.focused = ke.Focus
|
||||
|
||||
Reference in New Issue
Block a user