Compare commits

...

3 Commits

Author SHA1 Message Date
NicolaP 57cf143306 Gestioen Modifica Inizio/FIne da comandi 2022-01-17 18:38:28 +01:00
NicolaP a804043d2e Correzione gestione selezione lavorazioni 2022-01-13 19:42:00 +01:00
NicolaP 59865b140e Merge commit '959cbfb28bfec9c9b8013b700fe251a8084b6534' into Features/DB_WaterJet 2022-01-13 18:06:38 +01:00
3 changed files with 55 additions and 51 deletions
@@ -411,8 +411,13 @@ Public Class CompoParamPageVM
CompoWindowMap.refCompoSceneHostV.CompoScene,
SideEntityControlVM.ModeOpt.ENGRAVE)
SideEntityControl = New SideEntityControlV(m_SideEntityControlVM)
If m_SideEntityControlVM.SideEntityList.Count < 1 Then
' eventulmente stamnpare messaggio!
' OmagOFFICEMap.refStatusBarVM.ClearOutputMessage()
' OmagOFFICEMap.refStatusBarVM.SetOutputMessage("Lavorazioni non disponibile", MSG_TYPE.WARNING)
End If
Else
SideAngle_IsEnabled = True
SideAngle_IsEnabled = True
Drip_IsEnabled = OmagOFFICEMap.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.UNDER_CUT) And
Not String.IsNullOrWhiteSpace(CurrentMachine.sCurrDripSaw)
FiloTop_IsEnabled = True
+47 -50
View File
@@ -663,7 +663,7 @@ Public Class SplitModeVM
SplitModeIsEnabled = Not OmagOFFICEMap.refMachiningTabVM.IsShow
' nascondo i comandi che non devono essere visualizzati in funzione delle lavorazioni attive
If m_nCountSawing = 0 And (m_nCountWaterjetting > 0 Or m_nCountOtherMachining) Then
If m_nCountSawing = 0 And (m_nCountWaterjetting > 0 Or m_nCountOtherMachining > 0) Then
VisibilityButtonFromMachining(MCH_OY.WATERJETTING)
Else
VisibilityButtonFromMachining(MCH_OY.SAWING)
@@ -1718,13 +1718,22 @@ Public Class SplitModeVM
If Not ModifStartWindow.ShowDialog() Then Return
' Modifica della lavorazione
Dim dUsal As Double = ModifStartWindowVM.GetVal()
EgtSetCurrMachining(nOperId)
Dim dAddLen As Double = 0
EgtGetMachiningParam(MCH_MP.STARTADDLEN, dAddLen)
If dAddLen - dOrigUsal < -10 * EPS_SMALL Then Return
EgtSetMachiningParam(MCH_MP.STARTADDLEN, dAddLen + dUsal - dOrigUsal)
EgtSetInfo(nOperId, INFO_MCH_USER_SAL, dUsal)
UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
Dim bRepeat As Boolean = False
Do
EgtSetCurrMachining(nOperId)
Dim dAddLen As Double = 0
EgtGetMachiningParam(MCH_MP.STARTADDLEN, dAddLen)
If dAddLen - dOrigUsal < -10 * EPS_SMALL Then Return
EgtSetMachiningParam(MCH_MP.STARTADDLEN, dAddLen + dUsal - dOrigUsal)
EgtSetInfo(nOperId, INFO_MCH_USER_SAL, dUsal)
UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
bRepeat = Not UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
If bRepeat Then
EgtSetMachiningParam(MCH_MP.STARTADDLEN, dOrigUsal)
EgtSetInfo(nOperId, INFO_MCH_USER_SAL, dOrigUsal)
dUsal = dOrigUsal
End If
Loop Until Not bRepeat
' verifico interferenza
EgtVerifyMachining(m_MachiningList(nI).m_nId, m_MachiningList(nI).m_nInterf)
ColorMachining(m_MachiningList(nI))
@@ -1813,14 +1822,25 @@ Public Class SplitModeVM
ModifStartWindowVM.SetVal(dOrigUeal)
If Not ModifStartWindow.ShowDialog() Then Return
' Modifica della lavorazione
Dim dUsal As Double = ModifStartWindowVM.GetVal()
EgtSetCurrMachining(nOperId)
Dim dAddLen As Double = 0
EgtGetMachiningParam(MCH_MP.ENDADDLEN, dAddLen)
If dAddLen - dOrigUeal < -10 * EPS_SMALL Then Return
EgtSetMachiningParam(MCH_MP.ENDADDLEN, dAddLen + dUsal - dOrigUeal)
EgtSetInfo(nOperId, INFO_MCH_USER_EAL, dUsal)
UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
Dim dUeal As Double = ModifStartWindowVM.GetVal()
Dim bRepeat As Boolean = False
Do
EgtSetCurrMachining(nOperId)
Dim dAddLen As Double = 0
EgtGetMachiningParam(MCH_MP.ENDADDLEN, dAddLen)
If dAddLen - dOrigUeal < -10 * EPS_SMALL Then
Return
End If
EgtSetMachiningParam(MCH_MP.ENDADDLEN, dAddLen + dUeal - dOrigUeal)
EgtSetInfo(nOperId, INFO_MCH_USER_EAL, dUeal)
UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
bRepeat = Not UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
If bRepeat Then
EgtSetMachiningParam(MCH_MP.ENDADDLEN, dOrigUeal)
EgtSetInfo(nOperId, INFO_MCH_USER_EAL, dOrigUeal)
dUeal = dOrigUeal
End If
Loop Until Not bRepeat
' verifico interferenza
EgtVerifyMachining(m_MachiningList(nI).m_nId, m_MachiningList(nI).m_nInterf)
ColorMachining(m_MachiningList(nI))
@@ -2208,13 +2228,21 @@ Public Class SplitModeVM
Set(value As Boolean)
If Not IsNothing(value) Then
m_IsSelected = value
If value Then
If value AndAlso Not OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Contains(Me) Then
OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Add(Me)
Else
OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Remove(Me)
End If
If OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Count = 0 Then Return
If OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Count = 1 Then OmagOFFICEMap.refSplitModeVM.m_bAreHomogeneous = True
' se non è stato aggiunto nessun nuovo elemento alla lista dei selezionati allora esco
If OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Count = 0 Then
EgtDraw()
NotifyPropertyChanged("IsSelected")
Return
End If
' se ho un solo elemento allora so che è coerrente con se stesso come lavorazione
If OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Count = 1 Then
OmagOFFICEMap.refSplitModeVM.m_bAreHomogeneous = True
End If
' creo lista ordinata dei selezionati
Dim ItemList As New List(Of NameIdLsBxItem)
For Each Item In OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList
@@ -2223,37 +2251,6 @@ Public Class SplitModeVM
' ------------------------ verifico che le lavorazioni siano dello stesso tipo ------------------------
OmagOFFICEMap.refSplitModeVM.VerifyHomogenousMachining(ItemList)
'Dim nSawing As Integer = 0
'Dim nWaterjetting As Integer = 0
'Dim nOtherMachining As Integer = 0
'' conto il numero di tipi di lavprazioni
'For Each Item As NameIdLsBxItem In ItemList
' If Item.Type = MCH_OY.SAWING Then
' nSawing += 1
' ElseIf Item.Type = MCH_OY.WATERJETTING Then
' nWaterjetting += 1
' Else
' nOtherMachining += 1
' End If
'Next
'' verifico se le lavorazioni sono omeogenee
'If nSawing > 0 And (nWaterjetting > 0 Or nOtherMachining > 0) Then
' m_bAreHomogeneous = False
' VisibilityButtonFromMachinig(MCH_OY.SAWING)
'ElseIf nSawing = 0 And nOtherMachining > 0 And nWaterjetting > 0 Then
' m_bAreHomogeneous = False
' VisibilityButtonFromMachinig(MCH_OY.WATERJETTING)
'Else
' VisibilityButtonFromMachinig(ItemList(0).Type)
' m_bAreHomogeneous = True
'End If
'' eventualmente stampo messaggio
'If Not m_bAreHomogeneous Then
' m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
' m_MainWindow.m_CurrentProjectPageUC.SetWarningMessage("Lavorazioni non omogenee")
'Else
' m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
'End If
' -----------------------------------------------------------------------------------------------------
ItemList.Sort(Function(x, y) Comparer(Of Integer).Default.Compare(OmagOFFICEMap.refSplitModeVM.m_ItemList.IndexOf(x),
+2
View File
@@ -1020,6 +1020,8 @@ Public Class SideEntityControlVM
End If
Next
If vJoint.Count < 1 Then Return
If vJoint(0) And vJoint(vJoint.Count - 1) Then
bJointStart = True
End If