diff --git a/CadCuts/CadCutPageUC.xaml.vb b/CadCuts/CadCutPageUC.xaml.vb index 557a6f3..8719109 100644 --- a/CadCuts/CadCutPageUC.xaml.vb +++ b/CadCuts/CadCutPageUC.xaml.vb @@ -196,7 +196,7 @@ Public Class CadCutPageUC m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False EgtDeselectObj(m_NestPage.m_CurrSelectedCurv) m_ProjectMgr.TestBtn.IsChecked = False - m_CurrProjPage.m_bSelectCurv = False + m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False Select Case m_CadCutMode Case CadCutModes.Nest, CadCutModes.FastGrid ' Passo alla pagina Split diff --git a/CadCuts/NestPageUC.xaml.vb b/CadCuts/NestPageUC.xaml.vb index c06ecc5..dfa6b68 100644 --- a/CadCuts/NestPageUC.xaml.vb +++ b/CadCuts/NestPageUC.xaml.vb @@ -6,12 +6,15 @@ Public Class NestPageUC ' Riferimento alla MainWindow Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow) Private WithEvents m_CurrProjPage As CurrentProjectPageUC + Private Event OnMouseDownSceneSelCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs) ' Flag di pagina attiva Private m_bActive As Boolean = False ' Flag per modalità nesting standard o registrazione posizione lastra Friend m_bRegister As Boolean = False ' Flag per pezzi selezionati in tavola o fuori Private m_nPartPos As Integer = PART_POS.NONE_TABLE + ' Flag per impostata per selezionare di una curva + Friend m_bSelectCurv As Boolean = False Friend m_CurrSelectedCurv As Integer = GDB_ID.NULL Friend m_CurrSelectedSawCurv As Integer = GDB_ID.NULL @@ -124,14 +127,16 @@ Public Class NestPageUC End If End Sub - Private Sub OnMyMouseDownSceneSelCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownSceneSelCurv + Private Sub OnMyMouseDownSceneSelCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.OnMouseDownSceneSelCurv ' Verifico di essere il gestore attivo e non in modalità registrazione If Not m_bActive Or m_bRegister Then Return ' Si può selezionare solo con il tasto sinistro e se il bottone TEST Attivo If e.Button <> Windows.Forms.MouseButtons.Left Or - Not m_CurrProjPage.m_bSelectCurv Then + Not m_bSelectCurv Then Return End If + ' Se esiste un elemento selezionato + EgtResetMark(m_CurrSelectedSawCurv) ' provo a riconoscere il valore medio del segmento ' Verifico se selezionato indicativo di pezzo EgtSetObjFilterForSelWin(False, True, False, False, False) @@ -164,6 +169,7 @@ Public Class NestPageUC m_CurrSelectedSawCurv = nIdSaw m_CurrSelectedCurv = nIdMy EgtSelectObj(nIdSaw) + EgtSetMark(nIdSaw) EgtSelectObj(nIdMy) EgtDraw() Exit While @@ -184,6 +190,12 @@ Public Class NestPageUC Not m_CurrProjPage.CurrentProjectScene.IsStatusNull() Then Return End If + ' se in modalità slezione tagli + If m_bSelectCurv Then + RaiseEvent OnMouseDownSceneSelCurv(sender, e) + Return + End If + ' Per default no drag m_bDrag = False ' Verifico se selezionato indicativo di pezzo @@ -402,6 +414,8 @@ Public Class NestPageUC Private Sub OnMyMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseUpScene ' Verifico di essere il gestore attivo If Not m_bActive Then Return + ' verifico che non sia attivo il comando Test + If m_bSelectCurv Then Return ' Se eseguito drag If Not m_bDragToStart Then ' Se movimento con sola verifica finale diff --git a/MainWindow.xaml.vb b/MainWindow.xaml.vb index d5b7adf..6cab992 100644 --- a/MainWindow.xaml.vb +++ b/MainWindow.xaml.vb @@ -323,8 +323,8 @@ Class MainWindow ' Verifico abilitazione nesting automatico m_bAutoNest = Not String.IsNullOrWhiteSpace(sNestKey) ' Recupero opzioni della chiave - Dim bKey As Boolean = EgtGetKeyLevel(9423, 2312, 1, m_nKeyLevel) And - EgtGetKeyOptions(9423, 2312, 1, m_nKeyOptions) + Dim bKey As Boolean = EgtGetKeyLevel(9423, 2401, 1, m_nKeyLevel) And + EgtGetKeyOptions(9423, 2401, 1, m_nKeyOptions) ' Verifico abilitazione prodotto Dim bProd As Boolean = GetKeyOption(KEY_OPT.CUT_BASE) ' Inizializzazione generale di EgtInterface @@ -1885,8 +1885,9 @@ Class MainWindow ' deseleziono gli oggetti e spengo il bottone EgtDeselectObj(m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv) EgtDeselectObj(m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv) + EgtResetMark(m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv) m_CadCutPageUC.m_ProjectMgr.TestBtn.IsChecked = False - m_CurrentProjectPageUC.m_bSelectCurv = False + Me.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False End Sub End Class \ No newline at end of file diff --git a/Project/CurrentProjectPageUC.xaml.vb b/Project/CurrentProjectPageUC.xaml.vb index 8a296d7..c58bb18 100644 --- a/Project/CurrentProjectPageUC.xaml.vb +++ b/Project/CurrentProjectPageUC.xaml.vb @@ -6,7 +6,6 @@ Imports EgtWPFLib5 Public Class CurrentProjectPageUC ' Dichiarazione eventi - Friend Event OnMouseDownSceneSelCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs) Friend Event OnMouseDownScene(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) @@ -24,8 +23,8 @@ Public Class CurrentProjectPageUC ' Dati del grezzo Friend m_nRawId As Integer = GDB_ID.NULL Friend m_dRawHeight As Double - ' pagina impostata per selezionare una lavorazione - Friend m_bSelectCurv As Boolean = False + '' Flag per impostata per selezionare di una curva + 'Friend m_bSelectCurv As Boolean = False ' Costanti tipo progetto Friend Enum PRJ_TYPE As Integer EMPTY = 0 @@ -328,12 +327,7 @@ Public Class CurrentProjectPageUC End Sub Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.OnMouseDownScene - If m_bSelectCurv Then - RaiseEvent OnMouseDownSceneSelCurv(sender, e) - Else - RaiseEvent OnMouseDownScene(sender, e) - End If - + RaiseEvent OnMouseDownScene(sender, e) End Sub Private Sub OnMyMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.OnMouseMoveScene diff --git a/Project/ProjectMgrUC.xaml.vb b/Project/ProjectMgrUC.xaml.vb index febf005..3bc29ef 100644 --- a/Project/ProjectMgrUC.xaml.vb +++ b/Project/ProjectMgrUC.xaml.vb @@ -276,7 +276,7 @@ Public Class ProjectMgrUC m_CurrProjPage.SetWarningMessage("Trial Version") #Else ' se sono in modalità Test allora eseguo solo il posizionamento della lama - If m_CurrProjPage.m_bSelectCurv Then + If m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv Then ' Verifico non sia versione Ufficio If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.OFFICE_TYPE) Then m_CurrProjPage.SetWarningMessage("Office Version") @@ -336,7 +336,7 @@ Public Class ProjectMgrUC ' verifica assi lineari EgtVerifyOutstroke(dX, dY, dZ, dC1, dB1, nStat) If nStat <> 0 Then - vtDirT = - vtDirT + vtDirT = -vtDirT ptMid -= vtDirT * dThick EgtGetCalcAngles(vtDirT, Vector3d.Z_AX(), nStat, dC1, dB1, dC2, dB2) ' calcolo la posizione degli assi lineari X, Y, Z ( correggere il punto ptMid.z sommando il raggio utensile) @@ -736,11 +736,11 @@ Public Class ProjectMgrUC Private Sub TestBtn_Click(sender As Object, e As RoutedEventArgs) Handles TestBtn.Click If TestBtn.IsChecked Then - m_CurrProjPage.m_bSelectCurv = True + m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv = True ' deseleziono tutto EgtDeselectAll() Else - m_CurrProjPage.m_bSelectCurv = False + m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False EgtDeselectObj(m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv) EgtDeselectObj(m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv) End If