public void MouseRightClick(NodeDotViewModel node) { if (SelectedNode != null) { switch (MainViewModel.ActionControlVM.ModeStatus) { case ModeType.EdgeAdd: if (NodePixels.Where(x => x.ID == SelectedNode.ID).Single().ConnectedNodes.Where(y => y.ID == node.ID).Count() == 0) { //SelectedNode.ConnectedNodes.Add(node); NodePixels.Where(x => x.ID == SelectedNode.ID).Single().ConnectedNodes.Add(node); } break; case ModeType.EdgeDel: NodePixels.Where(x => x.ID == node.ID).Single().ConnectedNodes.Remove(node); SelectedNode.ConnectedNodes.Remove(node); RaisePropertyChanged(nameof(NodePixels)); RaisePropertyChanged(nameof(EdgePixels)); //SelectedNode.ConnectedNodes.Where(x => x.ID == node.ID).Select(x => SelectedNode.ConnectedNodes.Remove(x)); //NodePixels.Where(x => x.ID == node.ID).Select(x => NodePixels.Remove(x)); break; } RaisePropertyChanged(nameof(EdgePixels)); } }
public void WorkSpaceClick(NodeDotViewModel node, double posX, double posY) { double px = posX - (posX % 8); double py = posY - (posY % 8); px = px < 0 ? 0 : px; py = py < 0 ? 0 : py; NodeDotViewModel t = new NodeDotViewModel() { X = px, Y = py, ID = Guid.NewGuid().ToString(), Type = Model.NodeType.Normal, Margin = new Thickness(px, py, 0, 0), Floor = MainViewModel.ActionControlVM.FloorString, Map = MainViewModel.ActionControlVM.MapString, IsUse = "1", }; t.Text = t.ID; switch (MainViewModel.ActionControlVM.ModeStatus) { case ModeType.EdgeAdd: break; case ModeType.EdgeDel: break; case ModeType.NodeDelete: if (NodePixels.Where(x => x.ID == node.ID).Count() == 1) { NodePixels.Remove(NodePixels.Where(x => x.ID == node.ID).Single()); } break; } }
public void WorkSpaceDoubleClick(double posX, double posY) { double px = posX - (posX % 8); double py = posY - (posY % 8); px = px < 0 ? 0 : px; py = py < 0 ? 0 : py; NodeDotViewModel t = new NodeDotViewModel() { X = px, Y = py, ID = Guid.NewGuid().ToString(), Type = Model.NodeType.Normal, Margin = new Thickness(px, py, 0, 0), Floor = MainViewModel.ActionControlVM.FloorString, Map = MainViewModel.ActionControlVM.MapString, IsUse = "1", }; t.Text = t.ID; switch (MainViewModel.ActionControlVM.ModeStatus) { case ModeType.NodeElevator: t.Type = NodeType.Elevator; if (NodePixels.Select(x => x).Where(y => y.ID == t.ID).Count() == 0) { NodePixels.Add(t); } break; case ModeType.NodeEscalator: t.Type = NodeType.Escalator; if (NodePixels.Select(x => x).Where(y => y.ID == t.ID).Count() == 0) { NodePixels.Add(t); } break; case ModeType.NodeFacility: t.Type = NodeType.Facility; if (NodePixels.Select(x => x).Where(y => y.ID == t.ID).Count() == 0) { NodePixels.Add(t); } break; case ModeType.NodeKiosk: t.Type = NodeType.Kiosk; if (NodePixels.Select(x => x).Where(y => y.ID == t.ID).Count() == 0) { NodePixels.Add(t); } break; case ModeType.NodeLegend: t.Type = NodeType.Legend; if (NodePixels.Select(x => x).Where(y => y.ID == t.ID).Count() == 0) { NodePixels.Add(t); } break; case ModeType.NodeNormal: t.Type = NodeType.Normal; if (NodePixels.Select(x => x).Where(y => y.ID == t.ID).Count() == 0) { NodePixels.Add(t); } break; case ModeType.NodeStairs: t.Type = NodeType.Stairs; if (NodePixels.Select(x => x).Where(y => y.ID == t.ID).Count() == 0) { NodePixels.Add(t); } break; } }