From 9e555b53d3a2f38a90d793b2605aeedb24b31ba6 Mon Sep 17 00:00:00 2001 From: "Randall C. O'Reilly" Date: Sat, 10 Feb 2024 16:24:35 -0800 Subject: [PATCH] making progress on conversion --- code/code/debugview.go | 12 +- code/code/values.go | 20 - code/piv/piview.go | 42 +- grid/align.go | 399 ------ grid/alignanchors_string.go | 42 - grid/bboxpoints_string.go | 44 - grid/go.mod | 52 - grid/go.sum | 164 --- grid/gridviewflags_string.go | 39 - grid/install/README.md | 5 - .../mac/Grid-dev.app/Contents/Info.plist | 67 - .../Grid-dev.app/Contents/Resources/grid.icns | Bin 545954 -> 0 bytes grid/install/mac/Grid.app/Contents/Info.plist | 67 - .../mac/Grid.app/Contents/Resources/grid.icns | Bin 545954 -> 0 bytes grid/install/mac/README.md | 10 - grid/install/mac/grid-mac.sh | 34 - grid/markercolors_string.go | 41 - grid/painttypes_string.go | 43 - grid/splits.go | 256 ---- grid/sprites_string.go | 53 - grid/stdsizes_string.go | 60 - grid/tools_string.go | 44 - grid/valueviews.go | 244 ---- {grid => vector}/README.md | 0 {grid => vector}/actions.go | 4 +- vector/align.go | 332 +++++ {grid => vector}/bbox.go | 17 +- .../grid/grid.go => vector/cmd/grid/vector.go | 22 +- {grid => vector}/dashes.go | 29 +- {grid => vector}/doc.go | 6 +- {grid => vector}/edits.go | 133 +- vector/enumgen.go | 1262 +++++++++++++++++ vector/gtigen.go | 141 ++ .../icons/align-baseline-horiz.svg | 0 .../icons/align-baseline-vert.svg | 0 .../icons/align-bottom-anchor.svg | 0 {grid => vector}/icons/align-bottom.svg | 0 {grid => vector}/icons/align-center.svg | 0 {grid => vector}/icons/align-left-anchor.svg | 0 {grid => vector}/icons/align-left.svg | 0 {grid => vector}/icons/align-middle.svg | 0 {grid => vector}/icons/align-right-anchor.svg | 0 {grid => vector}/icons/align-right.svg | 0 {grid => vector}/icons/align-top-anchor.svg | 0 {grid => vector}/icons/align-top.svg | 0 {grid => vector}/icons/icons.go | 0 {grid => vector}/icons/sel-flip-horiz.svg | 0 {grid => vector}/icons/sel-flip-vert.svg | 0 {grid => vector}/icons/sel-group.svg | 0 {grid => vector}/icons/sel-lower-bottom.svg | 0 {grid => vector}/icons/sel-lower.svg | 0 {grid => vector}/icons/sel-raise-top.svg | 0 {grid => vector}/icons/sel-raise.svg | 0 {grid => vector}/icons/sel-rotate-left.svg | 0 {grid => vector}/icons/sel-rotate-right.svg | 0 {grid => vector}/icons/sel-ungroup.svg | 0 {grid => vector}/icons/snap.svg | 0 {grid => vector}/icons/tool-node.svg | 0 {grid => vector}/icons/tool-text.svg | 0 {grid => vector}/layers.go | 125 +- {grid => vector}/logo/grid-icon.png | Bin {grid => vector}/logo/grid-logo.pdf | Bin {grid => vector}/logo/grid-logo.png | Bin {grid => vector}/logo/grid-logo.svg | 0 {grid => vector}/manip.go | 63 +- {grid => vector}/markers.go | 88 +- {grid => vector}/paint.go | 288 ++-- {grid => vector}/path.go | 137 +- {grid => vector}/physize.go | 72 +- {grid => vector}/prefs.go | 148 +- {grid => vector}/select.go | 245 ++-- vector/splits.go | 168 +++ {grid => vector}/sprites.go | 42 +- {grid => vector}/svgview.go | 365 +++-- {grid => vector}/testdata/arrow.svg | 0 {grid => vector}/testdata/arrowduperot.svg | 0 {grid => vector}/testdata/gradientgp.svg | 0 {grid => vector}/testdata/gradlin.svg | 0 {grid => vector}/testdata/graphtxt.svg | 0 {grid => vector}/testdata/rectgp.svg | 0 {grid => vector}/testdata/seplays.svg | 0 {grid => vector}/testdata/shapes.svg | 0 {grid => vector}/testdata/textrect.svg | 0 {grid => vector}/text.go | 101 +- {grid => vector}/tools.go | 41 +- {grid => vector}/treeview.go | 134 +- vector/values.go | 110 ++ grid/gridview.go => vector/vectorview.go | 738 +++++----- {grid => vector}/version.go | 2 +- {grid => vector}/xform.go | 4 +- 90 files changed, 3325 insertions(+), 3230 deletions(-) delete mode 100644 grid/align.go delete mode 100644 grid/alignanchors_string.go delete mode 100644 grid/bboxpoints_string.go delete mode 100644 grid/go.mod delete mode 100644 grid/go.sum delete mode 100644 grid/gridviewflags_string.go delete mode 100644 grid/install/README.md delete mode 100644 grid/install/mac/Grid-dev.app/Contents/Info.plist delete mode 100644 grid/install/mac/Grid-dev.app/Contents/Resources/grid.icns delete mode 100644 grid/install/mac/Grid.app/Contents/Info.plist delete mode 100644 grid/install/mac/Grid.app/Contents/Resources/grid.icns delete mode 100644 grid/install/mac/README.md delete mode 100755 grid/install/mac/grid-mac.sh delete mode 100644 grid/markercolors_string.go delete mode 100644 grid/painttypes_string.go delete mode 100644 grid/splits.go delete mode 100644 grid/sprites_string.go delete mode 100644 grid/stdsizes_string.go delete mode 100644 grid/tools_string.go delete mode 100644 grid/valueviews.go rename {grid => vector}/README.md (100%) rename {grid => vector}/actions.go (85%) create mode 100644 vector/align.go rename {grid => vector}/bbox.go (89%) rename grid/cmd/grid/grid.go => vector/cmd/grid/vector.go (63%) rename {grid => vector}/dashes.go (90%) rename {grid => vector}/doc.go (66%) rename {grid => vector}/edits.go (84%) create mode 100644 vector/enumgen.go create mode 100644 vector/gtigen.go rename {grid => vector}/icons/align-baseline-horiz.svg (100%) rename {grid => vector}/icons/align-baseline-vert.svg (100%) rename {grid => vector}/icons/align-bottom-anchor.svg (100%) rename {grid => vector}/icons/align-bottom.svg (100%) rename {grid => vector}/icons/align-center.svg (100%) rename {grid => vector}/icons/align-left-anchor.svg (100%) rename {grid => vector}/icons/align-left.svg (100%) rename {grid => vector}/icons/align-middle.svg (100%) rename {grid => vector}/icons/align-right-anchor.svg (100%) rename {grid => vector}/icons/align-right.svg (100%) rename {grid => vector}/icons/align-top-anchor.svg (100%) rename {grid => vector}/icons/align-top.svg (100%) rename {grid => vector}/icons/icons.go (100%) rename {grid => vector}/icons/sel-flip-horiz.svg (100%) rename {grid => vector}/icons/sel-flip-vert.svg (100%) rename {grid => vector}/icons/sel-group.svg (100%) rename {grid => vector}/icons/sel-lower-bottom.svg (100%) rename {grid => vector}/icons/sel-lower.svg (100%) rename {grid => vector}/icons/sel-raise-top.svg (100%) rename {grid => vector}/icons/sel-raise.svg (100%) rename {grid => vector}/icons/sel-rotate-left.svg (100%) rename {grid => vector}/icons/sel-rotate-right.svg (100%) rename {grid => vector}/icons/sel-ungroup.svg (100%) rename {grid => vector}/icons/snap.svg (100%) rename {grid => vector}/icons/tool-node.svg (100%) rename {grid => vector}/icons/tool-text.svg (100%) rename {grid => vector}/layers.go (65%) rename {grid => vector}/logo/grid-icon.png (100%) rename {grid => vector}/logo/grid-logo.pdf (100%) rename {grid => vector}/logo/grid-logo.png (100%) rename {grid => vector}/logo/grid-logo.svg (100%) rename {grid => vector}/manip.go (91%) rename {grid => vector}/markers.go (95%) rename {grid => vector}/paint.go (71%) rename {grid => vector}/path.go (74%) rename {grid => vector}/physize.go (64%) rename {grid => vector}/prefs.go (73%) rename {grid => vector}/select.go (74%) create mode 100644 vector/splits.go rename {grid => vector}/sprites.go (91%) rename {grid => vector}/svgview.go (78%) rename {grid => vector}/testdata/arrow.svg (100%) rename {grid => vector}/testdata/arrowduperot.svg (100%) rename {grid => vector}/testdata/gradientgp.svg (100%) rename {grid => vector}/testdata/gradlin.svg (100%) rename {grid => vector}/testdata/graphtxt.svg (100%) rename {grid => vector}/testdata/rectgp.svg (100%) rename {grid => vector}/testdata/seplays.svg (100%) rename {grid => vector}/testdata/shapes.svg (100%) rename {grid => vector}/testdata/textrect.svg (100%) rename {grid => vector}/text.go (70%) rename {grid => vector}/tools.go (74%) rename {grid => vector}/treeview.go (73%) create mode 100644 vector/values.go rename grid/gridview.go => vector/vectorview.go (59%) rename {grid => vector}/version.go (94%) rename {grid => vector}/xform.go (57%) diff --git a/code/code/debugview.go b/code/code/debugview.go index 7ecc72d2..15dd6337 100644 --- a/code/code/debugview.go +++ b/code/code/debugview.go @@ -1257,19 +1257,19 @@ func (vv *VarView) ConfigVarView() { return } -// SplitView returns the main SplitView -func (vv *VarView) SplitView() *gi.Splits { +// Splits returns the main Splits +func (vv *VarView) Splits() *gi.Splits { return vv.ChildByName("splitview", 1).(*gi.Splits) } // TreeView returns the main TreeView func (vv *VarView) TreeView() *giv.TreeView { - return vv.SplitView().Child(0).Child(0).(*giv.TreeView) + return vv.Splits().Child(0).Child(0).(*giv.TreeView) } // StructView returns the main StructView func (vv *VarView) StructView() *giv.StructView { - return vv.SplitView().Child(1).(*giv.StructView) + return vv.Splits().Child(1).(*giv.StructView) } func (vv *VarView) ConfigToolbar(tb *gi.Toolbar) { @@ -1290,12 +1290,12 @@ func (vv *VarView) SetFrameInfo(finfo string) { lab.Text = finfo } -// ConfigSplits configures the SplitView. +// ConfigSplits configures the Splits. func (vv *VarView) ConfigSplits() { if vv.Var == nil { return } - split := vv.SplitView() + split := vv.Splits() if len(split.Kids) == 0 { tvfr := gi.NewFrame(split, "tvfr") diff --git a/code/code/values.go b/code/code/values.go index a0848e86..28a067e6 100644 --- a/code/code/values.go +++ b/code/code/values.go @@ -52,26 +52,6 @@ func KeyMapsView(km *KeyMaps) { d.NewWindow().Run() } -////////////////////////////////////////////////////////////////////////////////////// -// PrefsView - -// PrefsView opens a view of user settings, -// returns structview if new (nil if recycled) -func PrefsView(pf *SettingsData) *giv.StructView { - if gi.ActivateExistingMainWindow(pf) { - return nil - } - d := gi.NewBody().SetTitle("Code Settings") - tv := giv.NewStructView(d).SetStruct(pf) - d.Scene.Data = pf - - /* - */ - - d.NewWindow().Run() - return tv -} - ////////////////////////////////////////////////////////////////////////////////////// // ProjSettingsView diff --git a/code/piv/piview.go b/code/piv/piview.go index 0540e2d8..ea96104d 100644 --- a/code/piv/piview.go +++ b/code/piv/piview.go @@ -511,7 +511,7 @@ func (pv *PiView) ViewParseState() { // CurPanel returns the splitter panel that currently has keyboard focus func (pv *PiView) CurPanel() int { - sv := pv.SplitView() + sv := pv.Splits() if sv == nil { return -1 } @@ -526,7 +526,7 @@ func (pv *PiView) CurPanel() int { // FocusOnPanel moves keyboard focus to given panel -- returns false if nothing at that tab func (pv *PiView) FocusOnPanel(panel int) bool { - sv := pv.SplitView() + sv := pv.Splits() if sv == nil { return false } @@ -538,7 +538,7 @@ func (pv *PiView) FocusOnPanel(panel int) bool { // FocusNextPanel moves the keyboard focus to the next panel to the right func (pv *PiView) FocusNextPanel() { - sv := pv.SplitView() + sv := pv.Splits() if sv == nil { return } @@ -559,7 +559,7 @@ func (pv *PiView) FocusNextPanel() { // FocusPrevPanel moves the keyboard focus to the previous panel to the left func (pv *PiView) FocusPrevPanel() { - sv := pv.SplitView() + sv := pv.Splits() if sv == nil { return } @@ -738,13 +738,13 @@ func (pv *PiView) Config() { pv.SetProp("spacing", gi.StdDialogVSpaceUnits) config := ki.Config{} config.Add(gi.ToolbarType, "toolbar") - config.Add(gi.SplitViewType, "splitview") + config.Add(gi.SplitsType, "splitview") config.Add(gi.FrameType, "statusbar") mods, updt := pv.ConfigChildren(config) if !mods { updt = pv.UpdateStart() } - pv.ConfigSplitView() + pv.ConfigSplits() pv.ConfigStatusBar() pv.ConfigToolbar() pv.UpdateEnd(updt) @@ -756,41 +756,41 @@ func (pv *PiView) IsConfiged() bool { if len(pv.Kids) == 0 { return false } - sv := pv.SplitView() + sv := pv.Splits() if len(sv.Kids) == 0 { return false } return true } -// SplitView returns the main SplitView -func (pv *PiView) SplitView() *gi.SplitView { - return pv.ChildByName("splitview", 4).(*gi.SplitView) +// Splits returns the main Splits +func (pv *PiView) Splits() *gi.Splits { + return pv.ChildByName("splitview", 4).(*gi.Splits) } // LexTree returns the lex rules tree view func (pv *PiView) LexTree() *giv.TreeView { - return pv.SplitView().Child(LexRulesIdx).Child(0).(*giv.TreeView) + return pv.Splits().Child(LexRulesIdx).Child(0).(*giv.TreeView) } // ParseTree returns the parse rules tree view func (pv *PiView) ParseTree() *giv.TreeView { - return pv.SplitView().Child(ParseRulesIdx).Child(0).(*giv.TreeView) + return pv.Splits().Child(ParseRulesIdx).Child(0).(*giv.TreeView) } // AstTree returns the Ast output tree view func (pv *PiView) AstTree() *giv.TreeView { - return pv.SplitView().Child(AstOutIdx).Child(0).(*giv.TreeView) + return pv.Splits().Child(AstOutIdx).Child(0).(*giv.TreeView) } // StructView returns the StructView for editing rules func (pv *PiView) StructView() *giv.StructView { - return pv.SplitView().Child(StructViewIdx).(*giv.StructView) + return pv.Splits().Child(StructViewIdx).(*giv.StructView) } // MainTabs returns the main TabView func (pv *PiView) MainTabs() *gi.TabView { - return pv.SplitView().Child(MainTabsIdx).Embed(gi.KiT_TabView).(*gi.TabView) + return pv.Splits().Child(MainTabsIdx).Embed(gi.KiT_TabView).(*gi.TabView) } // StatusBar returns the statusbar widget @@ -838,8 +838,8 @@ func (pv *PiView) ConfigToolbar() { giv.ToolbarView(pv, pv.Viewport, tb) } -// SplitViewConfig returns a TypeAndNameList for configuring the SplitView -func (pv *PiView) SplitViewConfig() ki.Config { +// SplitsConfig returns a TypeAndNameList for configuring the Splits +func (pv *PiView) SplitsConfig() ki.Config { config := ki.Config{} config.Add(gi.FrameType, "lex-tree-fr") config.Add(gi.FrameType, "parse-tree-fr") @@ -867,10 +867,10 @@ func (pv *PiView) MonitorOut() { pv.OutMonMu.Unlock() } -// ConfigSplitView configures the SplitView. -func (pv *PiView) ConfigSplitView() { +// ConfigSplits configures the Splits. +func (pv *PiView) ConfigSplits() { fs := &pv.FileState - split := pv.SplitView() + split := pv.Splits() if split == nil { return } @@ -879,7 +879,7 @@ func (pv *PiView) ConfigSplitView() { split.SetProp("white-space", styles.WhiteSpacePreWrap) split.SetProp("tab-size", 4) - config := pv.SplitViewConfig() + config := pv.SplitsConfig() mods, updt := split.ConfigChildren(config) if mods { lxfr := split.Child(LexRulesIdx).(*gi.Frame) diff --git a/grid/align.go b/grid/align.go deleted file mode 100644 index cfd13535..00000000 --- a/grid/align.go +++ /dev/null @@ -1,399 +0,0 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package grid - -import ( - "image" - - "github.com/goki/gi/gi" - "github.com/goki/gi/svg" - "github.com/goki/gi/units" - "github.com/goki/ki/ki" - "github.com/goki/ki/kit" - "github.com/goki/mat32" -) - -// AlignView provides a range of alignment actions on selected objects. -type AlignView struct { - gi.Layout - - // the parent gridview - GridView *GridView `copy:"-" json:"-" xml:"-" view:"-"` -} - -var KiT_AlignView = kit.Types.AddType(&AlignView{}, AlignViewProps) - -///////////////////////////////////////////////////////////////////////// -// Actions - -// AlignAnchorBBox returns the bounding box for given type of align anchor -// and the anchor node if non-nil -func (gv *GridView) AlignAnchorBBox(aa AlignAnchors) (image.Rectangle, svg.NodeSVG) { - es := &gv.EditState - sv := gv.SVG() - svoff := sv.WinBBox.Min - var an svg.NodeSVG - var bb image.Rectangle - switch aa { - case AlignFirst: - sl := es.SelectedList(false) - an = sl[0] - bb = an.AsSVGNode().WinBBox - case AlignLast: - sl := es.SelectedList(true) // descending - an = sl[0] - bb = an.AsSVGNode().WinBBox - case AlignSelectBox: - bb = image.Rectangle{Min: es.DragSelCurBBox.Min.ToPointFloor(), Max: es.DragSelCurBBox.Max.ToPointCeil()} - } - bb = bb.Sub(svoff) - return bb, an -} - -// AlignMin aligns to min coordinate (Left, Top) in bbox -func (gv *GridView) AlignMin(aa AlignAnchors, dim mat32.Dims, act string) { - es := &gv.EditState - if !es.HasSelected() { - return - } - sv := gv.SVG() - svoff := sv.WinBBox.Min - sv.UndoSave(act, es.SelectedNamesString()) - abb, an := gv.AlignAnchorBBox(aa) - sc := mat32.V2(1, 1) - odim := mat32.OtherDim(dim) - for sn := range es.Selected { - if sn == an { - continue - } - sng := sn.AsSVGNode() - bb := sng.WinBBox.Sub(svoff) - del := mat32.NewVec2FmPoint(abb.Min.Sub(bb.Min)) - del.SetDim(odim, 0) - sn.ApplyDeltaTransform(del, sc, 0, mat32.NewVec2FmPoint(bb.Min)) - } - sv.UpdateView(true) - gv.ChangeMade() -} - -func (gv *GridView) AlignMinAnchor(aa AlignAnchors, dim mat32.Dims, act string) { - es := &gv.EditState - if !es.HasSelected() { - return - } - sv := gv.SVG() - svoff := sv.WinBBox.Min - sv.UndoSave(act, es.SelectedNamesString()) - abb, an := gv.AlignAnchorBBox(aa) - sc := mat32.V2(1, 1) - odim := mat32.OtherDim(dim) - for sn := range es.Selected { - if sn == an { - continue - } - sng := sn.AsSVGNode() - bb := sng.WinBBox.Sub(svoff) - del := mat32.NewVec2FmPoint(abb.Max.Sub(bb.Min)) - del.SetDim(odim, 0) - sn.ApplyDeltaTransform(del, sc, 0, mat32.NewVec2FmPoint(bb.Min)) - } - sv.UpdateView(true) - gv.ChangeMade() -} - -func (gv *GridView) AlignMax(aa AlignAnchors, dim mat32.Dims, act string) { - es := &gv.EditState - if !es.HasSelected() { - return - } - sv := gv.SVG() - svoff := sv.WinBBox.Min - sv.UndoSave(act, es.SelectedNamesString()) - abb, an := gv.AlignAnchorBBox(aa) - sc := mat32.V2(1, 1) - odim := mat32.OtherDim(dim) - for sn := range es.Selected { - if sn == an { - continue - } - sng := sn.AsSVGNode() - bb := sng.WinBBox.Sub(svoff) - del := mat32.NewVec2FmPoint(abb.Max.Sub(bb.Max)) - del.SetDim(odim, 0) - sn.ApplyDeltaTransform(del, sc, 0, mat32.NewVec2FmPoint(bb.Min)) - } - sv.UpdateView(true) - gv.ChangeMade() -} - -func (gv *GridView) AlignMaxAnchor(aa AlignAnchors, dim mat32.Dims, act string) { - es := &gv.EditState - if !es.HasSelected() { - return - } - sv := gv.SVG() - svoff := sv.WinBBox.Min - sv.UndoSave(act, es.SelectedNamesString()) - abb, an := gv.AlignAnchorBBox(aa) - sc := mat32.V2(1, 1) - odim := mat32.OtherDim(dim) - for sn := range es.Selected { - if sn == an { - continue - } - sng := sn.AsSVGNode() - bb := sng.WinBBox.Sub(svoff) - del := mat32.NewVec2FmPoint(abb.Min.Sub(bb.Max)) - del.SetDim(odim, 0) - sn.ApplyDeltaTransform(del, sc, 0, mat32.NewVec2FmPoint(bb.Min)) - } - sv.UpdateView(true) - gv.ChangeMade() -} - -func (gv *GridView) AlignCenter(aa AlignAnchors, dim mat32.Dims, act string) { - es := &gv.EditState - if !es.HasSelected() { - return - } - sv := gv.SVG() - svoff := sv.WinBBox.Min - sv.UndoSave(act, es.SelectedNamesString()) - abb, an := gv.AlignAnchorBBox(aa) - ctr := mat32.NewVec2FmPoint(abb.Min.Add(abb.Max)).MulScalar(0.5) - sc := mat32.V2(1, 1) - odim := mat32.OtherDim(dim) - for sn := range es.Selected { - if sn == an { - continue - } - sng := sn.AsSVGNode() - bb := sng.WinBBox.Sub(svoff) - nctr := mat32.NewVec2FmPoint(bb.Min.Add(bb.Max)).MulScalar(0.5) - del := ctr.Sub(nctr) - del.SetDim(odim, 0) - sn.ApplyDeltaTransform(del, sc, 0, mat32.NewVec2FmPoint(bb.Min)) - } - sv.UpdateView(true) - gv.ChangeMade() -} - -// GatherAlignPoints gets all the potential points of alignment for objects not -// in selection group -func (sv *SVGView) GatherAlignPoints() { - es := sv.EditState() - if !es.HasSelected() { - return - } - - for ap := BBLeft; ap < BBoxPointsN; ap++ { - es.AlignPts[ap] = make([]mat32.Vec2, 0) - } - - sv.FuncDownMeFirst(0, sv.This(), func(k ki.Ki, level int, d any) bool { - if k == sv.This() { - return ki.Continue - } - if k.IsDeleted() || k.IsDestroyed() { - return ki.Break - } - if k == sv.Defs.This() || NodeIsMetaData(k) { - return ki.Break - } - if NodeIsLayer(k) { - return ki.Continue - } - sii, issvg := k.(svg.NodeSVG) - if !issvg { - return ki.Break - } - if _, issel := es.Selected[sii]; issel { - return ki.Break // go no further into kids - } - sg := sii.AsSVGNode() - - for ap := BBLeft; ap < BBoxPointsN; ap++ { - es.AlignPts[ap] = append(es.AlignPts[ap], ap.PointRect(sg.WinBBox)) - } - return ki.Continue - }) -} - -/////////////////////////////////////////////////////////////// -// AlignView - -func (av *AlignView) Config(gv *GridView) { - if av.HasChildren() { - return - } - updt := av.UpdateStart() - - av.GridView = gv - av.Lay = gi.LayoutVert - av.SetProp("spacing", gi.StdDialogVSpaceUnits) - - all := gi.AddNewLayout(av, "align-lab", gi.LayoutHoriz) - gi.AddNewLabel(all, "align-lab", "Align: ") - - atcb := gi.AddNewComboBox(all, "align-anchor") - atcb.ItemsFromEnum(KiT_AlignAnchors, true, 0) - - atyp := gi.AddNewLayout(av, "align-grid", gi.LayoutGrid) - atyp.SetProp("columns", 6) - atyp.SetProp("spacing", gi.StdDialogVSpaceUnits) - - icprops := ki.Props{ - "width": units.NewEm(3), - "height": units.NewEm(3), - "margin": units.NewPx(0), - "padding": units.NewPx(0), - "fill": &gi.Prefs.Colors.Icon, - "stroke": &gi.Prefs.Colors.Font, - } - - rta := gi.AddNewAction(atyp, "right-anchor") - rta.SetIcon("align-right-anchor") - rta.SetProp("#icon", icprops) - rta.Tooltip = "align right edges of selected items to left edge of anchor item" - rta.ActionSig.Connect(av.This(), func(recv, send ki.Ki, sig int64, data any) { - av.GridView.AlignMaxAnchor(av.AlignAnchor(), mat32.X, "AlignRightAnchor") - }) - - lft := gi.AddNewAction(atyp, "left") - lft.SetIcon("align-left") - lft.SetProp("#icon", icprops) - lft.Tooltip = "align left edges of all selected items" - lft.ActionSig.Connect(av.This(), func(recv, send ki.Ki, sig int64, data any) { - av.GridView.AlignMin(av.AlignAnchor(), mat32.X, "AlignLeft") - }) - - ctr := gi.AddNewAction(atyp, "center") - ctr.SetIcon("align-center") - ctr.SetProp("#icon", icprops) - ctr.Tooltip = "align centers of all selected items" - ctr.ActionSig.Connect(av.This(), func(recv, send ki.Ki, sig int64, data any) { - av.GridView.AlignCenter(av.AlignAnchor(), mat32.X, "AlignCenter") - }) - - rgt := gi.AddNewAction(atyp, "right") - rgt.SetIcon("align-right") - rgt.SetProp("#icon", icprops) - rgt.Tooltip = "align right edges of all selected items" - rgt.ActionSig.Connect(av.This(), func(recv, send ki.Ki, sig int64, data any) { - av.GridView.AlignMax(av.AlignAnchor(), mat32.X, "AlignRight") - }) - - lta := gi.AddNewAction(atyp, "left-anchor") - lta.SetIcon("align-left-anchor") - lta.SetProp("#icon", icprops) - lta.Tooltip = "align left edges of all selected items to right edge of anchor item" - lta.ActionSig.Connect(av.This(), func(recv, send ki.Ki, sig int64, data any) { - av.GridView.AlignMinAnchor(av.AlignAnchor(), mat32.X, "AlignLeftAnchor") - }) - - bsh := gi.AddNewAction(atyp, "baseh") - bsh.SetIcon("align-baseline-horiz") - bsh.SetProp("#icon", icprops) - bsh.Tooltip = "align left text baseline edges of all selected items" - bsh.ActionSig.Connect(av.This(), func(recv, send ki.Ki, sig int64, data any) { - av.GridView.AlignMin(av.AlignAnchor(), mat32.X, "AlignBaseH") - }) - - bta := gi.AddNewAction(atyp, "bottom-anchor") - bta.SetIcon("align-bottom-anchor") - bta.SetProp("#icon", icprops) - bta.Tooltip = "align bottom edges of all selected items to top edge of anchor item" - bta.ActionSig.Connect(av.This(), func(recv, send ki.Ki, sig int64, data any) { - av.GridView.AlignMaxAnchor(av.AlignAnchor(), mat32.Y, "AlignBotAnchor") - }) - - top := gi.AddNewAction(atyp, "top") - top.SetIcon("align-top") - top.SetProp("#icon", icprops) - top.Tooltip = "align top edges of all selected items" - top.ActionSig.Connect(av.This(), func(recv, send ki.Ki, sig int64, data any) { - av.GridView.AlignMin(av.AlignAnchor(), mat32.Y, "AlignTop") - }) - - mid := gi.AddNewAction(atyp, "middle") - mid.SetIcon("align-middle") - mid.SetProp("#icon", icprops) - mid.Tooltip = "align middle vertical point of all selected items" - mid.ActionSig.Connect(av.This(), func(recv, send ki.Ki, sig int64, data any) { - av.GridView.AlignCenter(av.AlignAnchor(), mat32.Y, "AlignTop") - }) - - bot := gi.AddNewAction(atyp, "bottom") - bot.SetIcon("align-bottom") - bot.SetProp("#icon", icprops) - bot.Tooltip = "align bottom edges of all selected items" - bot.ActionSig.Connect(av.This(), func(recv, send ki.Ki, sig int64, data any) { - av.GridView.AlignMax(av.AlignAnchor(), mat32.Y, "AlignBottom") - }) - - tpa := gi.AddNewAction(atyp, "top-anchor") - tpa.SetIcon("align-top-anchor") - tpa.SetProp("#icon", icprops) - tpa.Tooltip = "align top edges of all selected items to bottom edge of anchor item" - tpa.ActionSig.Connect(av.This(), func(recv, send ki.Ki, sig int64, data any) { - av.GridView.AlignMinAnchor(av.AlignAnchor(), mat32.Y, "AlignTopAnchor") - }) - - bsv := gi.AddNewAction(atyp, "basev") - bsv.SetIcon("align-baseline-vert") - bsv.SetProp("#icon", icprops) - bsv.Tooltip = "align baseline points of all selected items vertically" - bsv.ActionSig.Connect(av.This(), func(recv, send ki.Ki, sig int64, data any) { - av.GridView.AlignMax(av.AlignAnchor(), mat32.Y, "AlignBaseV") - }) - - gi.AddNewStretch(av, "endstr") - - av.UpdateEnd(updt) -} - -// AlignAnchor returns the align anchor currently selected -func (av *AlignView) AlignAnchor() AlignAnchors { - cb := av.AlignAnchorComboBox() - if cb == nil { - return AlignFirst - } - return AlignAnchors(cb.CurIndex) -} - -// AlignAnchorComboBox returns the combobox representing align anchor options -func (av *AlignView) AlignAnchorComboBox() *gi.ComboBox { - cbi := av.ChildByName("align-lab", 0).ChildByName("align-anchor", 0) - if cbi != nil { - return cbi.(*gi.ComboBox) - } - return nil -} - -var AlignViewProps = ki.Props{ - "EnumType:Flag": gi.KiT_VpFlags, - "background-color": &gi.Prefs.Colors.Background, - "color": &gi.Prefs.Colors.Font, - "max-width": -1, - "max-height": -1, -} - -// AlignAnchors are ways of anchoring alignment -type AlignAnchors int - -const ( - AlignFirst AlignAnchors = iota - AlignLast - AlignDrawing - AlignSelectBox - AlignAnchorsN -) - -//go:generate stringer -type=AlignAnchors - -var KiT_AlignAnchors = kit.Enums.AddEnum(AlignAnchorsN, kit.NotBitFlag, nil) - -func (ev AlignAnchors) MarshalJSON() ([]byte, error) { return kit.EnumMarshalJSON(ev) } -func (ev *AlignAnchors) UnmarshalJSON(b []byte) error { return kit.EnumUnmarshalJSON(ev, b) } diff --git a/grid/alignanchors_string.go b/grid/alignanchors_string.go deleted file mode 100644 index 37c3a30c..00000000 --- a/grid/alignanchors_string.go +++ /dev/null @@ -1,42 +0,0 @@ -// Code generated by "stringer -type=AlignAnchors"; DO NOT EDIT. - -package grid - -import ( - "errors" - "strconv" -) - -var _ = errors.New("dummy error") - -func _() { - // An "invalid array index" compiler error signifies that the constant values have changed. - // Re-run the stringer command to generate them again. - var x [1]struct{} - _ = x[AlignFirst-0] - _ = x[AlignLast-1] - _ = x[AlignDrawing-2] - _ = x[AlignSelectBox-3] - _ = x[AlignAnchorsN-4] -} - -const _AlignAnchors_name = "AlignFirstAlignLastAlignDrawingAlignSelectBoxAlignAnchorsN" - -var _AlignAnchors_index = [...]uint8{0, 10, 19, 31, 45, 58} - -func (i AlignAnchors) String() string { - if i < 0 || i >= AlignAnchors(len(_AlignAnchors_index)-1) { - return "AlignAnchors(" + strconv.FormatInt(int64(i), 10) + ")" - } - return _AlignAnchors_name[_AlignAnchors_index[i]:_AlignAnchors_index[i+1]] -} - -func (i *AlignAnchors) FromString(s string) error { - for j := 0; j < len(_AlignAnchors_index)-1; j++ { - if s == _AlignAnchors_name[_AlignAnchors_index[j]:_AlignAnchors_index[j+1]] { - *i = AlignAnchors(j) - return nil - } - } - return errors.New("String: " + s + " is not a valid option for type: AlignAnchors") -} diff --git a/grid/bboxpoints_string.go b/grid/bboxpoints_string.go deleted file mode 100644 index 9cb122b2..00000000 --- a/grid/bboxpoints_string.go +++ /dev/null @@ -1,44 +0,0 @@ -// Code generated by "stringer -type=BBoxPoints"; DO NOT EDIT. - -package grid - -import ( - "errors" - "strconv" -) - -var _ = errors.New("dummy error") - -func _() { - // An "invalid array index" compiler error signifies that the constant values have changed. - // Re-run the stringer command to generate them again. - var x [1]struct{} - _ = x[BBLeft-0] - _ = x[BBCenter-1] - _ = x[BBRight-2] - _ = x[BBTop-3] - _ = x[BBMiddle-4] - _ = x[BBBottom-5] - _ = x[BBoxPointsN-6] -} - -const _BBoxPoints_name = "BBLeftBBCenterBBRightBBTopBBMiddleBBBottomBBoxPointsN" - -var _BBoxPoints_index = [...]uint8{0, 6, 14, 21, 26, 34, 42, 53} - -func (i BBoxPoints) String() string { - if i < 0 || i >= BBoxPoints(len(_BBoxPoints_index)-1) { - return "BBoxPoints(" + strconv.FormatInt(int64(i), 10) + ")" - } - return _BBoxPoints_name[_BBoxPoints_index[i]:_BBoxPoints_index[i+1]] -} - -func (i *BBoxPoints) FromString(s string) error { - for j := 0; j < len(_BBoxPoints_index)-1; j++ { - if s == _BBoxPoints_name[_BBoxPoints_index[j]:_BBoxPoints_index[j+1]] { - *i = BBoxPoints(j) - return nil - } - } - return errors.New("String: " + s + " is not a valid option for type: BBoxPoints") -} diff --git a/grid/go.mod b/grid/go.mod deleted file mode 100644 index abe7aaee..00000000 --- a/grid/go.mod +++ /dev/null @@ -1,52 +0,0 @@ -module goki.dev/grid - -go 1.18 - -require ( - github.com/goki/gi v1.3.13 - github.com/goki/ki v1.1.11 - github.com/goki/mat32 v1.0.14 - github.com/goki/pi v1.0.23 - github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef -) - -require ( - github.com/BurntSushi/freetype-go v0.0.0-20160129220410-b763ddbfe298 // indirect - github.com/BurntSushi/graphics-go v0.0.0-20160129215708-b43f31a4a966 // indirect - github.com/BurntSushi/xgb v0.0.0-20210121224620-deaf085860bc // indirect - github.com/BurntSushi/xgbutil v0.0.0-20190907113008-ad855c713046 // indirect - github.com/Masterminds/vcs v1.13.3 // indirect - github.com/akutz/sortfold v0.2.1 // indirect - github.com/alecthomas/chroma v0.10.0 // indirect - github.com/anthonynsimon/bild v0.13.0 // indirect - github.com/antonmedv/expr v1.12.0 // indirect - github.com/aymerick/douceur v0.2.0 // indirect - github.com/c2h5oh/datasize v0.0.0-20220606134207-859f65c6625b // indirect - github.com/dlclark/regexp2 v1.8.0 // indirect - github.com/fatih/camelcase v1.0.0 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/gabriel-vasile/mimetype v1.4.1 // indirect - github.com/go-gl/glfw/v3.3/glfw v0.0.0-20221017161538-93cebf72946b // indirect - github.com/go-gl/mathgl v1.0.0 // indirect - github.com/goki/freetype v0.0.0-20220119013949-7a161fd3728c // indirect - github.com/goki/go-difflib v1.2.1 // indirect - github.com/goki/gosl v1.0.11 // indirect - github.com/goki/kigen v1.0.2 // indirect - github.com/goki/prof v1.0.0 // indirect - github.com/goki/vci v1.0.1 // indirect - github.com/goki/vgpu v1.0.21 // indirect - github.com/goki/vulkan v1.0.5 // indirect - github.com/gorilla/css v1.0.0 // indirect - github.com/h2non/filetype v1.1.3 // indirect - github.com/iancoleman/strcase v0.2.0 // indirect - github.com/jinzhu/copier v0.3.5 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/srwiley/scanx v0.0.0-20190309010443-e94503791388 // indirect - golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb // indirect - golang.org/x/image v0.5.0 // indirect - golang.org/x/mod v0.8.0 // indirect - golang.org/x/net v0.7.0 // indirect - golang.org/x/sys v0.5.0 // indirect - golang.org/x/text v0.7.0 // indirect - golang.org/x/tools v0.6.0 // indirect -) diff --git a/grid/go.sum b/grid/go.sum deleted file mode 100644 index d89ad000..00000000 --- a/grid/go.sum +++ /dev/null @@ -1,164 +0,0 @@ -github.com/BurntSushi/freetype-go v0.0.0-20160129220410-b763ddbfe298 h1:1qlsVAQJXZHsaM8b6OLVo6muQUQd4CwkH/D3fnnbHXA= -github.com/BurntSushi/freetype-go v0.0.0-20160129220410-b763ddbfe298/go.mod h1:D+QujdIlUNfa0igpNMk6UIvlb6C252URs4yupRUV4lQ= -github.com/BurntSushi/graphics-go v0.0.0-20160129215708-b43f31a4a966 h1:lTG4HQym5oPKjL7nGs+csTgiDna685ZXjxijkne828g= -github.com/BurntSushi/graphics-go v0.0.0-20160129215708-b43f31a4a966/go.mod h1:Mid70uvE93zn9wgF92A/r5ixgnvX8Lh68fxp9KQBaI0= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20210121224620-deaf085860bc h1:7D+Bh06CRPCJO3gr2F7h1sriovOZ8BMhca2Rg85c2nk= -github.com/BurntSushi/xgb v0.0.0-20210121224620-deaf085860bc/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/BurntSushi/xgbutil v0.0.0-20190907113008-ad855c713046 h1:O/r2Sj+8QcMF7V5IcmiE2sMFV2q3J47BEirxbXJAdzA= -github.com/BurntSushi/xgbutil v0.0.0-20190907113008-ad855c713046/go.mod h1:uw9h2sd4WWHOPdJ13MQpwK5qYWKYDumDqxWWIknEQ+k= -github.com/Masterminds/vcs v1.13.1/go.mod h1:N09YCmOQr6RLxC6UNHzuVwAdodYbbnycGHSmwVJjcKA= -github.com/Masterminds/vcs v1.13.3 h1:IIA2aBdXvfbIM+yl/eTnL4hb1XwdpvuQLglAix1gweE= -github.com/Masterminds/vcs v1.13.3/go.mod h1:TiE7xuEjl1N4j016moRd6vezp6e6Lz23gypeXfzXeW8= -github.com/akutz/sortfold v0.2.1 h1:u9x3FC6oM+6gZKEVNRnmVafJgappwrv9YqpELQCYViI= -github.com/akutz/sortfold v0.2.1/go.mod h1:m1NArmessx+/3z2N8MiiTjq79A3WwZwDDiZ7eeD4jHA= -github.com/alecthomas/chroma v0.10.0 h1:7XDcGkCQopCNKjZHfYrNLraA+M7e0fMiJ/Mfikbfjek= -github.com/alecthomas/chroma v0.10.0/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s= -github.com/anthonynsimon/bild v0.13.0 h1:mN3tMaNds1wBWi1BrJq0ipDBhpkooYfu7ZFSMhXt1C8= -github.com/anthonynsimon/bild v0.13.0/go.mod h1:tpzzp0aYkAsMi1zmfhimaDyX1xjn2OUc1AJZK/TF0AE= -github.com/antonmedv/expr v1.12.0 h1:hIOn7jjY86E09PXvn9zgdt2FbWVru0ud9Rm5DbNoYNw= -github.com/antonmedv/expr v1.12.0/go.mod h1:FPC8iWArxls7axbVLsW+kpg1mz29A1b2M6jt+hZfDkU= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= -github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= -github.com/c2h5oh/datasize v0.0.0-20220606134207-859f65c6625b h1:6+ZFm0flnudZzdSE0JxlhR2hKnGPcNB35BjQf4RYQDY= -github.com/c2h5oh/datasize v0.0.0-20220606134207-859f65c6625b/go.mod h1:S/7n9copUssQ56c7aAgHqftWO4LTf4xY6CGWt8Bc+3M= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/dlclark/regexp2 v1.8.0 h1:rJD5HeGIT/2b5CDk63FVCwZA3qgYElfg+oQK7uH5pfE= -github.com/dlclark/regexp2 v1.8.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= -github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/gabriel-vasile/mimetype v1.4.1 h1:TRWk7se+TOjCYgRth7+1/OYLNiRNIotknkFtf/dnN7Q= -github.com/gabriel-vasile/mimetype v1.4.1/go.mod h1:05Vi0w3Y9c/lNvJOdmIwvrrAhX3rYhfQQCaf9VJcv7M= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20221017161538-93cebf72946b h1:GgabKamyOYguHqHjSkDACcgoPIz3w0Dis/zJ1wyHHHU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20221017161538-93cebf72946b/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/mathgl v1.0.0 h1:t9DznWJlXxxjeeKLIdovCOVJQk/GzDEL7h/h+Ro2B68= -github.com/go-gl/mathgl v1.0.0/go.mod h1:yhpkQzEiH9yPyxDUGzkmgScbaBVlhC06qodikEM0ZwQ= -github.com/goki/freetype v0.0.0-20220119013949-7a161fd3728c h1:JGCm/+tJ9gC6THUxooTldS+CUDsba0qvkvU3DHklqW8= -github.com/goki/freetype v0.0.0-20220119013949-7a161fd3728c/go.mod h1:wfqRWLHRBsRgkp5dmbG56SA0DmVtwrF5N3oPdI8t+Aw= -github.com/goki/gi v1.3.13 h1:h/V8L8aX/s9Vy3z9noPpdl5aB+7n19v+Hqflj8rJvJY= -github.com/goki/gi v1.3.13/go.mod h1:6NKpx0Vb4nJgTsuLOUQOtpY3GSmsqqk0TuXIbcH79zc= -github.com/goki/go-difflib v1.2.1 h1:zqSi9rTf0vYFia92PaZeKrTfofGVqku2WYOtfsUYqxU= -github.com/goki/go-difflib v1.2.1/go.mod h1:uZuY072AYTnMjRxCn6IkpZQKRVcTj4SIpHHXOUGOxrg= -github.com/goki/gosl v1.0.11 h1:ghnHWptmfsxN1K3izk5AxDzavjhnV1GV+68v9fnuNfw= -github.com/goki/gosl v1.0.11/go.mod h1:DR+Zgrj1X4c9Ym9abqPJbLR0aWLwfXK5Lh0jvwbqkDw= -github.com/goki/ki v1.0.0/go.mod h1:X+gmVeAym3JDSbbiA7iF1qkgAlTVWl1JV9sRsGDzxOA= -github.com/goki/ki v1.1.11 h1:AjyHwgRtA734bROWb3bB/3fB/h1K5HZEoKfiitZpa8A= -github.com/goki/ki v1.1.11/go.mod h1:8CF/Hl5lI5x09rlPLfJtw9w2XW/K6FK9eodjpeAKmNU= -github.com/goki/kigen v1.0.2 h1:I/s/ce84wiP99CYKdju/MVjY6jzvAL3d4XobERsK1JY= -github.com/goki/kigen v1.0.2/go.mod h1:ib29cR7secYGaGXWv68WDq83y5tfRMh7dOXi4XRsPOM= -github.com/goki/mat32 v1.0.14 h1:GUigODaCiGuYv7ZWmymjoZD9Z7sckLAutqxa2LIX2Xw= -github.com/goki/mat32 v1.0.14/go.mod h1:6tOY3oXQLGItoMcA6nhKwbO3EFXZOo8l+4eIotDFG/k= -github.com/goki/pi v1.0.23 h1:CYPYmh0YNhrALe/dB/XP8vEMwM5v9Z5Ruu3TXgJVwQw= -github.com/goki/pi v1.0.23/go.mod h1:YFfuigrFzS7BojGnTNMx+YjCqQ/UEr7cFne7bpoisfs= -github.com/goki/prof v0.0.0-20180502205428-54bc71b5d09b/go.mod h1:pgRizZOb3eUJr+ByZnXnPvt+a0fVOTn0Ujc2TqVZpW4= -github.com/goki/prof v1.0.0 h1:kDkH1t4FpV7XYTEp2kJeQbI0l994bXg5dTzKw7hysKQ= -github.com/goki/prof v1.0.0/go.mod h1:ZXgHpbD8QVu1qp0iyebeZ13WXlWoaTYsggGDl77C4U4= -github.com/goki/vci v1.0.1 h1:tHtx4LzSNM1WeAYVf3e7hdinZmCizJMkE0NyYX/eXp0= -github.com/goki/vci v1.0.1/go.mod h1:uOQl8kDy2Nb7MEY8cyz72ntp2PaTwJkm2GZNKrEKHE0= -github.com/goki/vgpu v1.0.21 h1:48Gezt2Qg8ydqZVs0FddOPg0EPqXhmKvJ0IcMdjOVOU= -github.com/goki/vgpu v1.0.21/go.mod h1:UOJ/H4OiuPKQFl4yvPHNMpzH2JciRFNQdcIdLSSPfYo= -github.com/goki/vulkan v1.0.5 h1:RTNnHrZ2/iDusOQeSIXqXaKil/JRDzxoPIQmQjcUJz8= -github.com/goki/vulkan v1.0.5/go.mod h1:xPwQgSdRep28xG1Tn4yysNGFORyCsAZcf9DcljIxGRs= -github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY= -github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c= -github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= -github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s= -github.com/jinzhu/copier v0.3.2/go.mod h1:24xnZezI2Yqac9J61UC6/dG/k76ttpq0DdJI3QmUvro= -github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= -github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/srwiley/oksvg v0.0.0-20220128195007-1f435e4c2b44 h1:XPYXKIuH/n5zpUoEWk2jWV/SjEMNYmqDYmTgbjmhtaI= -github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef h1:Ch6Q+AZUxDBCVqdkI8FSpFyZDtCVBc2VmejdNrm5rRQ= -github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef/go.mod h1:nXTWP6+gD5+LUJ8krVhhoeHjvHTutPxMYl5SvkcnJNE= -github.com/srwiley/scanFT v0.0.0-20220128184157-0d1ee492111f h1:uLR2GaV0kWYZ3Ns3l3sjtiN+mOWAQadvrL8HXcyKjl0= -github.com/srwiley/scanx v0.0.0-20190309010443-e94503791388 h1:ZdkidVdpLW13BQ9a+/3uerT2ezy9J7KQWH18JCfhDmI= -github.com/srwiley/scanx v0.0.0-20190309010443-e94503791388/go.mod h1:C/WY5lmWfMtPFYYBTd3Lzdn4FTLr+RxlIeiBNye+/os= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb h1:PaBZQdo+iSDyHT053FjUCgZQ/9uqVwPOcl7KSWhKn6w= -golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= -golang.org/x/image v0.0.0-20190321063152-3fc05d484e9f/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190703141733-d6a02ce849c9/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20220413100746-70e8d0d3baa9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI= -golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/grid/gridviewflags_string.go b/grid/gridviewflags_string.go deleted file mode 100644 index 2de55ddd..00000000 --- a/grid/gridviewflags_string.go +++ /dev/null @@ -1,39 +0,0 @@ -// Code generated by "stringer -type=GridViewFlags"; DO NOT EDIT. - -package grid - -import ( - "errors" - "strconv" -) - -var _ = errors.New("dummy error") - -func _() { - // An "invalid array index" compiler error signifies that the constant values have changed. - // Re-run the stringer command to generate them again. - var x [1]struct{} - _ = x[GridViewAutoSaving-24] - _ = x[GridViewFlagsN-25] -} - -const _GridViewFlags_name = "GridViewAutoSavingGridViewFlagsN" - -var _GridViewFlags_index = [...]uint8{0, 18, 32} - -func (i GridViewFlags) String() string { - i -= 24 - if i < 0 || i >= GridViewFlags(len(_GridViewFlags_index)-1) { - return "GridViewFlags(" + strconv.FormatInt(int64(i+24), 10) + ")" - } - return _GridViewFlags_name[_GridViewFlags_index[i]:_GridViewFlags_index[i+1]] -} - -func StringToGridViewFlags(s string) (GridViewFlags, error) { - for i := 0; i < len(_GridViewFlags_index)-1; i++ { - if s == _GridViewFlags_name[_GridViewFlags_index[i]:_GridViewFlags_index[i+1]] { - return GridViewFlags(i + 24), nil - } - } - return 0, errors.New("String: " + s + " is not a valid option for type: GridViewFlags") -} diff --git a/grid/install/README.md b/grid/install/README.md deleted file mode 100644 index 37156fbc..00000000 --- a/grid/install/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Install - -Each OS has a Makefile with targets for installing "official" apps, and making packages for the apps that should be uploaded for official releases. - - diff --git a/grid/install/mac/Grid-dev.app/Contents/Info.plist b/grid/install/mac/Grid-dev.app/Contents/Info.plist deleted file mode 100644 index 726cf047..00000000 --- a/grid/install/mac/Grid-dev.app/Contents/Info.plist +++ /dev/null @@ -1,67 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - grid - CFBundleIconFile - grid.icns - CFBundleIdentifier - com.github.goki.grid - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - grid - CFBundlePackageType - APPL - CFBundleShortVersionString - 0.5.0 - CFBundleSignature - rorp - CFBundleVersion - 0.5.0 - NSPrincipalClass - NSApplication - NSHighResolutionCapable - - CFBundleDocumentTypes - - - CFBundleTypeExtensions - - svg - - CFBundleTypeIconFile - grid.icns - CFBundleTypeName - Grid Drawing - CFBundleTypeRole - Editor - - - UTExportedTypeDeclarations - - - UTTypeIdentifier - grid.grid - UTTypeReferenceURL - https://goki.dev/grid - UTTypeDescription - Grid Drawing - UTTypeIconFile - grid.icns - UTTypeTagSpecification - - com.github.goki.grid - grid - public.filename-extension - - svg - - - - - - diff --git a/grid/install/mac/Grid-dev.app/Contents/Resources/grid.icns b/grid/install/mac/Grid-dev.app/Contents/Resources/grid.icns deleted file mode 100644 index ab9977a533c215e18d2dc9536e4f517c1d8c31a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 545954 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%0A_Gku9KtNhTh`KQ!>2Z;-k703PbHK6$8 zVFlsS$D6uaYj`o&VvLxgDP%f8-`Myzl%3Q}6yFnAh#0*?X#oP>k2M@Fdv{SlKW?b| z&spD@EGDdHOC)vIoyeIED?g)h+O5yl+N|?B*>Yv2IX>h*UoNy#@H)!Ee1LG3^H=2K zj}jKGmAAU3X!BR(l;7s#46Z{i#`-aQsCn1}HIs*ZdN1sV9a26CC_!d@DR8{bmi30V zcB@2NaB#e+1TQ8Fr&iUzypA3ZaA}#u?rpA4TkQ{1B2hS?{cY3N!_!~rr5D;1wi`C} zvNdM%6hlmuN9v{~hT~&u;U3Fc7Rm0*a?+ah^E1&7Sts6bozt$+UG7=dbWB#SYdc$a zfAYd7=7q2*8%WiUtOJqX1ij!}q{8FWK@rE%^7()?0`r#4{Ziz7T=aWeM zqRkni`IYoQB0czY^9?*m+F4y8<^yb(ZE$N&OG{x4m1uqMv8Ivv`3d%NVyC^EZiw=r zZJyc0qZ2`M*45w*yt`!_cCtHRfIsrC?6CMJeuD?d-#qyn(XS_8q#cT2N;swN5+C<6 zHNB(;``l&)N=>MW(u^~RS~_mbfL1;Ad5iJYybs+Er6$Rub98>lh$Md1CR#{H%*SWp z5Kiov?j@upOW!jIzU*+c(cy1`nDHO4H9oo5OP46!IenOMO)DWN zU1U3&!+kziNka??M($Ya4=A7QBpV+Q4x@Puq;II{->wO~jp$e2 zdePVtue~+>yO*U*ZZeZe?OBc&q1CAc!J;(Y&`-lY*Gc`KGQorF_Kj(nZ0&|aT0ghG zcJC+6xK0>w2$mZPbM{poZs{|IDAIMeyt%8Xd{C8Oc<4K?UlDGhY#@u9msy>8264P; z|GCIOsxNR$82(W`mcD;T6Q#EMpI6kXBSWH2l05wx13Oy1(}{?AGq7}2?@E#bwZ{^# zD8I6}X{YP~*mWHYS5Y7ZT0PFoN}z7*l{K}ShMmXJdXekm#s{5s#TM*}u%mTtA_7D8 z5ZDcx@h(Z41$8CNmR7eH-P>1nk(YsGpX{aVv?=_ME$1tNuJ7 zmslkxg^c=hh2H(5@lbr-PJ{EjNPQN|K`ZUtiX(TV=H)UAc6+LQU}eK8zqCO{A+_`S zg4#5N$eLd1>{?n!g9z8H^eV%GRPn|%ZrKfLhT)ukn+~+1bOgV5>Pa|*Pycu>!3^Yb zvlxTCsE>G(Agu<&jPD@={`-bvnVt~FH5FZ>g#?fRkiPja=Pz)xs! zA5EKz;STZV(}3)xe86*t^VNZvE_)u7;aVqoQbTGS;@biU zder*M6qP3bGLf)?$w7-MR2^G$GFrC=jm_f0kdb<)KZnEO)2VShjVc=^kF4O3&$obE zR{}#ueUYIK@#e2BM;vM1#!r5=Y2%bXWNzf>`xw->eo;K)P5TV|)ETFC?!(uOA5A=Z zC$PJCHn@Of8O&J7l5Fd!-O z6@F@+DmDcC$iGpME|)Y7v9sV3fFM4R_@JgDi;Y2!0q(+=Afgpmbh!8XsaB=B9 zeGe{>Z6uT>AdspAOqkgd@H?%A+*@S`#Fr5Q2?~Qi{uT+^g+M&GAdr1i2t+Ug0wHn! z(xfg7?g+EemA6(_hOmI^Xpkoe1P~-}4FUXvAdo};wg#?26c8x>*ZNxorhk_KM-piV zLH>6ceQ^2rBM1Kft@FrVu@KzEkYbAv!I3IF~h zKt6vV1&`L&PE*%iS6NBW!s$JSnWdAt6^HkG=fAZe!rp@5>U%49Gg|NW4vubu-Xiq> zDj^82|J}?Z``{JT2%O@!Xo z-Q8J`lhez~i^GeD!^zc#^QC}*04EnWCpR}cSc2Wn$I;!)o88fk;h#qSqaA50Hw#xg zXLma%N7}#bnwdL!xQo!!|Ly31ef}AzyPfra_T=dH@52HQkn`^z&X*iqod3IOR^E31 zhiZTK{8Q~;$MsKl!hahRRCTqp0tfteSfVe5|JA|&Z`*$k@1OE-t=ya(JpLBfa7e>pe*ocMoj1<$-FhA`*<$KG3Z#q~sQ+KsyhcXw#q z-Gc=U7Tkjex5nLqyCirZxCMd-x8Uv;+#Sx-zyCZlUt(s}TK)2@J|(AW-?jIB{hwJR zj#|X$j`Y8sO}t@Fe%mE|8uVcBUe|q&A!jPAb%sZIUo3k{qo`lc6dg;@%pQOG^#sME zy-X}WKkAL=y3eIw)@w{wz2AN4%#&$gX2#LbleCoHHO)~8#Qy#p+Zhx&(n%0h30wK$ zd1e1uZM}o@Jm6dhKd4fAPR3gMch2Z=O4h;t_?Iiod=;E?QH1~3{_pI8(lSYNUu>)` z=FR`pz!(Vo(FFvd_O`D4VAVMm#!0PkR>Ct2vHzJQXXdCbFHLX{lC?3hdkzq>GR$xl!mAtgPuyXAV zEsC8Yql~6XBORScdQ!T(ft!V$l1)tVD8ufXP5{$)?B2EFGVM)O>zhqJ+m z8dRc2G~Iip4HHgcDniU4Qln+WeGFGT!edzliIt$sERAUSmkxU6ddf6sh{)${89jKL z{e83A0)08r*^olebLgoH+BfM=T%J=<1UD8p1~=9(%Mo4xY_Z4a-@o<YFqS))!C(lOpFac&v%fUWD2 z)bgK_I61S%Y+JhP5TSRf&oV|)O)AR7NIgvn^uAytI*i+AI4zeWhih)qV+~p2Qnq*v zqlm}MT5fhLf?|_*gs4)+_iOc-PMLuMxw1adg~oASM{!A{358a;-C3bcAL5?+;CHq! zzPcnW^pe0s6ZJ}a<*p)$S-s7p>o!xf@SE8}wIWjXy~%@;GuDbLV@txNycfHUNb$J2 z-Wab0AUEw-H#5vjEt7#5I$XN%6+gz@xO%Z8#C%|+=jz)mr0!iB=m}LKHr9Ds*5wGV zgr+e6YofMB9w zBO7;+F`|JUhYqd8n(i`779N535h}h`&rpO*x*2n=0a+Ev_DD)>=Bl=BXg>} zb@X3hLU3r1RY+lkkS#`1{z%4CG&kxrt&1f~e~(mB+Xy1W##Z|40D>#Qe5&=8fdq`B zZxR|#Q4JeArpR8Q3U5S5%+zHz>52YLP1SQEMsR?L`A-C9?|>a1h2fsMk!U z%tc*tPcTMUWgA^)l9~KrmK=JYskc=Exd`|4QPO!(o&O5qCkZJc&q%L6lh;dDQ~J@8thrGT{6#yafnIK=_bEGsZAw)% zcq^Rt7+BbDHGT#mwQR)5|@uuoU!$4-U_@*Gv!m53v;8v zo!y>w(As6UU=t8KW@2U6En-H+Vz$sOMx34(jVQGT2X)bxx;9t|rIinWk=;mb^KfTH z@Nd7>Hh*{)cWBiN$ZcdwUcnsi=+t`0$EsM`ZNhAKrl?ubm^GmK@khlp-#Cm*hr!Fu z7A|~1$%k2W%M#-7Zyazg*NE6#eZ^^1t%bY70*Vm2I1m!nv4gPR2NQA1GyB?q-UM_A z&}Xm<gv|jM-hFinBK8-ElJEdd(sah zE#1JFq{{;zCDo<2?0!kEUI-Dn7&^8rT0mjx80|nlE=_4`HOmmAIFNu;FYzO-53{gECksh=9deS^6q)8p1wy!3ZRN~KQy6rKuf}5V!wT@4jAYMp{thlA!}%Q-Ywk_C zEMobkW{lI9EYzi_Jmac~&ucF9mGaZH!EPP=Sr&+|{3;!LV?D)&iw|g6NH3_ZsY0M4 z@*LhV=}o=T@lkhy_$#zy zVYh}hopE^bCopEtBZy5i@niduwrVwyXWGEcUz;^l&}O#GXsc%$!GDX}TKV$2VdA#F zmH7TUpeVk?p~j|Jtyd)5Zua9wo)j((jo}{4a5NF`_=WH{%`|hNIrbkv=WAGlS*$V! z5w>ZjUB9XXc}uRWOWj2`38dKHeRiY!g|YaxsS zu8)T^bFVw|t|~*_!VElpD2h+)XDnVh+SJibW zA}Nw+f$BVb7u;F|wzBii!3 z5Dm(ZFk}*d5x7H(tsKh9z7NY*DZ_qT?n#5;F()JcA;l`rjoWEp#gs+G*=tE~%a6Y3 zyIZ1D;K568L!tbxxAd!%E1#`#AJI(E=b=<&S?hjZoOBN-x-Z`pYzoro3nU6!Xg;^B01OA<6`5ecsV3;|@-R-4O~EQ6fZlxs+=OgjCMf;R7(l zQx#&Rg!qERqXW7ZA{2I!oXO_TBO)?SLc=sGN|Piwz7MzXMp)cC3UY#05ijj&j$z2J zP!GKdlF|7iY#4{SXkNFM!M?UqevSWjo3~DUo$g~J*=49iXSU4*IA>PfpVr*r=Md7( zvIkhw284I8D(y^F(=Rf79DPNdMI8o`HOU<^hqh}k!AJdE$qA}@u^kveb>p991o6U- zFC6HcgkddsT~0yn9q!9RJ*(T+1PMN5wBv=2KfahautcI5un zAM_^%(|IucRLjDXDRsDxdn86bB2aJf;D2xsV(3z0-D2sXNr1%6lp>+imm^7+s;KU( zWAh_q@gCcdMBDZCAI~q`vQogp%8P`jOzyX+t5zmc?92T^KoN^F{lzZet!}os-J-rC zwD!WUTJVB`TG#3z2y4TtxmBTozYPUs-(t>$_?zV@&(+N_xuH<$Fp8B;4u3w+Ps3PK z-gTIGKSLzF$js=*IjX#o-AWF%t-=kYf%_eQGua*mi*&cVep~(%Kr%sYXL)9>Qr%mi zAVT;Obb$gPSM3OG6u!w9jtjOFcORjvrTl|A5HDC2<3prI-5DHV6+|n_NOC(i8uw74 zK(fR3Q$CD~LIe{g;#7i%dn6$Zxtu=#`Y+eG-T@b07D8VMaeS6hCU0-{lag`IB!$liq8XNq zA+y0@=9WZ$tG(<&f-zrm9xAmB>xAoW^$FGre z7zRsi2Uwx%&G?md|4?%Jb-QxqNR)Z=Y(-1_@w6hXEu1noMc*+ChQu)S4@pOv4C6#h zoVf<-Z9N`Rkf{tP@^~8tp=%^`?5^To7Xtlu{z&~1?LR^vb9K{oC|v+iyvlva5%NGI zn!(5weH+L)2>dC9!3g#GO-R9eTSv@PnYq2yv3`z4!`r1-0Xd2CZ;DqJ{Q2wLTS|!J{V?TS9KK1wZ(HEg z7SynXsvpJRK1PW>F>H>CyiHqcMzvp;^+U{J6WL%$@qJuA{>phbQB6rC{rd~|O%-CN zUppUb@N_p(x42tT!Tip|YD)WqMsrDJ#4q*SLd%b>(`Oc+|*_Lj@Hf!MU312~(+Bd5F?`la-3k$roo4iUh=00rxdZ1}?Q38_(_bt6#ElP}K z@Rr`Yk1lLBt>ZhDPuuXct6>-V|_}AzymuI;P@?iefMrIv;q3Y`?Q^*G13e zLzBn-iyb-Kgx5jp*mwa%it%5*bW=t**x~2nZ|Pa0H*Y^TfTi$ngImGNzT1-^@&14N zHJdFcLr>K}aw3wQpW`BlwRiGB(AXZN}`RAusbU=X{SpB*bmDoz`9^=arEB zNG~Sa<6!4sIKTSCqkVJeh{+KqW}K;F9r?XRD{Si4!n>sWveBO8gN^3sKD9i!c&#nENOizo11 zCsl6EV2C$HCoVK_yMebG>r%@V;++1XGjDdkQT%CgOY+BYUij<#LNPxZtE-8+_4f7@ z*nyYxV?R=GJOtjCQB&$!M$EhC-*DJ!13%-+yd51=qqbi8Jx3#k5M(V| zN&@fuWOscQ`9uNlwXvHGG;t%eXo%N28VTnx)(K#uM^vv78}!bjE#jD8T;1Ih@3?8m<4rVTs^q-s9jAw;(*2tap5idO<>r!}dVBgQ=q zrQ^$2Z5XB;=biKNp}rM)*8@FjbILAn(v#1ftxTKr6Mt?y{T-bnVdZBE((}I%?lsX8 zT79y}Q_;JH&;+-0*h%a7>%X0BByO$}T%GD`r1`*Xdaf^wK}&_(-}-PI)*w&!?SEUuH=$2FgSd-Qn=B`#ot5n90WC|1IsEHq-Pf8Nz?39uG(lPXxt`xT(T}(Lly4FZ)S}S!Co2bPl=J6= zLdhn(4kf9#^vFoW$6)<~G)0$<_R&$jW-TMg9ue62|AjMf&O2~BpygHvWcwdX*%_%! zQCXZJN{V4NKBW7fuP`>Qu86)ZRJRj?jOn?qLz=riV2;6n< zOPy*x22cRjcq|P__Vn{g&oJY_gc{v$=g(Y+Ppa1vl~7($4SQJgv+#f20PP4SRK4pi z6Efih!;)$4m~qHNx$>>VZNqcZ^wzGUXZ9wvYm0Wad(6iH?kudJ_L|6q0*{Zk5YjmS z>U1Q|K&}e4c_am~cInZ7+@qsB{+})Y%b+s-h%EK6bWq8MkhcKrj_ExvuawCk=RB5o zoLlM55Y5yE%Qu@J2M8eL==MFkap2~zs~l=x-}23TV`H$z_qwa1J(RXU9pg~ze~FEi zn%&s|xx@ymgqWL@u0Y!$0QHPQdc!yQ8n8i;3w<#|YEF>e`&D-J&uC3MrN+{%@ymns?T`&6vj&>_5{sqMSm3#KB(?N zt5lg(MzGce>FO(m?B5u9ft+2$px2nteF#!%ujjR$F{srin|+;3K4kZAV4@3% zFQAnonGIlU-*s_9#}d;I?)b)yqNUDK>t&YV>km43?I&9Y4#~)%F%&(2+q>(!4<%)P ztSlTB#fhC?)AIQ@v?mKGY?Zvx3f2j1cgltg5j6?8d?3JTE;slYCS9xU;d zswk)(=pR4?O4>=EC^lUei8K34J%pNHUP0h~Le@yB8RXlFE|w~W)J?~!>aI?t9Bfh6 zPEy04*KDJteHNn?L7a(L;t29-LwcSt61~}S8-DagQ8SaYK@AUO{=WqCezp6ssWE)+ zu&PZvGBqoGpW{eGXkr}GYX1Aik*9i>=>tQuT^l!;YO=%Y{Wu{1>AFiBbz17|)6#wQ z_v8oK)tB~+>H-~`jl(LM+aUrbgev%~Ado4Y*6D|ru&c&EAO#LtSH*y z;p23;t{ih$qDH6pW9Nv`a9afw$0<6e81)`HIlGc6=(DpJ9u?D{b&H(_GEG9A$aofO z1Ae)>O7yuC5KMNjWDb|RNM~o3yAkE!{?Q=bXsnG{XNI$FbVw*W;jKcNIHfGeOwBW# zA00Sr(g_FQgTR0=;&s=tg0I!}-JV-=1M7}0^s_@4SW!0 zLteSH9m#PPK{9^hgfBzHzKj{O+B0t@-qn+?kVv<**Wuze-daLyXhrry`7rsO&j}Z0 zLzPaM&c)AB7g}tnFzl@a)oDekA@}=9n=YQ$o!cequ`ELZ?5n&{!=&5iWh@hwD3{V9 zF8JQ^oIOG}`W;Es7nIyWcMC@N57_M~XWo65x7w=6-KB~xN>v%R8KMjjqDfOa?9CRe zVja~4`mmlUi=^5bNn4$TAhX+3@y9`dH*)x(Gf7FX(ita$6MFO2z~7WiV){nEv|4kA zeT?d&$Biq^%GHCyU~#o8 zu9By{gFzWChxO_2SB$IGM`1g|vd{=Y0%G&z zU<-x4{f`NG#QTP!+@aIed+d`Q$G0X-=ljCe9n2?5j&@2YX|&BN>%ODg+S$aVwFP77 zqQ*mx;gLeeg9Z~G`6pvHt zy!Ch0j?*dgqQB-92aa7yE7G+jqr4fMm?OZ$Kdkr4U%orhRWu?M21)T{jSWSk9qcJ6 zOpIR5`?e9-d*LD|S-`LvK4kgdCq8pcoAb_pifPeld7mZpc=7X&ISKpo8zUGPJr+*s z^n+Sh{AWycYuH}6KUM}NjSoCwLEpu_da^5j!y!`eeb+l?%FHu+1UdD>*^vJ4WVKQR z8tk-ID~EHEE8)OQ>Uw;#bS^+wLeKwkR4{9280%*UhyG5JQ&~j1)?-w>9 z>!ev@DD{iMf2L9c^K%e|Nj4mA2@q8Gu+h{6#W)IMC94jQ*sQE1G;bdq>v6rHvO zH?Q3N8h4Q1C8;u5<`qA<-D^$DLg-@YtF7{9AoW|4Y9Lw(zia*=V~D9)hbURL5niGp zS11%U>$SCM<)NREC3sbaCS(g|;n?VSDEll@3$5hCkILZpVCE@Vo7HoYnCr~RGB;-x z^1bT~Vv#4QkU0<%4_U_{Rdjw=UGme<8W8 z(=-y|8DIBWnGUmOu9t#aGhOUK1rc}>WxJL_JjBD5^JVtZxAvTTx^SyV*5tq0ZSSZO zREbVxBt2NXg~0@O^97jPgQPu!8pGtnl|6FYTwplKkSh4T&|*O{xUx+F)QZCg;&&8d zwl_XA=L`|8RrzT&=04_9Wk z6c+_b!@l5>I~T*6nHmIPbKhLNen=bqr9DOwYgyZl(({9{dGmy z5iC0m^n(}6w);O0E4$lksTB`hwOAj@f_4VPbW6~S*}lOKdbRz+*bT!zOr3}SrGlO? zx**|GP-VP~lKT!s7S#Qt9dPYY-)NHZIa}KaiT}v0nH*L74?b<=01H|h*h)&|ggFL; zRC>d7<9;hG&<#Bw$veWAJn=h2t}%TQ2eV-9?Eq_soCDbyY`D<6H5GTa(_gD zKw1-fUM#z-L8R%cv7WF-bNpTTi@7iR5>X;4ovsj#z@43-ZOuFnolBhV;GC}o`VJJ& z=xCaWS0>~QNfaS^i2?H0i%BUk8XRmdM6+*Ca~h9#oD9Vc_;8RZPy2)cDvZ~ofw&h= zpo4uAj=^~k?hBjov*o{^8yF&&M;^UjMb-QjDYuJc3S=2G4y?-}B!17=d4ElT3Uu<)5I#cBCEz zhNYz15~-R^hYCP2{&V%8cqA<*6dDFxPqMwVq(wR2KnE>voeIXkdD(6~l-7#Wu%SlI z7-}Quf$r6!FP%QgAC&F<*)4qGl|bJTHGNA&IV_{aohZ<@26`wFWz<2o zy*uFc(FSP}cQYf2hD@-{jXqn^TUi%GRV_h{#CY5baRDWMsA(PNaWz!LCB&Kh0idfS z84MLK{8M7~<|Q=&t+bsfEpe-q#Tt7tW6PVQoU&ReD^UBl@2J&Z1^8lgSEac3Q1k9X zfVK0cVcD$|*Xyop(@iWWn-d=%l=;}!0BNQR|IHZg@IKHToz%cU?x#pIz^W-H1O@wc zJuYU7K7mTReKOJh8RM_~d+hH*gzHLHpj9y-^4ucQN03h`Rh;pc@_o2$yZ9-=r0|`k zAIXDrGprvtruSz7)qNOKY67U54@F-;Xi&T&3({`(_9(%8IxJ)pmu7vOaBnh$~0`3;r?b`}5C z>gR`hw9i2s4=3{aZ6x!Jvx%Q`;8y+nkN<$XS<*iuPLA~GIK(o5zfuUI9Y64Kq*L@F zTvm;0yQmEK-fT8$JW3dgj$pIRWo4KP@KIrd5bLkzCRbSt9;W!KVx>r7J(^vemJ&>U zt7UeZi4h@BmpZh-DLi1?px6AdDv061v~Z<1KJH=ZH)9DyiH-LgocNRkxgJw5!3)7D zQ#~QjwvCe}O4g~ax40JW&-{ZEi-1$aBZt4cwo~?%c$6)wb`FG{B~g!5286fm59}ZW zwG|!r_SlaD3}}?Sk-r$6-UNK%_8|pCY4hDLoG+MDuxZ*oyGRj7yMLf@yfd4mj#c(R zLf)1_1bvuadlB4Z8NEn8OFV*#MGb>A>^bF>}OwUqBb25KHe2cn3zTjGIc%6EV zd~S1R700v>t`VYrf`B^xUN|j^{tC4lm#suoR|ePJu>IHZPeXzcSukPDaft&O7e3jCoG21Ybc2$1BE;(|8 z1yPvm`Vr3@_I^H3>H?$yU6 z|5YfG4nYkN@vIajv>UhRiJe3hG236df6PzcO-e z(wlG$jl?SnsRbh?oWH$zYfvm_rdNNi)lK-Skr<=HOQ7Dw$VH`^@}o!aQfG^dNRAlo zGYmfmQ%a)Z691a$@DM}o{m~yUL|69D28g+0@OeqTKW`8A>Yhc+4Fpo&46Pq5lk+GVrd!mFG`1+5C9vIV`Cwt! z1>p-IcSRoc9dODa-skd%vFUcpXZ;lmC@GlD#%B%aPBEfZwKH3}uo>2Q4CJ@7e1Jaz z>3xD(>BeFHO3e|JwMTokTXUW|z@U;Y7>i{$0UOsa2;~2AN6D$2R8sho7x!VAKj8@C z02+Ife!G$|l7GjF&wvPSc&h!Cqc3;#m7NGxa3AsqN?*09WfUy@@kr?munGV(>adiL zMPD8k>&^<0c+ejx!;p6WRNY^W`mbn6ms#$Tc(|xX zM(1z?pJ@^|4Ey($csFqObx{q1e9Gt8rK^D}GsST4R~fbE<)yoxZ=yaXVt2Beih9ND zcV3fAEBOE+0iA!j+H{g0hi-N1&|X~fIz3S*sX4fSg4V9|$`IO&G# z&4hU5lFI3UlSHMFXr99JVHo|0XZ&2%^h~L(zJ@a3bZL~+Q7w-Uw4d7HMI;7sTgo)=qLjc)Fn^ukk5TSk8e`QUe&`cJG2}1 zcjU4VZ&GVvy_YJCt;l#a#YuhSKD|4=5YMIHtTN-f1boZMbcUsR#A)oX;6EG}+E3cm z*zVig9*) zj@LwN4q&9_tzN2wZTts|Qd#f@MRxtEBJ(DFW=-cCD#ZO%A#a(4NaezK^~`6jF1Rth zY4mca$4?j~Hh~}+3>R!>Kz$okd|bwftr{F6QhV6*GT92Ia_Llr_*`8!eCsmOjUUE4_`u&UdRK- ztZ<$Z`dCT+Sl+odAo|#;W@oP=vlGmpk^FfeV~Q~GKJbZ!F5lHITs|xY>lb3jZf9Mt zzo%cBgF*Z__=9T>J$8!mao4ggdO;1jP<4)}DTo;Lm0cUZm*9c*-nnNQ+4H>xN{J@$ z;Yzy6Gr(3aAJUGrW0Qg&IS9ahO2&JWO+>d@*Y%w!f`$}>|0|@pw4)!A#euq~OTOkV zjWY=548{kpESL|3I$`@CVB#m`L!&)U5fi1YTEd3EIUo$hqdy7vi8bTH>1le%gUrFM z$1q5LzujmeOnAOFB2lQgo4w-y;x7$$P+!+d^~^*dXnVma2u>t>9A5D6h*iavbNSU7I!{Z=|#DSI)GHF_oLF; zNsV=r?77P?xnQZ^0|))(`LuFcd{*XFY`&JM^tesZpq@f{+WDUOi{sAx%6r#>4 zylx@ET022Cs9M(MTxtJ{)BEW>wlaD~SJw{203qIoKwObYL54hABm(X2XU+)mp3a}5 zLDjOkFlGiPv83Ho4D5rGCSM_<{z|$6R=p)SXC+6I<_>F9)GGo%h*hBmW z%Nuz&@4C!yoH(t5ut837R=Y@zz@U`W-395l+3TNml220%E>f$wdVx$>MFcf7br`3@ zp3Kb7xk|`YQbId*WnqhFN$wA>5F6Z#j{7W(Pw@3_l5 z#B@5#XWw!;@M2vJo2LQ>hsT=p%_awWBl5F&pQr1A$W7zb-Y3WUjyz=wUO&SVc8;2^ zf7cy3o$B(w5msLUSd6aB3ncgwhI{Avk)=ipQQffs=0Tm$Tz4LnLOz(wQ#f}0%z>WH zbQ$tL6IDib?yFKTezXbDeDtsjBT0Ag)XWb!#pXAedEvAKj1;~kvZ_q0}GOVgX7uW<$MqLr_cnv+<^H$%V5xI8va*YSf--;IkzUnSf|QaF5vYod>c&MbuGys4x#1 z!6?8+_<>~rEz@w3u> zHdBb)XD_?O9Tz0CfM5%x`yafrX%pk`zN=js5i<;J6AwFCgeuwh6UJvL=M>_M@#DAH zRWdM8h;P;KXJ|F6uybV?@uH|;hyJ;J5-fBb2?`|wC93wd8!`f}(74Kjf^@NVUFo_@ z&xD6k;ADf-bdZM^f!G$kO7J}*Q>*CV!o2$S6;*kZ&G?J6@sr3uaP@aof83dFn~iWr z>o=sgpdD;Eap;0Z=a(M{FSGl~=>k&oM$@|owy2Ror_n>xkz4^#W#tuP5q)q}rP5x6 z(3@3xZsyj%yjk6dERB+qGA+%PaDq>BFzJHph>uM3$!M`+vI=`;lXV0cA1@ZEl%1(ezrA)nrk{cLJ^H95cc{L0`~#{{W* zxNXee+6r_=vnbO->n!c3UTVtJe@QB|R}c~V6v9I8SugKSbnHyUkt-ZC6GQxouN8x# z)#s4qXtgF0Y|zjzxaZeme`tKdy7D6vkfIt=E8Pq4Tilu_-~o27dQ7D|T_%aDkgoX3 z-;lDpcPH=Y_p(xyz`|_z$H*0bL*lo8F`C-6Y~e~xi*~NIvBp>s+Vlm0pMWznWKiq7 zL8m~=gPvTIvT!V?2o^Hl?3`Q3Y3Y}RAtGybjIr}W;&Py7zl3;{a+O_XaQr76l=STI zxxv9G+!=<&5LK~hKh`HDqj#E;qK}iAP5QL_P-d|G0Eiv3iS42)!xj7+eE9^fWOPFnytXrE_+T z#hP2aK(I=cZp~5*G~>WQ!;N}N$h2DIDltS^COa+%i1zm!RMffdg7OWZizO*~>Luhj`C<)Qe$xuQ)L6;&on z1jr!1*?(m|DZh9_JYGMpi=gyKkfZjG%@35|IAr@D1y@i1g>__Zgh?BK%X_tmkl^K} z;kkVFX{_`me0T7M-z&iO@51I8yy`>SQ|63+ICh#GGKH(^jgGJWIPLx)5cpa*VlU! zSscS5kWB;z%hGRq9rjEOMD|f{znH)amU)1hAF*;nKs{(?=XbV=R)%%LyH>1+f8-vE z=#lyGm>PDqJX5hd9}y_P?d!*QR{;4y6Nhc_kM)vzv}2QcKQuK!<~cNaW7~FBbvD_c zK=iB*l79s3WewpB4ZJu@=lh$Ir+0Ac-MP{g=P+4tg&aLI>`+kr8IH-KCkmVm#wKz4-Bq(z>9V(!AMlHw6v6U=?7IP92@G*XEqKePj}7 zcgvt zCRz!li582y_pe@s`-f54fJZIT*29KLTZ@z?82FMNbr6O4WuwmBI^q_vuyIm+o2B#Y z+(}L^Z1_?$2EAc-T$u%#wat$M$!rZqx7?Z>3@)A2`b*<`I357C@#QIK9j4SNkKht@U4i8j6V3hOq*)|gK!er zR5_fkpCN3fashWl8(a5IzRiF4@8*39W^XNI%aD3La#a!AF|_AbMwh38Y+x%a;{lx0 zza?QI_;&xNFLS$@U{6^61s2p@md3i0291sf)~&~>v>)lr5FqT=)N~NJr(^rhX%TqJ$&RuEQ2C8O{BwBug(zb{o-yYgB}Z(&ygC) z4Fx`J3|@9I{^T8gyC&98_;i+z@G^jc@h7Iy9!)6I1*woPJ!Uk%%wmmq+X$3d?YzH%hmz+d zIIIT+6ygWL2`vE$EkMuu`LFNuQ+eltuXd9^)s#$$3+Eff?$-3LyFOy}ykLD4Ur{Yk zaUQ&iGAc+dTkn!zu6xe2P+&)uN+-BvB=+(Q@qC7k?gASeeS5&~S9M>7T{OzYU}asq zHyec*CIbB0?j6p%PbpoZ?j*cWsJ$I0if5Xe8UJOe=yidb{e+JoG*`szG=AF&s{BBt z?@mW^Jc?y^?PbY4_^Qol&>Sk-#3TIGaF2N1VFv*uNv@nrV*a!KP)1!bGRNH{1QGn8yILI zvGRWp*YQ9-W?2w$oP4H6={Dc$O2bW89O7@jKyngZzNVU#)~T-p>~t6K{C>S!lQ}5C zU${$P?y2I#7EiKLt^aZ@JWfHER-`Ek&JqeFIRd_aG?V*aAP)kc{VfGiJ@b9%g2Ki1 z!wEsDSA16%P@d7{Pd|0$XGn;ke#Jt1ON56eDk6VDXXA%Vvw?8t5Zi@(xW0sG3)F1WQwU+0 z5uN^oqt(_S9@&x7r~QubINfah&p4r^mV_@rYdbJ%QI4N~ zbpBTG70V{Ne=t_amk$lL`rpnXrSx@I%7PVrT!r*!s+%-4!I66lk%ggoj~^FO-7kr_ z?g(Wh1S;Q+#oTclfW|mk35s%{E>UuKFx!J-9B|P2{ogev+T=7MZZ@FNxSLrjrsWLu zwMlgS3V>(%LB{VYC&KnjFVKC9wJ;hx*z-z)MvX^h8F8Vwu@LxoKY?2ghggF)Q z#4PAf3%khAxd>I5aTUrwS^AJV&ML)pF=Rl3e)~xpBKA4>s zFpLc&5qeF8`vTqbC%X`uCNwhv{j)@;LXyPJT+z2TwcN9a_O;KdYk2-Ye+|TEKn|h& zuZV`Pd`_rRZC`W!Jr2148AL1vp-TPb`Yzx36fZD_bQ~&t|!#0|GNY#Uem+xH^~8=i!Zi4+!MWz!1KdLuRP7E95w8z*$% zbBEdV62#n3=ruPyJ)i2NXMEC|h~wRQ9U$HL#a%YJ^*&IWc08lVB0%}Qr(;zBlm(qA z83@;~y62&BEphhJe+o&IsMVdef3xxHH-Gu%{Bxoia)X6A%Hy2ZZ5<^aS5W%;E*LDP ziSk(F$KMMF!*wVU=b5JgT;moQKQ4WZtsiKUMb?VyfL>!NzR1398_HZezS$iA`!Db6 z4ni)@c#rnd{Pu!u|i@3iNA}m%_*e4Po~tDEeg~iQ-pq}2y-54vDknTYS-^J?(@S5s!(z; zU@FmOm^;nzHT`=T=g2?Wk5*d!FIef^&=cW$ol&#nA*@pA;wvTg$zsJ9nhXV(Zq0wV z)O7z?-sK~`I|(BGF(;8IVGPPtFrT#3n1@o}Z(SYO^hq3)b@v!^CvLCs<$+I%(Vl5X);n01Ms%bTpMlGr8cH{q^W7DwO9d^C4 zN%R$a6)QV6`QrO7dtXZ?jmk<7I;ZuXO_|&DUM6r^silXoz28SSFI@Ci^L5;1*85!p zg3lg!R#^0Gam(q~bpZB0qOW`B%%UIZcTxk8rX#X*=;`pHhTAa&$#CD$|B#fJE^1w#Ukih zOvOc2fGytF_Z#^bFmWd^)L?U53>7*&d9X9E(rZ10H7p6P5pq%(&I~{uO zm5>kOvsHS?TCkrmFgv*=%S5W%e?1XNvR~2s8tZI|64}5Jv$#2@0d>Dh5fZvsr(b^F z>K~oA{(v0Yzfz8t}=&}Hra zgV6tKW1rE>1U?ZHrFMyXqvlj9XCT919s|Pj9ki1#IHrf?d$7X+HcyC`ISOUnZ zuu#Y~D9Yqw9GC)ky&{Knyug>`pMI23DvRJ4aOCpd*s&b=yJGj|6)3wN@@UfX{c>~S zKE()44;qR)`JKJe1k`D18`=P-Zg82yf#;{Ahu2v{BrWR?C_Wc`BDHa_aHE5jj+s#o@Mp2-dirbnl;B$itfZMlV2m5m7@&tD%n2eAW;-+a{MPa^^4oSu?f$>h3#sZzMoXO8 zE5$wpfBswuj>9tLY6OKX&;nsozT*3P(sV>``ildvII~C4Ah4~y#S##xG5rC-o6R-1 zH8+*AKyB!~ig%TmU=w940{&em&B}Z*=GJ{XQ;vbI-6%2#`tB~LujxqGI7Q}5mmt_s74H0a>Z&@PbqFI~aS@>#2RPQdgY{}>(TrW; zo)jp@0C7L{3zi*U;o2xD-K+aN65vI2- ztu-J>G&BaQ{KhY2yutdmGud$6VV~bA{!e}X{KJ=@}S*b^y%s< z{N7`er?Ru%?=Qc2d8?Cs7|Zb*-p32ao%hbD;!*~9HgI|rk9nU)t>$nYLOMpr0L2{G zpZft&3#<=0{PMGaa-mT2C{&q3@_HX2BU3wGDeb&@fjqbT@X#s>JmK6lSRde0`+J~N z)xEp=SR(jVx!(yDSeobmXOWFf!uiE-^MCc`1y3#1W%DdbL5)zMVKm{q2(|YwH>Mm1 zCxBH^-MOJ7f#+gjJ5|Js-z9fNTNhyvINFkG>U&uV%m()A`Y)%crx;4#&UY7J#Cui% zl3LDhBW{#`+1{7sY*Ed2xV=02|7iLOuBf{A?V-E78>Er$Aw)n*MWh=9q(M4{?v(Bj z>F$v3Mv(6A?wa$T=l8Dn3(Q*Q%szWx`@RZd>6@RiIaNTH32iDfSjw=1Y9bs1C#|G? zlX_Gs=XV>Dm9w~4ZX{736x`oC{q_AWrZ};eI!2-<_qy$A*zE& zzyzuFul&j_BztoWRz%uu{R^09|^a_=C-Q4f-tF2a^dH8=0 zuAwM+!0aV^_fv=8gx~l`#vDTka=TxufJta-@j1>|6-pB@{8(Nd@O^Ie*a^;aDb~&| zu|l6GxB>=d^tVHBe_T!H{&7Dcw`<-#goMoLZBy@g+_O6(Y`rgT#sfdw)18=LOu+gw z9q>rUfE`Ql-093_s}B`FLeT)T`Ed+UtxxawDP*N@-!3@pL-Da*qhKs0O#}x+qF(~a zzs`LeR}-+CZxE3>(5ZGXCw}ulf@T4DgJkWXYg&DFv8Gq zZm9m*Jmqa?Hg(uGq|^KXnRYxB8Qr^iVX`L|f4=tBXa}79jD_eQfv>;;a zA*Ot}Q6&Cj+i*EOnJYUIgXr=F15~G^i!T1f=YBmk@w^=c3#2OW2d~&o5o6ZXnDsz* zIS&dO7_iYL9cZj-uCbT)u00a+7SY4vf;Y32gtr8#THtCDlq+NRAo|k_VLmk1Rd+3> zh|}}Yu}1D@%Go~cDD_r-L<@J3et(8=%#38H7u%5nw+Z(kCyhKrClr)D-8w~aHT6+` zgwBs@^p09TeNY-|+=gBz@zZ-V-6B)|n^tA42mK^I2HswGs*^6y!-nH3MAzVn1NHxu zpBfPF~+jbo7sLv@SyZ|3o%9? z%2*023{IvM79_^!*xT+dL%-Q~yAV6x?M@Z9S3$0>(0jAXB!L}b2H|WKlM&!#IrWI! zUorI;v}q4w*j#0BpNQ;zMXc1iXp>whlwtqfUE^Hl*5_m;>?X7CC#ju4z0c~2cc>g_ zqI0bkyRcfI6spOLviHNq;R|$6-v(qezR{<|U>Sd8^yq-*;qd%nmHln!xjsgxDR>EN zl(Fu7R{O`ZKyyw8l#UuCMIGjXCzD`vmS{^cpC2>J{hrs0c^XD~C0@&Ok21sVbmBv( z*PZ++U+<19D%8N^WEmcCZpFJWiLh)?PLfH*qakGVwX11W0I=SK7aRjRn$7DY9%(8& zj>(`fq^;+Ey-FZrHE<);N`~$CG5#DTI$U{)`RJ^kUTWR_cTL295lkw6Kd|(u z&j&`-gFGyY>HbHZ!V6F@T`fJK1?Tc1I2}Ilq^k4k-Tl3m8Mv14o6NAlr(2H=zE_xh(;Xm*_TJ8=q{tz9n;(nAqBvjPotVL;6BoL2;0MPa^ZZ_j*{v7p? z%6kX6bblQC52LV9bkO%8vd`OZv61gNVB31_0BFgaszL(!>H2DMHS1^oBhAT1S;hI1 zc;sct@uSg+J!S6+P47SfdSnQ;_?9c>D1+hSkdF2mTtZwMYzj@qC?vu<3B^CYD@!*6 z{iwA=n}8>6<)>Hkb_gvvzNqL8>C^!}Vnl|cdE7Ph3d>cCv_f;b_9DHZqL$AQTOENg z^kVxz^b$1*BbXkFxjs9aprWWqDtm1NKdyhxhHAn{>Z5i>J3!3wx5i!0MHjeP z7=v+qEz8xPoGKntGaNab%FHgo{y^QLsEC+0H;FUWbc$`j4fQIvIHVBt#4+`1!4(FNnuJB?;WGgQ~Bv_U0$m> z#-ohJz3}2M_xWkNq%!)aLHIraH7SaQeu&w3u=2=+=l1~K^OyeMbY3rf37 z$(IN&a3({$IWBnScO0w6%P4U_rPTaD4h~cct-omh%yw zA%y3xU)p^rOsSK#Q>Q^If+pOP($PY`deD1$3&5qGOEen8^DW>hlxMaNj+);EWcEFE zVlw`&5aZT##Gs`bM?r}PoGDn$dYv+Z>JG+%0D&KWq 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%0Aw5 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%0AX;s- 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 Ozd+Z257hs~`u_)-)3+`F diff --git a/grid/install/mac/Grid.app/Contents/Info.plist b/grid/install/mac/Grid.app/Contents/Info.plist deleted file mode 100644 index 726cf047..00000000 --- a/grid/install/mac/Grid.app/Contents/Info.plist +++ /dev/null @@ -1,67 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - grid - CFBundleIconFile - grid.icns - CFBundleIdentifier - com.github.goki.grid - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - grid - CFBundlePackageType - APPL - CFBundleShortVersionString - 0.5.0 - CFBundleSignature - rorp - CFBundleVersion - 0.5.0 - NSPrincipalClass - NSApplication - NSHighResolutionCapable - - CFBundleDocumentTypes - - - CFBundleTypeExtensions - - svg - - CFBundleTypeIconFile - grid.icns - CFBundleTypeName - Grid Drawing - CFBundleTypeRole - Editor - - - UTExportedTypeDeclarations - - - UTTypeIdentifier - grid.grid - UTTypeReferenceURL - https://goki.dev/grid - UTTypeDescription - Grid Drawing - UTTypeIconFile - grid.icns - UTTypeTagSpecification - - com.github.goki.grid - grid - public.filename-extension - - svg - - - - - - diff --git a/grid/install/mac/Grid.app/Contents/Resources/grid.icns b/grid/install/mac/Grid.app/Contents/Resources/grid.icns deleted file mode 100644 index ab9977a533c215e18d2dc9536e4f517c1d8c31a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 545954 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%0A_Gku9KtNhTh`KQ!>2Z;-k703PbHK6$8 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%0D&KWq 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%0Aw5 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%0AX;s- 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 Ozd+Z257hs~`u_)-)3+`F diff --git a/grid/install/mac/README.md b/grid/install/mac/README.md deleted file mode 100644 index bc11a024..00000000 --- a/grid/install/mac/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# Mac Install - -The Makefile has targets for installing the app: - -* `app-install` copies the compiled executable from the `go install` version, in ~/go/bin/grid, then installs the Grid.app in `/Applications` - -* `dev-install` installs an .app with a script that runs the `go install` version directly, so any time you do go install it runs that updated version. - -* `app-dmg` makes a .dmg with the Grid.app -- copies the compiled executable per app-install first. - diff --git a/grid/install/mac/grid-mac.sh b/grid/install/mac/grid-mac.sh deleted file mode 100755 index d5970a77..00000000 --- a/grid/install/mac/grid-mac.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# install this script in /usr/local/bin to have command-line access to the .app - -absPath() { - if [[ -d "$1" ]]; then - cd "$1" - echo "$(pwd -P)" - else - cd "$(dirname "$1")" - echo "$(pwd -P)/$(basename "$1")" - fi -} - -if [ $# -eq 0 ]; then - /Applications/Gide.app/Contents/MacOS/gide & -else - nwargs="" - for ar in "$@" - do - ap=$(absPath "$ar") -# echo "$ar = $ap" - if [[ "$nwargs" == "" ]]; then - nwargs="$ap" - else - nwargs="$nwargs $ap" - fi - done - /Applications/Gide.app/Contents/MacOS/gide $nwargs & -fi -# wait for jobs to finish so it looks like a normal process -wait - - - diff --git a/grid/markercolors_string.go b/grid/markercolors_string.go deleted file mode 100644 index 7ffdf52b..00000000 --- a/grid/markercolors_string.go +++ /dev/null @@ -1,41 +0,0 @@ -// Code generated by "stringer -type=MarkerColors"; DO NOT EDIT. - -package grid - -import ( - "errors" - "strconv" -) - -var _ = errors.New("dummy error") - -func _() { - // An "invalid array index" compiler error signifies that the constant values have changed. - // Re-run the stringer command to generate them again. - var x [1]struct{} - _ = x[MarkerStdColor-0] - _ = x[MarkerCopyColor-1] - _ = x[MarkerCustomColor-2] - _ = x[MarkerColorsN-3] -} - -const _MarkerColors_name = "MarkerStdColorMarkerCopyColorMarkerCustomColorMarkerColorsN" - -var _MarkerColors_index = [...]uint8{0, 14, 29, 46, 59} - -func (i MarkerColors) String() string { - if i < 0 || i >= MarkerColors(len(_MarkerColors_index)-1) { - return "MarkerColors(" + strconv.FormatInt(int64(i), 10) + ")" - } - return _MarkerColors_name[_MarkerColors_index[i]:_MarkerColors_index[i+1]] -} - -func (i *MarkerColors) FromString(s string) error { - for j := 0; j < len(_MarkerColors_index)-1; j++ { - if s == _MarkerColors_name[_MarkerColors_index[j]:_MarkerColors_index[j+1]] { - *i = MarkerColors(j) - return nil - } - } - return errors.New("String: " + s + " is not a valid option for type: MarkerColors") -} diff --git a/grid/painttypes_string.go b/grid/painttypes_string.go deleted file mode 100644 index bb6f2773..00000000 --- a/grid/painttypes_string.go +++ /dev/null @@ -1,43 +0,0 @@ -// Code generated by "stringer -type=PaintTypes"; DO NOT EDIT. - -package grid - -import ( - "errors" - "strconv" -) - -var _ = errors.New("dummy error") - -func _() { - // An "invalid array index" compiler error signifies that the constant values have changed. - // Re-run the stringer command to generate them again. - var x [1]struct{} - _ = x[PaintOff-0] - _ = x[PaintSolid-1] - _ = x[PaintLinear-2] - _ = x[PaintRadial-3] - _ = x[PaintInherit-4] - _ = x[PaintTypesN-5] -} - -const _PaintTypes_name = "PaintOffPaintSolidPaintLinearPaintRadialPaintInheritPaintTypesN" - -var _PaintTypes_index = [...]uint8{0, 8, 18, 29, 40, 52, 63} - -func (i PaintTypes) String() string { - if i < 0 || i >= PaintTypes(len(_PaintTypes_index)-1) { - return "PaintTypes(" + strconv.FormatInt(int64(i), 10) + ")" - } - return _PaintTypes_name[_PaintTypes_index[i]:_PaintTypes_index[i+1]] -} - -func (i *PaintTypes) FromString(s string) error { - for j := 0; j < len(_PaintTypes_index)-1; j++ { - if s == _PaintTypes_name[_PaintTypes_index[j]:_PaintTypes_index[j+1]] { - *i = PaintTypes(j) - return nil - } - } - return errors.New("String: " + s + " is not a valid option for type: PaintTypes") -} diff --git a/grid/splits.go b/grid/splits.go deleted file mode 100644 index 8d668251..00000000 --- a/grid/splits.go +++ /dev/null @@ -1,256 +0,0 @@ -// Copyright (c) 2018, The Gide Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package grid - -import ( - "encoding/json" - "fmt" - "io/ioutil" - "log" - "path/filepath" - - "github.com/goki/gi/gi" - "github.com/goki/gi/giv" - "github.com/goki/gi/oswin" - "github.com/goki/ki/ki" - "github.com/goki/ki/kit" - "github.com/goki/ki/sliceclone" -) - -// Split is a named splitter configuration -type Split struct { - - // name of splitter config - Name string - - // brief description - Desc string - - // splitter panel proportions - Splits []float32 `min:"0" max:"1" step:".05" fixed-len:"3"` -} - -// Label satisfies the Labeler interface -func (sp Split) Label() string { - return sp.Name -} - -// SaveSplits saves given splits to this setting -- must use copy! -func (lt *Split) SaveSplits(sp []float32) { - copy(lt.Splits, sp) -} - -// Splits is a list of named splitter configurations -type Splits []*Split - -var KiT_Splits = kit.Types.AddType(&Splits{}, SplitsProps) - -// SplitName has an associated ValueView for selecting from the list of -// available named splits -type SplitName string - -// AvailSplits are available named splitter settings. can be loaded / saved / -// edited with preferences. This is set to StdSplits at startup. -var AvailSplits Splits - -// AvailSplitNames are the names of the current AvailSplits -- used for some choosers -var AvailSplitNames []string - -func init() { - AvailSplits.CopyFrom(StdSplits) - AvailSplitNames = AvailSplits.Names() -} - -// SplitByName returns a named split and index by name -- returns false and emits a -// message to stdout if not found -func (lt *Splits) SplitByName(name SplitName) (*Split, int, bool) { - if name == "" { - return nil, -1, false - } - for i, sp := range *lt { - if sp.Name == string(name) { - return sp, i, true - } - } - fmt.Printf("grid.SplitByName: split named: %v not found\n", name) - return nil, -1, false -} - -// Add adds a new splitter setting, returns split and index -func (lt *Splits) Add(name, desc string, splits []float32) (*Split, int) { - sp := &Split{Name: name, Desc: desc, Splits: sliceclone.Float32(splits)} - *lt = append(*lt, sp) - return sp, len(*lt) - 1 -} - -// Names returns a slice of current names -func (lt *Splits) Names() []string { - nms := make([]string, len(*lt)) - for i, sp := range *lt { - nms[i] = sp.Name - } - return nms -} - -// PrefsSplitsFileName is the name of the preferences file in App prefs -// directory for saving / loading the default AvailSplits -var PrefsSplitsFileName = "splits_prefs.json" - -// FixLen ensures that there are exactly 3 splits in each -func (lt *Splits) FixLen() { - for _, sp := range *lt { - ln := len(sp.Splits) - if ln > 3 { - sp.Splits = sp.Splits[:3] - } else if ln < 3 { - sp.Splits = append(sp.Splits, make([]float32, 3-ln)...) - } - } -} - -// OpenJSON opens named splits from a JSON-formatted file. -func (lt *Splits) OpenJSON(filename gi.FileName) error { - b, err := ioutil.ReadFile(string(filename)) - if err != nil { - // gi.PromptDialog(nil, gi.DlgOpts{Title: "File Not Found", Prompt: err.Error()}, gi.AddOk, gi.NoCancel, nil, nil) - // log.Println(err) - return err - } - *lt = make(Splits, 0, 10) // reset - err = json.Unmarshal(b, lt) - if err != nil { - return err - } - lt.FixLen() - return err -} - -// SaveJSON saves named splits to a JSON-formatted file. -func (lt *Splits) SaveJSON(filename gi.FileName) error { - b, err := json.MarshalIndent(lt, "", " ") - if err != nil { - log.Println(err) // unlikely - return err - } - err = ioutil.WriteFile(string(filename), b, 0644) - if err != nil { - gi.PromptDialog(nil, gi.DlgOpts{Title: "Could not Save to File", Prompt: err.Error()}, gi.AddOk, gi.NoCancel, nil, nil) - log.Println(err) - } - return err -} - -// OpenPrefs opens Splits from App standard prefs directory, using PrefSplitsFileName -func (lt *Splits) OpenPrefs() error { - pdir := oswin.TheApp.AppDataDir() - pnm := filepath.Join(pdir, PrefsSplitsFileName) - AvailSplitsChanged = false - err := lt.OpenJSON(gi.FileName(pnm)) - if err == nil { - AvailSplitNames = lt.Names() - } - return err -} - -// SavePrefs saves Splits to App standard prefs directory, using PrefSplitsFileName -func (lt *Splits) SavePrefs() error { - lt.FixLen() - pdir := oswin.TheApp.AppDataDir() - pnm := filepath.Join(pdir, PrefsSplitsFileName) - AvailSplitsChanged = false - AvailSplitNames = lt.Names() - return lt.SaveJSON(gi.FileName(pnm)) -} - -// CopyFrom copies named splits from given other map -func (lt *Splits) CopyFrom(cp Splits) { - *lt = make(Splits, 0, len(cp)) // reset - b, err := json.Marshal(cp) - if err != nil { - fmt.Printf("json err: %v\n", err.Error()) - } - json.Unmarshal(b, lt) - lt.FixLen() -} - -// AvailSplitsChanged is used to update toolbars via following menu, toolbar -// props update methods -- not accurate if editing any other map but works for -// now.. -var AvailSplitsChanged = false - -// SplitsProps define the Toolbar and MenuBar for TableView of Splits -var SplitsProps = ki.Props{ - "MainMenu": ki.PropSlice{ - {"AppMenu", ki.BlankProp{}}, - {"File", ki.PropSlice{ - {"OpenPrefs", ki.Props{}}, - {"SavePrefs", ki.Props{ - "shortcut": "Command+S", - "updtfunc": giv.ActionUpdateFunc(func(spi any, act *gi.Button) { - act.SetActiveState(AvailSplitsChanged && spi.(*Splits) == &AvailSplits) - }), - }}, - {"sep-file", ki.BlankProp{}}, - {"OpenJSON", ki.Props{ - "label": "Open from file", - "desc": "You can save and open named splits to / from files to share, experiment, transfer, etc", - "shortcut": "Command+O", - "Args": ki.PropSlice{ - {"File Name", ki.Props{ - "ext": ".json", - }}, - }, - }}, - {"SaveJSON", ki.Props{ - "label": "Save to file", - "desc": "You can save and open named splits to / from files to share, experiment, transfer, etc", - "Args": ki.PropSlice{ - {"File Name", ki.Props{ - "ext": ".json", - }}, - }, - }}, - }}, - {"Edit", "Copy Cut Paste Dupe"}, - {"Window", "Windows"}, - }, - "Toolbar": ki.PropSlice{ - {"SavePrefs", ki.Props{ - "desc": "saves Splits to App standard prefs directory, in file splits_prefs.json, which will be loaded automatically at startup)", - "icon": "file-save", - "updtfunc": giv.ActionUpdateFunc(func(spi any, act *gi.Button) { - act.SetActiveState(AvailSplitsChanged && spi.(*Splits) == &AvailSplits) - }), - }}, - {"sep-file", ki.BlankProp{}}, - {"OpenJSON", ki.Props{ - "label": "Open from file", - "icon": "file-open", - "desc": "You can save and open named splits to / from files to share, experiment, transfer, etc", - "Args": ki.PropSlice{ - {"File Name", ki.Props{ - "ext": ".json", - }}, - }, - }}, - {"SaveJSON", ki.Props{ - "label": "Save to file", - "icon": "file-save", - "desc": "You can save and open named splits to / from files to share, experiment, transfer, etc", - "Args": ki.PropSlice{ - {"File Name", ki.Props{ - "ext": ".json", - }}, - }, - }}, - }, -} - -// StdSplits is the original compiled-in set of standard named splits. -var StdSplits = Splits{ - {"Std", "standard splits with all visible", []float32{.1, .65, .25}}, - {"HideTree", "tree panel not visible", []float32{.0, .70, .30}}, - {"BigTabs", "bigger tabs", []float32{.1, .55, .35}}, -} diff --git a/grid/sprites_string.go b/grid/sprites_string.go deleted file mode 100644 index bc1a125c..00000000 --- a/grid/sprites_string.go +++ /dev/null @@ -1,53 +0,0 @@ -// Code generated by "stringer -type=Sprites"; DO NOT EDIT. - -package grid - -import ( - "errors" - "strconv" -) - -var _ = errors.New("dummy error") - -func _() { - // An "invalid array index" compiler error signifies that the constant values have changed. - // Re-run the stringer command to generate them again. - var x [1]struct{} - _ = x[SpUnk-0] - _ = x[SpReshapeBBox-1] - _ = x[SpSelBBox-2] - _ = x[SpNodePoint-3] - _ = x[SpNodeCtrl-4] - _ = x[SpRubberBand-5] - _ = x[SpAlignMatch-6] - _ = x[SpBBoxUpL-7] - _ = x[SpBBoxUpC-8] - _ = x[SpBBoxUpR-9] - _ = x[SpBBoxDnL-10] - _ = x[SpBBoxDnC-11] - _ = x[SpBBoxDnR-12] - _ = x[SpBBoxLfM-13] - _ = x[SpBBoxRtM-14] - _ = x[SpritesN-15] -} - -const _Sprites_name = "SpUnkSpReshapeBBoxSpSelBBoxSpNodePointSpNodeCtrlSpRubberBandSpAlignMatchSpBBoxUpLSpBBoxUpCSpBBoxUpRSpBBoxDnLSpBBoxDnCSpBBoxDnRSpBBoxLfMSpBBoxRtMSpritesN" - -var _Sprites_index = [...]uint8{0, 5, 18, 27, 38, 48, 60, 72, 81, 90, 99, 108, 117, 126, 135, 144, 152} - -func (i Sprites) String() string { - if i < 0 || i >= Sprites(len(_Sprites_index)-1) { - return "Sprites(" + strconv.FormatInt(int64(i), 10) + ")" - } - return _Sprites_name[_Sprites_index[i]:_Sprites_index[i+1]] -} - -func (i *Sprites) FromString(s string) error { - for j := 0; j < len(_Sprites_index)-1; j++ { - if s == _Sprites_name[_Sprites_index[j]:_Sprites_index[j+1]] { - *i = Sprites(j) - return nil - } - } - return errors.New("String: " + s + " is not a valid option for type: Sprites") -} diff --git a/grid/stdsizes_string.go b/grid/stdsizes_string.go deleted file mode 100644 index ae4bdbb5..00000000 --- a/grid/stdsizes_string.go +++ /dev/null @@ -1,60 +0,0 @@ -// Code generated by "stringer -type=StdSizes"; DO NOT EDIT. - -package grid - -import ( - "errors" - "strconv" -) - -var _ = errors.New("dummy error") - -func _() { - // An "invalid array index" compiler error signifies that the constant values have changed. - // Re-run the stringer command to generate them again. - var x [1]struct{} - _ = x[CustomSize-0] - _ = x[Img1280x720-1] - _ = x[Img1920x1080-2] - _ = x[Img3840x2160-3] - _ = x[Img7680x4320-4] - _ = x[Img1024x768-5] - _ = x[Img720x480-6] - _ = x[Img640x480-7] - _ = x[Img320x240-8] - _ = x[A4-9] - _ = x[USLetter-10] - _ = x[USLegal-11] - _ = x[A0-12] - _ = x[A1-13] - _ = x[A2-14] - _ = x[A3-15] - _ = x[A5-16] - _ = x[A6-17] - _ = x[A7-18] - _ = x[A8-19] - _ = x[A9-20] - _ = x[A10-21] - _ = x[StdSizesN-22] -} - -const _StdSizes_name = "CustomSizeImg1280x720Img1920x1080Img3840x2160Img7680x4320Img1024x768Img720x480Img640x480Img320x240A4USLetterUSLegalA0A1A2A3A5A6A7A8A9A10StdSizesN" - -var _StdSizes_index = [...]uint8{0, 10, 21, 33, 45, 57, 68, 78, 88, 98, 100, 108, 115, 117, 119, 121, 123, 125, 127, 129, 131, 133, 136, 145} - -func (i StdSizes) String() string { - if i < 0 || i >= StdSizes(len(_StdSizes_index)-1) { - return "StdSizes(" + strconv.FormatInt(int64(i), 10) + ")" - } - return _StdSizes_name[_StdSizes_index[i]:_StdSizes_index[i+1]] -} - -func (i *StdSizes) FromString(s string) error { - for j := 0; j < len(_StdSizes_index)-1; j++ { - if s == _StdSizes_name[_StdSizes_index[j]:_StdSizes_index[j+1]] { - *i = StdSizes(j) - return nil - } - } - return errors.New("String: " + s + " is not a valid option for type: StdSizes") -} diff --git a/grid/tools_string.go b/grid/tools_string.go deleted file mode 100644 index 8f2c4313..00000000 --- a/grid/tools_string.go +++ /dev/null @@ -1,44 +0,0 @@ -// Code generated by "stringer -type=Tools"; DO NOT EDIT. - -package grid - -import ( - "errors" - "strconv" -) - -var _ = errors.New("dummy error") - -func _() { - // An "invalid array index" compiler error signifies that the constant values have changed. - // Re-run the stringer command to generate them again. - var x [1]struct{} - _ = x[SelectTool-0] - _ = x[NodeTool-1] - _ = x[RectTool-2] - _ = x[EllipseTool-3] - _ = x[BezierTool-4] - _ = x[TextTool-5] - _ = x[ToolsN-6] -} - -const _Tools_name = "SelectToolNodeToolRectToolEllipseToolBezierToolTextToolToolsN" - -var _Tools_index = [...]uint8{0, 10, 18, 26, 37, 47, 55, 61} - -func (i Tools) String() string { - if i < 0 || i >= Tools(len(_Tools_index)-1) { - return "Tools(" + strconv.FormatInt(int64(i), 10) + ")" - } - return _Tools_name[_Tools_index[i]:_Tools_index[i+1]] -} - -func (i *Tools) FromString(s string) error { - for j := 0; j < len(_Tools_index)-1; j++ { - if s == _Tools_name[_Tools_index[j]:_Tools_index[j+1]] { - *i = Tools(j) - return nil - } - } - return errors.New("String: " + s + " is not a valid option for type: Tools") -} diff --git a/grid/valueviews.go b/grid/valueviews.go deleted file mode 100644 index 4b2b4326..00000000 --- a/grid/valueviews.go +++ /dev/null @@ -1,244 +0,0 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package grid - -import ( - "fmt" - "reflect" - - "github.com/goki/gi/gi" - "github.com/goki/gi/gist" - "github.com/goki/gi/giv" - "github.com/goki/gi/oswin" - "github.com/goki/gi/units" - "github.com/goki/ki/ki" - "github.com/goki/ki/kit" -) - -////////////////////////////////////////////////////////////////////////////////////// -// PrefsView - -// PrefsView opens a view of user preferences, returns structview and window -func PrefsView(pf *Preferences) *gi.Window { - winm := "grid-prefs" - width := 800 - height := 800 - win, recyc := gi.RecycleMainWindow(pf, winm, "Grid Preferences", width, height) - if recyc { - return win - } - - vp := win.WinViewport2D() - updt := vp.UpdateStart() - - mfr := win.SetMainFrame() - mfr.Lay = gi.LayoutVert - - sv := mfr.AddNewChild(giv.KiT_StructView, "sv").(*giv.StructView) - sv.Viewport = vp - sv.SetStruct(pf) - sv.SetStretchMaxWidth() - sv.SetStretchMaxHeight() - - mmen := win.MainMenu - giv.MainMenuView(pf, win, mmen) - - inClosePrompt := false - win.OSWin.SetCloseReqFunc(func(w oswin.Window) { - if !pf.Changed { - win.Close() - return - } - if inClosePrompt { - return - } - inClosePrompt = true - gi.ChoiceDialog(vp, gi.DlgOpts{Title: "Save Prefs Before Closing?", - Prompt: "Do you want to save any changes to preferences before closing?"}, - []string{"Save and Close", "Discard and Close", "Cancel"}, - win.This(), func(recv, send ki.Ki, sig int64, data any) { - switch sig { - case 0: - pf.Save() - fmt.Println("Preferences Saved to prefs.json") - win.Close() - case 1: - pf.Open() // if we don't do this, then it actually remains in edited state - win.Close() - case 2: - inClosePrompt = false - // default is to do nothing, i.e., cancel - } - }) - }) - - win.MainMenuUpdated() - - if !win.HasGeomPrefs() { // resize to contents - vpsz := vp.PrefSize(win.OSWin.Screen().PixSize) - win.SetSize(vpsz) - } - - vp.UpdateEndNoSig(updt) - win.GoStartEventLoop() - return win -} - -////////////////////////////////////////////////////////////////////////////////////// -// SplitsView - -// SplitsView opens a view of a commands table -func SplitsView(pt *Splits) { - winm := "grid-splits" - width := 800 - height := 800 - win, recyc := gi.RecycleMainWindow(pt, winm, "Grid Splitter Settings", width, height) - if recyc { - return - } - - vp := win.WinViewport2D() - updt := vp.UpdateStart() - - mfr := win.SetMainFrame() - mfr.Lay = gi.LayoutVert - - title := mfr.AddNewChild(gi.KiT_Label, "title").(*gi.Label) - title.SetText("Available Splitter Settings: Can duplicate an existing (using Ctxt Menu) as starting point for new one") - title.SetProp("width", units.NewValue(30, units.Ch)) // need for wrap - title.SetStretchMaxWidth() - title.SetProp("white-space", gist.WhiteSpaceNormal) // wrap - - tv := mfr.AddNewChild(giv.KiT_TableView, "tv").(*giv.TableView) - tv.Viewport = vp - tv.SetSlice(pt) - tv.SetStretchMaxWidth() - tv.SetStretchMaxHeight() - - AvailSplitsChanged = false - tv.ViewSig.Connect(mfr.This(), func(recv, send ki.Ki, sig int64, data any) { - AvailSplitsChanged = true - }) - - mmen := win.MainMenu - giv.MainMenuView(pt, win, mmen) - - inClosePrompt := false - win.OSWin.SetCloseReqFunc(func(w oswin.Window) { - if !AvailSplitsChanged || pt != &AvailSplits { // only for main avail map.. - win.Close() - return - } - if inClosePrompt { - return - } - inClosePrompt = true - gi.ChoiceDialog(vp, gi.DlgOpts{Title: "Save Splits Before Closing?", - Prompt: "Do you want to save any changes to custom splitter settings file before closing, or Cancel the close and do a Save to a different file?"}, - []string{"Save and Close", "Discard and Close", "Cancel"}, - win.This(), func(recv, send ki.Ki, sig int64, data any) { - switch sig { - case 0: - pt.SavePrefs() - fmt.Printf("Preferences Saved to %v\n", PrefsSplitsFileName) - win.Close() - case 1: - pt.OpenPrefs() // revert - win.Close() - case 2: - inClosePrompt = false - // default is to do nothing, i.e., cancel - } - }) - }) - - win.MainMenuUpdated() - - if !win.HasGeomPrefs() { // resize to contents - vpsz := vp.PrefSize(win.OSWin.Screen().PixSize) - win.SetSize(vpsz) - } - - vp.UpdateEndNoSig(updt) - win.GoStartEventLoop() -} - -//////////////////////////////////////////////////////////////////////////////////////// -// SplitValueView - -// ValueView registers SplitValueView as the viewer of SplitName -func (kn SplitName) ValueView() giv.ValueView { - vv := &SplitValueView{} - ki.InitNode(vv) - return vv -} - -// SplitValueView presents an action for displaying an SplitName and selecting -type SplitValueView struct { - giv.ValueViewBase -} - -var KiT_SplitValueView = kit.Types.AddType(&SplitValueView{}, nil) - -func (vv *SplitValueView) WidgetType() reflect.Type { - vv.WidgetTyp = gi.KiT_Action - return vv.WidgetTyp -} - -func (vv *SplitValueView) UpdateWidget() { - if vv.Widget == nil { - return - } - ac := vv.Widget.(*gi.Button) - txt := kit.ToString(vv.Value.Interface()) - if txt == "" { - txt = "(none)" - } - ac.SetText(txt) -} - -func (vv *SplitValueView) ConfigWidget(widg gi.Node2D) { - vv.Widget = widg - ac := vv.Widget.(*gi.Button) - ac.SetProp("border-radius", units.NewValue(4, units.Px)) - ac.ActionSig.ConnectOnly(vv.This(), func(recv, send ki.Ki, sig int64, data any) { - vvv, _ := recv.Embed(KiT_SplitValueView).(*SplitValueView) - ac := vvv.Widget.(*gi.Button) - vvv.Activate(ac.Viewport, nil, nil) - }) - vv.UpdateWidget() -} - -func (vv *SplitValueView) HasAction() bool { - return true -} - -func (vv *SplitValueView) Activate(vp *gi.Viewport2D, dlgRecv ki.Ki, dlgFunc ki.RecvFunc) { - if vv.IsInactive() { - return - } - cur := kit.ToString(vv.Value.Interface()) - curRow := -1 - if cur != "" { - _, curRow, _ = AvailSplits.SplitByName(SplitName(cur)) - } - desc, _ := vv.Tag("desc") - giv.TableViewSelectDialog(vp, &AvailSplits, giv.DlgOpts{Title: "Select a Named Splitter Config", Prompt: desc}, curRow, nil, - vv.This(), func(recv, send ki.Ki, sig int64, data any) { - if sig == int64(gi.DialogAccepted) { - ddlg, _ := send.(*gi.Dialog) - si := giv.TableViewSelectDialogValue(ddlg) - if si >= 0 { - pt := AvailSplits[si] - vv.SetValue(pt.Name) - vv.UpdateWidget() - } - } - if dlgRecv != nil && dlgFunc != nil { - dlgFunc(dlgRecv, send, sig, data) - } - }) - -} diff --git a/grid/README.md b/vector/README.md similarity index 100% rename from grid/README.md rename to vector/README.md diff --git a/grid/actions.go b/vector/actions.go similarity index 85% rename from grid/actions.go rename to vector/actions.go index 27bc0db4..5d160e42 100644 --- a/grid/actions.go +++ b/vector/actions.go @@ -1,8 +1,8 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector // ActionHelpMap contains a set of help strings for different actions // which are the names given e.g., in the ActStart, SaveUndo etc. diff --git a/vector/align.go b/vector/align.go new file mode 100644 index 00000000..f172dba6 --- /dev/null +++ b/vector/align.go @@ -0,0 +1,332 @@ +// Copyright (c) 2021, The Vector Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package vector + +import ( + "image" + + "cogentcore.org/core/events" + "cogentcore.org/core/gi" + "cogentcore.org/core/giv" + "cogentcore.org/core/icons" + "cogentcore.org/core/ki" + "cogentcore.org/core/mat32" + "cogentcore.org/core/styles" + "cogentcore.org/core/svg" +) + +// AlignView provides a range of alignment actions on selected objects. +type AlignView struct { + gi.Layout + + AlignAnchorView giv.EnumValue + + // the parent vectorview + VectorView *VectorView `copier:"-" json:"-" xml:"-" view:"-"` +} + +///////////////////////////////////////////////////////////////////////// +// Actions + +func (vv *VectorView) Align(aa AlignAnchors, al Aligns) { + astr := al.String() + switch al { + case AlignRightAnchor: + vv.AlignMaxAnchor(aa, mat32.X, astr) + case AlignLeft: + vv.AlignMin(aa, mat32.X, astr) + case AlignCenter: + vv.AlignCenter(aa, mat32.X, astr) + case AlignRight: + vv.AlignMax(aa, mat32.X, astr) + case AlignLeftAnchor: + vv.AlignMinAnchor(aa, mat32.X, astr) + case AlignBaselineHoriz: + vv.AlignMin(aa, mat32.X, astr) // todo: should be baseline, not min + + case AlignBottomAnchor: + vv.AlignMaxAnchor(aa, mat32.Y, astr) + case AlignTop: + vv.AlignMin(aa, mat32.Y, astr) + case AlignMiddle: + vv.AlignCenter(aa, mat32.Y, astr) + case AlignBottom: + vv.AlignMax(aa, mat32.Y, astr) + case AlignTopAnchor: + vv.AlignMinAnchor(aa, mat32.Y, astr) + case AlignBaselineVert: + vv.AlignMin(aa, mat32.Y, astr) // todo: should be baseline, not min + } +} + +// AlignAnchorBBox returns the bounding box for given type of align anchor +// and the anchor node if non-nil +func (vv *VectorView) AlignAnchorBBox(aa AlignAnchors) (image.Rectangle, svg.Node) { + es := &vv.EditState + sv := vv.SVG() + svoff := sv.Root.BBox.Min + var an svg.Node + var bb image.Rectangle + switch aa { + case AlignFirst: + sl := es.SelectedList(false) + an = sl[0] + bb = an.AsNodeBase().BBox + case AlignLast: + sl := es.SelectedList(true) // descending + an = sl[0] + bb = an.AsNodeBase().BBox + case AlignSelectBox: + bb = image.Rectangle{Min: es.DragSelCurBBox.Min.ToPointFloor(), Max: es.DragSelCurBBox.Max.ToPointCeil()} + } + bb = bb.Sub(svoff) + return bb, an +} + +// AlignMin aligns to min coordinate (Left, Top) in bbox +func (vv *VectorView) AlignMin(aa AlignAnchors, dim mat32.Dims, act string) { + es := &vv.EditState + if !es.HasSelected() { + return + } + sv := vv.SVG() + svoff := sv.Root.BBox.Min + sv.UndoSave(act, es.SelectedNamesString()) + abb, an := vv.AlignAnchorBBox(aa) + sc := mat32.V2(1, 1) + odim := mat32.OtherDim(dim) + for sn := range es.Selected { + if sn == an { + continue + } + sng := sn.AsNodeBase() + bb := sng.BBox.Sub(svoff) + del := mat32.V2FromPoint(abb.Min.Sub(bb.Min)) + del.SetDim(odim, 0) + sn.ApplyDeltaTransform(&vv.SVG().SVG, del, sc, 0, mat32.V2FromPoint(bb.Min)) + } + sv.UpdateView(true) + vv.ChangeMade() +} + +func (vv *VectorView) AlignMinAnchor(aa AlignAnchors, dim mat32.Dims, act string) { + es := &vv.EditState + if !es.HasSelected() { + return + } + sv := vv.SVG() + svoff := sv.Root.BBox.Min + sv.UndoSave(act, es.SelectedNamesString()) + abb, an := vv.AlignAnchorBBox(aa) + sc := mat32.V2(1, 1) + odim := mat32.OtherDim(dim) + for sn := range es.Selected { + if sn == an { + continue + } + sng := sn.AsNodeBase() + bb := sng.BBox.Sub(svoff) + del := mat32.V2FromPoint(abb.Max.Sub(bb.Min)) + del.SetDim(odim, 0) + sn.ApplyDeltaTransform(&vv.SVG().SVG, del, sc, 0, mat32.V2FromPoint(bb.Min)) + } + sv.UpdateView(true) + vv.ChangeMade() +} + +func (vv *VectorView) AlignMax(aa AlignAnchors, dim mat32.Dims, act string) { + es := &vv.EditState + if !es.HasSelected() { + return + } + sv := vv.SVG() + svoff := sv.Root.BBox.Min + sv.UndoSave(act, es.SelectedNamesString()) + abb, an := vv.AlignAnchorBBox(aa) + sc := mat32.V2(1, 1) + odim := mat32.OtherDim(dim) + for sn := range es.Selected { + if sn == an { + continue + } + sng := sn.AsNodeBase() + bb := sng.BBox.Sub(svoff) + del := mat32.V2FromPoint(abb.Max.Sub(bb.Max)) + del.SetDim(odim, 0) + sn.ApplyDeltaTransform(&vv.SVG().SVG, del, sc, 0, mat32.V2FromPoint(bb.Min)) + } + sv.UpdateView(true) + vv.ChangeMade() +} + +func (vv *VectorView) AlignMaxAnchor(aa AlignAnchors, dim mat32.Dims, act string) { + es := &vv.EditState + if !es.HasSelected() { + return + } + sv := vv.SVG() + svoff := sv.Root.BBox.Min + sv.UndoSave(act, es.SelectedNamesString()) + abb, an := vv.AlignAnchorBBox(aa) + sc := mat32.V2(1, 1) + odim := mat32.OtherDim(dim) + for sn := range es.Selected { + if sn == an { + continue + } + sng := sn.AsNodeBase() + bb := sng.BBox.Sub(svoff) + del := mat32.V2FromPoint(abb.Min.Sub(bb.Max)) + del.SetDim(odim, 0) + sn.ApplyDeltaTransform(&vv.SVG().SVG, del, sc, 0, mat32.V2FromPoint(bb.Min)) + } + sv.UpdateView(true) + vv.ChangeMade() +} + +func (vv *VectorView) AlignCenter(aa AlignAnchors, dim mat32.Dims, act string) { + es := &vv.EditState + if !es.HasSelected() { + return + } + sv := vv.SVG() + svoff := sv.Root.BBox.Min + sv.UndoSave(act, es.SelectedNamesString()) + abb, an := vv.AlignAnchorBBox(aa) + ctr := mat32.V2FromPoint(abb.Min.Add(abb.Max)).MulScalar(0.5) + sc := mat32.V2(1, 1) + odim := mat32.OtherDim(dim) + for sn := range es.Selected { + if sn == an { + continue + } + sng := sn.AsNodeBase() + bb := sng.BBox.Sub(svoff) + nctr := mat32.V2FromPoint(bb.Min.Add(bb.Max)).MulScalar(0.5) + del := ctr.Sub(nctr) + del.SetDim(odim, 0) + sn.ApplyDeltaTransform(&vv.SVG().SVG, del, sc, 0, mat32.V2FromPoint(bb.Min)) + } + sv.UpdateView(true) + vv.ChangeMade() +} + +// GatherAlignPoints gets all the potential points of alignment for objects not +// in selection group +func (sv *SVGView) GatherAlignPoints() { + es := sv.EditState() + if !es.HasSelected() { + return + } + + for ap := BBLeft; ap < BBoxPointsN; ap++ { + es.AlignPts[ap] = make([]mat32.Vec2, 0) + } + + svg.SVGWalkPreNoDefs(&sv.Root, func(kni svg.Node, knb *svg.NodeBase) bool { + if kni.This() == sv.Root.This() { + return ki.Continue + } + if NodeIsLayer(kni) { + return ki.Continue + } + if _, issel := es.Selected[kni]; issel { + return ki.Break // go no further into kids + } + for ap := BBLeft; ap < BBoxPointsN; ap++ { + es.AlignPts[ap] = append(es.AlignPts[ap], ap.PointRect(knb.BBox)) + } + return ki.Continue + }) +} + +/////////////////////////////////////////////////////////////// +// AlignView + +func (av *AlignView) Config(vv *VectorView) { + if av.HasChildren() { + return + } + av.VectorView = vv + av.Style(func(s *styles.Style) { + s.Direction = styles.Column + }) + + all := gi.NewLayout(av) + gi.NewLabel(all).SetText("Align: ") + gi.NewChooser(all).SetEnum(AlignAnchorsN) + + agrid := gi.NewLayout(av).Style(func(s *styles.Style) { + s.Display = styles.Grid + s.Columns = 6 + }) + + for _, al := range AlignsValues() { + al := al + gi.NewButton(agrid, al.String()).SetIcon(icons.Icon(al.String())). + SetTooltip(al.Desc()).OnClick(func(e events.Event) { + av.VectorView.Align(av.AlignAnchor(), al) + }).Style(func(s *styles.Style) { + s.Min.X.Em(2) + s.Min.Y.Em(2) + }) + } +} + +// AlignAnchor returns the align anchor currently selected +func (av *AlignView) AlignAnchor() AlignAnchors { + return av.AlignAnchorView.Value.Interface().(AlignAnchors) +} + +// AlignAnchors are ways of anchoring alignment +type AlignAnchors int32 //enums:enum + +const ( + AlignFirst AlignAnchors = iota + AlignLast + AlignDrawing + AlignSelectBox +) + +// Aligns are ways of aligning items +type Aligns int32 //enums:enum + +const ( + // align right edges to left edge of anchor item + AlignRightAnchor Aligns = iota + + // align left edges + AlignLeft + + // align horizontal centers + AlignCenter + + // align right edges + AlignRight + + // align left edges to right edge of anchor item + AlignLeftAnchor + + // align left text baseline edges + AlignBaselineHoriz + + // align bottom edges to top edge of anchor item + AlignBottomAnchor + + // align top edges + AlignTop + + // align middle vertical point + AlignMiddle + + // align bottom edges + AlignBottom + + // align top edges to bottom edge of anchor item + AlignTopAnchor + + // align baseline points vertically + AlignBaselineVert +) diff --git a/grid/bbox.go b/vector/bbox.go similarity index 89% rename from grid/bbox.go rename to vector/bbox.go index 6d190554..69bf69ea 100644 --- a/grid/bbox.go +++ b/vector/bbox.go @@ -1,18 +1,17 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( "image" - "github.com/goki/ki/kit" - "github.com/goki/mat32" + "cogentcore.org/core/mat32" ) // BBoxPoints are the different control points within a bounding box -type BBoxPoints int +type BBoxPoints int32 //enums:enum const ( BBLeft BBoxPoints = iota @@ -21,16 +20,8 @@ const ( BBTop BBMiddle BBBottom - BBoxPointsN ) -//go:generate stringer -type=BBoxPoints - -var KiT_BBoxPoints = kit.Enums.AddEnum(BBoxPointsN, kit.NotBitFlag, nil) - -func (ev BBoxPoints) MarshalJSON() ([]byte, error) { return kit.EnumMarshalJSON(ev) } -func (ev *BBoxPoints) UnmarshalJSON(b []byte) error { return kit.EnumUnmarshalJSON(ev, b) } - // ValRect returns the relevant value for a given bounding box // as an image.Rectangle func (ev BBoxPoints) ValRect(bb image.Rectangle) float32 { diff --git a/grid/cmd/grid/grid.go b/vector/cmd/grid/vector.go similarity index 63% rename from grid/cmd/grid/grid.go rename to vector/cmd/grid/vector.go index ebc574d6..f75c6ab1 100644 --- a/grid/cmd/grid/grid.go +++ b/vector/cmd/grid/vector.go @@ -1,4 +1,4 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. @@ -9,22 +9,22 @@ import ( "os" "path/filepath" - "github.com/goki/gi/gi" - "github.com/goki/gi/oswin" - "goki.dev/grid/grid" + "cogentcore.org/cogent/vector" + "cogentcore.org/core/gi" + "cogentcore.org/core/oswin" ) func main() { - gi.SetAppName("grid") - gi.SetAppAbout(`Grid is a Go-rendered interactive drawing program for SVG vector dawings. See Grid on GitHub
+ gi.SetAppName("vector") + gi.SetAppAbout(`Vector is a Go-rendered interactive drawing program for SVG vector dawings. See Vector on GitHub

-Version: ` + grid.Prefs.VersionInfo()) +Version: ` + vector.Prefs.VersionInfo()) - grid.InitPrefs() + vector.InitPrefs() /* pdir := oswin.TheApp.AppDataDir() - pnm := filepath.Join(pdir, "grid.log") + pnm := filepath.Join(pdir, "vector.log") lf, err := os.Create(pnm) if err == nil { @@ -54,14 +54,14 @@ Version: ` + grid.Prefs.VersionInfo()) if len(fnms) == 0 { os.Chdir(gi.Prefs.User.HomeDir) - grid.NewDrawing(grid.Prefs.Size) + vector.NewDrawing(vector.Prefs.Size) } else { fdir, _ := filepath.Split(fnms[0]) os.Chdir(fdir) fmt.Printf("fdir: %s\n", fdir) for _, fnm := range fnms { fmt.Println(fnm) - grid.NewGridWindow(fnm) + vector.NewVectorWindow(fnm) } } gi.WinWait.Wait() diff --git a/grid/dashes.go b/vector/dashes.go similarity index 90% rename from grid/dashes.go rename to vector/dashes.go index a1449c56..152c940e 100644 --- a/grid/dashes.go +++ b/vector/dashes.go @@ -1,24 +1,25 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( "fmt" "math" + "slices" "strings" - "github.com/goki/gi/gi" - "github.com/goki/gi/svg" - "github.com/goki/gi/units" - "github.com/goki/ki/sliceclone" - "github.com/goki/mat32" + "cogentcore.org/core/gi" + "cogentcore.org/core/icons" + "cogentcore.org/core/mat32" + "cogentcore.org/core/svg" + "cogentcore.org/core/units" ) // DashMulWidth returns the dash array multiplied by the line width -- what is actually set func DashMulWidth(lwidth float64, dary []float64) []float64 { - mary := sliceclone.Float64(dary) + mary := slices.Clone(dary) for i := range mary { mary[i] *= lwidth } @@ -46,7 +47,7 @@ func DashMatchArray(lwidth float64, dary []float64) (bool, string) { if sz == 0 { return false, "dash-solid" } - mary := sliceclone.Float64(dary) + mary := slices.Clone(dary) for i := range mary { mary[i] /= lwidth } @@ -77,7 +78,7 @@ func AddNewDash(dary []float64) string { nm += fmt.Sprintf("-%g", dary[i]) } AllDashNames = append(AllDashNames, nm) - AllDashesMap[nm] = sliceclone.Float64(dary) + AllDashesMap[nm] = slices.Clone(dary) return nm } @@ -173,7 +174,7 @@ var AllDashNames []string // AllDashIconNames contains all of the available dash names as // IconNames -- for chooser. -var AllDashIconNames []gi.IconName +var AllDashIconNames []icons.Icon // DashIconsInited records whether the dashes have been initialized into // Icons for use in selectors: see DashIconsInit() @@ -187,13 +188,13 @@ func DashIconsInit() { return } - AllDashIconNames = make([]gi.IconName, len(AllDashNames)) + AllDashIconNames = make([]icons.Icon, len(AllDashNames)) for i, v := range AllDashNames { - AllDashIconNames[i] = gi.IconName(v) + AllDashIconNames[i] = icons.Icon(v) } for k, v := range AllDashesMap { - ic := &svg.Icon{} + ic := &gi.SVG{} ic.InitName(ic, k) ic.SetProp("width", units.NewCh(20)) ic.ViewBox.Size = mat32.V2(1, 1) diff --git a/grid/doc.go b/vector/doc.go similarity index 66% rename from grid/doc.go rename to vector/doc.go index d41774ec..01503693 100644 --- a/grid/doc.go +++ b/vector/doc.go @@ -1,9 +1,9 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. /* -Package grid is the top-level repository for the Grid Go SVG vector drawing program +Package grid is the top-level repository for the Vector Go SVG vector drawing program the GoGi GUI framework. The following sub-packages provide all the code: @@ -13,4 +13,4 @@ used in different contexts. * cmd: is where the actual command tool is built. */ -package grid +package vector diff --git a/grid/edits.go b/vector/edits.go similarity index 84% rename from grid/edits.go rename to vector/edits.go index 138e1778..3cc89ff6 100644 --- a/grid/edits.go +++ b/vector/edits.go @@ -1,25 +1,22 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( "fmt" "image" + "image/color" "sort" "strings" "sync" - "github.com/goki/gi/gi" - "github.com/goki/gi/gist" - "github.com/goki/gi/oswin/mouse" - "github.com/goki/gi/svg" - "github.com/goki/gi/undo" - "github.com/goki/gi/units" - "github.com/goki/ki/kit" - "github.com/goki/mat32" - "github.com/srwiley/rasterx" + "cogentcore.org/core/gi" + "cogentcore.org/core/ki" + "cogentcore.org/core/mat32" + "cogentcore.org/core/svg" + "cogentcore.org/core/undo" ) // EditState has all the current edit state information @@ -53,10 +50,10 @@ type EditState struct { Changed bool `view:"inactive"` // action mutex, protecting start / end of actions - ActMu sync.Mutex `copy:"-" json:"-" xml:"-" view:"-"` + ActMu sync.Mutex `copier:"-" json:"-" xml:"-" view:"-"` // selected item(s) - Selected map[svg.NodeSVG]*SelState `copy:"-" json:"-" xml:"-" view:"-"` + Selected map[svg.Node]*SelState `copier:"-" json:"-" xml:"-" view:"-"` // selection just happened on press, and no drag happened in between SelNoDrag bool @@ -80,7 +77,7 @@ type EditState struct { LastSelPos image.Point // recently selected item(s) -- within the same selection position - RecentlySelected map[svg.NodeSVG]*SelState `copy:"-" json:"-" xml:"-" view:"-"` + RecentlySelected map[svg.Node]*SelState `copier:"-" json:"-" xml:"-" view:"-"` // bbox at start of dragging DragSelStartBBox mat32.Box2 @@ -153,7 +150,7 @@ func (es *EditState) HasSelected() bool { } // IsSelected returns the selected status of given slice index -func (es *EditState) IsSelected(itm svg.NodeSVG) bool { +func (es *EditState) IsSelected(itm svg.Node) bool { if _, ok := es.Selected[itm]; ok { return true } @@ -168,15 +165,15 @@ func (es *EditState) ResetSelected() { // NewSelected makes a new Selected list func (es *EditState) NewSelected() { - es.Selected = make(map[svg.NodeSVG]*SelState) + es.Selected = make(map[svg.Node]*SelState) } // SelectedList returns list of selected items, sorted either ascending or descending // according to order of selection -func (es *EditState) SelectedList(descendingSort bool) []svg.NodeSVG { - sls := make([]svg.NodeSVG, 0, len(es.Selected)) +func (es *EditState) SelectedList(descendingSort bool) []svg.Node { + sls := make([]svg.Node, 0, len(es.Selected)) for it := range es.Selected { - if it == nil || it.This() == nil || it.IsDeleted() || it.IsDestroyed() { + if it == nil || it.This() == nil || it.Is(ki.Deleted) || it.Is(ki.Destroyed) { delete(es.Selected, it) continue } @@ -197,11 +194,11 @@ func (es *EditState) SelectedList(descendingSort bool) []svg.NodeSVG { // SelectedListDepth returns list of selected items, sorted either // ascending or descending according to depth: // ascending = deepest first, descending = highest first -func (es *EditState) SelectedListDepth(sv *SVGView, descendingSort bool) []svg.NodeSVG { +func (es *EditState) SelectedListDepth(sv *SVGView, descendingSort bool) []svg.Node { dm := sv.DepthMap() - sls := make([]svg.NodeSVG, 0, len(es.Selected)) + sls := make([]svg.Node, 0, len(es.Selected)) for it := range es.Selected { - if it == nil || it.This() == nil || it.IsDeleted() || it.IsDestroyed() { + if it == nil || it.This() == nil || it.Is(ki.Deleted) || it.Is(ki.Destroyed) { delete(es.Selected, it) continue } @@ -221,15 +218,15 @@ func (es *EditState) SelectedListDepth(sv *SVGView, descendingSort bool) []svg.N // FirstSelectedNode returns the first selected node, that is not a Group // (recurses into groups) -func (es *EditState) FirstSelectedNode() svg.NodeSVG { +func (es *EditState) FirstSelectedNode() svg.Node { if !es.HasSelected() { return nil } sls := es.SelectedList(true) for _, sl := range sls { - fsl := svg.FirstNonGroupNode(sl.This()) + fsl := svg.FirstNonGroupNode(sl.This().(svg.Node)) if fsl != nil { - return fsl.(svg.NodeSVG) + return fsl.(svg.Node) } } return nil @@ -251,7 +248,7 @@ func (es *EditState) FirstSelectedPath() *svg.Path { // Select selects given item (if not already selected) -- updates select // status of index label -func (es *EditState) Select(itm svg.NodeSVG) { +func (es *EditState) Select(itm svg.Node) { idx := len(es.Selected) ss := &SelState{Order: idx} itm.WriteGeom(&ss.InitGeom) @@ -263,7 +260,7 @@ func (es *EditState) Select(itm svg.NodeSVG) { } // Unselect unselects given idx (if selected) -func (es *EditState) Unselect(itm svg.NodeSVG) { +func (es *EditState) Unselect(itm svg.Node) { if es.IsSelected(itm) { ss := es.Selected[itm] es.RecentlySelected[itm] = ss @@ -277,7 +274,7 @@ func (es *EditState) Unselect(itm svg.NodeSVG) { func (es *EditState) SanitizeSelected() { for k := range es.Selected { if pg, has := k.Parent().(*svg.Group); has { - pgi := pg.This().(svg.NodeSVG) + pgi := pg.This().(svg.Node) if _, issel := es.Selected[pgi]; issel { delete(es.Selected, pgi) } @@ -310,10 +307,11 @@ func (es *EditState) SelectedNamesString() string { return sl } +/* // SelectAction is called when a select action has been received (e.g., a // mouse click) -- translates into selection updates -- gets selection mode // from mouse event (ExtendContinuous, ExtendOne) -func (es *EditState) SelectAction(itm svg.NodeSVG, mode mouse.SelectModes, pos image.Point) { +func (es *EditState) SelectAction(itm svg.Node, mode mouse.SelectModes, pos image.Point) { if mode == mouse.NoSelect { return } @@ -345,6 +343,7 @@ func (es *EditState) SelectAction(itm svg.NodeSVG, mode mouse.SelectModes, pos i es.Unselect(itm) } } +*/ func (es *EditState) SelectedToRecents() { for k, v := range es.Selected { @@ -354,7 +353,7 @@ func (es *EditState) SelectedToRecents() { } func (es *EditState) NewRecents() { - es.RecentlySelected = make(map[svg.NodeSVG]*SelState) + es.RecentlySelected = make(map[svg.Node]*SelState) } // StartRecents starts a new list of recently-selected items @@ -382,9 +381,9 @@ func (es *EditState) UpdateSelBBox() { bbox := mat32.Box2{} bbox.SetEmpty() for itm := range es.Selected { - g := itm.AsSVGNode() + g := itm.AsNodeBase() bb := mat32.Box2{} - bb.SetFromRect(g.WinBBox) + bb.SetFromRect(g.BBox) bbox.ExpandByBox(bb) } es.SelBBox = bbox @@ -434,7 +433,7 @@ type SelState struct { type GradStop struct { // color -- alpha is ignored -- set opacity separately - Color gist.Color + Color color.Color // opacity determines how opaque color is - used instead of alpha in color Opacity float64 @@ -447,7 +446,7 @@ type GradStop struct { type Gradient struct { // icon of gradient -- generated to display each gradient - Ic gi.IconName `edit:"-" tableview:"no-header" width:"5"` + Ic gi.SVG `edit:"-" tableview:"no-header" width:"5"` // name of gradient (id) Id string `edit:"-" width:"6"` @@ -488,6 +487,7 @@ func (gr *Gradient) UpdateFromGrad(g *gi.Gradient) { // todo: update grad to sane vals for offs etc +/* // Updates svg gradient from our gradient func (gr *Gradient) UpdateGrad(g *gi.Gradient) { _, id := svg.SplitNameIdDig(g.Nm) // we always need to sync to id & name though @@ -529,6 +529,7 @@ func (gr *Gradient) UpdateGrad(g *gi.Gradient) { } gr.UpdateIcon() } +*/ // ConfigDefaultGradient configures a new default gradient func (es *EditState) ConfigDefaultGradient() { @@ -552,38 +553,40 @@ func (gr *Gradient) ConfigDefaultGradientStops() { // UpdateIcon updates icon func (gr *Gradient) UpdateIcon() { - nm := fmt.Sprintf("grid_grad_%s", gr.Name) - ici, err := gi.TheIconMgr.IconByName(nm) - var ic *svg.Icon - if err != nil { - ic = &svg.Icon{} - ic.InitName(ic, nm) - ic.ViewBox.Size = mat32.V2(1, 1) - ic.SetProp("width", units.NewCh(5)) - svg.CurIconSet[nm] = ic - } else { - ic = ici.(*svg.Icon) - } - nst := len(gr.Stops) - if ic.NumChildren() != nst { - config := kit.TypeAndNameList{} - for i := range gr.Stops { - config.Add(svg.KiT_Rect, fmt.Sprintf("%d", i)) + /* + nm := fmt.Sprintf("grid_grad_%s", gr.Name) + ici, err := gi.TheIconMgr.IconByName(nm) + var ic *svg.Icon + if err != nil { + ic = &svg.Icon{} + ic.InitName(ic, nm) + ic.ViewBox.Size = mat32.V2(1, 1) + ic.SetProp("width", units.NewCh(5)) + svg.CurIconSet[nm] = ic + } else { + ic = ici.(*svg.Icon) } - ic.ConfigChildren(config) + nst := len(gr.Stops) + if ic.NumChildren() != nst { + config := ki.Config + for i := range gr.Stops { + config.Add(svg.RectType, fmt.Sprintf("%d", i)) + } + ic.ConfigChildren(config) - } + } - px := 0.9 / float32(nst) - for i, gst := range gr.Stops { - bx := ic.Child(i).(*svg.Rect) - bx.Pos.X = 0.05 + float32(i)*px - bx.Pos.Y = 0.05 - bx.Size.X = px - bx.Size.Y = 0.9 - bx.SetProp("stroke-width", units.NewPx(0)) - bx.SetProp("stroke", "none") - bx.SetProp("fill", gst.Color.HexString()) - } - gr.Ic = gi.IconName(nm) + px := 0.9 / float32(nst) + for i, gst := range gr.Stops { + bx := ic.Child(i).(*svg.Rect) + bx.Pos.X = 0.05 + float32(i)*px + bx.Pos.Y = 0.05 + bx.Size.X = px + bx.Size.Y = 0.9 + bx.SetProp("stroke-width", units.NewPx(0)) + bx.SetProp("stroke", "none") + bx.SetProp("fill", gst.Color.HexString()) + } + gr.Ic = icons.Icon(nm) + */ } diff --git a/vector/enumgen.go b/vector/enumgen.go new file mode 100644 index 00000000..2981bc3b --- /dev/null +++ b/vector/enumgen.go @@ -0,0 +1,1262 @@ +// Code generated by "core generate"; DO NOT EDIT. + +package vector + +import ( + "errors" + "log" + "strconv" + "strings" + "sync/atomic" + + "cogentcore.org/core/enums" + "cogentcore.org/core/gi" +) + +var _AlignAnchorsValues = []AlignAnchors{0, 1, 2, 3} + +// AlignAnchorsN is the highest valid value +// for type AlignAnchors, plus one. +const AlignAnchorsN AlignAnchors = 4 + +// An "invalid array index" compiler error signifies that the constant values have changed. +// Re-run the enumgen command to generate them again. +func _AlignAnchorsNoOp() { + var x [1]struct{} + _ = x[AlignFirst-(0)] + _ = x[AlignLast-(1)] + _ = x[AlignDrawing-(2)] + _ = x[AlignSelectBox-(3)] +} + +var _AlignAnchorsNameToValueMap = map[string]AlignAnchors{ + `AlignFirst`: 0, + `AlignLast`: 1, + `AlignDrawing`: 2, + `AlignSelectBox`: 3, +} + +var _AlignAnchorsDescMap = map[AlignAnchors]string{ + 0: ``, + 1: ``, + 2: ``, + 3: ``, +} + +var _AlignAnchorsMap = map[AlignAnchors]string{ + 0: `AlignFirst`, + 1: `AlignLast`, + 2: `AlignDrawing`, + 3: `AlignSelectBox`, +} + +// String returns the string representation +// of this AlignAnchors value. +func (i AlignAnchors) String() string { + if str, ok := _AlignAnchorsMap[i]; ok { + return str + } + return strconv.FormatInt(int64(i), 10) +} + +// SetString sets the AlignAnchors value from its +// string representation, and returns an +// error if the string is invalid. +func (i *AlignAnchors) SetString(s string) error { + if val, ok := _AlignAnchorsNameToValueMap[s]; ok { + *i = val + return nil + } + return errors.New(s + " is not a valid value for type AlignAnchors") +} + +// Int64 returns the AlignAnchors value as an int64. +func (i AlignAnchors) Int64() int64 { + return int64(i) +} + +// SetInt64 sets the AlignAnchors value from an int64. +func (i *AlignAnchors) SetInt64(in int64) { + *i = AlignAnchors(in) +} + +// Desc returns the description of the AlignAnchors value. +func (i AlignAnchors) Desc() string { + if str, ok := _AlignAnchorsDescMap[i]; ok { + return str + } + return i.String() +} + +// AlignAnchorsValues returns all possible values +// for the type AlignAnchors. +func AlignAnchorsValues() []AlignAnchors { + return _AlignAnchorsValues +} + +// Values returns all possible values +// for the type AlignAnchors. +func (i AlignAnchors) Values() []enums.Enum { + res := make([]enums.Enum, len(_AlignAnchorsValues)) + for i, d := range _AlignAnchorsValues { + res[i] = d + } + return res +} + +// IsValid returns whether the value is a +// valid option for type AlignAnchors. +func (i AlignAnchors) IsValid() bool { + _, ok := _AlignAnchorsMap[i] + return ok +} + +// MarshalText implements the [encoding.TextMarshaler] interface. +func (i AlignAnchors) MarshalText() ([]byte, error) { + return []byte(i.String()), nil +} + +// UnmarshalText implements the [encoding.TextUnmarshaler] interface. +func (i *AlignAnchors) UnmarshalText(text []byte) error { + if err := i.SetString(string(text)); err != nil { + log.Println("AlignAnchors.UnmarshalText:", err) + } + return nil +} + +var _AlignsValues = []Aligns{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} + +// AlignsN is the highest valid value +// for type Aligns, plus one. +const AlignsN Aligns = 12 + +// An "invalid array index" compiler error signifies that the constant values have changed. +// Re-run the enumgen command to generate them again. +func _AlignsNoOp() { + var x [1]struct{} + _ = x[AlignRightAnchor-(0)] + _ = x[AlignLeft-(1)] + _ = x[AlignCenter-(2)] + _ = x[AlignRight-(3)] + _ = x[AlignLeftAnchor-(4)] + _ = x[AlignBaselineHoriz-(5)] + _ = x[AlignBottomAnchor-(6)] + _ = x[AlignTop-(7)] + _ = x[AlignMiddle-(8)] + _ = x[AlignBottom-(9)] + _ = x[AlignTopAnchor-(10)] + _ = x[AlignBaselineVert-(11)] +} + +var _AlignsNameToValueMap = map[string]Aligns{ + `AlignRightAnchor`: 0, + `AlignLeft`: 1, + `AlignCenter`: 2, + `AlignRight`: 3, + `AlignLeftAnchor`: 4, + `AlignBaselineHoriz`: 5, + `AlignBottomAnchor`: 6, + `AlignTop`: 7, + `AlignMiddle`: 8, + `AlignBottom`: 9, + `AlignTopAnchor`: 10, + `AlignBaselineVert`: 11, +} + +var _AlignsDescMap = map[Aligns]string{ + 0: `align right edges to left edge of anchor item`, + 1: `align left edges`, + 2: `align horizontal centers`, + 3: `align right edges`, + 4: `align left edges to right edge of anchor item`, + 5: `align left text baseline edges`, + 6: `align bottom edges to top edge of anchor item`, + 7: `align top edges`, + 8: `align middle vertical point`, + 9: `align bottom edges`, + 10: `align top edges to bottom edge of anchor item`, + 11: `align baseline points vertically`, +} + +var _AlignsMap = map[Aligns]string{ + 0: `AlignRightAnchor`, + 1: `AlignLeft`, + 2: `AlignCenter`, + 3: `AlignRight`, + 4: `AlignLeftAnchor`, + 5: `AlignBaselineHoriz`, + 6: `AlignBottomAnchor`, + 7: `AlignTop`, + 8: `AlignMiddle`, + 9: `AlignBottom`, + 10: `AlignTopAnchor`, + 11: `AlignBaselineVert`, +} + +// String returns the string representation +// of this Aligns value. +func (i Aligns) String() string { + if str, ok := _AlignsMap[i]; ok { + return str + } + return strconv.FormatInt(int64(i), 10) +} + +// SetString sets the Aligns value from its +// string representation, and returns an +// error if the string is invalid. +func (i *Aligns) SetString(s string) error { + if val, ok := _AlignsNameToValueMap[s]; ok { + *i = val + return nil + } + return errors.New(s + " is not a valid value for type Aligns") +} + +// Int64 returns the Aligns value as an int64. +func (i Aligns) Int64() int64 { + return int64(i) +} + +// SetInt64 sets the Aligns value from an int64. +func (i *Aligns) SetInt64(in int64) { + *i = Aligns(in) +} + +// Desc returns the description of the Aligns value. +func (i Aligns) Desc() string { + if str, ok := _AlignsDescMap[i]; ok { + return str + } + return i.String() +} + +// AlignsValues returns all possible values +// for the type Aligns. +func AlignsValues() []Aligns { + return _AlignsValues +} + +// Values returns all possible values +// for the type Aligns. +func (i Aligns) Values() []enums.Enum { + res := make([]enums.Enum, len(_AlignsValues)) + for i, d := range _AlignsValues { + res[i] = d + } + return res +} + +// IsValid returns whether the value is a +// valid option for type Aligns. +func (i Aligns) IsValid() bool { + _, ok := _AlignsMap[i] + return ok +} + +// MarshalText implements the [encoding.TextMarshaler] interface. +func (i Aligns) MarshalText() ([]byte, error) { + return []byte(i.String()), nil +} + +// UnmarshalText implements the [encoding.TextUnmarshaler] interface. +func (i *Aligns) UnmarshalText(text []byte) error { + if err := i.SetString(string(text)); err != nil { + log.Println("Aligns.UnmarshalText:", err) + } + return nil +} + +var _BBoxPointsValues = []BBoxPoints{0, 1, 2, 3, 4, 5, 6} + +// BBoxPointsN is the highest valid value +// for type BBoxPoints, plus one. +const BBoxPointsN BBoxPoints = 7 + +// An "invalid array index" compiler error signifies that the constant values have changed. +// Re-run the enumgen command to generate them again. +func _BBoxPointsNoOp() { + var x [1]struct{} + _ = x[BBLeft-(0)] + _ = x[BBCenter-(1)] + _ = x[BBRight-(2)] + _ = x[BBTop-(3)] + _ = x[BBMiddle-(4)] + _ = x[BBBottom-(5)] + _ = x[BBoxPointsN-(6)] +} + +var _BBoxPointsNameToValueMap = map[string]BBoxPoints{ + `BBLeft`: 0, + `BBCenter`: 1, + `BBRight`: 2, + `BBTop`: 3, + `BBMiddle`: 4, + `BBBottom`: 5, + `BBoxPointsN`: 6, +} + +var _BBoxPointsDescMap = map[BBoxPoints]string{ + 0: ``, + 1: ``, + 2: ``, + 3: ``, + 4: ``, + 5: ``, + 6: ``, +} + +var _BBoxPointsMap = map[BBoxPoints]string{ + 0: `BBLeft`, + 1: `BBCenter`, + 2: `BBRight`, + 3: `BBTop`, + 4: `BBMiddle`, + 5: `BBBottom`, + 6: `BBoxPointsN`, +} + +// String returns the string representation +// of this BBoxPoints value. +func (i BBoxPoints) String() string { + if str, ok := _BBoxPointsMap[i]; ok { + return str + } + return strconv.FormatInt(int64(i), 10) +} + +// SetString sets the BBoxPoints value from its +// string representation, and returns an +// error if the string is invalid. +func (i *BBoxPoints) SetString(s string) error { + if val, ok := _BBoxPointsNameToValueMap[s]; ok { + *i = val + return nil + } + return errors.New(s + " is not a valid value for type BBoxPoints") +} + +// Int64 returns the BBoxPoints value as an int64. +func (i BBoxPoints) Int64() int64 { + return int64(i) +} + +// SetInt64 sets the BBoxPoints value from an int64. +func (i *BBoxPoints) SetInt64(in int64) { + *i = BBoxPoints(in) +} + +// Desc returns the description of the BBoxPoints value. +func (i BBoxPoints) Desc() string { + if str, ok := _BBoxPointsDescMap[i]; ok { + return str + } + return i.String() +} + +// BBoxPointsValues returns all possible values +// for the type BBoxPoints. +func BBoxPointsValues() []BBoxPoints { + return _BBoxPointsValues +} + +// Values returns all possible values +// for the type BBoxPoints. +func (i BBoxPoints) Values() []enums.Enum { + res := make([]enums.Enum, len(_BBoxPointsValues)) + for i, d := range _BBoxPointsValues { + res[i] = d + } + return res +} + +// IsValid returns whether the value is a +// valid option for type BBoxPoints. +func (i BBoxPoints) IsValid() bool { + _, ok := _BBoxPointsMap[i] + return ok +} + +// MarshalText implements the [encoding.TextMarshaler] interface. +func (i BBoxPoints) MarshalText() ([]byte, error) { + return []byte(i.String()), nil +} + +// UnmarshalText implements the [encoding.TextUnmarshaler] interface. +func (i *BBoxPoints) UnmarshalText(text []byte) error { + if err := i.SetString(string(text)); err != nil { + log.Println("BBoxPoints.UnmarshalText:", err) + } + return nil +} + +var _MarkerColorsValues = []MarkerColors{0, 1, 2} + +// MarkerColorsN is the highest valid value +// for type MarkerColors, plus one. +const MarkerColorsN MarkerColors = 3 + +// An "invalid array index" compiler error signifies that the constant values have changed. +// Re-run the enumgen command to generate them again. +func _MarkerColorsNoOp() { + var x [1]struct{} + _ = x[MarkerDef-(0)] + _ = x[MarkerCopy-(1)] + _ = x[MarkerCust-(2)] +} + +var _MarkerColorsNameToValueMap = map[string]MarkerColors{ + `Def`: 0, + `Copy`: 1, + `Cust`: 2, +} + +var _MarkerColorsDescMap = map[MarkerColors]string{ + 0: `use the default color of marker (typically black)`, + 1: `copy color of object using marker (create separate marker object per element)`, + 2: `marker has its own separate custom color`, +} + +var _MarkerColorsMap = map[MarkerColors]string{ + 0: `Def`, + 1: `Copy`, + 2: `Cust`, +} + +// String returns the string representation +// of this MarkerColors value. +func (i MarkerColors) String() string { + if str, ok := _MarkerColorsMap[i]; ok { + return str + } + return strconv.FormatInt(int64(i), 10) +} + +// SetString sets the MarkerColors value from its +// string representation, and returns an +// error if the string is invalid. +func (i *MarkerColors) SetString(s string) error { + if val, ok := _MarkerColorsNameToValueMap[s]; ok { + *i = val + return nil + } + return errors.New(s + " is not a valid value for type MarkerColors") +} + +// Int64 returns the MarkerColors value as an int64. +func (i MarkerColors) Int64() int64 { + return int64(i) +} + +// SetInt64 sets the MarkerColors value from an int64. +func (i *MarkerColors) SetInt64(in int64) { + *i = MarkerColors(in) +} + +// Desc returns the description of the MarkerColors value. +func (i MarkerColors) Desc() string { + if str, ok := _MarkerColorsDescMap[i]; ok { + return str + } + return i.String() +} + +// MarkerColorsValues returns all possible values +// for the type MarkerColors. +func MarkerColorsValues() []MarkerColors { + return _MarkerColorsValues +} + +// Values returns all possible values +// for the type MarkerColors. +func (i MarkerColors) Values() []enums.Enum { + res := make([]enums.Enum, len(_MarkerColorsValues)) + for i, d := range _MarkerColorsValues { + res[i] = d + } + return res +} + +// IsValid returns whether the value is a +// valid option for type MarkerColors. +func (i MarkerColors) IsValid() bool { + _, ok := _MarkerColorsMap[i] + return ok +} + +// MarshalText implements the [encoding.TextMarshaler] interface. +func (i MarkerColors) MarshalText() ([]byte, error) { + return []byte(i.String()), nil +} + +// UnmarshalText implements the [encoding.TextUnmarshaler] interface. +func (i *MarkerColors) UnmarshalText(text []byte) error { + if err := i.SetString(string(text)); err != nil { + log.Println("MarkerColors.UnmarshalText:", err) + } + return nil +} + +var _PaintTypesValues = []PaintTypes{0, 1, 2, 3, 4, 5} + +// PaintTypesN is the highest valid value +// for type PaintTypes, plus one. +const PaintTypesN PaintTypes = 6 + +// An "invalid array index" compiler error signifies that the constant values have changed. +// Re-run the enumgen command to generate them again. +func _PaintTypesNoOp() { + var x [1]struct{} + _ = x[PaintOff-(0)] + _ = x[PaintSolid-(1)] + _ = x[PaintLinear-(2)] + _ = x[PaintRadial-(3)] + _ = x[PaintInherit-(4)] + _ = x[PaintTypesN-(5)] +} + +var _PaintTypesNameToValueMap = map[string]PaintTypes{ + `Off`: 0, + `Solid`: 1, + `Linear`: 2, + `Radial`: 3, + `Inherit`: 4, + `TypesN`: 5, +} + +var _PaintTypesDescMap = map[PaintTypes]string{ + 0: ``, + 1: ``, + 2: ``, + 3: ``, + 4: ``, + 5: ``, +} + +var _PaintTypesMap = map[PaintTypes]string{ + 0: `Off`, + 1: `Solid`, + 2: `Linear`, + 3: `Radial`, + 4: `Inherit`, + 5: `TypesN`, +} + +// String returns the string representation +// of this PaintTypes value. +func (i PaintTypes) String() string { + if str, ok := _PaintTypesMap[i]; ok { + return str + } + return strconv.FormatInt(int64(i), 10) +} + +// SetString sets the PaintTypes value from its +// string representation, and returns an +// error if the string is invalid. +func (i *PaintTypes) SetString(s string) error { + if val, ok := _PaintTypesNameToValueMap[s]; ok { + *i = val + return nil + } + return errors.New(s + " is not a valid value for type PaintTypes") +} + +// Int64 returns the PaintTypes value as an int64. +func (i PaintTypes) Int64() int64 { + return int64(i) +} + +// SetInt64 sets the PaintTypes value from an int64. +func (i *PaintTypes) SetInt64(in int64) { + *i = PaintTypes(in) +} + +// Desc returns the description of the PaintTypes value. +func (i PaintTypes) Desc() string { + if str, ok := _PaintTypesDescMap[i]; ok { + return str + } + return i.String() +} + +// PaintTypesValues returns all possible values +// for the type PaintTypes. +func PaintTypesValues() []PaintTypes { + return _PaintTypesValues +} + +// Values returns all possible values +// for the type PaintTypes. +func (i PaintTypes) Values() []enums.Enum { + res := make([]enums.Enum, len(_PaintTypesValues)) + for i, d := range _PaintTypesValues { + res[i] = d + } + return res +} + +// IsValid returns whether the value is a +// valid option for type PaintTypes. +func (i PaintTypes) IsValid() bool { + _, ok := _PaintTypesMap[i] + return ok +} + +// MarshalText implements the [encoding.TextMarshaler] interface. +func (i PaintTypes) MarshalText() ([]byte, error) { + return []byte(i.String()), nil +} + +// UnmarshalText implements the [encoding.TextUnmarshaler] interface. +func (i *PaintTypes) UnmarshalText(text []byte) error { + if err := i.SetString(string(text)); err != nil { + log.Println("PaintTypes.UnmarshalText:", err) + } + return nil +} + +var _StdSizesValues = []StdSizes{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22} + +// StdSizesN is the highest valid value +// for type StdSizes, plus one. +const StdSizesN StdSizes = 23 + +// An "invalid array index" compiler error signifies that the constant values have changed. +// Re-run the enumgen command to generate them again. +func _StdSizesNoOp() { + var x [1]struct{} + _ = x[CustomSize-(0)] + _ = x[Img1280x720-(1)] + _ = x[Img1920x1080-(2)] + _ = x[Img3840x2160-(3)] + _ = x[Img7680x4320-(4)] + _ = x[Img1024x768-(5)] + _ = x[Img720x480-(6)] + _ = x[Img640x480-(7)] + _ = x[Img320x240-(8)] + _ = x[A4-(9)] + _ = x[USLetter-(10)] + _ = x[USLegal-(11)] + _ = x[A0-(12)] + _ = x[A1-(13)] + _ = x[A2-(14)] + _ = x[A3-(15)] + _ = x[A5-(16)] + _ = x[A6-(17)] + _ = x[A7-(18)] + _ = x[A8-(19)] + _ = x[A9-(20)] + _ = x[A10-(21)] + _ = x[StdSizesN-(22)] +} + +var _StdSizesNameToValueMap = map[string]StdSizes{ + `CustomSize`: 0, + `Img1280x720`: 1, + `Img1920x1080`: 2, + `Img3840x2160`: 3, + `Img7680x4320`: 4, + `Img1024x768`: 5, + `Img720x480`: 6, + `Img640x480`: 7, + `Img320x240`: 8, + `A4`: 9, + `USLetter`: 10, + `USLegal`: 11, + `A0`: 12, + `A1`: 13, + `A2`: 14, + `A3`: 15, + `A5`: 16, + `A6`: 17, + `A7`: 18, + `A8`: 19, + `A9`: 20, + `A10`: 21, + `StdSizesN`: 22, +} + +var _StdSizesDescMap = map[StdSizes]string{ + 0: `CustomSize = nonstandard`, + 1: `Image 1280x720 Px = 720p`, + 2: `Image 1920x1080 Px = 1080p HD`, + 3: `Image 3840x2160 Px = 4K`, + 4: `Image 7680x4320 Px = 8K`, + 5: `Image 1024x768 Px = XGA`, + 6: `Image 720x480 Px = DVD`, + 7: `Image 640x480 Px = VGA`, + 8: `Image 320x240 Px = old CRT`, + 9: `A4 = 210 x 297 mm`, + 10: `USLetter = 8.5 x 11 in = 612 x 792 pt`, + 11: `USLegal = 8.5 x 14 in = 612 x 1008 pt`, + 12: `A0 = 841 x 1189 mm`, + 13: `A1 = 594 x 841 mm`, + 14: `A2 = 420 x 594 mm`, + 15: `A3 = 297 x 420 mm`, + 16: `A5 = 148 x 210 mm`, + 17: `A6 = 105 x 148 mm`, + 18: `A7 = 74 x 105`, + 19: `A8 = 52 x 74 mm`, + 20: `A9 = 37 x 52`, + 21: `A10 = 26 x 37`, + 22: ``, +} + +var _StdSizesMap = map[StdSizes]string{ + 0: `CustomSize`, + 1: `Img1280x720`, + 2: `Img1920x1080`, + 3: `Img3840x2160`, + 4: `Img7680x4320`, + 5: `Img1024x768`, + 6: `Img720x480`, + 7: `Img640x480`, + 8: `Img320x240`, + 9: `A4`, + 10: `USLetter`, + 11: `USLegal`, + 12: `A0`, + 13: `A1`, + 14: `A2`, + 15: `A3`, + 16: `A5`, + 17: `A6`, + 18: `A7`, + 19: `A8`, + 20: `A9`, + 21: `A10`, + 22: `StdSizesN`, +} + +// String returns the string representation +// of this StdSizes value. +func (i StdSizes) String() string { + if str, ok := _StdSizesMap[i]; ok { + return str + } + return strconv.FormatInt(int64(i), 10) +} + +// SetString sets the StdSizes value from its +// string representation, and returns an +// error if the string is invalid. +func (i *StdSizes) SetString(s string) error { + if val, ok := _StdSizesNameToValueMap[s]; ok { + *i = val + return nil + } + return errors.New(s + " is not a valid value for type StdSizes") +} + +// Int64 returns the StdSizes value as an int64. +func (i StdSizes) Int64() int64 { + return int64(i) +} + +// SetInt64 sets the StdSizes value from an int64. +func (i *StdSizes) SetInt64(in int64) { + *i = StdSizes(in) +} + +// Desc returns the description of the StdSizes value. +func (i StdSizes) Desc() string { + if str, ok := _StdSizesDescMap[i]; ok { + return str + } + return i.String() +} + +// StdSizesValues returns all possible values +// for the type StdSizes. +func StdSizesValues() []StdSizes { + return _StdSizesValues +} + +// Values returns all possible values +// for the type StdSizes. +func (i StdSizes) Values() []enums.Enum { + res := make([]enums.Enum, len(_StdSizesValues)) + for i, d := range _StdSizesValues { + res[i] = d + } + return res +} + +// IsValid returns whether the value is a +// valid option for type StdSizes. +func (i StdSizes) IsValid() bool { + _, ok := _StdSizesMap[i] + return ok +} + +// MarshalText implements the [encoding.TextMarshaler] interface. +func (i StdSizes) MarshalText() ([]byte, error) { + return []byte(i.String()), nil +} + +// UnmarshalText implements the [encoding.TextUnmarshaler] interface. +func (i *StdSizes) UnmarshalText(text []byte) error { + if err := i.SetString(string(text)); err != nil { + log.Println("StdSizes.UnmarshalText:", err) + } + return nil +} + +var _SpritesValues = []Sprites{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14} + +// SpritesN is the highest valid value +// for type Sprites, plus one. +const SpritesN Sprites = 15 + +// An "invalid array index" compiler error signifies that the constant values have changed. +// Re-run the enumgen command to generate them again. +func _SpritesNoOp() { + var x [1]struct{} + _ = x[SpUnk-(0)] + _ = x[SpReshapeBBox-(1)] + _ = x[SpSelBBox-(2)] + _ = x[SpNodePoint-(3)] + _ = x[SpNodeCtrl-(4)] + _ = x[SpRubberBand-(5)] + _ = x[SpAlignMatch-(6)] + _ = x[SpBBoxUpL-(7)] + _ = x[SpBBoxUpC-(8)] + _ = x[SpBBoxUpR-(9)] + _ = x[SpBBoxDnL-(10)] + _ = x[SpBBoxDnC-(11)] + _ = x[SpBBoxDnR-(12)] + _ = x[SpBBoxLfM-(13)] + _ = x[SpBBoxRtM-(14)] +} + +var _SpritesNameToValueMap = map[string]Sprites{ + `SpUnk`: 0, + `SpReshapeBBox`: 1, + `SpSelBBox`: 2, + `SpNodePoint`: 3, + `SpNodeCtrl`: 4, + `SpRubberBand`: 5, + `SpAlignMatch`: 6, + `SpBBoxUpL`: 7, + `SpBBoxUpC`: 8, + `SpBBoxUpR`: 9, + `SpBBoxDnL`: 10, + `SpBBoxDnC`: 11, + `SpBBoxDnR`: 12, + `SpBBoxLfM`: 13, + `SpBBoxRtM`: 14, +} + +var _SpritesDescMap = map[Sprites]string{ + 0: `SpUnk is an unknown sprite type`, + 1: `SpReshapeBBox is a reshape bbox -- the overall active selection BBox for active manipulation`, + 2: `SpSelBBox is a selection bounding box -- display only`, + 3: `SpNodePoint is a main coordinate point for path node`, + 4: `SpNodeCtrl is a control coordinate point for path node`, + 5: `SpRubberBand is the draggable sel box subtyp = UpC, LfM, RtM, DnC for sides`, + 6: `SpAlignMatch is an alignment match (n of these), subtyp is actually BBoxPoints so we just hack cast that`, + 7: `Sprite bounding boxes are set as a "bbox" property on sprites`, + 8: ``, + 9: ``, + 10: ``, + 11: ``, + 12: ``, + 13: ``, + 14: ``, +} + +var _SpritesMap = map[Sprites]string{ + 0: `SpUnk`, + 1: `SpReshapeBBox`, + 2: `SpSelBBox`, + 3: `SpNodePoint`, + 4: `SpNodeCtrl`, + 5: `SpRubberBand`, + 6: `SpAlignMatch`, + 7: `SpBBoxUpL`, + 8: `SpBBoxUpC`, + 9: `SpBBoxUpR`, + 10: `SpBBoxDnL`, + 11: `SpBBoxDnC`, + 12: `SpBBoxDnR`, + 13: `SpBBoxLfM`, + 14: `SpBBoxRtM`, +} + +// String returns the string representation +// of this Sprites value. +func (i Sprites) String() string { + if str, ok := _SpritesMap[i]; ok { + return str + } + return strconv.FormatInt(int64(i), 10) +} + +// SetString sets the Sprites value from its +// string representation, and returns an +// error if the string is invalid. +func (i *Sprites) SetString(s string) error { + if val, ok := _SpritesNameToValueMap[s]; ok { + *i = val + return nil + } + return errors.New(s + " is not a valid value for type Sprites") +} + +// Int64 returns the Sprites value as an int64. +func (i Sprites) Int64() int64 { + return int64(i) +} + +// SetInt64 sets the Sprites value from an int64. +func (i *Sprites) SetInt64(in int64) { + *i = Sprites(in) +} + +// Desc returns the description of the Sprites value. +func (i Sprites) Desc() string { + if str, ok := _SpritesDescMap[i]; ok { + return str + } + return i.String() +} + +// SpritesValues returns all possible values +// for the type Sprites. +func SpritesValues() []Sprites { + return _SpritesValues +} + +// Values returns all possible values +// for the type Sprites. +func (i Sprites) Values() []enums.Enum { + res := make([]enums.Enum, len(_SpritesValues)) + for i, d := range _SpritesValues { + res[i] = d + } + return res +} + +// IsValid returns whether the value is a +// valid option for type Sprites. +func (i Sprites) IsValid() bool { + _, ok := _SpritesMap[i] + return ok +} + +// MarshalText implements the [encoding.TextMarshaler] interface. +func (i Sprites) MarshalText() ([]byte, error) { + return []byte(i.String()), nil +} + +// UnmarshalText implements the [encoding.TextUnmarshaler] interface. +func (i *Sprites) UnmarshalText(text []byte) error { + if err := i.SetString(string(text)); err != nil { + log.Println("Sprites.UnmarshalText:", err) + } + return nil +} + +var _ToolsValues = []Tools{0, 1, 2, 3, 4, 5} + +// ToolsN is the highest valid value +// for type Tools, plus one. +const ToolsN Tools = 6 + +// An "invalid array index" compiler error signifies that the constant values have changed. +// Re-run the enumgen command to generate them again. +func _ToolsNoOp() { + var x [1]struct{} + _ = x[SelectTool-(0)] + _ = x[NodeTool-(1)] + _ = x[RectTool-(2)] + _ = x[EllipseTool-(3)] + _ = x[BezierTool-(4)] + _ = x[TextTool-(5)] +} + +var _ToolsNameToValueMap = map[string]Tools{ + `SelectTool`: 0, + `NodeTool`: 1, + `RectTool`: 2, + `EllipseTool`: 3, + `BezierTool`: 4, + `TextTool`: 5, +} + +var _ToolsDescMap = map[Tools]string{ + 0: ``, + 1: ``, + 2: ``, + 3: ``, + 4: ``, + 5: ``, +} + +var _ToolsMap = map[Tools]string{ + 0: `SelectTool`, + 1: `NodeTool`, + 2: `RectTool`, + 3: `EllipseTool`, + 4: `BezierTool`, + 5: `TextTool`, +} + +// String returns the string representation +// of this Tools value. +func (i Tools) String() string { + if str, ok := _ToolsMap[i]; ok { + return str + } + return strconv.FormatInt(int64(i), 10) +} + +// SetString sets the Tools value from its +// string representation, and returns an +// error if the string is invalid. +func (i *Tools) SetString(s string) error { + if val, ok := _ToolsNameToValueMap[s]; ok { + *i = val + return nil + } + return errors.New(s + " is not a valid value for type Tools") +} + +// Int64 returns the Tools value as an int64. +func (i Tools) Int64() int64 { + return int64(i) +} + +// SetInt64 sets the Tools value from an int64. +func (i *Tools) SetInt64(in int64) { + *i = Tools(in) +} + +// Desc returns the description of the Tools value. +func (i Tools) Desc() string { + if str, ok := _ToolsDescMap[i]; ok { + return str + } + return i.String() +} + +// ToolsValues returns all possible values +// for the type Tools. +func ToolsValues() []Tools { + return _ToolsValues +} + +// Values returns all possible values +// for the type Tools. +func (i Tools) Values() []enums.Enum { + res := make([]enums.Enum, len(_ToolsValues)) + for i, d := range _ToolsValues { + res[i] = d + } + return res +} + +// IsValid returns whether the value is a +// valid option for type Tools. +func (i Tools) IsValid() bool { + _, ok := _ToolsMap[i] + return ok +} + +// MarshalText implements the [encoding.TextMarshaler] interface. +func (i Tools) MarshalText() ([]byte, error) { + return []byte(i.String()), nil +} + +// UnmarshalText implements the [encoding.TextUnmarshaler] interface. +func (i *Tools) UnmarshalText(text []byte) error { + if err := i.SetString(string(text)); err != nil { + log.Println("Tools.UnmarshalText:", err) + } + return nil +} + +var _VectorViewFlagsValues = []VectorViewFlags{8} + +// VectorViewFlagsN is the highest valid value +// for type VectorViewFlags, plus one. +const VectorViewFlagsN VectorViewFlags = 9 + +// An "invalid array index" compiler error signifies that the constant values have changed. +// Re-run the enumgen command to generate them again. +func _VectorViewFlagsNoOp() { + var x [1]struct{} + _ = x[VectorViewAutoSaving-(8)] +} + +var _VectorViewFlagsNameToValueMap = map[string]VectorViewFlags{ + `VectorViewAutoSaving`: 8, +} + +var _VectorViewFlagsDescMap = map[VectorViewFlags]string{ + 8: `VectorViewAutoSaving means`, +} + +var _VectorViewFlagsMap = map[VectorViewFlags]string{ + 8: `VectorViewAutoSaving`, +} + +// String returns the string representation +// of this VectorViewFlags value. +func (i VectorViewFlags) String() string { + str := "" + for _, ie := range gi.WidgetFlagsValues() { + if i.HasFlag(ie) { + ies := ie.BitIndexString() + if str == "" { + str = ies + } else { + str += "|" + ies + } + } + } + for _, ie := range _VectorViewFlagsValues { + if i.HasFlag(ie) { + ies := ie.BitIndexString() + if str == "" { + str = ies + } else { + str += "|" + ies + } + } + } + return str +} + +// BitIndexString returns the string +// representation of this VectorViewFlags value +// if it is a bit index value +// (typically an enum constant), and +// not an actual bit flag value. +func (i VectorViewFlags) BitIndexString() string { + if str, ok := _VectorViewFlagsMap[i]; ok { + return str + } + return gi.WidgetFlags(i).BitIndexString() +} + +// SetString sets the VectorViewFlags value from its +// string representation, and returns an +// error if the string is invalid. +func (i *VectorViewFlags) SetString(s string) error { + *i = 0 + return i.SetStringOr(s) +} + +// SetStringOr sets the VectorViewFlags value from its +// string representation while preserving any +// bit flags already set, and returns an +// error if the string is invalid. +func (i *VectorViewFlags) SetStringOr(s string) error { + flgs := strings.Split(s, "|") + for _, flg := range flgs { + if val, ok := _VectorViewFlagsNameToValueMap[flg]; ok { + i.SetFlag(true, &val) + } else if flg == "" { + continue + } else { + err := (*gi.WidgetFlags)(i).SetStringOr(flg) + if err != nil { + return err + } + } + } + return nil +} + +// Int64 returns the VectorViewFlags value as an int64. +func (i VectorViewFlags) Int64() int64 { + return int64(i) +} + +// SetInt64 sets the VectorViewFlags value from an int64. +func (i *VectorViewFlags) SetInt64(in int64) { + *i = VectorViewFlags(in) +} + +// Desc returns the description of the VectorViewFlags value. +func (i VectorViewFlags) Desc() string { + if str, ok := _VectorViewFlagsDescMap[i]; ok { + return str + } + return gi.WidgetFlags(i).Desc() +} + +// VectorViewFlagsValues returns all possible values +// for the type VectorViewFlags. +func VectorViewFlagsValues() []VectorViewFlags { + es := gi.WidgetFlagsValues() + res := make([]VectorViewFlags, len(es)) + for i, e := range es { + res[i] = VectorViewFlags(e) + } + res = append(res, _VectorViewFlagsValues...) + return res +} + +// Values returns all possible values +// for the type VectorViewFlags. +func (i VectorViewFlags) Values() []enums.Enum { + es := gi.WidgetFlagsValues() + les := len(es) + res := make([]enums.Enum, les+len(_VectorViewFlagsValues)) + for i, d := range es { + res[i] = d + } + for i, d := range _VectorViewFlagsValues { + res[i+les] = d + } + return res +} + +// IsValid returns whether the value is a +// valid option for type VectorViewFlags. +func (i VectorViewFlags) IsValid() bool { + _, ok := _VectorViewFlagsMap[i] + if !ok { + return gi.WidgetFlags(i).IsValid() + } + return ok +} + +// HasFlag returns whether these +// bit flags have the given bit flag set. +func (i VectorViewFlags) HasFlag(f enums.BitFlag) bool { + return atomic.LoadInt64((*int64)(&i))&(1<%s
: %s", act, help)) + sv.VectorView.SetStatus(fmt.Sprintf("%s: %s", act, help)) sv.UndoSave(act, data) es.ActUnlock() } // ManipDone happens when a manipulation has finished: resets action, does render func (sv *SVGView) ManipDone() { - win := sv.GridView.ParentWindow() + win := sv.VectorView.ParentWindow() InactivateSprites(win, SpAlignMatch) es := sv.EditState() switch { @@ -52,7 +48,7 @@ func (sv *SVGView) ManipDone() { es.ActDone() sv.UpdateView(true) sv.UpdateSelect() - sv.GridView.ChangeMade() + sv.VectorView.ChangeMade() } // ManipUpdate is called from goroutine: 'go sv.ManipUpdate()' to update the @@ -65,10 +61,10 @@ func (sv *SVGView) ManipUpdate() { sv.UpdateSig() } -// GridDots is the current grid spacing and offsets in dots -func (sv *SVGView) GridDots() (float32, mat32.Vec2) { - svoff := mat32.NewVec2FmPoint(sv.WinBBox.Min) - grid := sv.GridEff +// VectorDots is the current grid spacing and offsets in dots +func (sv *SVGView) VectorDots() (float32, mat32.Vec2) { + svoff := mat32.V2FromPoint(sv.BBox.Min) + grid := sv.VectorEff if grid <= 0 { grid = 12 } @@ -112,11 +108,11 @@ func SnapToIncr(val, off, incr float32) (float32, bool) { return val, false } -func (sv *SVGView) SnapPointToGrid(rawpt mat32.Vec2) mat32.Vec2 { - if !Prefs.SnapGrid { +func (sv *SVGView) SnapPointToVector(rawpt mat32.Vec2) mat32.Vec2 { + if !Prefs.SnapVector { return rawpt } - grinc, groff := sv.GridDots() + grinc, groff := sv.VectorDots() var snpt mat32.Vec2 snpt.X, _ = SnapToIncr(rawpt.X, groff.X, grinc) snpt.Y, _ = SnapToIncr(rawpt.Y, groff.Y, grinc) @@ -127,7 +123,7 @@ func (sv *SVGView) SnapPointToGrid(rawpt mat32.Vec2) mat32.Vec2 { // in window coordinates. returns the snapped point. func (sv *SVGView) SnapPoint(rawpt mat32.Vec2) mat32.Vec2 { es := sv.EditState() - snpt := sv.SnapPointToGrid(rawpt) + snpt := sv.SnapPointToVector(rawpt) if !Prefs.SnapGuide { return snpt } @@ -161,7 +157,7 @@ func (sv *SVGView) SnapPoint(rawpt mat32.Vec2) mat32.Vec2 { sval, snap := SnapToPt(bv, clVals[dim][0].Dim(dim)) if snap { snpt.SetDim(dim, sval) - mx := ints.MinInt(len(clVals[dim]), 4) + mx := min(len(clVals[dim]), 4) for i := 0; i < mx; i++ { pt := clVals[dim][i] rpt := image.Rectangle{} @@ -223,7 +219,7 @@ func (sv *SVGView) SnapBBox(rawbb mat32.Box2) mat32.Box2 { sval, snap := SnapToPt(bv, clVals[dim][0].Dim(dim)) if snap { clPts[dim][0].MoveDelta(&snapbb, sval-bv) - mx := ints.MinInt(len(clVals[dim]), 4) + mx := min(len(clVals[dim]), 4) for i := 0; i < mx; i++ { pt := clVals[dim][i] rpt := image.Rectangle{} @@ -305,6 +301,7 @@ func (sv *SVGView) ConstrainPoint(st, rawpt mat32.Vec2) (mat32.Vec2, bool) { return cp, diag } +/* // DragMove is when dragging a selection for moving func (sv *SVGView) DragMove(win *gi.Window, me *mouse.DragEvent) { es := sv.EditState() @@ -316,9 +313,9 @@ func (sv *SVGView) DragMove(win *gi.Window, me *mouse.DragEvent) { sv.GatherAlignPoints() } - svoff := mat32.NewVec2FmPoint(sv.WinBBox.Min) - spt := mat32.NewVec2FmPoint(es.DragStartPos) - mpt := mat32.NewVec2FmPoint(me.Where) + svoff := mat32.V2FromPoint(sv.BBox.Min) + spt := mat32.V2FromPoint(es.DragStartPos) + mpt := mat32.V2FromPoint(me.Where) if me.HasAnyModifier(key.Control) { mpt, _ = sv.ConstrainPoint(spt, mpt) } @@ -328,7 +325,7 @@ func (sv *SVGView) DragMove(win *gi.Window, me *mouse.DragEvent) { es.DragSelCurBBox.Min.SetAdd(dv) es.DragSelCurBBox.Max.SetAdd(dv) - es.DragSelEffBBox.Min = sv.SnapPointToGrid(es.DragSelCurBBox.Min) + es.DragSelEffBBox.Min = sv.SnapPointToVector(es.DragSelCurBBox.Min) ndv := es.DragSelEffBBox.Min.Sub(es.DragSelStartBBox.Min) es.DragSelEffBBox.Max = es.DragSelStartBBox.Max.Add(ndv) @@ -346,6 +343,7 @@ func (sv *SVGView) DragMove(win *gi.Window, me *mouse.DragEvent) { win.UpdateSig() } +*/ func SquareBBox(bb mat32.Box2) mat32.Box2 { del := bb.Size() @@ -373,6 +371,7 @@ func ProportionalBBox(bb, orig mat32.Box2) mat32.Box2 { return bb } +/* // SpriteReshapeDrag processes a mouse reshape drag event on a selection sprite func (sv *SVGView) SpriteReshapeDrag(sp Sprites, win *gi.Window, me *mouse.DragEvent) { es := sv.EditState() @@ -387,8 +386,8 @@ func (sv *SVGView) SpriteReshapeDrag(sp Sprites, win *gi.Window, me *mouse.DragE stpos := es.DragSelStartBBox.Min bbX, bbY := ReshapeBBoxPoints(sp) - spt := mat32.NewVec2FmPoint(es.DragStartPos) - mpt := mat32.NewVec2FmPoint(me.Where) + spt := mat32.V2FromPoint(es.DragStartPos) + mpt := mat32.V2FromPoint(me.Where) diag := false if me.HasAnyModifier(key.Control) && (bbX != BBCenter && bbY != BBMiddle) { mpt, diag = sv.ConstrainPoint(spt, mpt) @@ -448,7 +447,7 @@ func (sv *SVGView) SpriteReshapeDrag(sp Sprites, win *gi.Window, me *mouse.DragE npos := es.DragSelEffBBox.Min nsz := es.DragSelEffBBox.Size() - svoff := mat32.NewVec2FmPoint(sv.WinBBox.Min) + svoff := mat32.V2FromPoint(sv.BBox.Min) pt := es.DragSelStartBBox.Min.Sub(svoff) del := npos.Sub(stpos) sc := nsz.Div(stsz) @@ -467,14 +466,15 @@ func (sv *SVGView) SpriteReshapeDrag(sp Sprites, win *gi.Window, me *mouse.DragE go sv.ManipUpdate() win.UpdateSig() } +*/ // SpriteRotateDrag processes a mouse rotate drag event on a selection sprite -func (sv *SVGView) SpriteRotateDrag(sp Sprites, delta image.Point, win *gi.Window) { +func (sv *SVGView) SpriteRotateDrag(sp Sprites, delta image.Point) { es := sv.EditState() if !es.InAction() { sv.ManipStart("Rotate", es.SelectedNamesString()) } - dv := mat32.NewVec2FmPoint(delta) + dv := mat32.V2FromPoint(delta) pt := es.DragSelStartBBox.Min ctr := es.DragSelStartBBox.Min.Add(es.DragSelStartBBox.Max).MulScalar(.5) var dx, dy float32 @@ -528,7 +528,7 @@ func (sv *SVGView) SpriteRotateDrag(sp Sprites, delta image.Point, win *gi.Windo ang := mat32.Atan2(dy, dx) ang, _ = SnapToIncr(mat32.RadToDeg(ang), 0, 15) ang = mat32.DegToRad(ang) - svoff := mat32.NewVec2FmPoint(sv.WinBBox.Min) + svoff := mat32.V2FromPoint(sv.BBox.Min) pt = pt.Sub(svoff) del := mat32.Vec2{} sc := mat32.V2(1, 1) @@ -544,5 +544,4 @@ func (sv *SVGView) SpriteRotateDrag(sp Sprites, delta image.Point, win *gi.Windo sv.SetBBoxSpritePos(SpReshapeBBox, 0, es.DragSelCurBBox) sv.SetSelSpritePos() go sv.ManipUpdate() - win.UpdateSig() } diff --git a/grid/markers.go b/vector/markers.go similarity index 95% rename from grid/markers.go rename to vector/markers.go index a8f9ce16..d69e8364 100644 --- a/grid/markers.go +++ b/vector/markers.go @@ -1,8 +1,8 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( "bytes" @@ -10,29 +10,29 @@ import ( "log" "strings" - "github.com/goki/gi/gi" - "github.com/goki/gi/svg" - "github.com/goki/gi/units" - "github.com/goki/ki/ki" - "github.com/goki/ki/kit" - "github.com/goki/mat32" + "cogentcore.org/core/icons" + "cogentcore.org/core/ki" + "cogentcore.org/core/laser" + "cogentcore.org/core/mat32" + "cogentcore.org/core/svg" + "cogentcore.org/core/units" ) // MarkerFromNodeProp returns the marker name (canonicalized -- no id) // and id and color type func MarkerFromNodeProp(kn ki.Ki, prop string) (string, int, MarkerColors) { if kn == nil { - return "", 0, MarkerStdColor + return "", 0, MarkerDef } p := kn.Prop(prop) if p == nil { - return "", 0, MarkerStdColor + return "", 0, MarkerDef } - ms := kit.ToString(p) + ms := laser.ToString(p) if ms == "" { - return "", 0, MarkerStdColor + return "", 0, MarkerDef } - mc := MarkerStdColor + mc := MarkerDef nm, id := svg.SplitNameIdDig(svg.NameFromURL(ms)) if id > 0 { _, sid := svg.SplitNameIdDig(kn.Name()) @@ -48,11 +48,11 @@ func MarkerFromNodeProp(kn ki.Ki, prop string) (string, int, MarkerColors) { // RecycleMarker ensures that given marker name and id exists in SVG, // making a new one, copying from standard markers if not. // if mc is MarkerCopyColor then sets marker colors to node colors. -func RecycleMarker(sg *svg.SVG, sii svg.NodeSVG, name string, id int, mc MarkerColors) *svg.Marker { +func RecycleMarker(sg *svg.SVG, sii svg.Node, name string, id int, mc MarkerColors) *svg.Marker { nmeff := svg.NameId(name, id) mk := sg.FindDefByName(nmeff) - fc := kit.ToString(sii.Prop("fill")) - sc := kit.ToString(sii.Prop("stroke")) + fc := laser.ToString(sii.Prop("fill")) + sc := laser.ToString(sii.Prop("stroke")) var mmk *svg.Marker newmk := false if mk != nil { @@ -62,7 +62,7 @@ func RecycleMarker(sg *svg.SVG, sii svg.NodeSVG, name string, id int, mc MarkerC newmk = true } switch mc { - case MarkerStdColor: + case MarkerDef: if newmk { MarkerDeleteCtxtColors(mmk) // get rid of those context-stroke etc } @@ -78,7 +78,7 @@ func RecycleMarker(sg *svg.SVG, sii svg.NodeSVG, name string, id int, mc MarkerC // MarkerSetColors sets color properties in each element func MarkerSetColors(mk *svg.Marker, fill, stroke string) { - mk.FuncDownMeFirst(0, nil, func(k ki.Ki, level int, d any) bool { + mk.WalkPre(func(k ki.Ki) bool { fp := k.Prop("fill") if fp != nil { if strings.HasPrefix(mk.Nm, "Empty") { @@ -101,17 +101,17 @@ func MarkerSetColors(mk *svg.Marker, fill, stroke string) { // MarkerDeleteCtxtColors deletes context-* color names from standard code func MarkerDeleteCtxtColors(mk *svg.Marker) { - mk.FuncDownMeFirst(0, nil, func(k ki.Ki, level int, d any) bool { + mk.WalkPre(func(k ki.Ki) bool { fp := k.Prop("fill") if fp != nil { - fps := kit.ToString(fp) + fps := laser.ToString(fp) if strings.HasPrefix(fps, "context-") { k.DeleteProp("fill") } } sp := k.Prop("stroke") if sp != nil { - sps := kit.ToString(sp) + sps := laser.ToString(sp) if strings.HasPrefix(sps, "context-") { k.DeleteProp("stroke") } @@ -162,7 +162,7 @@ func NewMarker(sg *svg.SVG, name string, id int) *svg.Marker { } // MarkerSetProp sets marker property for given node to given marker name (canonical) -func MarkerSetProp(sg *svg.SVG, sii svg.NodeSVG, prop, name string, mc MarkerColors) { +func MarkerSetProp(sg *svg.SVG, sii svg.Node, prop, name string, mc MarkerColors) { onm, oid, omc := MarkerFromNodeProp(sii, prop) _, nid := svg.SplitNameIdDig(sii.Name()) if onm == name && oid == nid && omc == mc { @@ -187,7 +187,7 @@ func MarkerSetProp(sg *svg.SVG, sii svg.NodeSVG, prop, name string, mc MarkerCol var nmk *svg.Marker switch mc { - case MarkerStdColor: + case MarkerDef: nmk = RecycleMarker(sg, sii, name, 0, mc) case MarkerCopyColor: nmk = RecycleMarker(sg, sii, name, nid, mc) @@ -202,7 +202,7 @@ func MarkerSetProp(sg *svg.SVG, sii svg.NodeSVG, prop, name string, mc MarkerCol } // MarkerUpdateColorProp updates marker color for given marker property -func MarkerUpdateColorProp(sg *svg.SVG, sii svg.NodeSVG, prop string) { +func MarkerUpdateColorProp(sg *svg.SVG, sii svg.Node, prop string) { nm, id, mc := MarkerFromNodeProp(sii, prop) if nm == "" || mc != MarkerCopyColor { return @@ -211,35 +211,19 @@ func MarkerUpdateColorProp(sg *svg.SVG, sii svg.NodeSVG, prop string) { } // MarkerColors are the drawing tools -type MarkerColors int +type MarkerColors int32 //enums:enum -trim-prefix Marker const ( // use the default color of marker (typically black) - MarkerStdColor MarkerColors = iota + MarkerDef MarkerColors = iota // copy color of object using marker (create separate marker object per element) - MarkerCopyColor + MarkerCopy // marker has its own separate custom color - MarkerCustomColor - - MarkerColorsN + MarkerCust ) -//go:generate stringer -type=MarkerColors - -var KiT_MarkerColors = kit.Enums.AddEnum(MarkerColorsN, kit.NotBitFlag, nil) - -func (ev MarkerColors) MarshalJSON() ([]byte, error) { return kit.EnumMarshalJSON(ev) } -func (ev *MarkerColors) UnmarshalJSON(b []byte) error { return kit.EnumUnmarshalJSON(ev, b) } - -// MarkerColorNames are user-facing names for colors (todo: use icons instead) -var MarkerColorNames = []string{ - "Def", - "Copy", - "Cust", -} - ////////////////////////////////////////////////////////////////////////// // AllMarkers Collection @@ -259,7 +243,7 @@ var AllMarkerNames []string // AllMarkerIconNames contains all of the available marker names as // IconNames -- for chooser. All names have marker- prefix in addition // to regular marker names. -var AllMarkerIconNames []gi.IconName +var AllMarkerIconNames []icons.Icon func init() { AllMarkersXMLMap = make(map[string]string, len(StdMarkersMap)) @@ -272,15 +256,15 @@ func init() { } } -// IconToMarkerName converts a gi.IconName (as an interface{}) +// IconToMarkerName converts a icons.Icon (as an interface{}) // to a marker name suitable for use (removes marker- prefix) func IconToMarkerName(icnm any) string { - return strings.TrimPrefix(kit.ToString(icnm), "marker-") + return strings.TrimPrefix(laser.ToString(icnm), "marker-") } -// MarkerNameToIcon converts a marker name to a gi.IconName -func MarkerNameToIcon(nm string) gi.IconName { - return gi.IconName("marker-" + nm) +// MarkerNameToIcon converts a marker name to a icons.Icon +func MarkerNameToIcon(nm string) icons.Icon { + return icons.Icon("marker-" + nm) } // MarkerIconsInited records whether the dashes have been initialized into @@ -296,9 +280,9 @@ func MarkerIconsInit() { return } - AllMarkerIconNames = make([]gi.IconName, len(AllMarkerNames)) + AllMarkerIconNames = make([]icons.Icon, len(AllMarkerNames)) for i, v := range AllMarkerNames { - AllMarkerIconNames[i] = gi.IconName("marker-" + v) + AllMarkerIconNames[i] = icons.Icon("marker-" + v) } AllMarkersSVGMap = make(map[string]*svg.Marker, len(AllMarkersXMLMap)) diff --git a/grid/paint.go b/vector/paint.go similarity index 71% rename from grid/paint.go rename to vector/paint.go index 5df951e8..9d5d7767 100644 --- a/grid/paint.go +++ b/vector/paint.go @@ -1,21 +1,19 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( "fmt" - "strings" - - "github.com/goki/gi/gi" - "github.com/goki/gi/girl" - "github.com/goki/gi/gist" - "github.com/goki/gi/giv" - "github.com/goki/gi/svg" - "github.com/goki/gi/units" - "github.com/goki/ki/ki" - "github.com/goki/ki/kit" + + "cogentcore.org/core/gi" + "cogentcore.org/core/giv" + "cogentcore.org/core/ki" + "cogentcore.org/core/laser" + "cogentcore.org/core/styles" + "cogentcore.org/core/svg" + "cogentcore.org/core/units" ) // PaintView provides editing of basic Stroke and Fill painting parameters @@ -35,19 +33,17 @@ type PaintView struct { // name of gradient with stops FillStops string - // the parent gridview - GridView *GridView `copy:"-" json:"-" xml:"-" view:"-"` + // the parent vectorview + VectorView *VectorView `copier:"-" json:"-" xml:"-" view:"-"` } -var KiT_PaintView = kit.Types.AddType(&PaintView{}, PaintViewProps) - ///////////////////////////////////////////////////////////////////////// // Actions // ManipAction manages all the updating etc associated with performing an action // that includes an ongoing manipulation with a final non-manip update. // runs given function to actually do the update. -func (gv *GridView) ManipAction(act, data string, manip bool, fun func(sii svg.NodeSVG)) { +func (gv *VectorView) ManipAction(act, data string, manip bool, fun func(sii svg.Node)) { es := &gv.EditState sv := gv.SVG() updt := false @@ -83,10 +79,10 @@ func (gv *GridView) ManipAction(act, data string, manip bool, fun func(sii svg.N } } -func (gv *GridView) ManipActionFun(sii svg.NodeSVG, fun func(itm svg.NodeSVG)) { +func (gv *VectorView) ManipActionFun(sii svg.Node, fun func(itm svg.Node)) { if gp, isgp := sii.(*svg.Group); isgp { for _, kid := range gp.Kids { - gv.ManipActionFun(kid.(svg.NodeSVG), fun) + gv.ManipActionFun(kid.(svg.Node), fun) } return } @@ -95,10 +91,10 @@ func (gv *GridView) ManipActionFun(sii svg.NodeSVG, fun func(itm svg.NodeSVG)) { // SetColorNode sets the color properties of Node // based on previous and current PaintType -func (gv *GridView) SetColorNode(sii svg.NodeSVG, prop string, prev, pt PaintTypes, sp string) { +func (gv *VectorView) SetColorNode(sii svg.Node, prop string, prev, pt PaintTypes, sp string) { if gp, isgp := sii.(*svg.Group); isgp { for _, kid := range gp.Kids { - gv.SetColorNode(kid.(svg.NodeSVG), prop, prev, pt, sp) + gv.SetColorNode(kid.(svg.Node), prop, prev, pt, sp) } return } @@ -109,17 +105,17 @@ func (gv *GridView) SetColorNode(sii svg.NodeSVG, prop string, prev, pt PaintTyp svg.UpdateNodeGradientProp(sii, prop, true, sp) default: if prev == PaintLinear || prev == PaintRadial { - pstr := kit.ToString(sii.Prop(prop)) + pstr := laser.ToString(sii.Prop(prop)) svg.DeleteNodeGradient(sii, pstr) } - sii.AsSVGNode().SetColorProps(prop, sp) + sii.AsNodeBase().SetColorProps(prop, sp) } gv.UpdateMarkerColors(sii) } // SetStroke sets the stroke properties of selected items // based on previous and current PaintType -func (gv *GridView) SetStroke(prev, pt PaintTypes, sp string) { +func (gv *VectorView) SetStroke(prev, pt PaintTypes, sp string) { es := &gv.EditState sv := gv.SVG() sv.UndoSave("SetStroke", sp) @@ -133,14 +129,14 @@ func (gv *GridView) SetStroke(prev, pt PaintTypes, sp string) { } // SetStrokeWidthNode sets the stroke width of Node -func (gv *GridView) SetStrokeWidthNode(sii svg.NodeSVG, wp string) { +func (gv *VectorView) SetStrokeWidthNode(sii svg.Node, wp string) { if gp, isgp := sii.(*svg.Group); isgp { for _, kid := range gp.Kids { - gv.SetStrokeWidthNode(kid.(svg.NodeSVG), wp) + gv.SetStrokeWidthNode(kid.(svg.Node), wp) } return } - g := sii.AsSVGNode() + g := sii.AsNodeBase() if !g.Pnt.StrokeStyle.Color.IsNil() { g.SetProp("stroke-width", wp) } @@ -148,7 +144,7 @@ func (gv *GridView) SetStrokeWidthNode(sii svg.NodeSVG, wp string) { // SetStrokeWidth sets the stroke width property for selected items // manip means currently being manipulated -- don't save undo. -func (gv *GridView) SetStrokeWidth(wp string, manip bool) { +func (gv *VectorView) SetStrokeWidth(wp string, manip bool) { es := &gv.EditState sv := gv.SVG() updt := false @@ -158,7 +154,7 @@ func (gv *GridView) SetStrokeWidth(wp string, manip bool) { sv.SetFullReRender() } for itm := range es.Selected { - gv.SetStrokeWidthNode(itm.(svg.NodeSVG), wp) + gv.SetStrokeWidthNode(itm.(svg.Node), wp) } if !manip { sv.UpdateEnd(updt) @@ -170,22 +166,22 @@ func (gv *GridView) SetStrokeWidth(wp string, manip bool) { // SetStrokeColor sets the stroke color for selected items. // manip means currently being manipulated -- don't save undo. -func (gv *GridView) SetStrokeColor(sp string, manip bool) { +func (gv *VectorView) SetStrokeColor(sp string, manip bool) { gv.ManipAction("SetStrokeColor", sp, manip, - func(itm svg.NodeSVG) { + func(itm svg.Node) { p := itm.Prop("stroke") if p != nil { - itm.AsSVGNode().SetColorProps("stroke", sp) + itm.AsNodeBase().SetColorProps("stroke", sp) gv.UpdateMarkerColors(itm) } }) } // SetMarkerNode sets the marker properties of Node. -func (gv *GridView) SetMarkerNode(sii svg.NodeSVG, start, mid, end string, sc, mc, ec MarkerColors) { +func (gv *VectorView) SetMarkerNode(sii svg.Node, start, mid, end string, sc, mc, ec MarkerColors) { if gp, isgp := sii.(*svg.Group); isgp { for _, kid := range gp.Kids { - gv.SetMarkerNode(kid.(svg.NodeSVG), start, mid, end, sc, mc, ec) + gv.SetMarkerNode(kid.(svg.Node), start, mid, end, sc, mc, ec) } return } @@ -196,7 +192,7 @@ func (gv *GridView) SetMarkerNode(sii svg.NodeSVG, start, mid, end string, sc, m } // SetMarkerProps sets the marker props -func (gv *GridView) SetMarkerProps(start, mid, end string, sc, mc, ec MarkerColors) { +func (gv *VectorView) SetMarkerProps(start, mid, end string, sc, mc, ec MarkerColors) { es := &gv.EditState sv := gv.SVG() sv.UndoSave("SetMarkerProps", start+" "+mid+" "+end) @@ -210,7 +206,7 @@ func (gv *GridView) SetMarkerProps(start, mid, end string, sc, mc, ec MarkerColo } // UpdateMarkerColors updates the marker colors, when setting fill or stroke -func (gv *GridView) UpdateMarkerColors(sii svg.NodeSVG) { +func (gv *VectorView) UpdateMarkerColors(sii svg.Node) { if sii == nil { return } @@ -222,10 +218,10 @@ func (gv *GridView) UpdateMarkerColors(sii svg.NodeSVG) { // SetDashNode sets the stroke-dasharray property of Node. // multiplies dash values by the line width in dots. -func (gv *GridView) SetDashNode(sii svg.NodeSVG, dary []float64) { +func (gv *VectorView) SetDashNode(sii svg.Node, dary []float64) { if gp, isgp := sii.(*svg.Group); isgp { for _, kid := range gp.Kids { - gv.SetDashNode(kid.(svg.NodeSVG), dary) + gv.SetDashNode(kid.(svg.Node), dary) } return } @@ -233,14 +229,14 @@ func (gv *GridView) SetDashNode(sii svg.NodeSVG, dary []float64) { sii.DeleteProp("stroke-dasharray") return } - g := sii.AsSVGNode() + g := sii.AsNodeBase() mary := DashMulWidth(float64(g.Pnt.StrokeStyle.Width.Dots), dary) ds := DashString(mary) sii.SetProp("stroke-dasharray", ds) } // SetDashProps sets the dash props -func (gv *GridView) SetDashProps(dary []float64) { +func (gv *VectorView) SetDashProps(dary []float64) { es := &gv.EditState sv := gv.SVG() sv.UndoSave("SetDashProps", "") @@ -255,7 +251,7 @@ func (gv *GridView) SetDashProps(dary []float64) { // SetFill sets the fill props of selected items // based on previous and current PaintType -func (gv *GridView) SetFill(prev, pt PaintTypes, fp string) { +func (gv *VectorView) SetFill(prev, pt PaintTypes, fp string) { es := &gv.EditState sv := gv.SVG() sv.UndoSave("SetFill", fp) @@ -270,19 +266,19 @@ func (gv *GridView) SetFill(prev, pt PaintTypes, fp string) { // SetFillColor sets the fill color for selected items // manip means currently being manipulated -- don't save undo. -func (gv *GridView) SetFillColor(fp string, manip bool) { +func (gv *VectorView) SetFillColor(fp string, manip bool) { gv.ManipAction("SetFillColor", fp, manip, - func(itm svg.NodeSVG) { + func(itm svg.Node) { p := itm.Prop("fill") if p != nil { - itm.AsSVGNode().SetColorProps("fill", fp) + itm.AsNodeBase().SetColorProps("fill", fp) gv.UpdateMarkerColors(itm) } }) } // DefaultGradient returns the default gradient to use for setting stops -func (gv *GridView) DefaultGradient() string { +func (gv *VectorView) DefaultGradient() string { es := &gv.EditState sv := gv.SVG() if len(gv.EditState.Gradients) == 0 { @@ -293,7 +289,7 @@ func (gv *GridView) DefaultGradient() string { } // UpdateGradients updates gradients from EditState -func (gv *GridView) UpdateGradients() { +func (gv *VectorView) UpdateGradients() { es := &gv.EditState sv := gv.SVG() updt := sv.UpdateStart() @@ -306,14 +302,15 @@ func (gv *GridView) UpdateGradients() { // Update updates the current settings based on the values in the given Paint and // props from node (node can be nil) -func (pv *PaintView) Update(pc *girl.Paint, kn ki.Ki) { +/* +func (pv *PaintView) Update(pc *paint.Paint, kn ki.Ki) { updt := pv.UpdateStart() defer pv.UpdateEnd(updt) pv.StrokeType, pv.StrokeStops = pv.DecodeType(kn, &pc.StrokeStyle.Color, "stroke") pv.FillType, pv.FillStops = pv.DecodeType(kn, &pc.FillStyle.Color, "fill") - es := &pv.GridView.EditState + es := &pv.VectorView.EditState grl := &es.Gradients spt := pv.ChildByName("stroke-lab", 0).ChildByName("stroke-type", 1).(*gi.ButtonBox) @@ -345,23 +342,23 @@ func (pv *PaintView) Update(pc *girl.Paint, kn ki.Ki) { } wr := pv.ChildByName("stroke-width", 2) - wsb := wr.ChildByName("width", 1).(*gi.SpinBox) + wsb := wr.ChildByName("width", 1).(*gi.Spinner) wsb.SetValue(pc.StrokeStyle.Width.Val) - uncb := wr.ChildByName("width-units", 2).(*gi.ComboBox) + uncb := wr.ChildByName("width-units", 2).(*gi.Chooser) uncb.SetCurIndex(int(pc.StrokeStyle.Width.Un)) - dshcb := wr.ChildByName("dashes", 3).(*gi.ComboBox) + dshcb := wr.ChildByName("dashes", 3).(*gi.Chooser) nwdsh, dnm := DashMatchArray(float64(pc.StrokeStyle.Width.Dots), pc.StrokeStyle.Dashes) if nwdsh { dshcb.ItemsFromIconList(AllDashIconNames, false, 0) } - dshcb.SetCurVal(gi.IconName(dnm)) + dshcb.SetCurVal(icons.Icon(dnm)) mkr := pv.ChildByName("stroke-markers", 3) ms, _, mc := MarkerFromNodeProp(kn, "marker-start") - mscb := mkr.ChildByName("marker-start", 0).(*gi.ComboBox) - mscc := mkr.ChildByName("marker-start-color", 1).(*gi.ComboBox) + mscb := mkr.ChildByName("marker-start", 0).(*gi.Chooser) + mscc := mkr.ChildByName("marker-start-color", 1).(*gi.Chooser) if ms != "" { mscb.SetCurVal(MarkerNameToIcon(ms)) mscc.SetCurIndex(int(mc)) @@ -370,8 +367,8 @@ func (pv *PaintView) Update(pc *girl.Paint, kn ki.Ki) { mscc.SetCurIndex(0) } ms, _, mc = MarkerFromNodeProp(kn, "marker-mid") - mmcb := mkr.ChildByName("marker-mid", 2).(*gi.ComboBox) - mmcc := mkr.ChildByName("marker-mid-color", 3).(*gi.ComboBox) + mmcb := mkr.ChildByName("marker-mid", 2).(*gi.Chooser) + mmcc := mkr.ChildByName("marker-mid-color", 3).(*gi.Chooser) if ms != "" { mmcb.SetCurVal(MarkerNameToIcon(ms)) mmcc.SetCurIndex(int(mc)) @@ -380,8 +377,8 @@ func (pv *PaintView) Update(pc *girl.Paint, kn ki.Ki) { mmcc.SetCurIndex(0) } ms, _, mc = MarkerFromNodeProp(kn, "marker-end") - mecb := mkr.ChildByName("marker-end", 4).(*gi.ComboBox) - mecc := mkr.ChildByName("marker-end-color", 5).(*gi.ComboBox) + mecb := mkr.ChildByName("marker-end", 4).(*gi.Chooser) + mecc := mkr.ChildByName("marker-end-color", 5).(*gi.Chooser) if ms != "" { mecb.SetCurVal(MarkerNameToIcon(ms)) mecc.SetCurIndex(int(mc)) @@ -421,7 +418,9 @@ func (pv *PaintView) Update(pc *girl.Paint, kn ki.Ki) { fs.StackTop = 0 } } +*/ +/* // GradStopsName returns the stopsname for gradient from url func (pv *PaintView) GradStopsName(gii gi.Node2D, url string) string { gr := svg.GradientByName(gii, url) @@ -433,14 +432,16 @@ func (pv *PaintView) GradStopsName(gii gi.Node2D, url string) string { } return gr.Nm } +*/ +/* // DecodeType decodes the paint type from paint and props // also returns the name of the gradient if using one. -func (pv *PaintView) DecodeType(kn ki.Ki, cs *gist.ColorSpec, prop string) (PaintTypes, string) { +func (pv *PaintView) DecodeType(kn ki.Ki, cs *style.ColorSpec, prop string) (PaintTypes, string) { pstr := "" var gii gi.Node2D if kn != nil { - pstr = kit.ToString(kn.Prop(prop)) + pstr = laser.ToString(kn.Prop(prop)) gii = kn.(gi.Node2D) } ptyp := PaintSolid @@ -472,9 +473,10 @@ func (pv *PaintView) DecodeType(kn ki.Ki, cs *gist.ColorSpec, prop string) (Pain } return ptyp, grnm } +*/ func (pv *PaintView) SelectStrokeGrad() { - es := &pv.GridView.EditState + es := &pv.VectorView.EditState grl := &es.Gradients ss := pv.StrokeStack() sg := ss.ChildByName("stroke-grad", 1).(*giv.TableView) @@ -488,7 +490,7 @@ func (pv *PaintView) SelectStrokeGrad() { } func (pv *PaintView) SelectFillGrad() { - es := &pv.GridView.EditState + es := &pv.VectorView.EditState grl := &es.Gradients fs := pv.FillStack() fg := fs.ChildByName("fill-grad", 1).(*giv.TableView) @@ -501,7 +503,7 @@ func (pv *PaintView) SelectFillGrad() { } } -func (pv *PaintView) Config(gv *GridView) { +func (pv *PaintView) Config(gv *VectorView) { if pv.HasChildren() { return } @@ -512,119 +514,119 @@ func (pv *PaintView) Config(gv *GridView) { DashIconsInit() MarkerIconsInit() - pv.GridView = gv + pv.VectorView = gv pv.Lay = gi.LayoutVert pv.SetProp("spacing", gi.StdDialogVSpaceUnits) sty := &Prefs.ShapeStyle - spl := gi.AddNewLayout(pv, "stroke-lab", gi.LayoutHoriz) - gi.AddNewLabel(spl, "stroke-pnt-lab", "Stroke Paint: ") - spt := gi.AddNewButtonBox(spl, "stroke-type") + spl := gi.NewLayout(pv, "stroke-lab", gi.LayoutHoriz) + gi.NewLabel(spl, "stroke-pnt-lab", "Stroke Paint: ") + spt := gi.NewButtonBox(spl, "stroke-type") spt.ItemsFromStringList(PaintTypeNames) spt.SelectItem(int(pv.StrokeType)) spt.Mutex = true - wr := gi.AddNewLayout(pv, "stroke-width", gi.LayoutHoriz) - gi.AddNewLabel(wr, "width-lab", "Width: ").SetProp("vertical-align", gist.AlignMiddle) + wr := gi.NewLayout(pv, "stroke-width", gi.LayoutHoriz) + gi.NewLabel(wr, "width-lab", "Width: ").SetProp("vertical-align", styles.AlignMiddle) - wsb := gi.AddNewSpinBox(wr, "width") + wsb := gi.NewSpinner(wr, "width") wsb.SetProp("min", 0) wsb.SetProp("step", 0.05) wsb.SetValue(sty.StrokeStyle.Width.Val) - wsb.SpinBoxSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { + wsb.SpinnerSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.IsStrokeOn() { - pv.GridView.SetStrokeWidth(pv.StrokeWidthProp(), false) + pv.VectorView.SetStrokeWidth(pv.StrokeWidthProp(), false) } }) - uncb := gi.AddNewComboBox(wr, "width-units") + uncb := gi.NewChooser(wr, "width-units") uncb.ItemsFromEnum(units.KiT_Units, true, 0) uncb.SetCurIndex(int(Prefs.Size.Units)) uncb.ComboSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.IsStrokeOn() { - pv.GridView.SetStrokeWidth(pv.StrokeWidthProp(), false) + pv.VectorView.SetStrokeWidth(pv.StrokeWidthProp(), false) } }) - gi.AddNewSpace(wr, "sp1").SetProp("width", units.NewCh(5)) + gi.NewSpace(wr, "sp1").SetProp("width", units.NewCh(5)) - dshcb := gi.AddNewComboBox(wr, "dashes") + dshcb := gi.NewChooser(wr, "dashes") dshcb.SetProp("width", units.NewCh(15)) dshcb.ItemsFromIconList(AllDashIconNames, true, 0) dshcb.ComboSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.IsStrokeOn() { - pv.GridView.SetDashProps(pv.StrokeDashProp()) + pv.VectorView.SetDashProps(pv.StrokeDashProp()) } }) - mkr := gi.AddNewLayout(pv, "stroke-markers", gi.LayoutHoriz) + mkr := gi.NewLayout(pv, "stroke-markers", gi.LayoutHoriz) - mscb := gi.AddNewComboBox(mkr, "marker-start") + mscb := gi.NewChooser(mkr, "marker-start") // mscb.SetProp("width", units.NewCh(20)) mscb.ItemsFromIconList(AllMarkerIconNames, true, 0) mscb.ComboSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.IsStrokeOn() { - pv.GridView.SetMarkerProps(pv.MarkerProps()) + pv.VectorView.SetMarkerProps(pv.MarkerProps()) } }) - mscc := gi.AddNewComboBox(mkr, "marker-start-color") + mscc := gi.NewChooser(mkr, "marker-start-color") mscc.SetProp("width", units.NewCh(5)) mscc.ItemsFromStringList(MarkerColorNames, true, 0) mscc.ComboSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.IsStrokeOn() { - pv.GridView.SetMarkerProps(pv.MarkerProps()) + pv.VectorView.SetMarkerProps(pv.MarkerProps()) } }) - gi.AddNewSeparator(mkr, "sp1", false) + gi.NewSeparator(mkr, "sp1", false) - mmcb := gi.AddNewComboBox(mkr, "marker-mid") + mmcb := gi.NewChooser(mkr, "marker-mid") // mmcb.SetProp("width", units.NewCh(20)) mmcb.ItemsFromIconList(AllMarkerIconNames, true, 0) mmcb.ComboSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.IsStrokeOn() { - pv.GridView.SetMarkerProps(pv.MarkerProps()) + pv.VectorView.SetMarkerProps(pv.MarkerProps()) } }) - mmcc := gi.AddNewComboBox(mkr, "marker-mid-color") + mmcc := gi.NewChooser(mkr, "marker-mid-color") mmcc.SetProp("width", units.NewCh(5)) mmcc.ItemsFromStringList(MarkerColorNames, true, 0) mmcc.ComboSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.IsStrokeOn() { - pv.GridView.SetMarkerProps(pv.MarkerProps()) + pv.VectorView.SetMarkerProps(pv.MarkerProps()) } }) - gi.AddNewSeparator(mkr, "sp1", false) + gi.NewSeparator(mkr, "sp1", false) - mecb := gi.AddNewComboBox(mkr, "marker-end") + mecb := gi.NewChooser(mkr, "marker-end") // mecb.SetProp("width", units.NewCh(20)) mecb.ItemsFromIconList(AllMarkerIconNames, true, 0) mecb.ComboSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.IsStrokeOn() { - pv.GridView.SetMarkerProps(pv.MarkerProps()) + pv.VectorView.SetMarkerProps(pv.MarkerProps()) } }) - mecc := gi.AddNewComboBox(mkr, "marker-end-color") + mecc := gi.NewChooser(mkr, "marker-end-color") mecc.SetProp("width", units.NewCh(5)) mecc.ItemsFromStringList(MarkerColorNames, true, 0) mecc.ComboSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.IsStrokeOn() { - pv.GridView.SetMarkerProps(pv.MarkerProps()) + pv.VectorView.SetMarkerProps(pv.MarkerProps()) } }) //////////////////////////////// // stroke stack - ss := gi.AddNewFrame(pv, "stroke-stack", gi.LayoutStacked) + ss := gi.NewFrame(pv, "stroke-stack", gi.LayoutStacked) ss.StackTop = 1 ss.SetStretchMax() ss.SetReRenderAnchor() // ss.StackTopOnly = true - gi.AddNewFrame(ss, "stroke-blank", gi.LayoutHoriz) // nothing + gi.NewFrame(ss, "stroke-blank", gi.LayoutHoriz) // nothing spt.ButtonSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { pvv := recv.Embed(KiT_PaintView).(*PaintView) @@ -641,28 +643,28 @@ func (pv *PaintView) Config(gv *GridView) { sss.StackTop = 1 case PaintLinear, PaintRadial: if pvv.StrokeStops == "" { - pvv.StrokeStops = pvv.GridView.DefaultGradient() + pvv.StrokeStops = pvv.VectorView.DefaultGradient() } sp = pvv.StrokeStops sss.StackTop = 2 pvv.SelectStrokeGrad() } pvv.UpdateEnd(updt) - pvv.GridView.SetStroke(prev, pvv.StrokeType, sp) + pvv.VectorView.SetStroke(prev, pvv.StrokeType, sp) }) sc := giv.AddNewColorView(ss, "stroke-clr") - sc.SetProp("vertical-align", gist.AlignTop) + sc.SetProp("vertical-align", styles.AlignTop) sc.Config() sc.SetColor(sty.StrokeStyle.Color.Color) sc.ViewSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.StrokeType == PaintSolid { - pv.GridView.SetStrokeColor(pv.StrokeProp(), false) // not manip + pv.VectorView.SetStrokeColor(pv.StrokeProp(), false) // not manip } }) sc.ManipSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.StrokeType == PaintSolid { - pv.GridView.SetStrokeColor(pv.StrokeProp(), true) // manip + pv.VectorView.SetStrokeColor(pv.StrokeProp(), true) // manip } }) @@ -670,34 +672,34 @@ func (pv *PaintView) Config(gv *GridView) { sg.SetProp("index", true) sg.SetProp("toolbar", true) sg.SelectedIdx = -1 - sg.SetSlice(&pv.GridView.EditState.Gradients) + sg.SetSlice(&pv.VectorView.EditState.Gradients) sg.WidgetSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if sig == int64(gi.WidgetSelected) { svv, _ := send.(*giv.TableView) if svv.SelectedIdx >= 0 { - pv.StrokeStops = pv.GridView.EditState.Gradients[svv.SelectedIdx].Name - pv.GridView.SetStroke(pv.StrokeType, pv.StrokeType, pv.StrokeStops) // handles full updating + pv.StrokeStops = pv.VectorView.EditState.Gradients[svv.SelectedIdx].Name + pv.VectorView.SetStroke(pv.StrokeType, pv.StrokeType, pv.StrokeStops) // handles full updating } } }) - gi.AddNewSeparator(pv, "fill-sep", true) + gi.NewSeparator(pv, "fill-sep", true) - fpl := gi.AddNewLayout(pv, "fill-lab", gi.LayoutHoriz) - gi.AddNewLabel(fpl, "fill-pnt-lab", "Fill Paint: ") + fpl := gi.NewLayout(pv, "fill-lab", gi.LayoutHoriz) + gi.NewLabel(fpl, "fill-pnt-lab", "Fill Paint: ") - fpt := gi.AddNewButtonBox(fpl, "fill-type") + fpt := gi.NewButtonBox(fpl, "fill-type") fpt.ItemsFromStringList(PaintTypeNames) fpt.SelectItem(int(pv.FillType)) fpt.Mutex = true - fs := gi.AddNewFrame(pv, "fill-stack", gi.LayoutStacked) + fs := gi.NewFrame(pv, "fill-stack", gi.LayoutStacked) fs.SetStretchMax() fs.StackTop = 1 fs.SetReRenderAnchor() // fs.StackTopOnly = true - gi.AddNewFrame(fs, "fill-blank", gi.LayoutHoriz) // nothing + gi.NewFrame(fs, "fill-blank", gi.LayoutHoriz) // nothing fpt.ButtonSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { pvv := recv.Embed(KiT_PaintView).(*PaintView) @@ -714,28 +716,28 @@ func (pv *PaintView) Config(gv *GridView) { fss.StackTop = 1 case PaintLinear, PaintRadial: if pvv.FillStops == "" { - pvv.FillStops = pvv.GridView.DefaultGradient() + pvv.FillStops = pvv.VectorView.DefaultGradient() } fp = pvv.FillStops fss.StackTop = 2 pvv.SelectFillGrad() } pvv.UpdateEnd(updt) - pvv.GridView.SetFill(prev, pvv.FillType, fp) + pvv.VectorView.SetFill(prev, pvv.FillType, fp) }) fc := giv.AddNewColorView(fs, "fill-clr") - fc.SetProp("vertical-align", gist.AlignTop) + fc.SetProp("vertical-align", styles.AlignTop) fc.Config() fc.SetColor(sty.FillStyle.Color.Color) fc.ViewSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.FillType == PaintSolid { - pv.GridView.SetFillColor(pv.FillProp(), false) + pv.VectorView.SetFillColor(pv.FillProp(), false) } }) fc.ManipSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if pv.FillType == PaintSolid { - pv.GridView.SetFillColor(pv.FillProp(), true) // manip + pv.VectorView.SetFillColor(pv.FillProp(), true) // manip } }) @@ -743,13 +745,13 @@ func (pv *PaintView) Config(gv *GridView) { fg.SetProp("index", true) fg.SetProp("toolbar", true) fg.SelectedIdx = -1 - fg.SetSlice(&pv.GridView.EditState.Gradients) + fg.SetSlice(&pv.VectorView.EditState.Gradients) fg.WidgetSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { if sig == int64(gi.WidgetSelected) { svv, _ := send.(*giv.TableView) if svv.SelectedIdx >= 0 { - pv.FillStops = pv.GridView.EditState.Gradients[svv.SelectedIdx].Name - pv.GridView.SetFill(pv.FillType, pv.FillType, pv.FillStops) // this handles updating gradients etc to use stops + pv.FillStops = pv.VectorView.EditState.Gradients[svv.SelectedIdx].Name + pv.VectorView.SetFill(pv.FillType, pv.FillType, pv.FillStops) // this handles updating gradients etc to use stops } } }) @@ -758,16 +760,16 @@ func (pv *PaintView) Config(gv *GridView) { // svv, _ := send.(*giv.TableView) if sig == int64(giv.SliceViewDeleted) { // not clear what we can do here } else { - pv.GridView.UpdateGradients() + pv.VectorView.UpdateGradients() } }) fg.ViewSig.Connect(pv.This(), func(recv, send ki.Ki, sig int64, data any) { // fmt.Printf("vs: %v %v\n", sig, data) // svv, _ := send.(*giv.TableView) - pv.GridView.UpdateGradients() + pv.VectorView.UpdateGradients() }) - gi.AddNewStretch(pv, "endstr") + gi.NewStretch(pv, "endstr") pv.UpdateEnd(updt) } @@ -806,18 +808,18 @@ func (pv *PaintView) StrokeProp() string { func (pv *PaintView) MarkerProps() (start, mid, end string, sc, mc, ec MarkerColors) { mkr := pv.ChildByName("stroke-markers", 3) - mscb := mkr.ChildByName("marker-start", 0).(*gi.ComboBox) - mscc := mkr.ChildByName("marker-start-color", 1).(*gi.ComboBox) + mscb := mkr.ChildByName("marker-start", 0).(*gi.Chooser) + mscc := mkr.ChildByName("marker-start-color", 1).(*gi.Chooser) start = IconToMarkerName(mscb.CurVal) sc = MarkerColors(mscc.CurIndex) - mmcb := mkr.ChildByName("marker-mid", 2).(*gi.ComboBox) - mmcc := mkr.ChildByName("marker-mid-color", 3).(*gi.ComboBox) + mmcb := mkr.ChildByName("marker-mid", 2).(*gi.Chooser) + mmcc := mkr.ChildByName("marker-mid-color", 3).(*gi.Chooser) mid = IconToMarkerName(mmcb.CurVal) mc = MarkerColors(mmcc.CurIndex) - mecb := mkr.ChildByName("marker-end", 4).(*gi.ComboBox) - mecc := mkr.ChildByName("marker-end-color", 5).(*gi.ComboBox) + mecb := mkr.ChildByName("marker-end", 4).(*gi.Chooser) + mecc := mkr.ChildByName("marker-end-color", 5).(*gi.Chooser) end = IconToMarkerName(mecb.CurVal) ec = MarkerColors(mecc.CurIndex) @@ -832,8 +834,8 @@ func (pv *PaintView) IsStrokeOn() bool { // StrokeWidthProp returns stroke-width property func (pv *PaintView) StrokeWidthProp() string { wr := pv.ChildByName("stroke-width", 2) - wsb := wr.ChildByName("width", 1).(*gi.SpinBox) - uncb := wr.ChildByName("width-units", 2).(*gi.ComboBox) + wsb := wr.ChildByName("width", 1).(*gi.Spinner) + uncb := wr.ChildByName("width-units", 2).(*gi.Chooser) unnm := "px" if uncb.CurIndex > 0 { unvl := units.Units(uncb.CurIndex) @@ -846,11 +848,11 @@ func (pv *PaintView) StrokeWidthProp() string { // these values need to be multiplied by line widths for each item. func (pv *PaintView) StrokeDashProp() []float64 { wr := pv.ChildByName("stroke-width", 2) - dshcb := wr.ChildByName("dashes", 3).(*gi.ComboBox) + dshcb := wr.ChildByName("dashes", 3).(*gi.Chooser) if dshcb.CurIndex == 0 { return nil } - dnm := kit.ToString(dshcb.CurVal) + dnm := laser.ToString(dshcb.CurVal) if dnm == "" { return nil } @@ -886,25 +888,17 @@ func (pv *PaintView) FillProp() string { } // SetProps sets the props for given node according to current settings -func (pv *PaintView) SetProps(sii svg.NodeSVG) { - pv.GridView.SetColorNode(sii, "stroke", pv.StrokeType, pv.StrokeType, pv.StrokeProp()) +func (pv *PaintView) SetProps(sii svg.Node) { + pv.VectorView.SetColorNode(sii, "stroke", pv.StrokeType, pv.StrokeType, pv.StrokeProp()) if pv.IsStrokeOn() { sii.SetProp("stroke-width", pv.StrokeWidthProp()) start, mid, end, sc, mc, ec := pv.MarkerProps() - pv.GridView.SetMarkerNode(sii, start, mid, end, sc, mc, ec) + pv.VectorView.SetMarkerNode(sii, start, mid, end, sc, mc, ec) } - pv.GridView.SetColorNode(sii, "fill", pv.FillType, pv.FillType, pv.FillProp()) -} - -var PaintViewProps = ki.Props{ - "EnumType:Flag": gi.KiT_VpFlags, - "background-color": &gi.Prefs.Colors.Background, - "color": &gi.Prefs.Colors.Font, - "max-width": -1, - "max-height": -1, + pv.VectorView.SetColorNode(sii, "fill", pv.FillType, pv.FillType, pv.FillProp()) } -type PaintTypes int +type PaintTypes int32 //enums:enum -trim-prefix Paint const ( PaintOff PaintTypes = iota @@ -912,14 +906,4 @@ const ( PaintLinear PaintRadial PaintInherit - PaintTypesN ) - -var PaintTypeNames = []string{"Off", "Solid", "Linear", "Radial", "Inherit"} - -//go:generate stringer -type=PaintTypes - -var KiT_PaintTypes = kit.Enums.AddEnum(PaintTypesN, kit.NotBitFlag, nil) - -func (ev PaintTypes) MarshalJSON() ([]byte, error) { return kit.EnumMarshalJSON(ev) } -func (ev *PaintTypes) UnmarshalJSON(b []byte) error { return kit.EnumUnmarshalJSON(ev, b) } diff --git a/grid/path.go b/vector/path.go similarity index 74% rename from grid/path.go rename to vector/path.go index ddd47efe..5ed223c8 100644 --- a/grid/path.go +++ b/vector/path.go @@ -1,38 +1,35 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( "fmt" "image" - "github.com/goki/gi/gi" - "github.com/goki/gi/gist" - "github.com/goki/gi/oswin" - "github.com/goki/gi/oswin/key" - "github.com/goki/gi/oswin/mouse" - "github.com/goki/gi/svg" - "github.com/goki/ki/ki" - "github.com/goki/mat32" + "cogentcore.org/core/gi" + "cogentcore.org/core/ki" + "cogentcore.org/core/mat32" + "cogentcore.org/core/styles" + "cogentcore.org/core/svg" ) -func (gv *GridView) NodeToolbar() *gi.Toolbar { +func (gv *VectorView) NodeToolbar() *gi.Toolbar { tbs := gv.ModalToolbarStack() tb := tbs.ChildByName("node-tb", 0).(*gi.Toolbar) return tb } // ConfigNodeToolbar configures the node modal toolbar (default tooblar) -func (gv *GridView) ConfigNodeToolbar() { +func (gv *VectorView) ConfigNodeToolbar() { tb := gv.NodeToolbar() if tb.HasChildren() { return } tb.SetStretchMaxWidth() - grs := gi.AddNewCheckBox(tb, "snap-node") + grs := gi.NewSwitch(tb, "snap-node") grs.SetText("Snap Node") grs.Tooltip = "snap movement and sizing of nodes, using overall snap settings" grs.SetChecked(Prefs.SnapNodes) @@ -46,58 +43,58 @@ func (gv *GridView) ConfigNodeToolbar() { // tb.AddAction(gi.ActOpts{Icon: "sel-group", Tooltip: "Ctrl+G: Group items together", UpdateFunc: gv.NodeEnableFunc}, // gv.This(), func(recv, send ki.Ki, sig int64, data interface{}) { - // grr := recv.Embed(KiT_GridView).(*GridView) + // grr := recv.Embed(KiT_VectorView).(*VectorView) // grr.SelGroup() // }) // // gi.NewSeparator(tb, "sep-group") - gi.AddNewLabel(tb, "posx-lab", "X: ").SetProp("vertical-align", gist.AlignMiddle) - px := gi.AddNewSpinBox(tb, "posx") + gi.NewLabel(tb, "posx-lab", "X: ").SetProp("vertical-align", styles.AlignMiddle) + px := gi.NewSpinner(tb, "posx") px.SetProp("step", 1) px.SetValue(0) px.Tooltip = "horizontal coordinate of node, in document units" - px.SpinBoxSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + px.SpinnerSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.NodeSetXPos(px.Value) }) - gi.AddNewLabel(tb, "posy-lab", "Y: ").SetProp("vertical-align", gist.AlignMiddle) - py := gi.AddNewSpinBox(tb, "posy") + gi.NewLabel(tb, "posy-lab", "Y: ").SetProp("vertical-align", styles.AlignMiddle) + py := gi.NewSpinner(tb, "posy") py.SetProp("step", 1) py.SetValue(0) py.Tooltip = "vertical coordinate of node, in document units" - py.SpinBoxSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + py.SpinnerSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.NodeSetYPos(py.Value) }) } // NodeEnableFunc is an ActionUpdateFunc that inactivates action if no node selected -func (gv *GridView) NodeEnableFunc(act *gi.Button) { +func (gv *VectorView) NodeEnableFunc(act *gi.Button) { // es := &gv.EditState // act.SetInactiveState(!es.HasNodeed()) } // UpdateNodeToolbar updates the node toolbar based on current nodeion -func (gv *GridView) UpdateNodeToolbar() { +func (gv *VectorView) UpdateNodeToolbar() { tb := gv.NodeToolbar() tb.UpdateActions() es := &gv.EditState if es.Tool != NodeTool { return } - px := tb.ChildByName("posx", 8).(*gi.SpinBox) + px := tb.ChildByName("posx", 8).(*gi.Spinner) px.SetValue(es.DragSelCurBBox.Min.X) - py := tb.ChildByName("posy", 9).(*gi.SpinBox) + py := tb.ChildByName("posy", 9).(*gi.Spinner) py.SetValue(es.DragSelCurBBox.Min.Y) } /////////////////////////////////////////////////////////////////////// // Actions -func (gv *GridView) NodeSetXPos(xp float32) { +func (gv *VectorView) NodeSetXPos(xp float32) { es := &gv.EditState if !es.HasSelected() { return @@ -108,7 +105,7 @@ func (gv *GridView) NodeSetXPos(xp float32) { gv.ChangeMade() } -func (gv *GridView) NodeSetYPos(yp float32) { +func (gv *VectorView) NodeSetYPos(yp float32) { es := &gv.EditState if !es.HasSelected() { return @@ -155,7 +152,7 @@ type PathNode struct { // PathNodes returns the PathNode data for given path data, and a list of indexes where commands start func (sv *SVGView) PathNodes(path *svg.Path) ([]*PathNode, []int) { - svoff := mat32.NewVec2FmPoint(sv.WinBBox.Min) + svoff := mat32.V2FromPoint(sv.BBox.Min) pxf := path.ParTransform(true) // include self lstCmdIdx := 0 @@ -180,7 +177,7 @@ func (sv *SVGView) PathNodes(path *svg.Path) ([]*PathNode, []int) { } func (sv *SVGView) UpdateNodeSprites() { - win := sv.GridView.ParentWindow() + win := sv.VectorView.ParentWindow() updt := win.UpdateStart() defer win.UpdateEnd(updt) @@ -203,7 +200,7 @@ func (sv *SVGView) UpdateNodeSprites() { idx := i // key to get local var sp := SpriteConnectEvent(win, SpNodePoint, SpUnk, i, image.ZP, sv.This(), func(recv, send ki.Ki, sig int64, d any) { ssvg := recv.Embed(KiT_SVGView).(*SVGView) - ssvg.NodeSpriteEvent(idx, oswin.EventType(sig), d) + // ssvg.NodeSpriteEvent(idx, events.EventType(sig), d) }) SetSpritePos(sp, image.Point{int(pn.WinPt.X), int(pn.WinPt.Y)}) } @@ -214,44 +211,48 @@ func (sv *SVGView) UpdateNodeSprites() { win.InactivateSprite(spnm) } - sv.GridView.UpdateNodeToolbar() + sv.VectorView.UpdateNodeToolbar() win.UpdateSig() } -func (sv *SVGView) RemoveNodeSprites(win *gi.Window) { - es := sv.EditState() - for i := 0; i < es.NNodeSprites; i++ { - spnm := SpriteName(SpNodePoint, SpUnk, i) - win.InactivateSprite(spnm) - } - es.NNodeSprites = 0 - es.PathNodes = nil - es.PathCmds = nil - es.ActivePath = nil +func (sv *SVGView) RemoveNodeSprites() { + /* + es := sv.EditState() + for i := 0; i < es.NNodeSprites; i++ { + spnm := SpriteName(SpNodePoint, SpUnk, i) + win.InactivateSprite(spnm) + } + es.NNodeSprites = 0 + es.PathNodes = nil + es.PathCmds = nil + es.ActivePath = nil + */ } -func (sv *SVGView) NodeSpriteEvent(idx int, et oswin.EventType, d any) { - win := sv.GridView.ParentWindow() - es := sv.EditState() - es.SelNoDrag = false - switch et { - case oswin.MouseEvent: - me := d.(*mouse.Event) - me.SetProcessed() - if me.Action == mouse.Press { - win.SpriteDragging = SpriteName(SpNodePoint, SpUnk, idx) - es.DragNodeStart(me.Where) - } else if me.Action == mouse.Release { - sv.UpdateNodeSprites() - sv.ManipDone() - } - case oswin.MouseDragEvent: - me := d.(*mouse.DragEvent) - me.SetProcessed() - sv.SpriteNodeDrag(idx, win, me) - } +/* +func (sv *SVGView) NodeSpriteEvent(idx int, et events.Type, d any) { + // win := sv.VectorView.ParentWindow() + // es := sv.EditState() + // es.SelNoDrag = false + // switch et { + // case events.MouseEvent: + // me := d.(*mouse.Event) + // me.SetProcessed() + // if me.Action == mouse.Press { + // win.SpriteDragging = SpriteName(SpNodePoint, SpUnk, idx) + // es.DragNodeStart(me.Where) + // } else if me.Action == mouse.Release { + // sv.UpdateNodeSprites() + // sv.ManipDone() + // } + // case events.MouseDragEvent: + // me := d.(*mouse.DragEvent) + // me.SetProcessed() + // sv.SpriteNodeDrag(idx, win, me) + // } } +*/ // PathNodeMoveOnePoint moves given node index by given delta in window coords // and all following points up to cmd = z or m are moved in the opposite @@ -260,7 +261,7 @@ func (sv *SVGView) NodeSpriteEvent(idx int, et oswin.EventType, d any) { func (sv *SVGView) PathNodeSetOnePoint(path *svg.Path, pts []*PathNode, pidx int, dv mat32.Vec2, svoff mat32.Vec2) { for i := pidx; i < len(pts); i++ { pn := pts[i] - wbmin := mat32.NewVec2FmPoint(path.WinBBox.Min) + wbmin := mat32.V2FromPoint(path.BBox.Min) pt := wbmin.Sub(svoff) xf, lpt := path.DeltaTransform(dv, mat32.V2(1, 1), 0, pt, true) // include self npt := xf.MulVec2AsPtCtr(pn.Cp, lpt) // transform point to new abs coords @@ -302,6 +303,7 @@ func (sv *SVGView) PathNodeSetPoint(path *svg.Path, pn *PathNode, npt mat32.Vec2 } } +/* // SpriteNodeDrag processes a mouse node drag event on a path node sprite func (sv *SVGView) SpriteNodeDrag(idx int, win *gi.Window, me *mouse.DragEvent) { es := sv.EditState() @@ -310,13 +312,13 @@ func (sv *SVGView) SpriteNodeDrag(idx int, win *gi.Window, me *mouse.DragEvent) sv.GatherAlignPoints() } - svoff := mat32.NewVec2FmPoint(sv.WinBBox.Min) + svoff := mat32.V2FromPoint(sv.BBox.Min) pn := es.PathNodes[idx] InactivateSprites(win, SpAlignMatch) - spt := mat32.NewVec2FmPoint(es.DragStartPos) - mpt := mat32.NewVec2FmPoint(me.Where) + spt := mat32.V2FromPoint(es.DragStartPos) + mpt := mat32.V2FromPoint(me.Where) if me.HasAnyModifier(key.Control) { mpt, _ = sv.ConstrainPoint(spt, mpt) @@ -327,7 +329,7 @@ func (sv *SVGView) SpriteNodeDrag(idx int, win *gi.Window, me *mouse.DragEvent) es.DragCurPos = mpt.ToPoint() mdel := es.DragCurPos.Sub(es.DragStartPos) - dv := mat32.NewVec2FmPoint(mdel) + dv := mat32.V2FromPoint(mdel) nwc := pn.WinPt.Add(dv) // new window coord sv.PathNodeSetOnePoint(es.ActivePath, es.PathNodes, idx, dv, svoff) @@ -338,3 +340,4 @@ func (sv *SVGView) SpriteNodeDrag(idx int, win *gi.Window, me *mouse.DragEvent) go sv.ManipUpdate() win.UpdateSig() } +*/ diff --git a/grid/physize.go b/vector/physize.go similarity index 64% rename from grid/physize.go rename to vector/physize.go index 931f4e18..71638cdf 100644 --- a/grid/physize.go +++ b/vector/physize.go @@ -1,15 +1,14 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( "fmt" - "github.com/goki/gi/units" - "github.com/goki/ki/kit" - "github.com/goki/mat32" + "cogentcore.org/core/mat32" + "cogentcore.org/core/units" ) // PhysSize specifies the physical size of the drawing, when making a new one @@ -28,16 +27,14 @@ type PhysSize struct { Size mat32.Vec2 // grid spacing, in units of ViewBox size - Grid float32 + Vector float32 } -var KiT_PhysSize = kit.Types.AddType(&PhysSize{}, nil) - func (ps *PhysSize) Defaults() { ps.StdSize = Img1280x720 ps.Units = units.Px ps.Size.Set(1280, 720) - ps.Grid = 12 + ps.Vector = 12 } func (ps *PhysSize) Update() { @@ -69,7 +66,7 @@ func (ps *PhysSize) SetFromSVG(sv *SVGView) { ps.Size.X = sv.PhysWidth.Val ps.Units = sv.PhysWidth.Un ps.Size.Y = sv.PhysHeight.Val - ps.Grid = sv.Grid + ps.Vector = sv.Vector ps.StdSize = MatchStdSize(ps.Size.X, ps.Size.Y, ps.Units) } @@ -78,11 +75,11 @@ func (ps *PhysSize) SetToSVG(sv *SVGView) { sv.PhysWidth.Set(ps.Size.X, ps.Units) sv.PhysHeight.Set(ps.Size.Y, ps.Units) sv.ViewBox.Size = ps.Size - sv.Grid = ps.Grid + sv.Vector = ps.Vector } // StdSizes are standard physical drawing sizes -type StdSizes int +type StdSizes int32 //enums:enum func MatchStdSize(wd, ht float32, un units.Units) StdSizes { trgl := StdSizeVals{Units: un, X: wd, Y: ht} @@ -161,17 +158,8 @@ const ( // A10 = 26 x 37 A10 - - StdSizesN ) -//go:generate stringer -type=StdSizes - -var KiT_StdSizes = kit.Enums.AddEnum(StdSizesN, kit.NotBitFlag, nil) - -func (ev StdSizes) MarshalJSON() ([]byte, error) { return kit.EnumMarshalJSON(ev) } -func (ev *StdSizes) UnmarshalJSON(b []byte) error { return kit.EnumUnmarshalJSON(ev, b) } - // StdSizeVals are values for standard sizes type StdSizeVals struct { Units units.Units @@ -181,25 +169,25 @@ type StdSizeVals struct { // StdSizesMap is the map of size values for each standard size var StdSizesMap = map[StdSizes]*StdSizeVals{ - Img1280x720: &StdSizeVals{units.Px, 1280, 720}, - Img1920x1080: &StdSizeVals{units.Px, 1920, 1080}, - Img3840x2160: &StdSizeVals{units.Px, 3840, 2160}, - Img7680x4320: &StdSizeVals{units.Px, 7680, 4320}, - Img1024x768: &StdSizeVals{units.Px, 1024, 768}, - Img720x480: &StdSizeVals{units.Px, 720, 480}, - Img640x480: &StdSizeVals{units.Px, 640, 480}, - Img320x240: &StdSizeVals{units.Px, 320, 240}, - A4: &StdSizeVals{units.Mm, 210, 297}, - USLetter: &StdSizeVals{units.Pt, 612, 792}, - USLegal: &StdSizeVals{units.Pt, 612, 1008}, - A0: &StdSizeVals{units.Mm, 841, 1189}, - A1: &StdSizeVals{units.Mm, 594, 841}, - A2: &StdSizeVals{units.Mm, 420, 594}, - A3: &StdSizeVals{units.Mm, 297, 420}, - A5: &StdSizeVals{units.Mm, 148, 210}, - A6: &StdSizeVals{units.Mm, 105, 148}, - A7: &StdSizeVals{units.Mm, 74, 105}, - A8: &StdSizeVals{units.Mm, 52, 74}, - A9: &StdSizeVals{units.Mm, 37, 52}, - A10: &StdSizeVals{units.Mm, 26, 37}, + Img1280x720: &StdSizeVals{units.UnitPx, 1280, 720}, + Img1920x1080: &StdSizeVals{units.UnitPx, 1920, 1080}, + Img3840x2160: &StdSizeVals{units.UnitPx, 3840, 2160}, + Img7680x4320: &StdSizeVals{units.UnitPx, 7680, 4320}, + Img1024x768: &StdSizeVals{units.UnitPx, 1024, 768}, + Img720x480: &StdSizeVals{units.UnitPx, 720, 480}, + Img640x480: &StdSizeVals{units.UnitPx, 640, 480}, + Img320x240: &StdSizeVals{units.UnitPx, 320, 240}, + A4: &StdSizeVals{units.UnitMm, 210, 297}, + USLetter: &StdSizeVals{units.UnitPt, 612, 792}, + USLegal: &StdSizeVals{units.UnitPt, 612, 1008}, + A0: &StdSizeVals{units.UnitMm, 841, 1189}, + A1: &StdSizeVals{units.UnitMm, 594, 841}, + A2: &StdSizeVals{units.UnitMm, 420, 594}, + A3: &StdSizeVals{units.UnitMm, 297, 420}, + A5: &StdSizeVals{units.UnitMm, 148, 210}, + A6: &StdSizeVals{units.UnitMm, 105, 148}, + A7: &StdSizeVals{units.UnitMm, 74, 105}, + A8: &StdSizeVals{units.UnitMm, 52, 74}, + A9: &StdSizeVals{units.UnitMm, 37, 52}, + A10: &StdSizeVals{units.UnitMm, 26, 37}, } diff --git a/grid/prefs.go b/vector/prefs.go similarity index 73% rename from grid/prefs.go rename to vector/prefs.go index bbb1ee3a..5d930384 100644 --- a/grid/prefs.go +++ b/vector/prefs.go @@ -1,30 +1,29 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( "encoding/json" + "image/color" "io/ioutil" "log" "os" "path/filepath" - "github.com/goki/gi/gi" - "github.com/goki/gi/girl" - "github.com/goki/gi/gist" - "github.com/goki/gi/giv" - "github.com/goki/gi/oswin" - "github.com/goki/gi/svg" - "github.com/goki/gi/units" - "github.com/goki/ki/ki" - "github.com/goki/ki/kit" - "goki.dev/grid/icons" + "cogentcore.org/core/colors" + "cogentcore.org/core/gi" + "cogentcore.org/core/goosi" + "cogentcore.org/core/icons" + "cogentcore.org/core/ki" + "cogentcore.org/core/styles" + "cogentcore.org/core/svg" + "cogentcore.org/core/units" ) -// Preferences is the overall Grid preferences -type Preferences struct { +// Preferences is the overall Vector preferences +type Preferences struct { //gti:add // default physical size, when app is started without opening a file Size PhysSize @@ -36,22 +35,22 @@ type Preferences struct { ColorSchemes map[string]*ColorPrefs // default shape styles - ShapeStyle girl.Paint + ShapeStyle styles.Paint // default text styles - TextStyle girl.Paint + TextStyle styles.Paint // default line styles - PathStyle girl.Paint + PathStyle styles.Paint // default line styles - LineStyle girl.Paint + LineStyle styles.Paint // turns on the grid display - GridDisp bool + VectorDisp bool // snap positions and sizes to underlying grid - SnapGrid bool + SnapVector bool // snap positions and sizes to line up with other elements SnapGuide bool @@ -72,8 +71,6 @@ type Preferences struct { Changed bool `view:"-" changeflag:"+" json:"-" xml:"-"` } -var KiT_Preferences = kit.Types.AddType(&Preferences{}, PreferencesProps) - func (pf *Preferences) Defaults() { pf.Size.Defaults() pf.Colors.Defaults() @@ -99,9 +96,9 @@ func (pf *Preferences) Defaults() { pf.LineStyle.FontStyle.Size.Set(12, units.Px) pf.LineStyle.StrokeStyle.On = true pf.LineStyle.FillStyle.On = false - pf.GridDisp = true + pf.VectorDisp = true pf.SnapTol = 3 - pf.SnapGrid = true + pf.SnapVector = true pf.SnapGuide = true pf.SnapNodes = true home := gi.Prefs.User.HomeDir @@ -114,7 +111,7 @@ func (pf *Preferences) Update() { pf.Size.Update() } -// Prefs are the overall Grid preferences +// Prefs are the overall Vector preferences var Prefs = Preferences{} // InitPrefs must be called at startup in mainrun() @@ -124,7 +121,7 @@ func InitPrefs() { OpenPaths() svg.CurIconSet.OpenIconsFromEmbedDir(icons.Icons, ".") gi.CustomAppMenuFunc = func(m *gi.Menu, win *gi.Window) { - m.InsertActionAfter("GoGi Preferences...", gi.ActOpts{Label: "Grid Preferences..."}, + m.InsertActionAfter("GoGi Preferences...", gi.ActOpts{Label: "Vector Preferences..."}, win, func(recv, send ki.Ki, sig int64, data any) { PrefsView(&Prefs) }) @@ -136,7 +133,7 @@ var PrefsFileName = "grid_prefs.json" // Open preferences from GoGi standard prefs directory, and applies them func (pf *Preferences) Open() error { - pdir := oswin.TheApp.AppDataDir() + pdir := goosi.TheApp.AppDataDir() pnm := filepath.Join(pdir, PrefsFileName) b, err := ioutil.ReadFile(pnm) if err != nil { @@ -151,7 +148,7 @@ func (pf *Preferences) Open() error { // Save Preferences to GoGi standard prefs directory func (pf *Preferences) Save() error { - pdir := oswin.TheApp.AppDataDir() + pdir := goosi.TheApp.AppDataDir() pnm := filepath.Join(pdir, PrefsFileName) b, err := json.MarshalIndent(pf, "", " ") if err != nil { @@ -203,7 +200,7 @@ func (pf *Preferences) EditSplits() { SplitsView(&AvailSplits) } -// VersionInfo returns Grid version information +// VersionInfo returns Vector version information func (pf *Preferences) VersionInfo() string { vinfo := Version + " date: " + VersionDate + " UTC; git commit-1: " + GitCommit return vinfo @@ -212,23 +209,24 @@ func (pf *Preferences) VersionInfo() string { // UpdateAll updates all open windows with current preferences -- triggers // rebuild of default styles. func (pf *Preferences) UpdateAll() { - gist.RebuildDefaultStyles = true - gist.ColorSpecCache = nil - gist.StyleTemplates = nil + // gist.RebuildDefaultStyles = true + // color.ColorSpecCache = nil + // gist.StyleTemplates = nil // for _, w := range gi.AllWindows { // no need and just messes stuff up! // w.SetSize(w.OSWin.Size()) // } - // needs another pass through to get it right.. - for _, w := range gi.AllWindows { - w.FullReRender() - } - gist.RebuildDefaultStyles = false - // and another without rebuilding? yep all are required - for _, w := range gi.AllWindows { - w.FullReRender() - } + // // needs another pass through to get it right.. + // for _, w := range gi.AllWindows { + // w.FullReRender() + // } + // gist.RebuildDefaultStyles = false + // // and another without rebuilding? yep all are required + // for _, w := range gi.AllWindows { + // w.FullReRender() + // } } +/* // PreferencesProps define the Toolbar and MenuBar for StructView, e.g., giv.PrefsView var PreferencesProps = ki.Props{ "MainMenu": ki.PropSlice{ @@ -273,7 +271,7 @@ var PreferencesProps = ki.Props{ }}, {"sep-misc", ki.BlankProp{}}, {"VersionInfo", ki.Props{ - "desc": "shows current Grid version information", + "desc": "shows current Vector version information", "icon": "info", "show-return": true, }}, @@ -284,73 +282,34 @@ var PreferencesProps = ki.Props{ }}, }, } - -////////////////////////////////////////////////////////////////////////////////////// -// Saved Projects / Paths - -// SavedPaths is a slice of strings that are file paths -var SavedPaths gi.FilePaths - -// SavedPathsFileName is the name of the saved file paths file in GoGi prefs directory -var SavedPathsFileName = "grid_saved_paths.json" - -// GridViewResetRecents defines a string that is added as an item to the recents menu -var GridViewResetRecents = "Reset Recents" - -// GridViewEditRecents defines a string that is added as an item to the recents menu -var GridViewEditRecents = "Edit Recents..." - -// SavedPathsExtras are the reset and edit items we add to the recents menu -var SavedPathsExtras = []string{gi.MenuTextSeparator, GridViewResetRecents, GridViewEditRecents} - -// SavePaths saves the active SavedPaths to prefs dir -func SavePaths() { - gi.StringsRemoveExtras((*[]string)(&SavedPaths), SavedPathsExtras) - pdir := oswin.TheApp.AppDataDir() - pnm := filepath.Join(pdir, SavedPathsFileName) - SavedPaths.SaveJSON(pnm) - // add back after save - gi.StringsAddExtras((*[]string)(&SavedPaths), SavedPathsExtras) -} - -// OpenPaths loads the active SavedPaths from prefs dir -func OpenPaths() { - // remove to be sure we don't have duplicate extras - gi.StringsRemoveExtras((*[]string)(&SavedPaths), SavedPathsExtras) - pdir := oswin.TheApp.AppDataDir() - pnm := filepath.Join(pdir, SavedPathsFileName) - SavedPaths.OpenJSON(pnm) - gi.StringsAddExtras((*[]string)(&SavedPaths), SavedPathsExtras) -} +*/ ///////////////////////////////////////////////////////////////////////////////// // ColorPrefs // ColorPrefs for -type ColorPrefs struct { +type ColorPrefs struct { //gti:add // drawing background color - Background gist.Color + Background color.Color // border color of the drawing - Border gist.Color + Border color.Color // grid line color - Grid gist.Color + Vector color.Color } -var KiT_ColorPrefs = kit.Types.AddType(&ColorPrefs{}, ColorPrefsProps) - func (pf *ColorPrefs) Defaults() { - pf.Background = gist.White - pf.Border = gist.Black - pf.Grid.SetUInt8(220, 220, 220, 255) + pf.Background = colors.White + pf.Border = colors.Black + pf.Vector.SetUInt8(220, 220, 220, 255) } func (pf *ColorPrefs) DarkDefaults() { - pf.Background = gist.Black + pf.Background = colors.Black pf.Border.SetUInt8(102, 102, 102, 255) - pf.Grid.SetUInt8(40, 40, 40, 255) + pf.Vector.SetUInt8(40, 40, 40, 255) } func DefaultColorSchemes() map[string]*ColorPrefs { @@ -365,7 +324,7 @@ func DefaultColorSchemes() map[string]*ColorPrefs { } // OpenJSON opens colors from a JSON-formatted file. -func (pf *ColorPrefs) OpenJSON(filename gi.FileName) error { +func (pf *ColorPrefs) OpenJSON(filename gi.Filename) error { b, err := ioutil.ReadFile(string(filename)) if err != nil { gi.PromptDialog(nil, gi.DlgOpts{Title: "File Not Found", Prompt: err.Error()}, gi.AddOk, gi.NoCancel, nil, nil) @@ -376,7 +335,7 @@ func (pf *ColorPrefs) OpenJSON(filename gi.FileName) error { } // SaveJSON saves colors to a JSON-formatted file. -func (pf *ColorPrefs) SaveJSON(filename gi.FileName) error { +func (pf *ColorPrefs) SaveJSON(filename gi.Filename) error { b, err := json.MarshalIndent(pf, "", " ") if err != nil { log.Println(err) // unlikely @@ -397,6 +356,7 @@ func (pf *ColorPrefs) SetToPrefs() { Prefs.UpdateAll() } +/* // ColorPrefsProps defines the Toolbar var ColorPrefsProps = ki.Props{ "Toolbar": ki.PropSlice{ @@ -426,3 +386,5 @@ var ColorPrefsProps = ki.Props{ }}, }, } + +*/ diff --git a/grid/select.go b/vector/select.go similarity index 74% rename from grid/select.go rename to vector/select.go index bf92b2f4..104ca4bc 100644 --- a/grid/select.go +++ b/vector/select.go @@ -1,48 +1,45 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( "fmt" "image" - "github.com/goki/gi/gi" - "github.com/goki/gi/gist" - "github.com/goki/gi/oswin" - "github.com/goki/gi/oswin/key" - "github.com/goki/gi/oswin/mouse" - "github.com/goki/gi/svg" - "github.com/goki/ki/ki" - "github.com/goki/mat32" + "cogentcore.org/core/gi" + "cogentcore.org/core/ki" + "cogentcore.org/core/mat32" + "cogentcore.org/core/styles" + "cogentcore.org/core/svg" ) -func (gv *GridView) SelectToolbar() *gi.Toolbar { +func (gv *VectorView) SelectToolbar() *gi.Toolbar { tbs := gv.ModalToolbarStack() tb := tbs.ChildByName("select-tb", 0).(*gi.Toolbar) return tb } // ConfigSelectToolbar configures the selection modal toolbar (default tooblar) -func (gv *GridView) ConfigSelectToolbar() { +func (gv *VectorView) ConfigSelectToolbar() { tb := gv.SelectToolbar() if tb.HasChildren() { return } tb.SetStretchMaxWidth() - grs := gi.AddNewCheckBox(tb, "snap-grid") - grs.SetText("Snap Grid") + grs := gi.NewSwitch(tb, "snap-grid") + grs.SetText("Snap Vector") grs.Tooltip = "snap movement and sizing of selection to grid" - grs.SetChecked(Prefs.SnapGrid) + grs.SetChecked(Prefs.SnapVector) grs.ButtonSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { if sig == int64(gi.ButtonToggled) { - Prefs.SnapGrid = grs.IsChecked() + Prefs.SnapVector = grs.IsChecked() } }) - gis := gi.AddNewCheckBox(tb, "snap-guide") + gis := gi.NewSwitch(tb, "snap-guide") gis.SetText("Guide") gis.Tooltip = "snap movement and sizing of selection to align with other elements in the scene" gis.SetChecked(Prefs.SnapGuide) @@ -55,13 +52,13 @@ func (gv *GridView) ConfigSelectToolbar() { tb.AddAction(gi.ActOpts{Icon: "sel-group", Tooltip: "Ctrl+G: Group items together", UpdateFunc: gv.SelectedEnableFunc}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelGroup() }) tb.AddAction(gi.ActOpts{Icon: "sel-ungroup", Tooltip: "Shift+Ctrl+G: ungroup items", UpdateFunc: gv.SelectedEnableFunc}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelUnGroup() }) @@ -69,97 +66,97 @@ func (gv *GridView) ConfigSelectToolbar() { tb.AddAction(gi.ActOpts{Icon: "sel-rotate-left", Tooltip: "Ctrl-[: rotate selection 90deg counter-clockwise", UpdateFunc: gv.SelectedEnableFunc}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelRotateLeft() }) tb.AddAction(gi.ActOpts{Icon: "sel-rotate-right", Tooltip: "Ctrl-]: rotate selection 90deg clockwise", UpdateFunc: gv.SelectedEnableFunc}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelRotateRight() }) tb.AddAction(gi.ActOpts{Icon: "sel-flip-horiz", Tooltip: "H: flip selection horizontally", UpdateFunc: gv.SelectedEnableFunc}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelFlipHoriz() }) tb.AddAction(gi.ActOpts{Icon: "sel-flip-vert", Tooltip: "V: flip selection vertically", UpdateFunc: gv.SelectedEnableFunc}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelFlipVert() }) gi.NewSeparator(tb, "sep-rot") tb.AddAction(gi.ActOpts{Icon: "sel-raise-top", Tooltip: "Raise selection to top (within layer)", UpdateFunc: gv.SelectedEnableFunc}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelRaiseTop() }) tb.AddAction(gi.ActOpts{Icon: "sel-raise", Tooltip: "Raise selection one level (within layer)", UpdateFunc: gv.SelectedEnableFunc}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelRaise() }) tb.AddAction(gi.ActOpts{Icon: "sel-lower-bottom", Tooltip: "Lower selection to bottom (within layer)", UpdateFunc: gv.SelectedEnableFunc}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelLowerBot() }) tb.AddAction(gi.ActOpts{Icon: "sel-lower", Tooltip: "Lower selection one level (within layer)", UpdateFunc: gv.SelectedEnableFunc}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelLower() }) gi.NewSeparator(tb, "sep-size") - gi.AddNewLabel(tb, "posx-lab", "X: ").SetProp("vertical-align", gist.AlignMiddle) - px := gi.AddNewSpinBox(tb, "posx") + gi.NewLabel(tb, "posx-lab", "X: ").SetProp("vertical-align", styles.AlignMiddle) + px := gi.NewSpinner(tb, "posx") px.SetProp("step", 1) px.SetValue(0) px.Tooltip = "horizontal coordinate of selection, in document units" - px.SpinBoxSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + px.SpinnerSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelSetXPos(px.Value) }) - gi.AddNewLabel(tb, "posy-lab", "Y: ").SetProp("vertical-align", gist.AlignMiddle) - py := gi.AddNewSpinBox(tb, "posy") + gi.NewLabel(tb, "posy-lab", "Y: ").SetProp("vertical-align", styles.AlignMiddle) + py := gi.NewSpinner(tb, "posy") py.SetProp("step", 1) py.SetValue(0) py.Tooltip = "vertical coordinate of selection, in document units" - py.SpinBoxSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + py.SpinnerSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelSetYPos(py.Value) }) - gi.AddNewLabel(tb, "width-lab", "W: ").SetProp("vertical-align", gist.AlignMiddle) - wd := gi.AddNewSpinBox(tb, "width") + gi.NewLabel(tb, "width-lab", "W: ").SetProp("vertical-align", styles.AlignMiddle) + wd := gi.NewSpinner(tb, "width") wd.SetProp("step", 1) wd.SetValue(0) wd.Tooltip = "width of selection, in document units" - wd.SpinBoxSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + wd.SpinnerSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelSetWidth(wd.Value) }) - gi.AddNewLabel(tb, "height-lab", "H: ").SetProp("vertical-align", gist.AlignMiddle) - ht := gi.AddNewSpinBox(tb, "height") + gi.NewLabel(tb, "height-lab", "H: ").SetProp("vertical-align", styles.AlignMiddle) + ht := gi.NewSpinner(tb, "height") ht.SetProp("step", 1) ht.SetValue(0) ht.Tooltip = "height of selection, in document units" - ht.SpinBoxSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + ht.SpinnerSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SelSetHeight(ht.Value) }) } // SelectedEnableFunc is an ActionUpdateFunc that inactivates action if no selected items -func (gv *GridView) SelectedEnableFunc(act *gi.Button) { +func (gv *VectorView) SelectedEnableFunc(act *gi.Button) { es := &gv.EditState act.SetInactiveState(!es.HasSelected()) } // UpdateSelectToolbar updates the select toolbar based on current selection -func (gv *GridView) UpdateSelectToolbar() { +func (gv *VectorView) UpdateSelectToolbar() { tb := gv.SelectToolbar() tb.UpdateActions() es := &gv.EditState @@ -167,13 +164,13 @@ func (gv *GridView) UpdateSelectToolbar() { return } sz := es.DragSelEffBBox.Size() - px := tb.ChildByName("posx", 8).(*gi.SpinBox) + px := tb.ChildByName("posx", 8).(*gi.Spinner) px.SetValue(es.DragSelEffBBox.Min.X) - py := tb.ChildByName("posy", 9).(*gi.SpinBox) + py := tb.ChildByName("posy", 9).(*gi.Spinner) py.SetValue(es.DragSelEffBBox.Min.Y) - wd := tb.ChildByName("width", 10).(*gi.SpinBox) + wd := tb.ChildByName("width", 10).(*gi.Spinner) wd.SetValue(sz.X) - ht := tb.ChildByName("height", 11).(*gi.SpinBox) + ht := tb.ChildByName("height", 11).(*gi.Spinner) ht.SetValue(sz.Y) } @@ -181,10 +178,10 @@ func (gv *GridView) UpdateSelectToolbar() { func (sv *SVGView) UpdateSelect() { wupdt := sv.TopUpdateStart() defer sv.TopUpdateEnd(wupdt) - win := sv.GridView.ParentWindow() + win := sv.VectorView.ParentWindow() es := sv.EditState() - sv.GridView.UpdateTabs() - sv.GridView.UpdateSelectToolbar() + sv.VectorView.UpdateTabs() + sv.VectorView.UpdateSelectToolbar() if es.Tool == NodeTool { sv.UpdateNodeSprites() sv.RemoveSelSprites(win) @@ -194,6 +191,7 @@ func (sv *SVGView) UpdateSelect() { } } +/* func (sv *SVGView) RemoveSelSprites(win *gi.Window) { InactivateSprites(win, SpReshapeBBox) InactivateSprites(win, SpSelBBox) @@ -201,9 +199,10 @@ func (sv *SVGView) RemoveSelSprites(win *gi.Window) { es.NSelSprites = 0 win.UpdateSig() } +*/ func (sv *SVGView) UpdateSelSprites() { - win := sv.GridView.ParentWindow() + win := sv.VectorView.ParentWindow() updt := win.UpdateStart() defer win.UpdateEnd(updt) @@ -218,7 +217,7 @@ func (sv *SVGView) UpdateSelSprites() { spi := i // key to get a unique local var SpriteConnectEvent(win, SpReshapeBBox, spi, 0, image.ZP, sv.This(), func(recv, send ki.Ki, sig int64, d any) { ssvg := recv.Embed(KiT_SVGView).(*SVGView) - ssvg.SelSpriteEvent(spi, oswin.EventType(sig), d) + ssvg.SelSpriteEvent(spi, events.EventType(sig), d) }) } sv.SetBBoxSpritePos(SpReshapeBBox, 0, es.SelBBox) @@ -228,7 +227,7 @@ func (sv *SVGView) UpdateSelSprites() { } func (sv *SVGView) SetSelSpritePos() { - win := sv.GridView.ParentWindow() + win := sv.VectorView.ParentWindow() es := sv.EditState() nsel := es.NSelSprites @@ -237,12 +236,12 @@ func (sv *SVGView) SetSelSpritePos() { nbox := 0 sl := es.SelectedList(false) for si, sii := range sl { - sn := sii.AsSVGNode() - if sn.WinBBox.Size() == image.ZP { + sn := sii.AsNodeBase() + if sn.BBox.Size() == image.ZP { continue } bb := mat32.Box2{} - bb.SetFromRect(sn.WinBBox) + bb.SetFromRect(sn.BBox) sv.SetBBoxSpritePos(SpSelBBox, si, bb) nbox++ } @@ -259,7 +258,7 @@ func (sv *SVGView) SetSelSpritePos() { // SetBBoxSpritePos sets positions of given type of sprites func (sv *SVGView) SetBBoxSpritePos(typ Sprites, idx int, bbox mat32.Box2) { - win := sv.GridView.ParentWindow() + win := sv.VectorView.ParentWindow() _, spsz := HandleSpriteSize(1) midX := int(0.5 * (bbox.Min.X + bbox.Max.X - float32(spsz.X))) midY := int(0.5 * (bbox.Min.Y + bbox.Max.Y - float32(spsz.Y))) @@ -287,12 +286,13 @@ func (sv *SVGView) SetBBoxSpritePos(typ Sprites, idx int, bbox mat32.Box2) { } } -func (sv *SVGView) SelSpriteEvent(sp Sprites, et oswin.EventType, d any) { - win := sv.GridView.ParentWindow() +/* +func (sv *SVGView) SelSpriteEvent(sp Sprites, et events.EventType, d any) { + win := sv.VectorView.ParentWindow() es := sv.EditState() es.SelNoDrag = false switch et { - case oswin.MouseEvent: + case events.MouseEvent: me := d.(*mouse.Event) me.SetProcessed() // fmt.Printf("click %s\n", sp) @@ -303,7 +303,7 @@ func (sv *SVGView) SelSpriteEvent(sp Sprites, et oswin.EventType, d any) { } else if me.Action == mouse.Release { sv.ManipDone() } - case oswin.MouseDragEvent: + case events.MouseDragEvent: me := d.(*mouse.DragEvent) me.SetProcessed() // fmt.Printf("drag %v delta: %v\n", sp, me.Delta()) @@ -314,10 +314,11 @@ func (sv *SVGView) SelSpriteEvent(sp Sprites, et oswin.EventType, d any) { } } } +*/ // SetRubberBand updates the rubber band postion func (sv *SVGView) SetRubberBand(cur image.Point) { - win := sv.GridView.ParentWindow() + win := sv.VectorView.ParentWindow() es := sv.EditState() if !es.InAction() { @@ -351,7 +352,7 @@ func (sv *SVGView) SetRubberBand(cur image.Point) { /////////////////////////////////////////////////////////////////////// // Actions -func (gv *GridView) SelGroup() { +func (gv *VectorView) SelGroup() { es := &gv.EditState if !es.HasSelected() { return @@ -366,7 +367,7 @@ func (gv *GridView) SelGroup() { fidx, _ := fsel.IndexInParent() - ng := fsel.Parent().InsertNewChild(svg.KiT_Group, fidx, "newgp").(svg.NodeSVG) + ng := fsel.Parent().InsertNewChild(svg.KiT_Group, fidx, "newgp").(svg.Node) sv.SetSVGName(ng) for _, se := range sl { @@ -381,7 +382,7 @@ func (gv *GridView) SelGroup() { gv.ChangeMade() } -func (gv *GridView) SelUnGroup() { +func (gv *VectorView) SelUnGroup() { es := &gv.EditState if !es.HasSelected() { return @@ -407,7 +408,7 @@ func (gv *GridView) SelUnGroup() { ki.SetParent(k, nil) gp.DeleteChild(k, false) // no destroy np.InsertChild(k, gidx+i) - se := k.(svg.NodeSVG) + se := k.(svg.Node) if !gp.Pnt.Transform.IsIdentity() { se.ApplyTransform(gp.Pnt.Transform) // group no longer there! } @@ -419,7 +420,7 @@ func (gv *GridView) SelUnGroup() { gv.ChangeMade() } -func (gv *GridView) SelRotate(deg float32) { +func (gv *VectorView) SelRotate(deg float32) { es := &gv.EditState if !es.HasSelected() { return @@ -427,14 +428,14 @@ func (gv *GridView) SelRotate(deg float32) { sv := gv.SVG() sv.UndoSave("Rotate", fmt.Sprintf("%g", deg)) - svoff := sv.WinBBox.Min + svoff := sv.BBox.Min del := mat32.Vec2{} sc := mat32.V2(1, 1) rot := mat32.DegToRad(deg) for sn := range es.Selected { - sng := sn.AsSVGNode() - sz := mat32.NewVec2FmPoint(sng.WinBBox.Size()) - mn := mat32.NewVec2FmPoint(sng.WinBBox.Min.Sub(svoff)) + sng := sn.AsNodeBase() + sz := mat32.V2FromPoint(sng.BBox.Size()) + mn := mat32.V2FromPoint(sng.BBox.Min.Sub(svoff)) ctr := mn.Add(sz.MulScalar(.5)) sn.ApplyDeltaTransform(del, sc, rot, ctr) } @@ -442,7 +443,7 @@ func (gv *GridView) SelRotate(deg float32) { gv.ChangeMade() } -func (gv *GridView) SelScale(scx, scy float32) { +func (gv *VectorView) SelScale(scx, scy float32) { es := &gv.EditState if !es.HasSelected() { return @@ -450,13 +451,13 @@ func (gv *GridView) SelScale(scx, scy float32) { sv := gv.SVG() sv.UndoSave("Scale", fmt.Sprintf("%g,%g", scx, scy)) - svoff := sv.WinBBox.Min + svoff := sv.BBox.Min del := mat32.Vec2{} sc := mat32.V2(scx, scy) for sn := range es.Selected { - sng := sn.AsSVGNode() - sz := mat32.NewVec2FmPoint(sng.WinBBox.Size()) - mn := mat32.NewVec2FmPoint(sng.WinBBox.Min.Sub(svoff)) + sng := sn.AsNodeBase() + sz := mat32.V2FromPoint(sng.BBox.Size()) + mn := mat32.V2FromPoint(sng.BBox.Min.Sub(svoff)) ctr := mn.Add(sz.MulScalar(.5)) sn.ApplyDeltaTransform(del, sc, 0, ctr) } @@ -464,23 +465,23 @@ func (gv *GridView) SelScale(scx, scy float32) { gv.ChangeMade() } -func (gv *GridView) SelRotateLeft() { +func (gv *VectorView) SelRotateLeft() { gv.SelRotate(-90) } -func (gv *GridView) SelRotateRight() { +func (gv *VectorView) SelRotateRight() { gv.SelRotate(90) } -func (gv *GridView) SelFlipHoriz() { +func (gv *VectorView) SelFlipHoriz() { gv.SelScale(-1, 1) } -func (gv *GridView) SelFlipVert() { +func (gv *VectorView) SelFlipVert() { gv.SelScale(1, -1) } -func (gv *GridView) SelRaiseTop() { +func (gv *VectorView) SelRaiseTop() { es := &gv.EditState if !es.HasSelected() { return @@ -501,7 +502,7 @@ func (gv *GridView) SelRaiseTop() { gv.ChangeMade() } -func (gv *GridView) SelRaise() { +func (gv *VectorView) SelRaise() { es := &gv.EditState if !es.HasSelected() { return @@ -524,7 +525,7 @@ func (gv *GridView) SelRaise() { gv.ChangeMade() } -func (gv *GridView) SelLowerBot() { +func (gv *VectorView) SelLowerBot() { es := &gv.EditState if !es.HasSelected() { return @@ -545,7 +546,7 @@ func (gv *GridView) SelLowerBot() { gv.ChangeMade() } -func (gv *GridView) SelLower() { +func (gv *VectorView) SelLower() { es := &gv.EditState if !es.HasSelected() { return @@ -568,7 +569,7 @@ func (gv *GridView) SelLower() { gv.ChangeMade() } -func (gv *GridView) SelSetXPos(xp float32) { +func (gv *VectorView) SelSetXPos(xp float32) { es := &gv.EditState if !es.HasSelected() { return @@ -579,7 +580,7 @@ func (gv *GridView) SelSetXPos(xp float32) { gv.ChangeMade() } -func (gv *GridView) SelSetYPos(yp float32) { +func (gv *VectorView) SelSetYPos(yp float32) { es := &gv.EditState if !es.HasSelected() { return @@ -590,7 +591,7 @@ func (gv *GridView) SelSetYPos(yp float32) { gv.ChangeMade() } -func (gv *GridView) SelSetWidth(wd float32) { +func (gv *VectorView) SelSetWidth(wd float32) { es := &gv.EditState if !es.HasSelected() { return @@ -601,7 +602,7 @@ func (gv *GridView) SelSetWidth(wd float32) { gv.ChangeMade() } -func (gv *GridView) SelSetHeight(ht float32) { +func (gv *VectorView) SelSetHeight(ht float32) { es := &gv.EditState if !es.HasSelected() { return @@ -615,40 +616,29 @@ func (gv *GridView) SelSetHeight(ht float32) { /////////////////////////////////////////////////////////////////////// // Select tree traversal -// SelectWithinBBox returns a list of all nodes whose WinBBox is fully contained +// SelectWithinBBox returns a list of all nodes whose BBox is fully contained // within the given BBox. SVG version excludes layer groups. -func (sv *SVGView) SelectWithinBBox(bbox image.Rectangle, leavesOnly bool) []svg.NodeSVG { - var rval []svg.NodeSVG +func (sv *SVGView) SelectWithinBBox(bbox image.Rectangle, leavesOnly bool) []svg.Node { + var rval []svg.Node var curlay ki.Ki - sv.FuncDownMeFirst(0, sv.This(), func(k ki.Ki, level int, d any) bool { - if k == sv.This() { + svg.SVGWalkPreNoDefs(sv, func(kni svg.Node, knb *svg.NodeBase) bool { + if kni.This() == sv.This() { return ki.Continue } - if k.IsDeleted() || k.IsDestroyed() { - return ki.Break - } if leavesOnly && k.HasChildren() { return ki.Continue } - if k == sv.Defs.This() || NodeIsMetaData(k) { - return ki.Break - } if NodeIsLayer(k) { return ki.Continue } - sii, issvg := k.(svg.NodeSVG) - if !issvg { - return ki.Break - } - if txt, istxt := sii.(*svg.Text); istxt { // no tspans + if txt, istxt := kni.(*svg.Text); istxt { // no tspans if txt.Text != "" { if _, istxt := txt.Par.(*svg.Text); istxt { return ki.Break } } } - sg := sii.AsSVGNode() - if sg.Pnt.Off { + if knb.Pnt.Off { return ki.Break } nl := NodeParentLayer(k) @@ -657,9 +647,9 @@ func (sv *SVGView) SelectWithinBBox(bbox image.Rectangle, leavesOnly bool) []svg return ki.Break } } - if sg.WinBBoxInBBox(bbox) { - // fmt.Printf("%s sel bb: %v in: %v\n", sg.Name(), sg.WinBBox, bbox) - rval = append(rval, sii) + if knb.BBoxInBBox(bbox) { + // fmt.Printf("%s sel bb: %v in: %v\n", knb.Name(), knb.BBox, bbox) + rval = append(rval, kni) if curlay == nil && nl != nil { curlay = nl } @@ -670,41 +660,31 @@ func (sv *SVGView) SelectWithinBBox(bbox image.Rectangle, leavesOnly bool) []svg return rval } -// SelectContainsPoint finds the first node whose WinBBox contains the given +// SelectContainsPoint finds the first node whose BBox contains the given // point -- nil if none. If leavesOnly is set then only nodes that have no // nodes (leaves, terminal nodes) will be considered. // if leavesOnly, only terminal leaves (no children) are included // if excludeSel, any leaf nodes that are within the current edit selection are // excluded, -func (sv *SVGView) SelectContainsPoint(pt image.Point, leavesOnly, excludeSel bool) svg.NodeSVG { +func (sv *SVGView) SelectContainsPoint(pt image.Point, leavesOnly, excludeSel bool) svg.Node { es := sv.EditState() var curlay ki.Ki fn := es.FirstSelectedNode() if fn != nil { curlay = NodeParentLayer(fn) } - var rval svg.NodeSVG - sv.FuncDownMeFirst(0, sv.This(), func(k ki.Ki, level int, d any) bool { - if k == sv.This() { + var rval svg.Node + svg.SVGWalkPreNoDefs(sv, func(kni svg.Node, knb *svg.NodeBase) bool { + if kni.This() == sv.This() { return ki.Continue } - if k.IsDeleted() || k.IsDestroyed() { - return ki.Break - } if leavesOnly && k.HasChildren() { return ki.Continue } - if k == sv.Defs.This() || NodeIsMetaData(k) { - return ki.Break - } if NodeIsLayer(k) { return ki.Continue } - sii, issvg := k.(svg.NodeSVG) - if !issvg { - return ki.Break - } - if txt, istxt := sii.(*svg.Text); istxt { // no tspans + if txt, istxt := kni.(*svg.Text); istxt { // no tspans if txt.Text != "" { if _, istxt := txt.Par.(*svg.Text); istxt { return ki.Break @@ -712,15 +692,14 @@ func (sv *SVGView) SelectContainsPoint(pt image.Point, leavesOnly, excludeSel bo } } if excludeSel { - if _, issel := es.Selected[sii]; issel { + if _, issel := es.Selected[kni]; issel { return ki.Continue } - if _, issel := es.RecentlySelected[sii]; issel { + if _, issel := es.RecentlySelected[kni]; issel { return ki.Continue } } - sg := sii.AsSVGNode() - if sg.Pnt.Off { + if knb.Pnt.Off { return ki.Break } nl := NodeParentLayer(k) @@ -729,8 +708,8 @@ func (sv *SVGView) SelectContainsPoint(pt image.Point, leavesOnly, excludeSel bo return ki.Break } } - if sg.PosInWinBBox(pt) { - rval = sii + if knb.PosInBBox(pt) { + rval = kni return ki.Break } return ki.Continue diff --git a/vector/splits.go b/vector/splits.go new file mode 100644 index 00000000..ada1e94b --- /dev/null +++ b/vector/splits.go @@ -0,0 +1,168 @@ +// Copyright (c) 2018, Cogent Core. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package vector + +import ( + "encoding/json" + "fmt" + "path/filepath" + "slices" + + "cogentcore.org/core/gi" + "cogentcore.org/core/glop/dirs" + "cogentcore.org/core/grows/jsons" + "cogentcore.org/core/grr" +) + +// Split is a named splitter configuration +type Split struct { + + // name of splitter config + Name string + + // brief description + Desc string + + // splitter panel proportions + Splits []float32 `min:"0" max:"1" step:".05" fixed-len:"4"` +} + +// Label satisfies the Labeler interface +func (sp Split) Label() string { + return sp.Name +} + +// SaveSplits saves given splits to this setting -- must use copy! +func (lt *Split) SaveSplits(sp []float32) { + copy(lt.Splits, sp) +} + +// Splits is a list of named splitter configurations +type Splits []*Split + +// SplitName has an associated ValueView for selecting from the list of +// available named splits +type SplitName string + +// AvailSplits are available named splitter settings. can be loaded / saved / +// edited with settings. This is set to StdSplits at startup. +var AvailSplits Splits + +// AvailSplitNames are the names of the current AvailSplits -- used for some choosers +var AvailSplitNames []string + +func init() { + AvailSplits.CopyFrom(StdSplits) + AvailSplitNames = AvailSplits.Names() +} + +// SplitByName returns a named split and index by name -- returns false and emits a +// message to stdout if not found +func (lt *Splits) SplitByName(name SplitName) (*Split, int, bool) { + if name == "" { + return nil, -1, false + } + for i, sp := range *lt { + if sp.Name == string(name) { + return sp, i, true + } + } + fmt.Printf("code.SplitByName: split named: %v not found\n", name) + return nil, -1, false +} + +// Add adds a new splitter setting, returns split and index +func (lt *Splits) Add(name, desc string, splits []float32) (*Split, int) { + sp := &Split{Name: name, Desc: desc, Splits: slices.Clone(splits)} + *lt = append(*lt, sp) + return sp, len(*lt) - 1 +} + +// Names returns a slice of current names +func (lt *Splits) Names() []string { + nms := make([]string, len(*lt)) + for i, sp := range *lt { + nms[i] = sp.Name + } + return nms +} + +// PrefsSplitsFilename is the name of the settings file in App prefs +// directory for saving / loading the default AvailSplits +var PrefsSplitsFilename = "splits_prefs.json" + +// FixLen ensures that there are exactly 4 splits in each +func (lt *Splits) FixLen() { + for _, sp := range *lt { + ln := len(sp.Splits) + if ln > 4 { + sp.Splits = sp.Splits[:4] + } else if ln < 4 { + sp.Splits = append(sp.Splits, make([]float32, 4-ln)...) + } + } +} + +// Open opens named splits from a json-formatted file. +func (lt *Splits) Open(filename gi.Filename) error { //gti:add + if grr.Ignore1(dirs.FileExists(string(filename))) { + *lt = make(Splits, 0, 10) // reset + err := grr.Log(jsons.Open(lt, string(filename))) + lt.FixLen() + return err + } + return nil +} + +// Save saves named splits to a json-formatted file. +func (lt *Splits) Save(filename gi.Filename) error { //gti:add + return grr.Log(jsons.Save(lt, string(filename))) +} + +// OpenSettings opens Splits from App standard prefs directory, using PrefSplitsFilename +func (lt *Splits) OpenSettings() error { //gti:add + pdir := gi.TheApp.AppDataDir() + pnm := filepath.Join(pdir, PrefsSplitsFilename) + AvailSplitsChanged = false + err := lt.Open(gi.Filename(pnm)) + if err == nil { + AvailSplitNames = lt.Names() + } + return err +} + +// SavePrefs saves Splits to App standard prefs directory, using PrefSplitsFilename +func (lt *Splits) SavePrefs() error { //gti:add + lt.FixLen() + pdir := gi.TheApp.AppDataDir() + pnm := filepath.Join(pdir, PrefsSplitsFilename) + AvailSplitsChanged = false + AvailSplitNames = lt.Names() + return lt.Save(gi.Filename(pnm)) +} + +// CopyFrom copies named splits from given other map +func (lt *Splits) CopyFrom(cp Splits) { + *lt = make(Splits, 0, len(cp)) // reset + b, err := json.Marshal(cp) + if err != nil { + fmt.Printf("json err: %v\n", err.Error()) + } + json.Unmarshal(b, lt) + lt.FixLen() +} + +// AvailSplitsChanged is used to update toolbars via following menu, toolbar +// props update methods -- not accurate if editing any other map but works for +// now.. +var AvailSplitsChanged = false + +// StdSplits is the original compiled-in set of standard named splits. +var StdSplits = Splits{ + {"Code", "2 text views, tabs", []float32{.1, .325, .325, .25}}, + {"Small", "1 text view, tabs", []float32{.1, .5, 0, .4}}, + {"BigTabs", "1 text view, big tabs", []float32{.1, .3, 0, .6}}, + {"Debug", "big command panel for debugging", []float32{0.1, 0.29539588, 0.2949658, 0.30963832}}, +} diff --git a/grid/sprites.go b/vector/sprites.go similarity index 91% rename from grid/sprites.go rename to vector/sprites.go index 8b928ea2..cb2d6ad7 100644 --- a/grid/sprites.go +++ b/vector/sprites.go @@ -1,8 +1,8 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( "fmt" @@ -10,17 +10,12 @@ import ( "image/color" "image/draw" - "github.com/goki/gi/gi" - "github.com/goki/gi/gist" - "github.com/goki/gi/oswin" - "github.com/goki/ki/ints" - "github.com/goki/ki/ki" - "github.com/goki/ki/kit" - "github.com/goki/mat32" + "cogentcore.org/core/gi" + "cogentcore.org/core/mat32" ) // Sprites are the type of sprite -type Sprites int +type Sprites int32 //enums:enum const ( // SpUnk is an unknown sprite type @@ -60,17 +55,8 @@ const ( SpBBoxRtM // todo: add nodectrl subtypes - - SpritesN ) -//go:generate stringer -type=Sprites - -var KiT_Sprites = kit.Enums.AddEnum(SpritesN, kit.NotBitFlag, nil) - -func (ev Sprites) MarshalJSON() ([]byte, error) { return kit.EnumMarshalJSON(ev) } -func (ev *Sprites) UnmarshalJSON(b []byte) error { return kit.EnumUnmarshalJSON(ev, b) } - // SpriteNames are name strings to use for naming sprites var SpriteNames = map[Sprites]string{ SpBBoxUpL: "up-l", @@ -139,7 +125,7 @@ func SpriteProps(sp *gi.Sprite) (typ, subtyp Sprites, idx int) { // Sprite returns given sprite -- renders to window if not yet made. // trgsz is the target size (e.g., for rubber band boxes) -func Sprite(win *gi.Window, typ, subtyp Sprites, idx int, trgsz image.Point) *gi.Sprite { +func Sprite(typ, subtyp Sprites, idx int, trgsz image.Point) *gi.Sprite { spnm := SpriteName(typ, subtyp, idx) sp, ok := win.SpriteByName(spnm) if !ok { @@ -175,6 +161,7 @@ func Sprite(win *gi.Window, typ, subtyp Sprites, idx int, trgsz image.Point) *gi return sp } +/* // SpriteConnectEvent activates and sets mouse event functions to given function func SpriteConnectEvent(win *gi.Window, typ, subtyp Sprites, idx int, trgsz image.Point, recv ki.Ki, fun ki.RecvFunc) *gi.Sprite { sp := Sprite(win, typ, subtyp, idx, trgsz) @@ -184,6 +171,7 @@ func SpriteConnectEvent(win *gi.Window, typ, subtyp Sprites, idx int, trgsz imag } return sp } +*/ // SetSpritePos sets sprite position, taking into account relative offsets func SetSpritePos(sp *gi.Sprite, pos image.Point) { @@ -231,7 +219,7 @@ func SetSpritePos(sp *gi.Sprite, pos image.Point) { } // InactivateSprites inactivates sprites of given type -func InactivateSprites(win *gi.Window, typ Sprites) { +func InactivateSprites(typ Sprites) { for _, spkv := range win.Sprites.Names.Order { sp := spkv.Val st, _, _ := SpriteProps(sp) @@ -254,8 +242,8 @@ var ( // of handle-type sprites, with given scaling factor func HandleSpriteSize(scale float32) (int, image.Point) { sz := int(mat32.Ceil(scale * gi.Prefs.LogicalDPIScale * HandleSpriteScale)) - sz = ints.MaxInt(sz, HandleSizeMin) - bsz := ints.MaxInt(sz/6, HandleBorderMin) + sz = max(sz, HandleSizeMin) + bsz := max(sz/6, HandleBorderMin) bbsz := image.Point{sz, sz} return bsz, bbsz } @@ -333,8 +321,8 @@ var ( // LineSpriteSize returns the border size and overall size of line-type sprites func LineSpriteSize() (int, int) { sz := int(mat32.Ceil(gi.Prefs.LogicalDPIScale * LineSpriteScale)) - sz = ints.MaxInt(sz, LineSizeMin) - bsz := ints.MaxInt(sz/6, LineBorderMin) + sz = max(sz, LineSizeMin) + bsz := max(sz/6, LineBorderMin) return bsz, sz } @@ -387,7 +375,7 @@ func DrawAlignMatchHoriz(sp *gi.Sprite, trgsz image.Point) { bbd := ibd bbd.Min.Y += bsz bbd.Max.Y -= bsz - clr := gist.Color{0, 200, 200, 255} + clr := color.Color{0, 200, 200, 255} draw.Draw(sp.Pixels, ibd, &image.Uniform{color.White}, image.ZP, draw.Src) draw.Draw(sp.Pixels, bbd, &image.Uniform{clr}, image.ZP, draw.Src) } @@ -403,7 +391,7 @@ func DrawAlignMatchVert(sp *gi.Sprite, trgsz image.Point) { bbd := ibd bbd.Min.X += bsz bbd.Max.X -= bsz - clr := gist.Color{0, 200, 200, 255} + clr := color.Color{0, 200, 200, 255} draw.Draw(sp.Pixels, ibd, &image.Uniform{color.White}, image.ZP, draw.Src) draw.Draw(sp.Pixels, bbd, &image.Uniform{clr}, image.ZP, draw.Src) } diff --git a/grid/svgview.go b/vector/svgview.go similarity index 78% rename from grid/svgview.go rename to vector/svgview.go index 97a7cdd5..bf1a528a 100644 --- a/grid/svgview.go +++ b/vector/svgview.go @@ -1,8 +1,8 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( "bytes" @@ -12,29 +12,23 @@ import ( "reflect" "strings" - "github.com/goki/gi/gi" - "github.com/goki/gi/girl" - "github.com/goki/gi/giv" - "github.com/goki/gi/oswin" - "github.com/goki/gi/oswin/cursor" - "github.com/goki/gi/oswin/key" - "github.com/goki/gi/oswin/mouse" - "github.com/goki/gi/svg" - "github.com/goki/gi/units" - "github.com/goki/ki/ints" - "github.com/goki/ki/ki" - "github.com/goki/ki/kit" - "github.com/goki/ki/walki" - "github.com/goki/mat32" - "goki.dev/gi/v2/keyfun" + "cogentcore.org/core/events" + "cogentcore.org/core/gi" + "cogentcore.org/core/giv" + "cogentcore.org/core/gti" + "cogentcore.org/core/keyfun" + "cogentcore.org/core/ki" + "cogentcore.org/core/laser" + "cogentcore.org/core/mat32" + "cogentcore.org/core/svg" ) // SVGView is the element for viewing, interacting with the SVG type SVGView struct { svg.SVG - // the parent gridview - GridView *GridView `copy:"-" json:"-" xml:"-" view:"-"` + // the parent vectorview + VectorView *VectorView `copier:"-" json:"-" xml:"-" view:"-"` // view translation offset (from dragging) Trans mat32.Vec2 @@ -43,43 +37,35 @@ type SVGView struct { Scale float32 // grid spacing, in native ViewBox units - Grid float32 + Vector float32 // effective grid spacing given Scale level - GridEff float32 `view:"inactive"` + VectorEff float32 `view:"inactive"` // has dragging cursor been set yet? SetDragCursor bool `view:"-"` // background pixels, includes page outline and grid - BgPixels *image.RGBA `copy:"-" json:"-" xml:"-" view:"-"` + BgPixels *image.RGBA `copier:"-" json:"-" xml:"-" view:"-"` // render state for background rendering - BgRender girl.State `copy:"-" json:"-" xml:"-" view:"-"` + // BgRender girl.State `copier:"-" json:"-" xml:"-" view:"-"` // bg rendered translation - bgTrans mat32.Vec2 `copy:"-" json:"-" xml:"-" view:"-"` + bgTrans mat32.Vec2 `copier:"-" json:"-" xml:"-" view:"-"` // bg rendered scale - bgScale float32 `copy:"-" json:"-" xml:"-" view:"-"` + bgScale float32 `copier:"-" json:"-" xml:"-" view:"-"` // bg rendered grid - bgGridEff float32 `copy:"-" json:"-" xml:"-" view:"-"` + bgVectorEff float32 `copier:"-" json:"-" xml:"-" view:"-"` } -var KiT_SVGView = kit.Types.AddType(&SVGView{}, SVGViewProps) - -var SVGViewProps = ki.Props{ - "EnumType:Flag": svg.KiT_SVGFlags, - "background-color": &Prefs.Colors.Background, - "border-width": units.NewDot(1), -} - -// AddNewSVGView adds a new editor to given parent node, with given name. -func AddNewSVGView(parent ki.Ki, name string, gv *GridView) *SVGView { +// NewSVGView adds a new editor to given parent node, with given name. +func NewSVGView(parent ki.Ki, gv *VectorView) *SVGView { sv := parent.AddNewChild(KiT_SVGView, name).(*SVGView) - sv.GridView = gv - sv.Grid = Prefs.Size.Grid + sv.VectorView = gv + sv.Vector = Prefs.Size.Vector sv.Scale = 1 sv.Fill = false // managed separately sv.Norm = false @@ -97,27 +83,19 @@ func (g *SVGView) CopyFieldsFrom(frm any) { // EditState returns the EditState for this view func (sv *SVGView) EditState() *EditState { - if sv.GridView == nil { + if sv.VectorView == nil { return nil } - return &sv.GridView.EditState + return &sv.VectorView.EditState } // UpdateView updates the view, optionally with a full re-render func (sv *SVGView) UpdateView(full bool) { - wupdt := sv.TopUpdateStart() - defer sv.TopUpdateEnd(wupdt) - if full || sv.BgNeedsUpdate() { - sv.SetFullReRender() - } - sv.UpdateSig() - if sv.BgNeedsUpdate() { - sv.RenderBg() - } + // sv.UpdateSelSprites() } -func (sv *SVGView) SVGViewKeys(kt *key.ChordEvent) { +func (sv *SVGView) SVGViewKeys(kt *events.Event) { kc := kt.Chord() if gi.DebugSettings.KeyEventTrace { fmt.Printf("SVGView KeyInput: %v\n", sv.Path()) @@ -126,29 +104,29 @@ func (sv *SVGView) SVGViewKeys(kt *key.ChordEvent) { switch kf { case keyfun.Abort: // todo: maybe something else - kt.SetProcessed() - sv.GridView.SetTool(SelectTool) + kt.SetHandled() + sv.VectorView.SetTool(SelectTool) case keyfun.Undo: - kt.SetProcessed() - sv.GridView.Undo() + kt.SetHandled() + sv.VectorView.Undo() case keyfun.Redo: - kt.SetProcessed() - sv.GridView.Redo() + kt.SetHandled() + sv.VectorView.Redo() case keyfun.Duplicate: - kt.SetProcessed() - sv.GridView.DuplicateSelected() + kt.SetHandled() + sv.VectorView.DuplicateSelected() case keyfun.Copy: - kt.SetProcessed() - sv.GridView.CopySelected() + kt.SetHandled() + sv.VectorView.CopySelected() case keyfun.Cut: - kt.SetProcessed() - sv.GridView.CutSelected() + kt.SetHandled() + sv.VectorView.CutSelected() case keyfun.Paste: - kt.SetProcessed() - sv.GridView.PasteClip() + kt.SetHandled() + sv.VectorView.PasteClip() case keyfun.Delete, keyfun.Backspace: - kt.SetProcessed() - sv.GridView.DeleteSelected() + kt.SetHandled() + sv.VectorView.DeleteSelected() } if kt.IsProcessed() { return @@ -156,32 +134,33 @@ func (sv *SVGView) SVGViewKeys(kt *key.ChordEvent) { // fmt.Println(kc) switch kc { case "Control+G", "Meta+G": - kt.SetProcessed() - sv.GridView.SelGroup() + kt.SetHandled() + sv.VectorView.SelGroup() case "Shift+Control+G", "Shift+Meta+G": - kt.SetProcessed() - sv.GridView.SelUnGroup() + kt.SetHandled() + sv.VectorView.SelUnGroup() case "s", "Shift+S", " ": - kt.SetProcessed() - sv.GridView.SetTool(SelectTool) + kt.SetHandled() + sv.VectorView.SetTool(SelectTool) case "n", "Shift+N": - kt.SetProcessed() - sv.GridView.SetTool(NodeTool) + kt.SetHandled() + sv.VectorView.SetTool(NodeTool) case "r", "Shift+R": - kt.SetProcessed() - sv.GridView.SetTool(RectTool) + kt.SetHandled() + sv.VectorView.SetTool(RectTool) case "e", "Shift+E": - kt.SetProcessed() - sv.GridView.SetTool(EllipseTool) + kt.SetHandled() + sv.VectorView.SetTool(EllipseTool) case "b", "Shift+B": - kt.SetProcessed() - sv.GridView.SetTool(BezierTool) + kt.SetHandled() + sv.VectorView.SetTool(BezierTool) case "t", "Shift+T": - kt.SetProcessed() - sv.GridView.SetTool(TextTool) + kt.SetHandled() + sv.VectorView.SetTool(TextTool) } } +/* func (sv *SVGView) KeyChordEvent() { // need hipri to prevent 2-seq guys from being captured by others sv.ConnectEvent(oswin.KeyChordEvent, gi.HiPri, func(recv, send ki.Ki, sig int64, d any) { @@ -194,7 +173,7 @@ func (sv *SVGView) KeyChordEvent() { func (sv *SVGView) MouseDrag() { sv.ConnectEvent(oswin.MouseDragEvent, gi.RegPri, func(recv, send ki.Ki, sig int64, d any) { me := d.(*mouse.DragEvent) - me.SetProcessed() + me.SetHandled() ssvg := recv.Embed(KiT_SVGView).(*SVGView) if ssvg.IsDragging() { ssvg.DragEvent(me) // for both scene drag and @@ -211,7 +190,7 @@ func (sv *SVGView) MouseDrag() { func (sv *SVGView) MouseScroll() { sv.ConnectEvent(oswin.MouseScrollEvent, gi.RegPri, func(recv, send ki.Ki, sig int64, d any) { me := d.(*mouse.ScrollEvent) - me.SetProcessed() + me.SetHandled() ssvg := recv.Embed(KiT_SVGView).(*SVGView) if ssvg.SetDragCursor { oswin.TheApp.Cursor(ssvg.ParentWindow().OSWin).Pop() @@ -240,10 +219,10 @@ func (sv *SVGView) MouseEvent() { } sob := ssvg.SelectContainsPoint(me.Where, false, true) // not leavesonly, yes exclude existing sels if me.Action == mouse.Press && me.Button == mouse.Left { - me.SetProcessed() + me.SetHandled() es.SelNoDrag = false switch { - case es.HasSelected() && es.SelBBox.ContainsPoint(mat32.NewVec2FmPoint(me.Where)): + case es.HasSelected() && es.SelBBox.ContainsPoint(mat32.V2FromPoint(me.Where)): // note: this absorbs potential secondary selections within selection -- handled // on release below, if nothing else happened es.SelNoDrag = true @@ -275,7 +254,7 @@ func (sv *SVGView) MouseEvent() { if (es.SelNoDrag && es.Tool == SelectTool) || (es.Tool != SelectTool && ToolDoesBasicSelect(es.Tool)) { es.SelNoDrag = false - me.SetProcessed() + me.SetHandled() if sob == nil { sob = ssvg.SelectContainsPoint(me.Where, false, false) // don't exclude existing sel } @@ -287,7 +266,7 @@ func (sv *SVGView) MouseEvent() { return } if me.Button == mouse.Right { - me.SetProcessed() + me.SetHandled() if es.HasSelected() { fobj := es.FirstSelectedNode() if fobj != nil { @@ -304,7 +283,7 @@ func (sv *SVGView) MouseEvent() { func (sv *SVGView) MouseHover() { sv.ConnectEvent(oswin.MouseHoverEvent, gi.RegPri, func(recv, send ki.Ki, sig int64, d any) { me := d.(*mouse.HoverEvent) - me.SetProcessed() + me.SetHandled() ssvg := recv.Embed(KiT_SVGView).(*SVGView) obj := ssvg.FirstContainingPoint(me.Where, true) if obj != nil { @@ -317,18 +296,18 @@ func (sv *SVGView) MouseHover() { // DragEvent processes a mouse drag event on the SVG canvas func (sv *SVGView) DragEvent(me *mouse.DragEvent) { - win := sv.GridView.ParentWindow() + win := sv.VectorView.ParentWindow() delta := me.Where.Sub(me.From) es := sv.EditState() es.SelNoDrag = false - me.SetProcessed() + me.SetHandled() es.DragStartPos = me.Start if me.HasAnyModifier(key.Shift) { if !sv.SetDragCursor { oswin.TheApp.Cursor(win.OSWin).Push(cursor.HandOpen) sv.SetDragCursor = true } - sv.Trans.SetAdd(mat32.NewVec2FmPoint(delta).DivScalar(sv.Scale)) + sv.Trans.SetAdd(mat32.V2FromPoint(delta).DivScalar(sv.Scale)) sv.SetTransform() sv.UpdateView(true) return @@ -378,19 +357,20 @@ func (sv *SVGView) SVGViewEvents() { func (sv *SVGView) ConnectEvents2D() { sv.SVGViewEvents() } +*/ // ContentsBBox returns the object-level box of the entire contents func (sv *SVGView) ContentsBBox() mat32.Box2 { bbox := mat32.Box2{} bbox.SetEmpty() - sv.FuncDownMeFirst(0, nil, func(k ki.Ki, level int, d any) bool { + sv.WalkPre(0, nil, func(k ki.Ki, level int, d any) bool { if k.This() == sv.This() { return ki.Continue } if k.This() == sv.Defs.This() { return ki.Break } - sni, issv := k.(svg.NodeSVG) + sni, issv := k.(svg.Node) if !issv { return ki.Break } @@ -402,7 +382,7 @@ func (sv *SVGView) ContentsBBox() mat32.Box2 { return ki.Break } } - sn := sni.AsSVGNode() + sn := sni.AsNodeBase() bb := mat32.Box2{} bb.SetFromRect(sn.BBox) bbox.ExpandByBox(bb) @@ -420,14 +400,14 @@ func (sv *SVGView) ContentsBBox() mat32.Box2 { // TransformAllLeaves transforms all the leaf items in the drawing (not groups) // uses ApplyDeltaTransform manipulation. func (sv *SVGView) TransformAllLeaves(trans mat32.Vec2, scale mat32.Vec2, rot float32, pt mat32.Vec2) { - sv.FuncDownMeFirst(0, nil, func(k ki.Ki, level int, d any) bool { + sv.WalkPre(0, nil, func(k ki.Ki, level int, d any) bool { if k.This() == sv.This() { return ki.Continue } if k.This() == sv.Defs.This() { return ki.Break } - sni, issv := k.(svg.NodeSVG) + sni, issv := k.(svg.Node) if !issv { return ki.Break } @@ -449,7 +429,7 @@ func (sv *SVGView) TransformAllLeaves(trans mat32.Vec2, scale mat32.Vec2, rot fl // ZoomToPage sets the scale to fit the current viewbox func (sv *SVGView) ZoomToPage(width bool) { - vb := mat32.NewVec2FmPoint(sv.WinBBox.Size()) + vb := mat32.V2FromPoint(sv.BBox.Size()) if vb.IsNil() { return } @@ -469,7 +449,7 @@ func (sv *SVGView) ZoomToPage(width bool) { // ZoomToContents sets the scale to fit the current contents into view func (sv *SVGView) ZoomToContents(width bool) { - vb := mat32.NewVec2FmPoint(sv.WinBBox.Size()) + vb := mat32.V2FromPoint(sv.BBox.Size()) if vb.IsNil() { return } @@ -504,7 +484,7 @@ func (sv *SVGView) ResizeToContents(grid_off bool) { return } trans := bb.Min - incr := sv.Grid * sv.Scale // our zoom factor + incr := sv.Vector * sv.Scale // our zoom factor treff := trans if grid_off { treff.X = mat32.Floor(trans.X/incr) * incr @@ -520,7 +500,7 @@ func (sv *SVGView) ResizeToContents(grid_off bool) { sv.PhysWidth.Val = bsz.X sv.PhysHeight.Val = bsz.Y sv.ZoomToPage(false) - sv.GridView.ChangeMade() + sv.VectorView.ChangeMade() } // ZoomAt updates the scale and translate parameters at given point @@ -536,7 +516,7 @@ func (sv *SVGView) ZoomAt(pt image.Point, delta float32) { nsc := sv.Scale * sc - mpt := mat32.NewVec2FmPoint(pt.Sub(sv.WinBBox.Min)) + mpt := mat32.V2FromPoint(pt.Sub(sv.BBox.Min)) lpt := mpt.DivScalar(sv.Scale).Sub(sv.Trans) // point in drawing coords dt := lpt.Add(sv.Trans).MulScalar((nsc - sv.Scale) / nsc) // delta from zooming @@ -553,29 +533,29 @@ func (sv *SVGView) SetTransform() { // MetaData returns the overall metadata and grid if present. // if mknew is true, it will create new ones if not found. -func (sv *SVGView) MetaData(mknew bool) (main, grid *gi.MetaData2D) { +func (sv *SVGView) MetaData(mknew bool) (main, grid *svg.MetaData) { if sv.NumChildren() > 0 { kd := sv.Kids[0] - if md, ismd := kd.(*gi.MetaData2D); ismd { + if md, ismd := kd.(*svg.MetaData); ismd { main = md } } if main == nil && mknew { id := sv.NewUniqueId() - main = sv.InsertNewChild(gi.KiT_MetaData2D, 0, svg.NameId("namedview", id)).(*gi.MetaData2D) + main = sv.InsertNewChild(gi.KiT_MetaData2D, 0, svg.NameId("namedview", id)).(*svg.MetaData) } if main == nil { return } if main.NumChildren() > 0 { kd := main.Kids[0] - if md, ismd := kd.(*gi.MetaData2D); ismd { + if md, ismd := kd.(*svg.MetaData); ismd { grid = md } } if grid == nil && mknew { id := sv.NewUniqueId() - grid = main.InsertNewChild(gi.KiT_MetaData2D, 0, svg.NameId("grid", id)).(*gi.MetaData2D) + grid = main.InsertNewChild(gi.KiT_MetaData2D, 0, svg.NameId("grid", id)).(*svg.MetaData) } return } @@ -610,7 +590,7 @@ func (sv *SVGView) SetMetaData() { nv.DeleteProp("pagecheckerboard") nv.DeleteProp("showgrid") - spc := fmt.Sprintf("%g", sv.Grid) + spc := fmt.Sprintf("%g", sv.Vector) gr.SetProp("spacingx", spc) gr.SetProp("spacingy", spc) gr.SetProp("type", "xygrid") @@ -625,28 +605,28 @@ func (sv *SVGView) ReadMetaData() { return } if cx := nv.Prop("cx"); cx != nil { - sv.Trans.X, _ = kit.ToFloat32(cx) + sv.Trans.X, _ = laser.ToFloat32(cx) } if cy := nv.Prop("cy"); cy != nil { - sv.Trans.Y, _ = kit.ToFloat32(cy) + sv.Trans.Y, _ = laser.ToFloat32(cy) } if zm := nv.Prop("zoom"); zm != nil { - sc, _ := kit.ToFloat32(zm) + sc, _ := laser.ToFloat32(zm) if sc > 0 { sv.Scale = sc } } if cl := nv.Prop("current-layer"); cl != nil { - es.CurLayer = kit.ToString(cl) + es.CurLayer = laser.ToString(cl) } if gr == nil { return } if gs := gr.Prop("spacingx"); gs != nil { - gv, _ := kit.ToFloat32(gs) + gv, _ := laser.ToFloat32(gs) if gv > 0 { - sv.Grid = gv + sv.Vector = gv } } } @@ -660,25 +640,25 @@ func (sv *SVGView) EditNode(kn ki.Ki) { } // MakeNodeContextMenu makes the menu of options for context right click -func (sv *SVGView) MakeNodeContextMenu(m *gi.Menu, kn ki.Ki) { +func (sv *SVGView) MakeNodeContextMenu(m *gi.Scene, kn ki.Ki) { m.AddAction(gi.ActOpts{Label: "Edit"}, sv.This(), func(recv, send ki.Ki, sig int64, data any) { sv.EditNode(kn) }) m.AddAction(gi.ActOpts{Label: "Select in Tree"}, sv.This(), func(recv, send ki.Ki, sig int64, data any) { - sv.GridView.SelectNodeInTree(kn, mouse.SelectOne) + sv.VectorView.SelectNodeInTree(kn, events.SelectOne) }) m.AddSeparator("sep-clip") m.AddAction(gi.ActOpts{Label: "Duplicate", ShortcutKey: keyfun.Duplicate}, sv.This(), func(recv, send ki.Ki, sig int64, data any) { - sv.GridView.DuplicateSelected() + sv.VectorView.DuplicateSelected() }) m.AddAction(gi.ActOpts{Label: "Copy", ShortcutKey: keyfun.Copy}, sv.This(), func(recv, send ki.Ki, sig int64, data any) { - sv.GridView.CopySelected() + sv.VectorView.CopySelected() }) m.AddAction(gi.ActOpts{Label: "Cut", ShortcutKey: keyfun.Cut}, sv.This(), func(recv, send ki.Ki, sig int64, data any) { - sv.GridView.CutSelected() + sv.VectorView.CutSelected() }) m.AddAction(gi.ActOpts{Label: "Paste", ShortcutKey: keyfun.Paste}, sv.This(), func(recv, send ki.Ki, sig int64, data any) { - sv.GridView.PasteClip() + sv.VectorView.PasteClip() }) } @@ -687,8 +667,8 @@ func (sv *SVGView) NodeContextMenuPos(pos image.Point) image.Point { if pos != image.ZP { return pos } - pos.X = (sv.WinBBox.Min.X + sv.WinBBox.Max.X) / 2 - pos.Y = (sv.WinBBox.Min.Y + sv.WinBBox.Max.Y) / 2 + pos.X = (sv.BBox.Min.X + sv.BBox.Max.X) / 2 + pos.Y = (sv.BBox.Min.Y + sv.BBox.Max.Y) / 2 return pos } @@ -797,9 +777,9 @@ func (sv *SVGView) Redo() string { // ShowAlignMatches draws the align matches as given // between BBox Min - Max. typs are corresponding bounding box sources. func (sv *SVGView) ShowAlignMatches(pts []image.Rectangle, typs []BBoxPoints) { - win := sv.GridView.ParentWindow() + win := sv.VectorView.ParentWindow() - sz := ints.MinInt(len(pts), 8) + sz := min(len(pts), 8) for i := 0; i < sz; i++ { pt := pts[i].Canon() lsz := pt.Max.Sub(pt.Min) @@ -813,11 +793,11 @@ func (sv *SVGView) ShowAlignMatches(pts []image.Rectangle, typs []BBoxPoints) { func (sv *SVGView) DepthMap() map[ki.Ki]int { m := make(map[ki.Ki]int) depth := 0 - n := walki.Next(sv.This()) + n := ki.Next(sv.This()) for n != nil { m[n] = depth depth++ - n = walki.Next(n) + n = ki.Next(n) } return m } @@ -826,7 +806,7 @@ func (sv *SVGView) DepthMap() map[ki.Ki]int { // New objects // SetSVGName sets the name of the element to standard type + id name -func (sv *SVGView) SetSVGName(el svg.NodeSVG) { +func (sv *SVGView) SetSVGName(el svg.Node) { nwid := sv.NewUniqueId() nwnm := fmt.Sprintf("%s%d", el.SVGName(), nwid) el.SetName(nwnm) @@ -834,7 +814,7 @@ func (sv *SVGView) SetSVGName(el svg.NodeSVG) { // NewEl makes a new SVG element, giving it a new unique name. // Uses currently active layer if set. -func (sv *SVGView) NewEl(typ reflect.Type) svg.NodeSVG { +func (sv *SVGView) NewEl(typ *gti.Type) svg.Node { es := sv.EditState() par := sv.This() if es.CurLayer != "" { @@ -845,35 +825,35 @@ func (sv *SVGView) NewEl(typ reflect.Type) svg.NodeSVG { } nwnm := fmt.Sprintf("%s_tmp_new_item_", typ.Name()) par.SetChildAdded() - nw := par.AddNewChild(typ, nwnm).(svg.NodeSVG) + nw := par.NewChild(typ, nwnm).(svg.Node) sv.SetSVGName(nw) - sv.GridView.PaintView().SetProps(nw) - sv.GridView.UpdateTreeView() + sv.VectorView.PaintView().SetProps(nw) + sv.VectorView.UpdateTreeView() return nw } // NewElDrag makes a new SVG element during the drag operation -func (sv *SVGView) NewElDrag(typ reflect.Type, start, end image.Point) svg.NodeSVG { +func (sv *SVGView) NewElDrag(typ reflect.Type, start, end image.Point) svg.Node { minsz := float32(10) es := sv.EditState() - dv := mat32.NewVec2FmPoint(end.Sub(start)) + dv := mat32.V2FromPoint(end.Sub(start)) if !es.InAction() && mat32.Abs(dv.X) < minsz && mat32.Abs(dv.Y) < minsz { return nil } - win := sv.GridView.ParentWindow() + win := sv.VectorView.ParentWindow() tn := typ.Name() sv.ManipStart("New"+tn, "") updt := sv.UpdateStart() sv.SetFullReRender() nr := sv.NewEl(typ) xfi := sv.Pnt.Transform.Inverse() - svoff := mat32.NewVec2FmPoint(sv.WinBBox.Min) - pos := mat32.NewVec2FmPoint(start).Sub(svoff) + svoff := mat32.V2FromPoint(sv.BBox.Min) + pos := mat32.V2FromPoint(start).Sub(svoff) nr.SetPos(xfi.MulVec2AsPt(pos)) // sz := dv.Abs().Max(mat32.NewVec2Scalar(minsz / 2)) sz := dv nr.SetSize(xfi.MulVec2AsVec(sz)) - es.SelectAction(nr, mouse.SelectOne, end) + es.SelectAction(nr, events.SelectOne, end) sv.UpdateEnd(updt) sv.UpdateSelSprites() es.DragSelStart(start) @@ -882,29 +862,28 @@ func (sv *SVGView) NewElDrag(typ reflect.Type, start, end image.Point) svg.NodeS } // NewText makes a new Text element with embedded tspan -func (sv *SVGView) NewText(start, end image.Point) svg.NodeSVG { +func (sv *SVGView) NewText(start, end image.Point) svg.Node { es := sv.EditState() sv.ManipStart("NewText", "") - sv.SetFullReRender() - nr := sv.NewEl(svg.KiT_Text).(*svg.Text) + nr := sv.NewEl(svg.TextType) tsnm := fmt.Sprintf("tspan%d", sv.NewUniqueId()) - tspan := nr.AddNewChild(svg.KiT_Text, tsnm).(*svg.Text) + tspan := svg.NewText(nr, tsnm) tspan.Text = "Text" tspan.Width = 200 xfi := sv.Pnt.Transform.Inverse() - svoff := mat32.NewVec2FmPoint(sv.WinBBox.Min) - pos := mat32.NewVec2FmPoint(start).Sub(svoff) + svoff := mat32.V2FromPoint(sv.BBox.Min) + pos := mat32.V2FromPoint(start).Sub(svoff) // minsz := float32(20) pos.Y += 20 // todo: need the font size.. pos = xfi.MulVec2AsPt(pos) - sv.GridView.SetTextPropsNode(nr, es.Text.TextProps()) + sv.VectorView.SetTextPropsNode(nr, es.Text.TextProps()) nr.Pos = pos tspan.Pos = pos - // dv := mat32.NewVec2FmPoint(end.Sub(start)) + // dv := mat32.V2FromPoint(end.Sub(start)) // sz := dv.Abs().Max(mat32.NewVec2Scalar(minsz / 2)) nr.Width = 100 tspan.Width = 100 - es.SelectAction(nr, mouse.SelectOne, end) + es.SelectAction(nr, events.SelectOne, end) sv.UpdateView(true) sv.UpdateSelect() return nr @@ -914,18 +893,18 @@ func (sv *SVGView) NewText(start, end image.Point) svg.NodeSVG { func (sv *SVGView) NewPath(start, end image.Point) *svg.Path { minsz := float32(10) es := sv.EditState() - dv := mat32.NewVec2FmPoint(end.Sub(start)) + dv := mat32.V2FromPoint(end.Sub(start)) if !es.InAction() && mat32.Abs(dv.X) < minsz && mat32.Abs(dv.Y) < minsz { return nil } - win := sv.GridView.ParentWindow() + win := sv.VectorView.ParentWindow() sv.ManipStart("NewPath", "") updt := sv.UpdateStart() sv.SetFullReRender() - nr := sv.NewEl(svg.KiT_Path).(*svg.Path) + nr := sv.NewEl(svg.PathType).(*svg.Path) xfi := sv.Pnt.Transform.Inverse() - svoff := mat32.NewVec2FmPoint(sv.WinBBox.Min) - pos := mat32.NewVec2FmPoint(start).Sub(svoff) + svoff := mat32.V2FromPoint(sv.BBox.Min) + pos := mat32.V2FromPoint(start).Sub(svoff) pos = xfi.MulVec2AsPt(pos) sz := dv // sz := dv.Abs().Max(mat32.NewVec2Scalar(minsz / 2)) @@ -933,7 +912,7 @@ func (sv *SVGView) NewPath(start, end image.Point) *svg.Path { nr.SetData(fmt.Sprintf("m %g,%g %g,%g", pos.X, pos.Y, sz.X, sz.Y)) - es.SelectAction(nr, mouse.SelectOne, end) + es.SelectAction(nr, events.SelectOne, end) sv.UpdateEnd(updt) sv.UpdateSelSprites() sv.EditState().DragSelStart(start) @@ -1018,7 +997,7 @@ func (sv *SVGView) Render2D() { } func (sv *SVGView) BgNeedsUpdate() bool { - updt := sv.EnsureBgSize() || (sv.Trans != sv.bgTrans) || (sv.Scale != sv.bgScale) || (sv.GridEff != sv.bgGridEff) + updt := sv.EnsureBgSize() || (sv.Trans != sv.bgTrans) || (sv.Scale != sv.bgScale) || (sv.VectorEff != sv.bgVectorEff) // fmt.Printf("updt: %v\n", updt) return updt } @@ -1043,64 +1022,66 @@ func (sv *SVGView) EnsureBgSize() bool { sv.BgPixels = nil } sv.BgPixels = image.NewRGBA(image.Rectangle{Max: sz}) - sv.BgRender.Init(sz.X, sz.Y, sv.BgPixels) + // sv.BgRender.Init(sz.X, sz.Y, sv.BgPixels) return true } -// UpdateGridEff updates the GirdEff value based on current scale -func (sv *SVGView) UpdateGridEff() { - sv.GridEff = sv.Grid - sp := sv.GridEff * sv.Scale +// UpdateVectorEff updates the GirdEff value based on current scale +func (sv *SVGView) UpdateVectorEff() { + sv.VectorEff = sv.Vector + sp := sv.VectorEff * sv.Scale for sp <= 2*(float32(Prefs.SnapTol)+1) { - sv.GridEff *= 2 - sp = sv.GridEff * sv.Scale + sv.VectorEff *= 2 + sp = sv.VectorEff * sv.Scale } } // RenderBg renders our background image func (sv *SVGView) RenderBg() { - rs := &sv.BgRender - pc := &rs.Paint - sv.EnsureBgSize() + /* + rs := &sv.BgRender + pc := &rs.Paint + sv.EnsureBgSize() - sv.UpdateGridEff() + sv.UpdateVectorEff() - bb := sv.BgPixels.Bounds() + bb := sv.BgPixels.Bounds() - draw.Draw(sv.BgPixels, bb, &image.Uniform{Prefs.Colors.Background}, image.ZP, draw.Src) + draw.Draw(sv.BgPixels, bb, &image.Uniform{Prefs.Colors.Background}, image.ZP, draw.Src) - rs.PushBounds(bb) - rs.PushTransform(sv.Pnt.Transform) + rs.PushBounds(bb) + rs.PushTransform(sv.Pnt.Transform) - pc.StrokeStyle.SetColor(&Prefs.Colors.Border) + pc.StrokeStyle.SetColor(&Prefs.Colors.Border) - sc := sv.Scale + sc := sv.Scale - wd := 1 / sc - pc.StrokeStyle.Width.Dots = wd - pos := sv.ViewBox.Min - sz := sv.ViewBox.Size - pc.FillStyle.SetColor(nil) + wd := 1 / sc + pc.StrokeStyle.Width.Dots = wd + pos := sv.ViewBox.Min + sz := sv.ViewBox.Size + pc.FillStyle.SetColor(nil) - pc.DrawRectangle(rs, pos.X, pos.Y, sz.X, sz.Y) - pc.FillStrokeClear(rs) + pc.DrawRectangle(rs, pos.X, pos.Y, sz.X, sz.Y) + pc.FillStrokeClear(rs) - if Prefs.GridDisp { - gsz := float32(sv.GridEff) - pc.StrokeStyle.SetColor(&Prefs.Colors.Grid) - for x := gsz; x < sz.X; x += gsz { - pc.DrawLine(rs, x, 0, x, sz.Y) - } - for y := gsz; y < sz.Y; y += gsz { - pc.DrawLine(rs, 0, y, sz.X, y) + if Prefs.VectorDisp { + gsz := float32(sv.VectorEff) + pc.StrokeStyle.SetColor(&Prefs.Colors.Vector) + for x := gsz; x < sz.X; x += gsz { + pc.DrawLine(rs, x, 0, x, sz.Y) + } + for y := gsz; y < sz.Y; y += gsz { + pc.DrawLine(rs, 0, y, sz.X, y) + } + pc.FillStrokeClear(rs) } - pc.FillStrokeClear(rs) - } - sv.bgTrans = sv.Trans - sv.bgScale = sv.Scale - sv.bgGridEff = sv.GridEff + sv.bgTrans = sv.Trans + sv.bgScale = sv.Scale + sv.bgVectorEff = sv.VectorEff - rs.PopTransform() - rs.PopBounds() + rs.PopTransform() + rs.PopBounds() + */ } diff --git a/grid/testdata/arrow.svg b/vector/testdata/arrow.svg similarity index 100% rename from grid/testdata/arrow.svg rename to vector/testdata/arrow.svg diff --git a/grid/testdata/arrowduperot.svg b/vector/testdata/arrowduperot.svg similarity index 100% rename from grid/testdata/arrowduperot.svg rename to vector/testdata/arrowduperot.svg diff --git a/grid/testdata/gradientgp.svg b/vector/testdata/gradientgp.svg similarity index 100% rename from grid/testdata/gradientgp.svg rename to vector/testdata/gradientgp.svg diff --git a/grid/testdata/gradlin.svg b/vector/testdata/gradlin.svg similarity index 100% rename from grid/testdata/gradlin.svg rename to vector/testdata/gradlin.svg diff --git a/grid/testdata/graphtxt.svg b/vector/testdata/graphtxt.svg similarity index 100% rename from grid/testdata/graphtxt.svg rename to vector/testdata/graphtxt.svg diff --git a/grid/testdata/rectgp.svg b/vector/testdata/rectgp.svg similarity index 100% rename from grid/testdata/rectgp.svg rename to vector/testdata/rectgp.svg diff --git a/grid/testdata/seplays.svg b/vector/testdata/seplays.svg similarity index 100% rename from grid/testdata/seplays.svg rename to vector/testdata/seplays.svg diff --git a/grid/testdata/shapes.svg b/vector/testdata/shapes.svg similarity index 100% rename from grid/testdata/shapes.svg rename to vector/testdata/shapes.svg diff --git a/grid/testdata/textrect.svg b/vector/testdata/textrect.svg similarity index 100% rename from grid/testdata/textrect.svg rename to vector/testdata/textrect.svg diff --git a/grid/text.go b/vector/text.go similarity index 70% rename from grid/text.go rename to vector/text.go index 6642136d..82e15d2f 100644 --- a/grid/text.go +++ b/vector/text.go @@ -1,19 +1,18 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( "reflect" - "github.com/goki/gi/gi" - "github.com/goki/gi/gist" - "github.com/goki/gi/giv" - "github.com/goki/gi/svg" - "github.com/goki/gi/units" - "github.com/goki/ki/ki" - "github.com/goki/ki/kit" + "cogentcore.org/core/gi" + "cogentcore.org/core/giv" + "cogentcore.org/core/ki" + "cogentcore.org/core/styles" + "cogentcore.org/core/svg" + "cogentcore.org/core/units" ) // TextStyle is text styling info -- using StructView to do text editor @@ -29,38 +28,38 @@ type TextStyle struct { Size units.Value `xml:"font-size"` // prop: font-style = style -- normal, italic, etc - Style gist.FontStyles `xml:"font-style" inherit:"true"` + Style styles.FontStyles `xml:"font-style" inherit:"true"` // prop: font-weight = weight: normal, bold, etc - Weight gist.FontWeights `xml:"font-weight" inherit:"true"` + Weight styles.FontWeights `xml:"font-weight" inherit:"true"` // prop: font-stretch = font stretch / condense options - Stretch gist.FontStretch `xml:"font-stretch" inherit:"true"` + Stretch styles.FontStretch `xml:"font-stretch" inherit:"true"` // prop: font-variant = normal or small caps - Variant gist.FontVariants `xml:"font-variant" inherit:"true"` + Variant styles.FontVariants `xml:"font-variant" inherit:"true"` // prop: text-decoration = underline, line-through, etc -- not inherited - Deco gist.TextDecorations `xml:"text-decoration"` + Deco styles.TextDecorations `xml:"text-decoration"` // prop: baseline-shift = super / sub script -- not inherited - Shift gist.BaselineShifts `xml:"baseline-shift"` + Shift styles.BaselineShifts `xml:"baseline-shift"` // prop: text-align (inherited) = how to align text, horizontally. This *only* applies to the text within its containing element, and is typically relevant only for multi-line text: for single-line text, if element does not have a specified size that is different from the text size, then this has *no effect*. - Align gist.Align `xml:"text-align" inherit:"true"` + Align styles.Aligns `xml:"text-align" inherit:"true"` // font value view for font toolbar - FontVal giv.FontValueView `view:"-"` + FontVal giv.FontValue `view:"-"` - // the parent gridview - GridView *GridView `copy:"-" json:"-" xml:"-" view:"-"` + // the parent vectorview + VectorView *VectorView `copier:"-" json:"-" xml:"-" view:"-"` } func (ts *TextStyle) Update() { // this is called automatically when edited - if ts.GridView != nil { - ts.GridView.SetTextProps(ts.TextProps()) - ts.GridView.SetText(ts.Text) + if ts.VectorView != nil { + ts.VectorView.SetTextProps(ts.TextProps()) + ts.VectorView.SetText(ts.Text) } } @@ -68,19 +67,19 @@ func (ts *TextStyle) Defaults() { ts.Text = "" ts.Font = "Arial" ts.Size.SetPx(12) - ts.Style = gist.FontStyles(0) - ts.Weight = gist.FontWeights(0) - ts.Stretch = gist.FontStretch(0) - ts.Variant = gist.FontVariants(0) - ts.Deco = gist.TextDecorations(0) - ts.Shift = gist.BaselineShifts(0) - ts.Align = gist.AlignLeft + ts.Style = styles.FontStyles(0) + ts.Weight = styles.FontWeights(0) + ts.Stretch = styles.FontStretch(0) + ts.Variant = styles.FontVariants(0) + ts.Deco = styles.TextDecorations(0) + ts.Shift = styles.BaselineShifts(0) + ts.Align = styles.Start ts.SetFromFontStyle(&Prefs.TextStyle.FontStyle) } -// SetFromFontStyle sets from standard gist.Font style -func (ts *TextStyle) SetFromFontStyle(fs *gist.Font) { +// SetFromFontStyle sets from standard styles.Font style +func (ts *TextStyle) SetFromFontStyle(fs *styles.Font) { ts.Font = gi.FontName(fs.Family) ts.Size = fs.Size ts.Weight = fs.Weight @@ -102,10 +101,10 @@ func (ts *TextStyle) SetFromNode(txt *svg.Text) { } // SetTextPropsNode sets the text properties of given Text node -func (gv *GridView) SetTextPropsNode(sii svg.NodeSVG, tps map[string]string) { +func (gv *VectorView) SetTextPropsNode(sii svg.Node, tps map[string]string) { if gp, isgp := sii.(*svg.Group); isgp { for _, kid := range gp.Kids { - gv.SetTextPropsNode(kid.(svg.NodeSVG), tps) + gv.SetTextPropsNode(kid.(svg.Node), tps) } return } @@ -113,7 +112,7 @@ func (gv *GridView) SetTextPropsNode(sii svg.NodeSVG, tps map[string]string) { if !istxt { return } - g := sii.AsSVGNode() + g := sii.AsNodeBase() for k, v := range tps { if v == "" { g.DeleteProp(k) @@ -124,14 +123,14 @@ func (gv *GridView) SetTextPropsNode(sii svg.NodeSVG, tps map[string]string) { } // SetTextProps sets the text properties of selected Text nodes -func (gv *GridView) SetTextProps(tps map[string]string) { +func (gv *VectorView) SetTextProps(tps map[string]string) { es := &gv.EditState sv := gv.SVG() sv.UndoSave("SetTextProps", "") updt := sv.UpdateStart() sv.SetFullReRender() for itm := range es.Selected { - gv.SetTextPropsNode(itm.(svg.NodeSVG), tps) + gv.SetTextPropsNode(itm.(svg.Node), tps) } sv.UpdateEnd(updt) gv.ChangeMade() @@ -158,7 +157,7 @@ func (ts *TextStyle) TextProps() map[string]string { tps["font-variant"] = "" } if int(ts.Deco) != 0 { - tps["text-decoration"] = kit.BitFlagsToString(int64(ts.Deco), ts.Deco) + tps["text-decoration"] = ts.Deco.String() } else { tps["text-decoration"] = "" } @@ -172,10 +171,10 @@ func (ts *TextStyle) TextProps() map[string]string { } // SetTextNode sets the text of given Text node -func (gv *GridView) SetTextNode(sii svg.NodeSVG, txt string) bool { +func (gv *VectorView) SetTextNode(sii svg.Node, txt string) bool { if sii.HasChildren() { for _, kid := range *sii.Children() { - if gv.SetTextNode(kid.(svg.NodeSVG), txt) { + if gv.SetTextNode(kid.(svg.Node), txt) { return true } } @@ -190,7 +189,7 @@ func (gv *GridView) SetTextNode(sii svg.NodeSVG, txt string) bool { } // SetText sets the text of selected Text node -func (gv *GridView) SetText(txt string) { +func (gv *VectorView) SetText(txt string) { es := &gv.EditState if len(es.Selected) != 1 { // only if exactly one selected return @@ -199,7 +198,7 @@ func (gv *GridView) SetText(txt string) { sv.UndoSave("SetText", "") sv.SetFullReRender() for itm := range es.Selected { - if gv.SetTextNode(itm.(svg.NodeSVG), txt) { + if gv.SetTextNode(itm.(svg.Node), txt) { break // only set first.. } } @@ -210,14 +209,14 @@ func (gv *GridView) SetText(txt string) { /////////////////////////////////////////////////////////////////////// // Toolbar -func (gv *GridView) TextToolbar() *gi.Toolbar { +func (gv *VectorView) TextToolbar() *gi.Toolbar { tbs := gv.ModalToolbarStack() tb := tbs.ChildByName("text-tb", 2).(*gi.Toolbar) return tb } // ConfigTextToolbar configures the text modal toolbar -func (gv *GridView) ConfigTextToolbar() { +func (gv *VectorView) ConfigTextToolbar() { tb := gv.TextToolbar() if tb.HasChildren() { return @@ -225,9 +224,9 @@ func (gv *GridView) ConfigTextToolbar() { tb.SetStretchMaxWidth() es := &gv.EditState ts := &es.Text - ts.GridView = gv + ts.VectorView = gv - txt := gi.AddNewTextField(tb, "text") + txt := gi.NewTextField(tb, "text") txt.Tooltip = "current text string" txt.SetText(ts.Text) txt.SetProp("width", units.NewCh(50)) @@ -243,14 +242,14 @@ func (gv *GridView) ConfigTextToolbar() { fw := tb.AddNewChild(ts.FontVal.WidgetType(), "font").(gi.Node2D) ts.FontVal.ConfigWidget(fw) - fsz := gi.AddNewSpinBox(tb, "size") + fsz := gi.NewSpinner(tb, "size") fsz.SetValue(ts.Size.Val) - fsz.SpinBoxSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { + fsz.SpinnerSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { ts.Size.Val = fsz.Value ts.Update() }) - fzu := gi.AddNewComboBox(tb, "size-units") + fzu := gi.NewChooser(tb, "size-units") fzu.ItemsFromEnum(units.KiT_Units, true, 0) fzu.SetCurIndex(int(ts.Size.Un)) fzu.ComboSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { @@ -261,7 +260,7 @@ func (gv *GridView) ConfigTextToolbar() { } // UpdateTextToolbar updates the select toolbar based on current selection -func (gv *GridView) UpdateTextToolbar() { +func (gv *VectorView) UpdateTextToolbar() { tb := gv.TextToolbar() tb.UpdateActions() es := &gv.EditState @@ -273,9 +272,9 @@ func (gv *GridView) UpdateTextToolbar() { // fw := tb.ChildByName("font", 0).(gi.Node2D) ts.FontVal.UpdateWidget() - fsz := tb.ChildByName("size", 0).(*gi.SpinBox) + fsz := tb.ChildByName("size", 0).(*gi.Spinner) fsz.SetValue(ts.Size.Val) - fzu := tb.ChildByName("size-units", 0).(*gi.ComboBox) + fzu := tb.ChildByName("size-units", 0).(*gi.Chooser) fzu.SetCurIndex(int(ts.Size.Un)) } diff --git a/grid/tools.go b/vector/tools.go similarity index 74% rename from grid/tools.go rename to vector/tools.go index 9bfa3341..910a871b 100644 --- a/grid/tools.go +++ b/vector/tools.go @@ -1,18 +1,17 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( - "github.com/goki/gi/gi" - "github.com/goki/gi/svg" - "github.com/goki/ki/ki" - "github.com/goki/ki/kit" + "cogentcore.org/core/gi" + "cogentcore.org/core/ki" + "cogentcore.org/core/svg" ) // Tools are the drawing tools -type Tools int +type Tools int //enums:enum const ( SelectTool Tools = iota @@ -21,23 +20,15 @@ const ( EllipseTool BezierTool TextTool - ToolsN ) -//go:generate stringer -type=Tools - -var KiT_Tools = kit.Enums.AddEnum(ToolsN, kit.NotBitFlag, nil) - -func (ev Tools) MarshalJSON() ([]byte, error) { return kit.EnumMarshalJSON(ev) } -func (ev *Tools) UnmarshalJSON(b []byte) error { return kit.EnumUnmarshalJSON(ev, b) } - // ToolDoesBasicSelect returns true if tool should do select for clicks func ToolDoesBasicSelect(tl Tools) bool { return tl != NodeTool } // SetTool sets the current active tool -func (gv *GridView) SetTool(tl Tools) { +func (gv *VectorView) SetTool(tl Tools) { es := &gv.EditState if es.Tool == tl { return @@ -59,7 +50,7 @@ func (gv *GridView) SetTool(tl Tools) { case *svg.Path: Prefs.PathStyle.CopyStyleFrom(&v.Pnt.Paint) default: - gg := fs.AsSVGNode() + gg := fs.AsNodeBase() Prefs.ShapeStyle.CopyStyleFrom(&gg.Pnt.Paint) } } @@ -73,7 +64,7 @@ func (gv *GridView) SetTool(tl Tools) { } // SetModalToolbar sets the current modal toolbar based on tool -func (gv *GridView) SetModalToolbar() { +func (gv *VectorView) SetModalToolbar() { tl := gv.EditState.Tool switch tl { case NodeTool: @@ -85,7 +76,7 @@ func (gv *GridView) SetModalToolbar() { } } -func (gv *GridView) ConfigTools() { +func (gv *VectorView) ConfigTools() { tb := gv.Tools() if tb.HasChildren() { @@ -96,32 +87,32 @@ func (gv *GridView) ConfigTools() { tb.SetStretchMaxHeight() tb.AddAction(gi.ActOpts{Label: "S", Icon: "arrow", Tooltip: "S, Space: select, move, resize objects"}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SetTool(SelectTool) }) tb.AddAction(gi.ActOpts{Label: "N", Icon: "tool-node", Tooltip: "N: select, move node points within paths"}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SetTool(NodeTool) }) tb.AddAction(gi.ActOpts{Label: "R", Icon: "stop", Tooltip: "R: create rectangles and squares"}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SetTool(RectTool) }) tb.AddAction(gi.ActOpts{Label: "E", Icon: "circlebutton-off", Tooltip: "E: create circles, ellipses, and arcs"}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SetTool(EllipseTool) }) tb.AddAction(gi.ActOpts{Label: "B", Icon: "color", Tooltip: "B: create bezier curves (straight lines, curves with control points)"}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SetTool(BezierTool) }) tb.AddAction(gi.ActOpts{Label: "T", Icon: "tool-text", Tooltip: "T: add / edit text"}, gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SetTool(TextTool) }) diff --git a/grid/treeview.go b/vector/treeview.go similarity index 73% rename from grid/treeview.go rename to vector/treeview.go index 2d467484..b1de7589 100644 --- a/grid/treeview.go +++ b/vector/treeview.go @@ -1,36 +1,26 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector import ( - "image/color" - - "github.com/goki/gi/gi" - "github.com/goki/gi/gist" - "github.com/goki/gi/giv" - "github.com/goki/gi/oswin" - "github.com/goki/gi/oswin/dnd" - "github.com/goki/gi/oswin/mouse" - "github.com/goki/gi/svg" - "github.com/goki/gi/units" - "github.com/goki/ki/ki" - "github.com/goki/ki/kit" - "github.com/goki/pi/filecat" - "goki.dev/gi/v2/keyfun" + "cogentcore.org/core/events" + "cogentcore.org/core/fi" + "cogentcore.org/core/giv" + "cogentcore.org/core/goosi" + "cogentcore.org/core/ki" + "cogentcore.org/core/svg" ) // TreeView is a TreeView that knows how to operate on FileNode nodes type TreeView struct { giv.TreeView - // the parent gridview - GridView *GridView `copy:"-" json:"-" xml:"-" view:"-"` + // the parent vectorview + VectorView *VectorView `copier:"-" json:"-" xml:"-" view:"-"` } -var KiT_TreeView = kit.Types.AddType(&TreeView{}, nil) - // AddNewTreeView adds a new filetreeview to given parent node, with given name. func AddNewTreeView(parent ki.Ki, name string) *TreeView { tv := parent.AddNewChild(KiT_TreeView, name).(*TreeView) @@ -39,12 +29,8 @@ func AddNewTreeView(parent ki.Ki, name string) *TreeView { return tv } -func init() { - kit.Types.SetProps(KiT_TreeView, TreeViewProps) -} - // SelectNodeInTree selects given node in TreeView -func (gv *GridView) SelectNodeInTree(kn ki.Ki, mode mouse.SelectModes) { +func (gv *VectorView) SelectNodeInTree(kn ki.Ki, mode events.SelectModes) { tv := gv.TreeView() tvn := tv.FindSrcNode(kn) if tvn != nil { @@ -54,7 +40,7 @@ func (gv *GridView) SelectNodeInTree(kn ki.Ki, mode mouse.SelectModes) { } // SelectedAsTreeViews returns the currently-selected items from SVG as TreeView nodes -func (gv *GridView) SelectedAsTreeViews() []*giv.TreeView { +func (gv *VectorView) SelectedAsTreeViews() []*giv.TreeView { es := &gv.EditState sl := es.SelectedList(false) if len(sl) == 0 { @@ -72,7 +58,7 @@ func (gv *GridView) SelectedAsTreeViews() []*giv.TreeView { } // DuplicateSelected duplicates selected items in SVG view, using TreeView methods -func (gv *GridView) DuplicateSelected() { +func (gv *VectorView) DuplicateSelected() { tvl := gv.SelectedAsTreeViews() if len(tvl) == 0 { gv.SetStatus("Duplicate: no tree items found") @@ -96,7 +82,7 @@ func (gv *GridView) DuplicateSelected() { } // CopySelected copies selected items in SVG view, using TreeView methods -func (gv *GridView) CopySelected() { +func (gv *VectorView) CopySelected() { tvl := gv.SelectedAsTreeViews() if len(tvl) == 0 { gv.SetStatus("Copy: no tree items found") @@ -109,7 +95,7 @@ func (gv *GridView) CopySelected() { } // CutSelected cuts selected items in SVG view, using TreeView methods -func (gv *GridView) CutSelected() { +func (gv *VectorView) CutSelected() { tvl := gv.SelectedAsTreeViews() if len(tvl) == 0 { gv.SetStatus("Cut: no tree items found") @@ -134,8 +120,8 @@ func (gv *GridView) CutSelected() { } // PasteClip pastes clipboard, using cur layer etc -func (gv *GridView) PasteClip() { - md := oswin.TheApp.Clipboard(gv.ParentWindow().OSWin).Read([]string{filecat.DataJson}) +func (gv *VectorView) PasteClip() { + md := goosi.TheApp.Clipboard().Read([]string{fi.DataJson}) if md == nil { return } @@ -154,7 +140,7 @@ func (gv *GridView) PasteClip() { par = ly.Embed(KiT_TreeView).(*TreeView) } } - par.PasteChildren(md, dnd.DropCopy) + // par.PasteChildren(md, dnd.DropCopy) gv.SetStatus("Pasted items from clipboard") tv.ReSync() // todo: should not be needed tv.UpdateEnd(tvupdt) @@ -163,7 +149,7 @@ func (gv *GridView) PasteClip() { } // DeleteSelected deletes selected items in SVG view, using TreeView methods -func (gv *GridView) DeleteSelected() { +func (gv *VectorView) DeleteSelected() { tvl := gv.SelectedAsTreeViews() if len(tvl) == 0 { gv.SetStatus("Delete: no tree items found") @@ -191,6 +177,7 @@ func (gv *GridView) DeleteSelected() { /////////////////////////////////////////////// // TreeView +/* // TreeViewIsLayerFunc is an ActionUpdateFunc that activates if node is a Layer var TreeViewIsLayerFunc = giv.ActionUpdateFunc(func(fni any, act *gi.Button) { tv := fni.(ki.Ki).Embed(KiT_TreeView).(*TreeView) @@ -200,23 +187,24 @@ var TreeViewIsLayerFunc = giv.ActionUpdateFunc(func(fni any, act *gi.Button) { } }) -// ParGridView returns the parent GridView -func (tv *TreeView) ParGridView() *GridView { +// ParVectorView returns the parent VectorView +func (tv *TreeView) ParVectorView() *VectorView { rtv := tv.RootView.Embed(KiT_TreeView).(*TreeView) - return rtv.GridView + return rtv.VectorView } +*/ // SelectSVG func (tv *TreeView) SelectSVG() { - gv := tv.ParGridView() + gv := tv.ParVectorView() if gv != nil { - gv.SelectNodeInSVG(tv.SrcNode, mouse.SelectOne) + gv.SelectNodeInSVG(tv.SrcNode, events.SelectOne) } } // LayerIsCurrent returns true if layer is the current active one for creating func (tv *TreeView) LayerIsCurrent() bool { - gv := tv.ParGridView() + gv := tv.ParVectorView() if gv != nil { return gv.IsCurLayer(tv.SrcNode.Name()) } @@ -226,7 +214,7 @@ func (tv *TreeView) LayerIsCurrent() bool { // LayerSetCurrent sets this layer as the current layer name func (tv *TreeView) LayerSetCurrent() { sn := tv.SrcNode - gv := tv.ParGridView() + gv := tv.ParVectorView() if gv != nil { cur := gv.EditState.CurLayer if cur != "" { @@ -250,7 +238,7 @@ func (tv *TreeView) LayerSetCurrent() { // LayerClearCurrent clears this layer as the current layer if it was set as such. func (tv *TreeView) LayerClearCurrent() { - gv := tv.ParGridView() + gv := tv.ParVectorView() if gv != nil { gv.ClearCurLayer(tv.SrcNode.Name()) tv.SetFullReRender() // needed for icon updating @@ -260,7 +248,7 @@ func (tv *TreeView) LayerClearCurrent() { // NodeIsMetaData returns true if given node is a MetaData func NodeIsMetaData(kn ki.Ki) bool { - _, ismd := kn.(*gi.MetaData2D) + _, ismd := kn.(*svg.MetaData) return ismd } @@ -293,19 +281,8 @@ func (tv *TreeView) LayerToggleVis() { tv.UpdateSig() } +/* var TreeViewProps = ki.Props{ - "EnumType:Flag": giv.KiT_TreeViewFlags, - "indent": units.NewCh(2), - "spacing": units.NewCh(.5), - "border-width": units.NewPx(0), - "border-radius": units.NewPx(0), - "padding": units.NewPx(0), - "margin": units.NewPx(1), - "text-align": gist.AlignLeft, - "vertical-align": gist.AlignTop, - "color": &gi.Prefs.Colors.Font, - "background-color": "inherit", - "no-templates": true, ".svgnode": ki.Props{ "font-weight": gist.WeightNormal, "font-style": gist.FontNormal, @@ -319,34 +296,6 @@ var TreeViewProps = ki.Props{ ".locked": ki.Props{ "color": "#ff4252", }, - "#icon": ki.Props{ - "width": units.NewEm(1), - "height": units.NewEm(1), - "margin": units.NewPx(0), - "padding": units.NewPx(0), - "fill": &gi.Prefs.Colors.Icon, - "stroke": &gi.Prefs.Colors.Font, - }, - "#branch": ki.Props{ - "icon": "wedge-down", - "icon-off": "wedge-right", - "margin": units.NewPx(0), - "padding": units.NewPx(0), - "background-color": color.Transparent, - "max-width": units.NewEm(.8), - "max-height": units.NewEm(.8), - }, - "#space": ki.Props{ - "width": units.NewEm(.5), - }, - "#label": ki.Props{ - "margin": units.NewPx(0), - "padding": units.NewPx(0), - "min-width": units.NewCh(16), - }, - "#menu": ki.Props{ - "indicator": "none", - }, giv.TreeViewSelectors[giv.TreeViewActive]: ki.Props{}, giv.TreeViewSelectors[giv.TreeViewSel]: ki.Props{ "background-color": &gi.Prefs.Colors.Select, @@ -408,38 +357,39 @@ func (tv *TreeView) Style2D() { tv.Class = "" if sn != nil { if NodeIsLayer(sn) { - tv.Icon = gi.IconName("blank") + tv.Icon = icons.Icon("blank") tv.AddClass("layer") if tv.LayerIsCurrent() { - tv.Icon = gi.IconName("checkmark") + tv.Icon = icons.Icon("checkmark") } if LayerIsLocked(sn) { tv.AddClass("locked") - tv.Icon = gi.IconName("close") + tv.Icon = icons.Icon("close") } if !LayerIsVisible(sn) { tv.AddClass("invisible") - tv.Icon = gi.IconName("close") + tv.Icon = icons.Icon("close") } // todo: visibility and locked flags } else { tv.AddClass("svgnode") switch sn.(type) { case *svg.Circle: - tv.Icon = gi.IconName("circlebutton-off") + tv.Icon = icons.Icon("circlebutton-off") case *svg.Ellipse: - tv.Icon = gi.IconName("circlebutton-off") + tv.Icon = icons.Icon("circlebutton-off") case *svg.Rect: - tv.Icon = gi.IconName("stop") + tv.Icon = icons.Icon("stop") case *svg.Path: - tv.Icon = gi.IconName("color") + tv.Icon = icons.Icon("color") case *svg.Image: - tv.Icon = gi.IconName("file-image") // todo: image + tv.Icon = icons.Icon("file-image") // todo: image case *svg.Text: - tv.Icon = gi.IconName("file-doc") // todo: A = text + tv.Icon = icons.Icon("file-doc") // todo: A = text } } tv.StyleTreeView() tv.LayState.SetFromStyle(&tv.Sty.Layout) // also does reset } } +*/ diff --git a/vector/values.go b/vector/values.go new file mode 100644 index 00000000..47717049 --- /dev/null +++ b/vector/values.go @@ -0,0 +1,110 @@ +// Copyright (c) 2021, The Vector Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package vector + +import ( + "cogentcore.org/core/events" + "cogentcore.org/core/gi" + "cogentcore.org/core/giv" + "cogentcore.org/core/gti" + "cogentcore.org/core/icons" + "cogentcore.org/core/keyfun" + "cogentcore.org/core/laser" + "cogentcore.org/core/styles" +) + +////////////////////////////////////////////////////////////////////////////////////// +// SplitsView + +// SplitsView opens a view of a splits table +func SplitsView(pt *Splits) { + if gi.ActivateExistingMainWindow(pt) { + return + } + d := gi.NewBody().SetTitle("Available Splitter Settings: Can duplicate an existing (using Ctxt Menu) as starting point for new one") + d.Scene.Data = pt + tv := giv.NewTableView(d).SetSlice(pt) + AvailSplitsChanged = false + tv.OnChange(func(e events.Event) { + AvailSplitsChanged = true + }) + + d.AddAppBar(func(tb *gi.Toolbar) { + giv.NewFuncButton(tb, pt.SavePrefs).SetText("Save to prefs"). + SetIcon(icons.Save).SetKey(keyfun.Save). + StyleFirst(func(s *styles.Style) { s.SetEnabled(AvailSplitsChanged && pt == &StdSplits) }) + oj := giv.NewFuncButton(tb, pt.Open).SetText("Open").SetIcon(icons.Open).SetKey(keyfun.Open) + oj.Args[0].SetTag("ext", ".toml") + sj := giv.NewFuncButton(tb, pt.Save).SetText("Save As").SetIcon(icons.SaveAs).SetKey(keyfun.SaveAs) + sj.Args[0].SetTag("ext", ".toml") + tb.AddOverflowMenu(func(m *gi.Scene) { + giv.NewFuncButton(m, pt.OpenSettings).SetIcon(icons.Open).SetKey(keyfun.OpenAlt1) + }) + }) + d.NewWindow().Run() +} + +//////////////////////////////////////////////////////////////////////////////////////// +// SplitValue + +// Value registers SplitValue as the viewer of SplitName +func (kn SplitName) Value() giv.Value { + return &SplitValue{} +} + +// SplitValue presents an action for displaying an SplitName and selecting +type SplitValue struct { + giv.ValueBase +} + +func (vv *SplitValue) WidgetType() *gti.Type { + vv.WidgetTyp = gi.ButtonType + return vv.WidgetTyp +} + +func (vv *SplitValue) UpdateWidget() { + if vv.Widget == nil { + return + } + bt := vv.Widget.(*gi.Button) + txt := laser.ToString(vv.Value.Interface()) + if txt == "" { + txt = "(none)" + } + bt.SetText(txt) +} + +func (vv *SplitValue) ConfigWidget(w gi.Widget) { + if vv.Widget == w { + vv.UpdateWidget() + return + } + vv.Widget = w + vv.StdConfigWidget(w) + bt := vv.Widget.(*gi.Button) + bt.SetType(gi.ButtonTonal) + bt.Config() + bt.OnClick(func(e events.Event) { + if !vv.IsReadOnly() { + vv.OpenDialog(bt, nil) + } + }) + vv.UpdateWidget() +} + +func (vv *SplitValue) HasDialog() bool { return true } + +func (vv *SplitValue) OpenDialog(ctx gi.Widget, fun func()) { + cur := laser.ToString(vv.Value.Interface()) + m := gi.NewMenuFromStrings(AvailSplitNames, cur, func(idx int) { + nm := AvailSplitNames[idx] + vv.SetValue(nm) + vv.UpdateWidget() + if fun != nil { + fun() + } + }) + gi.NewMenuStage(m, ctx, ctx.ContextMenuPos(nil)).Run() +} diff --git a/grid/gridview.go b/vector/vectorview.go similarity index 59% rename from grid/gridview.go rename to vector/vectorview.go index 2ff22f23..d4840259 100644 --- a/grid/gridview.go +++ b/vector/vectorview.go @@ -1,8 +1,10 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector + +//go:generate core generate import ( "errors" @@ -13,59 +15,56 @@ import ( "os" "os/exec" "path/filepath" - "reflect" "strings" - "github.com/goki/gi/gi" - "github.com/goki/gi/gist" - "github.com/goki/gi/giv" - "github.com/goki/gi/oswin" - "github.com/goki/gi/oswin/mouse" - "github.com/goki/gi/oswin/osevent" - "github.com/goki/gi/svg" - "github.com/goki/gi/units" - "github.com/goki/ki/ki" - "github.com/goki/ki/kit" - "github.com/goki/mat32" + "cogentcore.org/core/events" + "cogentcore.org/core/gi" + "cogentcore.org/core/giv" + "cogentcore.org/core/goosi" + "cogentcore.org/core/ki" + "cogentcore.org/core/mat32" + "cogentcore.org/core/styles" + "cogentcore.org/core/svg" + "cogentcore.org/core/units" ) -// GridView is the Grid SVG vector drawing program: Go-rendered interactive drawing -type GridView struct { +// VectorView is the Vector SVG vector drawing program: Go-rendered interactive drawing +// +//core:no-new +type VectorView struct { gi.Frame // full path to current drawing filename - Filename gi.FileName `ext:".svg"` + Filename gi.Filename `ext:".svg"` // current edit state EditState EditState } -var KiT_GridView = kit.Types.AddType(&GridView{}, GridViewProps) - -// AddNewGridView adds a new editor to given parent node, with given name. -func AddNewGridView(parent ki.Ki, name string) *GridView { - gv := parent.AddNewChild(KiT_GridView, name).(*GridView) - gv.Defaults() - return gv +// AddNewVectorView adds a new editor to given parent node, with given name. +func AddNewVectorView(parent ki.Ki, name string) *VectorView { + vv := parent.AddNewChild(KiT_VectorView, name).(*VectorView) + vv.Defaults() + return vv } -func (g *GridView) CopyFieldsFrom(frm any) { - fr := frm.(*GridView) +func (g *VectorView) CopyFieldsFrom(frm any) { + fr := frm.(*VectorView) g.Frame.CopyFieldsFrom(&fr.Frame) // todo: fill out } -func (gv *GridView) Defaults() { - es := &gv.EditState +func (vv *VectorView) Defaults() { + es := &vv.EditState es.ConfigDefaultGradient() } // OpenDrawingFile opens a new .svg drawing file -- just the basic opening -func (gv *GridView) OpenDrawingFile(fnm gi.FileName) error { +func (vv *VectorView) OpenDrawingFile(fnm gi.Filename) error { path, _ := filepath.Abs(string(fnm)) - gv.Filename = gi.FileName(path) - sv := gv.SVG() - err := sv.OpenXML(gi.FileName(path)) + vv.Filename = gi.Filename(path) + sv := vv.SVG() + err := sv.OpenXML(gi.Filename(path)) if err != nil && err != io.EOF { log.Println(err) // return err @@ -74,10 +73,10 @@ func (gv *GridView) OpenDrawingFile(fnm gi.FileName) error { SavePaths() fdir, _ := filepath.Split(path) os.Chdir(fdir) - gv.EditState.Init() - gv.UpdateLayerView() + vv.EditState.Init() + vv.UpdateLayerView() - gv.EditState.Gradients = sv.Gradients() + vv.EditState.Gradients = sv.Gradients() sv.GatherIds() // also ensures uniqueness, key for json saving sv.ZoomToContents(false) sv.ReadMetaData() @@ -86,104 +85,104 @@ func (gv *GridView) OpenDrawingFile(fnm gi.FileName) error { } // OpenDrawing opens a new .svg drawing -func (gv *GridView) OpenDrawing(fnm gi.FileName) error { - wupdt := gv.TopUpdateStart() - defer gv.TopUpdateEnd(wupdt) - updt := gv.UpdateStart() - gv.SetFullReRender() - - gv.Defaults() - err := gv.OpenDrawingFile(fnm) - - sv := gv.SVG() - gv.SetTitle() - tv := gv.TreeView() +func (vv *VectorView) OpenDrawing(fnm gi.Filename) error { + wupdt := vv.TopUpdateStart() + defer vv.TopUpdateEnd(wupdt) + updt := vv.UpdateStart() + vv.SetFullReRender() + + vv.Defaults() + err := vv.OpenDrawingFile(fnm) + + sv := vv.SVG() + vv.SetTitle() + tv := vv.TreeView() tv.CloseAll() tv.ReSync() - gv.SetStatus("Opened: " + string(gv.Filename)) - gv.UpdateEnd(updt) + vv.SetStatus("Opened: " + string(vv.Filename)) + vv.UpdateEnd(updt) tv.CloseAll() - sv.bgGridEff = 0 + sv.bgVectorEff = 0 sv.UpdateView(true) return err } // NewDrawing opens a new drawing window -func (gv *GridView) NewDrawing(sz PhysSize) *GridView { +func (vv *VectorView) NewDrawing(sz PhysSize) *VectorView { ngr := NewDrawing(sz) return ngr } // PromptPhysSize prompts for physical size of drawing and sets it -func (gv *GridView) PromptPhysSize() { - sv := gv.SVG() +func (vv *VectorView) PromptPhysSize() { + sv := vv.SVG() sz := &PhysSize{} sz.SetFromSVG(sv) - giv.StructViewDialog(gv.Viewport, sz, giv.DlgOpts{Title: "SVG Physical Size", Ok: true, Cancel: true}, gv.This(), + giv.StructViewDialog(vv.Viewport, sz, giv.DlgOpts{Title: "SVG Physical Size", Ok: true, Cancel: true}, vv.This(), func(recv, send ki.Ki, sig int64, d any) { if sig == int64(gi.DialogAccepted) { - gv.SetPhysSize(sz) - sv.bgGridEff = -1 + vv.SetPhysSize(sz) + sv.bgVectorEff = -1 sv.UpdateView(true) } }) } // SetPhysSize sets physical size of drawing -func (gv *GridView) SetPhysSize(sz *PhysSize) { +func (vv *VectorView) SetPhysSize(sz *PhysSize) { if sz == nil { return } if sz.Size.IsNil() { sz.SetStdSize(Prefs.Size.StdSize) } - sv := gv.SVG() + sv := vv.SVG() sz.SetToSVG(sv) sv.SetMetaData() sv.ZoomToPage(false) } // SaveDrawing saves .svg drawing to current filename -func (gv *GridView) SaveDrawing() error { - if gv.Filename == "" { - giv.CallMethod(gv, "SaveDrawingAs", gv.ViewportSafe()) +func (vv *VectorView) SaveDrawing() error { + if vv.Filename == "" { + giv.CallMethod(vv, "SaveDrawingAs", vv.ViewportSafe()) return nil } - sv := gv.SVG() + sv := vv.SVG() sv.RemoveOrphanedDefs() sv.SetMetaData() - err := sv.SaveXML(gv.Filename) + err := sv.SaveXML(vv.Filename) if err != nil && err != io.EOF { log.Println(err) } else { - gv.AutoSaveDelete() + vv.AutoSaveDelete() } - gv.SetStatus("Saved: " + string(gv.Filename)) - gv.EditState.Changed = false + vv.SetStatus("Saved: " + string(vv.Filename)) + vv.EditState.Changed = false return err } // SaveDrawingAs saves .svg drawing to given filename -func (gv *GridView) SaveDrawingAs(fname gi.FileName) error { +func (vv *VectorView) SaveDrawingAs(fname gi.Filename) error { if fname == "" { return errors.New("SaveDrawingAs: filename is empty") } path, _ := filepath.Abs(string(fname)) - gv.Filename = gi.FileName(path) + vv.Filename = gi.Filename(path) SavedPaths.AddPath(path, gi.Prefs.Params.SavedPathsMax) SavePaths() - sv := gv.SVG() + sv := vv.SVG() sv.RemoveOrphanedDefs() sv.SetMetaData() - err := sv.SaveXML(gi.FileName(path)) + err := sv.SaveXML(gi.Filename(path)) if err != nil && err != io.EOF { log.Println(err) } else { - gv.AutoSaveDelete() + vv.AutoSaveDelete() } - gv.SetTitle() - gv.SetStatus("Saved: " + path) - gv.EditState.Changed = false + vv.SetTitle() + vv.SetStatus("Saved: " + path) + vv.EditState.Changed = false return err } @@ -192,17 +191,17 @@ func (gv *GridView) SaveDrawingAs(fname gi.FileName) error { // specify either width or height of resulting image, or nothing for // physical size as set. Renders full current page -- do ResizeToContents // to render just current contents. -func (gv *GridView) ExportPNG(width, height float32) error { - path, _ := filepath.Split(string(gv.Filename)) +func (vv *VectorView) ExportPNG(width, height float32) error { + path, _ := filepath.Split(string(vv.Filename)) fnm := filepath.Join(path, "export_png.svg") - sv := gv.SVG() - err := sv.SaveXML(gi.FileName(fnm)) + sv := vv.SVG() + err := sv.SaveXML(gi.Filename(fnm)) if err != nil && err != io.EOF { log.Println(err) return err } - fext := filepath.Ext(string(gv.Filename)) - onm := strings.TrimSuffix(string(gv.Filename), fext) + ".png" + fext := filepath.Ext(string(vv.Filename)) + onm := strings.TrimSuffix(string(vv.Filename), fext) + ".png" cstr := "inkscape" args := []string{`--export-type=png`, "-o", onm} if width > 0 { @@ -227,17 +226,17 @@ func (gv *GridView) ExportPNG(width, height float32) error { // specify DPI of resulting image for effects rendering. // Renders full current page -- do ResizeToContents // to render just current contents. -func (gv *GridView) ExportPDF(dpi float32) error { - path, _ := filepath.Split(string(gv.Filename)) +func (vv *VectorView) ExportPDF(dpi float32) error { + path, _ := filepath.Split(string(vv.Filename)) fnm := filepath.Join(path, "export_pdf.svg") - sv := gv.SVG() - err := sv.SaveXML(gi.FileName(fnm)) + sv := vv.SVG() + err := sv.SaveXML(gi.Filename(fnm)) if err != nil && err != io.EOF { log.Println(err) return err } - fext := filepath.Ext(string(gv.Filename)) - onm := strings.TrimSuffix(string(gv.Filename), fext) + ".pdf" + fext := filepath.Ext(string(vv.Filename)) + onm := strings.TrimSuffix(string(vv.Filename), fext) + ".pdf" cstr := "inkscape" args := []string{`--export-type=pdf`, "-o", onm} if dpi > 0 { @@ -258,165 +257,165 @@ func (gv *GridView) ExportPDF(dpi float32) error { // including moving everything to start at upper-left corner, // preserving the current grid offset, so grid snapping // is preserved. -func (gv *GridView) ResizeToContents() { - sv := gv.SVG() +func (vv *VectorView) ResizeToContents() { + sv := vv.SVG() sv.ResizeToContents(true) sv.UpdateView(true) } // AddImage adds a new image node set to given image -func (gv *GridView) AddImage(fname gi.FileName, width, height float32) error { - sv := gv.SVG() +func (vv *VectorView) AddImage(fname gi.Filename, width, height float32) error { + sv := vv.SVG() sv.UndoSave("AddImage", string(fname)) ind := sv.NewEl(svg.KiT_Image).(*svg.Image) ind.Pos.X = 100 // todo: default pos ind.Pos.Y = 100 // todo: default pos err := ind.OpenImage(fname, width, height) sv.UpdateView(true) - gv.ChangeMade() + vv.ChangeMade() return err } ////////////////////////////////////////////////////////////////////////// // GUI Config -func (gv *GridView) MainToolbar() *gi.Toolbar { - return gv.ChildByName("main-tb", 0).(*gi.Toolbar) +func (vv *VectorView) MainToolbar() *gi.Toolbar { + return vv.ChildByName("main-tb", 0).(*gi.Toolbar) } -func (gv *GridView) ModalToolbarStack() *gi.Layout { - return gv.ChildByName("modal-tb", 1).(*gi.Layout) +func (vv *VectorView) ModalToolbarStack() *gi.Layout { + return vv.ChildByName("modal-tb", 1).(*gi.Layout) } // SetModalSelect sets the modal toolbar to be the select one -func (gv *GridView) SetModalSelect() { - tbs := gv.ModalToolbarStack() +func (vv *VectorView) SetModalSelect() { + tbs := vv.ModalToolbarStack() updt := tbs.UpdateStart() tbs.SetFullReRender() - gv.UpdateSelectToolbar() + vv.UpdateSelectToolbar() idx, _ := tbs.Kids.IndexByName("select-tb", 0) tbs.StackTop = idx tbs.UpdateEnd(updt) } // SetModalNode sets the modal toolbar to be the node editing one -func (gv *GridView) SetModalNode() { - tbs := gv.ModalToolbarStack() +func (vv *VectorView) SetModalNode() { + tbs := vv.ModalToolbarStack() updt := tbs.UpdateStart() tbs.SetFullReRender() - gv.UpdateNodeToolbar() + vv.UpdateNodeToolbar() idx, _ := tbs.Kids.IndexByName("node-tb", 1) tbs.StackTop = idx tbs.UpdateEnd(updt) } // SetModalText sets the modal toolbar to be the text editing one -func (gv *GridView) SetModalText() { - tbs := gv.ModalToolbarStack() +func (vv *VectorView) SetModalText() { + tbs := vv.ModalToolbarStack() updt := tbs.UpdateStart() tbs.SetFullReRender() - gv.UpdateTextToolbar() + vv.UpdateTextToolbar() idx, _ := tbs.Kids.IndexByName("text-tb", 2) tbs.StackTop = idx tbs.UpdateEnd(updt) } -func (gv *GridView) HBox() *gi.Layout { - return gv.ChildByName("hbox", 2).(*gi.Layout) +func (vv *VectorView) HBox() *gi.Layout { + return vv.ChildByName("hbox", 2).(*gi.Layout) } -func (gv *GridView) Tools() *gi.Toolbar { - return gv.HBox().ChildByName("tools", 0).(*gi.Toolbar) +func (vv *VectorView) Tools() *gi.Toolbar { + return vv.HBox().ChildByName("tools", 0).(*gi.Toolbar) } -func (gv *GridView) SplitView() *gi.SplitView { - return gv.HBox().ChildByName("splitview", 1).(*gi.SplitView) +func (vv *VectorView) Splits() *gi.Splits { + return vv.HBox().ChildByName("splits", 1).(*gi.Splits) } -func (gv *GridView) LayerTree() *gi.Layout { - return gv.SplitView().ChildByName("layer-tree", 0).(*gi.Layout) +func (vv *VectorView) LayerTree() *gi.Layout { + return vv.Splits().ChildByName("layer-tree", 0).(*gi.Layout) } -func (gv *GridView) LayerView() *giv.TableView { - return gv.LayerTree().ChildByName("layers", 0).(*giv.TableView) +func (vv *VectorView) LayerView() *giv.TableView { + return vv.LayerTree().ChildByName("layers", 0).(*giv.TableView) } -func (gv *GridView) TreeView() *TreeView { - return gv.LayerTree().ChildByName("tree-frame", 1).Child(0).(*TreeView) +func (vv *VectorView) TreeView() *TreeView { + return vv.LayerTree().ChildByName("tree-frame", 1).Child(0).(*TreeView) } -func (gv *GridView) SVG() *SVGView { - return gv.SplitView().Child(1).(*SVGView) +func (vv *VectorView) SVG() *SVGView { + return vv.Splits().Child(1).(*SVGView) } -func (gv *GridView) Tabs() *gi.TabView { - return gv.SplitView().ChildByName("tabs", 2).(*gi.TabView) +func (vv *VectorView) Tabs() *gi.Tabs { + return vv.Splits().ChildByName("tabs", 2).(*gi.Tabs) } // StatusBar returns the statusbar widget -func (gv *GridView) StatusBar() *gi.Frame { - return gv.ChildByName("statusbar", 4).(*gi.Frame) +func (vv *VectorView) StatusBar() *gi.Frame { + return vv.ChildByName("statusbar", 4).(*gi.Frame) } // StatusLabel returns the statusbar label widget -func (gv *GridView) StatusLabel() *gi.Label { - return gv.StatusBar().Child(0).Embed(gi.KiT_Label).(*gi.Label) +func (vv *VectorView) StatusLabel() *gi.Label { + return vv.StatusBar().Child(0).Embed(gi.KiT_Label).(*gi.Label) } // Config configures entire view -- only runs if no children yet -func (gv *GridView) Config() { - if gv.HasChildren() { +func (vv *VectorView) Config() { + if vv.HasChildren() { return } - updt := gv.UpdateStart() - gv.Lay = gi.LayoutVert + updt := vv.UpdateStart() + vv.Lay = gi.LayoutVert // gv.SetProp("spacing", gi.StdDialogVSpaceUnits) - gi.AddNewToolbar(gv, "main-tb") - gi.AddNewLayout(gv, "modal-tb", gi.LayoutStacked) - hb := gi.AddNewLayout(gv, "hbox", gi.LayoutHoriz) + gi.NewToolbar(vv, "main-tb") + gi.NewLayout(vv, "modal-tb", gi.LayoutStacked) + hb := gi.NewLayout(vv, "hbox", gi.LayoutHoriz) hb.SetStretchMax() - gi.AddNewFrame(gv, "statusbar", gi.LayoutHoriz) + gi.NewFrame(vv, "statusbar", gi.LayoutHoriz) - tb := gi.AddNewToolbar(hb, "tools") + tb := gi.NewToolbar(hb, "tools") tb.Lay = gi.LayoutVert - spv := gi.AddNewSplitView(hb, "splitview") + spv := gi.NewSplits(hb, "splitview") spv.Dim = mat32.X - tly := gi.AddNewLayout(spv, "layer-tree", gi.LayoutVert) + tly := gi.NewLayout(spv, "layer-tree", gi.LayoutVert) tly.SetStretchMax() - nly := gi.AddNewButton(tly, "add-layer") + nly := gi.NewButton(tly, "add-layer") nly.SetText("Add Layer") nly.OnClicked(func() { - gv.AddLayer() + vv.AddLayer() }) lyv := giv.AddNewTableView(tly, "layers") lyv.SetMinPrefHeight(units.NewEm(6)) lyv.SetStretchMax() - tvfr := gi.AddNewFrame(tly, "tree-frame", gi.LayoutVert) + tvfr := gi.NewFrame(tly, "tree-frame", gi.LayoutVert) tvfr.SetMinPrefHeight(units.NewEm(12)) tvfr.SetStretchMax() tvfr.SetReRenderAnchor() tv := AddNewTreeView(tvfr, "treeview") - tv.GridView = gv + tv.VectorView = vv tv.OpenDepth = 4 - sv := AddNewSVGView(spv, "svg", gv) + sv := AddNewSVGView(spv, "svg", vv) - tab := gi.AddNewTabView(spv, "tabs") + tab := gi.NewTabView(spv, "tabs") tab.SetStretchMaxWidth() tv.SetRootNode(sv) - tv.TreeViewSig.Connect(gv.This(), func(recv, send ki.Ki, sig int64, data any) { - gvv := recv.Embed(KiT_GridView).(*GridView) + tv.TreeViewSig.Connect(vv.This(), func(recv, send ki.Ki, sig int64, data any) { + gvv := recv.Embed(KiT_VectorView).(*VectorView) if data == nil { return } if sig == int64(giv.TreeViewInserted) { - sn, ok := data.(svg.NodeSVG) + sn, ok := data.(svg.Node) if ok { gvv.SVG().NodeEnsureUniqueId(sn) svg.CloneNodeGradientProp(sn, "fill") @@ -425,7 +424,7 @@ func (gv *GridView) Config() { return } if sig == int64(giv.TreeViewDeleted) { - sn, ok := data.(svg.NodeSVG) + sn, ok := data.(svg.Node) if ok { svg.DeleteNodeGradientProp(sn, "fill") svg.DeleteNodeGradientProp(sn, "stroke") @@ -436,7 +435,7 @@ func (gv *GridView) Config() { return } tvn, _ := data.(ki.Ki).Embed(KiT_TreeView).(*TreeView) - _, issvg := tvn.SrcNode.(svg.NodeSVG) + _, issvg := tvn.SrcNode.(svg.Node) if !issvg { return } @@ -444,181 +443,181 @@ func (gv *GridView) Config() { return } giv.StructViewDialog(gvv.Viewport, tvn.SrcNode, giv.DlgOpts{Title: "SVG Element View"}, nil, nil) - // ggv, _ := recv.Embed(KiT_GridView).(*GridView) + // ggv, _ := recv.Embed(KiT_VectorView).(*VectorView) // stv := ggv.RecycleTab("Obj", giv.KiT_StructView, true).(*giv.StructView) // stv.SetStruct(tvn.SrcNode) }) spv.SetSplits(0.15, 0.60, 0.25) - gv.ConfigStatusBar() - gv.ConfigMainToolbar() - gv.ConfigModalToolbar() - gv.ConfigTools() - gv.ConfigTabs() + vv.ConfigStatusBar() + vv.ConfigMainToolbar() + vv.ConfigModalToolbar() + vv.ConfigTools() + vv.ConfigTabs() - gv.SetPhysSize(&Prefs.Size) + vv.SetPhysSize(&Prefs.Size) - gv.SyncLayers() - lyv.SetSlice(&gv.EditState.Layers) - gv.LayerViewSigs(lyv) + vv.SyncLayers() + lyv.SetSlice(&vv.EditState.Layers) + vv.LayerViewSigs(lyv) - sv.UpdateGradients(gv.EditState.Gradients) + sv.UpdateGradients(vv.EditState.Gradients) - gv.UpdateEnd(updt) + vv.UpdateEnd(updt) } // IsConfiged returns true if the view is fully configured -func (gv *GridView) IsConfiged() bool { - if !gv.HasChildren() { +func (vv *VectorView) IsConfiged() bool { + if !vv.HasChildren() { return false } return true } // UndoAvailFunc is an ActionUpdateFunc that inactivates action if no more undos -func (gv *GridView) UndoAvailFunc(act *gi.Button) { - es := &gv.EditState +func (vv *VectorView) UndoAvailFunc(act *gi.Button) { + es := &vv.EditState act.SetInactiveState(!es.UndoMgr.HasUndoAvail()) } // RedoAvailFunc is an ActionUpdateFunc that inactivates action if no more redos -func (gv *GridView) RedoAvailFunc(act *gi.Button) { - es := &gv.EditState +func (vv *VectorView) RedoAvailFunc(act *gi.Button) { + es := &vv.EditState act.SetInactiveState(!es.UndoMgr.HasRedoAvail()) } // PasteAvailFunc is an ActionUpdateFunc that inactivates action if no paste avail -func (gv *GridView) PasteAvailFunc(act *gi.Button) { - empty := oswin.TheApp.Clipboard(gv.ParentWindow().OSWin).IsEmpty() +func (vv *VectorView) PasteAvailFunc(act *gi.Button) { + empty := goosi.TheApp.Clipboard(vv.ParentWindow().OSWin).IsEmpty() act.SetInactiveState(empty) } -func (gv *GridView) ConfigMainToolbar() { - tb := gv.MainToolbar() +func (vv *VectorView) ConfigMainToolbar() { + tb := vv.MainToolbar() tb.SetStretchMaxWidth() tb.AddAction(gi.ActOpts{Label: "Updt", Icon: "update", Tooltip: "update display -- should not be needed but sometimes, while still under development..."}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.UpdateAll() }) tb.AddAction(gi.ActOpts{Label: "New", Icon: "new", Tooltip: "create new drawing of specified size"}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) ndr := grr.NewDrawing(Prefs.Size) ndr.PromptPhysSize() }) szmen := tb.AddAction(gi.ActOpts{Label: "Size", Icon: "gear"}, nil, nil) szmen.Menu.AddAction(gi.ActOpts{Label: "Set Size...", Icon: "gear", Tooltip: "set size and grid spacing of drawing"}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.PromptPhysSize() }) szmen.Menu.AddAction(gi.ActOpts{Label: "Resize To Contents", Icon: "gear", Tooltip: "resizes the drawing to fit the current contents, moving everything to upper-left corner while preserving grid alignment"}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.ResizeToContents() }) tb.AddAction(gi.ActOpts{Label: "Open...", Icon: "file-open", Tooltip: "Open a drawing from .svg file"}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) giv.CallMethod(grr, "OpenDrawing", grr.ViewportSafe()) }) tb.AddAction(gi.ActOpts{Label: "Save", Icon: "file-save", Tooltip: "Save drawing to .svg file, using current filename (if empty, prompts)"}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.SaveDrawing() }) tb.AddAction(gi.ActOpts{Label: "Save As...", Icon: "file-save", Tooltip: "Save drawing to a new .svg file"}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) giv.CallMethod(grr, "SaveDrawingAs", grr.ViewportSafe()) }) expmen := tb.AddAction(gi.ActOpts{Label: "Export", Icon: "file-save"}, nil, nil) expmen.Menu.AddAction(gi.ActOpts{Label: "Export PNG", Icon: "file-image", Tooltip: "Export drawing to a .png file -- requires cairosvg.org to be installed"}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) giv.CallMethod(grr, "ExportPNG", grr.ViewportSafe()) }) expmen.Menu.AddAction(gi.ActOpts{Label: "Export PDF", Icon: "file-pdf", Tooltip: "Export drawing to a .pdf file -- requires cairosvg.org to be installed"}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) giv.CallMethod(grr, "ExportPDF", grr.ViewportSafe()) }) gi.NewSeparator(tb, "sep-undo") - tb.AddAction(gi.ActOpts{Label: "Undo", Icon: "rotate-left", Tooltip: "Undo last action", UpdateFunc: gv.UndoAvailFunc}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + tb.AddAction(gi.ActOpts{Label: "Undo", Icon: "rotate-left", Tooltip: "Undo last action", UpdateFunc: vv.UndoAvailFunc}, + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.Undo() }) - tb.AddAction(gi.ActOpts{Label: "Redo", Icon: "rotate-right", Tooltip: "Redo last undo action", UpdateFunc: gv.RedoAvailFunc}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + tb.AddAction(gi.ActOpts{Label: "Redo", Icon: "rotate-right", Tooltip: "Redo last undo action", UpdateFunc: vv.RedoAvailFunc}, + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.Redo() }) gi.NewSeparator(tb, "sep-edit") - tb.AddAction(gi.ActOpts{Label: "Duplicate", Icon: "documents", Tooltip: "Duplicate current selection -- original items will remain selected", UpdateFunc: gv.SelectedEnableFunc}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + tb.AddAction(gi.ActOpts{Label: "Duplicate", Icon: "documents", Tooltip: "Duplicate current selection -- original items will remain selected", UpdateFunc: vv.SelectedEnableFunc}, + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.DuplicateSelected() }) - tb.AddAction(gi.ActOpts{Label: "Copy", Icon: "copy", Tooltip: "Copy current selection to clipboard", UpdateFunc: gv.SelectedEnableFunc}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + tb.AddAction(gi.ActOpts{Label: "Copy", Icon: "copy", Tooltip: "Copy current selection to clipboard", UpdateFunc: vv.SelectedEnableFunc}, + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.CopySelected() }) - tb.AddAction(gi.ActOpts{Label: "Cut", Icon: "cut", Tooltip: "Cut current selection -- delete and copy to clipboard", UpdateFunc: gv.SelectedEnableFunc}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + tb.AddAction(gi.ActOpts{Label: "Cut", Icon: "cut", Tooltip: "Cut current selection -- delete and copy to clipboard", UpdateFunc: vv.SelectedEnableFunc}, + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.CutSelected() }) - tb.AddAction(gi.ActOpts{Label: "Paste", Icon: "paste", Tooltip: "Paste clipboard contents", UpdateFunc: gv.PasteAvailFunc}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + tb.AddAction(gi.ActOpts{Label: "Paste", Icon: "paste", Tooltip: "Paste clipboard contents", UpdateFunc: vv.PasteAvailFunc}, + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) grr.PasteClip() }) gi.NewSeparator(tb, "sep-import") tb.AddAction(gi.ActOpts{Label: "Add Image...", Icon: "file-image", Tooltip: "add an image from a file"}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) giv.CallMethod(grr, "AddImage", grr.ViewportSafe()) }) gi.NewSeparator(tb, "sep-view") tb.AddAction(gi.ActOpts{Label: "Zoom Page", Icon: "zoom-out", Tooltip: "zoom to see entire page size for drawing"}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) svvv := grr.SVG() svvv.ZoomToPage(false) svvv.UpdateView(true) }) tb.AddAction(gi.ActOpts{Label: "Zoom All", Icon: "zoom-out", Tooltip: "zoom to see entire contents"}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { - grr := recv.Embed(KiT_GridView).(*GridView) + vv.This(), func(recv, send ki.Ki, sig int64, data any) { + grr := recv.Embed(KiT_VectorView).(*VectorView) svvv := grr.SVG() svvv.ZoomToContents(false) svvv.UpdateView(true) }) } -func (gv *GridView) ConfigModalToolbar() { - tb := gv.ModalToolbarStack() +func (vv *VectorView) ConfigModalToolbar() { + tb := vv.ModalToolbarStack() if tb == nil || tb.HasChildren() { return } tb.SetStretchMaxWidth() - gi.AddNewToolbar(tb, "select-tb") - gi.AddNewToolbar(tb, "node-tb") - gi.AddNewToolbar(tb, "text-tb") + gi.NewToolbar(tb, "select-tb") + gi.NewToolbar(tb, "node-tb") + gi.NewToolbar(tb, "text-tb") - gv.ConfigSelectToolbar() - gv.ConfigNodeToolbar() - gv.ConfigTextToolbar() + vv.ConfigSelectToolbar() + vv.ConfigNodeToolbar() + vv.ConfigTextToolbar() } // ConfigStatusBar configures statusbar with label -func (gv *GridView) ConfigStatusBar() { - sb := gv.StatusBar() +func (vv *VectorView) ConfigStatusBar() { + sb := vv.StatusBar() if sb == nil || sb.HasChildren() { return } @@ -630,21 +629,21 @@ func (gv *GridView) ConfigStatusBar() { lbl := sb.AddNewChild(gi.KiT_Label, "sb-lbl").(*gi.Label) lbl.SetStretchMaxWidth() lbl.SetMinPrefHeight(units.NewValue(1, units.Em)) - lbl.SetProp("vertical-align", gist.AlignTop) + lbl.SetProp("vertical-align", styles.AlignTop) lbl.SetProp("margin", 0) lbl.SetProp("padding", 0) lbl.SetProp("tab-size", 4) } // SetStatus updates the statusbar label with given message, along with other status info -func (gv *GridView) SetStatus(msg string) { - sb := gv.StatusBar() +func (vv *VectorView) SetStatus(msg string) { + sb := vv.StatusBar() if sb == nil { return } updt := sb.UpdateStart() - lbl := gv.StatusLabel() - es := &gv.EditState + lbl := vv.StatusLabel() + es := &vv.EditState str := "" + strings.TrimSuffix(es.Tool.String(), "Tool") + "\t" if es.CurLayer != "" { str += "Layer: " + es.CurLayer + "\t\t" @@ -658,21 +657,21 @@ func (gv *GridView) SetStatus(msg string) { // automatically save the project if it already exists (no harm), and prompt // to save open files -- if this returns true, then it is OK to close -- // otherwise not -func (gv *GridView) CloseWindowReq() bool { - if !gv.EditState.Changed { +func (vv *VectorView) CloseWindowReq() bool { + if !vv.EditState.Changed { return true } - gi.ChoiceDialog(gv.Viewport, gi.DlgOpts{Title: "Close Drawing: There are Unsaved Changes", - Prompt: fmt.Sprintf("In Drawing: %v There are unsaved changes -- do you want to save or cancel closing this drawing?", giv.DirAndFile(string(gv.Filename)))}, + gi.ChoiceDialog(vv.Viewport, gi.DlgOpts{Title: "Close Drawing: There are Unsaved Changes", + Prompt: fmt.Sprintf("In Drawing: %v There are unsaved changes -- do you want to save or cancel closing this drawing?", giv.DirAndFile(string(vv.Filename)))}, []string{"Cancel", "Save", "Close Without Saving"}, - gv.This(), func(recv, send ki.Ki, sig int64, data any) { + vv.This(), func(recv, send ki.Ki, sig int64, data any) { switch sig { case 0: // do nothing, will have returned false already case 1: - gv.SaveDrawing() + vv.SaveDrawing() case 2: - gv.ParentWindow().OSWin.Close() // will not be prompted again! + vv.ParentWindow().OSWin.Close() // will not be prompted again! } }) return false // not yet @@ -694,35 +693,35 @@ func QuitReq() bool { if gek == nil { continue } - gv := gek.Embed(KiT_GridView).(*GridView) - if !gv.CloseWindowReq() { + vv := gek.Embed(KiT_VectorView).(*VectorView) + if !vv.CloseWindowReq() { return false } } return true } -func (gv *GridView) SetTitle() { - if gv.Filename == "" { +func (vv *VectorView) SetTitle() { + if vv.Filename == "" { return } - dfnm := giv.DirAndFile(string(gv.Filename)) + dfnm := giv.DirAndFile(string(vv.Filename)) winm := "grid-" + dfnm wintitle := "grid: " + dfnm - win := gv.ParentWindow() + win := vv.ParentWindow() win.SetName(winm) win.SetTitle(wintitle) } // NewDrawing opens a new drawing window -func NewDrawing(sz PhysSize) *GridView { - _, ngr := NewGridWindow("") +func NewDrawing(sz PhysSize) *VectorView { + _, ngr := NewVectorWindow("") ngr.SetPhysSize(&sz) return ngr } -// NewGridWindow returns a new GridWindow loading given file if non-empty -func NewGridWindow(fnm string) (*gi.Window, *GridView) { +// NewVectorWindow returns a new VectorWindow loading given file if non-empty +func NewVectorWindow(fnm string) *VectorView { path := "" dfnm := "" if fnm != "" { @@ -734,16 +733,16 @@ func NewGridWindow(fnm string) (*gi.Window, *GridView) { if win, found := gi.AllWindows.FindName(winm); found { mfr := win.SetMainFrame() - gv := mfr.Child(0).Embed(KiT_GridView).(*GridView) - if string(gv.Filename) == path { + vv := mfr.Child(0).Embed(KiT_VectorView).(*VectorView) + if string(vv.Filename) == path { win.OSWin.Raise() - return win, gv + return win, vv } } width := 1600 height := 1280 - sc := oswin.TheApp.Screen(0) + sc := goosi.TheApp.Screen(0) if sc != nil { scsz := sc.Geometry.Size() width = int(.9 * float64(scsz.X)) @@ -756,31 +755,13 @@ func NewGridWindow(fnm string) (*gi.Window, *GridView) { updt := vp.UpdateStart() mfr := win.SetMainFrame() - gv := AddNewGridView(mfr, "gridview") - gv.Viewport = vp - gv.Defaults() - gv.Config() + vv := AddNewVectorView(mfr, "vectorview") + vv.Viewport = vp + vv.Defaults() + vv.Config() mmen := win.MainMenu - giv.MainMenuView(gv, win, mmen) - - inClosePrompt := false - win.OSWin.SetCloseReqFunc(func(w oswin.Window) { - if !inClosePrompt { - inClosePrompt = true - if gv.CloseWindowReq() { - win.Close() - } else { - inClosePrompt = false - } - } - }) - - win.OSWin.SetCloseCleanFunc(func(w oswin.Window) { - if gi.MainWindows.Len() <= 1 { - go oswin.TheApp.Quit() // once main window is closed, quit - } - }) + giv.MainMenuView(vv, win, mmen) win.MainMenuUpdated() @@ -789,10 +770,10 @@ func NewGridWindow(fnm string) (*gi.Window, *GridView) { win.GoStartEventLoop() if fnm != "" { - gv.OpenDrawingFile(gi.FileName(path)) + vv.OpenDrawingFile(gi.Filename(path)) } - return win, gv + return win, vv } ///////////////////////////////////////////////////////////////////////// @@ -801,52 +782,52 @@ func NewGridWindow(fnm string) (*gi.Window, *GridView) { // RecycleTab returns a tab with given name, first by looking for an existing one, // and if not found, making a new one with widget of given type. // If sel, then select it. returns widget for tab. -func (gv *GridView) RecycleTab(label string, typ reflect.Type, sel bool) gi.Node2D { - tv := gv.Tabs() - return tv.RecycleTab(label, typ, sel) -} +// func (gv *VectorView) RecycleTab(label string, typ reflect.Type, sel bool) gi.Node2D { +// tv := gv.Tabs() +// return tv.RecycleTab(label, typ, sel) +// } // Tab returns tab with given label -func (gv *GridView) Tab(label string) gi.Node2D { - tv := gv.Tabs() - return tv.TabByName(label) -} +// func (gv *VectorView) Tab(label string) gi.Node2D { +// tv := gv.Tabs() +// return tv.TabByName(label) +// } -func (gv *GridView) ConfigTabs() { - tv := gv.Tabs() +func (vv *VectorView) ConfigTabs() { + tv := vv.Tabs() tv.NoDeleteTabs = true - pv := gv.RecycleTab("Paint", KiT_PaintView, false).(*PaintView) - pv.Config(gv) - av := gv.RecycleTab("Align", KiT_AlignView, false).(*AlignView) - av.Config(gv) - gv.EditState.Text.Defaults() - txv := gv.RecycleTab("Text", giv.KiT_StructView, false).(*giv.StructView) - txv.SetStruct(&gv.EditState.Text) + pv := vv.RecycleTab("Paint", KiT_PaintView, false).(*PaintView) + pv.Config(vv) + av := vv.RecycleTab("Align", KiT_AlignView, false).(*AlignView) + av.Config(vv) + vv.EditState.Text.Defaults() + txv := vv.RecycleTab("Text", giv.KiT_StructView, false).(*giv.StructView) + txv.SetStruct(&vv.EditState.Text) } -func (gv *GridView) PaintView() *PaintView { - return gv.Tab("Paint").(*PaintView) +func (vv *VectorView) PaintView() *PaintView { + return vv.Tab("Paint").(*PaintView) } -func (gv *GridView) UpdateAll() { - gv.UpdateTabs() - gv.UpdateTreeView() - gv.UpdateDisp() +func (vv *VectorView) UpdateAll() { + vv.UpdateTabs() + vv.UpdateTreeView() + vv.UpdateDisp() } -func (gv *GridView) UpdateDisp() { - sv := gv.SVG() +func (vv *VectorView) UpdateDisp() { + sv := vv.SVG() sv.UpdateView(true) } -func (gv *GridView) UpdateTreeView() { - tv := gv.TreeView() +func (vv *VectorView) UpdateTreeView() { + tv := vv.TreeView() tv.ReSync() } -func (gv *GridView) SetDefaultStyle() { - pv := gv.Tab("Paint").(*PaintView) - es := &gv.EditState +func (vv *VectorView) SetDefaultStyle() { + pv := vv.Tab("Paint").(*PaintView) + es := &vv.EditState switch es.Tool { case TextTool: pv.Update(&Prefs.TextStyle, nil) @@ -857,108 +838,110 @@ func (gv *GridView) SetDefaultStyle() { } } -func (gv *GridView) UpdateTabs() { +func (vv *VectorView) UpdateTabs() { // fmt.Printf("updt-tabs\n") - es := &gv.EditState + es := &vv.EditState fsel := es.FirstSelectedNode() if fsel != nil { - sel := fsel.AsSVGNode() - pv := gv.Tab("Paint").(*PaintView) + sel := fsel.AsNodeBase() + pv := vv.Tab("Paint").(*PaintView) pv.Update(&sel.Pnt, sel.This()) txt, istxt := fsel.(*svg.Text) if istxt { es.Text.SetFromNode(txt) - txv := gv.Tab("Text").(*giv.StructView) + txv := vv.Tab("Text").(*giv.StructView) txv.UpdateFields() // todo: only show text toolbar on double-click // gv.SetModalText() // gv.UpdateTextToolbar() } else { - gv.SetModalToolbar() + vv.SetModalToolbar() } } } // SelectNodeInSVG selects given svg node in SVG drawing -func (gv *GridView) SelectNodeInSVG(kn ki.Ki, mode mouse.SelectModes) { - sii, ok := kn.(svg.NodeSVG) +func (vv *VectorView) SelectNodeInSVG(kn ki.Ki, mode events.SelectModes) { + sii, ok := kn.(svg.Node) if !ok { return } - sv := gv.SVG() - es := &gv.EditState + sv := vv.SVG() + es := &vv.EditState es.SelectAction(sii, mode, image.ZP) sv.UpdateView(false) } // Undo undoes one step, returning name of action that was undone -func (gv *GridView) Undo() string { - sv := gv.SVG() +func (vv *VectorView) Undo() string { + sv := vv.SVG() act := sv.Undo() if act != "" { - gv.SetStatus("Undid: " + act) + vv.SetStatus("Undid: " + act) } else { - gv.SetStatus("Undo: no more to undo") + vv.SetStatus("Undo: no more to undo") } - gv.UpdateAll() + vv.UpdateAll() return act } // Redo redoes one step, returning name of action that was redone -func (gv *GridView) Redo() string { - sv := gv.SVG() +func (vv *VectorView) Redo() string { + sv := vv.SVG() act := sv.Redo() if act != "" { - gv.SetStatus("Redid: " + act) + vv.SetStatus("Redid: " + act) } else { - gv.SetStatus("Redo: no more to redo") + vv.SetStatus("Redo: no more to redo") } - gv.UpdateAll() + vv.UpdateAll() return act } // ChangeMade should be called after any change is completed on the drawing. // Calls autosave. -func (gv *GridView) ChangeMade() { - go gv.AutoSave() +func (vv *VectorView) ChangeMade() { + go vv.AutoSave() } ///////////////////////////////////////////////////////////////////////// // Basic infrastructure -func (gv *GridView) ConnectEvents2D() { - gv.OSFileEvent() +func (vv *VectorView) ConnectEvents2D() { + vv.OSFileEvent() } -func (gv *GridView) OSFileEvent() { +/* +func (gv *VectorView) OSFileEvent() { gv.ConnectEvent(oswin.OSOpenFilesEvent, gi.RegPri, func(recv, send ki.Ki, sig int64, d any) { ofe := d.(*osevent.OpenFilesEvent) for _, fn := range ofe.Files { - NewGridWindow(fn) + NewVectorWindow(fn) } }) } +*/ // OpenRecent opens a recently-used file -func (gv *GridView) OpenRecent(filename gi.FileName) { - if string(filename) == GridViewResetRecents { +func (vv *VectorView) OpenRecent(filename gi.Filename) { + if string(filename) == VectorViewResetRecents { SavedPaths = nil gi.StringsAddExtras((*[]string)(&SavedPaths), SavedPathsExtras) - } else if string(filename) == GridViewEditRecents { - gv.EditRecents() + } else if string(filename) == VectorViewEditRecents { + vv.EditRecents() } else { - gv.OpenDrawing(filename) + vv.OpenDrawing(filename) } } // RecentsEdit opens a dialog editor for deleting from the recents project list -func (gv *GridView) EditRecents() { +func (vv *VectorView) EditRecents() { tmp := make([]string, len(SavedPaths)) copy(tmp, SavedPaths) gi.StringsRemoveExtras((*[]string)(&tmp), SavedPathsExtras) opts := giv.DlgOpts{Title: "Recent Project Paths", Prompt: "Delete paths you no longer use", Ok: true, Cancel: true, NoAdd: true} - giv.SliceViewDialog(gv.Viewport, &tmp, opts, - nil, gv, func(recv, send ki.Ki, sig int64, data any) { + giv.SliceViewDialog(vv.Viewport, &tmp, opts, + nil, vv, func(recv, send ki.Ki, sig int64, data any) { if sig == int64(gi.DialogAccepted) { SavedPaths = nil SavedPaths = append(SavedPaths, tmp...) @@ -968,8 +951,8 @@ func (gv *GridView) EditRecents() { } // SplitsSetView sets split view splitters to given named setting -func (gv *GridView) SplitsSetView(split SplitName) { - sv := gv.SplitView() +func (vv *VectorView) SplitsSetView(split SplitName) { + sv := vv.Splits() sp, _, ok := AvailSplits.SplitByName(split) if ok { sv.SetSplitsAction(sp.Splits...) @@ -979,8 +962,8 @@ func (gv *GridView) SplitsSetView(split SplitName) { // SplitsSave saves current splitter settings to named splitter settings under // existing name, and saves to prefs file -func (gv *GridView) SplitsSave(split SplitName) { - sv := gv.SplitView() +func (vv *VectorView) SplitsSave(split SplitName) { + sv := vv.Splits() sp, _, ok := AvailSplits.SplitByName(split) if ok { sp.SaveSplits(sv.Splits) @@ -990,99 +973,80 @@ func (gv *GridView) SplitsSave(split SplitName) { // SplitsSaveAs saves current splitter settings to new named splitter settings, and // saves to prefs file -func (gv *GridView) SplitsSaveAs(name, desc string) { - spv := gv.SplitView() +func (vv *VectorView) SplitsSaveAs(name, desc string) { + spv := vv.Splits() AvailSplits.Add(name, desc, spv.Splits) AvailSplits.SavePrefs() } // SplitsEdit opens the SplitsView editor to customize saved splitter settings -func (gv *GridView) SplitsEdit() { +func (vv *VectorView) SplitsEdit() { SplitsView(&AvailSplits) } // HelpWiki opens wiki page for grid on github -func (gv *GridView) HelpWiki() { - oswin.TheApp.OpenURL("https://goki.dev/grid/wiki") +func (vv *VectorView) HelpWiki() { + goosi.TheApp.OpenURL("https://goki.dev/grid/wiki") } //////////////////////////////////////////////////////////////////////////////////////// // AutoSave // AutoSaveFilename returns the autosave filename -func (gv *GridView) AutoSaveFilename() string { - path, fn := filepath.Split(string(gv.Filename)) +func (vv *VectorView) AutoSaveFilename() string { + path, fn := filepath.Split(string(vv.Filename)) if fn == "" { - fn = "new_file_" + gv.Nm + ".svg" + fn = "new_file_" + vv.Nm + ".svg" } asfn := filepath.Join(path, "#"+fn+"#") return asfn } // AutoSave does the autosave -- safe to call in a separate goroutine -func (gv *GridView) AutoSave() error { - if gv.HasFlag(int(GridViewAutoSaving)) { +func (vv *VectorView) AutoSave() error { + if vv.HasFlag(int(VectorViewAutoSaving)) { return nil } - gv.SetFlag(int(GridViewAutoSaving)) - asfn := gv.AutoSaveFilename() - sv := gv.SVG() - err := sv.SaveXML(gi.FileName(asfn)) + vv.SetFlag(int(VectorViewAutoSaving)) + asfn := vv.AutoSaveFilename() + sv := vv.SVG() + err := sv.SaveXML(gi.Filename(asfn)) if err != nil && err != io.EOF { log.Println(err) } - gv.ClearFlag(int(GridViewAutoSaving)) + vv.ClearFlag(int(VectorViewAutoSaving)) return err } // AutoSaveDelete deletes any existing autosave file -func (gv *GridView) AutoSaveDelete() { - asfn := gv.AutoSaveFilename() +func (vv *VectorView) AutoSaveDelete() { + asfn := vv.AutoSaveFilename() os.Remove(asfn) } // AutoSaveCheck checks if an autosave file exists -- logic for dealing with // it is left to larger app -- call this before opening a file -func (gv *GridView) AutoSaveCheck() bool { - asfn := gv.AutoSaveFilename() +func (vv *VectorView) AutoSaveCheck() bool { + asfn := vv.AutoSaveFilename() if _, err := os.Stat(asfn); os.IsNotExist(err) { return false // does not exist } return true } -///////////////////////////////////////////////////////////////////////// -// Props, MainMenu - -// GridViewFlags extend NodeBase NodeFlags to hold viewport state -type GridViewFlags int - -//go:generate stringer -type=GridViewFlags - -var KiT_GridViewFlags = kit.Enums.AddEnumExt(gi.KiT_NodeFlags, GridViewFlagsN, kit.BitFlag, nil) +// VectorViewFlags extend WidgetFlags to hold VectorView state +type VectorViewFlags gi.WidgetFlags //enums:bitflag -trim-prefix VectorViewFlag const ( - // VpFlagPopup means viewport is a popup (menu or dialog) -- does not obey - // parent bounds (otherwise does) - GridViewAutoSaving GridViewFlags = GridViewFlags(gi.NodeFlagsN) + iota - - GridViewFlagsN + // VectorViewAutoSaving means + VectorViewAutoSaving VectorViewFlags = VectorViewFlags(gi.WidgetFlagsN) + iota ) ///////////////////////////////////////////////////////////////////////// // Props, MainMenu -var GridViewProps = ki.Props{ - "EnumType:Flag": gi.KiT_NodeFlags, - "background-color": &gi.Prefs.Colors.Background, - "color": &gi.Prefs.Colors.Font, - "max-width": -1, - "max-height": -1, - "#title": ki.Props{ - "max-width": -1, - "horizontal-align": gist.AlignCenter, - "vertical-align": gist.AlignTop, - }, +/* +var VectorViewProps = ki.Props{ "MainMenu": ki.PropSlice{ {"AppMenu", ki.BlankProp{}}, {"File", ki.PropSlice{ @@ -1174,15 +1138,15 @@ var GridViewProps = ki.Props{ {"Edit", ki.PropSlice{ {"Duplicate", ki.Props{ "keyfun": keyfun.Duplicate, - // "updtfunc": GridViewInactiveTextSelectionFunc, + // "updtfunc": VectorViewInactiveTextSelectionFunc, }}, {"Copy", ki.Props{ "keyfun": keyfun.Copy, - // "updtfunc": GridViewInactiveTextSelectionFunc, + // "updtfunc": VectorViewInactiveTextSelectionFunc, }}, {"Cut", ki.Props{ "keyfun": keyfun.Cut, - // "updtfunc": GridViewInactiveTextSelectionFunc, + // "updtfunc": VectorViewInactiveTextSelectionFunc, }}, {"Paste", ki.Props{ "keyfun": keyfun.Paste, @@ -1234,3 +1198,5 @@ var GridViewProps = ki.Props{ }}, }, } + +*/ diff --git a/grid/version.go b/vector/version.go similarity index 94% rename from grid/version.go rename to vector/version.go index 2f48e3ec..f5c3d503 100644 --- a/grid/version.go +++ b/vector/version.go @@ -1,6 +1,6 @@ // WARNING: auto-generated by Makefile release target -- run 'make release' to update -package grid +package vector const ( Version = "v0.5.5" diff --git a/grid/xform.go b/vector/xform.go similarity index 57% rename from grid/xform.go rename to vector/xform.go index f873c9e0..aa9d88b3 100644 --- a/grid/xform.go +++ b/vector/xform.go @@ -1,5 +1,5 @@ -// Copyright (c) 2021, The Grid Authors. All rights reserved. +// Copyright (c) 2021, The Vector Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -package grid +package vector