mirror of
https://github.com/TermoraDev/termora.git
synced 2026-01-16 18:32:58 +08:00
32 lines
776 B
Kotlin
32 lines
776 B
Kotlin
package app.termora
|
|
|
|
import java.beans.PropertyChangeEvent
|
|
import java.beans.PropertyChangeListener
|
|
|
|
abstract class PropertyTerminalTab : TerminalTab {
|
|
protected val listeners = mutableListOf<PropertyChangeListener>()
|
|
var hasFocus = false
|
|
protected set
|
|
|
|
override fun addPropertyChangeListener(listener: PropertyChangeListener) {
|
|
listeners.add(listener)
|
|
}
|
|
|
|
override fun removePropertyChangeListener(listener: PropertyChangeListener) {
|
|
listeners.remove(listener)
|
|
}
|
|
|
|
protected fun firePropertyChange(event: PropertyChangeEvent) {
|
|
listeners.forEach { l -> l.propertyChange(event) }
|
|
}
|
|
|
|
override fun onGrabFocus() {
|
|
hasFocus = true
|
|
}
|
|
|
|
override fun onLostFocus() {
|
|
hasFocus = false
|
|
}
|
|
|
|
|
|
} |