protected BasePortView(Orientation orientation, Direction direction, Capacity capacity, Type type, IEdgeConnectorListener connectorListener) : base(orientation, direction, capacity, type) { styleSheets.Add(GraphProcessorStyles.PortViewStyle); Icon = new Image(); Icon.AddToClassList("port-icon"); Insert(1, Icon); visualClass = "Port_" + portType.Name; var portLabel = this.Q("type"); portLabel.pickingMode = PickingMode.Position; portLabel.style.flexGrow = 1; bool vertical = orientation == Orientation.Vertical; if (vertical) { portLabel.style.display = DisplayStyle.None; this.Q("connector").pickingMode = PickingMode.Position; AddToClassList("vertical"); } m_EdgeConnector = new EdgeConnector <BaseConnectionView>(connectorListener); ConnectionViews = new Dictionary <BaseConnection, BaseConnectionView>(); this.AddManipulator(m_EdgeConnector); }
public GraphViewPort(GraphViewNode node, GraphViewConnector edgeListener, bool isInput) : base(Orientation.Horizontal, isInput ? Direction.Input : Direction.Output, isInput ? Capacity.Multi : Capacity.Single, null) { AddToClassList(UssClassName); Node = node; m_EdgeConnector = new EdgeConnector <Edge>(edgeListener); this.AddManipulator(m_EdgeConnector); }
public UIViewSourcePort(Orientation portOrientation, Direction portDirection, Capacity portCapacity, Type type) : base(portOrientation, portDirection, portCapacity, type) { var connectorListener = new DefaultEdgeConnectorListener(); m_EdgeConnector = new EdgeConnector <Edge>(connectorListener); this.AddManipulator(m_EdgeConnector); }
public LogicPort(BasePort basePort) : base(Orientation.Horizontal, GetDirection(basePort.Direction), GetCapacity(basePort.CapacityMode), basePort.PortType) { portName = basePort.Name; this.basePort = basePort; myEdgeConnector = new EdgeConnector <Edge>(new EC()); this.AddManipulator(myEdgeConnector); }
public void SetUp(NodePort _port, CommandDispatcher _commandDispatcher, BaseGraphView _graphView) { Model = _port; GraphView = _graphView; m_EdgeConnector = new EdgeConnector <BaseEdgeView>(new EdgeConnectorListener(GraphView)); this.AddManipulator(m_EdgeConnector); AddToClassList(Model.FieldName); visualClass = "Port_" + portType.Name; // 绑定 BindingProperties(); }
public static Port Create(IPortModel model, Store store, Orientation orientation, VisualElement existingIcon = null) { var stencil = model.GraphModel.Stencil; var ele = new Port(orientation, model.Direction, model.Capacity, model.DataType.Resolve(stencil)) { userData = model, m_Store = store, portName = model.Name, }; var connector = new EdgeConnector <Edge>(new VseEdgeConnectorListener( (edge, pos) => OnDropOutsideCallback(store, pos, (Edge)edge), edge => OnDropCallback(store, edge))); ele.m_EdgeConnector = connector; ele.UpdateTooltip(model); ele.EnableInClassList("data", model.PortType == PortType.Data); ele.EnableInClassList("instance", model.PortType == PortType.Instance); ele.EnableInClassList("execution", model.PortType == PortType.Execution); ele.EnableInClassList("loop", model.PortType == PortType.Loop); ele.EnableInClassList("event", model.PortType == PortType.Event); ele.AddManipulator(ele.m_EdgeConnector); if (model.PortType == PortType.Data || model.PortType == PortType.Instance) { if (existingIcon == null) { existingIcon = new Image { name = "portIcon" }; ele.Insert(1, existingIcon); // on output, flex-direction is reversed, so the icon will effectively be BEFORE the connector } existingIcon.AddToClassList(((PortModel)model).IconTypeString); } ele.PortIcon = existingIcon; ele.MarkDirtyRepaint(); return(ele); }
public NodePort(Direction portDirection, Capacity portCapacity) : base(Orientation.Vertical, portDirection, portCapacity, typeof(bool)) { m_EdgeConnector = new EdgeConnector <Edge>(new NodeEdgeConnectorListener()); this.AddManipulator(m_EdgeConnector); style.width = 60.0f; }
public OutputNodeInputPort(Orientation portOrientation, Direction portDirection, Capacity portCapacity, Type type) : base(portOrientation, portDirection, portCapacity, type) { m_EdgeConnector = new EdgeConnector <Edge>(new EdgeConnectorListener()); this.AddManipulator(m_EdgeConnector); }
public SleipnirPortView(Orientation orientation, PortDirection direction, PortCapacity capacity, Type type, IEdgeConnectorListener listener) : base(orientation, ConvertDirection(direction), ConvertCapacity(capacity), type) { m_EdgeConnector = new EdgeConnector <Edge>(listener); this.AddManipulator(m_EdgeConnector); }