/// <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;
 }
Exemple #4
0
 /// <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);
 }