Imports EgtUILib Imports EgtWPFLib Public Class DirectCutPageUC ' Dichiarazione delle Page UserControl Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow) Friend m_MachineButtons As MachineButtonsUC Friend m_ManualAxesMove As ManualAxesMoveUC Friend m_SingleCut As SingleCutUC Friend m_MultipleCut As MultipleCut Friend m_GridCut As GridCut Friend m_CopyTemplate As CopyTemplateUC Friend m_FlatteningCut As FlatteningCut Friend m_SawTest As SawTestUC Friend m_ControlsMachineButton As ControlsMachineButtonUC Friend m_VacuumMachineButton As VacuumMachineButtonUC ' Stato di visualizzazione della macchina Friend m_bShowMachine As Boolean = False Friend m_nMachLook As Integer = MCH_LOOK.ALL ' Dati generali CN Friend m_CN As CN_generico Private m_bFirst As Boolean = True ' Riferimento alla pagina correntemente attiva Friend m_ActiveDirectCutPage As DirectCutPages = DirectCutPages.DirectCut ' Variabili che indicano attivazione paginette con bottoni macchina Private m_ControlsBtn_IsActive As Boolean ' Variabile che indica se sono attivi i bottoni macchina nuovi o vecchi Friend m_NewMachineButtonsType As Boolean Enum DirectCutPages DirectCut ManualAxesMove SingleCut MultipleCut GridCut FlatteningCut CopyTemplate SawTest End Enum Private Sub DirectCutPage_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized 'Creazione delle Page UserControl m_MachineButtons = New MachineButtonsUC m_ManualAxesMove = New ManualAxesMoveUC m_SingleCut = New SingleCutUC m_MultipleCut = New MultipleCut m_GridCut = New GridCut m_FlatteningCut = New FlatteningCut m_CopyTemplate = New CopyTemplateUC m_SawTest = New SawTestUC m_ControlsMachineButton = New ControlsMachineButtonUC m_VacuumMachineButton = New VacuumMachineButtonUC 'Posizionemento nella griglia delle Page UserControl m_MachineButtons.SetValue(Grid.RowProperty, 2) m_MachineButtons.SetValue(Grid.ColumnSpanProperty, 3) m_ManualAxesMove.SetValue(Grid.RowProperty, 1) m_SingleCut.SetValue(Grid.RowProperty, 1) m_MultipleCut.SetValue(Grid.RowProperty, 1) m_GridCut.SetValue(Grid.RowProperty, 1) m_FlatteningCut.SetValue(Grid.RowProperty, 1) m_CopyTemplate.SetValue(Grid.RowProperty, 1) m_SawTest.SetValue(Grid.RowProperty, 1) m_ControlsMachineButton.SetValue(Grid.RowProperty, 1) m_VacuumMachineButton.SetValue(Grid.RowProperty, 1) m_NewMachineButtonsType = m_ControlsMachineButton.GetPrivateProfileMachineButtons(S_CONTROLMACHBUTTONS, "Button1", Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, m_MainWindow.GetMachIniFile()) If Not m_NewMachineButtonsType Then 'Assegno MachineButtons alla pagina LowerButtonGrid.Children.Add(m_MachineButtons) ControlsMachineBtn.Visibility = Windows.Visibility.Collapsed VacuumMachineBtn.Visibility = Windows.Visibility.Collapsed End If If GetPrivateProfileInt(S_NUMERICALCONTROL, K_TYPE, 0, m_MainWindow.GetMachIniFile()) = 0 Then ManualBtn.IsEnabled = False ManualModeBtn.Visibility = Windows.Visibility.Hidden End If ManualBtn.Content = EgtMsg(MSG_DIRECTCUTPAGEUC + 1) SingleCutBtn.Content = EgtMsg(MSG_DIRECTCUTPAGEUC + 2) MultipleCutBtn.Content = EgtMsg(MSG_DIRECTCUTPAGEUC + 3) GridCutBtn.Content = EgtMsg(MSG_DIRECTCUTPAGEUC + 4) FlatteningCutBtn.Content = EgtMsg(MSG_DIRECTCUTPAGEUC + 6) CopyTemplateBtn.Content = EgtMsg(MSG_DIRECTCUTPAGEUC + 9) SawTestBtn.Content = EgtMsg(MSG_DIRECTCUTPAGEUC + 7) End Sub Private Sub DirectCutPage_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded ' Se rientro da simulazione If m_ActiveDirectCutPage = DirectCutPages.SingleCut Then LeftButtonGrid.Children.Add(m_SingleCut) Return ElseIf m_ActiveDirectCutPage = DirectCutPages.MultipleCut Then LeftButtonGrid.Children.Add(m_MultipleCut) Return ElseIf m_ActiveDirectCutPage = DirectCutPages.GridCut Then LeftButtonGrid.Children.Add(m_GridCut) Return ElseIf m_ActiveDirectCutPage = DirectCutPages.FlatteningCut Then LeftButtonGrid.Children.Add(m_FlatteningCut) Return ElseIf m_ActiveDirectCutPage = DirectCutPages.SawTest Then LeftButtonGrid.Children.Add(m_SawTest) Return End If ' Caso standard m_ActiveDirectCutPage = DirectCutPages.DirectCut ' Se macchina fotografica abilitata PhotoBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.MAN_PHOTO) ' Attivo le lavorazioni solo se esiste il grezzo Dim bRawOk As Boolean = (GetRawHeight() > EPS_SMALL) SingleCutBtn.IsEnabled = bRawOk MultipleCutBtn.IsEnabled = bRawOk GridCutBtn.IsEnabled = bRawOk FlatteningCutBtn.IsEnabled = bRawOk SawTestBtn.IsEnabled = bRawOk ' Nascondo i pezzi in parcheggio HideParkedParts() EgtZoom(ZM.ALL) End Sub Private Sub PhotoBtn_Click(sender As Object, e As RoutedEventArgs) Handles PhotoBtn.Click EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx()) ' Se macchina fotografica collegata, faccio una foto If m_MainWindow.m_Camera.GetCameraLink() Then If Not m_MainWindow.m_Camera.CameraClick() Then m_MainWindow.m_CurrentProjectPageUC.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.DirectCut End If 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.DirectCut End Sub Private Sub ManualBtn_Click(sender As Object, e As RoutedEventArgs) Handles ManualBtn.Click LeftButtonGrid.Children.Add(m_ManualAxesMove) m_ActiveDirectCutPage = DirectCutPages.ManualAxesMove End Sub Private Sub SingleCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles SingleCutBtn.Click LeftButtonGrid.Children.Add(m_SingleCut) m_ActiveDirectCutPage = DirectCutPages.SingleCut End Sub Private Sub MultipleCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles MultipleCutBtn.Click LeftButtonGrid.Children.Add(m_MultipleCut) m_ActiveDirectCutPage = DirectCutPages.MultipleCut End Sub Private Sub GridCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles GridCutBtn.Click LeftButtonGrid.Children.Add(m_GridCut) m_ActiveDirectCutPage = DirectCutPages.GridCut End Sub Private Sub FlatteningCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles FlatteningCutBtn.Click LeftButtonGrid.Children.Add(m_FlatteningCut) m_ActiveDirectCutPage = DirectCutPages.FlatteningCut End Sub Private Sub CopyTemplateBtn_Click(sender As Object, e As RoutedEventArgs) Handles CopyTemplateBtn.Click LeftButtonGrid.Children.Add(m_CopyTemplate) m_ActiveDirectCutPage = DirectCutPages.CopyTemplate End Sub Private Sub SawTestBtn_Click(sender As Object, e As RoutedEventArgs) Handles SawTestBtn.Click LeftButtonGrid.Children.Add(m_SawTest) m_ActiveDirectCutPage = DirectCutPages.SawTest End Sub Private Sub ControlsMachineBtn_Click(sender As Object, e As RoutedEventArgs) Handles ControlsMachineBtn.Click If ControlsMachineBtn.IsChecked Then m_ControlsMachineButton = New ControlsMachineButtonUC m_ControlsMachineButton.SetValue(Grid.RowProperty, 1) m_NewMachineButtonsType = m_ControlsMachineButton.GetPrivateProfileMachineButtons(S_CONTROLMACHBUTTONS, "Button1", Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, m_MainWindow.GetMachIniFile()) MachineButtonGrid.Children.Add(m_ControlsMachineButton) 'm_ControlsMachineButton = m_ControlsMachineButton 'NotifyPropertyChanged("ButtonList") If VacuumMachineBtn.IsChecked Then MachineButtonGrid.Children.Remove(m_VacuumMachineButton) VacuumMachineBtn.IsChecked = False End If Else MachineButtonGrid.Children.Remove(m_ControlsMachineButton) End If End Sub Private Sub VacuumMachineBtn_Click(sender As Object, e As RoutedEventArgs) Handles VacuumMachineBtn.Click If VacuumMachineBtn.IsChecked Then MachineButtonGrid.Children.Add(m_VacuumMachineButton) If ControlsMachineBtn.IsChecked Then MachineButtonGrid.Children.Remove(m_ControlsMachineButton) ControlsMachineBtn.IsChecked = False End If Else MachineButtonGrid.Children.Remove(m_VacuumMachineButton) End If End Sub Private Sub MachViewModeBtn_Click(sender As Object, e As RoutedEventArgs) Handles MachViewModeBtn.Click If m_bShowMachine Then ' aggiorno lo stato Select Case m_nMachLook Case MCH_LOOK.ALL m_nMachLook = MCH_LOOK.TAB_HEAD Case MCH_LOOK.TAB_HEAD m_nMachLook = MCH_LOOK.TAB_TOOL Case Else m_nMachLook = MCH_LOOK.ALL End Select ' aggiorno lo stato della macchina e la sua visualizzazione EgtSetMachineLook(m_nMachLook) EgtDraw() End If End Sub Friend Sub DirectCutPage_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded Select Case m_ActiveDirectCutPage Case DirectCutPages.DirectCut Or DirectCutPages.ManualAxesMove ' Non è necessario fare alcunché Case DirectCutPages.SingleCut LeftButtonGrid.Children.Remove(m_SingleCut) Case DirectCutPages.MultipleCut LeftButtonGrid.Children.Remove(m_MultipleCut) Case DirectCutPages.GridCut LeftButtonGrid.Children.Remove(m_GridCut) Case DirectCutPages.FlatteningCut LeftButtonGrid.Children.Remove(m_FlatteningCut) Case DirectCutPages.CopyTemplate LeftButtonGrid.Children.Remove(m_CopyTemplate) Case DirectCutPages.SawTest LeftButtonGrid.Children.Remove(m_SawTest) End Select If ControlsMachineBtn.IsChecked Then MachineButtonGrid.Children.Remove(m_ControlsMachineButton) ControlsMachineBtn.IsChecked = False End If If VacuumMachineBtn.IsChecked Then MachineButtonGrid.Children.Remove(m_VacuumMachineButton) VacuumMachineBtn.IsChecked = False End If End Sub Private Sub ManualModeBtn_Click(sender As Object, e As RoutedEventArgs) Handles ManualModeBtn.Click ' Imposto modalità manuale della macchina Dim nResult As Short = m_CN.DGeneralFunctions_WriteCncMode(7) ' Modalità manuale End Sub End Class