diff --git a/Application.xaml.vb b/Application.xaml.vb
index 150da68..1c776c7 100644
--- a/Application.xaml.vb
+++ b/Application.xaml.vb
@@ -174,6 +174,7 @@ Class Application
Friend Const NEWMACHININGMODEISACTIVE As String = "NewMachiningModeIsActive"
Friend Const SIMULATIONEXPANDER_GET_ISEXPANDED As String = "Get_SimulationExpander_IsExpanded"
Friend Const SIMULATIONEXPANDER_SET_ISEXPANDED As String = "Set_SimulationExpander_IsExpanded"
+ Friend Const CANCELOPERATIONCOMMAND As String = "CancelOperationCommand"
' StatusBar messages
Friend Const STATUSGRIDCOMMAND As String = "StatusGridCommand"
diff --git a/EgtCAM5.vbproj b/EgtCAM5.vbproj
index 769b330..8070af0 100644
--- a/EgtCAM5.vbproj
+++ b/EgtCAM5.vbproj
@@ -135,6 +135,7 @@
MTableDbView.xaml
+ OptionsView.xaml
diff --git a/MTableDb/MTableDbView.xaml b/MTableDb/MTableDbView.xaml
index 187c6aa..86d9279 100644
--- a/MTableDb/MTableDbView.xaml
+++ b/MTableDb/MTableDbView.xaml
@@ -14,7 +14,7 @@
-
+
@@ -66,13 +66,13 @@
-
-
+
+
-
-
-
+ SelectedItemBinding="{Binding SelectedOperation}" Width="1*"/>
+
+
+
diff --git a/MTableDb/MTableDbViewModel.vb b/MTableDb/MTableDbViewModel.vb
index b6da7db..cbfe6b3 100644
--- a/MTableDb/MTableDbViewModel.vb
+++ b/MTableDb/MTableDbViewModel.vb
@@ -17,6 +17,16 @@ Namespace EgtCAM5
End Set
End Property
+ Private m_SelectedTable As String
+ Public Property SelectedTable As String
+ Get
+ Return m_SelectedTable
+ End Get
+ Set(value As String)
+ m_SelectedTable = value
+ End Set
+ End Property
+
Private m_Title As String
Public ReadOnly Property Title As String
Get
@@ -29,20 +39,14 @@ Namespace EgtCAM5
End Sub
Private Sub SearchTables()
- '' Leggo dal file ini il direttorio per le Table
- 'If GetPrivateProfileString(S_TABLE, K_TABLESDIR, "", m_sTablesRoot) = 0 _
- ' Or not My.Computer.FileSystem.DirectoryExists(m_sTablesRoot) Then
- ' ' Se non lo trovo mando messaggio di errore e chiudo la finestra
- ' MessageBox.Show("ERROR IN LOADING TABLES", "Tables dir not found.")
- 'End If
- ' se trovo la cartella carico la lista di tabelle
-
-
- Dim TempArray As String() = Directory.GetDirectories(IniFile.m_sMachinesRoot)
- If TempArray.Count = 0 Then
- 'esci
+ ' Leggo dal file ini il direttorio per le Table
+ If GetPrivateProfileString(S_TABLE, K_TABLESDIR, "", m_sTablesRoot) = 0 _
+ Or Not My.Computer.FileSystem.DirectoryExists(m_sTablesRoot) Then
+ ' Se non lo trovo mando messaggio di errore e chiudo la finestra
+ MessageBox.Show("ERROR IN LOADING TABLES", "Tables dir not found.")
End If
- For Each Table In My.Computer.FileSystem.GetFiles("c:\EgtData\Doors\MTables\")
+ ' se trovo la cartella carico la lista di tabelle
+ For Each Table In My.Computer.FileSystem.GetFiles(m_sTablesRoot)
m_TablesList.Add(Path.GetFileNameWithoutExtension(Table))
Next
End Sub
diff --git a/MTableDb/MTableListBox.vb b/MTableDb/MTableListBox.vb
new file mode 100644
index 0000000..04c3ff3
--- /dev/null
+++ b/MTableDb/MTableListBox.vb
@@ -0,0 +1,122 @@
+Imports System.ComponentModel
+Imports System.Collections.ObjectModel
+Imports EgtUILib
+
+Public Class MTableListBox
+ Implements INotifyPropertyChanged
+
+ Private m_Name As String
+ Public Property Name As String
+ Get
+ Return m_Name
+ End Get
+ Set(value As String)
+ m_Name = value
+ End Set
+ End Property
+
+ Private m_MachineList As ObservableCollection(Of MTableMachineListBox)
+ Public Property MachineList As ObservableCollection(Of MTableMachineListBox)
+ Get
+ Return m_MachineList
+ End Get
+ Set(value As ObservableCollection(Of MTableMachineListBox))
+ m_MachineList = Value
+ End Set
+ End Property
+
+ 'Private m_OnPar As Boolean
+ 'Public Property OnPar As Boolean
+ ' Get
+ ' Return m_OnPar
+ ' End Get
+ ' Set(value As Boolean)
+ ' m_OnPar = value
+ ' End Set
+ 'End Property
+
+ 'Private m_Oper As Boolean
+ 'Public Property Oper As Boolean
+ ' Get
+ ' Return m_Oper
+ ' End Get
+ ' Set(value As Boolean)
+ ' m_Oper = value
+ ' End Set
+ 'End Property
+
+ 'Private m_Mach As Boolean
+ 'Public Property Mach As Boolean
+ ' Get
+ ' Return m_Mach
+ ' End Get
+ ' Set(value As Boolean)
+ ' m_Mach = value
+ ' End Set
+ 'End Property
+
+ 'Private m_MachUp As Boolean
+ 'Public Property MachUp As Boolean
+ ' Get
+ ' Return m_MachUp
+ ' End Get
+ ' Set(value As Boolean)
+ ' m_MachUp = value
+ ' End Set
+ 'End Property
+
+ 'Private m_MachDw As Boolean
+ 'Public Property MachDw As Boolean
+ ' Get
+ ' Return m_MachDw
+ ' End Get
+ ' Set(value As Boolean)
+ ' m_MachDw = value
+ ' End Set
+ 'End Property
+
+ Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
+
+ Public Sub NotifyPropertyChanged(propName As String)
+ RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
+ End Sub
+
+End Class
+
+Public Class MTableMachineListBox
+
+ Private m_MachName As String
+ Public Property MachName As String
+ Get
+ Return m_MachName
+ End Get
+ Set(value As String)
+ m_MachName = value
+ End Set
+ End Property
+
+ Private m_NcGenerate As Boolean
+ Public Property NcGenerate As Boolean
+ Get
+ Return m_NcGenerate
+ End Get
+ Set(value As Boolean)
+ m_NcGenerate = value
+ End Set
+ End Property
+
+ Private m_Makeraw As Boolean
+ Public Property Makeraw As Boolean
+ Get
+ Return m_Makeraw
+ End Get
+ Set(value As Boolean)
+ m_Makeraw = value
+ End Set
+ End Property
+
+End Class
+
+Public Class MTableAssociationGridBox
+
+End Class
diff --git a/ProjectPage/DbPanel/DbPanelView.xaml b/ProjectPage/DbPanel/DbPanelView.xaml
index 47eabea..ff630b4 100644
--- a/ProjectPage/DbPanel/DbPanelView.xaml
+++ b/ProjectPage/DbPanel/DbPanelView.xaml
@@ -7,8 +7,6 @@
Style="{StaticResource GridViewPanelButton}" Width="55" Content="ToolDb"/>
-
diff --git a/ProjectPage/DbPanel/DbPanelViewModel.vb b/ProjectPage/DbPanel/DbPanelViewModel.vb
index e7af093..de4648f 100644
--- a/ProjectPage/DbPanel/DbPanelViewModel.vb
+++ b/ProjectPage/DbPanel/DbPanelViewModel.vb
@@ -10,7 +10,6 @@ Namespace EgtCAM5
' Definizione comandi
Private m_cmdToolDb As ICommand
Private m_cmdMachDb As ICommand
- Private m_cmdMTableDb As ICommand
#End Region 'FIELDS & PROPERTIES
@@ -86,34 +85,6 @@ Namespace EgtCAM5
#End Region ' MachDbCommand
-#Region "MachDbCommand"
-
- '''
- ''' Returns a command that do Exec.
- '''
- Public ReadOnly Property MTableDbCommand As ICommand
- Get
- If m_cmdMTableDb Is Nothing Then
- m_cmdMTableDb = New RelayCommand(AddressOf MTableDb)
- End If
- Return m_cmdMTableDb
- End Get
- End Property
-
- '''
- ''' Execute the Exec. This method is invoked by the ExecCommand.
- '''
- Public Sub MTableDb(ByVal param As Object)
- Dim MTableDbWindow As New MTableDbView
- MTableDbWindow.Height = 614
- MTableDbWindow.Width = 1024
- MTableDbWindow.DataContext = New MTableDbViewModel
- MTableDbWindow.Owner = Application.Current.MainWindow
- MTableDbWindow.ShowDialog()
- End Sub
-
-#End Region ' MachDbCommand
-
#End Region ' COMMANDS
End Class
diff --git a/ProjectPage/DoorsPanel/DoorsPanelView.xaml b/ProjectPage/DoorsPanel/DoorsPanelView.xaml
index fcf025d..81f8765 100644
--- a/ProjectPage/DoorsPanel/DoorsPanelView.xaml
+++ b/ProjectPage/DoorsPanel/DoorsPanelView.xaml
@@ -13,6 +13,8 @@
+
diff --git a/ProjectPage/DoorsPanel/DoorsPanelViewModel.vb b/ProjectPage/DoorsPanel/DoorsPanelViewModel.vb
index a19adc7..da8fa3c 100644
--- a/ProjectPage/DoorsPanel/DoorsPanelViewModel.vb
+++ b/ProjectPage/DoorsPanel/DoorsPanelViewModel.vb
@@ -15,6 +15,7 @@ Namespace EgtCAM5
Private m_cmdDoors As ICommand
Private m_cmdDMach As ICommand
Private Shared m_cmdOpenMruDoor As ICommand
+ Private m_cmdMTableDb As ICommand
#Region "COMMANDS"
@@ -101,6 +102,34 @@ Namespace EgtCAM5
#End Region ' DMachCommand
+#Region "MTableDbCommand"
+
+ '''
+ ''' Returns a command that do Exec.
+ '''
+ Public ReadOnly Property MTableDbCommand As ICommand
+ Get
+ If m_cmdMTableDb Is Nothing Then
+ m_cmdMTableDb = New RelayCommand(AddressOf MTableDb)
+ End If
+ Return m_cmdMTableDb
+ End Get
+ End Property
+
+ '''
+ ''' Execute the Exec. This method is invoked by the ExecCommand.
+ '''
+ Public Sub MTableDb(ByVal param As Object)
+ Dim MTableDbWindow As New MTableDbView
+ MTableDbWindow.Height = 614
+ MTableDbWindow.Width = 1024
+ MTableDbWindow.DataContext = New MTableDbViewModel
+ MTableDbWindow.Owner = Application.Current.MainWindow
+ MTableDbWindow.ShowDialog()
+ End Sub
+
+#End Region ' MTableDbCommand
+
#End Region
End Class
diff --git a/ProjectPage/MachGroupPanel/MachGroupPanelView.xaml b/ProjectPage/MachGroupPanel/MachGroupPanelView.xaml
index f8efee6..1861363 100644
--- a/ProjectPage/MachGroupPanel/MachGroupPanelView.xaml
+++ b/ProjectPage/MachGroupPanel/MachGroupPanelView.xaml
@@ -24,7 +24,7 @@
-
+ RelativeSource AncestorType={x:Type ListBoxItem}},Mode=TwoWay}">
+
+
+
+
+
+ Margin="3,0,5,0" Command="{Binding AddMachGroupCommand}"/>
diff --git a/ProjectPage/MachGroupPanel/MachGroupPanelViewModel.vb b/ProjectPage/MachGroupPanel/MachGroupPanelViewModel.vb
index 953dbcd..d417114 100644
--- a/ProjectPage/MachGroupPanel/MachGroupPanelViewModel.vb
+++ b/ProjectPage/MachGroupPanel/MachGroupPanelViewModel.vb
@@ -77,8 +77,9 @@ Namespace EgtCAM5
End Sub
Private Function AddNewMachGroup() As Boolean
- Dim bOk As Boolean
- bOk = (EgtAddMachGroup("Mach01") <> GDB_ID.NULL)
+ Dim sNewMachName As String = "Mach_1"
+ EgtGetMachGroupNewName(sNewMachName)
+ Dim bOk As Boolean = (EgtAddMachGroup(sNewMachName) <> GDB_ID.NULL)
Dim sInitScriptPath As String = String.Empty
EgtUILib.GetPrivateProfileString(S_DISPOSITION, K_INITSCRIPT, "", sInitScriptPath, IniFile.m_sCurrMachIniFilePath)
If bOk And Not String.IsNullOrEmpty(sInitScriptPath) Then
@@ -133,10 +134,15 @@ Namespace EgtCAM5
End Property
Public Sub AddMachGroup()
- AddNewMachGroup()
- EgtDraw()
- Application.Msn.NotifyColleagues(Application.LOADOPERATIONLIST, -1)
- Application.Msn.NotifyColleagues(Application.UPDATECURRENTMACHINE)
+ If AddNewMachGroup() Then
+ Dim sMachName As String = String.Empty
+ EgtGetMachGroupName(EgtGetCurrMachGroup(), sMachName)
+ MachGroupList.Add(sMachName)
+ SelectedMachGroup = sMachName
+ EgtDraw()
+ Application.Msn.NotifyColleagues(Application.LOADOPERATIONLIST, -1)
+ Application.Msn.NotifyColleagues(Application.UPDATECURRENTMACHINE)
+ End If
End Sub
#End Region ' AddMachGroupCommand
diff --git a/ProjectPage/OptionPanel/MachiningOptionPanel/MachiningsTreeViewExpander/MachiningTreeExpanderView.xaml b/ProjectPage/OptionPanel/MachiningOptionPanel/MachiningsTreeViewExpander/MachiningTreeExpanderView.xaml
index 079efbb..b73a1f0 100644
--- a/ProjectPage/OptionPanel/MachiningOptionPanel/MachiningsTreeViewExpander/MachiningTreeExpanderView.xaml
+++ b/ProjectPage/OptionPanel/MachiningOptionPanel/MachiningsTreeViewExpander/MachiningTreeExpanderView.xaml
@@ -14,6 +14,9 @@
+
+
+
diff --git a/ProjectPage/OptionPanel/MachiningOptionPanel/MachiningsTreeViewExpander/MachiningTreeExpanderViewModel.vb b/ProjectPage/OptionPanel/MachiningOptionPanel/MachiningsTreeViewExpander/MachiningTreeExpanderViewModel.vb
index 50596d9..83c0a34 100644
--- a/ProjectPage/OptionPanel/MachiningOptionPanel/MachiningsTreeViewExpander/MachiningTreeExpanderViewModel.vb
+++ b/ProjectPage/OptionPanel/MachiningOptionPanel/MachiningsTreeViewExpander/MachiningTreeExpanderViewModel.vb
@@ -39,6 +39,7 @@ Namespace EgtCAM5
' Definizione comandi
Private m_cmdTreeViewDoubleClick As ICommand
+ Private m_cmdCancelNew As ICommand
#End Region
@@ -135,6 +136,29 @@ Namespace EgtCAM5
#End Region ' TreeViewDoubleClickCommand
+#Region "CancelNewCommand"
+
+ '''
+ ''' Returns a command that do TreeViewDoubleClick.
+ '''
+ Public ReadOnly Property CancelNewCommand As ICommand
+ Get
+ If m_cmdCancelNew Is Nothing Then
+ m_cmdCancelNew = New RelayCommand(AddressOf CancelNew)
+ End If
+ Return m_cmdCancelNew
+ End Get
+ End Property
+
+ '''
+ ''' Execute the TreeViewDoubleClick. This method is invoked by the TreeViewDoubleClickCommand.
+ '''
+ Public Sub CancelNew(ByVal param As Object)
+ Application.Msn.NotifyColleagues(Application.CANCELOPERATIONCOMMAND)
+ End Sub
+
+#End Region ' CancelNewCommand
+
#End Region ' Commands
#Region "METHODS"
diff --git a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/OperationExpanderView.xaml b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/OperationExpanderView.xaml
index 9092564..60a3c35 100644
--- a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/OperationExpanderView.xaml
+++ b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/OperationExpanderView.xaml
@@ -65,6 +65,9 @@
+
+
+
diff --git a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/OperationExpanderViewModel.vb b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/OperationExpanderViewModel.vb
index 319fc4a..2ba366f 100644
--- a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/OperationExpanderViewModel.vb
+++ b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/OperationExpanderViewModel.vb
@@ -31,10 +31,10 @@ Namespace EgtCAM5
EgtDraw()
' Blocco la lista operazioni
IsEnabledOperationList = False
- ' Abilito ed apro l'expander con l'albero delle lavorazioni
- Application.Msn.NotifyColleagues(Application.MACHININGTREEVIEWEXPANDERISENABLED, True)
' Abilito la selezione di curve e superfici del pezzo
Application.Msn.NotifyColleagues(Application.SETSCENESELMODE, SceneSelModeOpt.PARTCURVESANDSURFACES)
+ ' Abilito ed apro l'expander con l'albero delle lavorazioni
+ Application.Msn.NotifyColleagues(Application.MACHININGTREEVIEWEXPANDERISENABLED, True)
Else
' Deseleziono eventuali geometrie selezionate
EgtDeselectAll()
@@ -600,7 +600,9 @@ Namespace EgtCAM5
Application.Msn.Register(Application.DRAWMODE_ISCHECKED, Sub()
If NewMachining Then NewMachining = False
End Sub)
-
+ Application.Msn.Register(Application.CANCELOPERATIONCOMMAND, Sub()
+ CancelOperation(String.Empty)
+ End Sub)
End Sub
#Region "COMMANDS"
@@ -669,6 +671,15 @@ Namespace EgtCAM5
''' Execute the Point. This method is invoked by the PointCommand.
'''
Public Sub CancelOperation(ByVal param As Object)
+ ' se viene premuto il tasto Esc
+ If DirectCast(param, String) = "Escape" Then
+ If m_NewMachining Then
+ NewMachining = False
+ ListIsExpanded = True
+ End If
+ Return
+ End If
+ ' in tutti gli altri casi
If m_NewMachining Then
NewMachining = False
ListIsExpanded = True
diff --git a/StatusBar/StatusBarViewModel.vb b/StatusBar/StatusBarViewModel.vb
index 6ab0b96..2482d95 100644
--- a/StatusBar/StatusBarViewModel.vb
+++ b/StatusBar/StatusBarViewModel.vb
@@ -1,6 +1,8 @@
Imports System.Collections.ObjectModel
+Imports System.Runtime.InteropServices
Imports System.IO
Imports EgtUILib
+Imports System.Threading
Namespace EgtCAM5
@@ -9,6 +11,10 @@ Namespace EgtCAM5
#Region "FIELDS & PROPERTIES"
+ ' Funzioni di callback per output in interfaccia da LUA
+ Private m_ProcEventsCallback As New ProcessEventsCallback(AddressOf ProcessEvents)
+ Private m_OutTextCallback As New OutTextCallback(AddressOf OutText)
+
' GRAPHICAL ELEMENTS
Private m_StatusOutput As String
Public Property StatusOutput As String
@@ -250,6 +256,10 @@ Namespace EgtCAM5
Application.Msn.Register(Application.DRAWMODE_ISCHECKED, Sub()
MachineListIsEnabled = True
End Sub)
+ ' Installo funzione gestione eventi per lua
+ EgtSetProcessEvents(m_ProcEventsCallback)
+ ' Installo funzione output testo su status per lua
+ EgtSetOutText(m_OutTextCallback)
End Sub
#End Region ' Constructor
@@ -493,6 +503,29 @@ Namespace EgtCAM5
End If
End Sub
+ Public Function OutText(ByRef psText As IntPtr) As Boolean
+ StatusOutput = (Marshal.PtrToStringUni(psText))
+ Return True
+ End Function
+
+ Public Function ProcessEvents(ByVal nProg As Integer, ByVal nPause As Integer) As Integer
+ ' Se previsto, imposto progress
+ If nProg > 0 Then
+ StatusProgress = nProg
+ End If
+ ' Costringo ad aggiornare
+ UpdateUI()
+ ' Eventuale attesa
+ Thread.Sleep(nPause)
+ ' Ritorno eventuale stop
+ If m_bStopScript Then
+ m_bStopScript = False
+ Return 0
+ Else
+ Return 1
+ End If
+ End Function
+
#End Region ' Methods
End Class