тест
This commit is contained in:
parent
6306915f5b
commit
befc30e196
1 changed files with 44 additions and 0 deletions
|
|
@ -10,6 +10,8 @@ namespace NotesDataAnalyst
|
||||||
private PointF _initialNodePosition; // Õðàíèò íà÷àëüíóþ ïîçèöèþ íîäû
|
private PointF _initialNodePosition; // Õðàíèò íà÷àëüíóþ ïîçèöèþ íîäû
|
||||||
private PointF _initialTouchPosition; // Õðàíèò íà÷àëüíóþ ïîçèöèþ êàñàíèÿ
|
private PointF _initialTouchPosition; // Õðàíèò íà÷àëüíóþ ïîçèöèþ êàñàíèÿ
|
||||||
private SizeF _initialNodeSize; // Õðàíèò íà÷àëüíûé ðàçìåð íîäû
|
private SizeF _initialNodeSize; // Õðàíèò íà÷àëüíûé ðàçìåð íîäû
|
||||||
|
private DateTime tapStartTime;
|
||||||
|
private const int longPressDuration = 3000; // 3 ñåêóíäû â ìèëëèñåêóíäàõ
|
||||||
|
|
||||||
private readonly List<GraphNode> _nodes = new();
|
private readonly List<GraphNode> _nodes = new();
|
||||||
private readonly List<GraphConnection> _connections = new();
|
private readonly List<GraphConnection> _connections = new();
|
||||||
|
|
@ -34,6 +36,48 @@ namespace NotesDataAnalyst
|
||||||
var tapGesture = new TapGestureRecognizer();
|
var tapGesture = new TapGestureRecognizer();
|
||||||
tapGesture.Tapped += OnCanvasTapped;
|
tapGesture.Tapped += OnCanvasTapped;
|
||||||
canvasView.GestureRecognizers.Add(tapGesture);
|
canvasView.GestureRecognizers.Add(tapGesture);
|
||||||
|
|
||||||
|
var tapGestureRecognizer = new TapGestureRecognizer();
|
||||||
|
tapGestureRecognizer.Tapped += OnTapped;
|
||||||
|
canvasView.GestureRecognizers.Add(tapGestureRecognizer);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void OnTapped(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
tapStartTime = DateTime.Now;
|
||||||
|
|
||||||
|
Device.StartTimer(TimeSpan.FromMilliseconds(longPressDuration), () =>
|
||||||
|
{
|
||||||
|
if ((DateTime.Now - tapStartTime).TotalMilliseconds >= longPressDuration)
|
||||||
|
{
|
||||||
|
// Çäåñü âûïîëíÿåòñÿ äåéñòâèå ïðè äëèòåëüíîì íàæàòèè
|
||||||
|
OnNodeLongPressed();
|
||||||
|
}
|
||||||
|
return false; // Îñòàíàâëèâàåì òàéìåð
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnNodeLongPressed()
|
||||||
|
{
|
||||||
|
if (_selectedNode != null)
|
||||||
|
{
|
||||||
|
// Äîáàâëÿåì äî÷åðíþþ íîäó ðÿäîì ñ àêòèâíîé
|
||||||
|
var childNode = new GraphNode
|
||||||
|
{
|
||||||
|
Text = "Äî÷åðíÿÿ íîäà",
|
||||||
|
Position = new Point(_selectedNode.Position.X + 50, _selectedNode.Position.Y + 50),
|
||||||
|
Size = new Size(150, 100)
|
||||||
|
};
|
||||||
|
|
||||||
|
_nodes.Add(childNode);
|
||||||
|
_connections.Add(new GraphConnection { FromNode = _selectedNode, ToNode = childNode });
|
||||||
|
|
||||||
|
canvasView.Invalidate(); // Ïåðåðèñîâûâàåì
|
||||||
|
}
|
||||||
|
|
||||||
|
// Çäåñü ðåàëèçóéòå äåéñòâèå ïðè äëèòåëüíîì íàæàòèè
|
||||||
|
// DisplayAlert("Äëèòåëüíîå íàæàòèå", "Âû íàæàëè è óäåðæèâàëè ýëåìåíò", "ÎÊ");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnNodeTapped(object sender, TappedEventArgs e)
|
private void OnNodeTapped(object sender, TappedEventArgs e)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue