func (p *port) AddToTree(tree tr.TreeIf, cursor tr.Cursor) { var prop tr.Property parentId := tree.Parent(cursor) if tree.Property(parentId).IsReadOnly() { prop = freesp.PropertyNew(false, false, false) } else { prop = freesp.PropertyNew(true, false, false) } var kind tr.Symbol if p.Direction() == gr.InPort { kind = tr.SymbolInputPort } else { kind = tr.SymbolOutputPort } err := tree.AddEntry(cursor, kind, p.Name(), p, prop) if err != nil { log.Fatalf("port.AddToTree: FilesTreeStore.AddEntry() failed: %s\n", err) } child := tree.Append(cursor) t := p.SignalType() t.AddToTree(tree, child) for _, c := range p.Connections() { child = tree.Append(cursor) p.Connection(c).AddToTree(tree, child) } return }
func (p *portType) AddToTree(tree tr.TreeIf, cursor tr.Cursor) { var prop tr.Property parentId := tree.Parent(cursor) if tree.Property(parentId).IsReadOnly() { prop = freesp.PropertyNew(false, false, false) } else { prop = freesp.PropertyNew(true, true, true) } var kind tr.Symbol if p.Direction() == gr.InPort { kind = tr.SymbolInputPortType } else { kind = tr.SymbolOutputPortType } err := tree.AddEntry(cursor, kind, p.Name(), p, prop) if err != nil { log.Fatal("bh.PortTypeIf.AddToTree: FilesTreeStore.AddEntry() failed: %s\n", err) } child := tree.Append(cursor) p.SignalType().AddToTree(tree, child) }
func isParentReadOnly(tree tr.TreeIf, cursor tr.Cursor) bool { parentId := tree.Parent(cursor) return tree.Property(parentId).IsReadOnly() }