示例#1
0
 protected override void SetupNode(NodeSetup setup)
 {
     setup.NodeSize(30, 30);
     setup.NodeName("Output");
     InputTerminal              = setup.InputTerminal <object>("Data in", Direction.North);
     InputTerminal.DataChanged += InputTerminalOnDataChanged;
 }
示例#2
0
        protected override void SetupNode(NodeSetup setup)
        {
            setup.NodeSize(30, 30);
            setup.NodeName("Multiply");
            _inputTerminal1 = setup.InputTerminal <float>("X", Direction.North);
            _inputTerminal2 = setup.InputTerminal <float>("Y", Direction.North);
            _outputTerminal = setup.OutputTerminal <float>("XY", Direction.South);

            _inputTerminal1.DataChanged += InputTerminalOnDataChanged;
            _inputTerminal2.DataChanged += InputTerminalOnDataChanged;
        }
示例#3
0
        protected override void SetupNode(NodeSetup setup)
        {
            setup.NodeSize(30, 30);
            setup.NodeName("And");
            _inputTerminal1 = setup.InputTerminal <bool>("A", Direction.North);
            _inputTerminal2 = setup.InputTerminal <bool>("B", Direction.North);
            _outputTerminal = setup.OutputTerminal <bool>("A ^ B", Direction.South);

            _inputTerminal1.DataChanged += InputTerminalOnDataChanged;
            _inputTerminal2.DataChanged += InputTerminalOnDataChanged;
        }
示例#4
0
        private void SyncTerminalForInput(TypedTerminal <object> terminal, DiagramInputNode inputNode)
        {
            if (terminal == null)
            {
                terminal = _nodeSetup.InputTerminal <object>(inputNode.Name, Direction.North);
                _ioNodeIdToTerminalViewModel.Add(inputNode.Model.Id, terminal.UnderlyingTerminal);
            }

            _inputNodeToTerminal.Add(inputNode, terminal);
            terminal.DataChanged += ValidateDiagramReference;
            terminal.DataChanged += inputNode.TerminalDataChanged;
        }
示例#5
0
        private void SyncTerminalForOutput(TypedTerminal <object> terminal, DiagramOutputNode outputNode)
        {
            if (terminal == null)
            {
                terminal = _nodeSetup.OutputTerminal <object>(outputNode.Name, Direction.South);
                _ioNodeIdToTerminalViewModel.Add(outputNode.Model.Id, terminal.UnderlyingTerminal);
            }

            _outputNodeToTerminal.Add(outputNode, terminal);
            outputNode.DataChanged += ValidateDiagramReference;
            outputNode.DataChanged += terminal.ChangeTerminalData;
            terminal.Data           = outputNode.InputTerminal.Data;
        }
示例#6
0
 public void TestChangeTerminalData_SetsTerminalData()
 {
     var terminal = new TypedTerminal<string>(_terminalViewModel);
     terminal.ChangeTerminalData("Hello");
     Assert.AreEqual(terminal.Data, "Hello");
 }
示例#7
0
 public void TestSetData_UnderlyingTerminalViewModelDataNullStringSet()
 {
     _terminalViewModel.Data = null;
     var terminal = new TypedTerminal<string>(_terminalViewModel);
     Assert.IsNull(terminal.Data);
 }
示例#8
0
 public void TestSetData_UnderlyingTerminalViewModelDataNullIntSet()
 {
     _terminalViewModel.Data = null;
     var terminal = new TypedTerminal<int>(_terminalViewModel);
     Assert.AreEqual(terminal.Data, 0);
 }
示例#9
0
 public void TestInitialize()
 {
     _terminalModel = new TerminalModel("", typeof(int), Direction.North, TerminalKind.Input, 0);
     _terminalViewModel = new Terminal(_terminalModel);
     _terminal = new TypedTerminal<int>(_terminalViewModel);
 }
示例#10
0
 protected override void SetupNode(NodeSetup setup)
 {
     setup.NodeSize(30, 30);
     setup.NodeName("Input");
     OutputTerminal = setup.OutputTerminal <object>("Data out", Direction.South);
 }
示例#11
0
 protected override void SetupNode(NodeSetup setup)
 {
     setup.NodeSize(30, 30);
     setup.NodeName("Button");
     _outputTerminal = setup.OutputTerminal <bool>("Trigger", Direction.South);
 }