Files
EgtDOORCreator/OptionsWindow/OptionModule.vb
T
Nicola Pievani 30840bd2f6 EgtDOORCreator 1.8d4 :
- Stampa "secure : 0" nel file DDF;
- tutti i file DDF che non hanno "secure" sono automaticamnete aggiornati aggiungendo "secure" dopo "swing".
2017-04-27 15:19:31 +00:00

222 lines
9.0 KiB
VB.net

Imports System.Collections.ObjectModel
Imports EgtUILib
Friend Module OptionModule
' Parametri che contengono lista delle lingue disponibili e lingua selezionata
Friend m_LanguageList As New ObservableCollection(Of Language)
Friend m_SelectedLanguage As Language
Friend m_OptionLauncherList As New List(Of String)
Friend m_SelectedOptionLauncher As String
Friend m_sLastProject As String = String.Empty
' Parametri che contengono lista delle unità di misura disponibili e quella selezionata
Friend m_MeasureUnitList As New List(Of String)({"mm", "Inches"})
Friend m_SelectedMeasureUnit As String
Friend m_bIsMmUnit As Boolean
' Paramaetri per la scelta del bevel
Friend m_bBevelUp As Boolean
Friend m_bBevelDown As Boolean
Friend Enum LauncherWindow
Open_window = 0
Open_last_project = 1
Empty = 2
End Enum
Friend m_Width As String
Friend m_Height As String
Friend m_Thickness As String
Friend m_SwingTypeList As New List(Of String)
Friend m_Swing As String
'Friend m_EdgeTypeList As New ObservableCollection(Of String)
Friend m_LockEdgeType As String
Friend m_HingeEdgeType As String
Friend m_TopType As String
Friend m_BottomType As String
Friend m_LockEdgeMachining As Boolean
Friend m_HingeEdgeMachining As Boolean
Friend m_TopMachining As Boolean
Friend m_BottomMachining As Boolean
Friend m_LockEdgeOverMaterial As String
Friend m_HingeEdgeOverMaterial As String
Friend m_TopOverMaterial As String
Friend m_BottomOverMaterial As String
Friend m_CompoPaneOrder As List(Of String) = New List(Of String)
' inizializzazione lettura variabili ad inizio programma
Friend Sub InitOptionModule()
' Leggo elenco lingue disponibili da file ini
Dim nIndex As Integer = 1
Dim ReadLanguage As Language = GetPrivateProfileLanguage(S_LANGUAGES, K_LANGUAGE & nIndex)
While Not IsNothing(ReadLanguage)
m_LanguageList.Add(ReadLanguage)
nIndex += 1
ReadLanguage = GetPrivateProfileLanguage(S_LANGUAGES, K_LANGUAGE & nIndex)
End While
' Leggo direttorio dei messaggi (se manca uso direttorio di configurazione)
Dim sMsgDir As String = String.Empty
If GetPrivateProfileString(S_GENERAL, K_MESSAGESDIR, "", sMsgDir) = 0 Then
sMsgDir = IniFile.m_sConfigDir
End If
' Leggo file messaggi
Dim sMsgName As String = String.Empty
GetPrivateProfileString(S_GENERAL, K_MESSAGES, "", sMsgName)
Dim sMsgFilePath As String = sMsgDir & "\EgalTechEng.txt"
For Each Language In OptionModule.m_LanguageList
If Language.Name = sMsgName Then
OptionModule.m_SelectedLanguage = Language
sMsgFilePath = sMsgDir & "\" & Language.FilePath
End If
Next
If Not EgtLoadMessages(sMsgFilePath) Then
EgtOutLog(EgtMsg(50127))
End If
' imposto unità di misura per interfaccia utente
m_bIsMmUnit = (GetPrivateProfileInt(S_SCENE, K_MMUNITS, 1) <> 0)
EgtSetUiUnits(m_bIsMmUnit)
If m_bIsMmUnit Then
m_SelectedMeasureUnit = m_MeasureUnitList(0)
Else
m_SelectedMeasureUnit = m_MeasureUnitList(1)
End If
Dim nOptionLauncher As Integer
' leggo il valore
If Not IsNothing(CStr(GetPrivateProfileInt(S_LAUNCHERWINDOW, K_LAUNCHER, 1))) Then
nOptionLauncher = GetPrivateProfileInt(S_LAUNCHERWINDOW, K_LAUNCHER, 1)
End If
' leggo il direttorio di salvataggio dei progetti
Dim sMyProjectDir As String = String.Empty
If GetPrivateProfileString(S_DOORS, K_MYPROJECTDIR, "", sMyProjectDir) <> 0 Then
IniFile.m_MyProjectDir = sMyProjectDir
End If
' leggo il tipo di Bevel selezionato
Dim BevelUp As Boolean
DefaultGetPrivateProfilesBevel(S_EDGE, K_BEVELU_INI, BevelUp)
m_bBevelUp = BevelUp
Dim BevelDown As Boolean
DefaultGetPrivateProfilesBevel(S_EDGE, K_BEVELD_INI, BevelDown)
m_bBevelDown = BevelDown
' Leggo le dimensioni della porta dal file Default.ini
Dim Width As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE, K_WIDTH_INI, "", Width)
m_Width = Width
Dim Height As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE, K_HEIGHT_INI, "", Height)
m_Height = Height
Dim Thickness As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE, K_THICKNESS_INI, "", Thickness)
m_Thickness = Thickness
' carico i valori associati allo swing della porta
Dim SwingTypeList As New List(Of String)
DefaultGetPrivateProfileList(S_SIZE, K_SWING_LIST_INI, SwingTypeList)
m_SwingTypeList = SwingTypeList
Dim Swing As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE, K_SWING_INI, "", Swing)
m_Swing = Swing
' carico il valori associati al tipo di spigolo
Dim EdgeTypeList As New ObservableCollection(Of String)
DefaultGetPrivateProfileObservableCollection(S_EDGE, K_EDGETYPE_LIST_INI, EdgeTypeList)
Door.m_EdgeTypeList = EdgeTypeList
SetEdgeTypeList(Door.m_EdgeTypeList, m_bBevelUp, m_bBevelDown)
Dim LockEdgeType As String = String.Empty
DefaultGetPrivateProfileString(S_EDGE, K_LOCKEDGE, "", LockEdgeType)
m_LockEdgeType = LockEdgeType
Dim HingeEdgeType As String = String.Empty
DefaultGetPrivateProfileString(S_EDGE, K_HINGEDGE_INI, "", HingeEdgeType)
m_HingeEdgeType = HingeEdgeType
Dim TopType As String = String.Empty
DefaultGetPrivateProfileString(S_EDGE, K_TOPEDGE_INI, "", TopType)
m_TopType = TopType
Dim BottomType As String = String.Empty
DefaultGetPrivateProfileString(S_EDGE, K_BOTTOMEDGE_INI, "", BottomType)
m_BottomType = BottomType
' Carico i valori booleani associati alla lavorazione
Dim LockEdgeMachining As Boolean = False
DefaultGetPrivateProfilesMachining(S_MACHINING, K_LOCKEDGEISCHECKED_INI, LockEdgeMachining)
m_LockEdgeMachining = LockEdgeMachining
Dim HingeEdgeMachining As Boolean = False
DefaultGetPrivateProfilesMachining(S_MACHINING, K_HINGEDGEEISCHECKED_INI, HingeEdgeMachining)
m_HingeEdgeMachining = HingeEdgeMachining
Dim TopMachining As Boolean = False
DefaultGetPrivateProfilesMachining(S_MACHINING, K_TOPISCHECKED_INI, TopMachining)
m_TopMachining = TopMachining
Dim BottomMachining As Boolean = False
DefaultGetPrivateProfilesMachining(S_MACHINING, K_BOTTOMISCHECKED_INI, BottomMachining)
m_BottomMachining = BottomMachining
' carico i valori di overmaterial
Dim LockEdgeOverMaterial As String = String.Empty
DefaultGetPrivateProfileString(S_OVERMATERIAL, K_LOCKEDGEOVERMATERIAL_INI, "", LockEdgeOverMaterial)
m_LockEdgeOverMaterial = LockEdgeOverMaterial
Dim HingeEdgeOverMaterial As String = String.Empty
DefaultGetPrivateProfileString(S_OVERMATERIAL, K_HINGEDGEOVERMATERIAL_INI, "", HingeEdgeOverMaterial)
m_HingeEdgeOverMaterial = HingeEdgeOverMaterial
Dim TopOverMaterial As String = String.Empty
DefaultGetPrivateProfileString(S_OVERMATERIAL, K_TOPOVERMATERIAL_INI, "", TopOverMaterial)
m_TopOverMaterial = TopOverMaterial
Dim BottomOverMaterial As String = String.Empty
DefaultGetPrivateProfileString(S_OVERMATERIAL, K_BOTTOMOVERMATERIAL_INI, "", BottomOverMaterial)
m_BottomOverMaterial = BottomOverMaterial
' carico l'ordinamento delle componenti
DefaultGetPrivateProfileList(S_COMPOORDER, K_COMPOORDER_INI, DdfFile.CompoListOrder)
' carico l'ordinamento dei bottoni
DefaultGetPrivateProfileList(S_COMPOORDER, K_COMPOORDER_INI, m_CompoPaneOrder)
m_OptionLauncherList.Add(EgtMsg(50206))
m_OptionLauncherList.Add(EgtMsg(50207))
m_OptionLauncherList.Add(EgtMsg(50208))
' assegno il valore selezioato dalla lista
m_SelectedOptionLauncher = m_OptionLauncherList(nOptionLauncher)
End Sub
Friend Sub SetEdgeTypeList(EdgeTypeList As ObservableCollection(Of String), bBevelUp As Boolean, bBevelDown As Boolean)
If Not bBevelUp Then
EdgeTypeList.Remove("BU")
End If
If Not bBevelDown Then
EdgeTypeList.Remove("BD")
End If
End Sub
End Module
' Classe che identifica una lingua del programma con nome e path del file dei messaggi
Public Class Language
Private m_sName As String
Private m_sFilePath As String
Public Property Name As String
Get
Return m_sName
End Get
Set(value As String)
m_sName = value
End Set
End Property
Public Property FilePath As String
Get
Return m_sFilePath
End Get
Set(value As String)
m_sFilePath = value
End Set
End Property
Sub New(sName As String, sFilePath As String)
Me.Name = sName
Me.FilePath = sFilePath
End Sub
End Class