Files
OmagCUT/DirectCutPageUC.xaml.vb
T
Renzo Lanza 7be2395fc3 OmagCUT :
- Cambio tema disponibile nella OptionsPageUC (necessario riavvio programma per applicarlo)
2019-09-20 12:44:53 +00:00

269 lines
12 KiB
VB.net

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