diff --git a/CurrMachWindow/CurrMachWindowV.xaml b/CurrMachWindow/CurrMachWindowV.xaml
index ac04b76..a521b8c 100644
--- a/CurrMachWindow/CurrMachWindowV.xaml
+++ b/CurrMachWindow/CurrMachWindowV.xaml
@@ -63,11 +63,11 @@
diff --git a/CurrMachWindow/CurrMachWindowVM.vb b/CurrMachWindow/CurrMachWindowVM.vb
index af9467f..9803bc6 100644
--- a/CurrMachWindow/CurrMachWindowVM.vb
+++ b/CurrMachWindow/CurrMachWindowVM.vb
@@ -287,7 +287,18 @@ Public Class CurrMachWindowVM
End Get
Set(value As Visibility)
m_CurrWaterjetting_Visibility = value
- NotifyPropertyChanged("CurrWaterjetting_Visibility")
+ NotifyPropertyChanged(NameOf(CurrWaterjetting_Visibility))
+ End Set
+ End Property
+
+ Private m_CurrWaterjettingQuality_Visibility As Visibility
+ Public Property CurrWaterjettingQuality_Visibility As Visibility
+ Get
+ Return m_CurrWaterjettingQuality_Visibility
+ End Get
+ Set(value As Visibility)
+ m_CurrWaterjettingQuality_Visibility = value
+ NotifyPropertyChanged(NameOf(CurrWaterjettingQuality_Visibility))
End Set
End Property
@@ -491,14 +502,20 @@ Public Class CurrMachWindowVM
If CurrentMachine.bWaterJetting And CurrWaterjettingList.Count > 1 Then
CurrWaterjetting_Visibility = Visibility.Visible
- If CurrentMachine.sCurrWaterJetting <> String.Empty Then
- SelCurrWaterjetting = CurrentMachine.sCurrWaterJetting
- End If
- If CurrentMachine.sCurrWaterJettingQuality <> String.Empty Then
- SelCurrWaterjettingQuality = CurrentMachine.sCurrWaterJettingQuality
+ ' se DB WaterJet abilitato avrò anche la CmBx della Quality solo la CmBx del Waterjetting corrente
+ If CurrentMachine.bFromDBWaterJet Then
+ If CurrentMachine.sCurrWaterJetting <> String.Empty Then
+ SelCurrWaterjetting = CurrentMachine.sCurrWaterJetting
+ End If
+ If CurrentMachine.sCurrWaterJettingQuality <> String.Empty Then
+ SelCurrWaterjettingQuality = CurrentMachine.sCurrWaterJettingQuality
+ End If
+ CurrWaterjettingQuality_Visibility = Visibility.Visible
+ Else
+ CurrWaterjettingQuality_Visibility = Visibility.Collapsed
End If
Else
- CurrWaterjetting_Visibility = Visibility.Collapsed
+ CurrWaterjettingQuality_Visibility = Visibility.Collapsed
End If
' Con le nuove modifiche questa selezione dovrebbe scompaire definitivamente -- DA ELIMINARE? --
@@ -631,7 +648,7 @@ Public Class CurrMachWindowVM
If SysNotes <> String.Empty Then
Dim MachiningMaterials() = SysNotes.Split(";".ToCharArray)
- If CurrentMachine.bWaterJet Then
+ If CurrentMachine.bWaterJet And CurrentMachine.bFromDBWaterJet Then
For Each Material As Object In MachiningMaterials
Dim Param() As String = Material.Split(",".ToCharArray)
If Param.Count() < 2 Then Continue For
diff --git a/EgtStoneLib/ConstMachIni.vb b/EgtStoneLib/ConstMachIni.vb
index 6ff990d..fc22a66 100644
--- a/EgtStoneLib/ConstMachIni.vb
+++ b/EgtStoneLib/ConstMachIni.vb
@@ -259,6 +259,7 @@
Public Const K_CURRMATERIAL As String = "CurrMaterial"
Public Const K_CURROFFICEMATERIAL As String = "CurrOfficeMaterial"
Public Const K_MATERIAL As String = "Material"
+ Public Const K_FROMDBWATERJET As String = "FromDBWaterJet"
Public Const S_SETUP As String = "SetUp"
Public Const K_DEFAULT As String = "Default"
diff --git a/EgtStoneLib/CurrentMachine.vb b/EgtStoneLib/CurrentMachine.vb
index 4eace04..a61343d 100644
--- a/EgtStoneLib/CurrentMachine.vb
+++ b/EgtStoneLib/CurrentMachine.vb
@@ -86,6 +86,9 @@ Public Module CurrentMachine
Private m_bPolishingWheel As Boolean = False
Private m_bWaterJet As Boolean = False
+ ' Abilitazione DB WaterJet
+ Private m_bFromDBWaterJet As Boolean = False
+
' Flag per visualizzazione TcPos, Testa/uscita e Note utente
Private m_nShowToolChanger As Integer = 0 ' 0=no, 1=tutti utensili, 2=solo lame
Private m_bShowHeadExit As Boolean = False
@@ -563,6 +566,12 @@ Public Module CurrentMachine
End Get
End Property
+ Friend ReadOnly Property bFromDBWaterJet As Boolean
+ Get
+ Return m_bFromDBWaterJet
+ End Get
+ End Property
+
Friend ReadOnly Property ShowToolChanger As Integer
Get
Return m_nShowToolChanger
@@ -1110,7 +1119,7 @@ Friend Property sCurrMillNoTip As String
If Not IsNothing(value) Then
Dim CurrMatId As String = value.nId.ToString
Dim sKey As String = If(m_bOffice, K_CURROFFICEMATERIAL, K_CURRMATERIAL)
- If bWaterJet Then
+ If bWaterJet And bFromDBWaterJet Then
WritePrivateProfileString(S_MATERIALS, sKey, CurrMatId & "." & value.SubId, sMachIniFile)
Else
WritePrivateProfileString(S_MATERIALS, sKey, CurrMatId, sMachIniFile)
@@ -1225,6 +1234,8 @@ Friend Property sCurrMillNoTip As String
m_bPolishingWheel = (GetPrivateProfileInt(S_TOOLS, K_POLISHINGWHEEL, 0, sMachIniFile) > 0) And bKeyPolish
' waterjet
m_bWaterJet = (GetPrivateProfileInt(S_TOOLS, K_WATERJET, 0, sMachIniFile) > 0) And bKeyWJ
+ ' Leggo abilitazione DB WaterJet
+ m_bFromDBWaterJet = (GetPrivateProfileInt(S_MATERIALS, K_FROMDBWATERJET, 0, sMachIniFile) > 0)
' Leggo abilitazione visualizzazione TcPos e Head/exit
m_nShowToolChanger = GetPrivateProfileInt(S_TOOLS, K_SHOWTOOLCHANGER, 0, sMachIniFile)
m_bShowHeadExit = (GetPrivateProfileInt(S_TOOLS, K_SHOWHEADEXIT, 0, sMachIniFile) > 0)
@@ -1357,7 +1368,7 @@ Friend Property sCurrMillNoTip As String
' Leggo la lista dei materiali
Dim Material As Material = Nothing
Dim nIndex As Integer = 1
- If m_bWaterJet Then
+ If m_bWaterJet And m_bFromDBWaterJet Then
LoadWJMaterial(True)
Else
While (GetPrivateProfileMaterial(S_MATERIALS, K_MATERIAL & nIndex, Material, sMachIniFile))
@@ -1372,7 +1383,7 @@ Friend Property sCurrMillNoTip As String
Dim sCurrMatId As String = String.Empty
Dim sKey As String = If(m_bOffice, K_CURROFFICEMATERIAL, K_CURRMATERIAL)
EgtUILib.GetPrivateProfileString(S_MATERIALS, sKey, "0", sCurrMatId, sMachIniFile)
- If bWaterJet Then
+ If bWaterJet And bFromDBWaterJet Then
Dim sCurrMatIds As String()
sCurrMatIds = sCurrMatId.Split("."c)
If sCurrMatIds.Length > 1 Then
diff --git a/EgtStoneLib/SplitAuto.vb b/EgtStoneLib/SplitAuto.vb
index a4d097a..232d83f 100644
--- a/EgtStoneLib/SplitAuto.vb
+++ b/EgtStoneLib/SplitAuto.vb
@@ -160,6 +160,17 @@ Public Module SplitAuto
End Function
'-----------------------------------------------------------------------------------------------
+ ' calcolo il numero di tipi di lavorazioni
+ Friend Sub CountMachiningType(MachSplit As SplitMach, ByRef nCountSawing As Integer, ByRef nCountWaterjetting As Integer, ByRef nCountOtherMachining As Integer)
+ If MachSplit.m_nType = MCH_OY.SAWING Then
+ nCountSawing += 1
+ ElseIf MachSplit.m_nType = MCH_OY.WATERJETTING Then
+ nCountWaterjetting += 1
+ Else
+ nCountOtherMachining += 1
+ End If
+ End Sub
+
Friend Sub ColorMachining(MachSplit As SplitMach, Optional bReset As Boolean = False)
EgtDisableModified()
' Assegno stato
diff --git a/MachinePanel/MyMachinePanelVM.vb b/MachinePanel/MyMachinePanelVM.vb
index 0a66202..b54ec70 100644
--- a/MachinePanel/MyMachinePanelVM.vb
+++ b/MachinePanel/MyMachinePanelVM.vb
@@ -24,7 +24,7 @@ Public Class MyMachinePanelVM
Public ReadOnly Property WjDb_Visibility As Visibility
Get
- Return If(CurrentMachine.bWaterJet, Visibility.Visible, Visibility.Collapsed)
+ Return If(CurrentMachine.bWaterJet And CurrentMachine.bFromDBWaterJet, Visibility.Visible, Visibility.Collapsed)
End Get
End Property
diff --git a/OptionPanel/MachiningTab/SplitModeV.xaml b/OptionPanel/MachiningTab/SplitModeV.xaml
index 7ecc944..4450514 100644
--- a/OptionPanel/MachiningTab/SplitModeV.xaml
+++ b/OptionPanel/MachiningTab/SplitModeV.xaml
@@ -71,14 +71,17 @@
@@ -94,10 +97,12 @@
@@ -115,14 +120,17 @@
@@ -132,14 +140,17 @@
@@ -159,6 +170,7 @@
@@ -174,6 +186,7 @@
diff --git a/OptionPanel/MachiningTab/SplitModeVM.vb b/OptionPanel/MachiningTab/SplitModeVM.vb
index 40d069b..c175879 100644
--- a/OptionPanel/MachiningTab/SplitModeVM.vb
+++ b/OptionPanel/MachiningTab/SplitModeVM.vb
@@ -16,6 +16,15 @@ Public Class SplitModeVM
Private m_CurrLastInd As Integer = -1
Private m_SelectedItemsList As New ObservableCollection(Of NameIdLsBxItem)
+ ' numero di lavorazioni di tipo lama
+ Private m_nCountSawing As Integer = 0
+ ' numero di lavprazioni di tipo waterjet
+ Private m_nCountWaterjetting As Integer = 0
+ ' altri tipi di lavorazioni (Foro/Fresa)
+ Private m_nCountOtherMachining As Integer = 0
+ ' verifico che le lavorazioni selezionate siano omogenee (con lo stesso utensile)
+ Private m_bAreHomogeneous As Boolean = False
+
Private m_ItemList As New ObservableCollection(Of NameIdLsBxItem)
Public ReadOnly Property ItemList As ObservableCollection(Of NameIdLsBxItem)
Get
@@ -45,6 +54,149 @@ Public Class SplitModeVM
End Set
End Property
+ Private m_CutBtnVisibility As Visibility
+ Public Property CutBtnVisibility As Visibility
+ Get
+ Return m_CutBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_CutBtnVisibility = value
+ NotifyPropertyChanged(NameOf(CutBtnVisibility))
+ End Set
+ End Property
+
+ Private m_CutStartBtnVisibility As Visibility
+ Public Property CutStartBtnVisibility As Visibility
+ Get
+ Return m_CutStartBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_CutStartBtnVisibility = value
+ NotifyPropertyChanged(NameOf(CutStartBtnVisibility))
+ End Set
+ End Property
+
+ Private m_CutEndBtnVisibility As Visibility
+ Public Property CutEndBtnVisibility As Visibility
+ Get
+ Return m_CutEndBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_CutEndBtnVisibility = value
+ NotifyPropertyChanged(NameOf(CutEndBtnVisibility))
+ End Set
+ End Property
+
+ Private m_OutCenStartBtnVisibility As Visibility
+ Public Property OutCenStartBtnVisibility As Visibility
+ Get
+ Return m_OutCenStartBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_OutCenStartBtnVisibility = value
+ NotifyPropertyChanged(NameOf(OutCenStartBtnVisibility))
+ End Set
+ End Property
+
+ Private m_OutCenEndBtnVisibility As Visibility
+ Public Property OutCenEndBtnVisibility As Visibility
+ Get
+ Return m_OutCenEndBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_OutCenEndBtnVisibility = value
+ NotifyPropertyChanged(NameOf(OutCenEndBtnVisibility))
+ End Set
+ End Property
+
+ Private m_InvertBtnVisibility As Visibility
+ Public Property InvertBtnVisibility As Visibility
+ Get
+ Return m_InvertBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_InvertBtnVisibility = value
+ NotifyPropertyChanged(NameOf(InvertBtnVisibility))
+ End Set
+ End Property
+
+ Private m_PauseBtnVisibility As Visibility
+ Public Property PauseBtnVisibility As Visibility
+ Get
+ Return m_PauseBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_PauseBtnVisibility = value
+ NotifyPropertyChanged(NameOf(PauseBtnVisibility))
+ End Set
+ End Property
+
+ Private m_AllOutStartBtnVisibility As Visibility
+ Public Property AllOutStartBtnVisibility As Visibility
+ Get
+ Return m_AllOutStartBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_AllOutStartBtnVisibility = value
+ NotifyPropertyChanged(NameOf(AllOutStartBtnVisibility))
+ End Set
+ End Property
+
+ Private m_AllCenStartBtnVisibility As Visibility
+ Public Property AllCenStartBtnVisibility As Visibility
+ Get
+ Return m_AllCenStartBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_AllCenStartBtnVisibility = value
+ NotifyPropertyChanged(NameOf(AllCenStartBtnVisibility))
+ End Set
+ End Property
+
+ Private m_AllOutEndBtnVisibility As Visibility
+ Public Property AllOutEndBtnVisibility As Visibility
+ Get
+ Return m_AllOutEndBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_AllOutEndBtnVisibility = value
+ NotifyPropertyChanged(NameOf(AllOutEndBtnVisibility))
+ End Set
+ End Property
+
+ Private m_AllCenEndBtnVisibility As Visibility
+ Public Property AllCenEndBtnVisibility As Visibility
+ Get
+ Return m_AllCenEndBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_AllCenEndBtnVisibility = value
+ NotifyPropertyChanged(NameOf(AllCenEndBtnVisibility))
+ End Set
+ End Property
+
+ Private m_AllExtendBtnVisibility As Visibility
+ Public Property AllExtendBtnVisibility As Visibility
+ Get
+ Return m_AllExtendBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_AllExtendBtnVisibility = value
+ NotifyPropertyChanged(NameOf(AllExtendBtnVisibility))
+ End Set
+ End Property
+
+ Private m_AllReduceBtnVisibility As Visibility
+ Public Property AllReduceBtnVisibility As Visibility
+ Get
+ Return m_AllReduceBtnVisibility
+ End Get
+ Set(value As Visibility)
+ m_AllReduceBtnVisibility = value
+ NotifyPropertyChanged(NameOf(AllReduceBtnVisibility))
+ End Set
+ End Property
+
#Region "Messages"
Public ReadOnly Property OnOffMsg As String
@@ -225,12 +377,18 @@ Public Class SplitModeVM
ShowOnePhaseMachiningPreview(m_nCurrPhase)
' Preparo la lista delle lavorazioni
CalculateSplitMachList(m_nCurrPhase, m_MachiningList)
+ ' azzero i contatori delle lavorazioni
+ m_nCountSawing = 0
+ m_nCountWaterjetting = 0
+ m_nCountOtherMachining = 0
' Aggiorno visualizzazione delle lavorazioni
For nI As Integer = 0 To m_MachiningList.Count() - 1
' sistemo colore
ColorMachining(m_MachiningList(nI))
' assegno numerazione
NumberDirectionMachining(nI)
+ ' conto il numero di tipi di lavorazioni
+ CountMachiningType(m_MachiningList(nI), m_nCountSawing, m_nCountWaterjetting, m_nCountOtherMachining)
Next
' Preparo la lista degli Item
ShowMachiningList()
@@ -394,8 +552,14 @@ Public Class SplitModeVM
HideAllMachinings()
' Preparo la lista delle lavorazioni e le disabilito
CalculateSplitMachList(m_nCurrPhase, m_MachiningList)
+ ' azzero i contatori delle lavorazioni
+ m_nCountSawing = 0
+ m_nCountWaterjetting = 0
+ m_nCountOtherMachining = 0
For nI As Integer = 0 To m_MachiningList.Count() - 1
m_MachiningList(nI).m_bEnabled = False
+ ' conto il numero di tipi di lavorazioni
+ CountMachiningType(m_MachiningList(nI), m_nCountSawing, m_nCountWaterjetting, m_nCountOtherMachining)
Next
' Aggiorno visualizzazione delle lavorazioni
EgtEmptyGroup(m_nNbrGrpId)
@@ -421,24 +585,28 @@ Public Class SplitModeVM
Dim sText As String = String.Empty
If Math.Abs(Mach.m_dSideAng) < EPS_ANG_SMALL Then
sText = EgtMsg(90791) & " " & i.ToString()
- If Mach.m_sLay = NAME_ONPATH Then AddTopText( sText)
+ If Mach.m_sLay = NAME_ONPATH Then AddTopText(sText)
Else
sText = EgtMsg(90791) & " " & i.ToString() & " " & DoubleToString(Mach.m_dSideAng, 2) & "°"
End If
If Mach.m_bPause Then AddPauseText(sText)
- m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled))
- ElseIf Mach.m_nType = MCH_OY.DRILLING Then ' Foratura
+ m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled, MCH_OY.SAWING))
+ ElseIf Mach.m_nType = MCH_OY.DRILLING Then ' Foratura
Dim sText As String = EgtMsg(90792) & " " & i.ToString()
If Mach.m_bPause Then AddPauseText(sText)
- m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled))
- ElseIf Mach.m_nType = MCH_OY.MILLING Then ' Fresatura
+ m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled, MCH_OY.DRILLING))
+ ElseIf Mach.m_nType = MCH_OY.MILLING Then ' Fresatura
Dim sText As String = EgtMsg(90793) & " " & i.ToString()
- If Mach.m_sLay = NAME_ONPATH Then AddTopText( sText)
- m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled))
+ If Mach.m_sLay = NAME_ONPATH Then AddTopText(sText)
+ m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled, MCH_OY.MILLING))
+ ElseIf Mach.m_nType = MCH_OY.POCKETING Then ' Svuotatura
+ Dim sText As String = EgtMsg(90796) & " " & i.ToString()
+ If Mach.m_bPause Then AddPauseText(sText)
+ m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled, MCH_OY.POCKETING))
ElseIf Mach.m_nType = MCH_OY.WATERJETTING Then ' Waterjet
Dim sText As String = EgtMsg(90797) & " " & i.ToString()
If Mach.m_bPause Then AddPauseText(sText)
- m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled))
+ m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled, MCH_OY.WATERJETTING))
End If
Next
End Sub
@@ -478,6 +646,87 @@ Public Class SplitModeVM
Not OmagOFFICEMap.refMachiningTabVM.ByHand)
' Altri bottoni
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
+ VisibilityButtonFromMachining(MCH_OY.WATERJETTING)
+ Else
+ VisibilityButtonFromMachining(MCH_OY.SAWING)
+ End If
+
+ End Sub
+
+ Private Sub VerifyHomogenousMachining(ItemList As List(Of NameIdLsBxItem))
+ If IsNothing(ItemList) OrElse ItemList.Count = 0 Then
+ OmagOFFICEMap.refStatusBarVM.ClearOutputMessage()
+ Return
+ End If
+ 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
+ VisibilityButtonFromMachining(MCH_OY.SAWING)
+ ElseIf nSawing = 0 And nOtherMachining > 0 And nWaterjetting > 0 Then
+ m_bAreHomogeneous = False
+ VisibilityButtonFromMachining(MCH_OY.WATERJETTING)
+ Else
+ VisibilityButtonFromMachining(ItemList(0).Type)
+ m_bAreHomogeneous = True
+ End If
+ ' eventualmente stampo messaggio
+ If Not m_bAreHomogeneous Then
+ OmagOFFICEMap.refStatusBarVM.ClearOutputMessage()
+ OmagOFFICEMap.refStatusBarVM.SetOutputMessage("Lavorazioni non omogenee", MSG_TYPE.WARNING)
+ Else
+ OmagOFFICEMap.refStatusBarVM.ClearOutputMessage()
+ End If
+ End Sub
+
+ Private Sub VisibilityButtonFromMachining(ByVal Type As Integer)
+ If Type <> MCH_OY.SAWING Then
+ CutBtnVisibility = Visibility.Hidden
+ CutStartBtnVisibility = Visibility.Hidden
+ CutEndBtnVisibility = Visibility.Hidden
+
+ OutCenStartBtnVisibility = Visibility.Hidden
+ OutCenEndBtnVisibility = Visibility.Hidden
+ InvertBtnVisibility = Visibility.Hidden
+ PauseBtnVisibility = Visibility.Hidden
+ AllOutStartBtnVisibility = Visibility.Hidden
+ AllCenStartBtnVisibility = Visibility.Hidden
+ AllOutEndBtnVisibility = Visibility.Hidden
+ AllCenEndBtnVisibility = Visibility.Hidden
+ AllExtendBtnVisibility = Visibility.Hidden
+ AllReduceBtnVisibility = Visibility.Hidden
+ Else
+ CutBtnVisibility = Visibility.Visible
+ CutStartBtnVisibility = Visibility.Visible
+ CutEndBtnVisibility = Visibility.Visible
+
+ OutCenStartBtnVisibility = Visibility.Visible
+ OutCenEndBtnVisibility = Visibility.Visible
+ InvertBtnVisibility = Visibility.Visible
+ PauseBtnVisibility = Visibility.Visible
+ AllOutStartBtnVisibility = Visibility.Visible
+ AllCenStartBtnVisibility = Visibility.Visible
+ AllOutEndBtnVisibility = Visibility.Visible
+ AllCenEndBtnVisibility = Visibility.Visible
+ AllExtendBtnVisibility = Visibility.Visible
+ AllReduceBtnVisibility = Visibility.Visible
+ End If
+
End Sub
Private Function ModifyOtherLeadIn(nI As Integer, nLiOthType As Integer) As Boolean
@@ -805,7 +1054,16 @@ Public Class SplitModeVM
' Imposto flag di modifica
m_bModified = True
' Abilitazione bottone Next
- EnableButtons()
+ ' EnableButtons()
+ ' recupero l'elenco degli elementi selezionati
+ Dim ItemList As New List(Of NameIdLsBxItem)
+ For Each Item As NameIdLsBxItem In m_SelectedItemsList ' MachiningLsBx.SelectedItems
+ ItemList.Add(Item)
+ Next
+ 'For Each Item As NameIdLsBxItem In m_ItemList
+ ' If Item.bIsActive Then ItemList.Add(Item)
+ 'Next
+ VerifyHomogenousMachining(ItemList)
End Sub
#End Region ' OnOffCommand
@@ -1698,6 +1956,7 @@ Public Class SplitModeVM
Private m_nInd As Integer
Private m_sName As String
Private m_bIsActive As Boolean
+ Private m_nType As Integer
Public Property Ind As Integer
Get
@@ -1745,11 +2004,49 @@ Public Class SplitModeVM
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
' creo lista ordinata dei selezionati
Dim ItemList As New List(Of NameIdLsBxItem)
For Each Item In OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList
ItemList.Add(Item)
Next
+
+ ' ------------------------ 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),
OmagOFFICEMap.refSplitModeVM.m_ItemList.IndexOf(y)))
If Not My.Computer.Keyboard.ShiftKeyDown And (My.Computer.Keyboard.CtrlKeyDown And value) Then
@@ -1795,10 +2092,20 @@ Public Class SplitModeVM
End Set
End Property
- Sub New(Name As String, Ind As Integer, bIsActive As Boolean)
+ Public Property Type As Integer
+ Get
+ Return m_nType
+ End Get
+ Set(value As Integer)
+ m_nType = value
+ End Set
+ End Property
+
+ Sub New(Name As String, Ind As Integer, bIsActive As Boolean, nType As Integer)
Me.m_sName = Name
Me.m_nInd = Ind
Me.m_bIsActive = bIsActive
+ Me.m_nType = nType
End Sub
End Class