diff --git a/GraphPage.xaml b/GraphPage.xaml index e932dbc..8f96449 100644 --- a/GraphPage.xaml +++ b/GraphPage.xaml @@ -1,26 +1,26 @@ + - - - + + + - \ No newline at end of file + diff --git a/GraphPage.xaml.cs b/GraphPage.xaml.cs index 7345952..74ea456 100644 --- a/GraphPage.xaml.cs +++ b/GraphPage.xaml.cs @@ -29,14 +29,47 @@ namespace NotesDataAnalyst canvasView.GestureRecognizers.Add(tapGesture); } + private async void OnResizeNodeClicked(object sender, EventArgs e) + { + // Проверяем, выбрана ли нода + if (_selectedNode == null) + { + await DisplayAlert("Ошибка", "Сначала выберите ноду", "OK"); + return; + } + + // Открываем диалог для ввода новых размеров + var result = await DisplayPromptAsync("Изменить размер", "Введите ширину и высоту", + initialValue: $"{_selectedNode.Size.Width} x {_selectedNode.Size.Height}", + keyboard: Keyboard.Numeric); + + if (string.IsNullOrEmpty(result)) return; + + // Разбиваем введенное значение на ширину и высоту + var dimensions = result.Split('x'); + if (dimensions.Length == 2 && + double.TryParse(dimensions[0].Trim(), out double width) && + double.TryParse(dimensions[1].Trim(), out double height)) + { + // Обновляем размеры ноды + _selectedNode.Size = new Size(width, height); + canvasView.Invalidate(); // Перерисовываем канву + } + else + { + await DisplayAlert("Ошибка", "Неверный формат. Введите значения в формате ширина x высота.", "OK"); + } + } + + private async void OnAddNodeClicked(object sender, EventArgs e) { var newNode = new GraphNode { - Text = "Íîâàÿ íîäà", - Position = new Point(300, 200), - Size = new Size(200, 200), + Text = "Новая нода", + Position = new Point(100, 200), + Size = new Size(100, 50), };