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
|
ChooseUnitTypeList *layout.List
|
||||||
ChooseUnitTypeBtns []*widget.Clickable
|
ChooseUnitTypeBtns []*widget.Clickable
|
||||||
AddUnitBtn *widget.Clickable
|
AddUnitBtn *widget.Clickable
|
||||||
|
ParameterLabelBtns []*widget.Clickable
|
||||||
InstrumentDragList *DragList
|
InstrumentDragList *DragList
|
||||||
TrackHexCheckBoxes []*widget.Bool
|
TrackHexCheckBoxes []*widget.Bool
|
||||||
TrackShowHex []bool
|
TrackShowHex []bool
|
||||||
|
@ -40,6 +40,21 @@ func (t *Tracker) layoutUnitSliders(gtx C) D {
|
|||||||
for len(t.ParameterSliders) <= index {
|
for len(t.ParameterSliders) <= index {
|
||||||
t.ParameterSliders = append(t.ParameterSliders, new(widget.Float))
|
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
|
params := u.Parameters
|
||||||
var name string
|
var name string
|
||||||
var value, min, max int
|
var value, min, max int
|
||||||
@ -97,8 +112,13 @@ func (t *Tracker) layoutUnitSliders(gtx C) D {
|
|||||||
sliderStyle.Color = t.Theme.Fg
|
sliderStyle.Color = t.Theme.Fg
|
||||||
return layout.Flex{Axis: layout.Horizontal, Alignment: layout.Middle}.Layout(gtx,
|
return layout.Flex{Axis: layout.Horizontal, Alignment: layout.Middle}.Layout(gtx,
|
||||||
layout.Rigid(func(gtx C) D {
|
layout.Rigid(func(gtx C) D {
|
||||||
gtx.Constraints.Min.X = gtx.Px(unit.Dp(110))
|
return layout.Stack{}.Layout(gtx,
|
||||||
return layout.E.Layout(gtx, Label(name, white))
|
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 {
|
layout.Rigid(func(gtx C) D {
|
||||||
gtx.Constraints.Min.X = gtx.Px(unit.Dp(200))
|
gtx.Constraints.Min.X = gtx.Px(unit.Dp(200))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user