diff --git a/Icarus/ChooseMachineWnd/ChooseMachineWndV.xaml b/Icarus/ChooseMachineWnd/ChooseMachineWndV.xaml
new file mode 100644
index 0000000..ddbd8b5
--- /dev/null
+++ b/Icarus/ChooseMachineWnd/ChooseMachineWndV.xaml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Icarus/ChooseMachineWnd/ChooseMachineWndV.xaml.vb b/Icarus/ChooseMachineWnd/ChooseMachineWndV.xaml.vb
new file mode 100644
index 0000000..1123019
--- /dev/null
+++ b/Icarus/ChooseMachineWnd/ChooseMachineWndV.xaml.vb
@@ -0,0 +1,18 @@
+Public Class ChooseMachineWndV
+
+ Private WithEvents m_ChooseMachineWndVM As ChooseMachineWndVM
+
+ Sub New(Owner As Window, ChooseMachineWndVM As ChooseMachineWndVM)
+ MyBase.New(Owner)
+ ' This call is required by the designer.
+ InitializeComponent()
+ Me.DataContext = ChooseMachineWndVM
+ ' Assegno al riferimento locale al VM il VM preso dal DataContext
+ m_ChooseMachineWndVM = ChooseMachineWndVM
+ End Sub
+
+ Private Sub CloseWindow(bDialogResult As Boolean) Handles m_ChooseMachineWndVM.m_CloseWindow
+ Me.DialogResult = bDialogResult
+ End Sub
+
+End Class
diff --git a/Icarus/ChooseMachineWnd/ChooseMachineWndVM.vb b/Icarus/ChooseMachineWnd/ChooseMachineWndVM.vb
new file mode 100644
index 0000000..bdad22e
--- /dev/null
+++ b/Icarus/ChooseMachineWnd/ChooseMachineWndVM.vb
@@ -0,0 +1,77 @@
+Imports System.Collections.ObjectModel
+Imports System.IO
+Imports EgtUILib
+Imports EgtWPFLib5
+
+Public Class ChooseMachineWndVM
+ Inherits VMBase
+
+#Region "FIELDS & PROPERTIES"
+
+ Friend Event m_CloseWindow(bDialogResult As Boolean)
+
+ ' recupero la lista delle Macchine da MachinePanel
+ Private m_MachineList As ObservableCollection(Of Machine) = Map.refMachinePanelVM.MachineList
+ Public ReadOnly Property MachineList As ObservableCollection(Of Machine)
+ Get
+ Return m_MachineList
+ End Get
+ End Property
+
+ ' La Macchina selezionata di default sarà quella correntemente selezionata in MachinePanel
+ Private m_SelMachine As Machine = MachineList.FirstOrDefault(Function(x) x.Name = Map.refMachinePanelVM.SelectedMachine.Name)
+ Public Property SelMachine As Machine
+ Get
+ Return m_SelMachine
+ End Get
+ Set(value As Machine)
+ If value IsNot m_SelMachine Then
+ m_SelMachine = value
+ End If
+ End Set
+ End Property
+
+ ' Definizione comandi
+ Private m_cmdOk As ICommand
+
+#End Region ' FIELDS & PROPERTIES
+
+#Region "MESSAGES"
+
+ Public ReadOnly Property ChooseMachine_Msg As String
+ Get
+ Return "Macchina: "
+ End Get
+ End Property
+
+#End Region ' MESSAGES
+
+#Region "COMMANDS"
+
+#Region "Ok"
+
+ Public ReadOnly Property Ok_Command As ICommand
+ Get
+ If m_cmdOk Is Nothing Then
+ m_cmdOk = New Command(AddressOf Ok)
+ End If
+ Return m_cmdOk
+ End Get
+ End Property
+
+ Public Sub Ok()
+ If Not IsNothing(SelMachine) Then
+ ' setto la macchina
+ Map.refMachinePanelVM.SelectedMachine = MachineList(MachineList.IndexOf(SelMachine))
+ RaiseEvent m_CloseWindow(True)
+ Else
+ ' se non seleziono nessuna macchina lo segnalo con un MessageBox
+ MessageBox.Show("No machine selected", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
+ End If
+ End Sub
+
+#End Region ' Ok
+
+#End Region ' COMMANDS
+
+End Class
\ No newline at end of file
diff --git a/Icarus/Constants/Const3dPrint.vb b/Icarus/Constants/Const3dPrint.vb
index 618be44..cd5389e 100644
--- a/Icarus/Constants/Const3dPrint.vb
+++ b/Icarus/Constants/Const3dPrint.vb
@@ -133,6 +133,9 @@
' parametri riferimento
Public Const KEY_REFERENCE = "Reference"
+ ' macchina in progetto
+ Public Const KEY_MACHINE_NAME = "MachineName"
+
Public Const FILE_PATH = "FilePath"
End Module
diff --git a/Icarus/CurrMachiningPanel/CurrMachining.vb b/Icarus/CurrMachiningPanel/CurrMachining.vb
index 55bf365..23a4509 100644
--- a/Icarus/CurrMachiningPanel/CurrMachining.vb
+++ b/Icarus/CurrMachiningPanel/CurrMachining.vb
@@ -89,7 +89,6 @@ Public Class CurrMachining
If Guid.TryParse(sCurrGuid, m_sCurrGUID) Then
Dim CurrMachiningInDb As MachiningIndex = Map.refTopPanelVM.MachiningList.FirstOrDefault(Function(x) x.sGUID = m_sCurrGUID)
If IsNothing(CurrMachiningInDb) Then
- MessageBox.Show("Machining not found in Db!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning)
m_nIndex = 0
Else
m_nIndex = CurrMachiningInDb.nIndex
diff --git a/Icarus/Icarus.vbproj b/Icarus/Icarus.vbproj
index a9bd016..053c961 100644
--- a/Icarus/Icarus.vbproj
+++ b/Icarus/Icarus.vbproj
@@ -90,6 +90,10 @@
AboutBoxV.xaml
+
+ ChooseMachineWndV.xaml
+
+ ChooseReferenceWndV.xaml
@@ -262,6 +266,10 @@
MSBuild:CompileDesigner
+
+ MSBuild:Compile
+ Designer
+ DesignerMSBuild:Compile
diff --git a/Icarus/MachinePanel/MachinePanelV.xaml b/Icarus/MachinePanel/MachinePanelV.xaml
index a963f60..1cb54bf 100644
--- a/Icarus/MachinePanel/MachinePanelV.xaml
+++ b/Icarus/MachinePanel/MachinePanelV.xaml
@@ -11,15 +11,21 @@
-
-
+
-
+
+
+