/// <summary> /// Initialize drawing definition. /// </summary> /// <param name="id">ID of current drawing definition. Has to be uniqueue in drawing context scope.</param> /// <param name="drawedType">Type of drawed object. May differ from type that provides drawing.</param> public DiagramItemDefinition(string id, string drawedType) { ID = id; DrawedType = drawedType; Reference = new DrawingReference(ID); }
/// <summary> /// Add join point into context. If join point with given pointKey /// is already defined for owningDrawing, existing join point definition /// is returned. /// </summary> /// <param name="owningDrawing">Reference to drawing definition containing drawed join point.</param> /// <param name="pointKey">Key, providing access to join point.</param> /// <returns>Created or existing join point for given pointKey.</returns> public ConnectorDefinition DrawJoinPoint(DrawingReference owningDrawing, object pointKey) { JoinPointDefinitions joins; if (!_joinPointDefintions.TryGetValue(owningDrawing.DefinitionID, out joins)) { joins = new JoinPointDefinitions(); _joinPointDefintions[owningDrawing.DefinitionID] = joins; } ConnectorDefinition result; if (!joins.TryGetValue(pointKey, out result)) { result = new ConnectorDefinition(owningDrawing); joins[pointKey] = result; } return(result); }
/// <summary> /// Initializes a new instance of the <see cref="ConnectorDefinition" /> class. /// </summary> /// <param name="reference">The reference to the connector.</param> public ConnectorDefinition(DrawingReference reference) { Reference = reference; }
/// <summary> /// Adds <see cref="DiagramItem"/> to slot according to /// given reference. /// </summary> /// <param name="reference">The reference.</param> public void Add(DrawingReference reference) { _references.Add(reference); }