Files
OmagCUT/WorkInProgressPageUC.xaml.vb
T
Emmanuele Sassi ea4356f9e6 OmagCUT :
- Rinnovamento iniziale interfaccia sul modello di SarmaxWall.
2015-09-13 18:02:08 +00:00

87 lines
4.3 KiB
VB.net

Imports EgtUILib
Public Class WorkInProgressPageUC
' Riferimento alla MainWindow
Private m_MainWindow As MainWindow = Application.Current.MainWindow
' Properties
Private m_bFirst As Boolean = True
' Dichiarazione Scene
Friend WithEvents WorkInProgressScene As New Scene
Private WorkInProgressSceneHost As New System.Windows.Forms.Integration.WindowsFormsHost
Private Sub WorkInProgressPage_Initialized(sender As Object, e As EventArgs)
'Assegnazione scena all'host e posizionamento nella PlacePageGrid
WorkInProgressSceneHost.Child = WorkInProgressScene
WorkInProgressSceneHost.SetValue(Grid.ColumnProperty, 0)
WorkInProgressSceneHost.SetValue(Grid.RowProperty, 1)
Me.WorkInProgressPageGrid.Children.Add(WorkInProgressSceneHost)
'Imposto i messaggi letti dal file dei messaggi
End Sub
Private Sub WorkInProgressPage_Loaded(sender As Object, e As RoutedEventArgs)
If m_bFirst Then
' imposto colore di default
Dim DefColor As New Color3d(0, 0, 0)
GetPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor, m_MainWindow.GetIniFile())
WorkInProgressScene.SetDefaultMaterial(DefColor)
' imposto colori sfondo
Dim BackTopColor As New Color3d(192, 192, 192)
GetPrivateProfileColor(S_SCENE, K_BACKTOP, BackTopColor, m_MainWindow.GetIniFile())
Dim BackBotColor As New Color3d(BackTopColor)
GetPrivateProfileColor(S_SCENE, K_BACKBOTTOM, BackBotColor, m_MainWindow.GetIniFile())
WorkInProgressScene.SetViewBackground(BackTopColor, BackBotColor)
' imposto colore di evidenziazione
Dim MarkColor As New Color3d(255, 255, 0)
GetPrivateProfileColor(S_SCENE, K_MARK, MarkColor, m_MainWindow.GetIniFile())
WorkInProgressScene.SetMarkMaterial(MarkColor)
' imposto colore per superfici selezionate
Dim SelSurfColor As New Color3d(255, 255, 192)
GetPrivateProfileColor(S_SCENE, K_SELSURF, SelSurfColor, m_MainWindow.GetIniFile())
WorkInProgressScene.SetSelSurfMaterial(SelSurfColor)
' imposto tipo e colore del rettangolo di zoom
Dim bOutline As Boolean = True
Dim ZwColor As New Color3d(0, 0, 0)
GetPrivateProfileZoomWin(S_SCENE, K_ZOOMWIN, bOutline, ZwColor, m_MainWindow.GetIniFile())
WorkInProgressScene.SetZoomWinAttribs(bOutline, ZwColor)
' imposto colore della linea di distanza
Dim DstLnColor As New Color3d(255, 0, 0)
GetPrivateProfileColor(S_SCENE, K_DISTLINE, DstLnColor, m_MainWindow.GetIniFile())
WorkInProgressScene.SetDistLineMaterial(DstLnColor)
' imposto parametri OpenGL
Dim nDriver As Integer = GetPrivateProfileInt(S_OPENGL, K_DRIVER, 3, m_MainWindow.GetIniFile())
Dim b2Buff As Boolean = (GetPrivateProfileInt(S_OPENGL, K_DOUBLEBUFFER, 1, m_MainWindow.GetIniFile()) <> 0)
Dim nColorBits As Integer = GetPrivateProfileInt(S_OPENGL, K_COLORBITS, 32, m_MainWindow.GetIniFile())
Dim nDepthBits As Integer = GetPrivateProfileInt(S_OPENGL, K_DEPTHBITS, 32, m_MainWindow.GetIniFile())
WorkInProgressScene.SetViewAttributes(nDriver, b2Buff, nColorBits, nDepthBits)
' inizializzo la scena (DB geometrico + visualizzazione) e verifico presenza chiave
If Not WorkInProgressScene.Init() Then
Dim m_MissingKeyWindow As New MissingKeyWD
m_MissingKeyWindow.Top = m_MainWindow.Top + (m_MainWindow.Height / 2 - m_MissingKeyWindow.Height / 2)
m_MissingKeyWindow.Left = m_MainWindow.Left + (m_MainWindow.Width / 2 - m_MissingKeyWindow.Width / 2)
m_MainWindow.Close()
m_MissingKeyWindow.Show()
End If
' carico la macchina
'If Not LoadMachine() Then
' EgtOutLog("Error loading machine")
'End If
' carico la griglia
'LoadGridData()
m_bFirst = False
Else
EgtSetCurrentContext(WorkInProgressScene.GetCtx())
End If
' inibisco selezione diretta da Scene
WorkInProgressScene.SetStatusNull()
End Sub
End Class