From 96dd9bfa17ec996f1db8433287c63f0e927c70c8 Mon Sep 17 00:00:00 2001 From: Daniele Bariletti Date: Wed, 10 Jan 2024 18:20:13 +0100 Subject: [PATCH] - migliorata selzione dei part dal tree. --- MyVeinMatch/VeinMatchingTree.xaml.vb | 40 +++++++++++++++----------- MyVeinMatch/VeinMatchingWindow.xaml | 2 +- MyVeinMatch/VeinMatchingWindow.xaml.vb | 2 +- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/MyVeinMatch/VeinMatchingTree.xaml.vb b/MyVeinMatch/VeinMatchingTree.xaml.vb index 95293d2..7a7ac43 100644 --- a/MyVeinMatch/VeinMatchingTree.xaml.vb +++ b/MyVeinMatch/VeinMatchingTree.xaml.vb @@ -57,30 +57,36 @@ Public Class VeinMatchingTree Private Sub OnTVSelectedItemChanged(sender As Object, e As RoutedPropertyChangedEventArgs(Of Object)) If (Keyboard.Modifiers And ModifierKeys.Shift) > 0 Then - ' prima deseleziono tutto - m_RefVeinMatchingWindow.DeselectAll() 'C# 'MyTextBlock.Text = ( (TreeViewItem) ( (TreeView) sender ).SelectedItem ).Header.ToString() - 'Dim nPartId As Integer = CInt(Val(New Text.StringBuilder((From ch In tItem.Header.ToString.ToCharArray Where IsNumeric(ch)).ToArray).ToString)) + SelectInVeinMatchScene() - Dim tItem As TreeViewItem = CType(PartInScene.SelectedItem, TreeViewItem) - If IsNothing(tItem) Then Return - Dim nPartId As Integer = -1 - Dim sNamePart As String = String.Empty - GetStackPanelTextFromTreeView(tItem, nPartId, sNamePart) - - EgtSetCurrentContext(m_RefVeinMatchingWindow.VeinMatchingScene.GetCtx()) - For Each PartSolidSel In m_RefVeinMatchingWindow.m_PartSolidList - If PartSolidSel.PartId = nPartId Then - PartSolidSel.SelectPart() - End If - Next - EgtDraw() End If End Sub - Public Sub changedItem() Handles PartInScene.MouseDoubleClick + Public Sub HighlightItem() Handles PartInScene.MouseDoubleClick + SelectInVeinMatchScene() + End Sub + Private Sub SelectInVeinMatchScene() + ' prima deseleziono tutto + m_RefVeinMatchingWindow.DeselectAll() + + 'Dim nPartId As Integer = CInt(Val(New Text.StringBuilder((From ch In tItem.Header.ToString.ToCharArray Where IsNumeric(ch)).ToArray).ToString)) + + Dim tItem As TreeViewItem = CType(PartInScene.SelectedItem, TreeViewItem) + If IsNothing(tItem) Then Return + Dim nPartId As Integer = -1 + Dim sNamePart As String = String.Empty + GetStackPanelTextFromTreeView(tItem, nPartId, sNamePart) + + EgtSetCurrentContext(m_RefVeinMatchingWindow.VeinMatchingScene.GetCtx()) + For Each PartSolidSel In m_RefVeinMatchingWindow.m_PartSolidList + If PartSolidSel.PartId = nPartId Then + PartSolidSel.SelectPart() + End If + Next + EgtDraw() End Sub End Class diff --git a/MyVeinMatch/VeinMatchingWindow.xaml b/MyVeinMatch/VeinMatchingWindow.xaml index aecfd11..94454aa 100644 --- a/MyVeinMatch/VeinMatchingWindow.xaml +++ b/MyVeinMatch/VeinMatchingWindow.xaml @@ -176,7 +176,7 @@ Margin="1,5,1,0" Content="🔫" ToolTip="Attiva/Conferma Accoppiamento"/> -