MCPcopy Create free account
hub / github.com/cogentcore/core / duplicateSync

Method duplicateSync

core/treesync.go:326–347  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

324}
325
326func (tr *Tree) duplicateSync() {
327 sn := tr.SyncNode
328 tvparent := AsTree(tr.Parent)
329 parent := tvparent.SyncNode
330 if parent == nil {
331 log.Printf("Tree %v nil SyncNode in: %v\n", tr, tvparent.Path())
332 return
333 }
334 myidx := sn.AsTree().IndexInParent()
335 if myidx < 0 {
336 return
337 }
338 nm := fmt.Sprintf("%v_Copy", sn.AsTree().Name)
339 nwkid := sn.AsTree().Clone()
340 nwkid.AsTree().SetName(nm)
341 parent.AsTree().InsertChild(nwkid, myidx+1)
342 tvparent.sendChangeEventReSync(nil)
343 if tvk := tvparent.ChildByName("tv_"+nm, 0); tvk != nil {
344 stv := AsTree(tvk)
345 stv.SelectEvent(events.SelectOne)
346 }
347}
348
349// editNode pulls up a [Form] dialog for the node.
350// If SyncNode is set, operates on Sync Tree.

Callers 1

DuplicateMethod · 0.95

Calls 11

AsTreeFunction · 0.85
IndexInParentMethod · 0.80
InsertChildMethod · 0.80
sendChangeEventReSyncMethod · 0.80
ChildByNameMethod · 0.80
SelectEventMethod · 0.80
AsTreeMethod · 0.65
CloneMethod · 0.65
SetNameMethod · 0.65
PrintfMethod · 0.45
PathMethod · 0.45

Tested by

no test coverage detected