private void DeleteSelection() { // Group everything as a single transaction, since it might delete multiple blocks, and it will also remove dependent links using (var transaction = editor.UndoRedoService.CreateTransaction()) { // Delete each selected link foreach (var link in SelectedLinks.ToArray()) { method.RemoveLink(link.ViewModel.Link); } // Delete each selected block foreach (var block in SelectedBlocks.ToArray()) { method.RemoveBlock(block.ViewModel.Block); } editor.UndoRedoService.SetName(transaction, "Deleting selected graph elements"); } }
private void ClearButton_Click(object sender, RoutedEventArgs e) { SelectedBlocks.Clear(); UpdateString(); }
private bool CheckSelection(TimetableBlock block) { return(SelectedBlocks.Contains(block)); }
private void SelectedBlocks_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { // Update selection editor.EditorProperties.UpdateTypeAndName(SelectedBlocks, x => "Block", x => x.ViewModel.Title, "blocks"); editor.EditorProperties.GenerateSelectionPropertiesAsync(SelectedBlocks.Select(x => x.ViewModel)).Forget(); }