public static ViewModelNode FromXElement(ViewModelNodesCanvas nodesCanvas, XElement node, out string errorMessage, Func <string, bool> actionForCheck) { errorMessage = null; ViewModelNode viewModelNode = null; string name = node.Attribute("Name")?.Value; if (string.IsNullOrEmpty(name)) { errorMessage = "Node without name"; return(viewModelNode); } if (actionForCheck(name)) { errorMessage = String.Format("Contains more than one node with name \"{0}\"", name); return(viewModelNode); } var position = node.Attribute("Position")?.Value; Point point = string.IsNullOrEmpty(position) ? new Point() : PointExtensition.StringToPoint(position); viewModelNode = new ViewModelNode(nodesCanvas, name, point); var isCollapse = node.Attribute("IsCollapse")?.Value; if (isCollapse != null) { viewModelNode.IsCollapse = bool.Parse(isCollapse); } return(viewModelNode); }
private void Initial(ViewModelNodesCanvas viewModelNodesCanvas, ViewModelConnector fromConnector) { NodesCanvas = viewModelNodesCanvas; FromConnector = fromConnector; FromConnector.Connect = this; this.EndPoint = fromConnector.PositionConnectPoint; }
public ViewModelCutter(ViewModelNodesCanvas nodesCanvas) { SetupCommands(); this.WhenAnyValue(x => x.NodesCanvas.Scale.Value).Subscribe(value => StrokeThickness = value); NodesCanvas = nodesCanvas; }
public ViewModelConnector(ViewModelNodesCanvas nodesCanvas, ViewModelNode viewModelNode, string name, Point myPoint) { Node = viewModelNode; NodesCanvas = nodesCanvas; Name = name; PositionConnectPoint = myPoint; SetupCommands(); SetupSubscriptions(); }
public ViewModelNode(ViewModelNodesCanvas nodesCanvas) { NodesCanvas = nodesCanvas; //this.WhenAnyValue(x=>x.Name).Subscribe() this.WhenAnyValue(x => x.Selected).Subscribe(value => { this.BorderBrush = value ? Brushes.Red : Brushes.LightGray; }); this.WhenAnyValue(x => x.Point1.Value, x => x.Size).Subscribe(_ => UpdatePoint2()); SetupConnectors(); SetupCommands(); }
public ViewModelNode(ViewModelNodesCanvas nodesCanvas, string name, Point point) { NodesCanvas = nodesCanvas; Name = name; Zindex = nodesCanvas.Nodes.Count; Point1 = point; SetupConnectors(); SetupCommands(); SetupBinding(); SetupSubscriptions(); }
public ViewModelMainWindow(ViewModelNodesCanvas viewModelNodesCanvas) { NodesCanvas = viewModelNodesCanvas; NodesCanvas.Nodes.Connect().TransformMany(x => x.Transitions).AutoRefresh(x => x.Name).Filter(x => Filter(x.Name)).Bind(Transitions).Subscribe(); bool Filter(string name) { return(!string.IsNullOrEmpty(name)); } SetupCommands(); SetupSubscriptions(); }
public ViewModelNode(ViewModelNodesCanvas nodesCanvas, string name, Point point) { NodesCanvas = nodesCanvas; Name = name; Zindex = nodesCanvas.Nodes.Count; Point1 = point; Transitions.Connect().ObserveOnDispatcher().Bind(TransitionsForView).Subscribe(); SetupConnectors(); SetupCommands(); SetupBinding(); SetupSubscriptions(); }
public static ViewModelConnect FromXElement(ViewModelNodesCanvas nodesCanvas, XElement node, out string errorMessage, Func <string, bool> actionForCheck) { ViewModelConnect viewModelConnect = null; errorMessage = null; string name = node.Attribute("Name")?.Value; string from = node.Attribute("From")?.Value; string to = node.Attribute("To")?.Value; if (string.IsNullOrEmpty(name)) { errorMessage = "Connect without name"; return(viewModelConnect); } if (string.IsNullOrEmpty(from)) { errorMessage = "Connect without from point"; return(viewModelConnect); } if (string.IsNullOrEmpty(to)) { errorMessage = "Connect without to point"; return(viewModelConnect); } if (actionForCheck(name)) { errorMessage = String.Format("Contains more than one connect with name \"{0}\"", name); return(viewModelConnect); } ViewModelNode nodeFrom = nodesCanvas.Nodes.Single(x => x.Name == from); ViewModelNode nodeTo = nodesCanvas.Nodes.Single(x => x.Name == to); nodeFrom.CurrentConnector.Name = name; if (nodeFrom == nodeTo) { nodeFrom.CurrentConnector.CommandSetAsLoop.ExecuteWithSubscribe(); } else { viewModelConnect = new ViewModelConnect(nodeFrom.NodesCanvas, nodeFrom.CurrentConnector); viewModelConnect.ToConnector = nodeTo.Input; nodeFrom.CommandAddEmptyConnector.ExecuteWithSubscribe(); } return(viewModelConnect); }
private void Initial(ViewModelNodesCanvas viewModelNodesCanvas, ViewModelConnector fromConnector) { NodesCanvas = viewModelNodesCanvas; FromConnector = fromConnector; FromConnector.Connect = this; }
public ViewModelConnect(ViewModelNodesCanvas viewModelNodesCanvas, ViewModelConnector fromConnector) { Initial(viewModelNodesCanvas, fromConnector); SetupSubscriptions(); }
public ViewModelMainWindow(ViewModelNodesCanvas viewModelNodesCanvas) { NodesCanvas = viewModelNodesCanvas; SetupCommands(); SetupSubscriptions(); }
public ViewModelConnector(ViewModelNodesCanvas nodesCanvas, ViewModelNode viewModelNode) { Node = viewModelNode; NodesCanvas = nodesCanvas; SetupCommands(); }
public ViewModelCutter(ViewModelNodesCanvas nodesCanvas) { NodesCanvas = nodesCanvas; SetupCommands(); SetupSubscriptions(); }