private void ImportTextBlocks() { if (SelectedPageViewModel == null) { return; } var openFileDialog = new OpenFileDialog() { Filter = "JSON файлы (*.json) | *.json" }; var res = openFileDialog.ShowDialog(); if (res != true) { return; } List <TextBlock> textBlocks; try { var fileContent = File.ReadAllText(openFileDialog.FileName); textBlocks = JsonConvert.DeserializeObject <List <TextBlock> >(fileContent); } catch { MessageBox.Show("Ошибка чтения файла"); return; } UndoRedoStack.ExecuteNewCommand(new ChangeTextBlockListCommand(SelectedPageViewModel, textBlocks)); }
private void EditTextBlockAtBlank() { if (SelectedPageViewModel == null) { return; } if (SelectedTextBlock == null) { return; } var viewModel = new CreateEditNameForTextBlockDialogViewModel("Редактирование текста", SelectedTextBlock.Text); var newName = viewModel.Show(); if (string.IsNullOrEmpty(newName)) { return; } var textBlocks = new List <TextBlock>(); foreach (var textBlock in SelectedPageViewModel.TextBlocks) { var text = textBlock == SelectedTextBlock ? newName : textBlock.Text; textBlocks.Add(new TextBlock(text, textBlock.X, textBlock.Y)); } UndoRedoStack.ExecuteNewCommand(new ChangeTextBlockListCommand(SelectedPageViewModel, textBlocks)); }
private void DeleteTextBlockFromBlank() { if (SelectedPageViewModel == null) { return; } if (SelectedTextBlock == null) { return; } var textBlocks = SelectedPageViewModel.TextBlocks.ToList(); textBlocks.Remove(SelectedTextBlock); UndoRedoStack.ExecuteNewCommand(new ChangeTextBlockListCommand(SelectedPageViewModel, textBlocks)); }
public void PointSelected(double x, double y) { SelectPointMode = false; if (SelectedPageViewModel == null) { return; } var viewModel = new CreateEditNameForTextBlockDialogViewModel("Добавление текста", ""); var name = viewModel.Show(); if (string.IsNullOrEmpty(name)) { return; } x -= 2; y -= 5; var textBlocks = SelectedPageViewModel.TextBlocks.Select(i => (TextBlock)i.Clone()).ToList(); textBlocks.Add(new TextBlock(name, (int)x, (int)y)); UndoRedoStack.ExecuteNewCommand(new ChangeTextBlockListCommand(SelectedPageViewModel, textBlocks)); }