норм
This commit is contained in:
parent
af9466c0a6
commit
ad2025c52b
2 changed files with 47 additions and 14 deletions
|
|
@ -1,13 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
|
||||
x:Class="NotesDataAnalyst.GraphPage"
|
||||
Title="GraphPage">
|
||||
|
||||
<ContentPage.ToolbarItems>
|
||||
<ToolbarItem Text="Add Node" Clicked="OnAddNodeClicked"/>
|
||||
<ToolbarItem Text="Добавить дочернюю" Clicked="OnChildClicked"/>
|
||||
<ToolbarItem Text="Изменить размер" Clicked="OnResizeNodeClicked" />
|
||||
</ContentPage.ToolbarItems>
|
||||
|
||||
<ContentPage.Content>
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue