mirror of
https://github.com/vsariola/sointu.git
synced 2025-06-04 01:28:45 -04:00
feat(tracker): clicking on the parameter label when the parameter is already selected resets the parameter
Closes #17
This commit is contained in:
parent
d49e0a6bc8
commit
b095b799a0
@ -69,6 +69,7 @@ type Tracker struct {
|
||||
ChooseUnitTypeList *layout.List
|
||||
ChooseUnitTypeBtns []*widget.Clickable
|
||||
AddUnitBtn *widget.Clickable
|
||||
ParameterLabelBtns []*widget.Clickable
|
||||
InstrumentDragList *DragList
|
||||
TrackHexCheckBoxes []*widget.Bool
|
||||
TrackShowHex []bool
|
||||
|
@ -40,6 +40,21 @@ func (t *Tracker) layoutUnitSliders(gtx C) D {
|
||||
for len(t.ParameterSliders) <= index {
|
||||
t.ParameterSliders = append(t.ParameterSliders, new(widget.Float))
|
||||
}
|
||||
for len(t.ParameterLabelBtns) <= index {
|
||||
t.ParameterLabelBtns = append(t.ParameterLabelBtns, new(widget.Clickable))
|
||||
}
|
||||
for t.ParameterLabelBtns[index].Clicked() {
|
||||
if t.EditMode != EditParameters || t.CurrentParam != index {
|
||||
t.EditMode = EditParameters
|
||||
t.CurrentParam = index
|
||||
op.InvalidateOp{}.Add(gtx.Ops)
|
||||
} else {
|
||||
if index < len(ut) {
|
||||
t.SetUnitParam(defaultUnits[u.Type].Parameters[ut[index].Name])
|
||||
op.InvalidateOp{}.Add(gtx.Ops)
|
||||
}
|
||||
}
|
||||
}
|
||||
params := u.Parameters
|
||||
var name string
|
||||
var value, min, max int
|
||||
@ -97,8 +112,13 @@ func (t *Tracker) layoutUnitSliders(gtx C) D {
|
||||
sliderStyle.Color = t.Theme.Fg
|
||||
return layout.Flex{Axis: layout.Horizontal, Alignment: layout.Middle}.Layout(gtx,
|
||||
layout.Rigid(func(gtx C) D {
|
||||
gtx.Constraints.Min.X = gtx.Px(unit.Dp(110))
|
||||
return layout.E.Layout(gtx, Label(name, white))
|
||||
return layout.Stack{}.Layout(gtx,
|
||||
layout.Stacked(func(gtx C) D {
|
||||
gtx.Constraints.Min.X = gtx.Px(unit.Dp(110))
|
||||
return layout.E.Layout(gtx, Label(name, white))
|
||||
}),
|
||||
layout.Expanded(t.ParameterLabelBtns[index].Layout),
|
||||
)
|
||||
}),
|
||||
layout.Rigid(func(gtx C) D {
|
||||
gtx.Constraints.Min.X = gtx.Px(unit.Dp(200))
|
||||
|
Loading…
x
Reference in New Issue
Block a user