Files
OmagCUT/CadCutPageUC.xaml.vb
T
Dario Sassi 85e906e4c8 OmagCUT :
- aggiunta prima versione di Vein Matching
- si eliminano spazi iniziali e finali da nomi utensili e lavorazioni
- nuovo utensile come copia di esistente ora crea nuovo disegno
- nuovo utensile ora assegna valori di default alla geometria.
2016-09-07 14:18:26 +00:00

169 lines
7.0 KiB
VB.net

Imports EgtUILib
Imports EgtWPFLib
Imports System.Reflection
Imports System.Globalization
Public Class CadCutPageUC
' Riferimenti a pagine
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private m_CurrProjPage As CurrentProjectPageUC
' Dichiarazione delle Page UserControl
Friend WithEvents m_NestPage As NestPageUC
Friend m_SplitPage As SplitPageUC
Friend m_MoveRawPartPage As MoveRawPartPage
Friend m_CSVPage As CSVPage
Friend m_ProjectMgr As ProjectMgrUC
' Variabile che indica la modalità
Friend m_CadCutMode As CadCutModes
' Oggetto di gestione della macchina fotografica
Friend m_Camera As New Camera
' Elenco pagine interne a cadcutpage
Friend Enum CadCutModes As Integer
Nest
Split
MoveRawPart
End Enum
Private Sub CadCutPage_Initialized(sender As Object, e As EventArgs)
' Creazione delle Page UserControl
m_NestPage = New NestPageUC
m_SplitPage = New SplitPageUC
m_MoveRawPartPage = New MoveRawPartPage
m_CSVPage = New CSVPage
m_ProjectMgr = New ProjectMgrUC
' Posizionamento nella griglia delle Page UserControl
m_NestPage.SetValue(Grid.RowSpanProperty, 3)
m_NestPage.SetValue(Grid.ColumnSpanProperty, 2)
m_SplitPage.SetValue(Grid.RowSpanProperty, 3)
m_SplitPage.SetValue(Grid.ColumnSpanProperty, 3)
m_MoveRawPartPage.SetValue(Grid.RowSpanProperty, 3)
m_MoveRawPartPage.SetValue(Grid.ColumnSpanProperty, 3)
m_CSVPage.SetValue(Grid.RowSpanProperty, 3)
m_CSVPage.SetValue(Grid.ColumnSpanProperty, 3)
m_ProjectMgr.SetValue(Grid.RowProperty, 2)
m_ProjectMgr.SetValue(Grid.ColumnProperty, 1)
' Assegno UC a questa pagina
CadCutPageGrid.Children.Add(m_ProjectMgr)
End Sub
Private Sub CadCutPage_Loaded(sender As Object, e As RoutedEventArgs)
m_CurrProjPage = m_MainWindow.m_CurrentProjectPageUC
' Se abilitato, visualizzo bottone CSV
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.AUTO_NESTING) Then
m_ProjectMgr.CSVBtn.Visibility = Windows.Visibility.Visible
Else
m_ProjectMgr.CSVBtn.Visibility = Windows.Visibility.Hidden
End If
' Se abilitato, visualizzo bottone VeinMatching
If GetPrivateProfileInt(S_VEINMATCHING, K_VEINMA_ENABLE, 0, m_MainWindow.GetIniFile()) <> 0 Then
m_ProjectMgr.VeinMatchingBtn.Visibility = Windows.Visibility.Visible
Else
m_ProjectMgr.VeinMatchingBtn.Visibility = Windows.Visibility.Hidden
End If
' Seleziono UserControl di apertura
CadCutPageGrid.Children.Add(m_NestPage)
m_CadCutMode = CadCutModes.Nest
SplitImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Split.png", UriKind.Relative))
' Se macchina fotografica abilitata
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.MAN_PHOTO) Then
PhotoBtn.IsEnabled = True
' Inizializzo gestore macchina fotografica
m_Camera.Init()
Else
PhotoBtn.IsEnabled = False
End If
End Sub
Private Sub PhotoBtn_Click(sender As Object, e As RoutedEventArgs) Handles PhotoBtn.Click
' Se macchina fotografica abilitata, faccio una foto
If m_Camera.GetCameraLink() Then
If Not m_Camera.CameraClick() Then
m_CurrProjPage.SetErrorMessage(EgtMsg(90313)) 'Fotografia non riuscita
End If
' Altrimenti lancio browser di immagini
Else
m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_CurrentProjectPageUC)
m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_PhotoPage)
m_MainWindow.m_ActivePage = MainWindow.Pages.Photo
m_MainWindow.m_PrevActivePage = MainWindow.Pages.CadCut
End If
End Sub
Friend Sub PostPhoto(ByVal sPath As String)
' Carico la foto
m_MainWindow.m_CurrentProjectPageUC.LoadPhoto(sPath)
' Aggiorno visualizzazione
EgtZoom(ZM.ALL)
End Sub
Private Sub RawPartBtn_Click(sender As Object, e As RoutedEventArgs) Handles RawPartBtn.Click
m_MainWindow.m_CurrentProjectPageUC.CurrProjGrid.Visibility = Windows.Visibility.Hidden
m_MainWindow.m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(Me)
m_MainWindow.m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_RawPartPage)
m_MainWindow.m_ActivePage = MainWindow.Pages.RawPart
m_MainWindow.m_PrevActivePage = MainWindow.Pages.CadCut
End Sub
Private Sub DrawBtn_Click(sender As Object, e As RoutedEventArgs) Handles DrawBtn.Click
m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_CurrentProjectPageUC)
m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_DrawPageUC)
m_MainWindow.m_ActivePage = MainWindow.Pages.Draw
End Sub
Private Sub ImportBtn_Click(sender As Object, e As RoutedEventArgs) Handles ImportBtn.Click
m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_CurrentProjectPageUC)
m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_ImportPageUC)
m_MainWindow.m_ActivePage = MainWindow.Pages.Import
m_MainWindow.m_PrevActivePage = MainWindow.Pages.CadCut
End Sub
Private Sub CadCutPage_Unloaded(sender As Object, e As RoutedEventArgs)
' Chiudo tutti gli UserControl attivi
Select Case m_CadCutMode
Case CadCutModes.Nest
CadCutPageGrid.Children.Remove(m_NestPage)
Case CadCutModes.Split
CadCutPageGrid.Children.Remove(m_SplitPage)
Case CadCutModes.MoveRawPart
CadCutPageGrid.Children.Remove(m_MoveRawPartPage)
End Select
End Sub
Private Sub SplitBtn_Click(sender As Object, e As RoutedEventArgs) Handles SplitBtn.Click
Select Case m_CadCutMode
Case CadCutModes.Nest
' Passo alla pagina Split
SplitImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Nest.png", UriKind.Relative))
CadCutPageGrid.Children.Remove(m_NestPage)
CadCutPageGrid.Children.Add(m_SplitPage)
m_CadCutMode = CadCutModes.Split
' Carico eventuale manipolatore pezzi
LoadVacuumCups()
' !!! Provvisorio : riparto da capo !!!
' Cancello tutte le lavorazioni
EraseMachinings(GDB_ID.NULL)
' Reinserisco tutte le lavorazioni
AddMachinings(GDB_ID.NULL, True, False)
' Aggiorno visualizzazione
EgtDraw()
Case CadCutModes.Split
' Cancello eventuale manipolatore pezzi
RemoveVacuumCups()
' Passo alla pagina Nest
SplitImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Split.png", UriKind.Relative))
CadCutPageGrid.Children.Remove(m_SplitPage)
CadCutPageGrid.Children.Add(m_NestPage)
m_CadCutMode = CadCutModes.Nest
End Select
End Sub
End Class