fix(tracker/gioui): use Clickables instead of widget.Clickables

This commit is contained in:
5684185+vsariola@users.noreply.github.com 2025-04-27 20:24:40 +03:00
parent 54176cc2b3
commit 805b98524c
3 changed files with 12 additions and 14 deletions

View File

@ -12,8 +12,6 @@ import (
"gioui.org/op/paint"
"gioui.org/text"
"gioui.org/unit"
"gioui.org/widget"
"gioui.org/widget/material"
"github.com/vsariola/sointu/tracker"
)
@ -168,14 +166,14 @@ func PopupMenu(menu *Menu, shaper *text.Shaper) MenuStyle {
}
}
func (tr *Tracker) layoutMenu(gtx C, title string, clickable *widget.Clickable, menu *Menu, width unit.Dp, items ...MenuItem) layout.Widget {
func (tr *Tracker) layoutMenu(gtx C, title string, clickable *Clickable, menu *Menu, width unit.Dp, items ...MenuItem) layout.Widget {
for clickable.Clicked(gtx) {
menu.Visible = true
}
m := PopupMenu(menu, tr.Theme.Shaper)
return func(gtx C) D {
defer op.Offset(image.Point{}).Push(gtx.Ops).Pop()
titleBtn := material.Button(tr.Theme, clickable, title)
titleBtn := Button(tr.Theme, clickable, title)
titleBtn.Color = white
titleBtn.Background = transparent
titleBtn.CornerRadius = unit.Dp(0)

View File

@ -11,7 +11,6 @@ import (
"gioui.org/op/clip"
"gioui.org/op/paint"
"gioui.org/unit"
"gioui.org/widget"
"gioui.org/widget/material"
"github.com/vsariola/sointu/tracker"
"github.com/vsariola/sointu/version"
@ -265,7 +264,7 @@ func (e *Expander) layoutHeader(gtx C, th *material.Theme, title string, smallWi
}
type MenuBar struct {
Clickables []widget.Clickable
Clickables []Clickable
Menus []Menu
fileMenuItems []MenuItem
@ -278,7 +277,7 @@ type MenuBar struct {
func NewMenuBar(model *tracker.Model) *MenuBar {
ret := &MenuBar{
Clickables: make([]widget.Clickable, 3),
Clickables: make([]Clickable, 3),
Menus: make([]Menu, 3),
PanicBtn: NewBoolClickable(model.Panic().Bool()),
panicHint: makeHint("Panic", " (%s)", "PanicToggle"),

View File

@ -3,6 +3,10 @@ package gioui
import (
"bytes"
"fmt"
"image"
"io"
"math"
"gioui.org/io/clipboard"
"gioui.org/io/event"
"gioui.org/io/key"
@ -19,9 +23,6 @@ import (
"golang.org/x/exp/shiny/materialdesign/icons"
"golang.org/x/text/cases"
"golang.org/x/text/language"
"image"
"io"
"math"
)
type UnitEditor struct {
@ -32,7 +33,7 @@ type UnitEditor struct {
CopyUnitBtn *TipClickable
ClearUnitBtn *ActionClickable
DisableUnitBtn *BoolClickable
SelectTypeBtn *widget.Clickable
SelectTypeBtn *Clickable
commentEditor *Editor
caser cases.Caser
@ -47,7 +48,7 @@ func NewUnitEditor(m *tracker.Model) *UnitEditor {
ClearUnitBtn: NewActionClickable(m.ClearUnit()),
DisableUnitBtn: NewBoolClickable(m.UnitDisabled().Bool()),
CopyUnitBtn: new(TipClickable),
SelectTypeBtn: new(widget.Clickable),
SelectTypeBtn: new(Clickable),
commentEditor: NewEditor(widget.Editor{SingleLine: true, Submit: true}),
sliderList: NewDragList(m.Params().List(), layout.Vertical),
searchList: NewDragList(m.SearchResults().List(), layout.Vertical),
@ -236,9 +237,9 @@ func (pe *UnitEditor) command(e key.Event, t *Tracker) {
type ParameterWidget struct {
floatWidget widget.Float
boolWidget widget.Bool
instrBtn widget.Clickable
instrBtn Clickable
instrMenu Menu
unitBtn widget.Clickable
unitBtn Clickable
unitMenu Menu
Parameter tracker.Parameter
tipArea component.TipArea