diff --git a/ConstGen.vb b/ConstGen.vb
index e8e67ef..8d82eea 100644
--- a/ConstGen.vb
+++ b/ConstGen.vb
@@ -61,6 +61,11 @@ Module ConstGen
' Sottodirettorio di default per pezzi prodotti da CSV
Public Const PRODUCEDPARTS_DFL_DIR As String = "ProducedParts"
+ ' Sottodirettorio Machining dentro il quale trovare il file INI delle lucidature
+ Public Const MACHININGS_DIR As String = "Machinings"
+ ' Nome file INI delle lucidature
+ Public Const KITS_FILE As String = "Kits"
+
' File dei pezzi rovinati
Public Const CURR_RUINED_EPL As String = "RuinedParts.epl"
diff --git a/ConstMachIni.vb b/ConstMachIni.vb
index 2b0813c..dcc25b4 100644
--- a/ConstMachIni.vb
+++ b/ConstMachIni.vb
@@ -237,4 +237,17 @@
Public Const K_CURRMATERIAL As String = "CurrMaterial"
Public Const K_MATERIAL As String = "Material"
+ Public Const S_KIT As String = "Kit"
+ Public Const K_KITNAME As String = "Name"
+
+ Public Const K_TOOL As String = "Tool"
+ Public Const K_TOOLNAME As String = "ToolName"
+ Public Const K_CONTOUR As String = "Contour"
+ Public Const K_ZIGZAGX As String = "ZigZagX"
+ Public Const K_STEPX As String = "StepX"
+ Public Const K_ZIGZAGY As String = "ZigZagY"
+ Public Const K_STEPY As String = "StepY"
+ Public Const K_LILEN As String = "LiLen"
+ Public Const K_LIHEIGHT As String = "LiHeight"
+
End Module
diff --git a/CurrentMachine.vb b/CurrentMachine.vb
index e548ed9..d3bb299 100644
--- a/CurrentMachine.vb
+++ b/CurrentMachine.vb
@@ -654,47 +654,47 @@ Public Class CurrentMachine
Friend ReadOnly Property WaterJettingActive As Double
Get
- Return m_bWaterJetting AndAlso Not String.IsNullOrWhiteSpace( m_sCurrWaterJetting)
+ Return m_bWaterJetting AndAlso Not String.IsNullOrWhiteSpace(m_sCurrWaterJetting)
End Get
End Property
Friend Property dAdditionalTable As Double
Get
Select Case GetCurrentTable()
- Case 3
- Return m_dTab3AdditionalTable
- Case 2
- Return m_dTab2AdditionalTable
- Case Else
- Return m_dAdditionalTable
+ Case 3
+ Return m_dTab3AdditionalTable
+ Case 2
+ Return m_dTab2AdditionalTable
+ Case Else
+ Return m_dAdditionalTable
End Select
End Get
Set(value As Double)
Select Case GetCurrentTable()
- Case 3
- If Math.Abs(value - m_dTab3AdditionalTable) > EPS_SMALL And
+ Case 3
+ If Math.Abs(value - m_dTab3AdditionalTable) > EPS_SMALL And
WritePrivateProfileString(S_TABLE, K_TAB3_ADDITIONALTABLE, DoubleToString(value, 3), sMachIniFile) Then
- ' Aggiorno il valore corrente
- m_dTab3AdditionalTable = value
- ' Aggiorno il progetto corrente
- m_MainWindow.m_CurrentProjectPageUC.AdjustAdditionalTable()
- End If
- Case 2
- If Math.Abs(value - m_dTab2AdditionalTable) > EPS_SMALL And
+ ' Aggiorno il valore corrente
+ m_dTab3AdditionalTable = value
+ ' Aggiorno il progetto corrente
+ m_MainWindow.m_CurrentProjectPageUC.AdjustAdditionalTable()
+ End If
+ Case 2
+ If Math.Abs(value - m_dTab2AdditionalTable) > EPS_SMALL And
WritePrivateProfileString(S_TABLE, K_TAB2_ADDITIONALTABLE, DoubleToString(value, 3), sMachIniFile) Then
- ' Aggiorno il valore corrente
- m_dTab2AdditionalTable = value
- ' Aggiorno il progetto corrente
- m_MainWindow.m_CurrentProjectPageUC.AdjustAdditionalTable()
- End If
- Case Else
- If Math.Abs(value - m_dAdditionalTable) > EPS_SMALL And
+ ' Aggiorno il valore corrente
+ m_dTab2AdditionalTable = value
+ ' Aggiorno il progetto corrente
+ m_MainWindow.m_CurrentProjectPageUC.AdjustAdditionalTable()
+ End If
+ Case Else
+ If Math.Abs(value - m_dAdditionalTable) > EPS_SMALL And
WritePrivateProfileString(S_TABLE, K_ADDITIONALTABLE, DoubleToString(value, 3), sMachIniFile) Then
- ' Aggiorno il valore corrente
- m_dAdditionalTable = value
- ' Aggiorno il progetto corrente
- m_MainWindow.m_CurrentProjectPageUC.AdjustAdditionalTable()
- End If
+ ' Aggiorno il valore corrente
+ m_dAdditionalTable = value
+ ' Aggiorno il progetto corrente
+ m_MainWindow.m_CurrentProjectPageUC.AdjustAdditionalTable()
+ End If
End Select
End Set
End Property
@@ -708,10 +708,10 @@ Public Class CurrentMachine
Friend ReadOnly Property PhotoOffset As Vector3d
Get
Select Case GetCurrentTable()
- Case 2
- Return New Vector3d(m_dTab2PhotoOffsetX, m_dTab2PhotoOffsetY, 0)
- Case Else
- Return New Vector3d(m_dPhotoOffsetX, m_dPhotoOffsetY, 0)
+ Case 2
+ Return New Vector3d(m_dTab2PhotoOffsetX, m_dTab2PhotoOffsetY, 0)
+ Case Else
+ Return New Vector3d(m_dPhotoOffsetX, m_dPhotoOffsetY, 0)
End Select
End Get
End Property
diff --git a/MachinePageUC.xaml b/MachinePageUC.xaml
index 5dceeae..5adfbde 100644
--- a/MachinePageUC.xaml
+++ b/MachinePageUC.xaml
@@ -23,8 +23,7 @@
-
-
+
@@ -33,8 +32,9 @@
-
-
+
+
+
diff --git a/MachinePageUC.xaml.vb b/MachinePageUC.xaml.vb
index dde3711..067d968 100644
--- a/MachinePageUC.xaml.vb
+++ b/MachinePageUC.xaml.vb
@@ -9,6 +9,7 @@ Public Class MachinePageUC
Friend m_AlarmsPageUC As AlarmsPageUC
Friend m_ToolsDbPageUC As ToolsDbPageUC
Friend m_MachiningDbPageUC As MachiningDbPageUC
+ Friend m_PolishingsPageUC As PolishingsPageUC
Friend m_MachineCNPageUC As MachineCNPageUC
Friend m_StatisticsPageUC As StatisticsPageUC
@@ -19,6 +20,7 @@ Public Class MachinePageUC
Alarms
ToolsDb
MachiningDb
+ Polishings
MachineCN
Statistics
End Enum
@@ -29,6 +31,7 @@ Public Class MachinePageUC
m_AlarmsPageUC = New AlarmsPageUC
m_ToolsDbPageUC = New ToolsDbPageUC
m_MachiningDbPageUC = New MachiningDbPageUC
+ m_PolishingsPageUC = New PolishingsPageUC
m_MachineCNPageUC = New MachineCNPageUC
m_StatisticsPageUC = New StatisticsPageUC
@@ -36,12 +39,14 @@ Public Class MachinePageUC
m_AlarmsPageUC.SetValue(Grid.RowProperty, 1)
m_ToolsDbPageUC.SetValue(Grid.RowProperty, 1)
m_MachiningDbPageUC.SetValue(Grid.RowProperty, 1)
+ m_PolishingsPageUC.SetValue(Grid.RowProperty, 1)
m_MachineCNPageUC.SetValue(Grid.RowProperty, 1)
m_StatisticsPageUC.SetValue(Grid.RowProperty, 1)
AlarmsBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 5)
ToolsDBBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 6)
MachiningDBBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 7)
+ PolishingsBtn.Content = EgtMsg(91091)
TestingPageBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 8)
StatisticsBtn.Content = EgtMsg(90709)
@@ -110,6 +115,19 @@ Public Class MachinePageUC
MachinePageGrid.Children.Remove(m_MachiningDbPageUC)
MachinePageGrid.Children.Add(m_AlarmsPageUC)
m_ActiveMachinePage = MachinePages.Alarms
+ Case MachinePages.Polishings
+ ' Verifica ed eventuale salvataggio Lucidatura corrente
+ If Not m_PolishingsPageUC.SaveKit() Then
+ AlarmsBtn.IsChecked = False
+ PolishingsBtn.IsChecked = True
+ Return
+ End If
+ ' passo alla pagina Dati Macchina
+ AlarmsBtn.IsChecked = True
+ PolishingsBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_PolishingsPageUC)
+ MachinePageGrid.Children.Add(m_AlarmsPageUC)
+ m_ActiveMachinePage = MachinePages.Alarms
Case MachinePages.MachineCN
AlarmsBtn.IsChecked = True
TestingPageBtn.IsChecked = False
@@ -151,6 +169,19 @@ Public Class MachinePageUC
MachinePageGrid.Children.Remove(m_MachiningDbPageUC)
MachinePageGrid.Children.Add(m_ToolsDbPageUC)
m_ActiveMachinePage = MachinePages.ToolsDb
+ Case MachinePages.Polishings
+ ' Verifica ed eventuale salvataggio Lucidatura corrente
+ If Not m_PolishingsPageUC.SaveKit() Then
+ ToolsDBBtn.IsChecked = False
+ PolishingsBtn.IsChecked = True
+ Return
+ End If
+ ' passo alla pagina DB Utensili
+ ToolsDBBtn.IsChecked = True
+ PolishingsBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_PolishingsPageUC)
+ MachinePageGrid.Children.Add(m_ToolsDbPageUC)
+ m_ActiveMachinePage = MachinePages.ToolsDb
Case MachinePages.MachineCN
ToolsDBBtn.IsChecked = True
TestingPageBtn.IsChecked = False
@@ -192,6 +223,19 @@ Public Class MachinePageUC
m_ActiveMachinePage = MachinePages.MachiningDb
Case MachinePages.MachiningDb
MachiningDBBtn.IsChecked = True
+ Case MachinePages.Polishings
+ ' Verifica ed eventuale salvataggio Lucidatura corrente
+ If Not m_PolishingsPageUC.SaveKit() Then
+ MachiningDBBtn.IsChecked = False
+ PolishingsBtn.IsChecked = True
+ Return
+ End If
+ ' passo alla pagina DB lavorazioni
+ MachiningDBBtn.IsChecked = True
+ PolishingsBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_PolishingsPageUC)
+ MachinePageGrid.Children.Add(m_MachiningDbPageUC)
+ m_ActiveMachinePage = MachinePages.MachiningDb
Case MachinePages.MachineCN
MachiningDBBtn.IsChecked = True
TestingPageBtn.IsChecked = False
@@ -207,6 +251,63 @@ Public Class MachinePageUC
End Select
End Sub
+ Private Sub PolishingsBtn_Click(sender As Object, e As RoutedEventArgs) Handles PolishingsBtn.Click
+ Select Case m_ActiveMachinePage
+ Case MachinePages.Alarms
+ AlarmsBtn.IsChecked = False
+ PolishingsBtn.IsChecked = True
+ MachinePageGrid.Children.Remove(m_AlarmsPageUC)
+ MachinePageGrid.Children.Add(m_PolishingsPageUC)
+ m_ActiveMachinePage = MachinePages.Polishings
+ Case MachinePages.ToolsDb
+ ' Verifica ed eventuale salvataggio utensile corrente
+ If Not m_ToolsDbPageUC.SaveCurrTool() Then
+ PolishingsBtn.IsChecked = False
+ ToolsDBBtn.IsChecked = True
+ Return
+ End If
+ ' salvo il DB utensili
+ EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
+ EgtTdbSave()
+ ' passo alla pagina Lucidature
+ PolishingsBtn.IsChecked = True
+ ToolsDBBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_ToolsDbPageUC)
+ MachinePageGrid.Children.Add(m_PolishingsPageUC)
+ m_ActiveMachinePage = MachinePages.Polishings
+ Case MachinePages.MachiningDb
+ ' Verifica ed eventuale salvataggio lavorazione corrente
+ If Not m_MachiningDbPageUC.SaveCurrMachining() Then
+ PolishingsBtn.IsChecked = False
+ MachiningDBBtn.IsChecked = True
+ Return
+ End If
+ ' salvo il DB lavorazioni
+ EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
+ EgtMdbSave()
+ ' passo alla pagina Lucidature
+ PolishingsBtn.IsChecked = True
+ MachiningDBBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_MachiningDbPageUC)
+ MachinePageGrid.Children.Add(m_PolishingsPageUC)
+ m_ActiveMachinePage = MachinePages.Polishings
+ Case MachinePages.Polishings
+ PolishingsBtn.IsChecked = True
+ Case MachinePages.MachineCN
+ PolishingsBtn.IsChecked = True
+ TestingPageBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_MachineCNPageUC)
+ MachinePageGrid.Children.Add(m_PolishingsPageUC)
+ m_ActiveMachinePage = MachinePages.Polishings
+ Case MachinePages.Statistics
+ PolishingsBtn.IsChecked = True
+ StatisticsBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_StatisticsPageUC)
+ MachinePageGrid.Children.Add(m_PolishingsPageUC)
+ m_ActiveMachinePage = MachinePages.Polishings
+ End Select
+ End Sub
+
Private Sub TestingPageBtn_Checked(sender As Object, e As RoutedEventArgs) Handles TestingPageBtn.Checked
Select Case m_ActiveMachinePage
Case MachinePages.Alarms
@@ -247,6 +348,19 @@ Public Class MachinePageUC
MachinePageGrid.Children.Remove(m_MachiningDbPageUC)
MachinePageGrid.Children.Add(m_MachineCNPageUC)
m_ActiveMachinePage = MachinePages.MachineCN
+ Case MachinePages.Polishings
+ ' Verifica ed eventuale salvataggio Lucidatura corrente
+ If Not m_PolishingsPageUC.SaveKit() Then
+ TestingPageBtn.IsChecked = False
+ PolishingsBtn.IsChecked = True
+ Return
+ End If
+ ' passo alla pagina DB lavorazioni
+ TestingPageBtn.IsChecked = True
+ PolishingsBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_PolishingsPageUC)
+ MachinePageGrid.Children.Add(m_MachineCNPageUC)
+ m_ActiveMachinePage = MachinePages.MachineCN
Case MachinePages.MachineCN
TestingPageBtn.IsChecked = True
Case MachinePages.Statistics
@@ -298,6 +412,19 @@ Public Class MachinePageUC
MachinePageGrid.Children.Remove(m_MachiningDbPageUC)
MachinePageGrid.Children.Add(m_StatisticsPageUC)
m_ActiveMachinePage = MachinePages.Statistics
+ Case MachinePages.Polishings
+ ' Verifica ed eventuale salvataggio Lucidatura corrente
+ If Not m_PolishingsPageUC.SaveKit() Then
+ StatisticsBtn.IsChecked = False
+ PolishingsBtn.IsChecked = True
+ Return
+ End If
+ ' passo alla pagina DB lavorazioni
+ StatisticsBtn.IsChecked = True
+ PolishingsBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_PolishingsPageUC)
+ MachinePageGrid.Children.Add(m_StatisticsPageUC)
+ m_ActiveMachinePage = MachinePages.Statistics
Case MachinePages.MachineCN
StatisticsBtn.IsChecked = True
TestingPageBtn.IsChecked = False
@@ -328,6 +455,12 @@ Public Class MachinePageUC
MachinePageGrid.Children.Remove(m_MachiningDbPageUC)
MachinePageGrid.Children.Add(m_AlarmsPageUC)
m_ActiveMachinePage = MachinePages.Alarms
+ Case MachinePages.Polishings
+ AlarmsBtn.IsChecked = True
+ PolishingsBtn.IsChecked = False
+ MachinePageGrid.Children.Remove(m_PolishingsPageUC)
+ MachinePageGrid.Children.Add(m_AlarmsPageUC)
+ m_ActiveMachinePage = MachinePages.Alarms
Case MachinePages.MachineCN
AlarmsBtn.IsChecked = True
TestingPageBtn.IsChecked = False
diff --git a/MainWindow.xaml.vb b/MainWindow.xaml.vb
index 7c3ccd6..bd1e8a8 100644
--- a/MainWindow.xaml.vb
+++ b/MainWindow.xaml.vb
@@ -51,6 +51,7 @@ Class MainWindow
Private m_sToolMakersDir As String = String.Empty
Private m_sIniFile As String = String.Empty
Private m_sMachIniFile As String = String.Empty
+ Private m_sKitIniFile As String = String.Empty
Private m_sLogFile As String = String.Empty
Private m_nDebug As Integer = 0
Private m_sVersion As String = "1.1a1"
@@ -209,6 +210,10 @@ Class MainWindow
Return m_sMachIniFile
End Function
+ Public Function GetKitIniFile() As String
+ Return m_sKitIniFile
+ End Function
+
Public Function GetLogFile() As String
Return m_sLogFile
End Function
@@ -282,6 +287,8 @@ Class MainWindow
GetPrivateProfileString(S_MACH, K_CURRMACH, "", m_sCurrMachine, m_sIniFile)
' Impostazione path MachIni file
m_sMachIniFile = m_sMachinesRoot & "\" & m_sCurrMachine & "\" & m_sCurrMachine & ".ini"
+ ' Impostazione path KitIni file
+ m_sKitIniFile = m_sMachinesRoot & "\" & m_sCurrMachine & "\" & MACHININGS_DIR & "\" & KITS_FILE & ".ini"
' Imposto tipo di chiave
#If TRIAL Then
EgtSetLockType(KEY_TYPE.ANY)
@@ -1002,6 +1009,11 @@ Class MainWindow
' salvo il DB utensili
EgtSetCurrentContext(m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
EgtMdbSave()
+ Case MachinePageUC.MachinePages.Polishings
+ ' Verifica ed eventuale salvataggio lucidatura corrente
+ If Not m_MachinePageUC.m_PolishingsPageUC.SaveKit() Then
+ Return False
+ End If
End Select
Return True
End Function
diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb
index 2855f3a..bc27dd0 100644
--- a/My Project/AssemblyInfo.vb
+++ b/My Project/AssemblyInfo.vb
@@ -62,5 +62,5 @@ Imports System.Windows
' by using the '*' as shown below:
'
-
-
+
+
diff --git a/OmagCUT.vbproj b/OmagCUT.vbproj
index 0a27a4c..695c50d 100644
--- a/OmagCUT.vbproj
+++ b/OmagCUT.vbproj
@@ -232,6 +232,9 @@
OmagCUTDictionary.xaml
+
+ PolishingsPageUC.xaml
+ StatisticsPageUC.xaml
@@ -442,6 +445,10 @@
DesignerXamlIntelliSenseFileGenerator
+
+ Designer
+ MSBuild:Compile
+ DesignerMSBuild:Compile
@@ -955,6 +962,11 @@
+
+
+
+
+ IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagCUT\OmagCUTR32.exe
diff --git a/PolishingsPageUC.xaml b/PolishingsPageUC.xaml
new file mode 100644
index 0000000..a6fa25a
--- /dev/null
+++ b/PolishingsPageUC.xaml
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/PolishingsPageUC.xaml.vb b/PolishingsPageUC.xaml.vb
new file mode 100644
index 0000000..044cad8
--- /dev/null
+++ b/PolishingsPageUC.xaml.vb
@@ -0,0 +1,1118 @@
+Imports System.Collections.ObjectModel
+Imports System.ComponentModel
+Imports OmagCUT.TreeViewItem
+Imports EgtUILib
+Imports EgtWPFLib
+
+Public Class PolishingsPageUC
+
+ ' Riferimento alla MainWindow
+ Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
+
+ 'Variabile che conserva la lucidatura precedentemente selezionata, usata nel caso si selezioni annulla quando si cambia lucidatura selezionata
+ Private m_OldItem As Object
+
+ ' File ini della lucidatura
+ Private m_sKitIniFile As String = String.Empty
+
+ Private m_KitList As New ObservableCollection(Of Kit)
+
+ Private m_KitMachList As New ObservableCollection(Of KitMach)
+
+ 'Lista che contiene gli utensili disponibili (per Combobox in ciascun KitMachItem)
+ Private m_ToolList As New ObservableCollection(Of String)
+
+ 'Lista che contiene gli UUID degli utensili disponibili nello stesso ordine della lista dei nomi (ComboBox) per la scrittura degli stessi sull'INI
+ Private m_ToolUuidList As New ObservableCollection(Of String)
+
+ Private m_PreviousSelectedKitIndex As Integer = 0
+
+ Private m_PreviousSelectedKitMachIndex As Integer = 0
+
+ Public ReadOnly Property ToolList As ObservableCollection(Of String)
+ Get
+ Return m_ToolList
+ End Get
+ End Property
+
+ Public ReadOnly Property ToolUuidList As ObservableCollection(Of String)
+ Get
+ Return m_ToolUuidList
+ End Get
+ End Property
+
+ Private Sub PolishingsPage_Initialized(sender As Object, e As EventArgs)
+
+ ' Impostazione Path KitIni file
+ m_sKitIniFile = m_MainWindow.GetKitIniFile()
+
+ ' Imposto i messaggi letti dal file dei messaggi
+ NewKitBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 16)
+ SaveKitBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 17)
+ RemoveKitBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 18)
+
+ NewKitMachBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 16)
+ RemoveKitMachBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 18)
+ MoveUpKitMachBtn.Content = EgtMsg(91098)
+ MoveDownKitMachBtn.Content = EgtMsg(91099)
+
+ KitsGpBx.Header = EgtMsg(91091) ' Lucidature
+ KitMachsGpBx.Header = EgtMsg(91096) ' Lista utensili
+ KitMachParamsGpBx.Header = EgtMsg(91097) ' Parametri utensile
+ MotionTxBl.Text = EgtMsg(91092)
+ RepeatTxBl.Text = EgtMsg(91093)
+ StepTxBl.Text = EgtMsg(90787)
+ LiLoGpBx.Header = EgtMsg(91094)
+ LiLenTxBl.Text = EgtMsg(90947)
+ LiHeightTxBl.Text = EgtMsg(91095)
+
+ End Sub
+
+ Private Sub PolishingsPage_Loaded(sender As Object, e As RoutedEventArgs)
+ EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
+
+ LoadPage()
+
+ End Sub
+
+ Private Sub LoadPage()
+
+ ' Leggo utensili dal Db
+ Dim sToolName As String = String.Empty
+ Dim sToolUuid As String = String.Empty
+ Dim nType As Integer = MCH_TY.NONE
+ If EgtTdbGetFirstTool(MCH_TF.MILL, sToolName, nType) Then
+ ToolList.Add(sToolName)
+ ' Recupero l'UUID dell' utensile
+ EgtTdbSetCurrTool(sToolName)
+ EgtTdbGetCurrToolParam(MCH_TP.UUID, sToolUuid)
+ ToolUuidList.Add(sToolUuid)
+ While EgtTdbGetNextTool(MCH_TF.MILL, sToolName, nType)
+ ToolList.Add(sToolName)
+ ' Recupero l'UUID dell' utensile
+ EgtTdbSetCurrTool(sToolName)
+ EgtTdbGetCurrToolParam(MCH_TP.UUID, sToolUuid)
+ ToolUuidList.Add(sToolUuid)
+ End While
+ End If
+
+ ' Leggo la lista dei kit
+ m_KitList.Clear()
+ m_KitMachList.Clear()
+ Dim Kit As Kit = Nothing
+ Dim nKitIndex As Integer = 1
+ While GetPrivateProfileKit(S_KIT, nKitIndex, K_KITNAME, Kit, m_sKitIniFile, False)
+ m_KitList.Add(Kit)
+ nKitIndex += 1
+ End While
+
+ KitsLstBx.ItemsSource = m_KitList
+
+ KitMachsLstBx.ItemsSource = m_KitMachList
+
+ KitMach.m_ToolList = ToolList.ToList()
+
+ ' Recupero nome utensile tramite UUID
+ Dim ToolString As String = String.Empty
+ For Each KitItem In m_KitList
+ For Each KitMachItem In KitItem.KitMachList
+ Dim selToolIndex As Integer = 0
+ EgtTdbGetToolFromUUID(KitMachItem.sToolUUID, ToolString)
+ Dim bToolExist As Boolean = False
+ For Each CurrTool In ToolList
+ If CurrTool.ToString() = ToolString Then
+ bToolExist = True
+ Exit For
+ End If
+ selToolIndex += 1
+ Next
+ If bToolExist Then
+ KitMachItem.SelTool = selToolIndex
+ Else
+ KitMachItem.SelTool = -1
+ End If
+ Next
+ Next
+
+ If KitsLstBx.Items.Count > 0 Then
+ ' seleziono il primo elemento della lista dei Kit
+ KitsLstBx.SelectedItem = m_KitList(m_PreviousSelectedKitIndex)
+ m_OldItem = m_KitList(m_PreviousSelectedKitIndex)
+ 'm_OldItemNotModified = m_KitList(0)
+
+ ' carico la lista dei KitMach relativi al Kit selezionato
+ For Each KitMach In KitsLstBx.SelectedItem.KitMachList
+ Dim KitMachItem = New KitMach(KitMach.nId, KitMach.selTool, KitMach.sToolUUID, KitMach.sToolName, KitMach.bActive, KitMach.nContour, KitMach.nZigZagX, KitMach.dStepX, KitMach.nZigZagY, KitMach.dStepY, KitMach.dLiLen, KitMach.dLiHeight)
+ m_KitMachList.Add(KitMachItem)
+ Next
+ ' Verifico che l'indice del KitMach da selezionare rientri nell'intervallo degli indici esistenti altrimenti lo setto a 0
+ Dim kitMachIndex As Integer = m_PreviousSelectedKitMachIndex
+ If kitMachIndex > KitMachsLstBx.Items.Count Then
+ kitMachIndex = 0
+ End If
+ KitMachsLstBx.SelectedItem = m_KitMachList(kitMachIndex)
+ ' carico i parametri relativi al KitMach selezionato
+ ContourTxBx.Text = DoubleToString(m_KitMachList(kitMachIndex).nContour, 3)
+ ZigZagYTxBx.Text = m_KitMachList(kitMachIndex).nZigZagY
+ StepYTxBx.Text = DoubleToString(m_KitMachList(kitMachIndex).dStepY, 3)
+ ZigZagXTxBx.Text = m_KitMachList(kitMachIndex).nZigZagX
+ StepXTxBx.Text = DoubleToString(m_KitMachList(kitMachIndex).dStepX, 3)
+
+ LiLenTxBx.Text = DoubleToString(m_KitMachList(kitMachIndex).dLiLen, 3)
+ LiHeightTxBx.Text = DoubleToString(m_KitMachList(kitMachIndex).dLiHeight, 3)
+
+ End If
+
+ If KitMachsLstBx.Items.Count = 0 Then
+ RemoveKitMachBtn.IsEnabled = False
+ End If
+ If KitsLstBx.Items.Count = 0 Then
+ RemoveKitBtn.IsEnabled = False
+ End If
+
+ IsModifiedReset()
+
+ End Sub
+
+ Private Sub NewKitBtn_Click(sender As Object, e As RoutedEventArgs) Handles NewKitBtn.Click
+ ' Se ci sono state modifiche chiedo se si desidera salvarle
+ If Not SaveKit() Then
+ KitsLstBx.SelectedItem = m_OldItem ' m_OldItemNotModified
+ Exit Sub
+ End If
+
+ ' Mostro textbox per il nome
+ KitNameTxBx.Text = String.Empty
+ KitNameTxBx.Visibility = Windows.Visibility.Visible
+ KitsLstBx.SetValue(Grid.RowSpanProperty, 1)
+ End Sub
+
+ Private Sub KitNameTxBx_EgtClosed(sender As Object, e As EventArgs) Handles KitNameTxBx.EgtClosed
+ ' Verifico che il nome non sia vuoto
+ If Not String.IsNullOrWhiteSpace(KitNameTxBx.Text) Then
+ ' Verifico che il nome non sia già utilizzato
+ Dim bNameExist As Boolean = False
+ For Each Kit In m_KitList
+ If Kit.sName = KitNameTxBx.Text Then
+ bNameExist = True
+ Exit For
+ End If
+ Next
+ If Not bNameExist Then
+ ' Aggiungo un Kit con Id uguale al numero di Kit già presenti + 1 e nome appena immesso
+ AddKit(New Kit(m_KitList.Count + 1, KitNameTxBx.Text))
+ End If
+ End If
+
+ RemoveKitBtn.IsEnabled = True
+ RemoveKitMachBtn.IsEnabled = True
+
+ m_PreviousSelectedKitIndex = m_KitList.Count - 1
+ LoadPage()
+
+ ' Nascondo textbox per il nome
+ KitsLstBx.SetValue(Grid.RowSpanProperty, 2)
+ KitNameTxBx.Visibility = Windows.Visibility.Hidden
+ End Sub
+
+ Private Sub SaveBtn_Click(sender As Object, e As RoutedEventArgs) Handles SaveKitBtn.Click
+ ' Salvo il Kit correntemente selezionato
+ If Not IsNothing(KitsLstBx.SelectedItem) Then
+ Save(KitsLstBx.SelectedItem.nId)
+ End If
+ End Sub
+
+ Private Sub Save(Id As Integer)
+ Dim nKitIndex As Integer = Id
+ Dim nKitMachIndex As Integer = 1
+ Dim nVal As Integer = 0
+ Dim dVal As Double = 0
+ Dim bVal As Boolean = False
+ Dim sVal As String = "default"
+
+ ' Salvo e scrivo tutti i KitMach del Kit che ha Id uguale all'argomento passato alla funzione Save
+ For Each KitMach In KitMachsLstBx.Items
+ nVal = KitMachsLstBx.Items(nKitMachIndex - 1).SelTool
+ ' Se SelTool = -1 faccio sì che il valore di ToolUUID che scrivo sia "default" in modo che la ComboBox non abbia alcun elemento selezionato
+ If (nVal < 0) Then
+ WritePrivateProfileString(S_KIT & nKitIndex.ToString("D2"), K_TOOL & nKitMachIndex.ToString("D2"), "default", m_MainWindow.GetKitIniFile())
+ Else
+ m_KitList(nKitIndex - 1).KitMachList(nKitMachIndex - 1).SelTool = nVal
+ ' Per la scrittura utilizzo la lista degli UUID caricata nel metodo Loaded
+ WritePrivateProfileString(S_KIT & nKitIndex.ToString("D2"), K_TOOL & nKitMachIndex.ToString("D2"), ToolUuidList(nVal), m_MainWindow.GetKitIniFile())
+ End If
+
+ ' Se SelTool = -1 faccio sì che il valore di ToolName che scrivo sia "default"
+ If (nVal < 0) Then
+ WritePrivateProfileString(S_KIT & nKitIndex.ToString("D2"), K_TOOLNAME & nKitMachIndex.ToString("D2"), "default", m_MainWindow.GetKitIniFile())
+ Else
+ m_KitList(nKitIndex - 1).KitMachList(nKitMachIndex - 1).sToolName = ToolList(nVal)
+ ' Per la scrittura utilizzo la lista dei Tool caricata nel metodo Loaded
+ WritePrivateProfileString(S_KIT & nKitIndex.ToString("D2"), K_TOOLNAME & nKitMachIndex.ToString("D2"), ToolList(nVal), m_MainWindow.GetKitIniFile())
+ End If
+
+ bVal = KitMachsLstBx.Items(nKitMachIndex - 1).bActive
+ m_KitList(nKitIndex - 1).KitMachList(nKitMachIndex - 1).bActive = bVal
+ WritePrivateProfileString(S_KIT & nKitIndex.ToString("D2"), K_ACTIVE & nKitMachIndex.ToString("D2"), If(bVal, 1, 0), m_MainWindow.GetKitIniFile())
+
+ nVal = KitMachsLstBx.Items(nKitMachIndex - 1).nContour
+ m_KitList(nKitIndex - 1).KitMachList(nKitMachIndex - 1).nContour = nVal
+ WritePrivateProfileString(S_KIT & nKitIndex.ToString("D2"), K_CONTOUR & nKitMachIndex.ToString("D2"), nVal, m_MainWindow.GetKitIniFile())
+
+ nVal = KitMachsLstBx.Items(nKitMachIndex - 1).nZigZagX
+ m_KitList(nKitIndex - 1).KitMachList(nKitMachIndex - 1).nZigZagX = nVal
+ WritePrivateProfileString(S_KIT & nKitIndex.ToString("D2"), K_ZIGZAGX & nKitMachIndex.ToString("D2"), nVal, m_MainWindow.GetKitIniFile())
+
+ dVal = KitMachsLstBx.Items(nKitMachIndex - 1).dStepX
+ m_KitList(nKitIndex - 1).KitMachList(nKitMachIndex - 1).dStepX = dVal
+ WritePrivateProfileString(S_KIT & nKitIndex.ToString("D2"), K_STEPX & nKitMachIndex.ToString("D2"), dVal, m_MainWindow.GetKitIniFile())
+
+ nVal = KitMachsLstBx.Items(nKitMachIndex - 1).nZigZagY
+ m_KitList(nKitIndex - 1).KitMachList(nKitMachIndex - 1).nZigZagY = nVal
+ WritePrivateProfileString(S_KIT & nKitIndex.ToString("D2"), K_ZIGZAGY & nKitMachIndex.ToString("D2"), nVal, m_MainWindow.GetKitIniFile())
+
+ dVal = KitMachsLstBx.Items(nKitMachIndex - 1).dStepY
+ m_KitList(nKitIndex - 1).KitMachList(nKitMachIndex - 1).dStepY = dVal
+ WritePrivateProfileString(S_KIT & nKitIndex.ToString("D2"), K_STEPY & nKitMachIndex.ToString("D2"), dVal, m_MainWindow.GetKitIniFile())
+
+ dVal = KitMachsLstBx.Items(nKitMachIndex - 1).dLiLen
+ m_KitList(nKitIndex - 1).KitMachList(nKitMachIndex - 1).dLiLen = dVal
+ WritePrivateProfileString(S_KIT & nKitIndex.ToString("D2"), K_LILEN & nKitMachIndex.ToString("D2"), dVal, m_MainWindow.GetKitIniFile())
+
+ dVal = KitMachsLstBx.Items(nKitMachIndex - 1).dLiHeight
+ m_KitList(nKitIndex - 1).KitMachList(nKitMachIndex - 1).dLiHeight = dVal
+ WritePrivateProfileString(S_KIT & nKitIndex.ToString("D2"), K_LIHEIGHT & nKitMachIndex.ToString("D2"), dVal, m_MainWindow.GetKitIniFile())
+
+ nKitMachIndex += 1
+ Next
+
+ IsModifiedReset()
+ End Sub
+
+ Private Sub RemoveKitBtn_Click(sender As Object, e As RoutedEventArgs) Handles RemoveKitBtn.Click
+ Dim SelectedKit As Kit = DirectCast(KitsLstBx.SelectedItem, Kit)
+ If Not IsNothing(SelectedKit) Then
+ RemoveKit(SelectedKit)
+ End If
+
+ End Sub
+
+ Private Sub RemoveKitMachBtn_Click(sender As Object, e As RoutedEventArgs) Handles RemoveKitMachBtn.Click
+ Dim SelectedKit As Kit = DirectCast(KitsLstBx.SelectedItem, Kit)
+ Dim SelectedKitMach As KitMach = DirectCast(KitMachsLstBx.SelectedItem, KitMach)
+ ' Se sono presenti più di 1 KitMach elimina quello selezionato altrimenti elimina l'intero Kit
+ If KitMachsLstBx.Items.Count > 1 Then
+ If Not IsNothing(SelectedKitMach) Then
+ RemoveKitMach(SelectedKit, SelectedKitMach)
+ End If
+ Else
+ RemoveKit(SelectedKit)
+ End If
+ End Sub
+
+ Private Sub MoveUpKitMachBtn_Click(sender As Object, e As RoutedEventArgs) Handles MoveUpKitMachBtn.Click
+ Dim SelectedKit As Kit = DirectCast(KitsLstBx.SelectedItem, Kit)
+ Dim SelectedKitMach As KitMach = DirectCast(KitMachsLstBx.SelectedItem, KitMach)
+
+ If Not IsNothing(SelectedKitMach) Then
+ ' Verifico che non sia il primo KitMach della lista
+ If SelectedKitMach.nId > 1 Then
+ ' Riscrivo i parametri del KitMach precedente con gli indici del KitMach selezionato
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_TOOL & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId - 2).sToolUUID, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_TOOLNAME & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId - 2).sToolName, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ACTIVE & SelectedKitMach.nId.ToString("D2"), If(KitMachsLstBx.Items(SelectedKitMach.nId - 2).bActive, 1, 0), m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_CONTOUR & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId - 2).nContour, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ZIGZAGX & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId - 2).nZigZagY, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_STEPX & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId - 2).dStepY, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ZIGZAGY & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId - 2).nZigZagX, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_STEPY & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId - 2).dStepX, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_LILEN & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId - 2).dLiLen, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_LIHEIGHT & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId - 2).dLiHeight, m_MainWindow.GetKitIniFile())
+ ' Riscrivo i parametri del KitMach selezionato con gli indici del KitMach precedente
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_TOOL & (SelectedKitMach.nId - 1).ToString("D2"), SelectedKitMach.sToolUUID, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_TOOLNAME & (SelectedKitMach.nId - 1).ToString("D2"), SelectedKitMach.sToolName, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ACTIVE & (SelectedKitMach.nId - 1).ToString("D2"), If(SelectedKitMach.bActive, 1, 0), m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_CONTOUR & (SelectedKitMach.nId - 1).ToString("D2"), SelectedKitMach.nContour, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ZIGZAGX & (SelectedKitMach.nId - 1).ToString("D2"), SelectedKitMach.nZigZagY, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_STEPX & (SelectedKitMach.nId - 1).ToString("D2"), SelectedKitMach.dStepY, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ZIGZAGY & (SelectedKitMach.nId - 1).ToString("D2"), SelectedKitMach.nZigZagX, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_STEPY & (SelectedKitMach.nId - 1).ToString("D2"), SelectedKitMach.dStepX, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_LILEN & (SelectedKitMach.nId - 1).ToString("D2"), SelectedKitMach.dLiLen, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_LIHEIGHT & (SelectedKitMach.nId - 1).ToString("D2"), SelectedKitMach.dLiHeight, m_MainWindow.GetKitIniFile())
+
+ m_PreviousSelectedKitIndex = KitsLstBx.SelectedItem.nId - 1
+ ' Imposto la selezione sul KitMach che ora è stato spostato su di 1 posto
+ m_PreviousSelectedKitMachIndex = KitMachsLstBx.SelectedItem.nId - 2
+ LoadPage()
+ End If
+ End If
+ End Sub
+
+ Private Sub MoveDownKitMachBtn_Click(sender As Object, e As RoutedEventArgs) Handles MoveDownKitMachBtn.Click
+ Dim SelectedKit As Kit = DirectCast(KitsLstBx.SelectedItem, Kit)
+ Dim SelectedKitMach As KitMach = DirectCast(KitMachsLstBx.SelectedItem, KitMach)
+
+ If Not IsNothing(SelectedKitMach) Then
+ ' Verifico che non sia l'ultimo KitMach della lista
+ If SelectedKitMach.nId < KitMachsLstBx.Items.Count Then
+ ' Riscrivo i parametri del KitMach seguente con gli indici del KitMach selezionato
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_TOOL & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId).sToolUUID, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_TOOLNAME & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId).sToolName, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ACTIVE & SelectedKitMach.nId.ToString("D2"), If(KitMachsLstBx.Items(SelectedKitMach.nId).bActive, 1, 0), m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_CONTOUR & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId).nContour, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ZIGZAGX & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId).nZigZagY, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_STEPX & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId).dStepY, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ZIGZAGY & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId).nZigZagX, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_STEPY & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId).dStepX, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_LILEN & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId).dLiLen, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_LIHEIGHT & SelectedKitMach.nId.ToString("D2"), KitMachsLstBx.Items(SelectedKitMach.nId).dLiHeight, m_MainWindow.GetKitIniFile())
+ ' Riscrivo i parametri del KitMach selezionato con gli indici del KitMach seguente
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_TOOL & (SelectedKitMach.nId + 1).ToString("D2"), SelectedKitMach.sToolUUID, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_TOOLNAME & (SelectedKitMach.nId + 1).ToString("D2"), SelectedKitMach.sToolName, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ACTIVE & (SelectedKitMach.nId + 1).ToString("D2"), If(SelectedKitMach.bActive, 1, 0), m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_CONTOUR & (SelectedKitMach.nId + 1).ToString("D2"), SelectedKitMach.nContour, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ZIGZAGX & (SelectedKitMach.nId + 1).ToString("D2"), SelectedKitMach.nZigZagY, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_STEPX & (SelectedKitMach.nId + 1).ToString("D2"), SelectedKitMach.dStepY, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ZIGZAGY & (SelectedKitMach.nId + 1).ToString("D2"), SelectedKitMach.nZigZagX, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_STEPY & (SelectedKitMach.nId + 1).ToString("D2"), SelectedKitMach.dStepX, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_LILEN & (SelectedKitMach.nId + 1).ToString("D2"), SelectedKitMach.dLiLen, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_LIHEIGHT & (SelectedKitMach.nId + 1).ToString("D2"), SelectedKitMach.dLiHeight, m_MainWindow.GetKitIniFile())
+
+ m_PreviousSelectedKitIndex = KitsLstBx.SelectedItem.nId - 1
+ ' Imposto la selezione sul KitMach che ora è stato spostato giù di 1 posto
+ m_PreviousSelectedKitMachIndex = KitMachsLstBx.SelectedItem.nId
+ LoadPage()
+ End If
+ End If
+ End Sub
+
+ Private Sub NewKitMachBtn_Click(sender As Object, e As RoutedEventArgs) Handles NewKitMachBtn.Click
+ ' Se ci sono state modifiche chiedo se si desidera salvarle
+ If Not SaveKit() Then
+ KitsLstBx.SelectedItem = m_OldItem ' m_OldItemNotModified
+ Exit Sub
+ End If
+
+ If Not IsNothing(KitsLstBx.SelectedItem) Then
+ ' Aggiungo un nuovo KitMach con i valori di default a 0 e l'Id incrementato di 1 rispetto al numero di KitMach già presenti
+ Dim nNewKitMachIndex As Integer = m_KitMachList.Count + 1
+
+ ' Scrivo subito i valori di default del nuovo KitMach nell'INI
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_TOOL & nNewKitMachIndex.ToString("D2"), ToolUuidList(0), m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_TOOLNAME & nNewKitMachIndex.ToString("D2"), "default", m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ACTIVE & nNewKitMachIndex.ToString("D2"), 0, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_CONTOUR & nNewKitMachIndex.ToString("D2"), 0, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ZIGZAGX & nNewKitMachIndex.ToString("D2"), 0, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_STEPX & nNewKitMachIndex.ToString("D2"), 0, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_ZIGZAGY & nNewKitMachIndex.ToString("D2"), 0, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_STEPY & nNewKitMachIndex.ToString("D2"), 0, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_LILEN & nNewKitMachIndex.ToString("D2"), 0, m_MainWindow.GetKitIniFile())
+ WritePrivateProfileString(S_KIT & m_KitList(KitsLstBx.SelectedIndex).nId.ToString("D2"), K_LIHEIGHT & nNewKitMachIndex.ToString("D2"), 0, m_MainWindow.GetKitIniFile())
+
+ m_PreviousSelectedKitIndex = KitsLstBx.SelectedItem.nId - 1
+ LoadPage()
+
+ End If
+ End Sub
+
+ Friend Sub AddKit(value As Kit)
+
+ WritePrivateProfileString(S_KIT & value.nId.ToString("D2"), K_KITNAME, value.sName, m_sKitIniFile)
+
+ Dim kitMachIndex As Integer = 1
+ WritePrivateProfileString(S_KIT & value.nId.ToString("D2"), K_TOOL & kitMachIndex.ToString("D2"), "default", m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & value.nId.ToString("D2"), K_TOOLNAME & kitMachIndex.ToString("D2"), "default", m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & value.nId.ToString("D2"), K_ACTIVE & kitMachIndex.ToString("D2"), 0, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & value.nId.ToString("D2"), K_CONTOUR & kitMachIndex.ToString("D2"), 0, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & value.nId.ToString("D2"), K_ZIGZAGX & kitMachIndex.ToString("D2"), 0, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & value.nId.ToString("D2"), K_STEPX & kitMachIndex.ToString("D2"), 0, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & value.nId.ToString("D2"), K_ZIGZAGY & kitMachIndex.ToString("D2"), 0, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & value.nId.ToString("D2"), K_STEPY & kitMachIndex.ToString("D2"), 0, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & value.nId.ToString("D2"), K_LILEN & kitMachIndex.ToString("D2"), 0, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & value.nId.ToString("D2"), K_LIHEIGHT & kitMachIndex.ToString("D2"), 0, m_sKitIniFile)
+
+ ' aggiungo una lista di parametri di default in modo che abbia almeno un KitMach
+ value.KitMachList.Add(New KitMach(1))
+
+ m_KitList.Add(value)
+ End Sub
+
+ Friend Sub RemoveKit(value As Kit)
+ ' Rimuovo il Kit dall'elenco
+ Dim Index As Integer
+ For Index = 0 To m_KitList.Count - 1
+ If m_KitList(Index).nId = value.nId Then
+ m_KitList.RemoveAt(Index)
+ Exit For
+ End If
+ Next
+
+ ' Cancello la Section del kit appena rimosso
+ WritePrivateProfileString(S_KIT & value.nId.ToString("D2"), Nothing, Nothing, m_sKitIniFile)
+
+ ' Modifico l'Id dei kit seguenti diminuendo ciascuno di 1 (in pratica li sposto più avanti)
+ Dim TempKit As Kit = Nothing
+ For I = Index To m_KitList.Count - 1
+ GetPrivateProfileKit(S_KIT, I + 2, K_KITNAME, TempKit, m_sKitIniFile, True)
+ WritePrivateProfileString(S_KIT & TempKit.nId.ToString("D2"), K_KITNAME, TempKit.sName, m_sKitIniFile)
+
+ For kitMachIndex = 1 To TempKit.KitMachList.Count
+ WritePrivateProfileString(S_KIT & TempKit.nId.ToString("D2"), K_TOOL & kitMachIndex.ToString("D2"), TempKit.KitMachList(kitMachIndex - 1).sToolUUID, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & TempKit.nId.ToString("D2"), K_TOOLNAME & kitMachIndex.ToString("D2"), TempKit.KitMachList(kitMachIndex - 1).sToolName, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & TempKit.nId.ToString("D2"), K_ACTIVE & kitMachIndex.ToString("D2"), If((TempKit.KitMachList(kitMachIndex - 1).bActive), 1, 0), m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & TempKit.nId.ToString("D2"), K_CONTOUR & kitMachIndex.ToString("D2"), TempKit.KitMachList(kitMachIndex - 1).nContour, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & TempKit.nId.ToString("D2"), K_ZIGZAGX & kitMachIndex.ToString("D2"), TempKit.KitMachList(kitMachIndex - 1).nZigZagX, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & TempKit.nId.ToString("D2"), K_STEPX & kitMachIndex.ToString("D2"), TempKit.KitMachList(kitMachIndex - 1).dStepX, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & TempKit.nId.ToString("D2"), K_ZIGZAGY & kitMachIndex.ToString("D2"), TempKit.KitMachList(kitMachIndex - 1).nZigZagY, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & TempKit.nId.ToString("D2"), K_STEPY & kitMachIndex.ToString("D2"), TempKit.KitMachList(kitMachIndex - 1).dStepY, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & TempKit.nId.ToString("D2"), K_LILEN & kitMachIndex.ToString("D2"), TempKit.KitMachList(kitMachIndex - 1).dLiLen, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & TempKit.nId.ToString("D2"), K_LIHEIGHT & kitMachIndex.ToString("D2"), TempKit.KitMachList(kitMachIndex - 1).dLiHeight, m_sKitIniFile)
+ Next
+ Next
+
+ ' Cancello la Section che avanza (duplicato della Section scritta prima, che ora precede questa che avanza)
+ WritePrivateProfileString(S_KIT & (m_KitList.Count + 1).ToString("D2"), Nothing, Nothing, m_sKitIniFile)
+
+ 'm_PreviousSelectedKitIndex = KitsLstBx.SelectedItem.nId - 1
+ m_PreviousSelectedKitIndex = 0
+ LoadPage()
+
+ End Sub
+
+ Friend Sub RemoveKitMach(KitValue As Kit, KitMachValue As KitMach)
+ ' Rimuovo il Kit dall'elenco
+ Dim Index As Integer
+ For Index = 0 To m_KitMachList.Count - 1
+ If m_KitMachList(Index).nId = KitMachValue.nId Then
+ m_KitMachList.RemoveAt(Index)
+ Exit For
+ End If
+ Next
+
+ KitValue.KitMachList.RemoveAt(Index)
+
+ ' Riparto dall'indice del KitMach successivo a quello appena rimosso e che ora si trova al posto di quello rimosso e decremento di 1 l'Id
+ For KitMachIndex = Index To m_KitMachList.Count - 1
+ m_KitMachList(KitMachIndex).nId -= 1
+ KitValue.KitMachList(KitMachIndex).nId -= 1
+
+ ' Riscrivo le key con Id decrementato (in pratica sovrascrivo le key del KitMach precedente)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_TOOL & m_KitMachList(KitMachIndex).nId.ToString("D2"), m_KitMachList(KitMachIndex).sToolUUID, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_TOOLNAME & m_KitMachList(KitMachIndex).nId.ToString("D2"), m_KitMachList(KitMachIndex).sToolName, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_ACTIVE & m_KitMachList(KitMachIndex).nId.ToString("D2"), If(m_KitMachList(KitMachIndex).bActive, 1, 0), m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_CONTOUR & m_KitMachList(KitMachIndex).nId.ToString("D2"), m_KitMachList(KitMachIndex).nContour, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_ZIGZAGX & m_KitMachList(KitMachIndex).nId.ToString("D2"), m_KitMachList(KitMachIndex).nZigZagX, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_STEPX & m_KitMachList(KitMachIndex).nId.ToString("D2"), m_KitMachList(KitMachIndex).dStepX, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_ZIGZAGY & m_KitMachList(KitMachIndex).nId.ToString("D2"), m_KitMachList(KitMachIndex).nZigZagY, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_STEPY & m_KitMachList(KitMachIndex).nId.ToString("D2"), m_KitMachList(KitMachIndex).dStepY, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_LILEN & m_KitMachList(KitMachIndex).nId.ToString("D2"), m_KitMachList(KitMachIndex).dLiLen, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_LIHEIGHT & m_KitMachList(KitMachIndex).nId.ToString("D2"), m_KitMachList(KitMachIndex).dLiHeight, m_sKitIniFile)
+ Next
+
+ ' Cancello le Key corrispondenti al KitMach appena rimosso
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_TOOL & (m_KitMachList.Count + 1).ToString("D2"), Nothing, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_TOOLNAME & (m_KitMachList.Count + 1).ToString("D2"), Nothing, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_ACTIVE & (m_KitMachList.Count + 1).ToString("D2"), Nothing, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_CONTOUR & (m_KitMachList.Count + 1).ToString("D2"), Nothing, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_ZIGZAGX & (m_KitMachList.Count + 1).ToString("D2"), Nothing, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_STEPX & (m_KitMachList.Count + 1).ToString("D2"), Nothing, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_ZIGZAGY & (m_KitMachList.Count + 1).ToString("D2"), Nothing, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_STEPY & (m_KitMachList.Count + 1).ToString("D2"), Nothing, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_LILEN & (m_KitMachList.Count + 1).ToString("D2"), Nothing, m_sKitIniFile)
+ WritePrivateProfileString(S_KIT & KitValue.nId.ToString("D2"), K_LIHEIGHT & (m_KitMachList.Count + 1).ToString("D2"), Nothing, m_sKitIniFile)
+
+ m_PreviousSelectedKitIndex = KitsLstBx.SelectedItem.nId - 1
+ m_PreviousSelectedKitMachIndex = 0
+ LoadPage()
+
+ End Sub
+
+ Private Sub KitsLstBx_PreviewMouseUp(sender As Object, e As MouseButtonEventArgs) Handles KitsLstBx.PreviewMouseUp
+
+ If Not SaveKit() Then
+ KitsLstBx.SelectedItem = m_OldItem
+ Exit Sub
+ End If
+
+ Dim SelectedKit As Kit = KitsLstBx.SelectedItem
+ If Not IsNothing(SelectedKit) Then
+ ' resetto la lista
+ m_KitMachList.Clear()
+ ' carico la lista dei KitMach relativi al Kit selezionato
+ For Each KitMach In KitsLstBx.SelectedItem.KitMachList
+
+ Dim KitMachItem = New KitMach(KitMach.nId, KitMach.SelTool, KitMach.sToolUUID, KitMach.sToolName, KitMach.bActive, KitMach.nContour, KitMach.nZigZagX, KitMach.dStepX, KitMach.nZigZagY, KitMach.dStepY, KitMach.dLiLen, KitMach.dLiHeight)
+ m_KitMachList.Add(KitMachItem)
+ Next
+ ' seleziono il primo elemento della lista dei Kit
+ KitMachsLstBx.SelectedItem = m_KitMachList(0)
+ ' carico i parametri relativi al KitMach selezionato
+ ContourTxBx.Text = DoubleToString(m_KitMachList(0).nContour, 3)
+ ZigZagYTxBx.Text = m_KitMachList(0).nZigZagY
+ StepYTxBx.Text = DoubleToString(m_KitMachList(0).dStepY, 3)
+ ZigZagXTxBx.Text = m_KitMachList(0).nZigZagX
+ StepXTxBx.Text = DoubleToString(m_KitMachList(0).dStepX, 3)
+
+ LiLenTxBx.Text = DoubleToString(m_KitMachList(0).dLiLen, 3)
+ LiHeightTxBx.Text = DoubleToString(m_KitMachList(0).dLiHeight, 3)
+
+ m_OldItem = KitsLstBx.SelectedItem
+
+ IsModifiedReset()
+ End If
+
+ End Sub
+
+ Friend Function SaveKit() As Boolean
+ If IsModified() Then
+ Dim SaveCurrKitWnd As New EgtMsgBox(m_MainWindow, "", EgtMsg(91124), EgtMsgBox.Buttons.YES_NO_CANCEL, EgtMsgBox.Icons.NULL)
+ Select Case SaveCurrKitWnd.m_nPressedBtn
+ Case 0 ' Annulla
+ Return False
+ Case 1 ' Si
+ Save(m_OldItem.nId)
+ Case 2 ' No
+ m_PreviousSelectedKitIndex = KitsLstBx.SelectedItem.nId - 1
+ LoadPage()
+ End Select
+ End If
+ Return True
+ End Function
+
+ Public ReadOnly Property IsModified() As Boolean
+ Get
+ If Not IsNothing(m_OldItem) Then
+ Dim nKitIndex As Integer = m_OldItem.nId
+ If nKitIndex <= m_KitList.Count Then
+ For Each KitMachItem In m_KitList(nKitIndex - 1).KitMachList
+ If KitMachItem.m_IsModifiedId OrElse KitMachItem.m_IsModifiedToolUUID OrElse KitMachItem.m_IsModifiedToolName OrElse KitMachItem.m_IsModifiedSelTool OrElse
+ KitMachItem.m_IsModifiedActive OrElse KitMachItem.m_IsModifiedContour OrElse KitMachItem.m_IsModifiedZigZagX OrElse
+ KitMachItem.m_IsModifiedZigZagY OrElse KitMachItem.m_IsModifiedStepX OrElse KitMachItem.m_IsModifiedStepY OrElse
+ KitMachItem.m_IsModifiedLiLen OrElse KitMachItem.m_IsModifiedLiHeight Then
+ Return True
+ End If
+ Next
+ End If
+ End If
+ Return False
+ End Get
+ End Property
+
+ Public Sub IsModifiedReset()
+ If Not IsNothing(m_OldItem) Then
+ Dim nKitIndex As Integer = m_OldItem.nId
+ If nKitIndex <= m_KitList.Count Then
+ For Each KitMachItem In m_KitList(nKitIndex - 1).KitMachList
+ KitMachItem.m_IsModifiedId = False
+ KitMachItem.m_IsModifiedToolUUID = False
+ KitMachItem.m_IsModifiedToolName = False
+ KitMachItem.m_IsModifiedSelTool = False
+ KitMachItem.m_IsModifiedActive = False
+ KitMachItem.m_IsModifiedContour = False
+ KitMachItem.m_IsModifiedZigZagX = False
+ KitMachItem.m_IsModifiedZigZagY = False
+ KitMachItem.m_IsModifiedStepX = False
+ KitMachItem.m_IsModifiedStepY = False
+ KitMachItem.m_IsModifiedLiLen = False
+ KitMachItem.m_IsModifiedLiHeight = False
+ Next
+ End If
+ End If
+ End Sub
+
+ Private Sub KitMachsLstBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles KitMachsLstBx.SelectionChanged
+ Dim SelectedKitMach As KitMach = KitMachsLstBx.SelectedItem
+ If Not IsNothing(SelectedKitMach) Then
+ ' carico i parametri relativi al KitMach selezionato
+ ContourTxBx.Text = DoubleToString(SelectedKitMach.nContour, 3)
+ ZigZagYTxBx.Text = SelectedKitMach.nZigZagY
+ StepYTxBx.Text = DoubleToString(SelectedKitMach.dStepY, 3)
+ ZigZagXTxBx.Text = SelectedKitMach.nZigZagX
+ StepXTxBx.Text = DoubleToString(SelectedKitMach.dStepX, 3)
+
+ LiLenTxBx.Text = DoubleToString(SelectedKitMach.dLiLen, 3)
+ LiHeightTxBx.Text = DoubleToString(SelectedKitMach.dLiHeight, 3)
+
+ End If
+ End Sub
+
+ Private Sub ContourTxBx_EgtClosed(sender As Object, e As EventArgs) Handles ContourTxBx.EgtClosed
+ Dim nTemp As Integer = 0
+ If Not IsNothing(KitMachsLstBx.SelectedItem) Then
+ nTemp = ContourTxBx.Text
+ KitMachsLstBx.SelectedItem.nContour = nTemp
+ m_OldItem.m_KitMachList(KitMachsLstBx.SelectedItem.nId - 1).nContour = nTemp
+ End If
+ End Sub
+
+ Private Sub ZigZagXTxBx_EgtClosed(sender As Object, e As EventArgs) Handles ZigZagXTxBx.EgtClosed
+ Dim nTemp As Integer = 0
+ If Not IsNothing(KitMachsLstBx.SelectedItem) Then
+ nTemp = ZigZagXTxBx.Text
+ KitMachsLstBx.SelectedItem.nZigZagX = nTemp
+ m_OldItem.m_KitMachList(KitMachsLstBx.SelectedItem.nId - 1).nZigZagX = nTemp
+ End If
+ End Sub
+
+ Private Sub StepXTxBx_EgtClosed(sender As Object, e As EventArgs) Handles StepXTxBx.EgtClosed
+ Dim dTemp As Double = 0
+ If Not IsNothing(KitMachsLstBx.SelectedItem) Then
+ StringToDouble(StepXTxBx.Text, dTemp)
+ KitMachsLstBx.SelectedItem.dStepX = dTemp
+ m_OldItem.m_KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dStepX = dTemp
+ End If
+ End Sub
+
+ Private Sub ZigZagYTxBx_EgtClosed(sender As Object, e As EventArgs) Handles ZigZagYTxBx.EgtClosed
+ Dim nTemp As Integer = 0
+ If Not IsNothing(KitMachsLstBx.SelectedItem) Then
+ nTemp = ZigZagYTxBx.Text
+ KitMachsLstBx.SelectedItem.nZigZagY = nTemp
+ m_OldItem.m_KitMachList(KitMachsLstBx.SelectedItem.nId - 1).nZigZagY = nTemp
+ End If
+ End Sub
+
+ Private Sub StepYTxBx_EgtClosed(sender As Object, e As EventArgs) Handles StepYTxBx.EgtClosed
+ Dim dTemp As Double = 0
+ If Not IsNothing(KitMachsLstBx.SelectedItem) Then
+ StringToDouble(StepYTxBx.Text, dTemp)
+ KitMachsLstBx.SelectedItem.dStepY = dTemp
+ m_OldItem.m_KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dStepY = dTemp
+ End If
+ End Sub
+
+ Private Sub LiLenTxBx_EgtClosed(sender As Object, e As EventArgs) Handles LiLenTxBx.EgtClosed
+ Dim dTemp As Double = 0
+ If Not IsNothing(KitMachsLstBx.SelectedItem) Then
+ StringToDouble(LiLenTxBx.Text, dTemp)
+ KitMachsLstBx.SelectedItem.dLiLen = dTemp
+ m_OldItem.m_KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dLiLen = dTemp
+ End If
+ End Sub
+
+ Private Sub LiHeightTxBx_EgtClosed(sender As Object, e As EventArgs) Handles LiHeightTxBx.EgtClosed
+ Dim dTemp As Double = 0
+ If Not IsNothing(KitMachsLstBx.SelectedItem) Then
+ StringToDouble(LiHeightTxBx.Text, dTemp)
+ KitMachsLstBx.SelectedItem.dLiHeight = dTemp
+ m_OldItem.m_KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dLiHeight = dTemp
+ End If
+ End Sub
+
+ Private Sub CheckBox_Click(sender As Object, e As RoutedEventArgs)
+ If Not IsNothing(KitMachsLstBx.SelectedItem) Then
+ m_OldItem.m_KitMachList(KitMachsLstBx.SelectedItem.nId - 1).bActive = KitMachsLstBx.SelectedItem.bActive
+ End If
+ End Sub
+
+ Private Sub ToolCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs)
+ If Not IsNothing(KitMachsLstBx.SelectedItem) Then
+ m_OldItem.m_KitMachList(KitMachsLstBx.SelectedItem.nId - 1).SelTool = KitMachsLstBx.SelectedItem.SelTool
+ m_OldItem.m_KitMachList(KitMachsLstBx.SelectedItem.nId - 1).sToolUUID = KitMachsLstBx.SelectedItem.sToolUUID
+ End If
+ End Sub
+
+ Friend Function GetPrivateProfileKit(
+ ByVal lpAppName As String,
+ ByVal lpIndex As Integer,
+ ByVal lpKeyName As String,
+ ByRef Kit As Kit,
+ ByVal lpFileName As String,
+ ByVal removeFlag As Boolean) As Boolean
+
+ Dim sVal As String = String.Empty
+ GetPrivateProfileString(lpAppName & lpIndex.ToString("D2"), lpKeyName, "", sVal, lpFileName)
+ If Not sVal.Equals("") Then
+ If removeFlag Then
+ Kit = New Kit(lpIndex - 1, sVal)
+ Else
+ Kit = New Kit(lpIndex, sVal)
+ End If
+ GetPrivateProfileKitMach(lpAppName, lpIndex, Kit, lpFileName)
+
+ Return True
+ End If
+ Return False
+
+ End Function
+
+ Friend Function WritePrivateProfileKit(
+ ByVal lpAppName As String,
+ ByVal lpKeyName As String,
+ ByVal Kit As Kit,
+ ByVal lpFileName As String) As Boolean
+
+ Dim KitStr As String = Nothing
+ If Not IsNothing(Kit) Then
+ KitStr = Kit.nId.ToString & "," & Kit.sName
+ End If
+ If WritePrivateProfileString(lpAppName, lpKeyName, KitStr, m_sKitIniFile) Then
+ Return True
+ End If
+ Return False
+ End Function
+
+ Friend Sub GetPrivateProfileKitMach(
+ ByVal lpAppName As String,
+ ByVal lpIndex As Integer,
+ ByRef Kit As Kit,
+ ByVal lpFileName As String)
+ Dim kitMachIndex As Integer = 1
+ Dim KitMachItem As KitMach = New KitMach
+
+ While GetPrivateProfileString(S_KIT & lpIndex.ToString("D2"), K_TOOLNAME & kitMachIndex.ToString("D2"), "", KitMachItem.sToolName, lpFileName)
+ KitMachItem.nId = kitMachIndex
+
+ GetPrivateProfileString(S_KIT & lpIndex.ToString("D2"), K_TOOL & kitMachIndex.ToString("D2"), "", KitMachItem.sToolUUID, lpFileName)
+ Dim nActive = 0
+ GetPrivateProfileString(S_KIT & lpIndex.ToString("D2"), K_ACTIVE & kitMachIndex.ToString("D2"), 0, nActive, lpFileName)
+ If (nActive = 1) Then KitMachItem.bActive = True Else KitMachItem.bActive = False
+ GetPrivateProfileString(S_KIT & lpIndex.ToString("D2"), K_CONTOUR & kitMachIndex.ToString("D2"), 0, KitMachItem.nContour, lpFileName)
+ GetPrivateProfileString(S_KIT & lpIndex.ToString("D2"), K_ZIGZAGX & kitMachIndex.ToString("D2"), 0, KitMachItem.nZigZagX, lpFileName)
+ GetPrivateProfileString(S_KIT & lpIndex.ToString("D2"), K_STEPX & kitMachIndex.ToString("D2"), 0, KitMachItem.dStepX, lpFileName)
+ GetPrivateProfileString(S_KIT & lpIndex.ToString("D2"), K_ZIGZAGY & kitMachIndex.ToString("D2"), 0, KitMachItem.nZigZagY, lpFileName)
+ GetPrivateProfileString(S_KIT & lpIndex.ToString("D2"), K_STEPY & kitMachIndex.ToString("D2"), 0, KitMachItem.dStepY, lpFileName)
+ GetPrivateProfileString(S_KIT & lpIndex.ToString("D2"), K_LILEN & kitMachIndex.ToString("D2"), 0, KitMachItem.dLiLen, lpFileName)
+ GetPrivateProfileString(S_KIT & lpIndex.ToString("D2"), K_LIHEIGHT & kitMachIndex.ToString("D2"), 0, KitMachItem.dLiHeight, lpFileName)
+ Kit.AddKitMach(KitMachItem)
+ KitMachItem = New KitMach
+ kitMachIndex += 1
+ End While
+ End Sub
+
+ Private Sub ActiveChBx_GotFocus(sender As Object, e As RoutedEventArgs)
+ Dim myCheckBox As CheckBox = sender
+ Dim Parent As DependencyObject = VisualTreeHelper.GetParent(myCheckBox)
+ While (Not (TypeOf (Parent) Is ListBoxItem))
+ Parent = VisualTreeHelper.GetParent(Parent)
+ End While
+ Dim myListBoxItem As ListBoxItem = Parent
+ myListBoxItem.IsSelected = True
+ End Sub
+
+ Private Sub ToolCmBx_GotFocus(sender As Object, e As RoutedEventArgs)
+ Dim myComboBox As ComboBox = sender
+ Dim Parent As DependencyObject = VisualTreeHelper.GetParent(myComboBox)
+ While (Not (TypeOf (Parent) Is ListBoxItem))
+ Parent = VisualTreeHelper.GetParent(Parent)
+ End While
+ Dim myListBoxItem As ListBoxItem = Parent
+ myListBoxItem.IsSelected = True
+ End Sub
+End Class
+
+Class Kit
+
+ ' Riferimento alla MainWindow
+ Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
+
+ Private m_nId As Integer
+ Private m_sName As String
+ Public m_KitMachList As List(Of KitMach)
+
+ Public ReadOnly Property nId As Integer
+ Get
+ Return m_nId
+ End Get
+ End Property
+
+ Public ReadOnly Property sName As String
+ Get
+ Return m_sName
+ End Get
+ End Property
+
+ Public Property KitMachList As List(Of KitMach)
+ Get
+ Return m_KitMachList
+ End Get
+ Set(value As List(Of KitMach))
+ m_KitMachList = value
+ End Set
+ End Property
+
+ Sub New(nId As Integer, sName As String, lKitMachList As List(Of KitMach))
+ m_nId = nId
+ m_sName = sName
+
+ m_KitMachList = lKitMachList
+
+ End Sub
+
+ Sub New(sName As String, KitList As ObservableCollection(Of Kit))
+ Dim nMaxId As Integer = 0
+ For Each Kit In KitList
+ If Kit.nId > nMaxId Then
+ nMaxId = Kit.nId
+ End If
+ Next
+ m_nId = nMaxId + 1
+ m_sName = sName
+ End Sub
+
+ Sub New(nId As Integer, sName As String)
+ m_nId = nId
+ m_sName = sName
+
+ m_KitMachList = New List(Of KitMach)
+
+ End Sub
+
+ Sub AddKitMach(kitMachItem As KitMach)
+ m_KitMachList.Add(kitMachItem)
+ End Sub
+
+End Class
+
+Class KitMach
+
+ ' Riferimento alla MainWindow
+ Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
+
+ Private m_nId As Integer
+ Private m_sToolUUID As String
+ Private m_sToolName As String
+ Private m_SelTool As Integer
+ Friend Shared m_ToolList As List(Of String)
+ Private m_bActive As Boolean
+ Private m_nContour As Integer
+ Private m_nZigZagX As Integer
+ Private m_dStepX As Double
+ Private m_nZigZagY As Integer
+ Private m_dStepY As Double
+ Private m_dLiLen As Double
+ Private m_dLiHeight As Double
+
+ Public m_IsModifiedId As Boolean = False
+ Public Property nId As Integer
+ Get
+ Return m_nId
+ End Get
+ Set(value As Integer)
+ If value <> m_nId Then
+ m_nId = value
+ m_IsModifiedId = True
+ End If
+ End Set
+ End Property
+
+ Public m_IsModifiedToolUUID As Boolean = False
+ Public Property sToolUUID As String
+ Get
+ Return m_sToolUUID
+ End Get
+ Set(value As String)
+ If value <> m_sToolUUID Then
+ m_sToolUUID = value
+ m_IsModifiedToolUUID = True
+ ' In base al ToolUUID appena modificato recupero il nome dell'utensile e aggiorno ToolName
+ Dim sToolNameDummy As String = m_sToolName
+ If (Not EgtTdbGetToolFromUUID(m_sToolUUID, m_sToolName)) Or
+ (Not m_MainWindow.m_MachinePageUC.m_PolishingsPageUC.ToolList.Contains(sToolNameDummy)) Or
+ (Not m_sToolName.Equals(sToolNameDummy)) Then
+ ' Se non riesco a recuperare il nome o il nome recuperato non è presente nella lista dei Tool caricati
+ ' cerco tra i ToolUuid caricati quello che restituisca un nome uguale al nome dell'utensile corrente.
+ ' Se lo trovo assegno il ToolUuid che corrisponde al nome dell'utensile corrente all'utensile corrente.
+
+ If m_MainWindow.m_MachinePageUC.m_PolishingsPageUC.ToolList.Contains(sToolNameDummy) And
+ (Not m_sToolName.Equals(sToolNameDummy)) Then
+ m_sToolName = sToolNameDummy
+ End If
+
+ For Each sToolUuidItem In m_MainWindow.m_MachinePageUC.m_PolishingsPageUC.ToolUuidList
+ EgtTdbGetToolFromUUID(sToolUuidItem, sToolNameDummy)
+ If sToolNameDummy.Equals(m_sToolName) Then
+ m_sToolUUID = sToolUuidItem
+ Exit For
+ End If
+ Next
+ End If
+ End If
+ End Set
+ End Property
+
+ Public m_IsModifiedToolName As Boolean = False
+ Public Property sToolName As String
+ Get
+ Return m_sToolName
+ End Get
+ Set(value As String)
+ If value <> m_sToolName Then
+ m_sToolName = value
+ m_IsModifiedToolName = True
+ End If
+ End Set
+ End Property
+
+ Public m_IsModifiedSelTool As Boolean = False
+ Public Property SelTool As Integer
+ Get
+ Return m_SelTool
+ End Get
+ Set(value As Integer)
+ If value <> m_SelTool Then
+ m_SelTool = value
+ m_IsModifiedSelTool = True
+ End If
+ End Set
+ End Property
+
+ Public Property ToolList As List(Of String)
+ Get
+ Return m_ToolList
+ End Get
+ Set(value As List(Of String))
+ m_ToolList = value
+ End Set
+ End Property
+
+ Public m_IsModifiedActive As Boolean = False
+ Public Property bActive As Boolean
+ Get
+ Return m_bActive
+ End Get
+ Set(value As Boolean)
+ If value <> m_bActive Then
+ m_bActive = value
+ m_IsModifiedActive = True
+ End If
+ End Set
+ End Property
+
+ Public m_IsModifiedContour As Boolean = False
+ Public Property nContour As Integer
+ Get
+ Return m_nContour
+ End Get
+ Set(value As Integer)
+ If value <> m_nContour Then
+ m_nContour = value
+ m_IsModifiedContour = True
+ End If
+ End Set
+ End Property
+
+ Public m_IsModifiedZigZagX As Boolean = False
+ Public Property nZigZagX As Integer
+ Get
+ Return m_nZigZagX
+ End Get
+ Set(value As Integer)
+ If value <> m_nZigZagX Then
+ m_nZigZagX = value
+ m_IsModifiedZigZagX = True
+ End If
+ End Set
+ End Property
+
+ Public m_IsModifiedStepX As Boolean = False
+ Public Property dStepX As Double
+ Get
+ Return m_dStepX
+ End Get
+ Set(value As Double)
+ If value <> m_dStepX Then
+ m_dStepX = value
+ m_IsModifiedStepX = True
+ End If
+ End Set
+ End Property
+
+ Public m_IsModifiedZigZagY As Boolean = False
+ Public Property nZigZagY As Integer
+ Get
+ Return m_nZigZagY
+ End Get
+ Set(value As Integer)
+ If value <> m_nZigZagY Then
+ m_nZigZagY = value
+ m_IsModifiedZigZagY = True
+ End If
+ End Set
+ End Property
+
+ Public m_IsModifiedStepY As Boolean = False
+ Public Property dStepY As Double
+ Get
+ Return m_dStepY
+ End Get
+ Set(value As Double)
+ If value <> m_dStepY Then
+ m_dStepY = value
+ m_IsModifiedStepY = True
+ End If
+ End Set
+ End Property
+
+ Public m_IsModifiedLiLen As Boolean = False
+ Public Property dLiLen As Double
+ Get
+ Return m_dLiLen
+ End Get
+ Set(value As Double)
+ If value <> m_dLiLen Then
+ m_dLiLen = value
+ m_IsModifiedLiLen = True
+ End If
+ End Set
+ End Property
+
+ Public m_IsModifiedLiHeight As Boolean = False
+ Public Property dLiHeight As Double
+ Get
+ Return m_dLiHeight
+ End Get
+ Set(value As Double)
+ If value <> m_dLiHeight Then
+ m_dLiHeight = value
+ m_IsModifiedLiHeight = True
+ End If
+ End Set
+ End Property
+
+ Sub New()
+ m_nId = 0
+ m_SelTool = 0
+ m_sToolUUID = "default"
+ m_sToolName = "default"
+ m_bActive = False
+ m_nContour = 0
+ m_nZigZagX = 0
+ m_dStepX = 0
+ m_nZigZagY = 0
+ m_dStepY = 0
+ m_dLiLen = 0
+ m_dLiHeight = 0
+ End Sub
+
+ Sub New(nId As Integer)
+ m_nId = nId
+ m_SelTool = 0
+ m_sToolUUID = "default"
+ m_sToolName = "default"
+ m_bActive = False
+ m_nContour = 0
+ m_nZigZagX = 0
+ m_dStepX = 0
+ m_nZigZagY = 0
+ m_dStepY = 0
+ m_dLiLen = 0
+ m_dLiHeight = 0
+ End Sub
+
+ Sub New(nId As Integer, selTool As Integer, sToolUUID As String, sToolName As String, bActive As Boolean, nContour As Integer, nZigZagX As Integer, dStepX As Double, nZigZagY As Integer, dStepY As Double, dLiLen As Double, dLiHeight As Double)
+ m_nId = nId
+ m_SelTool = selTool
+ m_sToolUUID = sToolUUID
+ m_sToolName = sToolName
+ m_bActive = bActive
+ m_nContour = nContour
+ m_nZigZagX = nZigZagX
+ m_dStepX = dStepX
+ m_nZigZagY = nZigZagY
+ m_dStepY = dStepY
+ m_dLiLen = dLiLen
+ m_dLiHeight = dLiHeight
+ End Sub
+
+End Class
diff --git a/Resources/Contour.png b/Resources/Contour.png
new file mode 100644
index 0000000..da173da
Binary files /dev/null and b/Resources/Contour.png differ
diff --git a/Resources/ZigZagX.png b/Resources/ZigZagX.png
new file mode 100644
index 0000000..6f6b931
Binary files /dev/null and b/Resources/ZigZagX.png differ
diff --git a/Resources/ZigZagY.png b/Resources/ZigZagY.png
new file mode 100644
index 0000000..bcdcf93
Binary files /dev/null and b/Resources/ZigZagY.png differ