protected PortView(Direction direction, FieldInfo fieldInfo, PortData portData, BaseEdgeConnectorListener edgeConnectorListener) : base(portData.vertical ? Orientation.Vertical : Orientation.Horizontal, direction, Capacity.Multi, portData.displayType ?? fieldInfo.FieldType) { this.fieldInfo = fieldInfo; this.listener = edgeConnectorListener; this.portType = portData.displayType ?? fieldInfo.FieldType; this.portData = portData; this.portName = fieldName; styleSheets.Add(Resources.Load <StyleSheet>(portStyle)); UpdatePortSize(); var userPortStyle = Resources.Load <StyleSheet>(userPortStyleFile); if (userPortStyle != null) { styleSheets.Add(userPortStyle); } if (portData.vertical) { AddToClassList("Vertical"); } this.tooltip = portData.tooltip; }
public void Initialize(BaseGraph graph, bool reInit = false) { if (this.graph != null) { SaveGraphToDisk(); // Close pinned windows from old graph: ClearGraphElements(); } this.graph = graph; connectorListener = CreateEdgeConnectorListener(); // When pressing ctrl-s, we save the graph EditorSceneManager.sceneSaved += _ => SaveGraphToDisk(); ClearGraphElements(); InitializeGraphView(); InitializeNodeViews(); InitializeEdgeViews(); InitializeViews(); InitializeGroups(); InitializeStackNodes(); initialized?.Invoke(); UpdateComputeOrder(); InitializeView(); }
public PortView AddPort(FieldInfo fieldInfo, Direction direction, BaseEdgeConnectorListener listener, PortData portData) { // TODO: hardcoded value PortView p = PortView.CreatePV(Orientation.Horizontal, direction, fieldInfo, portData, listener); if (p.direction == Direction.Input) { inputPortViews.Add(p); inputContainer.Add(p); } else { outputPortViews.Add(p); outputContainer.Add(p); } p.Initialize(this, portData?.displayName); List <PortView> ports; portsPerFieldName.TryGetValue(p.fieldName, out ports); if (ports == null) { ports = new List <PortView>(); portsPerFieldName[p.fieldName] = ports; } ports.Add(p); return(p); }
public void Initialize(BaseGraph graph) { if (this.graph != null) { SaveGraphToDisk(); } this.graph = graph; connectorListener = CreateEdgeConnectorListener(); // When pressing ctrl-s, we save the graph EditorSceneManager.sceneSaved += _ => SaveGraphToDisk(); InitializeGraphView(); InitializeNodeViews(); InitializeEdgeViews(); InitializeViews(); InitializeGroups(); InitializeStackNodes(); UpdateComputeOrder(); initialized?.Invoke(); InitializeView(); }
protected PortView(Direction direction, FieldInfo fieldInfo, PortData portData, BaseEdgeConnectorListener edgeConnectorListener) : base(portData.vertical ? Orientation.Vertical : Orientation.Horizontal, direction, Capacity.Multi, portData.displayType ?? fieldInfo.FieldType) { this.fieldInfo = fieldInfo; this.listener = edgeConnectorListener; this.portType = portData.displayType ?? fieldInfo.FieldType; this.portData = portData; this.portName = fieldName; styleSheets.Add(Resources.Load <StyleSheet>(portStyle)); //绘制端口Icon if (portData.showPortIcon) { VisualElement portIcon; if (string.IsNullOrEmpty(portData.portIconName)) { portIcon = new VisualElement() { name = $"PortViewIcon_{this.portType.Name}" }; } else { portIcon = new VisualElement() { name = $"PortViewIcon_{portData.portIconName}" }; } this.Insert(1, portIcon); } UpdatePortSize(); var userPortStyle = Resources.Load <StyleSheet>(userPortStyleFile); if (userPortStyle != null) { styleSheets.Add(userPortStyle); } if (portData.vertical) { AddToClassList("Vertical"); } this.tooltip = portData.tooltip; }
public PortView AddPort(FieldInfo fieldInfo, Direction direction, BaseEdgeConnectorListener listener, PortData portData) { PortView p = CreatePortView(direction, fieldInfo, portData, listener); if (p.direction == Direction.Input) { inputPortViews.Add(p); if (portData.vertical) { topPortContainer.Add(p); } else { inputContainer.Add(p); } } else { outputPortViews.Add(p); if (portData.vertical) { bottomPortContainer.Add(p); } else { outputContainer.Add(p); } } p.Initialize(this, portData?.displayName); List <PortView> ports; portsPerFieldName.TryGetValue(p.fieldName, out ports); if (ports == null) { ports = new List <PortView>(); portsPerFieldName[p.fieldName] = ports; } ports.Add(p); return(p); }
PortView(Orientation orientation, Direction direction, FieldInfo fieldInfo, PortData portData, BaseEdgeConnectorListener edgeConnectorListener) : base(orientation, direction, Capacity.Multi, portData.displayType ?? fieldInfo.FieldType) { this.fieldInfo = fieldInfo; this.listener = edgeConnectorListener; this.portType = portData.displayType ?? fieldInfo.FieldType; this.portData = portData; this.portName = fieldName; styleSheets.Add(Resources.Load <StyleSheet>(portStyle)); UpdatePortSize(); var userPortStyle = Resources.Load <StyleSheet>(userPortStyleFile); if (userPortStyle != null) { styleSheets.Add(userPortStyle); } }
public static PortView CreatePortView(Direction direction, FieldInfo fieldInfo, PortData portData, BaseEdgeConnectorListener edgeConnectorListener) { var pv = new PortView(direction, fieldInfo, portData, edgeConnectorListener); pv.m_EdgeConnector = new BaseEdgeConnector(edgeConnectorListener); pv.AddManipulator(pv.m_EdgeConnector); // Force picking in the port label to enlarge the edge creation zone var portLabel = pv.Q("type"); if (portLabel != null) { portLabel.pickingMode = PickingMode.Position; portLabel.style.flexGrow = 1; } // hide label when the port is vertical if (portData.vertical && portLabel != null) { portLabel.style.display = DisplayStyle.None; } // Fixup picking mode for vertical top ports if (portData.vertical) { pv.Q("connector").pickingMode = PickingMode.Position; } return(pv); }
protected virtual PortView CreatePortView(Direction direction, FieldInfo fieldInfo, PortData portData, BaseEdgeConnectorListener listener) => PortView.CreatePortView(direction, fieldInfo, portData, listener);
public static PortView CreatePV(Orientation orientation, Direction direction, FieldInfo fieldInfo, PortData portData, BaseEdgeConnectorListener edgeConnectorListener) { var pv = new PortView(orientation, direction, fieldInfo, portData, edgeConnectorListener); pv.m_EdgeConnector = new BaseEdgeConnector(edgeConnectorListener); pv.AddManipulator(pv.m_EdgeConnector); // Force picking in the port label to enlarge the edge creation zone var portLabel = pv.Q("type"); if (portLabel != null) { portLabel.pickingMode = PickingMode.Position; portLabel.style.flexGrow = 1; } return(pv); }
public static PortView CreatePV(Orientation orientation, Direction direction, FieldInfo fieldInfo, PortData portData, BaseEdgeConnectorListener edgeConnectorListener) { var pv = new PortView(orientation, direction, fieldInfo, portData, edgeConnectorListener); pv.m_EdgeConnector = new BaseEdgeConnector(edgeConnectorListener); pv.AddManipulator(pv.m_EdgeConnector); return(pv); }