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

Method syncNodesFromMimeData

core/treesync.go:393–410  ·  view source on GitHub ↗

syncNodesFromMimeData creates a slice of tree node(s) from given mime data and also a corresponding slice of original paths.

(md mimedata.Mimes)

Source from the content-addressed store, hash-verified

391// from given mime data and also a corresponding slice
392// of original paths.
393func (tr *Tree) syncNodesFromMimeData(md mimedata.Mimes) ([]tree.Node, []string) {
394 ni := len(md) / 2
395 sl := make([]tree.Node, 0, ni)
396 pl := make([]string, 0, ni)
397 for _, d := range md {
398 if d.Type == fileinfo.DataJson {
399 nn, err := tree.UnmarshalRootJSON(d.Data)
400 if err == nil {
401 sl = append(sl, nn)
402 } else {
403 ErrorSnackbar(tr, err, "Error loading node")
404 }
405 } else if d.Type == fileinfo.TextPlain { // paths
406 pl = append(pl, string(d.Data))
407 }
408 }
409 return sl, pl
410}
411
412// pasteAssignSync assigns mime data (only the first one!) to this node
413func (tr *Tree) pasteAssignSync(md mimedata.Mimes) {

Callers 1

pasteAssignSyncMethod · 0.95

Calls 2

UnmarshalRootJSONFunction · 0.92
ErrorSnackbarFunction · 0.85

Tested by

no test coverage detected