From 1b4d239202e971e4e72786d481be475201cc2c21 Mon Sep 17 00:00:00 2001 From: Nicola Pievani Date: Fri, 26 Jul 2024 14:30:35 +0200 Subject: [PATCH] OnOff lavorazioni elezione lavorazioni con DoppioClick --- CadCuts/SplitPageUC.xaml.vb | 69 ++++++++++++++++++++++++++-- Project/CurrentProjectPageUC.xaml.vb | 5 ++ 2 files changed, 69 insertions(+), 5 deletions(-) diff --git a/CadCuts/SplitPageUC.xaml.vb b/CadCuts/SplitPageUC.xaml.vb index 09f78fc..aabf014 100644 --- a/CadCuts/SplitPageUC.xaml.vb +++ b/CadCuts/SplitPageUC.xaml.vb @@ -61,6 +61,9 @@ Public Class SplitPageUC ' Abilita la mofica Inizio fine per i tagli interni sugli angoli Private m_StartEndModifyOnIntCorner As Boolean = False + Private m_IsCtrlKeyDown As Boolean = False + Private m_IsShiftKeyDown As Boolean = False + Private Sub SplitPageUC_Initialized(sender As Object, e As EventArgs) PrevBtn.IsEnabled = False ' Collego lista di oggetti a ListBox @@ -453,6 +456,24 @@ Public Class SplitPageUC #End Region ' Bridge + Private Sub OnMyMouseDownScene_DoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene_DoubleClick + If MachiningLsBx.SelectedItems.Count = 1 Then + OnMyMouseDownScene(sender, e) + Dim x As NameIdLsBxItem = DirectCast(MachiningLsBx.SelectedItems(0), NameIdLsBxItem) + Dim nI As Integer = x.Ind + If m_MachiningList(nI).m_bEnabled Then + m_MachiningList(nI).m_bEnabled = False + x.bIsActive = False + Else + m_MachiningList(nI).m_bEnabled = True + x.bIsActive = True + End If + ColorMachining(m_MachiningList(nI)) + ColorNumberArrow(nI) + EgtDraw() + End If + End Sub + Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene ' Verifico di essere il gestore attivo e non in modalità sola visualizzazione If Not m_bActive OrElse m_bShow Then Return @@ -733,6 +754,24 @@ Public Class SplitPageUC EgtDraw() End Sub + Private Sub MachiningLsBx_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles MachiningLsBx.MouseDoubleClick + If m_IsCtrlKeyDown Or m_IsShiftKeyDown Then Return + If MachiningLsBx.SelectedItems.Count = 1 Then + Dim x As NameIdLsBxItem = DirectCast(MachiningLsBx.SelectedItems(0), NameIdLsBxItem) + Dim nI As Integer = x.Ind + If m_MachiningList(nI).m_bEnabled Then + m_MachiningList(nI).m_bEnabled = False + x.bIsActive = False + Else + m_MachiningList(nI).m_bEnabled = True + x.bIsActive = True + End If + ColorMachining(m_MachiningList(nI)) + ColorNumberArrow(nI) + EgtDraw() + End If + End Sub + Private Sub MoveUpBtn_Click(sender As Object, e As RoutedEventArgs) Handles MoveUpBtn.Click MoveItem(-1) End Sub @@ -916,11 +955,31 @@ Public Class SplitPageUC EnableButtons() End Sub - ' ERRORE: questo evento non è eseguito! - Private Sub OnKeyDownScene(sender As Object, e As KeyEventArgs) - If e.Key = Key.Escape Then - ' se sono in fase di creazione di un ponticello interrompo - DeselectWJBridgesPart() + '' DA FARE: quando seleziono Esc devo togliere deselezionare tutte le enità! + 'Private Sub OnKeyDownScene(sender As Object, e As KeyEventArgs) Handles Me.KeyDown + ' If e.Key = Key.Escape Then + ' ' se sono in fase di creazione di un ponticello interrompo + ' DeselectWJBridgesPart() + ' EgtDeselectAll() + ' RemoveMarkAndNumbers() + ' End If + 'End Sub + + Private Sub MachiningLsBx_KeyDown(sender As Object, e As KeyEventArgs) Handles MachiningLsBx.KeyDown + If e.Key = Key.LeftCtrl Or e.Key = Key.RightCtrl Then + m_IsCtrlKeyDown = True + End If + If e.Key = Key.LeftShift Or e.Key = Key.RightShift Then + m_IsShiftKeyDown = True + End If + End Sub + + Private Sub MachiningLsBx_KeyUp(sender As Object, e As KeyEventArgs) Handles MachiningLsBx.KeyUp + If e.Key = Key.LeftCtrl Or e.Key = Key.RightCtrl Then + m_IsCtrlKeyDown = False + End If + If e.Key = Key.LeftShift Or e.Key = Key.RightShift Then + m_IsShiftKeyDown = False End If End Sub diff --git a/Project/CurrentProjectPageUC.xaml.vb b/Project/CurrentProjectPageUC.xaml.vb index 1ae2a2d..3097720 100644 --- a/Project/CurrentProjectPageUC.xaml.vb +++ b/Project/CurrentProjectPageUC.xaml.vb @@ -7,6 +7,7 @@ Imports EgtWPFLib5 Public Class CurrentProjectPageUC ' Dichiarazione eventi Friend Event OnMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) + Friend Event OnMouseDownScene_DoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Friend Event OnMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Friend Event OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) ' Riferimento alla MainWindow @@ -336,6 +337,10 @@ Public Class CurrentProjectPageUC RaiseEvent OnMouseDownScene(sender, e) End Sub + Private Sub OnMyMouseDownScene_DoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.MouseDoubleClick + RaiseEvent OnMouseDownScene_DoubleClick(sender, e) + End Sub + Private Sub OnMyMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.OnMouseMoveScene RaiseEvent OnMouseMoveScene(sender, e) End Sub