public NodCanvasViewModel CreateFromNodModelBase(NodKlassModel n) { NodCanvasViewModel nkvm = NodCanvasViewModel.CopyNodKlassToNew(n, this); Add(nkvm); return(nkvm); }
public NodKlassViewModel(NodKlassModel nkm, KlassViewModel kvm, NodKlassRepository knp) { NodKlassModel = nkm; nkm.NodKlassViewModel = this; NodKlassRepository = knp; KlassViewModel = kvm; }
public static NodCanvasViewModel CopyNodKlassToNew(NodKlassModel nkm, NodCanvasRepository ncr) { NodCanvasModel newNcm = NodCanvasModel.CopyNod(nkm); NodCanvasViewModel newNcvm = new NodCanvasViewModel() { NodCanvasRepository = ncr, NodCanvasModel = newNcm }; return(newNcvm); }
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(); } } } } }
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); }
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(); } } } } }