diff --git a/EgtBEAMWALL.Core/EgtMessageBox/EgtMessageBoxV.xaml.vb b/EgtBEAMWALL.Core/EgtMessageBox/EgtMessageBoxV.xaml.vb
index ea87e2f1..923258ec 100644
--- a/EgtBEAMWALL.Core/EgtMessageBox/EgtMessageBoxV.xaml.vb
+++ b/EgtBEAMWALL.Core/EgtMessageBox/EgtMessageBoxV.xaml.vb
@@ -1,5 +1,6 @@
-Imports EgtWPFLib5
-Imports System.Windows
+Imports System.Windows
+Imports System.Windows.Threading
+Imports EgtWPFLib5
Public Class EgtMessageBoxV
@@ -25,6 +26,18 @@ Public Class EgtMessageBoxV
#Region "METHODS"
+ Protected Overrides Sub OnSourceInitialized(e As EventArgs)
+ MyBase.OnSourceInitialized(e)
+ Me.WindowStartupLocation = WindowStartupLocation.CenterScreen
+ End Sub
+
+ Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
+ Dispatcher.BeginInvoke(Sub()
+ Me.Topmost = True
+ Me.Activate()
+ End Sub, DispatcherPriority.ContextIdle)
+ End Sub
+
'''
''' Apre una EgtMessageBox con un messaggio che ritorna un risultato
'''
diff --git a/EgtBEAMWALL.Core/My Project/AssemblyInfo.vb b/EgtBEAMWALL.Core/My Project/AssemblyInfo.vb
index a7df1fac..3a6f6d5a 100644
--- a/EgtBEAMWALL.Core/My Project/AssemblyInfo.vb
+++ b/EgtBEAMWALL.Core/My Project/AssemblyInfo.vb
@@ -17,7 +17,7 @@ Imports System.Windows
-
+
@@ -38,5 +38,5 @@ Imports System.Windows
' by using the '*' as shown below:
'
-
-
+
+
diff --git a/EgtBEAMWALL.Core/Themes/Generic.xaml b/EgtBEAMWALL.Core/Themes/Generic.xaml
index 28080654..cfab2853 100644
--- a/EgtBEAMWALL.Core/Themes/Generic.xaml
+++ b/EgtBEAMWALL.Core/Themes/Generic.xaml
@@ -1925,6 +1925,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Optimizer/ItemParamList/FeatureInPartInRawPartListV.xaml.vb b/EgtBEAMWALL.Optimizer/ItemParamList/FeatureInPartInRawPartListV.xaml.vb
index 2a9b46da..50978371 100644
--- a/EgtBEAMWALL.Optimizer/ItemParamList/FeatureInPartInRawPartListV.xaml.vb
+++ b/EgtBEAMWALL.Optimizer/ItemParamList/FeatureInPartInRawPartListV.xaml.vb
@@ -1,7 +1,118 @@
-Imports EgtBEAMWALL.Core
+Imports System.IO
+Imports DevExpress.Xpf.Bars
+Imports DevExpress.Xpf.Core.Serialization
+Imports DevExpress.Xpf.Grid
+Imports EgtBEAMWALL.Core
Public Class FeatureInPartInRawPartListV
+ Private m_FeatureInPartInRawPartListVM As FeatureInPartInRawPartListVM
+ Private m_sDataGridLayoutPath As String = ""
+
+ Sub New()
+
+ ' This call is required by the designer.
+ InitializeComponent()
+
+ ' Add any initialization after the InitializeComponent() call.
+ m_sDataGridLayoutPath = Path.GetDirectoryName(DataGridColumnsIniFile.m_sDataGridColumnsIniFile) & "\NewDataGridLayoutFile3.json"
+
+ For Each Column In FeatureVMList_GridControl.Columns
+ Column.[AddHandler](DXSerializer.AllowPropertyEvent,
+ New AllowPropertyEventHandler(AddressOf OnAllowProperty))
+ Next
+
+ FeatureVMList_GridControl.Columns("sPriority").Visible = False
+
+ DXSerializer.AddAllowPropertyHandler(FeatureVMList_GridControl, AddressOf OnAddAllowProperty)
+ End Sub
+
+ ' imposto parametri da aggiungere o togliere in Json tabella per i parametri di colonna
+ Private Sub OnAllowProperty(sender As Object, e As AllowPropertyEventArgs)
+ If e.DependencyProperty Is GridColumn.AllowResizingProperty Then
+ e.Allow = True
+ End If
+ End Sub
+
+ ' imposto parametri da aggiungere o togliere in Json tabella per i parametri generali
+ Private Sub OnAddAllowProperty(sender As Object, e As AllowPropertyEventArgs)
+ If e.Property.Name = "FilterString" Then
+ e.Allow = False
+ ElseIf e.Property.Name = "MRUFilters" Then
+ e.Allow = False
+ ElseIf e.Property.Name = "MRUFilterList" Then
+ e.Allow = False
+ ElseIf e.Property.Name = "GroupSummarySortInfo" Then
+ e.Allow = False
+ End If
+ End Sub
+
+ ' salvataggio del layout colonne
+ Public Sub SaveStatisticGridControlLayout()
+ FeatureVMList_GridControl.SaveLayoutToJson(m_sDataGridLayoutPath)
+ End Sub
+
+ Public Sub Me_Loaded() Handles Me.Loaded
+ ' imposto DataContext
+ m_FeatureInPartInRawPartListVM = Me.DataContext
+ ' imposto riferimento ad action per salvataggio layout tabella
+ m_FeatureInPartInRawPartListVM.refFeatureInPartInRawPartListGridControlLayout = AddressOf SaveStatisticGridControlLayout
+ ' rispristino layout tabella
+ If Not IsNothing(m_sDataGridLayoutPath) AndAlso File.Exists(m_sDataGridLayoutPath) Then
+ FeatureVMList_GridControl.RestoreLayoutFromJson(m_sDataGridLayoutPath)
+ End If
+ ' da gestire chiamandolo quando viene aperto un progetto o aggiunto/rimosso un btl, per evitare che ci sia il GroupSummary se c'e' un solo gruppo
+ FeatureVMList_TableView.ShowGroupFooters = False
+ End Sub
+
+ Private Sub OnShowGridMenu(sender As Object, e As DevExpress.Xpf.Grid.GridMenuEventArgs)
+ If e.MenuType = GridMenuType.Column Then
+ ' rimozione bottoni
+ e.Customizations.Add(New RemoveAction() With {.ElementName = DefaultColumnMenuItemNames.GroupBox})
+ e.Customizations.Add(New RemoveAction() With {.ElementName = DefaultColumnMenuItemNames.GroupColumn})
+ e.Customizations.Add(New RemoveAction() With {.ElementName = DefaultColumnMenuItemNamesBase.ColumnChooser})
+ e.Customizations.Add(New RemoveAction() With {.ElementName = DefaultColumnMenuItemNames.BestFit})
+ e.Customizations.Add(New RemoveAction() With {.ElementName = DefaultColumnMenuItemNames.BestFitColumns})
+ e.Customizations.Add(New RemoveAction() With {.ElementName = DefaultColumnMenuItemNamesBase.FilterEditor})
+
+ Dim info As GridColumnMenuInfo = CType(e.MenuInfo, GridColumnMenuInfo)
+ Dim item As ColumnBase = CType(info.Column, ColumnBase)
+ ' aggiunta separatore
+ Dim separator As BarItemLinkSeparator = New BarItemLinkSeparator()
+ e.Customizations.Add(separator)
+ ' aggiunta bottone AllowResize e Auto Fit
+ Dim AllowResize As BarCheckItem = New BarCheckItem() With {.Content = "Allow Resize", .IsChecked = (FeatureVMList_TableView.AllowResizing AndAlso (item.AllowResizing = DevExpress.Utils.DefaultBoolean.True OrElse item.AllowResizing = DevExpress.Utils.DefaultBoolean.Default))}
+ AddHandler AllowResize.CheckedChanged, AddressOf AllowResize_CheckedChanged
+ e.Customizations.Add(AllowResize)
+ If item.AllowResizing = DevExpress.Utils.DefaultBoolean.True OrElse item.AllowResizing = DevExpress.Utils.DefaultBoolean.Default Then
+ Dim FixAuto As BarButtonItem = New BarCheckItem() With {.Content = "Auto Fit"}
+ AddHandler FixAuto.ItemClick, AddressOf FixAuto_ItemClick
+ e.Customizations.Add(FixAuto)
+ End If
+ End If
+ End Sub
+
+ ' gestore evento Allow Resize
+ Private Sub AllowResize_CheckedChanged(sender As Object, e As ItemClickEventArgs)
+ Dim info As GridColumnMenuInfo = TryCast(FeatureVMList_TableView.GridMenu.MenuInfo, GridColumnMenuInfo)
+ Dim item As ColumnBase = CType(info.Column, ColumnBase)
+ If item.AllowResizing = DevExpress.Utils.DefaultBoolean.False Then
+ item.AllowResizing = DevExpress.Utils.DefaultBoolean.True
+ Else
+ item.AllowResizing = DevExpress.Utils.DefaultBoolean.False
+ End If
+ End Sub
+
+ ' gestore evento Auto Fit
+ Private Sub FixAuto_ItemClick(sender As Object, e As ItemClickEventArgs)
+ Dim info As GridColumnMenuInfo = TryCast(FeatureVMList_TableView.GridMenu.MenuInfo, GridColumnMenuInfo)
+ Dim item As ColumnBase = CType(info.Column, ColumnBase)
+ item.Width = New GridColumnWidth(1, GridColumnUnitType.Auto)
+ FeatureVMList_TableView.UpdateLayout()
+ item.Width = item.ActualWidth
+ item.AllowResizing = DevExpress.Utils.DefaultBoolean.False
+ End Sub
+
' funzione che impedisce di editare le righe che sono gia' in produzione
Private Sub FeatureInPartInRawPartList_BeginningEdit(sender As Object, e As DataGridBeginningEditEventArgs)
If IsNothing(e.Row) Then Return
diff --git a/EgtBEAMWALL.Optimizer/ItemParamList/FeatureInPartInRawPartListVM.vb b/EgtBEAMWALL.Optimizer/ItemParamList/FeatureInPartInRawPartListVM.vb
index ad13c556..bc7a1730 100644
--- a/EgtBEAMWALL.Optimizer/ItemParamList/FeatureInPartInRawPartListVM.vb
+++ b/EgtBEAMWALL.Optimizer/ItemParamList/FeatureInPartInRawPartListVM.vb
@@ -8,6 +8,8 @@ Public Class FeatureInPartInRawPartListVM
#Region "FIELDS & PROPERTIES"
+ Public refFeatureInPartInRawPartListGridControlLayout As Action
+
Private m_colFeatureInPartInRawPart_Do As EgwWPFBaseLib.ColumnLayout
Public ReadOnly Property colFeatureInPartInRawPart_Do As EgwWPFBaseLib.ColumnLayout
Get
diff --git a/EgtBEAMWALL.Optimizer/ItemParamList/PParameterListV.xaml b/EgtBEAMWALL.Optimizer/ItemParamList/PParameterListV.xaml
index 5302a5dc..961b3160 100644
--- a/EgtBEAMWALL.Optimizer/ItemParamList/PParameterListV.xaml
+++ b/EgtBEAMWALL.Optimizer/ItemParamList/PParameterListV.xaml
@@ -2,9 +2,22 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:OPTIMIZER="clr-namespace:EgtBEAMWALL.Optimizer"
- xmlns:EgwWPFBaseLib="clr-namespace:EgwWPFBaseLib;assembly=EgwWPFBaseLib">
+ xmlns:EgwWPFBaseLib="clr-namespace:EgwWPFBaseLib;assembly=EgwWPFBaseLib"
+ xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
+ xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
+ xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
+ xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
+ xmlns:dxeh="http://schemas.devexpress.com/winfx/2008/xaml/editors/internal"
+ xmlns:dxet="http://schemas.devexpress.com/winfx/2008/xaml/editors/themekeys"
+ xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
+ xmlns:dxfui="http://schemas.devexpress.com/winfx/2008/xaml/core/filteringui"
+ xmlns:dxi="http://schemas.devexpress.com/winfx/2008/xaml/core/internal"
+ xmlns:i="http://schemas.devexpress.com/winfx/2008/xaml/mvvm">
+
+
+
@@ -13,118 +26,66 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Style="{StaticResource EditTableViewStyle}">
@@ -40,7 +41,9 @@
-
+
+ Style="{StaticResource EditTableViewStyle}">
+ AllowColumnFiltering="False"
+ AllowEditing="False">
@@ -98,11 +104,13 @@
Header="{Binding NAM_Msg}"
AllowSorting="False"
FilterPopupMode="CheckedList"
+ AllowEditing="False"
Style="{StaticResource ColumnInfoStyle}"/>
@@ -127,6 +136,7 @@
Style="{StaticResource Rotate_TextBlock}"/>
-
+
+ AllowColumnFiltering="False"
+ AllowEditing="False">
@@ -266,51 +295,65 @@
+ Style="{StaticResource ColumnInfoStyle}">
+
+
+
+
+ Style="{StaticResource ColumnInfoStyle}">
+
+
+
+
-
@@ -357,10 +402,11 @@
HeaderToolTip="{Binding Verify_ToolTip}"
AllowColumnFiltering="False"
Fixed="Right"
+ AllowEditing="False"
Style="{StaticResource ColumnButtonStyle}">
-
diff --git a/EgtBEAMWALL.Optimizer/ItemParamList/RawPartListV.xaml.vb b/EgtBEAMWALL.Optimizer/ItemParamList/RawPartListV.xaml.vb
index 03c5fd54..ac2e0c01 100644
--- a/EgtBEAMWALL.Optimizer/ItemParamList/RawPartListV.xaml.vb
+++ b/EgtBEAMWALL.Optimizer/ItemParamList/RawPartListV.xaml.vb
@@ -78,14 +78,14 @@ Public Class RawPartListV
If bValue AndAlso RawPart_GridControl.GroupSummary.Count = 0 Then
RawPart_GridControl.GroupSummary.Clear()
Dim PDNGroupSummaryItem As New GridSummaryItem() With {.FieldName = "nPDN",
- .DisplayFormat = "{0}",
- .SummaryType = SummaryItemType.Count,
- .ShowInGroupColumnFooter = "nPDN"}
+ .DisplayFormat = "{0}",
+ .SummaryType = SummaryItemType.Count,
+ .ShowInGroupColumnFooter = "nPDN"}
RawPart_GridControl.GroupSummary.Add(PDNGroupSummaryItem)
Dim CNTGroupSummaryItem As New GridSummaryItem() With {.FieldName = "sCNT",
- .DisplayFormat = "{0}",
- .SummaryType = SummaryItemType.Sum,
- .ShowInGroupColumnFooter = "sCNT"}
+ .DisplayFormat = "{0}",
+ .SummaryType = SummaryItemType.Sum,
+ .ShowInGroupColumnFooter = "sCNT"}
RawPart_GridControl.GroupSummary.Add(CNTGroupSummaryItem)
Dim ADDEDGroupSummaryItem As New GridSummaryItem() With {.FieldName = "sADDED",
.DisplayFormat = "{0}",
@@ -93,14 +93,14 @@ Public Class RawPartListV
.ShowInGroupColumnFooter = "sADDED"}
RawPart_GridControl.GroupSummary.Add(ADDEDGroupSummaryItem)
Dim INPRODGroupSummaryItem As New GridSummaryItem() With {.FieldName = "nINPROD",
- .DisplayFormat = "{0}",
- .SummaryType = SummaryItemType.Sum,
- .ShowInGroupColumnFooter = "nINPROD"}
+ .DisplayFormat = "{0}",
+ .SummaryType = SummaryItemType.Sum,
+ .ShowInGroupColumnFooter = "nINPROD"}
RawPart_GridControl.GroupSummary.Add(INPRODGroupSummaryItem)
Dim DONEGroupSummaryItem As New GridSummaryItem() With {.FieldName = "nDONE",
- .DisplayFormat = "{0}",
- .SummaryType = SummaryItemType.Sum,
- .ShowInGroupColumnFooter = "nDONE"}
+ .DisplayFormat = "{0}",
+ .SummaryType = SummaryItemType.Sum,
+ .ShowInGroupColumnFooter = "nDONE"}
RawPart_GridControl.GroupSummary.Add(DONEGroupSummaryItem)
End If
RawPart_TableView.ShowGroupFooters = bValue
@@ -222,6 +222,7 @@ Public Class RawPartListV
item.AllowResizing = DevExpress.Utils.DefaultBoolean.False
End If
End Sub
+
' gestore evento Auto Fit
Private Sub FixAuto_ItemClick(sender As Object, e As ItemClickEventArgs)
Dim info As GridColumnMenuInfo = TryCast(e.Link.DataContext, GridColumnMenuInfo)
@@ -262,10 +263,6 @@ Public Class RawPartListV
If Not IsNothing(colMat) Then colMat.Visible = False
End If
- detailGrid.SetBinding(GridControl.SelectedItemProperty, New Binding("SelPart") With {
- .Mode = BindingMode.TwoWay,
- .UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
- })
End If
End If
End Sub
diff --git a/EgtBEAMWALL.Optimizer/LeftPanel/LeftPanelV.xaml b/EgtBEAMWALL.Optimizer/LeftPanel/LeftPanelV.xaml
index c545f707..05ef648d 100644
--- a/EgtBEAMWALL.Optimizer/LeftPanel/LeftPanelV.xaml
+++ b/EgtBEAMWALL.Optimizer/LeftPanel/LeftPanelV.xaml
@@ -18,139 +18,8 @@
Grid.ColumnSpan="2"
Style="{StaticResource Optimizer_Border}"/>
-
-
diff --git a/EgtBEAMWALL.Optimizer/LeftPanel/LeftPanelV.xaml.vb b/EgtBEAMWALL.Optimizer/LeftPanel/LeftPanelV.xaml.vb
index 919aa0c7..6a4b9662 100644
--- a/EgtBEAMWALL.Optimizer/LeftPanel/LeftPanelV.xaml.vb
+++ b/EgtBEAMWALL.Optimizer/LeftPanel/LeftPanelV.xaml.vb
@@ -1,3 +1,7 @@
Public Class LeftPanelV
+ Public Sub ForwardDelete(e As KeyEventArgs)
+ PartList.HandleDelete(e)
+ End Sub
+
End Class
diff --git a/EgtBEAMWALL.Optimizer/MachGroupPanel/MyMachGroupPanelVM.vb b/EgtBEAMWALL.Optimizer/MachGroupPanel/MyMachGroupPanelVM.vb
index dc0bd4ce..e896c553 100644
--- a/EgtBEAMWALL.Optimizer/MachGroupPanel/MyMachGroupPanelVM.vb
+++ b/EgtBEAMWALL.Optimizer/MachGroupPanel/MyMachGroupPanelVM.vb
@@ -7,6 +7,7 @@ Public Class MyMachGroupPanelVM
#Region "FIELDS & PROPERTIES"
+ Public Property m_OldSelectedMachGroup As MyMachGroupVM
Public Shadows Property SelectedMachGroup As MyMachGroupVM
Get
Return m_SelectedMachGroup
@@ -29,7 +30,13 @@ Public Class MyMachGroupPanelVM
Map.refProjectVM.BTLStructureVM.BTLPartVMList(BTLPartIndex).ResetSearchFound()
Next
End If
+
+ If Not IsNothing(value) Then m_OldSelectedMachGroup = value
+
m_SelectedMachGroup = value
+
+ If IsNothing(m_SelectedMachGroup) Then m_SelectedMachGroup = m_OldSelectedMachGroup
+
If Not IsNothing(value) Then
OnPreSetCurrMachGroup()
EgtSetCurrMachGroup(value.Id)
diff --git a/EgtBEAMWALL.Optimizer/MainWindow/MainWindowM.vb b/EgtBEAMWALL.Optimizer/MainWindow/MainWindowM.vb
index f80fbca0..ba054e8d 100644
--- a/EgtBEAMWALL.Optimizer/MainWindow/MainWindowM.vb
+++ b/EgtBEAMWALL.Optimizer/MainWindow/MainWindowM.vb
@@ -269,8 +269,8 @@ Public Class MainWindowM
EgtSetLockId(sLockId)
End If
' Recupero livello e opzioni della chiave
- Dim bKey As Boolean = EgtGetKeyLevel(5327, 2701, 1, m_nKeyLevel) And
- EgtGetKeyOptions(5327, 2701, 1, m_nKeyOptions)
+ Dim bKey As Boolean = EgtGetKeyLevel(5327, 3106, 1, m_nKeyLevel) And
+ EgtGetKeyOptions(5327, 3106, 1, m_nKeyOptions)
' Inizializzazione generale di EgtInterface
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
m_sLogFile = m_sTempDir & "\" & VWOPTGENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
diff --git a/EgtBEAMWALL.Optimizer/MainWindow/MainWindowV.xaml b/EgtBEAMWALL.Optimizer/MainWindow/MainWindowV.xaml
index 4822daa3..c6a4030a 100644
--- a/EgtBEAMWALL.Optimizer/MainWindow/MainWindowV.xaml
+++ b/EgtBEAMWALL.Optimizer/MainWindow/MainWindowV.xaml
@@ -26,7 +26,7 @@
-
+
diff --git a/EgtBEAMWALL.Optimizer/MainWindow/MainWindowV.xaml.vb b/EgtBEAMWALL.Optimizer/MainWindow/MainWindowV.xaml.vb
index f1dcb384..e7a484d1 100644
--- a/EgtBEAMWALL.Optimizer/MainWindow/MainWindowV.xaml.vb
+++ b/EgtBEAMWALL.Optimizer/MainWindow/MainWindowV.xaml.vb
@@ -22,12 +22,20 @@ Public Class MainWindowV
Me.SetPlacementAppName(S_GENERAL)
Me.SetPlacementKeyName(K_WINPLACE)
Me.SetPlacementFileName(IniFile.m_sIniFile)
+
+ Me.AddHandler(Keyboard.KeyDownEvent, New KeyEventHandler(AddressOf Global_KeyDown), True)
End Sub
#End Region ' CONSTRUCTOR
#Region "EVENTS"
+ Private Sub Global_KeyDown(sender As Object, e As KeyEventArgs)
+ If e.Key = Key.Delete Then
+ ProjectView.ForwardDelete(e)
+ End If
+ End Sub
+
Private Sub MainWindowV_Loaded(sender As Object, e As RoutedEventArgs)
' Carico e imposto posizione finestra
WinPosFromIniToWindow(S_GENERAL, K_VIEWOPTIMWINPLACE, Me)
diff --git a/EgtBEAMWALL.Optimizer/My Project/AssemblyInfo.vb b/EgtBEAMWALL.Optimizer/My Project/AssemblyInfo.vb
index 0373d2d4..9bec1b8f 100644
--- a/EgtBEAMWALL.Optimizer/My Project/AssemblyInfo.vb
+++ b/EgtBEAMWALL.Optimizer/My Project/AssemblyInfo.vb
@@ -67,5 +67,5 @@ Imports System.Windows
' Revision
'
-
-
+
+
diff --git a/EgtBEAMWALL.Optimizer/Panel/LeftPanelTopV.xaml b/EgtBEAMWALL.Optimizer/Panel/LeftPanelTopV.xaml
index a076e010..5017063d 100644
--- a/EgtBEAMWALL.Optimizer/Panel/LeftPanelTopV.xaml
+++ b/EgtBEAMWALL.Optimizer/Panel/LeftPanelTopV.xaml
@@ -7,7 +7,7 @@
-
diff --git a/EgtBEAMWALL.Optimizer/Panel/LeftPanelTopV.xaml.vb b/EgtBEAMWALL.Optimizer/Panel/LeftPanelTopV.xaml.vb
index 31d1f74a..99bd386b 100644
--- a/EgtBEAMWALL.Optimizer/Panel/LeftPanelTopV.xaml.vb
+++ b/EgtBEAMWALL.Optimizer/Panel/LeftPanelTopV.xaml.vb
@@ -1,3 +1,7 @@
Public Class LeftPanelTopV
+ Public Sub ForwardDelete(e As KeyEventArgs)
+ LeftPanel.ForwardDelete(e)
+ End Sub
+
End Class
diff --git a/EgtBEAMWALL.Optimizer/Project/ProjectV.xaml b/EgtBEAMWALL.Optimizer/Project/ProjectV.xaml
index c8bb442f..8051d7aa 100644
--- a/EgtBEAMWALL.Optimizer/Project/ProjectV.xaml
+++ b/EgtBEAMWALL.Optimizer/Project/ProjectV.xaml
@@ -18,7 +18,7 @@
-
+
+ xmlns:EgwWPFBaseLib="clr-namespace:EgwWPFBaseLib;assembly=EgwWPFBaseLib"
+ xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
+ xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
+ xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
+ xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
+ xmlns:dxeh="http://schemas.devexpress.com/winfx/2008/xaml/editors/internal"
+ xmlns:dxet="http://schemas.devexpress.com/winfx/2008/xaml/editors/themekeys"
+ xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
+ xmlns:dxfui="http://schemas.devexpress.com/winfx/2008/xaml/core/filteringui"
+ xmlns:dxi="http://schemas.devexpress.com/winfx/2008/xaml/core/internal"
+ xmlns:i="http://schemas.devexpress.com/winfx/2008/xaml/mvvm">
@@ -17,163 +27,107 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+ xmlns:OPTIMIZER="clr-namespace:EgtBEAMWALL.Optimizer"
+ xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
+ xmlns:dxpdf="http://schemas.devexpress.com/winfx/2008/xaml/pdf">
@@ -145,8 +147,42 @@
Style="{StaticResource PDF_TextBlock}"/>
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Optimizer/Statistics/PDFEditorV.xaml.vb b/EgtBEAMWALL.Optimizer/Statistics/PDFEditorV.xaml.vb
index 1dded60a..873833b9 100644
--- a/EgtBEAMWALL.Optimizer/Statistics/PDFEditorV.xaml.vb
+++ b/EgtBEAMWALL.Optimizer/Statistics/PDFEditorV.xaml.vb
@@ -7,6 +7,8 @@
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
DataContext = New PDFEditorVM()
+
+ MapV.SetRefPDFEditorV(Me)
End Sub
End Class
diff --git a/EgtBEAMWALL.Optimizer/Statistics/PDFEditorVM.vb b/EgtBEAMWALL.Optimizer/Statistics/PDFEditorVM.vb
index e23995cf..80db8d38 100644
--- a/EgtBEAMWALL.Optimizer/Statistics/PDFEditorVM.vb
+++ b/EgtBEAMWALL.Optimizer/Statistics/PDFEditorVM.vb
@@ -125,6 +125,7 @@ Public Class PDFEditorVM
SetPdfViewer_Visibility(True)
Configuration.CreatePrintPDF(PDFPage.VIEW, True)
SetWebAddress(Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf")
+ MapV.refPDFEditorV.PDFViewer.OpenDocument(WebAddress)
End Select
End Sub
@@ -159,7 +160,8 @@ Public Class PDFEditorVM
Case VIEW_BUTTON.PDF
SetPdfViewer_Visibility(True)
Configuration.CreatePrintPDF(PDFPage.MACHING, True)
- SetWebAddress(Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf")
+ SetWebAddress(Map.refMainWindowVM.MainWindowM.sTempDir & "\OptStatistics.pdf")
+ MapV.refPDFEditorV.PDFViewer.OpenDocument(WebAddress)
End Select
End Sub
@@ -182,6 +184,7 @@ Public Class PDFEditorVM
Public Sub ClosePreview()
Try
File.Delete(Map.refMainWindowVM.MainWindowM.sTempDir & "\Statistics.pdf")
+ File.Delete(Map.refMainWindowVM.MainWindowM.sTempDir & "\OptStatistics.pdf")
Catch ex As Exception
EgtOutLog("Errore! Cancellazione dei file pdf fallita")
End Try
diff --git a/EgtBEAMWALL.Optimizer/Statistics/StatisticsV.xaml b/EgtBEAMWALL.Optimizer/Statistics/StatisticsV.xaml
index 85e97c42..d3a123c3 100644
--- a/EgtBEAMWALL.Optimizer/Statistics/StatisticsV.xaml
+++ b/EgtBEAMWALL.Optimizer/Statistics/StatisticsV.xaml
@@ -2,148 +2,100 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:OPTIMIZER="clr-namespace:EgtBEAMWALL.Optimizer"
- xmlns:EgwWPFBaseLib="clr-namespace:EgwWPFBaseLib;assembly=EgwWPFBaseLib">
+ xmlns:EgwWPFBaseLib="clr-namespace:EgwWPFBaseLib;assembly=EgwWPFBaseLib"
+ xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
+ xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
+ xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
+ xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
+ xmlns:dxeh="http://schemas.devexpress.com/winfx/2008/xaml/editors/internal"
+ xmlns:dxet="http://schemas.devexpress.com/winfx/2008/xaml/editors/themekeys"
+ xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
+ xmlns:dxfui="http://schemas.devexpress.com/winfx/2008/xaml/core/filteringui"
+ xmlns:dxi="http://schemas.devexpress.com/winfx/2008/xaml/core/internal"
+ xmlns:i="http://schemas.devexpress.com/winfx/2008/xaml/mvvm">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Optimizer/Statistics/StatisticsV.xaml.vb b/EgtBEAMWALL.Optimizer/Statistics/StatisticsV.xaml.vb
index 81dbdc35..1d491573 100644
--- a/EgtBEAMWALL.Optimizer/Statistics/StatisticsV.xaml.vb
+++ b/EgtBEAMWALL.Optimizer/Statistics/StatisticsV.xaml.vb
@@ -1,10 +1,153 @@
-Public Class StatisticsV
+Imports DevExpress.Data
+Imports DevExpress.Xpf.Bars
+Imports DevExpress.Xpf.Core.Serialization
+Imports DevExpress.Xpf.Grid
+Imports EgtBEAMWALL.Core
+Imports System.IO
+
+Public Class StatisticsV
Private m_StatisticsVM As StatisticsVM
+ Private m_sDataGridLayoutPath As String = ""
+
+ Sub New()
+
+ ' This call is required by the designer.
+ InitializeComponent()
+
+ ' Add any initialization after the InitializeComponent() call.
+ m_sDataGridLayoutPath = Path.GetDirectoryName(DataGridColumnsIniFile.m_sDataGridColumnsIniFile) & "\NewDataGridLayoutFile4.json"
+
+ For Each Column In dgStatistics_GridControl.Columns
+ Column.[AddHandler](DXSerializer.AllowPropertyEvent,
+ New AllowPropertyEventHandler(AddressOf OnAllowProperty))
+ Next
+ DXSerializer.AddAllowPropertyHandler(dgStatistics_GridControl, AddressOf OnAddAllowProperty)
+
+ End Sub
+
+ ' imposto parametri da aggiungere o togliere in Json tabella per i parametri di colonna
+ Private Sub OnAllowProperty(sender As Object, e As AllowPropertyEventArgs)
+ If e.DependencyProperty Is GridColumn.AllowResizingProperty Then
+ e.Allow = True
+ End If
+ End Sub
+
+ ' imposto parametri da aggiungere o togliere in Json tabella per i parametri generali
+ Private Sub OnAddAllowProperty(sender As Object, e As AllowPropertyEventArgs)
+ If e.Property.Name = "FilterString" Then
+ e.Allow = False
+ ElseIf e.Property.Name = "MRUFilters" Then
+ e.Allow = False
+ ElseIf e.Property.Name = "MRUFilterList" Then
+ e.Allow = False
+ ElseIf e.Property.Name = "GroupSummarySortInfo" Then
+ e.Allow = False
+ End If
+ End Sub
+
+ ' salvataggio del layout colonne
+ Public Sub SaveStatisticGridControlLayout()
+ dgStatistics_GridControl.SaveLayoutToJson(m_sDataGridLayoutPath)
+ End Sub
+
+ Public Sub IsVisibleGroupSummary(bValue As Boolean)
+ If bValue AndAlso dgStatistics_GridControl.GroupSummary.Count = 0 Then
+ dgStatistics_GridControl.GroupSummary.Clear()
+ Dim PDNGroupSummaryItem As New GridSummaryItem() With {.FieldName = "nPDN",
+ .DisplayFormat = "{0}",
+ .SummaryType = SummaryItemType.Count,
+ .ShowInGroupColumnFooter = "nPDN"}
+ dgStatistics_GridControl.GroupSummary.Add(PDNGroupSummaryItem)
+ Dim CNTGroupSummaryItem As New GridSummaryItem() With {.FieldName = "sCNT",
+ .DisplayFormat = "{0}",
+ .SummaryType = SummaryItemType.Sum,
+ .ShowInGroupColumnFooter = "sCNT"}
+ dgStatistics_GridControl.GroupSummary.Add(CNTGroupSummaryItem)
+ Dim ADDEDGroupSummaryItem As New GridSummaryItem() With {.FieldName = "sADDED",
+ .DisplayFormat = "{0}",
+ .SummaryType = SummaryItemType.Sum,
+ .ShowInGroupColumnFooter = "sADDED"}
+ dgStatistics_GridControl.GroupSummary.Add(ADDEDGroupSummaryItem)
+ Dim INPRODGroupSummaryItem As New GridSummaryItem() With {.FieldName = "nINPROD",
+ .DisplayFormat = "{0}",
+ .SummaryType = SummaryItemType.Sum,
+ .ShowInGroupColumnFooter = "nINPROD"}
+ dgStatistics_GridControl.GroupSummary.Add(INPRODGroupSummaryItem)
+ Dim DONEGroupSummaryItem As New GridSummaryItem() With {.FieldName = "nDONE",
+ .DisplayFormat = "{0}",
+ .SummaryType = SummaryItemType.Sum,
+ .ShowInGroupColumnFooter = "nDONE"}
+ dgStatistics_GridControl.GroupSummary.Add(DONEGroupSummaryItem)
+ End If
+ dgStatistics_TableView.ShowGroupFooters = bValue
+ End Sub
+
+ Public Sub Me_Loaded() Handles Me.Loaded
+ ' imposto DataContext
+ m_StatisticsVM = Me.DataContext
+ ' imposto riferimento ad action per salvataggio layout tabella
+ m_StatisticsVM.refSaveStatisticGridControlLayout = AddressOf SaveStatisticGridControlLayout
+ ' rispristino layout tabella
+ If Not IsNothing(m_sDataGridLayoutPath) AndAlso File.Exists(m_sDataGridLayoutPath) Then
+ dgStatistics_GridControl.RestoreLayoutFromJson(m_sDataGridLayoutPath)
+ End If
+ ' da gestire chiamandolo quando viene aperto un progetto o aggiunto/rimosso un btl, per evitare che ci sia il GroupSummary se c'e' un solo gruppo
+ IsVisibleGroupSummary(False)
+ End Sub
Private Sub PrintBtn_Click(sender As Object, e As RoutedEventArgs) Handles CopyToClipboardBtn.Click
m_StatisticsVM = Me.DataContext()
- ExportToExcelAndCsv(dgStatistics, m_StatisticsVM)
+ 'ExportToExcelAndCsv(dgStatistics, m_StatisticsVM)
+ dgStatistics_GridControl.CopyToClipboard()
+ End Sub
+
+ Private Sub OnShowGridMenu(sender As Object, e As DevExpress.Xpf.Grid.GridMenuEventArgs)
+ If e.MenuType = GridMenuType.Column Then
+ ' rimozione bottoni
+ e.Customizations.Add(New RemoveAction() With {.ElementName = DefaultColumnMenuItemNames.GroupBox})
+ e.Customizations.Add(New RemoveAction() With {.ElementName = DefaultColumnMenuItemNames.GroupColumn})
+ e.Customizations.Add(New RemoveAction() With {.ElementName = DefaultColumnMenuItemNamesBase.ColumnChooser})
+ e.Customizations.Add(New RemoveAction() With {.ElementName = DefaultColumnMenuItemNames.BestFit})
+ e.Customizations.Add(New RemoveAction() With {.ElementName = DefaultColumnMenuItemNames.BestFitColumns})
+ e.Customizations.Add(New RemoveAction() With {.ElementName = DefaultColumnMenuItemNamesBase.FilterEditor})
+
+ Dim info As GridColumnMenuInfo = CType(e.MenuInfo, GridColumnMenuInfo)
+ Dim item As ColumnBase = CType(info.Column, ColumnBase)
+ ' aggiunta separatore
+ Dim separator As BarItemLinkSeparator = New BarItemLinkSeparator()
+ e.Customizations.Add(separator)
+ ' aggiunta bottone AllowResize e Auto Fit
+ Dim AllowResize As BarCheckItem = New BarCheckItem() With {.Content = "Allow Resize", .IsChecked = (dgStatistics_TableView.AllowResizing AndAlso (item.AllowResizing = DevExpress.Utils.DefaultBoolean.True OrElse item.AllowResizing = DevExpress.Utils.DefaultBoolean.Default))}
+ AddHandler AllowResize.CheckedChanged, AddressOf AllowResize_CheckedChanged
+ e.Customizations.Add(AllowResize)
+ If item.AllowResizing = DevExpress.Utils.DefaultBoolean.True OrElse item.AllowResizing = DevExpress.Utils.DefaultBoolean.Default Then
+ Dim FixAuto As BarButtonItem = New BarCheckItem() With {.Content = "Auto Fit"}
+ AddHandler FixAuto.ItemClick, AddressOf FixAuto_ItemClick
+ e.Customizations.Add(FixAuto)
+ End If
+ End If
+ End Sub
+
+ ' gestore evento Allow Resize
+ Private Sub AllowResize_CheckedChanged(sender As Object, e As ItemClickEventArgs)
+ Dim info As GridColumnMenuInfo = TryCast(dgStatistics_TableView.GridMenu.MenuInfo, GridColumnMenuInfo)
+ Dim item As ColumnBase = CType(info.Column, ColumnBase)
+ If item.AllowResizing = DevExpress.Utils.DefaultBoolean.False Then
+ item.AllowResizing = DevExpress.Utils.DefaultBoolean.True
+ Else
+ item.AllowResizing = DevExpress.Utils.DefaultBoolean.False
+ End If
+ End Sub
+
+ ' gestore evento Auto Fit
+ Private Sub FixAuto_ItemClick(sender As Object, e As ItemClickEventArgs)
+ Dim info As GridColumnMenuInfo = TryCast(dgStatistics_TableView.GridMenu.MenuInfo, GridColumnMenuInfo)
+ Dim item As ColumnBase = CType(info.Column, ColumnBase)
+ item.Width = New GridColumnWidth(1, GridColumnUnitType.Auto)
+ dgStatistics_TableView.UpdateLayout()
+ item.Width = item.ActualWidth
+ item.AllowResizing = DevExpress.Utils.DefaultBoolean.False
End Sub
End Class
diff --git a/EgtBEAMWALL.Optimizer/Statistics/StatisticsVM.vb b/EgtBEAMWALL.Optimizer/Statistics/StatisticsVM.vb
index 464ad05b..00fbd71b 100644
--- a/EgtBEAMWALL.Optimizer/Statistics/StatisticsVM.vb
+++ b/EgtBEAMWALL.Optimizer/Statistics/StatisticsVM.vb
@@ -8,6 +8,8 @@ Public Class StatisticsVM
#Region "FIELDS & PROPERTIES"
+ Public refSaveStatisticGridControlLayout As Action
+
' Evento per chiusura finestra
Public Event m_CloseWindow(bDialogResult As Boolean)
@@ -395,6 +397,11 @@ Public Class StatisticsVM
{S_OPTIMIZERSTATISTICS, OptimizerStatisticsColumns},
{S_RAWPARTSTATISTICS, RawPartStatisticsColumns}}
EgwWPFBaseLib.EgwDataGrid.WriteColumnLayout(DataGridColumnsIniFile.m_sDataGridColumnsIniFile, DataGridColumnDictionary)
+
+ If Not IsNothing(refSaveStatisticGridControlLayout) Then
+ refSaveStatisticGridControlLayout()
+ End If
+
' Chiudo finestra senza fare niente
RaiseEvent m_CloseWindow(False)
End Sub
diff --git a/EgtBEAMWALL.Optimizer/StatisticsWnd/StatisticWndV.xaml b/EgtBEAMWALL.Optimizer/StatisticsWnd/StatisticWndV.xaml
index c055dc27..0bf256e6 100644
--- a/EgtBEAMWALL.Optimizer/StatisticsWnd/StatisticWndV.xaml
+++ b/EgtBEAMWALL.Optimizer/StatisticsWnd/StatisticWndV.xaml
@@ -9,7 +9,8 @@
Title="StatisticWnd"
MaxHeight="600"
Width="1300"
- Style="{StaticResource OptimizerWindow.Dialog}">
+ Style="{StaticResource OptimizerWindow.Dialog}"
+ Closed="OptimizerWindow_Closed">
0 Then
- sb.AppendLine("Cc: " & String.Join(";", message.CC.Select(Function(t) t.Address)))
- End If
- sb.AppendLine("Subject: " & message.Subject)
-
- sb.AppendLine("X-Unsent: 1")
- sb.AppendLine("MIME-Version: 1.0")
- sb.AppendLine("Content-Type: multipart/mixed; boundary=""" & boundary & """")
- sb.AppendLine()
-
- ' Corpo HTML
- sb.AppendLine("--" & boundary)
- sb.AppendLine("Content-Type: text/html; charset=utf-8")
- sb.AppendLine("Content-Transfer-Encoding: quoted-printable")
- sb.AppendLine()
- sb.AppendLine(message.Body)
- sb.AppendLine()
-
- ' Allegati
- For Each att As Attachment In message.Attachments
- Dim ms As New MemoryStream()
- att.ContentStream.Position = 0
- att.ContentStream.CopyTo(ms)
- Dim bytes = ms.ToArray()
- Dim base64 = Convert.ToBase64String(bytes, Base64FormattingOptions.InsertLineBreaks)
-
- sb.AppendLine("--" & boundary)
- sb.AppendLine("Content-Type: " & att.ContentType.MediaType & "; name=""" & att.Name & """")
- sb.AppendLine("Content-Disposition: attachment; filename=""" & att.Name & """")
- sb.AppendLine("Content-Transfer-Encoding: base64")
- sb.AppendLine()
- sb.AppendLine(base64)
- sb.AppendLine()
- Next
-
- ' Fine MIME
- sb.AppendLine("--" & boundary & "--")
- ' Salvataggio file
- File.WriteAllText(filename, sb.ToString(), Encoding.UTF8)
- End Sub
-
End Module
diff --git a/EgtBEAMWALL.Optimizer/Utility/Dictionary.xaml b/EgtBEAMWALL.Optimizer/Utility/Dictionary.xaml
index c7965333..80f84957 100644
--- a/EgtBEAMWALL.Optimizer/Utility/Dictionary.xaml
+++ b/EgtBEAMWALL.Optimizer/Utility/Dictionary.xaml
@@ -70,6 +70,7 @@
+
@@ -809,7 +810,7 @@
-
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Optimizer/Utility/MapV.vb b/EgtBEAMWALL.Optimizer/Utility/MapV.vb
index 68db9ec6..40cc73ad 100644
--- a/EgtBEAMWALL.Optimizer/Utility/MapV.vb
+++ b/EgtBEAMWALL.Optimizer/Utility/MapV.vb
@@ -1,16 +1,22 @@
Module MapV
Private m_refSplashScreenV As SplashScreenV
+ Private m_refPDFEditorV As PDFEditorV
#Region "Get"
-
Public ReadOnly Property refSplashScreenV As SplashScreenV
Get
Return m_refSplashScreenV
End Get
End Property
+ Public ReadOnly Property refPDFEditorV As PDFEditorV
+ Get
+ Return m_refPDFEditorV
+ End Get
+ End Property
+
#End Region ' Get
#Region "Set"
@@ -20,6 +26,11 @@
Return Not IsNothing(m_refSplashScreenV)
End Function
+ Friend Function SetRefPDFEditorV(PDFEditorV As PDFEditorV) As Boolean
+ m_refPDFEditorV = PDFEditorV
+ Return Not IsNothing(m_refPDFEditorV)
+ End Function
+
#End Region ' Set
End Module
diff --git a/EgtBEAMWALL.Supervisor/Comms/SIEMENSSharp7Comm.vb b/EgtBEAMWALL.Supervisor/Comms/SIEMENSSharp7Comm.vb
index 155bb877..8f14c101 100644
--- a/EgtBEAMWALL.Supervisor/Comms/SIEMENSSharp7Comm.vb
+++ b/EgtBEAMWALL.Supervisor/Comms/SIEMENSSharp7Comm.vb
@@ -270,6 +270,7 @@ Public Class SIEMENSSharp7Comm
End If
Return bResult
End Select
+ Return False
End Function
#End Region ' Read Variables
diff --git a/EgtBEAMWALL.Supervisor/MainWindow/MainWindowM.vb b/EgtBEAMWALL.Supervisor/MainWindow/MainWindowM.vb
index 2c2fa9d5..8bb07b74 100644
--- a/EgtBEAMWALL.Supervisor/MainWindow/MainWindowM.vb
+++ b/EgtBEAMWALL.Supervisor/MainWindow/MainWindowM.vb
@@ -252,8 +252,8 @@ Public Class MainWindowM
EgtSetLockId( sLockId)
End If
' Recupero livello e opzioni della chiave
- Dim bKey As Boolean = EgtGetKeyLevel(5327, 2701, 1, m_nKeyLevel) And
- EgtGetKeyOptions(5327, 2701, 1, m_nKeyOptions)
+ Dim bKey As Boolean = EgtGetKeyLevel(5327, 3106, 1, m_nKeyLevel) And
+ EgtGetKeyOptions(5327, 3106, 1, m_nKeyOptions)
' Inizializzazione generale di EgtInterface
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
m_sLogFile = m_sTempDir & "\" & SUPGENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
diff --git a/EgtBEAMWALL.Supervisor/My Project/AssemblyInfo.vb b/EgtBEAMWALL.Supervisor/My Project/AssemblyInfo.vb
index 0863e09e..e29976d3 100644
--- a/EgtBEAMWALL.Supervisor/My Project/AssemblyInfo.vb
+++ b/EgtBEAMWALL.Supervisor/My Project/AssemblyInfo.vb
@@ -70,5 +70,5 @@ Imports System.Windows
' by using the '*' as shown below:
'
-
-
+
+