mirror of
https://github.com/vsariola/sointu.git
synced 2025-06-04 01:28:45 -04:00
fix(tracker/gioui): use Clickables instead of widget.Clickables
This commit is contained in:
parent
54176cc2b3
commit
805b98524c
@ -12,8 +12,6 @@ import (
|
|||||||
"gioui.org/op/paint"
|
"gioui.org/op/paint"
|
||||||
"gioui.org/text"
|
"gioui.org/text"
|
||||||
"gioui.org/unit"
|
"gioui.org/unit"
|
||||||
"gioui.org/widget"
|
|
||||||
"gioui.org/widget/material"
|
|
||||||
"github.com/vsariola/sointu/tracker"
|
"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) {
|
for clickable.Clicked(gtx) {
|
||||||
menu.Visible = true
|
menu.Visible = true
|
||||||
}
|
}
|
||||||
m := PopupMenu(menu, tr.Theme.Shaper)
|
m := PopupMenu(menu, tr.Theme.Shaper)
|
||||||
return func(gtx C) D {
|
return func(gtx C) D {
|
||||||
defer op.Offset(image.Point{}).Push(gtx.Ops).Pop()
|
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.Color = white
|
||||||
titleBtn.Background = transparent
|
titleBtn.Background = transparent
|
||||||
titleBtn.CornerRadius = unit.Dp(0)
|
titleBtn.CornerRadius = unit.Dp(0)
|
||||||
|
@ -11,7 +11,6 @@ import (
|
|||||||
"gioui.org/op/clip"
|
"gioui.org/op/clip"
|
||||||
"gioui.org/op/paint"
|
"gioui.org/op/paint"
|
||||||
"gioui.org/unit"
|
"gioui.org/unit"
|
||||||
"gioui.org/widget"
|
|
||||||
"gioui.org/widget/material"
|
"gioui.org/widget/material"
|
||||||
"github.com/vsariola/sointu/tracker"
|
"github.com/vsariola/sointu/tracker"
|
||||||
"github.com/vsariola/sointu/version"
|
"github.com/vsariola/sointu/version"
|
||||||
@ -265,7 +264,7 @@ func (e *Expander) layoutHeader(gtx C, th *material.Theme, title string, smallWi
|
|||||||
}
|
}
|
||||||
|
|
||||||
type MenuBar struct {
|
type MenuBar struct {
|
||||||
Clickables []widget.Clickable
|
Clickables []Clickable
|
||||||
Menus []Menu
|
Menus []Menu
|
||||||
|
|
||||||
fileMenuItems []MenuItem
|
fileMenuItems []MenuItem
|
||||||
@ -278,7 +277,7 @@ type MenuBar struct {
|
|||||||
|
|
||||||
func NewMenuBar(model *tracker.Model) *MenuBar {
|
func NewMenuBar(model *tracker.Model) *MenuBar {
|
||||||
ret := &MenuBar{
|
ret := &MenuBar{
|
||||||
Clickables: make([]widget.Clickable, 3),
|
Clickables: make([]Clickable, 3),
|
||||||
Menus: make([]Menu, 3),
|
Menus: make([]Menu, 3),
|
||||||
PanicBtn: NewBoolClickable(model.Panic().Bool()),
|
PanicBtn: NewBoolClickable(model.Panic().Bool()),
|
||||||
panicHint: makeHint("Panic", " (%s)", "PanicToggle"),
|
panicHint: makeHint("Panic", " (%s)", "PanicToggle"),
|
||||||
|
@ -3,6 +3,10 @@ package gioui
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"image"
|
||||||
|
"io"
|
||||||
|
"math"
|
||||||
|
|
||||||
"gioui.org/io/clipboard"
|
"gioui.org/io/clipboard"
|
||||||
"gioui.org/io/event"
|
"gioui.org/io/event"
|
||||||
"gioui.org/io/key"
|
"gioui.org/io/key"
|
||||||
@ -19,9 +23,6 @@ import (
|
|||||||
"golang.org/x/exp/shiny/materialdesign/icons"
|
"golang.org/x/exp/shiny/materialdesign/icons"
|
||||||
"golang.org/x/text/cases"
|
"golang.org/x/text/cases"
|
||||||
"golang.org/x/text/language"
|
"golang.org/x/text/language"
|
||||||
"image"
|
|
||||||
"io"
|
|
||||||
"math"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type UnitEditor struct {
|
type UnitEditor struct {
|
||||||
@ -32,7 +33,7 @@ type UnitEditor struct {
|
|||||||
CopyUnitBtn *TipClickable
|
CopyUnitBtn *TipClickable
|
||||||
ClearUnitBtn *ActionClickable
|
ClearUnitBtn *ActionClickable
|
||||||
DisableUnitBtn *BoolClickable
|
DisableUnitBtn *BoolClickable
|
||||||
SelectTypeBtn *widget.Clickable
|
SelectTypeBtn *Clickable
|
||||||
commentEditor *Editor
|
commentEditor *Editor
|
||||||
caser cases.Caser
|
caser cases.Caser
|
||||||
|
|
||||||
@ -47,7 +48,7 @@ func NewUnitEditor(m *tracker.Model) *UnitEditor {
|
|||||||
ClearUnitBtn: NewActionClickable(m.ClearUnit()),
|
ClearUnitBtn: NewActionClickable(m.ClearUnit()),
|
||||||
DisableUnitBtn: NewBoolClickable(m.UnitDisabled().Bool()),
|
DisableUnitBtn: NewBoolClickable(m.UnitDisabled().Bool()),
|
||||||
CopyUnitBtn: new(TipClickable),
|
CopyUnitBtn: new(TipClickable),
|
||||||
SelectTypeBtn: new(widget.Clickable),
|
SelectTypeBtn: new(Clickable),
|
||||||
commentEditor: NewEditor(widget.Editor{SingleLine: true, Submit: true}),
|
commentEditor: NewEditor(widget.Editor{SingleLine: true, Submit: true}),
|
||||||
sliderList: NewDragList(m.Params().List(), layout.Vertical),
|
sliderList: NewDragList(m.Params().List(), layout.Vertical),
|
||||||
searchList: NewDragList(m.SearchResults().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 {
|
type ParameterWidget struct {
|
||||||
floatWidget widget.Float
|
floatWidget widget.Float
|
||||||
boolWidget widget.Bool
|
boolWidget widget.Bool
|
||||||
instrBtn widget.Clickable
|
instrBtn Clickable
|
||||||
instrMenu Menu
|
instrMenu Menu
|
||||||
unitBtn widget.Clickable
|
unitBtn Clickable
|
||||||
unitMenu Menu
|
unitMenu Menu
|
||||||
Parameter tracker.Parameter
|
Parameter tracker.Parameter
|
||||||
tipArea component.TipArea
|
tipArea component.TipArea
|
||||||
|
Loading…
x
Reference in New Issue
Block a user