Exemple #1
0
        public override void OnPortDrivesSignal(Signal signal, Port port, int outputIndex)
        {
            if (maskMDrives)
            {
                return;
            }

            bool wasMasked = maskNDrives;

            try
            {
                maskNDrives = true;
                SignalShape ss = _bridge.Signals[signal.InstanceId];
                PortShape   ps = _bridge.Ports[port.InstanceId];
                IConnector  sc = ss.InputConnector;
                IConnector  pc = ps.OutputConnectors[outputIndex];

                Connection cn = new Connection(Point.Empty, Point.Empty);
                _bridge.Model.AddConnection(cn);
                pc.AttachConnector(cn.From);
                sc.AttachConnector(cn.To);

                ss.Location = new Point(pc.Point.X - 16, pc.Point.Y - 10);
                _bridge.Model.SendToFront(ss);
            }
            finally
            {
                maskNDrives = wasMasked;
            }
        }
Exemple #2
0
        /// <summary>
        /// Adds a connection to the diagram.
        /// </summary>
        /// <param name="from">From.</param>
        /// <param name="to">To.</param>
        /// <returns></returns>
        public IConnection AddConnection(IConnector from, IConnector to)
        {
            Connection cn = new Connection(Point.Empty, Point.Empty);

            this.AddConnection(cn);
            from.AttachConnector(cn.From);
            to.AttachConnector(cn.To);
            return(cn);
        }
Exemple #3
0
        public override void OnSignalDrivesPort(Signal signal, Port port, int inputIndex)
        {
            SignalShape ss = _bridge.Signals[signal.InstanceId];
            PortShape   ps = _bridge.Ports[port.InstanceId];
            IConnector  sc = ss.OutputConnector;
            IConnector  pc = ps.InputConnectors[inputIndex];

            Connection cn = new Connection(Point.Empty, Point.Empty);

            sc.AttachConnector(cn.From);
            pc.AttachConnector(cn.To);
            _bridge.Model.AddConnection(cn);
        }
Exemple #4
0
        public override void OnPortDrivesSignal(Signal signal, Port port, int outputIndex)
        {
            SignalShape ss = _bridge.Signals[signal.InstanceId];
            PortShape   ps = _bridge.Ports[port.InstanceId];
            IConnector  sc = ss.InputConnector;
            IConnector  pc = ps.OutputConnectors[outputIndex];

            Connection cn = new Connection(Point.Empty, Point.Empty);

            pc.AttachConnector(cn.From);
            sc.AttachConnector(cn.To);
            _bridge.Model.AddConnection(cn);

            ss.Location = new Point(pc.Point.X - 16, pc.Point.Y - 10);
            _bridge.Model.SendToFront(ss);
        }
Exemple #5
0
        private void AddConnectionInfo(IConnectionInfo connectionInfo)
        {
            this.RegisterConnectionInfoEvents(connectionInfo);
            IShape shapeFrom = this.shapeInfoShapeMapping.GetByFirst(connectionInfo.From);
            IShape shapeTo   = this.shapeInfoShapeMapping.GetByFirst(connectionInfo.To);

            IConnector connectorFrom = shapeFrom.Connectors.Where(c => c.Name == connectionInfo.ConnectorFrom).FirstOrDefault();
            IConnector connectorTo   = shapeTo.Connectors.Where(c => c.Name == connectionInfo.ConnectorTo).FirstOrDefault();

            if (connectorFrom != null && connectorTo != null)
            {
                Connection connection = new Connection(connectorFrom.Point, connectorTo.Point);
                connection.From.AllowMove = false;
                connection.To.AllowMove   = false;
                connectorFrom.AttachConnector(connection.From);
                connectorTo.AttachConnector(connection.To);
                connection.PenStyle = this.connectionPenStyle;
                this.connectionInfoConnectionMapping.Add(connectionInfo, connection);
                this.graphVisualization.Controller.Model.AddConnection(connection);
                this.graphVisualization.Invalidate();
            }
        }
Exemple #6
0
 public override void Redo()
 {
     parent.AttachConnector(child);
 }
        /// <summary>
        /// Adds a connection to the diagram.
        /// </summary>
        /// <param name="from">From.</param>
        /// <param name="to">To.</param>
        /// <returns></returns>
        public IConnection AddConnection(IConnector from, IConnector to)
        {

            Connection cn = new Connection(Point.Empty, Point.Empty);
            this.AddConnection(cn);
            from.AttachConnector(cn.From);
            to.AttachConnector(cn.To);
            return cn;
        }