Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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;
            }
        }