package main import ( "image/color" "fyne.io/fyne" "fyne.io/fyne/app" "fyne.io/fyne/theme" "fyne.io/fyne/widget" fynewidget "git.martyn.berlin/martyn/LEDController/internal/fynewidget" "log" ) type tappableIcon struct { widget.Icon } func newTappableIcon(res fyne.Resource) *tappableIcon { icon := &tappableIcon{} icon.ExtendBaseWidget(icon) icon.SetResource(res) return icon } func (t *tappableIcon) Tapped(_ *fyne.PointEvent) { log.Println("I have been tapped") } func (t *tappableIcon) TappedSecondary(_ *fyne.PointEvent) { } func main() { app := app.New() w := app.NewWindow("Hello") w.SetContent(widget.NewVBox( widget.NewLabel("Hello Fyne!"), newTappableIcon(theme.FyneLogo()), fynewidget.NewOutputWidget(color.Black), widget.NewButton("Quit", func() { app.Quit() }), )) w.ShowAndRun() }