312 lines
12 KiB
VB.net
312 lines
12 KiB
VB.net
Imports EgtUILib
|
|
Public Class ControlsDirectCutUC
|
|
|
|
' 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_SingleDrill As SingleDrillUC
|
|
' nuova finestra per i comandi per il taglio manuale nuovo
|
|
Friend m_SingleCutAuto As SingleCutAuto
|
|
Friend m_MultipleCut As MultipleCut
|
|
Friend m_GridCut As GridCut
|
|
Friend m_FlatteningCut As FlatteningCut
|
|
Friend m_Polishing As Polishing
|
|
Friend m_CopyTemplate As CopyTemplateUC
|
|
Friend m_Squaring As SquaringUC
|
|
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
|
|
|
|
Public Shared m_dZSafe As Double = 52
|
|
|
|
' Variabile che indica se sono attivi i bottoni macchina nuovi o vecchi
|
|
Friend m_NewMachineButtonsType As Boolean
|
|
' Indica che la finestra del talio Singolo deve essere di tipo manuale
|
|
Friend m_bManulaCut As Boolean = False
|
|
|
|
' elenco dei nuovi bottoni
|
|
Private m_ButtonJogList As New List(Of MachineButton)
|
|
|
|
Enum DirectCutPages
|
|
DirectCut
|
|
ManualAxesMove
|
|
SingleCut
|
|
MultipleCut
|
|
GridCut
|
|
FlatteningCut
|
|
Polishing
|
|
CopyTemplate
|
|
SawTest
|
|
SingleCutAuto
|
|
SingleDrill
|
|
Squaring
|
|
End Enum
|
|
|
|
Private Sub ControlsDirectCutUC_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
|
' leggo la configurazione del programma per i nuovi tagli manuali
|
|
m_bManulaCut = GetPrivateProfileInt(S_GENERAL, K_MANUAL_CUT, 0, m_MainWindow.GetIniFile()) <> 0
|
|
|
|
'Creazione delle Page UserControl
|
|
m_MachineButtons = New MachineButtonsUC
|
|
m_ManualAxesMove = New ManualAxesMoveUC
|
|
m_SingleCut = New SingleCutUC
|
|
m_SingleDrill = New SingleDrillUC
|
|
m_MultipleCut = New MultipleCut
|
|
m_GridCut = New GridCut
|
|
m_FlatteningCut = New FlatteningCut
|
|
m_Polishing = New Polishing
|
|
m_CopyTemplate = New CopyTemplateUC
|
|
m_Squaring = New SquaringUC
|
|
m_SawTest = New SawTestUC
|
|
m_ControlsMachineButton = New ControlsMachineButtonUC
|
|
m_VacuumMachineButton = New VacuumMachineButtonUC
|
|
' Costruisco la finestra per il nuovo tipo di taglio manuale
|
|
m_SingleCutAuto = New SingleCutAuto
|
|
|
|
'Posizionemento nella griglia delle Page UserControl
|
|
m_MachineButtons.SetValue(Grid.RowProperty, 2)
|
|
m_MachineButtons.SetValue(Grid.ColumnSpanProperty, 7)
|
|
m_ManualAxesMove.SetValue(Grid.RowProperty, 1)
|
|
If m_bManulaCut Then
|
|
m_SingleCutAuto.SetValue(Grid.RowProperty, 1)
|
|
Else
|
|
m_SingleCut.SetValue(Grid.RowProperty, 1)
|
|
End If
|
|
m_SingleDrill.SetValue(Grid.RowProperty, 1)
|
|
m_MultipleCut.SetValue(Grid.RowProperty, 1)
|
|
m_GridCut.SetValue(Grid.RowProperty, 1)
|
|
m_FlatteningCut.SetValue(Grid.RowProperty, 1)
|
|
m_Polishing.SetValue(Grid.RowProperty, 1)
|
|
'm_CopyTemplate.SetValue(Grid.RowProperty, 1)
|
|
m_Squaring.SetValue(Grid.RowProperty, 1)
|
|
m_SawTest.SetValue(Grid.RowProperty, 1)
|
|
m_ControlsMachineButton.SetValue(Grid.RowProperty, 1)
|
|
m_VacuumMachineButton.SetValue(Grid.RowProperty, 1)
|
|
|
|
' ManualBtn.Content = EgtMsg(90201)
|
|
ManualTxt.Text = EgtMsg(90201)
|
|
'SingleCutBtn.Content = EgtMsg(90202)
|
|
SingleCutTxt.Text = EgtMsg(90202)
|
|
'SingleDrillBtn.Content = "Foro singolo"
|
|
SingleDrillTxt.Text = EgtMsg(90258)
|
|
'MultipleCutBtn.Content = EgtMsg(90203)
|
|
MultipleCutTxt.Text = EgtMsg(90203)
|
|
'GridCutBtn.Content = EgtMsg(90204)
|
|
GridCutTxt.Text = EgtMsg(90204)
|
|
'FlatteningCutBtn.Content = EgtMsg(90206)
|
|
FlatteningCutTxt.Text = EgtMsg(90206)
|
|
'PolishingBtn.Content = EgtMsg(90231)
|
|
PolishingTxt.Text = EgtMsg(90231)
|
|
'CopyTemplateBtn.Content = EgtMsg(90209)
|
|
'CopyTemplateTxt.Text = EgtMsg(90209)
|
|
SquaringTxt.Text = "Squaring"
|
|
'SawTestBtn.Content = EgtMsg(90207)
|
|
SawTestTxt.Text = EgtMsg(90207)
|
|
|
|
End Sub
|
|
|
|
Private Sub ControlsDirectCutUC_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.SingleCutAuto Then
|
|
LeftButtonGrid.Children.Add(m_SingleCutAuto)
|
|
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.Polishing Then
|
|
LeftButtonGrid.Children.Add(m_Polishing)
|
|
Return
|
|
ElseIf m_ActiveDirectCutPage = DirectCutPages.SawTest Then
|
|
LeftButtonGrid.Children.Add(m_SawTest)
|
|
Return
|
|
ElseIf m_ActiveDirectCutPage = DirectCutPages.SingleDrill Then
|
|
LeftButtonGrid.Children.Add(m_SingleDrill)
|
|
ElseIf m_ActiveDirectCutPage = DirectCutPages.Squaring Then
|
|
LeftButtonGrid.Children.Add(m_Squaring)
|
|
Return
|
|
End If
|
|
|
|
' Caso standard
|
|
m_ActiveDirectCutPage = DirectCutPages.DirectCut
|
|
|
|
' Attivo le lavorazioni solo se esiste il grezzo e se presente testa H1
|
|
Dim bRawOk As Boolean = (GetRawHeight() > EPS_SMALL)
|
|
Dim bH1Exists As Boolean = (EgtGetHeadId("H1") <> GDB_ID.NULL)
|
|
|
|
ManualBtn.IsEnabled = bH1Exists
|
|
' sviluppo rimasto in sospeso
|
|
If m_bManulaCut Then
|
|
' anche se non è presente un grezzo mantengo abilitato il bottone
|
|
SingleCutBtn.IsEnabled = True
|
|
Else
|
|
SingleCutBtn.IsEnabled = bRawOk
|
|
End If
|
|
MultipleCutBtn.IsEnabled = bRawOk
|
|
GridCutBtn.IsEnabled = bRawOk
|
|
SingleDrillBtn.IsEnabled = (bRawOk And bH1Exists)
|
|
FlatteningCutBtn.IsEnabled = (bRawOk And bH1Exists)
|
|
PolishingBtn.IsEnabled = (bRawOk And m_MainWindow.m_CurrentMachine.bPolishing)
|
|
SawTestBtn.IsEnabled = (bRawOk And bH1Exists)
|
|
'CopyTemplateBtn.IsEnabled = bH1Exists
|
|
|
|
' aggiorno la visualizzazione dei parametri
|
|
ReloadParam()
|
|
|
|
' Nascondo i pezzi in parcheggio
|
|
HideParkedParts()
|
|
EgtZoom(ZM.ALL)
|
|
|
|
End Sub
|
|
|
|
Public Sub ReloadParam()
|
|
Dim sCurrSawing As String = m_MainWindow.m_CurrentMachine.sCurrSawing
|
|
Dim sCurrSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
|
Dim bSaw As Boolean = False
|
|
|
|
' se esiste una lavorazione di lama corrente vuol dire che deve essere preferita
|
|
If Not String.IsNullOrEmpty(sCurrSaw) And Not String.IsNullOrEmpty(sCurrSawing) Then
|
|
bSaw = EgtSetCalcTool(sCurrSaw, "H1", 1)
|
|
End If
|
|
m_SingleCut.SetEnableParam(bSaw)
|
|
m_MultipleCut.SetEnableParam(bSaw)
|
|
m_GridCut.SetEnableParam(bSaw)
|
|
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
|
|
If m_bManulaCut Then
|
|
LeftButtonGrid.Children.Add(m_SingleCutAuto)
|
|
m_ActiveDirectCutPage = DirectCutPages.SingleCutAuto
|
|
Else
|
|
LeftButtonGrid.Children.Add(m_SingleCut)
|
|
m_ActiveDirectCutPage = DirectCutPages.SingleCut
|
|
End If
|
|
|
|
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 PolishingBtn_Click(sender As Object, e As RoutedEventArgs) Handles PolishingBtn.Click
|
|
LeftButtonGrid.Children.Add(m_Polishing)
|
|
m_ActiveDirectCutPage = DirectCutPages.Polishing
|
|
End Sub
|
|
|
|
'Private Sub CopyTemplateBtn_Click(sender As Object, e As RoutedEventArgs) Handles CopyTemplateBtn.Click
|
|
' CutTypeGrid.Children.Add(m_CopyTemplate)
|
|
' m_ActiveDirectCutPage = DirectCutPages.CopyTemplate
|
|
'End Sub
|
|
|
|
Private Sub SquaringBtn_Click(sender As Object, e As RoutedEventArgs) Handles SquaringBtn.Click
|
|
LeftButtonGrid.Children.Add(m_Squaring)
|
|
m_ActiveDirectCutPage = DirectCutPages.Squaring
|
|
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 SingleDrillBtn_Click(sender As Object, e As RoutedEventArgs) Handles SingleDrillBtn.Click
|
|
LeftButtonGrid.Children.Add(m_SingleDrill)
|
|
m_ActiveDirectCutPage = DirectCutPages.SingleDrill
|
|
End Sub
|
|
|
|
' ----------- come esempio per gestire lo usercontrol
|
|
'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
|
|
CutTypeGrid.Children.Remove(m_SingleCut)
|
|
Case DirectCutPages.SingleCutAuto
|
|
CutTypeGrid.Children.Remove(m_SingleCutAuto)
|
|
Case DirectCutPages.MultipleCut
|
|
CutTypeGrid.Children.Remove(m_MultipleCut)
|
|
Case DirectCutPages.GridCut
|
|
CutTypeGrid.Children.Remove(m_GridCut)
|
|
Case DirectCutPages.FlatteningCut
|
|
CutTypeGrid.Children.Remove(m_FlatteningCut)
|
|
Case DirectCutPages.Polishing
|
|
CutTypeGrid.Children.Remove(m_Polishing)
|
|
Case DirectCutPages.CopyTemplate
|
|
CutTypeGrid.Children.Remove(m_CopyTemplate)
|
|
Case DirectCutPages.SawTest
|
|
CutTypeGrid.Children.Remove(m_SawTest)
|
|
Case DirectCutPages.SingleDrill
|
|
CutTypeGrid.Children.Remove(m_SingleDrill)
|
|
Case DirectCutPages.Squaring
|
|
CutTypeGrid.Children.Remove(m_Squaring)
|
|
End Select
|
|
End Sub
|
|
|
|
End Class
|