示例#1
0
 /// <summary>
 /// Method to change the PortVisibility
 /// </summary>
 /// <param name="node"></param>
 /// <param name="portVisibility"></param>
 private void PortVisibilityChange(NodeViewModel node, PortVisibility portVisibility)
 {
     foreach (IPort nodeport in (node.Ports as ObservableCollection <IPort>))
     {
         if (portVisibility == PortVisibility.ValidConnection)
         {
             if ((nodeport as CustomPort).Porttype == "In")
             {
                 (nodeport as CustomPort).Constraints = (nodeport as CustomPort).Constraints & ~PortConstraints.InheritConnectable;
                 (nodeport as CustomPort).Constraints = (nodeport as CustomPort).Constraints | PortConstraints.InConnect;
             }
             else if ((nodeport as CustomPort).Porttype == "Out")
             {
                 (nodeport as CustomPort).Constraints = (nodeport as CustomPort).Constraints & ~PortConstraints.InheritConnectable;
                 (nodeport as CustomPort).Constraints = (nodeport as CustomPort).Constraints | PortConstraints.OutConnect;
             }
             nodeport.PortVisibility = portVisibility;
         }
         else if (portVisibility == PortVisibility.MouseOverOnConnect || portVisibility == PortVisibility.Default)
         {
             (nodeport as CustomPort).Constraints = PortConstraints.Default & ~PortConstraints.InheritPortVisibility;
             nodeport.PortVisibility = portVisibility;
         }
         else
         {
             nodeport.PortVisibility = portVisibility;
         }
     }
 }
示例#2
0
        public Port AddPort(string name, float offsetX, float offsetY, PortShapes shape = PortShapes.Square, PortVisibility visiblity = PortVisibility.Hidden)
        {
            Port port = new Port();

            port.Name        = name;
            port.Offset      = new DiagramPoint(offsetX, offsetY);
            port.Visibility  = visiblity;
            port.FillColor   = "red";
            port.BorderColor = "black";
            port.Shape       = shape;
            if (shape == PortShapes.Path)
            {
                port.FillColor = port.BorderColor = "black";
                port.PathData  = "M6.805,0L13.61,10.703L0,10.703z";
            }
            port.ConnectorPadding = 4;
            return(port);
        }