Ejemplo n.º 1
0
        public NodCanvasViewModel CreateFromNodModelBase(NodKlassModel n)
        {
            NodCanvasViewModel nkvm = NodCanvasViewModel.CopyNodKlassToNew(n, this);

            Add(nkvm);

            return(nkvm);
        }
Ejemplo n.º 2
0
        public NodKlassViewModel(NodKlassModel nkm, KlassViewModel kvm, NodKlassRepository knp)
        {
            NodKlassModel         = nkm;
            nkm.NodKlassViewModel = this;

            NodKlassRepository = knp;
            KlassViewModel     = kvm;
        }
Ejemplo n.º 3
0
        public static NodCanvasViewModel CopyNodKlassToNew(NodKlassModel nkm, NodCanvasRepository ncr)
        {
            NodCanvasModel     newNcm  = NodCanvasModel.CopyNod(nkm);
            NodCanvasViewModel newNcvm = new NodCanvasViewModel()
            {
                NodCanvasRepository = ncr,
                NodCanvasModel      = newNcm
            };

            return(newNcvm);
        }
Ejemplo n.º 4
0
        public void Select()
        {
            if (!IsSelected())
            {
                LinjeModel.IsSelected = true;
                LinjeRepository.IncreaseSelected();

                if (!LinjeModel.Nod1.IsSelected)
                {
                    if (LinjeModel.Nod1.LinjeListModel.Count == 1 || LinjeModel.Nod1.LinjeListModel.AllIsSelected())
                    {
                        if (LinjeModel.Nod1 is NodCanvasModel)
                        {
                            NodCanvasModel n = LinjeModel.Nod1 as NodCanvasModel;
                            n.NodCanvasViewModel.Select();
                        }
                        else
                        {
                            NodKlassModel n = LinjeModel.Nod1 as NodKlassModel;
                            n.NodKlassViewModel.Select();
                        }
                    }
                }

                if (!LinjeModel.Nod2.IsSelected)
                {
                    if (LinjeModel.Nod2.LinjeListModel.Count == 1 || LinjeModel.Nod2.LinjeListModel.AllIsSelected())
                    {
                        if (LinjeModel.Nod2 is NodCanvasModel)
                        {
                            NodCanvasModel n = LinjeModel.Nod2 as NodCanvasModel;
                            n.NodCanvasViewModel.Select();
                        }
                        else
                        {
                            NodKlassModel n = LinjeModel.Nod2 as NodKlassModel;
                            n.NodKlassViewModel.Select();
                        }
                    }
                }
            }
        }
Ejemplo n.º 5
0
        public void Delete()
        {
            if (LinjeModel.Nod1 is NodKlassModel && LinjeModel.Nod1.IsSelected)
            {
                NodKlassModel n = LinjeModel.Nod1 as NodKlassModel;
                n.NodKlassViewModel.UnSet();
            }

            if (LinjeModel.Nod2 is NodKlassModel && LinjeModel.Nod2.IsSelected)
            {
                NodKlassModel n = LinjeModel.Nod2 as NodKlassModel;
                n.NodKlassViewModel.UnSet();
            }

            LinjeModel.Nod1.LinjeListModel.Remove(LinjeModel);
            LinjeModel.Nod2.LinjeListModel.Remove(LinjeModel);

            Deselect();
            LinjeRepository.Remove(this);
        }
Ejemplo n.º 6
0
        public void DeselectLinesOfNod(ref List <NodModelBase> nmbList)
        {
            List <LinjeModel> selectedLinjerList = new List <LinjeModel>();

            /* Deselekterar alla linjer som hör till noden */
            foreach (NodModelBase n in nmbList)
            {
                foreach (LinjeModel l in n.LinjeListModel)
                {
                    Deselect(l);
                    selectedLinjerList.Add(l);
                }
            }

            foreach (LinjeModel li in selectedLinjerList)
            {
                if (!li.Nod1.IsSelected && !li.Nod2.IsSelected)
                {
                    continue;
                }

                else if (li.Nod1.IsSelected)
                {
                    bool shouldNodBeSelected = false;

                    foreach (LinjeModel lm in li.Nod1.LinjeListModel)
                    {
                        if (lm.IsSelected)
                        {
                            shouldNodBeSelected = true;
                            break;
                        }
                    }

                    if (!shouldNodBeSelected)
                    {
                        if (li.Nod1 is NodCanvasModel)
                        {
                            Deselect(li.Nod1 as NodCanvasModel);
                        }
                        else
                        {
                            NodKlassModel n = li.Nod1 as NodKlassModel;
                            n.NodKlassViewModel.Deselect();
                        }
                    }
                }

                else
                {
                    bool shouldNodBeSelected = false;

                    foreach (LinjeModel lm in li.Nod2.LinjeListModel)
                    {
                        if (lm.IsSelected)
                        {
                            shouldNodBeSelected = true;
                            break;
                        }
                    }

                    if (!shouldNodBeSelected)
                    {
                        if (li.Nod2 is NodCanvasModel)
                        {
                            Deselect(li.Nod2 as NodCanvasModel);
                        }
                        else
                        {
                            NodKlassModel n = li.Nod2 as NodKlassModel;
                            n.NodKlassViewModel.Deselect();
                        }
                    }
                }
            }
        }