Files
egtbeamwall/EgtBEAMWALL.ViewerOptimizer/MainWindow/MainWindowV.xaml.vb
T
Emmanuele Sassi feecab95ab - Gestita uscita da ToolDb con Alt+F4
- Gestito errore su solido attivo durante modifica parametri
- Gestione selezione multipla BTLParts
- Gestito bottone ctrl per impedire che deselezioni tutti gli elementi
- Aggiunti bottoni per rotazione di piu' pezzi contemporaneamente
- Correzioni ad UpdateBTL
2022-04-26 10:11:30 +02:00

75 lines
2.4 KiB
VB.net

Imports EgtWPFLib5
Imports EgtUILib
Imports EgtBEAMWALL.Core
Class MainWindowV
Private m_MainWindowVM As MainWindowVM
#Region "CONSTRUCTOR"
Sub New()
' Funzione che interpreta l'xaml
InitializeComponent()
' Assegno al riferimento locale al VM il VM preso dal DataContext
m_MainWindowVM = DirectCast(Me.DataContext, MainWindowVM)
AddHandler Me.Loaded, AddressOf MainWindowV_Loaded
AddHandler Me.ContentRendered, AddressOf MainWindowV_ContentRendered
AddHandler Me.Closing, AddressOf MainWindowV_Closing
AddHandler Me.KeyDown, AddressOf MainWindowV_KeyDown
End Sub
#End Region ' CONSTRUCTOR
#Region "EVENTS"
Private Sub MainWindowV_Loaded(sender As Object, e As RoutedEventArgs)
' Carico e imposto posizione finestra
WinPosFromIniToWindow(S_GENERAL, K_WINPLACE, Me)
End Sub
Private Sub MainWindowV_ContentRendered(sender As Object, e As EventArgs)
m_MainWindowVM.ContentRendered()
End Sub
Private Sub MainWindowV_Closing(sender As Object, e As System.ComponentModel.CancelEventArgs)
If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
e.Cancel = True
Return
End If
' Salvo posizione finestra (se non minimizzata)
If WindowState <> WindowState.Minimized Then
WinPosFromWindowToIni(Me, S_GENERAL, K_WINPLACE)
End If
End Sub
Private Sub MainWindowV_KeyDown(sender As Object, e As KeyEventArgs)
m_MainWindowVM.KeyDown(e.Key)
End Sub
Private Sub MainWindowV_Drop(sender As Object, e As DragEventArgs)
' Se drag di file
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
' Attivo il programma
Me.Activate()
' Recupero l'array di stringhe con i nomi del file
Dim sFiles() As String = DirectCast(e.Data.GetData(DataFormats.FileDrop), String())
' Se BTL importo il file
If EgtGetFileType(sFiles(0)) = FT.BTL Then
Map.refProjManagerVM.ImportBTL(sFiles(0), False)
End If
End If
End Sub
Private Sub MainWindowV_Activated(sender As Object, e As EventArgs) Handles Me.Activated
LoadingWndHelper.SetMainWindowIsActive(True)
End Sub
Private Sub MainWindowV_Deactivated(sender As Object, e As EventArgs) Handles Me.Deactivated
LoadingWndHelper.SetMainWindowIsActive(False)
End Sub
#End Region ' EVENTS
End Class