public void SelectNode(NodeConfiguration selectedNode) { NodeConfiguration originalSelectedNode = SelectedNode; NodeSelectingEventArgs nodeSelectingEventArgs = new NodeSelectingEventArgs(originalSelectedNode, selectedNode); NodeSelecting(this, nodeSelectingEventArgs); if (nodeSelectingEventArgs.IsCancelled) { return; } if (selectedNode is ActionNodeConfiguration) { propertiesContainer.Child = new NodePropertiesEditors.ActionNodePropertiesEditor((ActionNodeConfiguration)selectedNode, this); } else if (selectedNode is CbrNodeConfiguration) { propertiesContainer.Child = new NodePropertiesEditors.CbrNodePropertiesEditor((CbrNodeConfiguration)selectedNode, this); } else if (selectedNode is TerminatorNodeConfiguration) { propertiesContainer.Child = new NodePropertiesEditors.TerminatorNodePropertiesEditor((TerminatorNodeConfiguration)selectedNode, this); } else if (selectedNode is EntryNodeConfiguration) { propertiesContainer.Child = new NodePropertiesEditors.EntryNodePropertiesEditor((EntryNodeConfiguration)selectedNode, this); } else { propertiesContainer.Child = null; } SelectedNode = selectedNode; NodeSelectedEventArgs nodeSelectedEventArgs = new NodeSelectedEventArgs(originalSelectedNode, selectedNode); NodeSelected(this, nodeSelectedEventArgs); }
private void SelectNode(object sender, NodeSelectingEventArgs e) { e.IsCancelled = true; uiSelect.IsChecked = false; selectionManger.NodeSelecting -= SelectNode; selectionManger.MessageflowGraphPresenter.HighlightNodes(); targetSetter(e.NewSelectedNode); selectionManger.MessageflowGraphPresenter.RaiseGraphChanged(); selectionManger.MessageflowGraphPresenter.HighlightNodes(source, targetGetter()); ThreadUtils.InvokeLater(TimeSpan.FromSeconds(0.5), delegate { selectionManger.MessageflowGraphPresenter.HighlightNodes(); }); }