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");
            }
        }
Esempio n. 2
0
 private void ClearButton_Click(object sender, RoutedEventArgs e)
 {
     SelectedBlocks.Clear();
     UpdateString();
 }
Esempio n. 3
0
 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();
 }