Files
OmagCUT/Project/SaveNameWD.xaml.vb
T
Demetrio Cassarino 5145accc39 -aggiornato messggi
2025-07-14 08:41:49 +02:00

105 lines
4.4 KiB
VB.net

Imports System.IO
Imports EgtUILib
Imports EgtWPFLib
Class SaveNameWD
' Riferimento alla MainWindow
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private m_nType As Integer
Friend Enum SAVE_TYPE As UInteger
PRJ_NAMED = 0
PRJ_COPY = 1
TEMPLATE = 2
End Enum
Public Sub New(Owner As Window, Type As Integer)
Me.Owner = Owner
m_nType = Type
InitializeComponent()
End Sub
Private Sub SaveNameWD_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
Me.Top = Owner.Top + Owner.Height / 2 - Me.Height / 2
Me.Left = Owner.Left + Owner.Width / 2 - Me.Width / 2
If m_nType = SAVE_TYPE.PRJ_NAMED Then
SaveNameTxbl.Text = EgtMsg(90307) ' Nuovo nome del progetto
GetPrivateProfileString(S_GENERAL, K_LASTNAMEPROJ, "", SaveNameTxBx.Text, m_MainWindow.GetIniFile())
ElseIf m_nType = SAVE_TYPE.PRJ_COPY Then
SaveNameTxbl.Text = EgtMsg(90310) ' Esporta
ElseIf m_nType = SAVE_TYPE.TEMPLATE Then
SaveNameTxbl.Text = EgtMsg(90245) ' Nuovo nome della dima
End If
End Sub
Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
Dim sPath As String = String.Empty
If m_nType = SAVE_TYPE.PRJ_NAMED Then
' Creo path completa con nome inserito
sPath = m_MainWindow.GetNamedSaveDir() & "\" & SaveNameTxBx.Text & ".nge"
ElseIf m_nType = SAVE_TYPE.PRJ_COPY Then
sPath = m_MainWindow.GetCopyProjDir() & "\" & SaveNameTxBx.Text & ".nge"
ElseIf m_nType = SAVE_TYPE.TEMPLATE Then
sPath = m_MainWindow.GetCopyTemplateDir() & "\" & SaveNameTxBx.Text & ".dxf"
End If
' Verifico se il nome inserito è già utilizzato
If File.Exists(sPath) Then
Dim ConfirmWD As EgtMsgBox
If m_MainWindow.IsSiemensPc() Then
ConfirmWD = New EgtMsgBox(m_MainWindow, m_MainWindow.ActualWidth / 15 * 4.5, EgtMsgBox.WidthType.PIXEL, "", EgtMsg(91106), EgtMsgBox.Buttons.OK_CANCEL, EgtMsgBox.Icons.NULL) ' Esiste già un file con questo nome. Sovrascriverlo?
Else
ConfirmWD = New EgtMsgBox(m_MainWindow, "", EgtMsg(91106), EgtMsgBox.Buttons.OK_CANCEL, EgtMsgBox.Icons.NULL) ' Esiste già un file con questo nome. Sovrascriverlo?
End If
Select Case ConfirmWD.m_nPressedBtn
Case 0 'Cancel
' Esco
Return
End Select
End If
If m_nType = SAVE_TYPE.PRJ_NAMED Then
' Aggiorno file Ini
WritePrivateProfileString(S_GENERAL, K_LASTNAMEPROJ, SaveNameTxBx.Text, m_MainWindow.GetIniFile())
' Eseguo salvataggio
m_MainWindow.m_CurrentProjectPageUC.SaveNamedProject()
m_MainWindow.m_CurrentProjectPageUC.SaveProject()
' Se cornici, ripristino visualizzazione lavorazioni
If m_MainWindow.m_ActivePage = MainWindow.Pages.FrameCut Then
ShowAllCurrPhaseMachinings()
End If
ElseIf m_nType = SAVE_TYPE.PRJ_COPY Then
' Eseguo copia
m_MainWindow.m_CurrentProjectPageUC.ExportProject( sPath)
m_MainWindow.m_CurrentProjectPageUC.SaveProject()
' Se cornici, ripristino visualizzazione lavorazioni
If m_MainWindow.m_ActivePage = MainWindow.Pages.FrameCut Then
ShowAllCurrPhaseMachinings()
End If
ElseIf m_nType = SAVE_TYPE.TEMPLATE Then
' Recupero nome gruppo da esportare
Dim nId = EgtGetFirstNameInGroup(GDB_ID.ROOT, NAME_COPYTEMPLATE)
' Se UI in pollici, scalo opportunamente per avere DXF in pollici
Dim bScale As Boolean = Not EgtUiUnitsAreMM()
If bScale Then EgtScale(nId, Frame3d.GLOB, 1 / ONEINCH, 1 / ONEINCH, 1 / ONEINCH, GDB_RT.GLOB)
' Eseguo esportazione
EgtExportDxf(nId, sPath)
' Se necessario, ripristino scala
If bScale Then EgtScale(nId, Frame3d.GLOB, ONEINCH, ONEINCH, ONEINCH, GDB_RT.GLOB)
End If
EgtDraw()
Close()
End Sub
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
EgtDraw()
Close()
End Sub
Private Sub Me_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.Key = Key.System And e.SystemKey = Key.F4 Then
e.Handled = True
End If
End Sub
End Class