Compare commits
2 Commits
fad46eafd3
...
192e6c6235
Author | SHA1 | Date | |
---|---|---|---|
192e6c6235 | |||
9729e3dfda |
@ -287,13 +287,26 @@ func (this *Hierarchy) considerMaskingParents (box anyBox) anyBox {
|
|||||||
return box
|
return box
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *Hierarchy) isMasked (box anyBox) bool {
|
||||||
|
parent := box.getParent()
|
||||||
|
for {
|
||||||
|
parentBox, ok := parent.(anyBox)
|
||||||
|
if !ok { break }
|
||||||
|
if parent.masks() {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
parent = parentBox.getParent()
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func (this *Hierarchy) focusNext () {
|
func (this *Hierarchy) focusNext () {
|
||||||
found := !this.anyFocused()
|
found := !this.anyFocused()
|
||||||
focused := false
|
focused := false
|
||||||
this.propagateAlt(func (box anyBox) bool {
|
this.propagateAlt(func (box anyBox) bool {
|
||||||
if found {
|
if found {
|
||||||
// looking for the next box to select
|
// looking for the next box to select
|
||||||
if box.canBeFocused() {
|
if box.canBeFocused() && !this.isMasked(box) {
|
||||||
// found it
|
// found it
|
||||||
this.focus(box)
|
this.focus(box)
|
||||||
focused = true
|
focused = true
|
||||||
@ -318,7 +331,7 @@ func (this *Hierarchy) focusPrevious () {
|
|||||||
if box == this.focused {
|
if box == this.focused {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if box.canBeFocused() { behind = box }
|
if box.canBeFocused() && !this.isMasked(box) { behind = box }
|
||||||
return true
|
return true
|
||||||
})
|
})
|
||||||
this.focus(behind)
|
this.focus(behind)
|
||||||
|
@ -290,7 +290,7 @@ func (this *textBox) runeUnderMouse () int {
|
|||||||
|
|
||||||
func (this *textBox) handleKeyDown (key input.Key, numberPad bool) bool {
|
func (this *textBox) handleKeyDown (key input.Key, numberPad bool) bool {
|
||||||
if this.box.handleKeyDown(key, numberPad) { return true }
|
if this.box.handleKeyDown(key, numberPad) { return true }
|
||||||
if this.selectable { return false }
|
if !this.selectable { return false }
|
||||||
|
|
||||||
// because fuck you thats why!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
// because fuck you thats why!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
modifiers := this.Window().Modifiers()
|
modifiers := this.Window().Modifiers()
|
||||||
@ -334,7 +334,7 @@ func (this *textBox) handleKeyDown (key input.Key, numberPad bool) bool {
|
|||||||
|
|
||||||
func (this *textBox) handleKeyUp (key input.Key, numberPad bool) bool {
|
func (this *textBox) handleKeyUp (key input.Key, numberPad bool) bool {
|
||||||
if this.box.handleKeyUp(key, numberPad) { return true }
|
if this.box.handleKeyUp(key, numberPad) { return true }
|
||||||
if this.selectable { return false }
|
if !this.selectable { return false }
|
||||||
|
|
||||||
modifiers := this.Window().Modifiers()
|
modifiers := this.Window().Modifiers()
|
||||||
switch {
|
switch {
|
||||||
|
Loading…
Reference in New Issue
Block a user