izapple2/frontend/a2fyne/panelJoystick.go

52 lines
967 B
Go

package main
import (
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/widget"
)
type panelJoystick struct {
w fyne.Widget
labelJoy1 *widget.Label
labelJoy2 *widget.Label
}
const textJoystickNotAvailable = "unplugged"
func newPanelJoystick() *panelJoystick {
var pj panelJoystick
pj.labelJoy1 = widget.NewLabel("")
pj.labelJoy2 = widget.NewLabel("")
pj.w = widget.NewCard(
"Joysticks",
"",
widget.NewForm(
widget.NewFormItem("Joystick 1", pj.labelJoy1),
widget.NewFormItem("Joystick 2", pj.labelJoy2),
),
)
return &pj
}
func (pj *panelJoystick) updateJoy1(info *joystickInfo) {
newName := textJoystickNotAvailable
if info != nil {
newName = info.name
}
if newName != pj.labelJoy1.Text {
pj.labelJoy1.SetText(newName)
}
}
func (pj *panelJoystick) updateJoy2(info *joystickInfo) {
newName := textJoystickNotAvailable
if info != nil {
newName = info.name
}
if newName != pj.labelJoy2.Text {
pj.labelJoy2.SetText(newName)
}
}