public VariableHoster(VirtualControl host, ref VariableItem variable) { if (host != null) { Host = host; } Style = (Style)FindResource("VariableHoster"); _item = variable; Loaded += (t, y) => { var tb = (TextBlock)Template.FindName("VarName", this); var icon = (Border)Template.FindName("Icon", this); BuildIcons(_item.Type); CaptureMouse(); Move(); tb.Text = _item.Name; _ib.ImageSource = new BitmapImage( new Uri(_icon)); icon.Background = _ib; _positioner.Tick += (c, e) => Move(); _positioner.Interval = new TimeSpan(0); _positioner.Start(); }; MouseLeftButtonUp += VariableHoster_PreviewMouseUp; PreviewMouseMove += VariableHoster_PreviewMouseMove; }
private void RenameNodes(ref VariableItem item) { foreach (var node in Host.Nodes) { if (item.DsOfNodes.Contains(node.Id)) { if (node.Types == NodeTypes.VariableGet) { node.OutputPorts[0].Text = "Return " + item.Name; } else if (node.Types == NodeTypes.VariableSet) { node.InputPorts[0].Text = item.Name; var get = node as Get; get?.Update(item.Name); } } } foreach (var nodeItem in item.NodesTreeItems) { if (nodeItem.NodeName.Contains("Set ")) { nodeItem.NodeName = "Set " + item.Name; } else { nodeItem.NodeName = "Get " + item.Name; } } }
private void Add_Click(object sender, RoutedEventArgs e) { var item = new VariableItem(""); _variables.Add(item); _backupVariables.Add(item); var i = Host.NodesTree.VariablesTreeRootIndex(); var getItem = new NodeItem("", "Get " + item.Name, new Get(Host, item, false)); item.Gets--; var setItem = new NodeItem("", "Set " + item.Name, new Set(Host, item, false)); item.Sets--; item.NodesTreeItems.Add(getItem); item.NodesTreeItems.Add(setItem); if (i > -1) { Host.NodesTree.Roots[i].Nodes.Add(getItem); Host.NodesTree.Roots[i].Nodes.Add(setItem); } _variableName.Focus(); }