diff --git a/EgtBEAMWALL.Core/BeamMachiningsWindow/BeamMachiningsWindowV.xaml b/EgtBEAMWALL.Core/BeamMachiningsWindow/BeamMachiningsWindowV.xaml
new file mode 100644
index 00000000..e0a034bb
--- /dev/null
+++ b/EgtBEAMWALL.Core/BeamMachiningsWindow/BeamMachiningsWindowV.xaml
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Core/BeamMachiningsWindow/BeamMachiningsWindowV.xaml.vb b/EgtBEAMWALL.Core/BeamMachiningsWindow/BeamMachiningsWindowV.xaml.vb
new file mode 100644
index 00000000..3b220f61
--- /dev/null
+++ b/EgtBEAMWALL.Core/BeamMachiningsWindow/BeamMachiningsWindowV.xaml.vb
@@ -0,0 +1,20 @@
+Imports System.Windows
+
+Public Class BeamMachiningsWindowV
+
+ Private WithEvents m_BeamMachiningsWindowVM As MyBeamMachiningsWindowVM
+
+ Sub New(Owner As Window, BeamMachiningsWindowVM As MyBeamMachiningsWindowVM)
+ MyBase.New(Owner)
+ ' This call is required by the designer.
+ InitializeComponent()
+ Me.DataContext = BeamMachiningsWindowVM
+ ' Assegno al riferimento locale al VM il VM preso dal DataContext
+ m_BeamMachiningsWindowVM = BeamMachiningsWindowVM
+ End Sub
+
+ Private Sub CloseWindow(bDialogResult As Boolean) Handles m_BeamMachiningsWindowVM.m_CloseWindow
+ Me.DialogResult = bDialogResult
+ End Sub
+
+End Class
diff --git a/EgtBEAMWALL.Core/BeamMachiningsWindow/MyBeamMachiningsWindowVM.vb b/EgtBEAMWALL.Core/BeamMachiningsWindow/MyBeamMachiningsWindowVM.vb
new file mode 100644
index 00000000..e9f603e8
--- /dev/null
+++ b/EgtBEAMWALL.Core/BeamMachiningsWindow/MyBeamMachiningsWindowVM.vb
@@ -0,0 +1,36 @@
+Imports System.Collections.ObjectModel
+Imports EgtBEAMWALL.Core
+Imports EgtWPFLib5
+
+Public Class MyBeamMachiningsWindowVM
+ Inherits BeamMachiningsWindowVM
+
+#Region "FIELDS & PROPERTIES"
+
+ Private m_BeamMachiningsColumns As New ObservableCollection(Of EgtDataGridColumn)
+ Public Property BeamMachiningsColumns As ObservableCollection(Of EgtDataGridColumn)
+ Get
+ Return m_BeamMachiningsColumns
+ End Get
+ Set(value As ObservableCollection(Of EgtDataGridColumn))
+ m_BeamMachiningsColumns = value
+ End Set
+ End Property
+
+#End Region ' FIELDS & PROPERTIES
+
+#Region "CONSTRUCTOR"
+
+ Sub New(sTitle As String, sBaseDir As String, sMachTypePath As String, sTabTemplPath As String, Optional bIsBeam As Boolean = True)
+ MyBase.New(sTitle, sBaseDir, sMachTypePath, sTabTemplPath, bIsBeam)
+ ' carico le colonne della datagrid
+ GetPrivateProfileColumns(S_BEAMMACHININGS, BeamMachiningsColumns)
+ ' aggiorno la visibilità delle colonne
+ For Each col In BeamMachiningsColumns
+ col.ColumnVisibility = If(col.Visible, Windows.Visibility.Visible, Windows.Visibility.Collapsed)
+ Next
+ End Sub
+
+#End Region ' CONSTRUCTOR
+
+End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/ConfigurationPageV.xaml b/EgtBEAMWALL.Core/ConfigurationPage/ConfigurationPageV.xaml
new file mode 100644
index 00000000..1ed7a8f3
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/ConfigurationPageV.xaml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/ConfigurationPageV.xaml.vb b/EgtBEAMWALL.Core/ConfigurationPage/ConfigurationPageV.xaml.vb
new file mode 100644
index 00000000..1d11796c
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/ConfigurationPageV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class ConfigurationPageV
+
+End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/General_ConfigurationPageV.xaml b/EgtBEAMWALL.Core/ConfigurationPage/General_ConfigurationPageV.xaml
new file mode 100644
index 00000000..cb1967d0
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/General_ConfigurationPageV.xaml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/General_ConfigurationPageV.xaml.vb b/EgtBEAMWALL.Core/ConfigurationPage/General_ConfigurationPageV.xaml.vb
new file mode 100644
index 00000000..3a061a50
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/General_ConfigurationPageV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class General_ConfigurationPageV
+
+End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/Machine_ConfigurationPageV.xaml b/EgtBEAMWALL.Core/ConfigurationPage/Machine_ConfigurationPageV.xaml
new file mode 100644
index 00000000..720cdea9
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/Machine_ConfigurationPageV.xaml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/Machine_ConfigurationPageV.xaml.vb b/EgtBEAMWALL.Core/ConfigurationPage/Machine_ConfigurationPageV.xaml.vb
new file mode 100644
index 00000000..5c0867be
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/Machine_ConfigurationPageV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class Machine_ConfigurationPageV
+
+End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/QParameter_ConfigurationPageV.xaml b/EgtBEAMWALL.Core/ConfigurationPage/QParameter_ConfigurationPageV.xaml
new file mode 100644
index 00000000..b5662498
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/QParameter_ConfigurationPageV.xaml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Core/ConfigurationPage/QParameter_ConfigurationPageV.xaml.vb b/EgtBEAMWALL.Core/ConfigurationPage/QParameter_ConfigurationPageV.xaml.vb
new file mode 100644
index 00000000..c059e15e
--- /dev/null
+++ b/EgtBEAMWALL.Core/ConfigurationPage/QParameter_ConfigurationPageV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class QParameter_ConfigurationPageV
+
+End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj b/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj
index 47f91bf0..3f57fcb3 100644
--- a/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj
+++ b/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj
@@ -77,8 +77,18 @@
+
+
+ General_ConfigurationPageV.xaml
+
+
+ Machine_ConfigurationPageV.xaml
+
+
+ QParameter_ConfigurationPageV.xaml
+
@@ -97,6 +107,9 @@
+
+ QParamListV.xaml
+
@@ -112,6 +125,9 @@
LoadingWndV.xaml
+
+ MachinePanelV.xaml
+ NewOpenProjectFileDialogV.xaml
@@ -187,14 +203,34 @@
+
+ Designer
+ XamlIntelliSenseFileGenerator
+
+
+ Designer
+ XamlIntelliSenseFileGenerator
+
+
+ Designer
+ XamlIntelliSenseFileGenerator
+ MSBuild:CompileDesigner
+
+ MSBuild:Compile
+ Designer
+ DesignerXamlIntelliSenseFileGenerator
+
+ Designer
+ XamlIntelliSenseFileGenerator
+ MSBuild:CompileDesigner
@@ -209,8 +245,9 @@
-
+
+ copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.Core.dll
diff --git a/EgtBEAMWALL.Core/ItemParamList/QParamListV.xaml b/EgtBEAMWALL.Core/ItemParamList/QParamListV.xaml
new file mode 100644
index 00000000..04466bfc
--- /dev/null
+++ b/EgtBEAMWALL.Core/ItemParamList/QParamListV.xaml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/EgtBEAMWALL.Core/ItemParamList/QParamListV.xaml.vb b/EgtBEAMWALL.Core/ItemParamList/QParamListV.xaml.vb
new file mode 100644
index 00000000..e780b75a
--- /dev/null
+++ b/EgtBEAMWALL.Core/ItemParamList/QParamListV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class QParamListV
+
+End Class
diff --git a/EgtBEAMWALL.Core/MachinePanel/MachinePanelV.xaml b/EgtBEAMWALL.Core/MachinePanel/MachinePanelV.xaml
new file mode 100644
index 00000000..a529c024
--- /dev/null
+++ b/EgtBEAMWALL.Core/MachinePanel/MachinePanelV.xaml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Core/MachinePanel/MachinePanelV.xaml.vb b/EgtBEAMWALL.Core/MachinePanel/MachinePanelV.xaml.vb
new file mode 100644
index 00000000..83a5832c
--- /dev/null
+++ b/EgtBEAMWALL.Core/MachinePanel/MachinePanelV.xaml.vb
@@ -0,0 +1,3 @@
+Public Class MachinePanelV
+
+End Class
diff --git a/EgtBEAMWALL.Core/MachinePanel/MachinePanelVM.vb b/EgtBEAMWALL.Core/MachinePanel/MachinePanelVM.vb
new file mode 100644
index 00000000..88351e28
--- /dev/null
+++ b/EgtBEAMWALL.Core/MachinePanel/MachinePanelVM.vb
@@ -0,0 +1,357 @@
+Imports System.Collections.ObjectModel
+Imports System.IO
+Imports EgtBEAMWALL.Core
+Imports EgtUILib
+Imports EgtWPFLib5
+
+Public Class MachinePanelVM
+ Inherits EgtWPFLib5.MachinePanelVM
+
+#Region "FIELDS & PROPERTIES"
+
+ ' Radice del direttorio delle macchine
+ Private m_sMachinesRoot As String
+
+ ' Macchina correntemente selezionata e quindi attiva
+ Private m_SelectedMachine As Machine = Nothing
+ Public Overrides Property SelectedMachine As Machine
+ Get
+ Return m_SelectedMachine
+ End Get
+ Set(value As Machine)
+ If value IsNot m_SelectedMachine Then
+ ' imposto macchina in DbGeometrico
+ If Not IsNothing(value) AndAlso EgtSetCurrMachine(value.Name) Then
+ m_SelectedMachine = value
+ End If
+ ' Salvo impostazione macchina corrente
+ SaveCurrentMachine()
+ NotifyPropertyChanged(NameOf(SelectedMachine))
+ ' inizializzo la macchina selezionata come macchina corrente
+ Dim nMachType As MachineType = DirectCast(m_SelectedMachine, MyMachine).nType
+ SectionXMaterial.SetType(nMachType)
+ If Not IsNothing(value) Then
+ InitCurrentMachine(Map.refMainWindowVM.MainWindowM.sMachinesRoot, value.Name, nMachType)
+ Else
+ InitCurrentMachine(Map.refMainWindowVM.MainWindowM.sMachinesRoot, m_SelectedMachine.Name, nMachType)
+ End If
+ ' mostro bottone tabella beam o wall a seconda del tipo
+ m_BeamTable_Visibility = If(nMachType = MachineType.BEAM OrElse nMachType = MachineType.BOTH, Visibility.Visible, Visibility.Collapsed)
+ m_WallTable_Visibility = If(nMachType = MachineType.WALL OrElse nMachType = MachineType.BOTH, Visibility.Visible, Visibility.Collapsed)
+ NotifyPropertyChanged(NameOf(BeamTable_Visibility))
+ NotifyPropertyChanged(NameOf(WallTable_Visibility))
+ ' carico i Parametri Q da mostrare (Beam, Wall o entrambi) in base al tipo di macchina selezionata
+ If Not IsNothing(Map.refConfigurationPageVM) Then
+ ' carico i parametri Q dei Process letti dall'ini
+ Map.refConfigurationPageVM.GetQParamsList()
+ ' carico la lista di tutti i parametri Q ciclando su ogni Process di PRCList
+ If Not IsNothing(Map.refConfigurationPageVM.QBTLParamVMList) Then
+ Map.refConfigurationPageVM.QBTLParamVMList.Clear()
+ End If
+ For Each PRCItem In Map.refConfigurationPageVM.PRCList
+ For Each QBTLParam In PRCItem.QBTLParamVMList
+ Map.refConfigurationPageVM.QBTLParamVMList.Add(QBTLParam)
+ Next
+ Next
+ NotifyPropertyChanged(NameOf(Map.refConfigurationPageVM.QBTLParamVMList))
+ End If
+ ' aggiorno nome macchina in statusbar
+ Map.refMyStatusBarVM.RefreshMachName()
+ End If
+ End Set
+ End Property
+
+ Private m_MachPanel_IsEnabled As Boolean = True
+ Public Property MachPanel_IsEnabled As Boolean
+ Get
+ Return m_MachPanel_IsEnabled
+ End Get
+ Set(value As Boolean)
+ m_MachPanel_IsEnabled = value
+ NotifyPropertyChanged("MachPanel_IsEnabled")
+ End Set
+ End Property
+
+ Private m_BeamTable_Visibility As Visibility
+ Public ReadOnly Property BeamTable_Visibility As Visibility
+ Get
+ Return m_BeamTable_Visibility
+ End Get
+ End Property
+
+ Private m_WallTable_Visibility As Visibility
+ Public ReadOnly Property WallTable_Visibility As Visibility
+ Get
+ Return m_WallTable_Visibility
+ End Get
+ End Property
+
+ Public ReadOnly Property SetUp_Visibility As Visibility
+ Get
+ Return If(Map.refMainWindowVM.MainWindowM.bModifySetup, Visibility.Visible, Visibility.Collapsed)
+ End Get
+ End Property
+
+
+#Region "Messages"
+
+ Public ReadOnly Property ToolDBMsg As String
+ Get
+ Return EgtMsg(MSG_MACHINEPAGEUC + 6)
+ End Get
+ End Property
+ Public ReadOnly Property MachiningDbMsg As String
+ Get
+ Return EgtMsg(MSG_MACHINEPAGEUC + 7)
+ End Get
+ End Property
+ Public ReadOnly Property SetUpMsg As String
+ Get
+ Return EgtMsg(MSG_ALARMSPAGEUC + 33)
+ End Get
+ End Property
+
+#End Region ' Messages
+
+#Region "ToolTip"
+
+ Public ReadOnly Property ToolDBToolTip As String
+ Get
+ Return EgtMsg(5003)
+ End Get
+ End Property
+ Public ReadOnly Property MachiningDbToolTip As String
+ Get
+ Return EgtMsg(5004)
+ End Get
+ End Property
+ Public ReadOnly Property SetUpToolTip As String
+ Get
+ Return EgtMsg(31501)
+ End Get
+ End Property
+
+#End Region ' ToolTip
+
+ ' Definizione comandi
+ Private m_cmdBeamTable As ICommand
+ Private m_cmdWallTable As ICommand
+
+#End Region 'FIELDS & PROPERTIES
+
+#Region "CONSTRUCTOR"
+
+ Sub New()
+ ' Creo riferimento a questa classe in Map
+ Map.SetRefMachinePanelVM(Me)
+ ' recupero cartella radice delle macchine
+ m_sMachinesRoot = Map.refMainWindowVM.MainWindowM.sMachinesRoot
+ ' Carica macchine da cartella delle macchine
+ MyMachine.MachineListInit(m_sMachinesRoot, MachineList)
+ End Sub
+
+#End Region ' CONSTRUCTOR
+
+#Region "METHODS"
+
+ Friend Sub LoadCurrentMachine()
+ If MachineList.Count = 0 Then Return
+ Dim CurrMachine As Machine = Nothing
+ Dim CurrMachineName As String = String.Empty
+ GetMainPrivateProfileString(S_MACH, K_CURRMACH, String.Empty, CurrMachineName)
+ Dim bFound As Boolean = False
+ If Not String.IsNullOrEmpty(CurrMachineName) Then
+ For Each Mach In MachineList
+ If Mach.Name = CurrMachineName Then
+ bFound = True
+ CurrMachine = Mach
+ Exit For
+ End If
+ Next
+ End If
+ If Not bFound And MachineList.Count > 0 Then
+ CurrMachine = MachineList(0)
+ End If
+ If Not IsNothing(CurrMachine) Then
+ If EgtSetCurrMachine(CurrMachine.Name) Then
+ SelectedMachine = CurrMachine
+ End If
+ End If
+ End Sub
+
+ Friend Sub SaveCurrentMachine()
+ If IsNothing(m_SelectedMachine) Then Return
+ WriteMainPrivateProfileString(S_MACH, K_CURRMACH, SelectedMachine.Name)
+ End Sub
+
+ Friend Sub UpdateCurrentMachine()
+ 'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
+ Dim sMachName As String = String.Empty
+ If EgtGetCurrMachineName(sMachName) Then
+ For Each Mach In MachineList
+ If Mach.Name = sMachName Then
+ SelectedMachine = Mach
+ Exit For
+ End If
+ Next
+ End If
+ End Sub
+
+ Friend Function BeamMachDb() As Boolean
+ ' Assegno le path
+ Dim sBaseDir As String = m_sMachinesRoot & "\" & m_SelectedMachine.Name & "\" & "Beam"
+ ' verifico se ci sono i file ini
+ Dim sMachTypePath As String = sBaseDir & "\MachiningTypes.ini"
+ Dim sTabTemplPath As String = sBaseDir & "\BeamTableTemplate.ini"
+ If File.Exists(sMachTypePath) AndAlso File.Exists(sTabTemplPath) Then
+ ' apro finestra di gestione lavorazioni travi
+ Dim sTitle = EgtMsg(9000) 'Tabelle delle lavorazioni delle travi
+ Dim BeamMchsWinVM As New MyBeamMachiningsWindowVM(sTitle, sBaseDir, sMachTypePath, sTabTemplPath)
+ Dim BeamMchsWinV As New BeamMachiningsWindowV(Application.Current.MainWindow, BeamMchsWinVM)
+ BeamMchsWinV.ShowDialog()
+ Else
+ ' Impossibile aprire l'Editor delle lavorazioni delle travi. Mancano i file di configurazione. - Errore
+ MessageBox.Show(EgtMsg(9009), EgtMsg(9008), MessageBoxButton.OK, MessageBoxImage.Stop)
+ End If
+ Return True
+ End Function
+
+ Friend Function WallMachDb() As Boolean
+ ' Assegno le path
+ Dim sBaseDir As String = m_sMachinesRoot & "\" & m_SelectedMachine.Name & "\" & "Wall"
+ ' verifico se ci sono i file ini
+ Dim sMachTypePath As String = sBaseDir & "\MachiningTypes.ini"
+ Dim sTabTemplPath As String = sBaseDir & "\WallTableTemplate.ini"
+ If File.Exists(sMachTypePath) AndAlso File.Exists(sTabTemplPath) Then
+ ' apro finestra di gestione lavorazioni pareti
+ Dim sTitle = EgtMsg(9010) 'Tabelle delle lavorazioni delle pareti
+ Dim WallMchsWinVM As New MyBeamMachiningsWindowVM(sTitle, sBaseDir, sMachTypePath, sTabTemplPath, False)
+ Dim WallMchsWinV As New BeamMachiningsWindowV(Application.Current.MainWindow, WallMchsWinVM)
+ WallMchsWinV.ShowDialog()
+ Else
+ ' Impossibile aprire l'Editor delle lavorazioni delle pareti. Mancano i file di configurazione. - Errore
+ MessageBox.Show(EgtMsg(9011), EgtMsg(9008), MessageBoxButton.OK, MessageBoxImage.Stop)
+ End If
+ Return True
+ End Function
+
+ Public Overrides Sub ToolDb(ByVal param As Object)
+ If Not VerifyMachinesDir(m_sMachinesRoot) Then Return
+ ' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
+ If Not EgtTdbReload() Then
+ EgtOutLog("Impossible reloading tool Db")
+ MessageBox.Show(EgtMsg(MSG_TOOLDBERRORS + 30), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
+ Return
+ End If
+
+ Dim ToolDbWindowVM As New MyToolDbWindowVM(CurrentMachine.sMachDir, CurrentMachine.sMachIniFile, Map.refSceneHostVM.MainScene.GetCtx(), "Beam")
+ Dim ToolDbWindowV As New ToolDbWindowV(Application.Current.MainWindow, ToolDbWindowVM)
+ If ToolDbWindowVM.MatType <> 0 Then
+ ToolDbWindowV.Height = 640
+ ToolDbWindowV.Width = 1024
+ ToolDbWindowV.ShowDialog()
+ Else
+ Exit Sub
+ End If
+
+ End Sub
+
+ Public Overrides Sub MachDb(ByVal param As Object)
+ If Not VerifyMachinesDir(m_sMachinesRoot) Then Return
+ ' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
+ If Not EgtMdbReload() Then
+ EgtOutLog("Impossible reloading machining Db")
+ MessageBox.Show(EgtMsg(MSG_MACHININGDBERRORS + 8), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
+ Return
+ End If
+ Dim MachDbWindowVM As New EgtWPFLib5.MachiningDbWindowVM(CurrentMachine.sMachIniFile, Map.refSceneHostVM.MainScene.GetCtx(), "Stone")
+ Dim MachDbWindowV As New EgtWPFLib5.MachiningDbWindowV(Application.Current.MainWindow, MachDbWindowVM)
+
+ If EgtWPFLib5.MachiningTreeViewItem.m_MatType <> 0 Then
+ MachDbWindowV.Height = 768
+ MachDbWindowV.Width = 1024
+ MachDbWindowV.ShowDialog()
+ Else
+ Exit Sub
+ End If
+
+ End Sub
+
+ Public Overrides Sub SetUp(ByVal param As Object)
+ ' verifico che il file di configurazione attrezzaggio (lua) della macchina esista
+ If Not File.Exists(CurrentMachine.sMachDir & "\Scripts\" & SETUP_LUA) Then
+ EgtOutLog("SetUp error: SetUp configuration file doesn't exist ")
+ MessageBox.Show(EgtMsg(MSG_SETUPERRORS + 7), EgtMsg(MSG_SETUPERRORS + 1), MessageBoxButton.OK, MessageBoxImage.Error)
+ Return
+ End If
+ ' carico Lua che contiene le funzioni per ottenere le posizioni valide dell'utensile selezionato,
+ ' e testa e uscita dell'utensile attrezzato
+ EgtLuaExecFile(CurrentMachine.sMachDir & "\Scripts\" & SETUP_LUA)
+ ' verifico che le teste riportate in configurazione esistano
+ Dim Index As Integer = 1
+ Dim nErr As Integer = 0
+ While nErr = 0
+ Dim sHead As String = String.Empty
+ nErr = 999
+ EgtLuaSetGlobIntVar("STU.INDEX", Index)
+ EgtLuaCallFunction("STU.GetTcPosHeadGroupFromPos")
+ ' Leggo variabili
+ EgtLuaGetGlobStringVar("STU.HEAD", sHead)
+ EgtLuaGetGlobIntVar("STU.ERR", nErr)
+ If nErr = 0 Then
+ If EgtGetHeadExitCount(sHead) = 0 Then
+ MessageBox.Show(EgtMsg(MSG_SETUPERRORS + 8), EgtMsg(MSG_SETUPERRORS + 1), MessageBoxButton.OK, MessageBoxImage.Error)
+ Return
+ End If
+ End If
+ Index += 1
+ End While
+ ' Reset lua
+ EgtLuaResetGlobVar("STU")
+
+ Dim SetUpWindow As New SetUpWindowV(Application.Current.MainWindow, New SetUpWindowVM(CurrentMachine.sMachDir, CurrentMachine.sMachineName))
+ SetUpWindow.Height = 614
+ SetUpWindow.Width = 1024
+ SetUpWindow.ShowDialog()
+
+ End Sub
+
+#End Region
+
+#Region "COMMANDS"
+
+#Region "BeamTable"
+
+ '''
+ ''' Returns a command that do Exec.
+ '''
+ Public ReadOnly Property BeamTable_Command As ICommand
+ Get
+ If m_cmdBeamTable Is Nothing Then
+ m_cmdBeamTable = New Command(AddressOf BeamMachDb)
+ End If
+ Return m_cmdBeamTable
+ End Get
+ End Property
+
+#End Region ' BeamTable
+
+#Region "WallTable"
+
+ '''
+ ''' Returns a command that do Exec.
+ '''
+ Public ReadOnly Property WallTable_Command As ICommand
+ Get
+ If m_cmdWallTable Is Nothing Then
+ m_cmdWallTable = New Command(AddressOf WallMachDb)
+ End If
+ Return m_cmdWallTable
+ End Get
+ End Property
+
+#End Region ' WallTable
+
+#End Region ' COMMANDS
+
+End Class
diff --git a/EgtBEAMWALL.Core/Resources/ProjectManager/Save.png b/EgtBEAMWALL.Core/Resources/ProjectManager/Save.png
new file mode 100644
index 00000000..0eca2603
Binary files /dev/null and b/EgtBEAMWALL.Core/Resources/ProjectManager/Save.png differ
diff --git a/EgtBEAMWALL.Supervisor/BeamMachiningsWindow/BeamMachiningsWindowV.xaml b/EgtBEAMWALL.Supervisor/BeamMachiningsWindow/BeamMachiningsWindowV.xaml
new file mode 100644
index 00000000..02bcbf79
--- /dev/null
+++ b/EgtBEAMWALL.Supervisor/BeamMachiningsWindow/BeamMachiningsWindowV.xaml
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Supervisor/BeamMachiningsWindow/BeamMachiningsWindowV.xaml.vb b/EgtBEAMWALL.Supervisor/BeamMachiningsWindow/BeamMachiningsWindowV.xaml.vb
new file mode 100644
index 00000000..eeda3889
--- /dev/null
+++ b/EgtBEAMWALL.Supervisor/BeamMachiningsWindow/BeamMachiningsWindowV.xaml.vb
@@ -0,0 +1,20 @@
+Imports EgtBEAMWALL.Core
+
+Public Class BeamMachiningsWindowV
+
+ Private WithEvents m_BeamMachiningsWindowVM As MyBeamMachiningsWindowVM
+
+ Sub New(Owner As Window, BeamMachiningsWindowVM As MyBeamMachiningsWindowVM)
+ MyBase.New(Owner)
+ ' This call is required by the designer.
+ InitializeComponent()
+ Me.DataContext = BeamMachiningsWindowVM
+ ' Assegno al riferimento locale al VM il VM preso dal DataContext
+ m_BeamMachiningsWindowVM = BeamMachiningsWindowVM
+ End Sub
+
+ Private Sub CloseWindow(bDialogResult As Boolean) Handles m_BeamMachiningsWindowVM.m_CloseWindow
+ Me.DialogResult = bDialogResult
+ End Sub
+
+End Class
diff --git a/EgtBEAMWALL.Supervisor/BeamMachiningsWindow/MyBeamMachiningsWindowVM.vb b/EgtBEAMWALL.Supervisor/BeamMachiningsWindow/MyBeamMachiningsWindowVM.vb
new file mode 100644
index 00000000..ce68d3e6
--- /dev/null
+++ b/EgtBEAMWALL.Supervisor/BeamMachiningsWindow/MyBeamMachiningsWindowVM.vb
@@ -0,0 +1,36 @@
+Imports System.Collections.ObjectModel
+Imports EgtBEAMWALL.Core
+Imports EgtWPFLib5
+
+Public Class MyBeamMachiningsWindowVM
+ Inherits BeamMachiningsWindowVM
+
+#Region "FIELDS & PROPERTIES"
+
+ Private m_BeamMachiningsColumns As New ObservableCollection(Of EgtDataGridColumn)
+ Public Property BeamMachiningsColumns As ObservableCollection(Of EgtDataGridColumn)
+ Get
+ Return m_BeamMachiningsColumns
+ End Get
+ Set(value As ObservableCollection(Of EgtDataGridColumn))
+ m_BeamMachiningsColumns = value
+ End Set
+ End Property
+
+#End Region ' FIELDS & PROPERTIES
+
+#Region "CONSTRUCTOR"
+
+ Sub New(sTitle As String, sBaseDir As String, sMachTypePath As String, sTabTemplPath As String, Optional bIsBeam As Boolean = True)
+ MyBase.New(sTitle, sBaseDir, sMachTypePath, sTabTemplPath, bIsBeam)
+ ' carico le colonne della datagrid
+ GetPrivateProfileColumns(S_BEAMMACHININGS, BeamMachiningsColumns)
+ ' aggiorno la visibilità delle colonne
+ For Each col In BeamMachiningsColumns
+ col.ColumnVisibility = If(col.Visible, Visibility.Visible, Visibility.Collapsed)
+ Next
+ End Sub
+
+#End Region ' CONSTRUCTOR
+
+End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.Supervisor/ConfigurationPage/ConfigurationPageV.xaml b/EgtBEAMWALL.Supervisor/ConfigurationPage/ConfigurationPageV.xaml
index 76155c07..fcb9bc09 100644
--- a/EgtBEAMWALL.Supervisor/ConfigurationPage/ConfigurationPageV.xaml
+++ b/EgtBEAMWALL.Supervisor/ConfigurationPage/ConfigurationPageV.xaml
@@ -1,24 +1,36 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/EgtBEAMWALL.Supervisor/ConfigurationPage/ConfigurationPageVM.vb b/EgtBEAMWALL.Supervisor/ConfigurationPage/ConfigurationPageVM.vb
index 03c54f8f..2fb406b1 100644
--- a/EgtBEAMWALL.Supervisor/ConfigurationPage/ConfigurationPageVM.vb
+++ b/EgtBEAMWALL.Supervisor/ConfigurationPage/ConfigurationPageVM.vb
@@ -1,5 +1,4 @@
Imports System.Collections.ObjectModel
-Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
Imports EgtBEAMWALL.Core
@@ -7,10 +6,37 @@ Imports EgtBEAMWALL.Core
Public Class ConfigurationPageVM
Inherits VMBase
- ' Definizione comandi
- Private m_cmdSave As ICommand
- Private m_cmdAddVariable As ICommand
- Private m_cmdRemoveVariable As ICommand
+ Public Enum ConfigSubPages As Integer
+ GENERAL = 0
+ MACHINE = 1
+ VARIABLE = 2
+ End Enum
+
+ Private m_SelConfigSubPage As ConfigSubPages = ConfigSubPages.GENERAL
+ Public Property SelConfigSubPage As Integer
+ Get
+ Return m_SelConfigSubPage
+ End Get
+ Set(value As Integer)
+ m_SelConfigSubPage = value
+ If m_SelConfigSubPage = ConfigSubPages.GENERAL Then
+ m_bGeneral_Visibility = Visibility.Visible
+ m_bMachine_Visibility = Visibility.Collapsed
+ ElseIf m_SelConfigSubPage = ConfigSubPages.MACHINE Then
+ m_bMachine_Visibility = Visibility.Visible
+ m_bGeneral_Visibility = Visibility.Collapsed
+ End If
+ NotifyPropertyChanged(NameOf(General_Visibility))
+ NotifyPropertyChanged(NameOf(Machine_Visibility))
+ End Set
+ End Property
+
+ Public ReadOnly Property MachinePanelVM As MachinePanelVM
+ Get
+ Return Map.refMachinePanelVM
+ End Get
+ End Property
+
' Contatore delle variabili rimosse per successiva rimozione dal file INI
Friend m_RemovedVarsCount As Integer = 0
@@ -85,6 +111,88 @@ Public Class ConfigurationPageVM
End Set
End Property
+ Private m_bGeneral_Visibility As Visibility = Visibility.Visible
+ Public Property General_Visibility As Visibility
+ Get
+ Return m_bGeneral_Visibility
+ End Get
+ Set(value As Visibility)
+ m_bGeneral_Visibility = value
+ NotifyPropertyChanged(NameOf(General_Visibility))
+ End Set
+ End Property
+
+ Private m_bMachine_Visibility As Visibility = Visibility.Collapsed
+ Public Property Machine_Visibility As Visibility
+ Get
+ Return m_bMachine_Visibility
+ End Get
+ Set(value As Visibility)
+ m_bMachine_Visibility = value
+ NotifyPropertyChanged(NameOf(Machine_Visibility))
+ End Set
+ End Property
+
+ Private m_SectionTime As Double
+ Public Property SectionTime As String
+ Get
+ Return DoubleToString(m_SectionTime, 5)
+ End Get
+ Set(value As String)
+ Dim dVal As Double = 0
+ If StringToDoubleAdv(value, dVal, True) AndAlso dVal > 0 Then
+ m_SectionTime = dVal
+ End If
+ End Set
+ End Property
+
+ Private m_PartTime As Double
+ Public Property PartTime As String
+ Get
+ Return DoubleToString(m_PartTime, 5)
+ End Get
+ Set(value As String)
+ Dim dVal As Double = 0
+ If StringToDoubleAdv(value, dVal, True) AndAlso dVal > 0 Then
+ m_PartTime = dVal
+ End If
+ End Set
+ End Property
+
+ Private m_ReminderList As New List(Of IdNameStruct)({New IdNameStruct(0, EgtMsg(61988)), New IdNameStruct(1, EgtMsg(61989)), New IdNameStruct(2, EgtMsg(61990)), New IdNameStruct(7, EgtMsg(61991)), New IdNameStruct(14, EgtMsg(61992)), New IdNameStruct(30, EgtMsg(61993))})
+ Public ReadOnly Property ReminderList As List(Of IdNameStruct)
+ Get
+ Return m_ReminderList
+ End Get
+ End Property
+
+ Private m_SelReminder As IdNameStruct
+ Public Property SelReminder As IdNameStruct
+ Get
+ Return m_SelReminder
+ End Get
+ Set(value As IdNameStruct)
+ m_SelReminder = value
+ WriteMainPrivateProfileString(S_BACKUPANDRESTORE, K_REMINDERFREQUENCY, m_SelReminder.Id)
+ End Set
+ End Property
+
+ Private m_ConfigMachTableList As New ObservableCollection(Of MachTable)
+ Public Property ConfigMachTableList As ObservableCollection(Of MachTable)
+ Get
+ Return m_ConfigMachTableList
+ End Get
+ Set(value As ObservableCollection(Of MachTable))
+ m_ConfigMachTableList = value
+ End Set
+ End Property
+
+
+ ' Definizione comandi
+ Private m_cmdSave As ICommand
+ Private m_cmdAddVariable As ICommand
+ Private m_cmdRemoveVariable As ICommand
+
#Region "Messages"
Public ReadOnly Property L_Msg As String
@@ -209,6 +317,35 @@ Public Class ConfigurationPageVM
End Get
End Property
+ Public ReadOnly Property General_Msg As String
+ Get
+ Return EgtMsg(62535)
+ End Get
+ End Property
+
+ Public ReadOnly Property Machine_Msg As String
+ Get
+ Return EgtMsg(62537)
+ End Get
+ End Property
+
+ Public ReadOnly Property SectionTime_Msg As String
+ Get
+ Return EgtMsg(61806)
+ End Get
+ End Property
+ Public ReadOnly Property PartTime_Msg As String
+ Get
+ Return EgtMsg(61807)
+ End Get
+ End Property
+
+ Public ReadOnly Property Nesting_Msg As String
+ Get
+ Return EgtMsg(61829)
+ End Get
+ End Property
+
#End Region ' Messages
#Region "Constructor"
@@ -244,6 +381,13 @@ Public Class ConfigurationPageVM
GetPrivateProfileColumns(S_VARIABLESLIST, VariablesColumns)
' carico le Variables della macchina
LoadVariables()
+ ' leggo SectionTime e PartTime
+ GetMainPrivateProfileString(S_NEST, K_SECTIONTIME, "", SectionTime)
+ GetMainPrivateProfileString(S_NEST, K_PARTTIME, "", PartTime)
+ ' assegno le liste dei parametri della macchina corrente alla ConfigMachTableList alla pagina di Configurazione
+ ConfigMachTableList = CurrentMachine.MachTableList
+ Dim nDefaultReminderFrequency As Integer = GetMainPrivateProfileInt(S_BACKUPANDRESTORE, K_REMINDERFREQUENCY, 1)
+ SelReminder = m_ReminderList.FirstOrDefault(Function(x) x.Id = nDefaultReminderFrequency)
End Sub
#End Region ' Constructor
@@ -407,11 +551,196 @@ Public Class ConfigVariable
End Class
-'' Tipo parametro nel file di configurazione Macchina
-'Public Enum MachParamType As Integer
-' DOUBLE_ = 1
-' STRING_ = 2
-' COMBO = 3
-' LENGTH = 4
-' CHECKBOX = 5
-'End Enum
+Public Class MachParam
+ Inherits VMBase
+
+ ' table a cui appartiene il parametro
+ Private m_nParentTable As Integer
+ Friend ReadOnly Property nParentTable As Integer
+ Get
+ Return m_nParentTable
+ End Get
+ End Property
+
+ ' indice del parametro
+ Private m_nParamIndex As Integer
+ Friend ReadOnly Property nParamIndex As Integer
+ Get
+ Return m_nParamIndex
+ End Get
+ End Property
+
+ ' tipo della variabile
+ Private m_nType As MachParamType
+ Friend ReadOnly Property nType As MachParamType
+ Get
+ Return m_nType
+ End Get
+ End Property
+
+ ' parametri da struttura
+ Private m_sName As String
+ Public Property sName As String
+ Get
+ Return m_sName
+ End Get
+ Set(value As String)
+ m_sName = value
+ End Set
+ End Property
+
+ ' parametri da geometria
+ Private m_IsModifiedValue As Boolean = False
+ Private m_dValue As Double
+ Private m_sValue As String
+ Public Property sValue As String
+ Get
+ Select Case nType
+ Case MachParamType.DOUBLE_
+ Return DoubleToString(m_dValue, 3)
+ Case MachParamType.LENGTH
+ Return LenToString(m_dValue, 3)
+ Case Else ' stringhe
+ Return m_sValue
+ End Select
+ Return If(nType = MachParamType.LENGTH, LenToString(m_dValue, 3), DoubleToString(m_dValue, 3))
+ End Get
+ Set(value As String)
+ Dim dNewValue As Double
+ ' verifico se valore immesso è diverso dall'originale
+ If nParentTable > 0 Then
+ ' trasformo valori
+ Select Case nType
+ Case MachParamType.DOUBLE_
+ StringToDoubleAdv(value, dNewValue, True)
+ m_IsModifiedValue = Math.Abs(dNewValue - m_dValue) > EPS_SMALL
+ Case MachParamType.LENGTH
+ StringToLenAdv(value, dNewValue, True)
+ m_IsModifiedValue = Math.Abs(dNewValue - m_dValue) > EPS_SMALL
+ Case Else
+ m_IsModifiedValue = String.Compare(value, m_sValue) <> 0
+ End Select
+ End If
+ ' se valore immesso è diverso e password non inserita
+ 'If m_IsModifiedValue AndAlso Not Map.refConfigurationPageVM.bModifyMachParam Then
+ ' Map.refConfigurationPageVM.bModifyMachParam = Map.refConfigurationPageVM.VerifyConfigPagePassword()
+ ' If Not Map.refConfigurationPageVM.bModifyMachParam Then
+ ' NotifyPropertyChanged("sValue")
+ ' m_IsModifiedValue = False
+ ' Return
+ ' End If
+ 'End If
+
+ Select Case nType
+ Case MachParamType.DOUBLE_, MachParamType.LENGTH
+ UpdateParamValue(dNewValue, "")
+ Case Else
+ UpdateParamValue(0, value)
+ End Select
+ End Set
+ End Property
+ Public Property dValue As Double
+ Get
+ Return m_dValue
+ End Get
+ Set(value As Double)
+ m_dValue = value
+ NotifyPropertyChanged("sValue")
+ End Set
+ End Property
+
+ ' descrizione del parametro
+ Private m_sDescription As String
+ Public Property sDescription As String
+ Get
+ Return m_sDescription
+ End Get
+ Set(value As String)
+ m_sDescription = value
+ End Set
+ End Property
+
+ Private Sub StdInit(nParentTable As Integer, nParamIndex As Integer, Type As MachParamType, sName As String, sDescription As String)
+ m_nParentTable = nParentTable
+ m_nParamIndex = nParamIndex
+ m_nType = Type
+ m_sName = sName
+ m_sDescription = MsgToString(sDescription)
+ End Sub
+
+ ' new per double e length
+ Sub New(nParentTable As Integer, nParamIndex As Integer, nType As MachParamType, sParamName As String, dValue As Double, sDescription As String)
+ StdInit(nParentTable, nParamIndex, nType, sParamName, sDescription)
+ m_dValue = dValue 'sValue = DoubleToString(dValue, 3)
+ End Sub
+
+ ' new per stringhe
+ Sub New(nParentTable As Integer, nParamIndex As Integer, nType As MachParamType, sParamName As String, sDescription As String)
+ StdInit(nParentTable, nParamIndex, nType, sParamName, sDescription)
+ End Sub
+
+ ' new per parametro vuoto
+ Sub New(nType As MachParamType, nParamIndex As Integer, sParamName As String)
+ StdInit(Nothing, nParamIndex, nType, sParamName, "")
+ End Sub
+
+ Friend Sub UpdateParamValue(dNewValue As Double, sNewValue As String, Optional bDraw As Boolean = True)
+ Select Case nType
+ Case MachParamType.DOUBLE_, MachParamType.LENGTH
+ m_dValue = dNewValue
+ Case MachParamType.STRING_
+ m_sValue = sNewValue
+ End Select
+ End Sub
+
+ Public ReadOnly Property IsModified() As Boolean
+ Get
+ Return m_IsModifiedValue
+ End Get
+ End Property
+
+ Public Sub IsModifiedReset()
+ m_IsModifiedValue = False
+ End Sub
+
+End Class
+
+Public Class MachTable
+ Inherits VMBase
+
+ ' nome della table
+ Private m_sName As String
+ Public Property sName As String
+ Get
+ Return m_sName
+ End Get
+ Set(value As String)
+ m_sName = value
+ End Set
+ End Property
+
+ Private m_MachParamList As New ObservableCollection(Of MachParam)
+ Public Property MachParamList As ObservableCollection(Of MachParam)
+ Get
+ Return m_MachParamList
+ End Get
+ Set(value As ObservableCollection(Of MachParam))
+ m_MachParamList = value
+ End Set
+ End Property
+
+ Sub New(Name As String, ParamList As ObservableCollection(Of MachParam))
+ sName = Name
+ MachParamList = ParamList
+ End Sub
+
+End Class
+
+' Tipo parametro nel file di configurazione Macchina
+Public Enum MachParamType As Integer
+ DOUBLE_ = 1
+ STRING_ = 2
+ COMBO = 3
+ LENGTH = 4
+ CHECKBOX = 5
+End Enum
diff --git a/EgtBEAMWALL.Supervisor/EgtBEAMWALL.Supervisor.vbproj b/EgtBEAMWALL.Supervisor/EgtBEAMWALL.Supervisor.vbproj
index 8af7008d..1f3cef57 100644
--- a/EgtBEAMWALL.Supervisor/EgtBEAMWALL.Supervisor.vbproj
+++ b/EgtBEAMWALL.Supervisor/EgtBEAMWALL.Supervisor.vbproj
@@ -318,6 +318,9 @@
AxesPanelV.xaml
+
+ BeamMachiningsWindowV.xaml
+ CalcPanelV.xaml
@@ -332,6 +335,7 @@
MachineLogPageV.xaml
+ MDIPageV.xaml
@@ -373,10 +377,6 @@
-
- MachinePanelV.xaml
-
-
@@ -416,6 +416,7 @@
+
@@ -440,6 +441,10 @@
MSBuild:CompileDesigner
+
+ Designer
+ XamlIntelliSenseFileGenerator
+ MSBuild:CompileDesigner
@@ -484,10 +489,6 @@
DesignerMSBuild:Compile
-
- MSBuild:Compile
- Designer
- MSBuild:CompileDesigner
@@ -670,6 +671,10 @@
false
+
+
+
+
diff --git a/EgtBEAMWALL.Supervisor/MachinePanel/MachinePanelVM.vb b/EgtBEAMWALL.Supervisor/MachinePanel/MachinePanelVM.vb
index 5f52f895..830e7663 100644
--- a/EgtBEAMWALL.Supervisor/MachinePanel/MachinePanelVM.vb
+++ b/EgtBEAMWALL.Supervisor/MachinePanel/MachinePanelVM.vb
@@ -1,58 +1,50 @@
-Imports System.Collections.ObjectModel
-Imports System.IO
+Imports System.IO
Imports EgtBEAMWALL.Core
Imports EgtUILib
Imports EgtWPFLib5
Public Class MachinePanelVM
- Inherits VMBase
+ Inherits EgtWPFLib5.MachinePanelVM
#Region "FIELDS & PROPERTIES"
' Radice del direttorio delle macchine
Private m_sMachinesRoot As String
- ' Lista delle macchine disponibili
- Private m_MachineList As New ObservableCollection(Of Machine)
- Public Property MachineList As ObservableCollection(Of Machine)
- Get
- Return m_MachineList
- End Get
- Set(value As ObservableCollection(Of Machine))
- m_MachineList = value
- End Set
- End Property
' Macchina correntemente selezionata e quindi attiva
Private m_SelectedMachine As Machine = Nothing
- Public Property SelectedMachine As MyMachine
+ Public Overrides Property SelectedMachine As Machine
Get
Return m_SelectedMachine
End Get
- Set(value As MyMachine)
+ Set(value As Machine)
If value IsNot m_SelectedMachine Then
- 'EgtSetCurrentContext(Map.refSceneHostVM.MainScene.GetCtx())
- 'EgtResetCurrMachGroup()
- ' se sono in modalità disegno
- m_SelectedMachine = value
+ ' imposto macchina in DbGeometrico
+ If Not IsNothing(value) AndAlso EgtSetCurrMachine(value.Name) Then
+ m_SelectedMachine = value
+ End If
+ ' Salvo impostazione macchina corrente
+ SaveCurrentMachine()
+ NotifyPropertyChanged(NameOf(SelectedMachine))
' inizializzo la macchina selezionata come macchina corrente
Dim nMachType As MachineType = DirectCast(m_SelectedMachine, MyMachine).nType
SectionXMaterial.SetType(nMachType)
- InitCurrentMachine(Map.refMainWindowVM.MainWindowM.sMachinesRoot, value.Name, nMachType)
+ If Not IsNothing(value) Then
+ InitCurrentMachine(Map.refMainWindowVM.MainWindowM.sMachinesRoot, value.Name, nMachType)
+ Else
+ InitCurrentMachine(Map.refMainWindowVM.MainWindowM.sMachinesRoot, m_SelectedMachine.Name, nMachType)
+ End If
+ ' mostro bottone tabella beam o wall a seconda del tipo
+ m_BeamTable_Visibility = If(nMachType = MachineType.BEAM OrElse nMachType = MachineType.BOTH, Visibility.Visible, Visibility.Collapsed)
+ m_WallTable_Visibility = If(nMachType = MachineType.WALL OrElse nMachType = MachineType.BOTH, Visibility.Visible, Visibility.Collapsed)
+ NotifyPropertyChanged(NameOf(BeamTable_Visibility))
+ NotifyPropertyChanged(NameOf(WallTable_Visibility))
+ ' aggiorno nome macchina in statusbar
+ Map.refMyStatusBarVM.RefreshMachName()
End If
End Set
End Property
- Private m_SetUp_Background As Brush = New BrushConverter().ConvertFrom("#FFDDDDDD")
- Public Property SetUp_Background As Brush
- Get
- Return m_SetUp_Background
- End Get
- Set(value As Brush)
- m_SetUp_Background = value
- NotifyPropertyChanged("SetUp_Background")
- End Set
- End Property
-
Private m_MachPanel_IsEnabled As Boolean = True
Public Property MachPanel_IsEnabled As Boolean
Get
@@ -60,10 +52,30 @@ Public Class MachinePanelVM
End Get
Set(value As Boolean)
m_MachPanel_IsEnabled = value
- NotifyPropertyChanged("MachPanel_IsEnabled")
+ NotifyPropertyChanged(NameOf(MachPanel_IsEnabled))
End Set
End Property
+ Private m_BeamTable_Visibility As Visibility
+ Public ReadOnly Property BeamTable_Visibility As Visibility
+ Get
+ Return m_BeamTable_Visibility
+ End Get
+ End Property
+
+ Private m_WallTable_Visibility As Visibility
+ Public ReadOnly Property WallTable_Visibility As Visibility
+ Get
+ Return m_WallTable_Visibility
+ End Get
+ End Property
+
+ Public ReadOnly Property SetUp_Visibility As Visibility
+ Get
+ Return If(Map.refMainWindowVM.MainWindowM.bModifySetup, Visibility.Visible, Visibility.Collapsed)
+ End Get
+ End Property
+
#Region "Messages"
Public ReadOnly Property ToolDBMsg As String
@@ -88,27 +100,25 @@ Public Class MachinePanelVM
Public ReadOnly Property ToolDBToolTip As String
Get
- Return "Tool DB"
+ Return EgtMsg(5003)
End Get
End Property
Public ReadOnly Property MachiningDbToolTip As String
Get
- Return "Machining DB"
+ Return EgtMsg(5004)
End Get
End Property
Public ReadOnly Property SetUpToolTip As String
Get
- Return "SetUp"
+ Return EgtMsg(31501)
End Get
End Property
#End Region ' ToolTip
' Definizione comandi
- Private m_cmdToolDb As ICommand
- Private m_cmdMachDb As ICommand
- Private m_cmdSetUp As ICommand
- Private m_cmdMachOptions As ICommand
+ Private m_cmdBeamTable As ICommand
+ Private m_cmdWallTable As ICommand
#End Region 'FIELDS & PROPERTIES
@@ -131,7 +141,7 @@ Public Class MachinePanelVM
If MachineList.Count = 0 Then Return
Dim CurrMachine As Machine = Nothing
Dim CurrMachineName As String = String.Empty
- GetMainPrivateProfileString(S_MACH, K_SUPERVISORMACH, String.Empty, CurrMachineName)
+ GetMainPrivateProfileString(S_MACH, K_CURRMACH, String.Empty, CurrMachineName)
Dim bFound As Boolean = False
If Not String.IsNullOrEmpty(CurrMachineName) Then
For Each Mach In MachineList
@@ -170,28 +180,45 @@ Public Class MachinePanelVM
End If
End Sub
-#End Region
+ Friend Function BeamMachDb() As Boolean
+ ' Assegno le path
+ Dim sBaseDir As String = m_sMachinesRoot & "\" & m_SelectedMachine.Name & "\" & "Beam"
+ ' verifico se ci sono i file ini
+ Dim sMachTypePath As String = sBaseDir & "\MachiningTypes.ini"
+ Dim sTabTemplPath As String = sBaseDir & "\BeamTableTemplate.ini"
+ If File.Exists(sMachTypePath) AndAlso File.Exists(sTabTemplPath) Then
+ ' apro finestra di gestione lavorazioni travi
+ Dim sTitle = EgtMsg(9000) 'Tabelle delle lavorazioni delle travi
+ Dim BeamMchsWinVM As New MyBeamMachiningsWindowVM(sTitle, sBaseDir, sMachTypePath, sTabTemplPath)
+ Dim BeamMchsWinV As New BeamMachiningsWindowV(Application.Current.MainWindow, BeamMchsWinVM)
+ BeamMchsWinV.ShowDialog()
+ Else
+ ' Impossibile aprire l'Editor delle lavorazioni delle travi. Mancano i file di configurazione. - Errore
+ MessageBox.Show(EgtMsg(9009), EgtMsg(9008), MessageBoxButton.OK, MessageBoxImage.Stop)
+ End If
+ Return True
+ End Function
-#Region "COMMANDS"
+ Friend Function WallMachDb() As Boolean
+ ' Assegno le path
+ Dim sBaseDir As String = m_sMachinesRoot & "\" & m_SelectedMachine.Name & "\" & "Wall"
+ ' verifico se ci sono i file ini
+ Dim sMachTypePath As String = sBaseDir & "\MachiningTypes.ini"
+ Dim sTabTemplPath As String = sBaseDir & "\WallTableTemplate.ini"
+ If File.Exists(sMachTypePath) AndAlso File.Exists(sTabTemplPath) Then
+ ' apro finestra di gestione lavorazioni pareti
+ Dim sTitle = EgtMsg(9010) 'Tabelle delle lavorazioni delle pareti
+ Dim WallMchsWinVM As New MyBeamMachiningsWindowVM(sTitle, sBaseDir, sMachTypePath, sTabTemplPath, False)
+ Dim WallMchsWinV As New BeamMachiningsWindowV(Application.Current.MainWindow, WallMchsWinVM)
+ WallMchsWinV.ShowDialog()
+ Else
+ ' Impossibile aprire l'Editor delle lavorazioni delle pareti. Mancano i file di configurazione. - Errore
+ MessageBox.Show(EgtMsg(9011), EgtMsg(9008), MessageBoxButton.OK, MessageBoxImage.Stop)
+ End If
+ Return True
+ End Function
-#Region "ToolDbCommand"
-
- '''
- ''' Returns a command that do Exec.
- '''
- Public ReadOnly Property ToolDbCommand As ICommand
- Get
- If m_cmdToolDb Is Nothing Then
- m_cmdToolDb = New Command(AddressOf ToolDb)
- End If
- Return m_cmdToolDb
- End Get
- End Property
-
- '''
- ''' Execute the Exec. This method is invoked by the ExecCommand.
- '''
- Public Sub ToolDb(ByVal param As Object)
+ Public Overrides Sub ToolDb(ByVal param As Object)
If Not VerifyMachinesDir(m_sMachinesRoot) Then Return
' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
If Not EgtTdbReload() Then
@@ -200,7 +227,7 @@ Public Class MachinePanelVM
Return
End If
- Dim ToolDbWindowVM As New ToolDbWindowVM(CurrentMachine.sMachDir, CurrentMachine.sMachIniFile, Map.refSceneHostVM.MainScene.GetCtx(), "Beam")
+ Dim ToolDbWindowVM As New EgtWPFLib5.ToolDbWindowVM(CurrentMachine.sMachDir, CurrentMachine.sMachIniFile, Map.refSceneHostVM.MainScene.GetCtx(), "Beam")
Dim ToolDbWindowV As New ToolDbWindowV(Application.Current.MainWindow, ToolDbWindowVM)
If ToolDbWindowVM.MatType <> 0 Then
ToolDbWindowV.Height = 640
@@ -217,26 +244,7 @@ Public Class MachinePanelVM
End If
End Sub
-#End Region ' ToolDbCommand
-
-#Region "MachDbCommand"
-
- '''
- ''' Returns a command that do Exec.
- '''
- Public ReadOnly Property MachDbCommand As ICommand
- Get
- If m_cmdMachDb Is Nothing Then
- m_cmdMachDb = New Command(AddressOf MachDb)
- End If
- Return m_cmdMachDb
- End Get
- End Property
-
- '''
- ''' Execute the Exec. This method is invoked by the ExecCommand.
- '''
- Public Sub MachDb(ByVal param As Object)
+ Public Overrides Sub MachDb(ByVal param As Object)
If Not VerifyMachinesDir(m_sMachinesRoot) Then Return
' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
If Not EgtMdbReload() Then
@@ -257,26 +265,7 @@ Public Class MachinePanelVM
End Sub
-#End Region ' MachDbCommand
-
-#Region "SetUpCommand"
-
- '''
- ''' Returns a command that do Exec.
- '''
- Public ReadOnly Property SetUpCommand As ICommand
- Get
- If m_cmdSetUp Is Nothing Then
- m_cmdSetUp = New Command(AddressOf SetUp)
- End If
- Return m_cmdSetUp
- End Get
- End Property
-
- '''
- ''' Execute the Exec. This method is invoked by the ExecCommand.
- '''
- Public Sub SetUp(ByVal param As Object)
+ Public Overrides Sub SetUp(ByVal param As Object)
' verifico che il file di configurazione attrezzaggio (lua) della macchina esista
If Not File.Exists(CurrentMachine.sMachDir & "\Scripts\" & SETUP_LUA) Then
EgtOutLog("SetUp error: SetUp configuration file doesn't exist ")
@@ -315,31 +304,389 @@ Public Class MachinePanelVM
End Sub
-#End Region ' SetUpCommand
+#End Region
-#Region "MachOptionsCommand"
+#Region "COMMANDS"
+
+#Region "BeamTable"
'''
''' Returns a command that do Exec.
'''
- Public ReadOnly Property MachOptionsCommand As ICommand
+ Public ReadOnly Property BeamTable_Command As ICommand
Get
- If m_cmdMachOptions Is Nothing Then
- m_cmdMachOptions = New Command(AddressOf MachOptions)
+ If m_cmdBeamTable Is Nothing Then
+ m_cmdBeamTable = New Command(AddressOf BeamMachDb)
End If
- Return m_cmdMachOptions
+ Return m_cmdBeamTable
End Get
End Property
+#End Region ' BeamTable
+
+#Region "WallTable"
+
'''
- ''' Execute the Exec. This method is invoked by the ExecCommand.
+ ''' Returns a command that do Exec.
'''
- Public Sub MachOptions(ByVal param As Object)
+ Public ReadOnly Property WallTable_Command As ICommand
+ Get
+ If m_cmdWallTable Is Nothing Then
+ m_cmdWallTable = New Command(AddressOf WallMachDb)
+ End If
+ Return m_cmdWallTable
+ End Get
+ End Property
- End Sub
-
-#End Region ' MachOptionsCommand
+#End Region ' WallTable
#End Region ' COMMANDS
End Class
+
+
+'Imports System.Collections.ObjectModel
+'Imports System.IO
+'Imports EgtBEAMWALL.Core
+'Imports EgtUILib
+'Imports EgtWPFLib5
+
+'Public Class MachinePanelVM
+' Inherits VMBase
+
+'#Region "FIELDS & PROPERTIES"
+
+' ' Radice del direttorio delle macchine
+' Private m_sMachinesRoot As String
+
+' ' Lista delle macchine disponibili
+' Private m_MachineList As New ObservableCollection(Of Machine)
+' Public Property MachineList As ObservableCollection(Of Machine)
+' Get
+' Return m_MachineList
+' End Get
+' Set(value As ObservableCollection(Of Machine))
+' m_MachineList = value
+' End Set
+' End Property
+' ' Macchina correntemente selezionata e quindi attiva
+' Private m_SelectedMachine As Machine = Nothing
+' Public Property SelectedMachine As MyMachine
+' Get
+' Return m_SelectedMachine
+' End Get
+' Set(value As MyMachine)
+' If value IsNot m_SelectedMachine Then
+' 'EgtSetCurrentContext(Map.refSceneHostVM.MainScene.GetCtx())
+' 'EgtResetCurrMachGroup()
+' ' se sono in modalità disegno
+' m_SelectedMachine = value
+' ' inizializzo la macchina selezionata come macchina corrente
+' Dim nMachType As MachineType = DirectCast(m_SelectedMachine, MyMachine).nType
+' SectionXMaterial.SetType(nMachType)
+' InitCurrentMachine(Map.refMainWindowVM.MainWindowM.sMachinesRoot, value.Name, nMachType)
+' End If
+' End Set
+' End Property
+
+' Private m_SetUp_Background As Brush = New BrushConverter().ConvertFrom("#FFDDDDDD")
+' Public Property SetUp_Background As Brush
+' Get
+' Return m_SetUp_Background
+' End Get
+' Set(value As Brush)
+' m_SetUp_Background = value
+' NotifyPropertyChanged("SetUp_Background")
+' End Set
+' End Property
+
+' Private m_MachPanel_IsEnabled As Boolean = True
+' Public Property MachPanel_IsEnabled As Boolean
+' Get
+' Return m_MachPanel_IsEnabled
+' End Get
+' Set(value As Boolean)
+' m_MachPanel_IsEnabled = value
+' NotifyPropertyChanged("MachPanel_IsEnabled")
+' End Set
+' End Property
+
+'#Region "Messages"
+
+' Public ReadOnly Property ToolDBMsg As String
+' Get
+' Return EgtMsg(MSG_MACHINEPAGEUC + 6)
+' End Get
+' End Property
+' Public ReadOnly Property MachiningDbMsg As String
+' Get
+' Return EgtMsg(MSG_MACHINEPAGEUC + 7)
+' End Get
+' End Property
+' Public ReadOnly Property SetUpMsg As String
+' Get
+' Return EgtMsg(MSG_ALARMSPAGEUC + 33)
+' End Get
+' End Property
+
+'#End Region ' Messages
+
+'#Region "ToolTip"
+
+' Public ReadOnly Property ToolDBToolTip As String
+' Get
+' Return "Tool DB"
+' End Get
+' End Property
+' Public ReadOnly Property MachiningDbToolTip As String
+' Get
+' Return "Machining DB"
+' End Get
+' End Property
+' Public ReadOnly Property SetUpToolTip As String
+' Get
+' Return "SetUp"
+' End Get
+' End Property
+
+'#End Region ' ToolTip
+
+' ' Definizione comandi
+' Private m_cmdToolDb As ICommand
+' Private m_cmdMachDb As ICommand
+' Private m_cmdSetUp As ICommand
+' Private m_cmdMachOptions As ICommand
+
+'#End Region 'FIELDS & PROPERTIES
+
+'#Region "CONSTRUCTOR"
+
+' Sub New()
+' ' Creo riferimento a questa classe in Map
+' Map.SetRefMachinePanelVM(Me)
+' ' recupero cartella radice delle macchine
+' m_sMachinesRoot = Map.refMainWindowVM.MainWindowM.sMachinesRoot
+' ' Carica macchine da cartella delle macchine
+' MyMachine.MachineListInit(m_sMachinesRoot, MachineList)
+' End Sub
+
+'#End Region ' CONSTRUCTOR
+
+'#Region "METHODS"
+
+' Friend Sub LoadCurrentMachine()
+' If MachineList.Count = 0 Then Return
+' Dim CurrMachine As Machine = Nothing
+' Dim CurrMachineName As String = String.Empty
+' GetMainPrivateProfileString(S_MACH, K_SUPERVISORMACH, String.Empty, CurrMachineName)
+' Dim bFound As Boolean = False
+' If Not String.IsNullOrEmpty(CurrMachineName) Then
+' For Each Mach In MachineList
+' If Mach.Name = CurrMachineName Then
+' bFound = True
+' CurrMachine = Mach
+' Exit For
+' End If
+' Next
+' End If
+' If Not bFound And MachineList.Count > 0 Then
+' CurrMachine = MachineList(0)
+' End If
+' If Not IsNothing(CurrMachine) Then
+' If EgtSetCurrMachine(CurrMachine.Name) Then
+' SelectedMachine = CurrMachine
+' End If
+' End If
+' End Sub
+
+' Friend Sub SaveCurrentMachine()
+' If IsNothing(m_SelectedMachine) Then Return
+' WriteMainPrivateProfileString(S_MACH, K_CURRMACH, SelectedMachine.Name)
+' End Sub
+
+' Friend Sub UpdateCurrentMachine()
+' 'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
+' Dim sMachName As String = String.Empty
+' If EgtGetCurrMachineName(sMachName) Then
+' For Each Mach In MachineList
+' If Mach.Name = sMachName Then
+' SelectedMachine = Mach
+' Exit For
+' End If
+' Next
+' End If
+' End Sub
+
+'#End Region
+
+'#Region "COMMANDS"
+
+'#Region "ToolDbCommand"
+
+' '''
+' ''' Returns a command that do Exec.
+' '''
+' Public ReadOnly Property ToolDbCommand As ICommand
+' Get
+' If m_cmdToolDb Is Nothing Then
+' m_cmdToolDb = New Command(AddressOf ToolDb)
+' End If
+' Return m_cmdToolDb
+' End Get
+' End Property
+
+' '''
+' ''' Execute the Exec. This method is invoked by the ExecCommand.
+' '''
+' Public Sub ToolDb(ByVal param As Object)
+' If Not VerifyMachinesDir(m_sMachinesRoot) Then Return
+' ' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
+' If Not EgtTdbReload() Then
+' EgtOutLog("Impossible reloading tool Db")
+' MessageBox.Show(EgtMsg(MSG_TOOLDBERRORS + 30), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
+' Return
+' End If
+
+' Dim ToolDbWindowVM As New ToolDbWindowVM(CurrentMachine.sMachDir, CurrentMachine.sMachIniFile, Map.refSceneHostVM.MainScene.GetCtx(), "Beam")
+' Dim ToolDbWindowV As New ToolDbWindowV(Application.Current.MainWindow, ToolDbWindowVM)
+' If ToolDbWindowVM.MatType <> 0 Then
+' ToolDbWindowV.Height = 640
+' ToolDbWindowV.Width = 1024
+' ToolDbWindowV.ShowDialog()
+' Else
+' Exit Sub
+' End If
+
+' If Not SetUpUtility.IsValidToolHeadExitInSetUp() Then
+' SetUp_Background = Brushes.Red
+' Else
+' SetUp_Background = OmagOFFICEDictionary.Button_Static_Background
+' End If
+' End Sub
+
+'#End Region ' ToolDbCommand
+
+'#Region "MachDbCommand"
+
+' '''
+' ''' Returns a command that do Exec.
+' '''
+' Public ReadOnly Property MachDbCommand As ICommand
+' Get
+' If m_cmdMachDb Is Nothing Then
+' m_cmdMachDb = New Command(AddressOf MachDb)
+' End If
+' Return m_cmdMachDb
+' End Get
+' End Property
+
+' '''
+' ''' Execute the Exec. This method is invoked by the ExecCommand.
+' '''
+' Public Sub MachDb(ByVal param As Object)
+' If Not VerifyMachinesDir(m_sMachinesRoot) Then Return
+' ' ricarico il database per intercettare eventuali aggiornamenti fatti da altre istanze del programma (se la cartella Machines è condivisa)
+' If Not EgtMdbReload() Then
+' EgtOutLog("Impossible reloading machining Db")
+' MessageBox.Show(EgtMsg(MSG_MACHININGDBERRORS + 8), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
+' Return
+' End If
+' Dim MachDbWindowVM As New EgtWPFLib5.MachiningDbWindowVM(CurrentMachine.sMachIniFile, Map.refSceneHostVM.MainScene.GetCtx(), "Stone")
+' Dim MachDbWindowV As New EgtWPFLib5.MachiningDbWindowV(Application.Current.MainWindow, MachDbWindowVM)
+
+' If EgtWPFLib5.MachiningTreeViewItem.m_MatType <> 0 Then
+' MachDbWindowV.Height = 768
+' MachDbWindowV.Width = 1024
+' MachDbWindowV.ShowDialog()
+' Else
+' Exit Sub
+' End If
+
+' End Sub
+
+'#End Region ' MachDbCommand
+
+'#Region "SetUpCommand"
+
+' '''
+' ''' Returns a command that do Exec.
+' '''
+' Public ReadOnly Property SetUpCommand As ICommand
+' Get
+' If m_cmdSetUp Is Nothing Then
+' m_cmdSetUp = New Command(AddressOf SetUp)
+' End If
+' Return m_cmdSetUp
+' End Get
+' End Property
+
+' '''
+' ''' Execute the Exec. This method is invoked by the ExecCommand.
+' '''
+' Public Sub SetUp(ByVal param As Object)
+' ' verifico che il file di configurazione attrezzaggio (lua) della macchina esista
+' If Not File.Exists(CurrentMachine.sMachDir & "\Scripts\" & SETUP_LUA) Then
+' EgtOutLog("SetUp error: SetUp configuration file doesn't exist ")
+' MessageBox.Show(EgtMsg(MSG_SETUPERRORS + 7), EgtMsg(MSG_SETUPERRORS + 1), MessageBoxButton.OK, MessageBoxImage.Error)
+' Return
+' End If
+' ' carico Lua che contiene le funzioni per ottenere le posizioni valide dell'utensile selezionato,
+' ' e testa e uscita dell'utensile attrezzato
+' EgtLuaExecFile(CurrentMachine.sMachDir & "\Scripts\" & SETUP_LUA)
+' ' verifico che le teste riportate in configurazione esistano
+' Dim Index As Integer = 1
+' Dim nErr As Integer = 0
+' While nErr = 0
+' Dim sHead As String = String.Empty
+' nErr = 999
+' EgtLuaSetGlobIntVar("STU.INDEX", Index)
+' EgtLuaCallFunction("STU.GetTcPosHeadGroupFromPos")
+' ' Leggo variabili
+' EgtLuaGetGlobStringVar("STU.HEAD", sHead)
+' EgtLuaGetGlobIntVar("STU.ERR", nErr)
+' If nErr = 0 Then
+' If EgtGetHeadExitCount(sHead) = 0 Then
+' MessageBox.Show(EgtMsg(MSG_SETUPERRORS + 8), EgtMsg(MSG_SETUPERRORS + 1), MessageBoxButton.OK, MessageBoxImage.Error)
+' Return
+' End If
+' End If
+' Index += 1
+' End While
+' ' Reset lua
+' EgtLuaResetGlobVar("STU")
+
+' Dim SetUpWindow As New SetUpWindowV(Application.Current.MainWindow, New SetUpWindowVM(CurrentMachine.sMachDir, CurrentMachine.sMachineName))
+' SetUpWindow.Height = 614
+' SetUpWindow.Width = 1024
+' SetUpWindow.ShowDialog()
+
+' End Sub
+
+'#End Region ' SetUpCommand
+
+'#Region "MachOptionsCommand"
+
+' '''
+' ''' Returns a command that do Exec.
+' '''
+' Public ReadOnly Property MachOptionsCommand As ICommand
+' Get
+' If m_cmdMachOptions Is Nothing Then
+' m_cmdMachOptions = New Command(AddressOf MachOptions)
+' End If
+' Return m_cmdMachOptions
+' End Get
+' End Property
+
+' '''
+' ''' Execute the Exec. This method is invoked by the ExecCommand.
+' '''
+' Public Sub MachOptions(ByVal param As Object)
+
+' End Sub
+
+'#End Region ' MachOptionsCommand
+
+'#End Region ' COMMANDS
+
+'End Class
diff --git a/EgtBEAMWALL.Supervisor/MainWindow/MainWindowM.vb b/EgtBEAMWALL.Supervisor/MainWindow/MainWindowM.vb
index f4192a10..155ff116 100644
--- a/EgtBEAMWALL.Supervisor/MainWindow/MainWindowM.vb
+++ b/EgtBEAMWALL.Supervisor/MainWindow/MainWindowM.vb
@@ -322,6 +322,10 @@ Public Class MainWindowM
Dim sLuaBaseLib As String = String.Empty
GetMainPrivateProfileString(S_LUA, K_BASELIB, "EgtBase", sLuaBaseLib)
EgtLuaRequire(sLuaBaseLib)
+ ' Recupero flag ModifySetup
+ m_bModifySetup = GetMainPrivateProfileInt(S_GENERAL, K_MODIFYSETUP, 0) = 1
+ ' e lo imposto nel core
+ Core.Configuration.SetOnlyProd(m_bModifySetup)
' verifico se stampante attiva
Dim sPrinterLink As String = ""
Dim nPrinterLink As Integer = 0
diff --git a/EgtBEAMWALL.Supervisor/Project/ProjectV.xaml b/EgtBEAMWALL.Supervisor/Project/ProjectV.xaml
index e52d14e8..cabcc68e 100644
--- a/EgtBEAMWALL.Supervisor/Project/ProjectV.xaml
+++ b/EgtBEAMWALL.Supervisor/Project/ProjectV.xaml
@@ -2,13 +2,13 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
- xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
+ xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Supervisor">
-
+
diff --git a/EgtBEAMWALL.Supervisor/Resources/Configuration/MachiningsTable.png b/EgtBEAMWALL.Supervisor/Resources/Configuration/MachiningsTable.png
new file mode 100644
index 00000000..5ab6b0cf
Binary files /dev/null and b/EgtBEAMWALL.Supervisor/Resources/Configuration/MachiningsTable.png differ
diff --git a/EgtBEAMWALL.Supervisor/Utility/CurrentMachine.vb b/EgtBEAMWALL.Supervisor/Utility/CurrentMachine.vb
index a17e5270..f22f2ac3 100644
--- a/EgtBEAMWALL.Supervisor/Utility/CurrentMachine.vb
+++ b/EgtBEAMWALL.Supervisor/Utility/CurrentMachine.vb
@@ -28,9 +28,15 @@ Public Module CurrentMachine
Private m_sMachIniFile As String = String.Empty
' File ini dei parametri macchina
Private m_sMachParamIniFile As String = String.Empty
+ ' File lettura Ts3Data
+ Private m_sGetTs3DataFile As String = String.Empty
+ ' File Ts3Data
+ Private m_sTs3DataFile As String = String.Empty
' Cartella degli script
Private m_sMachScriptDir As String = String.Empty
- ' Ffile dei messaggi macchina
+ ' Cartella dei setup
+ Private m_sMachSetupDir As String = String.Empty
+ ' File dei messaggi macchina
Private m_sMachMessagesFile As String = String.Empty
' Tipo macchina
@@ -45,12 +51,6 @@ Public Module CurrentMachine
End Get
End Property
- Friend ReadOnly Property nType As MachineType
- Get
- Return m_nType
- End Get
- End Property
-
' tipo di CN della macchina
Private m_NCType As NCTypes = NCTypes.NULL
Public ReadOnly Property NCType As Integer
@@ -92,17 +92,41 @@ Public Module CurrentMachine
End Get
End Property
+ Friend ReadOnly Property sTs3DataFile As String
+ Get
+ Return m_sTs3DataFile
+ End Get
+ End Property
+
+ Friend ReadOnly Property sMachScriptDir As String
+ Get
+ Return m_sMachScriptDir
+ End Get
+ End Property
+
+ Friend ReadOnly Property sMachSetupDir As String
+ Get
+ Return m_sMachSetupDir
+ End Get
+ End Property
+
#End Region
- 'Private m_MachTableList As New ObservableCollection(Of MachTable)
- 'Public Property MachTableList As ObservableCollection(Of MachTable)
- ' Get
- ' Return m_MachTableList
- ' End Get
- ' Set(value As ObservableCollection(Of MachTable))
- ' m_MachTableList = value
- ' End Set
- 'End Property
+ Friend ReadOnly Property nType As MachineType
+ Get
+ Return m_nType
+ End Get
+ End Property
+
+ Private m_MachTableList As New ObservableCollection(Of MachTable)
+ Public Property MachTableList As ObservableCollection(Of MachTable)
+ Get
+ Return m_MachTableList
+ End Get
+ Set(value As ObservableCollection(Of MachTable))
+ m_MachTableList = value
+ End Set
+ End Property
#Region "Init"
@@ -138,21 +162,30 @@ Public Module CurrentMachine
' Impostazione path MachParamIni file
If nType = MachineType.BEAM Then
m_sMachParamIniFile = sMachinesRootDir & "\" & sMachineName & "\" & K_BEAM & "\" & MACH_INI_FILE_NAME
+ m_sGetTs3DataFile = sMachinesRootDir & "\" & sMachineName & "\" & K_BEAM & "\" & GETTS3DATA_FILE_NAME
+ m_sTs3DataFile = sMachinesRootDir & "\" & sMachineName & "\" & K_BEAM & "\" & TS3DATA_FILE
ElseIf nType = MachineType.WALL Then
m_sMachParamIniFile = sMachinesRootDir & "\" & sMachineName & "\" & K_WALL & "\" & MACH_INI_FILE_NAME
+ m_sGetTs3DataFile = sMachinesRootDir & "\" & sMachineName & "\" & K_WALL & "\" & GETTS3DATA_FILE_NAME
+ m_sTs3DataFile = sMachinesRootDir & "\" & sMachineName & "\" & K_WALL & "\" & TS3DATA_FILE
Else
' Se macchina di tipo BOTH prendo quello presente in Beam, se esiste, altrimenti prendo quello in Wall
Dim sBeamMachParamIniFile = sMachinesRootDir & "\" & sMachineName & "\" & K_BEAM & "\" & MACH_INI_FILE_NAME
Dim sWallMachParamIniFile = sMachinesRootDir & "\" & sMachineName & "\" & K_WALL & "\" & MACH_INI_FILE_NAME
+ Dim sBeamGetTs3File = sMachinesRootDir & "\" & sMachineName & "\" & K_BEAM & "\" & GETTS3DATA_FILE_NAME
+ Dim sWallGetTs3File = sMachinesRootDir & "\" & sMachineName & "\" & K_WALL & "\" & GETTS3DATA_FILE_NAME
+ Dim sBeamTs3DataFile = sMachinesRootDir & "\" & sMachineName & "\" & K_BEAM & "\" & TS3DATA_FILE
+ Dim sWallTs3DataFile = sMachinesRootDir & "\" & sMachineName & "\" & K_WALL & "\" & TS3DATA_FILE
If nType = MachineType.BOTH Then
m_sMachParamIniFile = If(File.Exists(sBeamMachParamIniFile), sBeamMachParamIniFile, sWallMachParamIniFile)
+ m_sGetTs3DataFile = If(File.Exists(sBeamGetTs3File), sBeamGetTs3File, sWallGetTs3File)
+ m_sTs3DataFile = If(File.Exists(sBeamTs3DataFile), sBeamTs3DataFile, sWallTs3DataFile)
End If
End If
-
- ' leggo tipo di avanzamento pezzi
- m_Flow = GetPrivateProfileInt(S_GENERAL, K_FLOW, 1, m_sMachIniFile)
' Impostazione path Script dir
m_sMachScriptDir = sMachinesRootDir & "\" & sMachineName & "\" & K_SCRIPT
+ ' Impostazione path Setup dir
+ m_sMachSetupDir = sMachinesRootDir & "\" & sMachineName & "\" & K_SETUP
' crea l'elenco dei parametri della macchina corrente
CreateMachParams()
@@ -165,8 +198,9 @@ Public Module CurrentMachine
' imposto visibilita' input output
Map.refMainMenuVM.SetInputOutputVisibility()
- ' leggo parametri macchina da WallData
- If nType = MachineType.BEAM Then
+
+ ' leggo parametri macchina da BeamData
+ If nType = MachineType.BEAM OrElse nType = MachineType.BOTH Then
' Assegno i dati
EgtLuaCreateGlobTable("GWD")
EgtLuaSetGlobStringVar("GWD.BASEDIR", Map.refMainWindowVM.MainWindowM.sBeamRoot)
@@ -185,7 +219,7 @@ Public Module CurrentMachine
EgtOutLog("Error executing GetBeamData script " & sExecPath)
End If
If bOk Then
- Dim nTemp As Integer
+ Dim nTemp As Integer = 0
EgtLuaGetGlobIntVar("GWD.SIMUL_VIEW_DIR", nTemp)
Select Case nTemp
Case 0
@@ -207,7 +241,7 @@ Public Module CurrentMachine
' aggiorno parametro in gestore viste
Core.ViewPanelVM.UpdateMachParam(m_nViewDir)
End If
- If nType = MachineType.WALL Then
+ If nType = MachineType.WALL OrElse nType = MachineType.BOTH Then
' Assegno i dati
EgtLuaCreateGlobTable("GWD")
EgtLuaSetGlobStringVar("GWD.BASEDIR", Map.refMainWindowVM.MainWindowM.sWallRoot)
@@ -226,9 +260,11 @@ Public Module CurrentMachine
EgtOutLog("Error executing GetWallData script " & sExecPath)
End If
If bOk Then
- Dim nTemp As Integer
+ Dim nTemp As Integer = 0
EgtLuaGetGlobIntVar("GWD.SIMUL_VIEW_DIR", nTemp)
Select Case nTemp
+ Case 0
+ m_nViewDir = VT.ISO_SW
Case 1
m_nViewDir = VT.ISO_NW
Case 2
@@ -276,25 +312,41 @@ Public Module CurrentMachine
' funzione che crea l'elenco dei parametri Macchina
Friend Sub CreateMachParams()
- 'MachTableList.Clear()
- 'Dim NewMachParam As MachParam = Nothing
- 'Dim MachParamList As New ObservableCollection(Of MachParam)
- 'Dim TableIndex = 1
- 'Dim ParamIndex As Integer = 1
- 'Dim TableName As String = String.Empty
- '' verifico che ci sia una table con l'indice designato e ne leggo il nome
- 'While GetMachPrivateProfileString(TableIndex, K_NAME, "", TableName)
- ' ' leggo tutti i parametri della table
- ' While MachParamIniFile.GetMachPrivateProfileParam(TableIndex, ParamIndex, NewMachParam)
- ' MachParamList.Add(NewMachParam)
- ' ParamIndex += 1
- ' End While
- ' MachTableList.Add(New MachTable(TableName, MachParamList))
- ' ' aggiorno indici e resetto lista per lettura dell'eventuale table successiva
- ' TableIndex += 1
- ' ParamIndex = 1
- ' MachParamList = New ObservableCollection(Of MachParam)
- 'End While
+ MachTableList.Clear()
+ If String.IsNullOrWhiteSpace(m_sMachParamIniFile) OrElse Not File.Exists(m_sMachParamIniFile) Then
+ EgtOutLog("Impossible loading Mach parameters: MachData.ini file not found or not readable")
+ Return
+ End If
+ Dim NewMachParam As MachParam = Nothing
+ Dim MachParamList As New ObservableCollection(Of MachParam)
+ Dim TableIndex = 1
+ Dim ParamIndex As Integer = 1
+ Dim TableName As String = String.Empty
+ ' carico lua ts3data
+ Dim bTs3DataLoaded As Boolean = False
+ EgtLuaCreateGlobTable("GTSD")
+ EgtLuaSetGlobStringVar("GTSD.TS3PATH", m_sTs3DataFile)
+ Dim sExecPath As String = m_sGetTs3DataFile
+ bTs3DataLoaded = File.Exists(m_sTs3DataFile) AndAlso EgtLuaExecFile(sExecPath)
+ If Not bTs3DataLoaded Then
+ EgtOutLog("Error executing Ts3Data file " & m_sTs3DataFile)
+ End If
+
+ ' verifico che ci sia una table con l'indice designato e ne leggo il nome
+ While GetMachPrivateProfileString(TableIndex, K_NAME, "", TableName)
+ ' leggo tutti i parametri della table
+ While MachParamIniFile.GetMachPrivateProfileParam(TableIndex, ParamIndex, NewMachParam, TableName, bTs3DataLoaded)
+ MachParamList.Add(NewMachParam)
+ ParamIndex += 1
+ End While
+ MachTableList.Add(New MachTable(TableName, MachParamList))
+ ' aggiorno indici e resetto lista per lettura dell'eventuale table successiva
+ TableIndex += 1
+ ParamIndex = 1
+ MachParamList = New ObservableCollection(Of MachParam)
+ End While
+ ' Cancello tavola globale
+ EgtLuaResetGlobVar("GTSD")
End Sub
Public Function MachMsg(Paragraph As MsgParagraphs, nId As Integer) As String
diff --git a/EgtBEAMWALL.Supervisor/Utility/Dictionary.xaml b/EgtBEAMWALL.Supervisor/Utility/Dictionary.xaml
index 1e76bd26..209a6a92 100644
--- a/EgtBEAMWALL.Supervisor/Utility/Dictionary.xaml
+++ b/EgtBEAMWALL.Supervisor/Utility/Dictionary.xaml
@@ -159,8 +159,11 @@
+
+
@@ -748,4 +757,38 @@
+
+
+
+
+
+
+
diff --git a/EgtBEAMWALL.Supervisor/Utility/MachParamIniFile.vb b/EgtBEAMWALL.Supervisor/Utility/MachParamIniFile.vb
new file mode 100644
index 00000000..2f39bf61
--- /dev/null
+++ b/EgtBEAMWALL.Supervisor/Utility/MachParamIniFile.vb
@@ -0,0 +1,70 @@
+Imports System.Collections.ObjectModel
+Imports EgtUILib
+Imports EgtWPFLib5
+
+Friend Module MachParamIniFile
+
+ Public Function GetMachPrivateProfileParam(IpParentTable As Integer, IpMachParamIndex As String, ByRef IpMachParam As MachParam, TableName As String, bTs3dataLoaded As Boolean) As Boolean
+ Dim sMachParam As String = String.Empty
+ If EgtUILib.GetPrivateProfileString(IpParentTable, IpMachParamIndex, String.Empty, sMachParam, sMachParamIniFile) > 0 Then
+ Dim sMachParamParams() As String = sMachParam.Split(","c)
+ ' verifico numero minimo di parametri
+ If sMachParamParams.Count >= 4 Then
+ ' cancello spazi
+ For Index = 0 To sMachParamParams.Count - 1
+ sMachParamParams(Index) = sMachParamParams(Index).Trim()
+ Next
+ ' creo parametro
+ If sMachParamParams(0) = "d" OrElse sMachParamParams(0) = "l" Then
+ Dim dDefault As Double
+ StringToDoubleAdv(sMachParamParams(2), dDefault)
+ Dim ParamType As MachParamType
+ If sMachParamParams(0) = "d" Then
+ ParamType = MachParamType.DOUBLE_
+ Else
+ ParamType = MachParamType.LENGTH
+ End If
+ If bTs3dataLoaded Then
+ Dim dTs3DataValue As Double
+ If EgtLuaGetGlobNumVar(TableName & "." & sMachParamParams(1), dTs3DataValue) Then
+ dDefault = dTs3DataValue
+ End If
+ End If
+ IpMachParam = New MachParam(IpParentTable, IpMachParamIndex, ParamType, sMachParamParams(1), dDefault, sMachParamParams(3))
+ Return Not IsNothing(IpMachParam)
+ ElseIf sMachParamParams(0) = "s" Then
+ IpMachParam = New MachParam(IpParentTable, IpMachParamIndex, MachParamType.STRING_, sMachParamParams(1), sMachParamParams(3))
+ Return Not IsNothing(IpMachParam)
+ End If
+ End If
+ End If
+ Return False
+ End Function
+
+ Public Function GetMachPrivateProfileString(IpAppName As String, IpKeyName As String, IpDefault As String, ByRef IpString As String) As Integer
+ Return EgtUILib.GetPrivateProfileString(IpAppName, IpKeyName, IpDefault, IpString, sMachParamIniFile)
+ End Function
+
+ Public Function GetMachPrivateProfileParamValue(IpParentTable As Integer, IpMachParamIndex As String, ByRef IpMachParamValue As String) As Boolean
+ Dim sMachParam As String = String.Empty
+ If EgtUILib.GetPrivateProfileString(IpParentTable, IpMachParamIndex, String.Empty, sMachParam, sMachParamIniFile) > 0 Then
+ Dim sMachParamParams() As String = sMachParam.Split(","c)
+ ' verifico numero minimo di parametri
+ If sMachParamParams.Count >= 4 Then
+ ' cancello spazi
+ For Index = 0 To sMachParamParams.Count - 1
+ sMachParamParams(Index) = sMachParamParams(Index).Trim()
+ Next
+ 'restituisco il valore del parametro
+ IpMachParamValue = sMachParamParams(2)
+ Return Not IsNothing(IpMachParamValue)
+ End If
+ End If
+ Return False
+ End Function
+
+ Public Function WriteMachPrivateProfileString(IpAppName As String, IpKeyName As String, ByRef IpString As String) As Boolean
+ Return EgtUILib.WritePrivateProfileString(IpAppName, IpKeyName, IpString, sMachParamIniFile)
+ End Function
+
+End Module
\ No newline at end of file
diff --git a/EgtBEAMWALL.ViewerOptimizer/BeamMachiningsWindow/BeamMachiningsWindowV.xaml b/EgtBEAMWALL.ViewerOptimizer/BeamMachiningsWindow/BeamMachiningsWindowV.xaml
index d9e60e43..e0a034bb 100644
--- a/EgtBEAMWALL.ViewerOptimizer/BeamMachiningsWindow/BeamMachiningsWindowV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/BeamMachiningsWindow/BeamMachiningsWindowV.xaml
@@ -2,7 +2,6 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
- xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.ViewerOptimizer"
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
Title="{Binding Title}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
diff --git a/EgtBEAMWALL.ViewerOptimizer/BeamMachiningsWindow/BeamMachiningsWindowV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/BeamMachiningsWindow/BeamMachiningsWindowV.xaml.vb
index a619e14b..eeda3889 100644
--- a/EgtBEAMWALL.ViewerOptimizer/BeamMachiningsWindow/BeamMachiningsWindowV.xaml.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/BeamMachiningsWindow/BeamMachiningsWindowV.xaml.vb
@@ -1,4 +1,6 @@
-Public Class BeamMachiningsWindowV
+Imports EgtBEAMWALL.Core
+
+Public Class BeamMachiningsWindowV
Private WithEvents m_BeamMachiningsWindowVM As MyBeamMachiningsWindowVM
diff --git a/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/ConfigurationPageV.xaml b/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/ConfigurationPageV.xaml
index 04030206..26aad082 100644
--- a/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/ConfigurationPageV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/ConfigurationPageV.xaml
@@ -1,9 +1,7 @@
+ xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core">
@@ -30,7 +28,7 @@
-
+
@@ -47,7 +45,7 @@
-
+
@@ -63,9 +61,8 @@
-
-
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/ConfigurationPageVM.vb b/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/ConfigurationPageVM.vb
index e057bd71..8d43b4c3 100644
--- a/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/ConfigurationPageVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/ConfigurationPageVM.vb
@@ -4,11 +4,7 @@ Imports EgtUILib
Imports EgtWPFLib5
Imports EgtBEAMWALL.Core
Imports MS.Internal
-Imports Org.BouncyCastle.X509
Imports Ionic.Zip
-Imports Org.BouncyCastle.Bcpg
-Imports Microsoft.VisualBasic.ApplicationServices
-Imports Renci.SshNet.Security
Public Class ConfigurationPageVM
Inherits VMBase
diff --git a/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/General_ConfigurationPageV.xaml b/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/General_ConfigurationPageV.xaml
index 49cc3924..1a271f72 100644
--- a/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/General_ConfigurationPageV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/ConfigurationPage/General_ConfigurationPageV.xaml
@@ -64,7 +64,7 @@
+ Margin="0,2,0,5">
@@ -114,5 +114,5 @@
-
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj b/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
index c46c1fec..82644cf7 100644
--- a/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
+++ b/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
@@ -264,15 +264,6 @@
ChangeMaterialWndV.xaml
-
- General_ConfigurationPageV.xaml
-
-
- Machine_ConfigurationPageV.xaml
-
-
- QParameter_ConfigurationPageV.xaml
-
@@ -280,6 +271,7 @@
FeatureListManagerV.xaml
+ PartInRawPartManagerWndV.xaml
@@ -328,7 +320,6 @@
BeamMachiningsWindowV.xaml
- BlockedWndV.xaml
@@ -484,10 +475,6 @@
ConfigurationPageV.xaml
-
- MachinePanelV.xaml
-
- OptimizePanelV.xaml
@@ -552,18 +539,6 @@
MSBuild:CompileDesigner
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
- DesignerMSBuild:Compile
@@ -784,10 +759,6 @@
MSBuild:CompileDesigner
-
- MSBuild:Compile
- Designer
- DesignerMSBuild:Compile
diff --git a/EgtBEAMWALL.ViewerOptimizer/MachinePanel/MachinePanelV.xaml b/EgtBEAMWALL.ViewerOptimizer/MachinePanel/MachinePanelV.xaml
index 1e325112..6d211b1e 100644
--- a/EgtBEAMWALL.ViewerOptimizer/MachinePanel/MachinePanelV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/MachinePanel/MachinePanelV.xaml
@@ -2,7 +2,8 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
- IsEnabled="{Binding MachPanel_IsEnabled}">
+ IsEnabled="{Binding MachPanel_IsEnabled}"
+ Background="Green">
diff --git a/EgtBEAMWALL.ViewerOptimizer/Utility/CurrentMachine.vb b/EgtBEAMWALL.ViewerOptimizer/Utility/CurrentMachine.vb
index 1c78294f..2962d1ac 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Utility/CurrentMachine.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/Utility/CurrentMachine.vb
@@ -242,9 +242,9 @@ Public Module CurrentMachine
EgtLuaResetGlobVar("GWD")
' aggiorno parametro in gestore viste
Core.ViewPanelVM.UpdateMachParam(m_nViewDir)
-
+ End If
' leggo parametri macchina da WallData
- ElseIf nType = MachineType.WALL Then
+ If nType = MachineType.WALL OrElse nType = MachineType.BOTH Then
' Assegno i dati
EgtLuaCreateGlobTable("GWD")
EgtLuaSetGlobStringVar("GWD.BASEDIR", Map.refMainWindowVM.MainWindowM.sWallRoot)