private void InsertMove(RawEntity2D rawEntity2D) { /* * in pratica ora , creo il viewModel poi inserisco. * * sarebbe più chiaro avere il model , inserirlo li poi riaggirnare parteViewModel */ RawItemViewModel precMove = null; var entityToInsert = GetViewModel(rawEntity2D); if (SelectedMoveViewModel == null) { precMove = MoveListViewModels.LastOrDefault(); MoveListViewModels.Add(entityToInsert); } else { precMove = MoveListViewModels.ElementAtOrDefault(MoveListViewModels.IndexOf(SelectedMoveViewModel)); MoveListViewModels.Insert(MoveListViewModels.IndexOf(SelectedMoveViewModel) + 1, entityToInsert); } InitEntity(rawEntity2D, precMove.RawEntity); SelectedMoveViewModel = entityToInsert; RequestUpdateSource(); }
private void DelEntity() { if (SelectedMoveViewModel == null) { return; } var index = MoveListViewModels.IndexOf(SelectedMoveViewModel); /* * non cancello punto iniziale ! */ if (SelectedMoveViewModel is RawInitPointViewModel) { return; } MoveListViewModels.Remove(SelectedMoveViewModel); OnPropertyChanged("MoveListViewModels"); index--; var nextFocused = MoveListViewModels.ElementAtOrDefault(index); SelectedMoveViewModel = nextFocused; }
///// <summary> ///// Obsolete ///// </summary> ///// <param name="moveList"></param> ///// <param name="workViewModel"></param> ///// <param name="axisSystem"></param> //public ProfileEditorViewModel(IEnumerable<RawEntity2D> moveList, EditWorkViewModel workViewModel, AxisSystem axisSystem) // : base("Input Profilo", workViewModel) //{ // //_workViewModel = workViewModel; // _axisSystem = axisSystem; // MoveListViewModels = new ObservableCollection<RawEntityViewModel>(); // foreach (var rawEntity2D in moveList) // { // MoveListViewModels.Add(new RawEntityViewModel(rawEntity2D)); // } // SelectedMoveViewModel = MoveListViewModels.LastOrDefault(); // UpdatePreview(); // UpdateMoveListOrientation(); //} public List <RawEntity2D> GetProfile() { /*Richiamarlo ad ogni cambio è un po eccessivo ..*/ // todo : richiamarlo anche su ok dialogo var rslt = MoveListViewModels.Select(rawEntityViewModel => rawEntityViewModel.RawEntity).ToList(); return(rslt); }
private void GotoPrevMove() { if (SelectedMoveViewModel == MoveListViewModels.First()) { return; } var index = MoveListViewModels.IndexOf(SelectedMoveViewModel); index--; if (index < 0) { return; } SelectedMoveViewModel = MoveListViewModels[index]; }
private void GotoNextMove() { if (SelectedMoveViewModel == MoveListViewModels.Last()) { return; } var index = MoveListViewModels.IndexOf(SelectedMoveViewModel); index++; if (index > MoveListViewModels.Count) { return; } SelectedMoveViewModel = MoveListViewModels[index]; }