diff --git a/EgtBEAMWALL.Optimizer/ConfigurationPage/ConfigurationPageVM.vb b/EgtBEAMWALL.Optimizer/ConfigurationPage/ConfigurationPageVM.vb
index 77663dcf..a1d7bfad 100644
--- a/EgtBEAMWALL.Optimizer/ConfigurationPage/ConfigurationPageVM.vb
+++ b/EgtBEAMWALL.Optimizer/ConfigurationPage/ConfigurationPageVM.vb
@@ -68,6 +68,7 @@ Public Class ConfigurationPageVM
End Get
End Property
+ Public OrigSelectedLanguage As Language
Private m_SelectedLanguage As Language
Public Property SelectedLanguage As Language
Get
@@ -80,6 +81,7 @@ Public Class ConfigurationPageVM
End Set
End Property
+ Public nOrigSelMeasureUnit As Integer = If(EgtUiUnitsAreMM(), MeasureUnitOpt.MM, MeasureUnitOpt.INCH)
Public Property SelMeasureUnit As Integer
Get
Return If(EgtUiUnitsAreMM(), MeasureUnitOpt.MM, MeasureUnitOpt.INCH)
@@ -94,6 +96,7 @@ Public Class ConfigurationPageVM
End Set
End Property
+ Public sOrigSectionTime As String
Private m_SectionTime As Double
Public Property SectionTime As String
Get
@@ -107,6 +110,7 @@ Public Class ConfigurationPageVM
End Set
End Property
+ Public sOrigPartTime As String
Private m_PartTime As Double
Public Property PartTime As String
Get
@@ -120,6 +124,7 @@ Public Class ConfigurationPageVM
End Set
End Property
+ Public bOrigPrintLabel_IsChecked As Boolean
Private m_bPrintLabel_IsChecked As Boolean
Public Property bPrintLabel_IsChecked As String
Get
@@ -144,6 +149,7 @@ Public Class ConfigurationPageVM
End Get
End Property
+ Public bOrigExternalBackupActive As Boolean
Private m_bExternalBackupActive As Boolean
Public Property bExternalBackupActive As Boolean
Get
@@ -155,6 +161,7 @@ Public Class ConfigurationPageVM
End Set
End Property
+ Public sOrigExternalBackupFolderPath As String
Private m_ExternalBackupFolderPath As String
Public Property ExternalBackupFolderPath As String
Get
@@ -173,6 +180,7 @@ Public Class ConfigurationPageVM
End Get
End Property
+ Public OrigSelReminder As IdNameStruct
Private m_SelReminder As IdNameStruct
Public Property SelReminder As IdNameStruct
Get
@@ -579,16 +587,23 @@ Public Class ConfigurationPageVM
Exit For
End If
Next
+ OrigSelectedLanguage = m_SelectedLanguage
' leggo SectionTime e PartTime
GetMainPrivateProfileString(S_NEST, K_SECTIONTIME, "", SectionTime)
+ sOrigSectionTime = SectionTime
GetMainPrivateProfileString(S_NEST, K_PARTTIME, "", PartTime)
+ sOrigPartTime = PartTime
m_bPrintLabel_IsChecked = (GetMainPrivateProfileInt(S_PRINTER, K_ENABLE, 0) <> 0)
+ bOrigPrintLabel_IsChecked = m_bPrintLabel_IsChecked
' leggo dati per backup
GetMainPrivateProfileString(S_BACKUPANDRESTORE, K_EXTERNALFILEPATH, "", m_ExternalBackupFolderPath)
+ sOrigExternalBackupFolderPath = m_ExternalBackupFolderPath
Dim nDefaultReminderFrequency As Integer = GetMainPrivateProfileInt(S_BACKUPANDRESTORE, K_REMINDERFREQUENCY, 1)
SelReminder = m_ReminderList.FirstOrDefault(Function(x) x.Id = nDefaultReminderFrequency)
+ OrigSelReminder = SelReminder
Dim nExternalBackupActive As Integer = GetMainPrivateProfileInt(S_BACKUPANDRESTORE, K_EXTERNALBACKUPACTIVE, 0)
m_bExternalBackupActive = nExternalBackupActive > 0
+ bOrigExternalBackupActive = m_bExternalBackupActive
SetMachineParameter_Visibility(False)
SetMachine_Visibility(False)
' Recupero flag per verificare se fare solo l'importazione del btl o anche la verifica
@@ -629,6 +644,26 @@ Public Class ConfigurationPageVM
Return False
End Function
+ Friend Function SaveConfigPage() As Boolean
+ If OrigSelectedLanguage.Name <> m_SelectedLanguage.Name OrElse
+ sOrigSectionTime <> SectionTime OrElse
+ sOrigPartTime <> PartTime OrElse
+ bOrigPrintLabel_IsChecked <> m_bPrintLabel_IsChecked OrElse
+ sOrigExternalBackupFolderPath <> m_ExternalBackupFolderPath OrElse
+ OrigSelReminder.Name <> SelReminder.Name OrElse
+ bOrigExternalBackupActive <> m_bExternalBackupActive OrElse
+ nOrigSelMeasureUnit <> SelMeasureUnit Then
+ Select Case EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62593), EgtMsg(15003), MessageBoxButton.YesNo, MessageBoxImage.Question)
+ Case MessageBoxResult.Yes
+ VerifyConfigPageModification()
+ Return True
+ Case MessageBoxResult.No
+ Return False
+ End Select
+ End If
+ Return True
+ End Function
+
''''
'''' Seleziona il tema se presente
''''
diff --git a/EgtBEAMWALL.Optimizer/ConfigurationPage/ConfigurationProgramV.xaml b/EgtBEAMWALL.Optimizer/ConfigurationPage/ConfigurationProgramV.xaml
index 44917fd2..d928b011 100644
--- a/EgtBEAMWALL.Optimizer/ConfigurationPage/ConfigurationProgramV.xaml
+++ b/EgtBEAMWALL.Optimizer/ConfigurationPage/ConfigurationProgramV.xaml
@@ -19,19 +19,21 @@
Style="{StaticResource Optimizer_TabControl}">
+
+
+
-
+
+
-
-
-
+
diff --git a/EgtBEAMWALL.Optimizer/ForcedStrategyPanel/ForcedStrategyPanelVM.vb b/EgtBEAMWALL.Optimizer/ForcedStrategyPanel/ForcedStrategyPanelVM.vb
index c3b8b9e6..8bc95407 100644
--- a/EgtBEAMWALL.Optimizer/ForcedStrategyPanel/ForcedStrategyPanelVM.vb
+++ b/EgtBEAMWALL.Optimizer/ForcedStrategyPanel/ForcedStrategyPanelVM.vb
@@ -29,10 +29,22 @@ Public Class ForcedStrategyPanelVM
End Get
Set(value As Strategy)
m_SelStrategy = value
+ SetUpdate_Visibility(False)
NotifyPropertyChanged(NameOf(SelStrategy))
End Set
End Property
+ Private m_bUpdate_Visibility As Visibility = Visibility.Collapsed
+ Public ReadOnly Property Update_Visibility As Visibility
+ Get
+ Return m_bUpdate_Visibility
+ End Get
+ End Property
+ Friend Sub SetUpdate_Visibility(value As Boolean)
+ m_bUpdate_Visibility = If(value, Visibility.Visible, Visibility.Collapsed)
+ NotifyPropertyChanged(NameOf(Update_Visibility))
+ End Sub
+
Private m_CurrentFeature As BTLFeatureM
' Definizione Comandi
diff --git a/EgtBEAMWALL.Optimizer/MainWindow/MainWindowV.xaml.vb b/EgtBEAMWALL.Optimizer/MainWindow/MainWindowV.xaml.vb
index e51b4498..9c3fc7c5 100644
--- a/EgtBEAMWALL.Optimizer/MainWindow/MainWindowV.xaml.vb
+++ b/EgtBEAMWALL.Optimizer/MainWindow/MainWindowV.xaml.vb
@@ -56,6 +56,13 @@ Public Class MainWindowV
e.Cancel = True
Return
End If
+ If Map.refStrategyManagerVM.bIsModifyStrategy Then
+ Map.refStrategyManagerVM.SaveCustomConfigJson()
+ End If
+ If Not Map.refConfigurationPageVM.SaveConfigPage() Then
+ e.Cancel = True
+ Return
+ End If
If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
e.Cancel = True
Return
diff --git a/EgtBEAMWALL.Optimizer/StrategyManager/ParameterStrategyV.xaml b/EgtBEAMWALL.Optimizer/StrategyManager/ParameterStrategyV.xaml
index 1102d80d..1e7ac409 100644
--- a/EgtBEAMWALL.Optimizer/StrategyManager/ParameterStrategyV.xaml
+++ b/EgtBEAMWALL.Optimizer/StrategyManager/ParameterStrategyV.xaml
@@ -4,137 +4,151 @@
xmlns:OPTIMIZER="clr-namespace:EgtBEAMWALL.Optimizer"
VerticalAlignment="Top"
Margin="5,10,0,0">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerV.xaml b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerV.xaml
index 974960f7..0b000e64 100644
--- a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerV.xaml
+++ b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerV.xaml
@@ -144,21 +144,8 @@
-
-
-
-
-
-
-
-
+
diff --git a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerVM.vb b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerVM.vb
index ee65396f..ba6fe1ad 100644
--- a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerVM.vb
+++ b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerVM.vb
@@ -106,9 +106,8 @@ Public Class StrategyManagerVM
TmpImage = ImageRoot & Item.sImage
Item.sImage = TmpImage
End If
- ' Gestisco visibilita' pulsante Update Feature
- SetUpdate_Visibility(If(Item.sName <> "Feature", True, False))
m_SelTreeItem = Item
+ SetUpdate_Visibility(False)
NotifyPropertyChanged(NameOf(SelTreeItem))
End Sub
@@ -528,6 +527,11 @@ Public Class StrategyManagerVM
Public Sub MoveUpSelectedStrategy()
' Controllo se SelectedActiveStrategy se è nullo esco
If IsNothing(m_SelTreeItem.SelActiveStrategy) Then Return
+ ' Trova l’elemento con indice -1
+ Dim mRemovedItemStrategyList As List(Of Strategy) = m_SelTreeItem.StrategyList.Where(Function(s) s.nIndexInList = -1).ToList()
+ For Each RemovedItemStrategy In mRemovedItemStrategyList
+ m_SelTreeItem.StrategyList.Remove(RemovedItemStrategy)
+ Next
' Recupero indice elemento selezionato in lista
Dim IndexActiveStrategy As Integer = m_SelTreeItem.StrategyList.IndexOf(m_SelTreeItem.SelActiveStrategy)
' Recupero indice elemento selezionato in lista
@@ -543,9 +547,14 @@ Public Class StrategyManagerVM
For Index As Integer = 0 To m_SelTreeItem.StrategyList.Count - 1
m_SelTreeItem.StrategyList(Index).nIndexInList = Index
Next
+ ' Reinserisco elementi rimossi
+ For Each RemovedItemStrategy In mRemovedItemStrategyList
+ m_SelTreeItem.StrategyList.Add(RemovedItemStrategy)
+ Next
' Setto a true booleano per modifica
SetbIsModifyStrategy(True)
' Aggiorno la lista
+ m_SelTreeItem.AvailableStrategyList_View.Refresh()
m_SelTreeItem.ActiveStrategyList_View.Refresh()
End Sub
@@ -567,6 +576,11 @@ Public Class StrategyManagerVM
'''
Public Sub MoveDownSelectedStrategy()
If IsNothing(m_SelTreeItem.SelActiveStrategy) Then Return
+ ' Trova l’elemento con indice -1
+ Dim mRemovedItemStrategyList As List(Of Strategy) = m_SelTreeItem.StrategyList.Where(Function(s) s.nIndexInList = -1).ToList()
+ For Each RemovedItemStrategy In mRemovedItemStrategyList
+ m_SelTreeItem.StrategyList.Remove(RemovedItemStrategy)
+ Next
' Recupero indice elemento selezionato in lista
Dim IndexActiveStrategy As Integer = m_SelTreeItem.StrategyList.IndexOf(m_SelTreeItem.SelActiveStrategy)
' Recupero indice elemento selezionato in lista
@@ -582,9 +596,14 @@ Public Class StrategyManagerVM
For Index As Integer = 0 To m_SelTreeItem.StrategyList.Count - 1
m_SelTreeItem.StrategyList(Index).nIndexInList = Index
Next
+ ' Reinserisco elementi rimossi
+ For Each RemovedItemStrategy In mRemovedItemStrategyList
+ m_SelTreeItem.StrategyList.Add(RemovedItemStrategy)
+ Next
' Setto a true booleano per modifica
SetbIsModifyStrategy(True)
' Aggiorno la lista
+ m_SelTreeItem.AvailableStrategyList_View.Refresh()
m_SelTreeItem.ActiveStrategyList_View.Refresh()
End Sub
@@ -1086,6 +1105,8 @@ Public Class Topology
End Get
Set(value As Strategy)
m_SelParamStrategy = value
+ ' Gestisco visibilita' pulsante Update Feature
+ Map.refStrategyManagerVM.SetUpdate_Visibility(If(Map.refStrategyManagerVM.SelTreeItem.sName <> "Feature", True, False))
NotifyPropertyChanged(NameOf(SelParamStrategy))
End Set
End Property
diff --git a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyV.xaml b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyV.xaml
index 05410960..d775fa99 100644
--- a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyV.xaml
+++ b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyV.xaml
@@ -70,14 +70,6 @@
-
-
diff --git a/EgtBEAMWALL.Optimizer/Utility/Dictionary.xaml b/EgtBEAMWALL.Optimizer/Utility/Dictionary.xaml
index 08c7a3c4..bfc98f54 100644
--- a/EgtBEAMWALL.Optimizer/Utility/Dictionary.xaml
+++ b/EgtBEAMWALL.Optimizer/Utility/Dictionary.xaml
@@ -836,6 +836,13 @@
+
+