Files
OmagCUT/MainWindow.xaml.vb
T
Emmanuele Sassi 1de2fde748 OmagCUT :
- Aggiunta variabile altezza grezzo.
- Migliorate caratteristiche projetto corrente.
2015-09-18 16:35:31 +00:00

586 lines
26 KiB
VB.net

Imports System.Collections.ObjectModel
Imports EgtUILib
Imports System.ComponentModel
Imports System.Windows.Threading
'Imports System.Runtime.InteropServices
'Imports System.Threading
'Imports System.Windows.Controls
'Imports System.Globalization
'Imports EgtUILib.EgtInterface
'Imports EgtUILib.Scene
'Imports System.Text
Class MainWindow
'Dichiarazione della MachineStatusBar
Friend m_MachineStatusUC As MachineStatusUC
'Dichiarazione delle Page UserControl
Friend m_WorkInProgressPageUC As WorkInProgressPageUC
Friend m_CurrentProjectPageUC As CurrentProjectPageUC
Friend m_DirectCutPageUC As DirectCutPageUC
Friend m_CadCutPageUC As CadCutPageUC
Friend m_RawPartPage As RawPartPageUC
Friend m_DrawPageUC As DrawPageUC
Friend m_ImportPageUC As ImportPageUC
Friend m_FrameCutPageUC As FrameCutPageUC
Friend m_MachinePageUC As MachinePageUC
Friend m_AlarmsPageUC As AlarmsPageUC
Friend m_OptionsPageUC As OptionsPageUC
'Riferimento alla NumericKeyboard necessario per poter impedire il click fuori da essa quando attiva
Friend m_NumericKeyboardWD As NumericKeyboardWD
'Dichiarazione variabili direttori
Private m_sDataRoot As String = String.Empty
Private m_sConfigDir As String = String.Empty
Private m_sResourcesDir As String = String.Empty
Private m_sTempDir As String = String.Empty
Private m_sMachinesRoot As String = String.Empty
Private Shared m_sIniFile As String = String.Empty
Private m_nDebug As Integer = 0
'Dichiarazione lista per ListBox della ImportPage
Friend m_ImportItemList As New ObservableCollection(Of IconListBoxItem)
'Dichiarazione lista materiali e materiale corrente
Friend m_MaterialsList As New List(Of Material)
Friend m_nCurrentMaterial As Integer
'Riferimento alla pagina correntemente attiva
Friend m_ActivePage As Pages
Enum Pages
WorkInProgress
DirectCut
CadCut
RawPart
Draw
Import
FrameCut
Machine
Alarms
Options
End Enum
Public Function GetIniFile() As String
Return m_sIniFile
End Function
Public Function GetResourcesDir() As String
Return m_sResourcesDir
End Function
Public Function GetTempDir() As String
Return m_sTempDir
End Function
Public Function GetMachinesRootDir() As String
Return m_sMachinesRoot
End Function
Private Sub Window_Initialized(sender As Object, e As EventArgs)
' Impostazione path radice per i dati
m_sDataRoot = System.AppDomain.CurrentDomain.BaseDirectory
If GetPrivateProfileString(S_DATA, K_DATAROOT, "", m_sDataRoot, m_sDataRoot & "\" & DAT_FILE_NAME) = 0 Then
m_sDataRoot = System.AppDomain.CurrentDomain.BaseDirectory
End If
' Impostazione direttorio di configurazione
m_sConfigDir = m_sDataRoot & "\" & CONF_DIR
' Impostazione direttorio delle risorse
m_sResourcesDir = m_sDataRoot & "\" & RES_DIR
' Impostazione direttorio per file temporanei
m_sTempDir = m_sDataRoot & "\" & TEMP_DIR
' Impostazione path Ini file
m_sIniFile = m_sConfigDir & "\" & INI_FILE_NAME
' Impostazione direttorio per le macchine
If GetPrivateProfileString(S_MACH, K_MACHINESDIR, "", m_sMachinesRoot, m_sIniFile) = 0 Then
m_sMachinesRoot = m_sDataRoot & "\" & MACHINES_DFL_DIR
End If
' Leggo e imposto chiave di protezione
Dim sLicFileName As String = String.Empty
GetPrivateProfileString(S_GENERAL, K_LICENCE, LIC_FILE_NAME, sLicFileName, m_sIniFile)
Dim sLicFile As String = m_sConfigDir & "\" & sLicFileName
Dim sKey As String = String.Empty
GetPrivateProfileString(S_LICENCE, K_KEY, "", sKey, sLicFile)
EgtSetKey(sKey)
'Inizializzazione generale di EgtInterface
m_nDebug = GetPrivateProfileInt(S_GENERAL, K_DEBUG, 0, m_sIniFile)
Dim sLogFile As String = m_sTempDir & "\" & GENLOG_FILE_NAME
Dim sLogMsg As String = My.Application.Info.Description.ToString() & " ver. " & My.Application.Info.Version.ToString()
EgtInit(m_nDebug, sLogFile, sLogMsg)
' Leggo file messaggi
Dim sMsgFile As String = String.Empty
GetPrivateProfileString(S_GENERAL, K_MESSAGES, "", sMsgFile, m_sIniFile)
Dim sMsgFilePath As String = m_sConfigDir & "\" & sMsgFile
If Not EgtLoadMessages(sMsgFilePath) Then
EgtOutLog("Error in EgtLoadMessages")
End If
' imposto dir font Nfe e font default
Dim sNfeDir As String = String.Empty
GetPrivateProfileString(S_GEOMDB, K_NFEFONTDIR, "", sNfeDir, m_sIniFile)
Dim sDefFont As String = String.Empty
GetPrivateProfileString(S_GEOMDB, K_DEFAULTFONT, "", sDefFont, m_sIniFile)
EgtSetFont(sNfeDir, sDefFont)
' imposto dir di default per libreria Lua e lancio libreria di base
Dim sLuaLibsDir As String = String.Empty
GetPrivateProfileString(S_LUA, K_LIBSDIR, "", sLuaLibsDir, m_sIniFile)
EgtSetLuaLibs(sLuaLibsDir)
Dim sLuaBaseLib As String = String.Empty
GetPrivateProfileString(S_LUA, K_BASELIB, "EgtBase", sLuaBaseLib, m_sIniFile)
EgtLuaRequire(sLuaBaseLib)
' Imposto posizione e dimensioni della MainWindow
Dim nFlag As Integer
Dim nLeft As Integer
Dim nTop As Integer
Dim nWidth As Integer
Dim nHeight As Integer
GetPrivateProfileWinPos(S_GENERAL, K_WINPLACE, nFlag, nLeft, nTop, nWidth, nHeight, m_sIniFile)
Me.WindowStartupLocation = Windows.WindowStartupLocation.Manual
Me.Top = nTop
Me.Left = nLeft
Me.Height = nHeight
Me.Width = nWidth
WindowState = If(nFlag = 1, WindowState.Maximized, WindowState.Normal)
'Crezione della MachineStatusBar
m_MachineStatusUC = New MachineStatusUC
'Creazione delle Page UserControl
m_WorkInProgressPageUC = New WorkInProgressPageUC
m_DirectCutPageUC = New DirectCutPageUC
m_CadCutPageUC = New CadCutPageUC
m_RawPartPage = New RawPartPageUC
m_DrawPageUC = New DrawPageUC
m_ImportPageUC = New ImportPageUC
m_FrameCutPageUC = New FrameCutPageUC
m_CurrentProjectPageUC = New CurrentProjectPageUC
m_MachinePageUC = New MachinePageUC
m_AlarmsPageUC = New AlarmsPageUC
m_OptionsPageUC = New OptionsPageUC
'Posizionamento nella griglia della MachineStatusBar
m_MachineStatusUC.SetValue(Grid.RowProperty, 2)
'Posizionemento nella griglia delle Page UserControl
m_WorkInProgressPageUC.SetValue(Grid.ColumnProperty, 0)
m_WorkInProgressPageUC.SetValue(Grid.RowProperty, 1)
m_RawPartPage.SetValue(Grid.ColumnSpanProperty, 2)
m_RawPartPage.SetValue(Grid.RowSpanProperty, 3)
m_DrawPageUC.SetValue(Grid.ColumnProperty, 0)
m_DrawPageUC.SetValue(Grid.RowProperty, 1)
m_ImportPageUC.SetValue(Grid.ColumnProperty, 0)
m_ImportPageUC.SetValue(Grid.RowProperty, 1)
m_CurrentProjectPageUC.SetValue(Grid.ColumnProperty, 0)
m_CurrentProjectPageUC.SetValue(Grid.RowProperty, 1)
m_MachinePageUC.SetValue(Grid.ColumnProperty, 0)
m_MachinePageUC.SetValue(Grid.RowProperty, 1)
m_AlarmsPageUC.SetValue(Grid.ColumnProperty, 0)
m_AlarmsPageUC.SetValue(Grid.RowProperty, 1)
m_OptionsPageUC.SetValue(Grid.ColumnProperty, 0)
m_OptionsPageUC.SetValue(Grid.RowProperty, 1)
'Disabilita la possibilità di imitare il click del tasto destro del mouse tenendo premuto il dito sul touch
'NB: Se abilitato impedisce di utilizzare lo stato Pressed dei Button che quindi non si evidenziano quando premuti
Stylus.SetIsPressAndHoldEnabled(Me, False)
'Leggo lista materiali da file ini
Dim index As Integer = 1
Dim sMaterial As String = String.Empty
While GetPrivateProfileString("Materials", "Material" & index, "", sMaterial, GetIniFile) > 0
Dim cMaterial As New Material(sMaterial)
m_MaterialsList.Add(cMaterial)
index += 1
End While
'Leggo materiale corrent da file ini
Dim sCurrentMaterial As String = String.Empty
GetPrivateProfileString("Materials", "CurrMaterial", "", sCurrentMaterial, GetIniFile)
For i As Integer = 0 To m_MaterialsList.Count - 1
If sCurrentMaterial = m_MaterialsList(i).Name Then
m_nCurrentMaterial = i
Exit For
End If
Next
'Imposto i messaggi letti dal file dei messaggi
WorkInProgressBtn.Content = EgtMsg(MSG_GENERAL + 1)
DirectCutBtn.Content = EgtMsg(MSG_GENERAL + 2)
CadCutBtn.Content = EgtMsg(MSG_GENERAL + 3)
FrameCutBtn.Content = EgtMsg(MSG_GENERAL + 4)
MachineBtn.Content = EgtMsg(MSG_GENERAL + 5)
OptionsBtn.Content = EgtMsg(MSG_GENERAL + 6)
End Sub
Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
'Assegno AboutBoxWD come child della MainWindow
'm_AboutBoxWD.Owner = Me
'Aggiungo la MachineStatusBar alla MainWindow
MainWindowGrid.Children.Add(m_MachineStatusUC)
'Seleziono la Tab e la Page di apertura
MainWindowGrid.Children.Add(m_WorkInProgressPageUC)
m_ActivePage = Pages.WorkInProgress
WorkInProgressBtn.IsChecked = True
End Sub
Private Sub WorkInProgressBtn_Click(sender As Object, e As RoutedEventArgs) Handles WorkInProgressBtn.Click
Select Case m_ActivePage
Case Pages.WorkInProgress
WorkInProgressBtn.IsChecked = True
Case Pages.DirectCut
WorkInProgressBtn.IsChecked = True
DirectCutBtn.IsChecked = False
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_DirectCutPageUC)
MainWindowGrid.Children.Remove(m_CurrentProjectPageUC)
MainWindowGrid.Children.Add(m_WorkInProgressPageUC)
m_ActivePage = Pages.WorkInProgress
Case Pages.CadCut
WorkInProgressBtn.IsChecked = True
CadCutBtn.IsChecked = False
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_CadCutPageUC)
MainWindowGrid.Children.Remove(m_CurrentProjectPageUC)
MainWindowGrid.Children.Add(m_WorkInProgressPageUC)
m_ActivePage = Pages.WorkInProgress
Case Pages.RawPart
WorkInProgressBtn.IsChecked = False
CadCutBtn.IsChecked = True
Case Pages.Draw
WorkInProgressBtn.IsChecked = False
CadCutBtn.IsChecked = True
Case Pages.Import
WorkInProgressBtn.IsChecked = False
CadCutBtn.IsChecked = True
Case Pages.FrameCut
WorkInProgressBtn.IsChecked = True
FrameCutBtn.IsChecked = False
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_FrameCutPageUC)
MainWindowGrid.Children.Remove(m_CurrentProjectPageUC)
MainWindowGrid.Children.Add(m_WorkInProgressPageUC)
m_ActivePage = Pages.WorkInProgress
Case Pages.Machine
WorkInProgressBtn.IsChecked = True
MachineBtn.IsChecked = False
MainWindowGrid.Children.Remove(m_MachinePageUC)
MainWindowGrid.Children.Add(m_WorkInProgressPageUC)
m_ActivePage = Pages.WorkInProgress
Case Pages.Options
WorkInProgressBtn.IsChecked = True
OptionsBtn.IsChecked = False
MainWindowGrid.Children.Remove(m_OptionsPageUC)
MainWindowGrid.Children.Add(m_WorkInProgressPageUC)
m_ActivePage = Pages.WorkInProgress
End Select
End Sub
Private Sub DirectCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles DirectCutBtn.Click
Select Case m_ActivePage
Case Pages.WorkInProgress
WorkInProgressBtn.IsChecked = False
DirectCutBtn.IsChecked = True
MainWindowGrid.Children.Remove(m_WorkInProgressPageUC)
MainWindowGrid.Children.Add(m_CurrentProjectPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_DirectCutPageUC)
m_ActivePage = Pages.DirectCut
Case Pages.DirectCut
DirectCutBtn.IsChecked = True
Case Pages.CadCut
DirectCutBtn.IsChecked = True
CadCutBtn.IsChecked = False
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_CadCutPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_DirectCutPageUC)
m_ActivePage = Pages.DirectCut
Case Pages.RawPart
DirectCutBtn.IsChecked = False
CadCutBtn.IsChecked = True
Case Pages.Draw
DirectCutBtn.IsChecked = False
CadCutBtn.IsChecked = True
Case Pages.Import
DirectCutBtn.IsChecked = False
CadCutBtn.IsChecked = True
Case Pages.FrameCut
DirectCutBtn.IsChecked = True
FrameCutBtn.IsChecked = False
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_FrameCutPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_DirectCutPageUC)
m_ActivePage = Pages.DirectCut
Case Pages.Machine
DirectCutBtn.IsChecked = True
MachineBtn.IsChecked = False
MainWindowGrid.Children.Remove(m_MachinePageUC)
MainWindowGrid.Children.Add(m_CurrentProjectPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_DirectCutPageUC)
m_ActivePage = Pages.DirectCut
Case Pages.Options
DirectCutBtn.IsChecked = True
OptionsBtn.IsChecked = False
MainWindowGrid.Children.Remove(m_OptionsPageUC)
MainWindowGrid.Children.Add(m_CurrentProjectPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_DirectCutPageUC)
m_ActivePage = Pages.DirectCut
End Select
End Sub
Private Sub CadCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles CadCutBtn.Click
Select Case m_ActivePage
Case Pages.WorkInProgress
WorkInProgressBtn.IsChecked = False
CadCutBtn.IsChecked = True
MainWindowGrid.Children.Remove(m_WorkInProgressPageUC)
MainWindowGrid.Children.Add(m_CurrentProjectPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_CadCutPageUC)
m_ActivePage = Pages.DirectCut
m_ActivePage = Pages.CadCut
Case Pages.DirectCut
DirectCutBtn.IsChecked = False
CadCutBtn.IsChecked = True
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_DirectCutPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_CadCutPageUC)
m_ActivePage = Pages.CadCut
Case Pages.CadCut
CadCutBtn.IsChecked = True
Case Pages.RawPart
CadCutBtn.IsChecked = True
Case Pages.Draw
CadCutBtn.IsChecked = True
Case Pages.Import
CadCutBtn.IsChecked = True
Case Pages.FrameCut
CadCutBtn.IsChecked = True
FrameCutBtn.IsChecked = False
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_FrameCutPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_CadCutPageUC)
m_ActivePage = Pages.CadCut
Case Pages.Machine
CadCutBtn.IsChecked = True
MachineBtn.IsChecked = False
MainWindowGrid.Children.Remove(m_MachinePageUC)
MainWindowGrid.Children.Add(m_CurrentProjectPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_CadCutPageUC)
m_ActivePage = Pages.CadCut
Case Pages.Options
CadCutBtn.IsChecked = True
OptionsBtn.IsChecked = False
MainWindowGrid.Children.Remove(m_OptionsPageUC)
MainWindowGrid.Children.Add(m_CurrentProjectPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_CadCutPageUC)
m_ActivePage = Pages.CadCut
End Select
End Sub
Private Sub FrameCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles FrameCutBtn.Click
Select Case m_ActivePage
Case Pages.WorkInProgress
WorkInProgressBtn.IsChecked = False
FrameCutBtn.IsChecked = True
MainWindowGrid.Children.Remove(m_WorkInProgressPageUC)
MainWindowGrid.Children.Add(m_CurrentProjectPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_FrameCutPageUC)
m_ActivePage = Pages.FrameCut
Case Pages.DirectCut
DirectCutBtn.IsChecked = False
FrameCutBtn.IsChecked = True
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_DirectCutPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_FrameCutPageUC)
m_ActivePage = Pages.FrameCut
Case Pages.CadCut
CadCutBtn.IsChecked = False
FrameCutBtn.IsChecked = True
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_CadCutPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_FrameCutPageUC)
m_ActivePage = Pages.FrameCut
Case Pages.RawPart
CadCutBtn.IsChecked = True
FrameCutBtn.IsChecked = False
Case Pages.Draw
CadCutBtn.IsChecked = True
FrameCutBtn.IsChecked = False
Case Pages.Import
CadCutBtn.IsChecked = True
FrameCutBtn.IsChecked = False
Case Pages.FrameCut
FrameCutBtn.IsChecked = True
Case Pages.Machine
FrameCutBtn.IsChecked = True
MachineBtn.IsChecked = False
MainWindowGrid.Children.Remove(m_MachinePageUC)
MainWindowGrid.Children.Add(m_CurrentProjectPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_FrameCutPageUC)
m_ActivePage = Pages.FrameCut
Case Pages.Options
FrameCutBtn.IsChecked = True
OptionsBtn.IsChecked = False
MainWindowGrid.Children.Remove(m_OptionsPageUC)
MainWindowGrid.Children.Add(m_CurrentProjectPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_FrameCutPageUC)
m_ActivePage = Pages.FrameCut
End Select
End Sub
Private Sub MachineBtn_Click(sender As Object, e As RoutedEventArgs) Handles MachineBtn.Click
Select Case m_ActivePage
Case Pages.WorkInProgress
WorkInProgressBtn.IsChecked = False
MachineBtn.IsChecked = True
MainWindowGrid.Children.Remove(m_WorkInProgressPageUC)
MainWindowGrid.Children.Add(m_MachinePageUC)
m_ActivePage = Pages.Machine
Case Pages.DirectCut
DirectCutBtn.IsChecked = False
MachineBtn.IsChecked = True
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_DirectCutPageUC)
MainWindowGrid.Children.Remove(m_CurrentProjectPageUC)
MainWindowGrid.Children.Add(m_MachinePageUC)
m_ActivePage = Pages.Machine
Case Pages.CadCut
CadCutBtn.IsChecked = False
MachineBtn.IsChecked = True
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_CadCutPageUC)
MainWindowGrid.Children.Remove(m_CurrentProjectPageUC)
MainWindowGrid.Children.Add(m_MachinePageUC)
m_ActivePage = Pages.Machine
Case Pages.RawPart
CadCutBtn.IsChecked = True
MachineBtn.IsChecked = False
Case Pages.Draw
CadCutBtn.IsChecked = True
MachineBtn.IsChecked = False
Case Pages.Import
CadCutBtn.IsChecked = True
MachineBtn.IsChecked = False
Case Pages.FrameCut
FrameCutBtn.IsChecked = False
MachineBtn.IsChecked = True
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_FrameCutPageUC)
MainWindowGrid.Children.Remove(m_CurrentProjectPageUC)
MainWindowGrid.Children.Add(m_MachinePageUC)
m_ActivePage = Pages.Machine
Case Pages.Machine
MachineBtn.IsChecked = True
Case Pages.Options
MachineBtn.IsChecked = True
OptionsBtn.IsChecked = False
MainWindowGrid.Children.Remove(m_OptionsPageUC)
MainWindowGrid.Children.Add(m_MachinePageUC)
m_ActivePage = Pages.Machine
End Select
End Sub
Private Sub OptionsBtn_Click(sender As Object, e As RoutedEventArgs) Handles OptionsBtn.Click
Select Case m_ActivePage
Case Pages.WorkInProgress
WorkInProgressBtn.IsChecked = False
OptionsBtn.IsChecked = True
MainWindowGrid.Children.Remove(m_WorkInProgressPageUC)
MainWindowGrid.Children.Add(m_OptionsPageUC)
m_ActivePage = Pages.Options
Case Pages.DirectCut
DirectCutBtn.IsChecked = False
OptionsBtn.IsChecked = True
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_DirectCutPageUC)
MainWindowGrid.Children.Remove(m_CurrentProjectPageUC)
MainWindowGrid.Children.Add(m_OptionsPageUC)
m_ActivePage = Pages.Options
Case Pages.CadCut
CadCutBtn.IsChecked = False
OptionsBtn.IsChecked = True
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_CadCutPageUC)
MainWindowGrid.Children.Remove(m_CurrentProjectPageUC)
MainWindowGrid.Children.Add(m_OptionsPageUC)
m_ActivePage = Pages.Options
Case Pages.RawPart
CadCutBtn.IsChecked = True
OptionsBtn.IsChecked = False
Case Pages.Draw
CadCutBtn.IsChecked = True
OptionsBtn.IsChecked = False
Case Pages.Import
CadCutBtn.IsChecked = True
OptionsBtn.IsChecked = False
Case Pages.FrameCut
FrameCutBtn.IsChecked = False
OptionsBtn.IsChecked = True
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(m_FrameCutPageUC)
MainWindowGrid.Children.Remove(m_CurrentProjectPageUC)
MainWindowGrid.Children.Add(m_OptionsPageUC)
m_ActivePage = Pages.Options
Case Pages.Machine
MachineBtn.IsChecked = False
OptionsBtn.IsChecked = True
MainWindowGrid.Children.Remove(m_MachinePageUC)
MainWindowGrid.Children.Add(m_OptionsPageUC)
m_ActivePage = Pages.Options
Case Pages.Options
OptionsBtn.IsChecked = True
End Select
End Sub
'Impedisce di clickare fuori dal UC Componenti finchè questo è aperto
Private Sub MainWindow_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
'If (m_ComponentiUC.IsVisible And Not m_ComponentiUC.IsMouseOver) Then
' e.Handled = True
'End If
If (m_RawPartPage.IsVisible And Not m_RawPartPage.IsMouseOver) Then
e.Handled = True
End If
If Not m_NumericKeyboardWD Is Nothing Then
If (m_NumericKeyboardWD.IsVisible And Not m_NumericKeyboardWD.IsMouseOver) Then
e.Handled = True
End If
End If
End Sub
Private Sub MainWindow_KeyDown(sender As Object, e As KeyEventArgs)
'If (m_NumericKeyboardWD.IsVisible And e.Key = Key.Enter) Then
' m_NumericKeyboardWD.Visibility = Windows.Visibility.Hidden
'End If
End Sub
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs)
MainWindow_Unloaded(sender, e)
Me.Close()
End Sub
Private Sub MainWindow_Unloaded(sender As Object, e As RoutedEventArgs)
WritePrivateProfileString("Materials", "CurrMaterial", m_MaterialsList(m_nCurrentMaterial).Name, GetIniFile())
End Sub
End Class
Friend Class Material
Private Shared pId As Integer = 0
Private m_iId As Integer
Private m_sName As String
Public ReadOnly Property Id() As Integer
Get
Return m_iId
End Get
End Property
Public Property Name() As String
Get
Return m_sName
End Get
Set(value As String)
m_sName = value
End Set
End Property
Sub New(sName As String)
m_iId = pId
Name = sName
pId += 1
End Sub
End Class