public virtual IThing SetThingByData(IGraph <IThing, ILink> graph, IThing thing, object data) { var itemToChange = graph.ThingToDisplay(thing); if (thing != null && itemToChange == thing && SchemaFacade.DescriptionableThing(thing)) { itemToChange = ThingFactory.CreateItem(data); graph.Add(new Link(thing, itemToChange, CommonSchema.DescriptionMarker)); } else { graph.DoChangeData(itemToChange, data); } return(itemToChange); }
public override IVisual CreateSinkItem(IGraph <IThing, ILink> source, IGraph <IVisual, IVisualEdge> sink, IThing a) { var result = VisualFactory.CreateItem(ThingDataToDisplay(source, a)); if (SchemaFacade.DescriptionableThing(a)) { if (a is IThing <Stream> ) { result.Shape = ShapeFactory.Create <IBezierRectangleShape> (); } else { result.Shape = ShapeFactory.Create <IRectangleShape> (); } } else { result.Shape = ShapeFactory.Create <IRoundedRectangleShape> (); } return(result); }