Files
EgtDOORCreator/OptionsWindow/OptionModule.vb
T
2018-07-19 16:47:15 +00:00

631 lines
28 KiB
VB.net

Imports System.Collections.ObjectModel
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
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)({ConstGen.MM, ConstGen.VAL_INCHES})
Friend m_SelectedMeasureUnit As String
Friend m_bIsMmUnit As Boolean
' Paramaetri per la scelta del bevel
Friend m_bBevelUp As Visibility
Friend m_bBevelDown As Visibility
Friend m_DisableProperties As Visibility
Friend m_PropertList As New ObservableCollection(Of PropertyItem)
Friend Enum LauncherWindow As Integer
Open_window = 0
Open_last_project = 1
Empty = 2
End Enum
Friend Enum ConfigType As Integer
Door = 0
Assembly = 1
End Enum
Friend m_SmartHelp As Boolean = False
Friend m_DisableHM As Boolean = False
Friend m_DisableDeleteCommandHM As Boolean = False
Friend m_Width As String
Friend m_Height As String
Friend m_Thickness As String
Friend m_Weight As String
Friend m_SwingTypeList As New List(Of String)
Friend m_Swing As String
Friend m_StaticEdgeTypeList As New ObservableCollection(Of String)
Friend m_LockEdgeType As New EdgeType("", Visibility.Visible)
Friend m_HingeEdgeType As New EdgeType("", Visibility.Visible)
Friend m_TopType As New EdgeType("", Visibility.Visible)
Friend m_BottomType As New EdgeType("", Visibility.Visible)
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_SwingTypeListSinlgeDoor As New List(Of String)
Friend m_SwingTypeListLeftDoor As New List(Of String)
Friend m_SwingTypeListRightDoor As New List(Of String)
Friend m_ConfigurationSoftware As ConfigType
Friend m_DisableWindowOrder As Boolean
Friend m_DisableTemplate As Boolean
Friend m_Disposition As New EdgeType(ConstGen.BEVEL_BYSWING, Visibility.Visible)
Friend m_sDisposition As String = ConstGen.BEVEL_BYSWING
Friend m_ThicknessJamb As String
Friend m_WidthJamb As String
Friend m_LightUp As String
Friend m_LightLock As String
Friend m_LightHinge As String
Friend m_LightBottom As String
Friend m_ThicknessHead As String
Friend m_OverlapLock As String
Friend m_OverlapHinge As String
Friend m_Exterior As Boolean
Friend m_OverlapTop As String
Friend m_DeltaThickness As String
Friend m_DoorsListNumber As New List(Of String)
Friend m_DoorsNumber As String
Friend m_TopJambChk As Boolean
Friend m_LeftJambChk As Boolean
Friend m_BottomJambChk As Boolean
Friend m_RightJambChk As Boolean
Friend m_LockEdgeTypeAssembly As New EdgeType("", Visibility.Visible)
Friend m_HingeEdgeTypeAssembly As New EdgeType("", Visibility.Visible)
Friend m_TopTypeAssembly As New EdgeType("", Visibility.Visible)
Friend m_BottomTypeAssembly As New EdgeType("", Visibility.Visible)
Friend m_LockEdgeMachiningAssembly As Boolean
Friend m_HingeEdgeMachiningAssembly As Boolean
Friend m_TopMachiningAssembly As Boolean
Friend m_BottomMachiningAssembly As Boolean
Friend m_LockEdgeOverMaterialAssembly As String
Friend m_HingeEdgeOverMaterialAssembly As String
Friend m_TopOverMaterialAssembly As String
Friend m_BottomOverMaterialAssembly As String
Friend m_TotalDimension As Boolean
Friend m_TotalHeight As String
Friend m_TotalWidth As String
Friend m_CompoPaneOrder As List(Of String) = New List(Of String)
' iniziliazzo il la lettura dei messaggi
Friend Sub ReadMessages()
' 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 GetMainPrivateProfileString(S_GENERAL, K_MESSAGESDIR, "", sMsgDir) = 0 Then
sMsgDir = IniFile.m_sConfigDir
End If
' Leggo file messaggi
Dim sMsgName As String = String.Empty
GetMainPrivateProfileString(S_GENERAL, K_MESSAGES, "", sMsgName)
Dim sMsgFilePath As String = sMsgDir & "\EgalTechEng.txt"
For Each Language In OptionModule.m_LanguageList
If Language.Name = sMsgName Then
GuideV.m_Language = sMsgName
OptionModule.m_SelectedLanguage = Language
sMsgFilePath = sMsgDir & "\" & Language.FilePath
End If
Next
If Not EgtLoadMessages(sMsgFilePath) Then
EgtOutLog(EgtMsg(50127))
End If
End Sub
' inizializzazione lettura variabili ad inizio programma
Friend Sub InitOptionModule()
' la lettura dei file dei messaggi è stata separata (vedere la calssse MainWindowModel)
'i valori della pagina dell'assemblato
If (IniFile.m_nKeyOptions And KEY_OPT.JAMBS) <> 0 Then
Dim Config As Integer = GetMainPrivateProfileInt(S_GENERAL, K_RUNAS, 0)
m_ConfigurationSoftware = If(Config = 0, ConfigType.Door, ConfigType.Assembly)
Else
' Package JAMBS is not available
m_ConfigurationSoftware = ConfigType.Door
End If
Dim DisableOrder As Integer = GetMainPrivateProfileInt(S_GENERAL, "DisableOrder", 0)
m_DisableWindowOrder = If(DisableOrder = 0, False, True)
Dim DisableTemplate As Integer = GetMainPrivateProfileInt(S_GENERAL, "DisableTemplate", 0)
m_DisableTemplate = If(DisableTemplate = 0, False, True)
' imposto unità di misura per interfaccia utente
m_bIsMmUnit = (GetMainPrivateProfileInt(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
' imposto tipo di avvio
Dim nOptionLauncher As Integer = GetMainPrivateProfileInt(S_LAUNCHERWINDOW, K_LAUNCHER, 0)
' leggo il direttorio di salvataggio dei progetti
Dim sMyProjectDir As String = String.Empty
If GetMainPrivateProfileString(S_DOORS, K_MYPROJECTDIR, "", sMyProjectDir) <> 0 Then
' se non esiste il direttorio
If Not Directory.Exists(sMyProjectDir) Then
' manntego l'accesso a quello di default
EgtOutLog("Warning : " & sMyProjectDir & " does not exist")
' controllo che il direttorio che era stato passato di default esista
If Not Directory.Exists(IniFile.m_MyProjectDir) Then
' creo il direttorio
Directory.CreateDirectory(IniFile.m_MyProjectDir)
End If
Else
IniFile.m_MyProjectDir = sMyProjectDir
End If
End If
Dim sTemplateDir As String = String.Empty
If GetMainPrivateProfileString(S_DOORS, K_TEMPLATEDIR, "", sTemplateDir) <> 0 Then
' se non esiste il direttorio
If Not Directory.Exists(sTemplateDir) Then
' manntego l'accesso a quello di default
EgtOutLog(String.Format(EgtMsg(50180), sTemplateDir))
' controllo che il direttorio che era stato passato di default esista
If Not Directory.Exists(IniFile.m_TemplateDir) Then
' creo il direttorio
Directory.CreateDirectory(IniFile.m_TemplateDir)
End If
Else
IniFile.m_TemplateDir = sTemplateDir
End If
End If
Dim sMachinDir As String = String.Empty
If GetMainPrivateProfileString(S_DOORS, K_MACHINDIR, "", sMachinDir) <> 0 Then
If Not Directory.Exists(sMachinDir) Then
' mantengo l'accesso a quello di default
EgtOutLog(String.Format(EgtMsg(50180), sMachinDir))
' controllo che il direttorio che era stato passato di default esista
Else
IniFile.m_MachinProject = sMachinDir
End If
End If
Dim nSmartHelp As Integer = 1
nSmartHelp = GetMainPrivateProfileInt(S_GENERAL, K_SMARTHELP, 1)
If nSmartHelp = 0 Then
m_SmartHelp = True
Else
m_SmartHelp = False
End If
Dim nDisableHM As Integer = 1
nDisableHM = GetMainPrivateProfileInt(S_GENERAL, K_DISABLEHM, 1)
If nDisableHM = 0 Then
m_DisableHM = True
Else
m_DisableHM = False
End If
Dim nDisableDeleteCommandHM As Integer = 1
nDisableDeleteCommandHM = GetMainPrivateProfileInt(S_GENERAL, K_DISABLEDELETECOMMANDHM, 1)
If nDisableDeleteCommandHM = 0 Then
m_DisableDeleteCommandHM = True
Else
m_DisableDeleteCommandHM = False
End If
Dim nDisableProperties As Integer = 1
nDisableProperties = GetMainPrivateProfileInt(S_GENERAL, "DisableProperties", 1)
If nDisableProperties = 0 Then
m_DDisableProperties = Visibility.Visible
Else
m_DisableProperties = Visibility.Collapsed
End If
' leggo il tipo di Bevel selezionato
Dim BevelUp As Visibility
DefaultGetPrivateProfilesBevel(S_EDGE, K_BEVELU_INI, BevelUp)
m_bBevelUp = BevelUp
Dim BevelDown As Visibility
DefaultGetPrivateProfilesBevel(S_EDGE, K_BEVELD_INI, BevelDown)
m_bBevelDown = BevelDown
'disposizione in macchina delle porte (variabile globale)
Select Case GetMainPrivateProfileInt(S_GENERAL, K_DISPOSITION, 0)
Case 0
m_Disposition.Name = ConstGen.BEVEL_BYSWING
Case 1
m_Disposition.Name = ConstGen.BEVEL_DOWN
Case 2
m_Disposition.Name = ConstGen.BEVEL_UP
End Select
' questa variabile deve essere usata solo in locale per settare la visibilità della optionpage dei bevel
m_sDisposition = m_Disposition.Name
' se esiste una selezione allora non mostrare a video
If m_Disposition.Name.Contains(ConstGen.BEVEL_UP) Then
m_bBevelUp = Visibility.Visible
m_bBevelDown = Visibility.Collapsed
ElseIf m_Disposition.Name.Contains(ConstGen.BEVEL_DOWN) Then
m_bBevelUp = Visibility.Collapsed
m_bBevelDown = Visibility.Visible
End If
' carico la lista delle proprietà
Dim PropertyList As New ObservableCollection(Of String)
DefaultGetPrivateProfileObservableCollection(ConstIni.S_PROPERTIES_INI, ConstIni.K_PROPRTIESLIST_INI, PropertyList)
LoadPropertiesList(PropertyList, m_PropertList)
' Leggo le dimensioni della porta dal file Default.ini
Dim Width As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE_INI, K_WIDTH_INI, "32", Width)
m_Width = Width
Dim dWidth As Double
If StringToDouble(m_Width, dWidth) Then EgtLuaSetGlobNumVar("W", dWidth)
Dim Height As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE_INI, K_HEIGHT_INI, "80", Height)
m_Height = Height
Dim dHeight As Double
If StringToDouble(m_Height, dHeight) Then EgtLuaSetGlobNumVar("H", dHeight)
Dim Thickness As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE_INI, K_THICKNESS_INI, "1.75", Thickness)
m_Thickness = Thickness
Dim dThickness As Double
If StringToDouble(m_Thickness, dThickness) Then EgtLuaSetGlobNumVar("T", dThickness)
' carico i valori associati allo swing della porta
Dim SwingTypeList As New List(Of String)
DefaultGetPrivateProfileList(S_SIZE_INI, K_SWING_LIST_INI, SwingTypeList)
m_SwingTypeList = SwingTypeList
Dim Swing As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE_INI, K_SWING_INI, ConstGen.RIGHTHAND, Swing)
m_Swing = Swing
LoadSwingList()
Dim Weight As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE_INI, K_WEIGHT_INI, "25", Weight)
m_Weight = Weight
Dim WeightVisibility As Visibility = Visibility.Collapsed
DefaultGetPrivateProfilesVisibility(S_SIZE_INI, K_WEIGHTISCHECKED_INI, WeightVisibility)
Part.IsCheckedWeight = WeightVisibility
' carico il valori associati al tipo di spigolo
Dim EdgeTypeList As New ObservableCollection(Of String)
DefaultGetPrivateProfileObservableCollection(S_EDGE, K_EDGETYPE_LIST_INI, EdgeTypeList)
m_StaticEdgeTypeList = EdgeTypeList
OptionsVM.CreateEdgeTypeList()
' carico i valori associati agli spigoli
Dim LockEdgeType As String = String.Empty
DefaultGetPrivateProfileString(S_EDGE, K_LOCKEDGE_INI, "", LockEdgeType)
For Index = 0 To OptionsVM.LockEdgeTypeList.Count - 1
If OptionsVM.LockEdgeTypeList(Index).Name = LockEdgeType Then
m_LockEdgeType = OptionsVM.LockEdgeTypeList(Index)
End If
Next
If String.IsNullOrWhiteSpace(m_LockEdgeType.Name) Then m_LockEdgeType = OptionsVM.LockEdgeTypeList(0)
Dim HingeEdgeType As String = String.Empty
DefaultGetPrivateProfileString(S_EDGE, K_HINGEDGE_INI, ConstGen.BEVEL_SQUARED, HingeEdgeType)
For Index = 0 To OptionsVM.HingeEdgeTypeList.Count - 1
If OptionsVM.HingeEdgeTypeList(Index).Name = HingeEdgeType Then
m_HingeEdgeType = OptionsVM.HingeEdgeTypeList(Index)
End If
Next
If String.IsNullOrWhiteSpace(m_HingeEdgeType.Name) Then m_HingeEdgeType = OptionsVM.HingeEdgeTypeList(0)
Dim TopType As String = String.Empty
DefaultGetPrivateProfileString(S_EDGE, K_TOPEDGE_INI, ConstGen.BEVEL_SQUARED, TopType)
For Index = 0 To OptionsVM.TopEdgeTypeList.Count - 1
If OptionsVM.TopEdgeTypeList(Index).Name = TopType Then
m_TopType = OptionsVM.TopEdgeTypeList(Index)
End If
Next
If String.IsNullOrWhiteSpace(m_TopType.Name) Then m_TopType = OptionsVM.TopEdgeTypeList(0)
Dim BottomType As String = String.Empty
DefaultGetPrivateProfileString(S_EDGE, K_BOTTOMEDGE_INI, ConstGen.BEVEL_SQUARED, BottomType)
For Index = 0 To OptionsVM.BottomEdgeTypeList.Count - 1
If OptionsVM.BottomEdgeTypeList(Index).Name = BottomType Then
m_BottomType = OptionsVM.BottomEdgeTypeList(Index)
End If
Next
If String.IsNullOrWhiteSpace(m_BottomType.Name) Then m_BottomType = OptionsVM.BottomEdgeTypeList(0)
' 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_COMPOOPANELORDER_INI, K_COMPOORDER_INI, m_CompoPaneOrder)
'-----------------------------------------------------------------------------------------------------------------
Dim ThicknessJamb As String = String.Empty
DefaultGetPrivateProfileString(S_SIZEJAMB, K_THICKNESS, "25", ThicknessJamb)
m_ThicknessJamb = ThicknessJamb
Dim WidthJamb As String = String.Empty
DefaultGetPrivateProfileString(S_SIZEJAMB, K_WIDTH, "25", WidthJamb)
m_WidthJamb = WidthJamb
Dim LightUp As String = String.Empty
DefaultGetPrivateProfileString(S_LIGHT, K_LIGHTUP, "25", LightUp)
m_LightUp = LightUp
Dim LightLock As String = String.Empty
DefaultGetPrivateProfileString(S_LIGHT, K_LIGHTLOCK, "25", LightLock)
m_LightLock = LightLock
Dim LightHinge As String = String.Empty
DefaultGetPrivateProfileString(S_LIGHT, K_LIGHTHINGE, "25", LightHinge)
m_LightHinge = LightHinge
Dim LightBottom As String = String.Empty
DefaultGetPrivateProfileString(S_LIGHT, K_LIGHTBOTTOM, "25", LightBottom)
m_LightBottom = LightBottom
DefaultGetPrivateProfileList(S_DOORSNUMBER, K_DOORSLISTNUMBER, m_DoorsListNumber)
Dim DoorsNumber As String = String.Empty
DefaultGetPrivateProfileString(S_DOORSNUMBER, K_DOORSELECTEDTNUMBER, "0", DoorsNumber)
m_DoorsNumber = DoorsNumber
Dim ThicknessHead As String = String.Empty
DefaultGetPrivateProfileString(S_OVERLAP, K_THICKNESSHEAD, "0", ThicknessHead)
m_ThicknessHead = ThicknessHead
Dim OverlapHinge As String = String.Empty
DefaultGetPrivateProfileString(S_OVERLAP, K_OVERLAPHINGE, "0", OverlapHinge)
m_OverlapHinge = OverlapHinge
Dim OverlapLock As String = String.Empty
DefaultGetPrivateProfileString(S_OVERLAP, K_OVERLAPLOCK, "0", OverlapLock)
m_OverlapLock = OverlapLock
Dim Exterior As Boolean = False
DefaultGetPrivateProfilesMachining(S_OVERLAP, K_EXTERIOR, Exterior)
m_Exterior = Exterior
Dim OverlapTop As String = String.Empty
DefaultGetPrivateProfileString(S_OVERLAP, K_OVERLAPTOP, "0", OverlapTop)
m_OverlapTop = OverlapTop
Dim DeltaT As String = String.Empty
DefaultGetPrivateProfileString(S_OVERLAP, K_DELTAT, "0", DeltaT)
m_DeltaThickness = DeltaT
Dim TotalDim As Boolean = False
DefaultGetPrivateProfilesMachining(S_TOTALDIMENSION, K_STATIC, TotalDim)
m_TotalDimension = TotalDim
Dim TotalH As String = String.Empty
DefaultGetPrivateProfileString(S_TOTALDIMENSION, K_TOTALHEIGHT, "82", TotalH)
m_TotalHeight = TotalH
Dim TotalW As String = String.Empty
DefaultGetPrivateProfileString(S_TOTALDIMENSION, K_TOTALWIDTH, "38", TotalW)
m_TotalWidth = TotalW
Dim TopChk As Boolean = False
DefaultGetPrivateProfilesMachining(S_PART, K_TOPJAMB, TopChk)
m_TopJambChk = TopChk
Dim LeftChk As Boolean = False
DefaultGetPrivateProfilesMachining(S_PART, K_LEFTJAMB, LeftChk)
m_LeftJambChk = LeftChk
Dim BottomChk As Boolean = False
DefaultGetPrivateProfilesMachining(S_PART, K_BOTTOMJAMB, BottomChk)
m_BottomJambChk = BottomChk
Dim RightChk As Boolean = False
DefaultGetPrivateProfilesMachining(S_PART, K_RIGHTJAMB, RightChk)
m_RightJambChk = RightChk
Dim LockEdgeTypeAss As String = String.Empty
DefaultGetPrivateProfileString(S_EDGEASSEMBLY, K_LOCKEDGE, ConstGen.BEVEL_SQUARED, LockEdgeTypeAss)
For Index = 0 To OptionsVM.FrameEdgeTypeList.Count - 1
If OptionsVM.FrameEdgeTypeList(Index).Name = LockEdgeTypeAss Then
m_LockEdgeTypeAssembly = OptionsVM.FrameEdgeTypeList(Index)
End If
Next
Dim HingeEdgeTypeAss As String = String.Empty
DefaultGetPrivateProfileString(S_EDGEASSEMBLY, K_HINGEDGE_INI, ConstGen.BEVEL_SQUARED, HingeEdgeTypeAss)
For Index = 0 To OptionsVM.FrameEdgeTypeList.Count - 1
If OptionsVM.FrameEdgeTypeList(Index).Name = HingeEdgeTypeAss Then
m_HingeEdgeTypeAssembly = OptionsVM.FrameEdgeTypeList(Index)
End If
Next
Dim TopTypeAss As String = String.Empty
DefaultGetPrivateProfileString(S_EDGEASSEMBLY, K_TOPEDGE_INI, ConstGen.BEVEL_SQUARED, TopTypeAss)
For Index = 0 To OptionsVM.FrameEdgeTypeList.Count - 1
If OptionsVM.FrameEdgeTypeList(Index).Name = TopTypeAss Then
m_TopTypeAssembly = OptionsVM.FrameEdgeTypeList(Index)
End If
Next
Dim BottomTypeAss As String = String.Empty
DefaultGetPrivateProfileString(S_EDGEASSEMBLY, K_BOTTOMEDGE_INI, ConstGen.BEVEL_SQUARED, BottomTypeAss)
For Index = 0 To OptionsVM.FrameEdgeTypeList.Count - 1
If OptionsVM.FrameEdgeTypeList(Index).Name = BottomTypeAss Then
m_BottomTypeAssembly = OptionsVM.FrameEdgeTypeList(Index)
End If
Next
' Carico i valori booleani associati alla lavorazione
Dim LockEdgeMachiningAss As Boolean = False
DefaultGetPrivateProfilesMachining(S_MACHININGASSEMBLY, K_LOCKEDGEISCHECKED_INI, LockEdgeMachiningAss)
m_LockEdgeMachiningAssembly = LockEdgeMachiningAss
Dim HingeEdgeMachiningAss As Boolean = False
DefaultGetPrivateProfilesMachining(S_MACHININGASSEMBLY, K_HINGEDGEEISCHECKED_INI, HingeEdgeMachiningAss)
m_HingeEdgeMachiningAssembly = HingeEdgeMachiningAss
Dim TopMachiningAss As Boolean = False
DefaultGetPrivateProfilesMachining(S_MACHININGASSEMBLY, K_TOPISCHECKED_INI, TopMachiningAss)
m_TopMachiningAssembly = TopMachiningAss
Dim BottomMachiningAss As Boolean = False
DefaultGetPrivateProfilesMachining(S_MACHININGASSEMBLY, K_BOTTOMISCHECKED_INI, BottomMachiningAss)
m_BottomMachiningAssembly = BottomMachiningAss
' carico i valori di overmaterial
Dim LockEdgeOverMaterialAss As String = String.Empty
DefaultGetPrivateProfileString(S_OVERMATERIALASSEMBLY, K_LOCKEDGEOVERMATERIAL_INI, "", LockEdgeOverMaterialAss)
m_LockEdgeOverMaterialAssembly = LockEdgeOverMaterialAss
Dim HingeEdgeOverMaterialAss As String = String.Empty
DefaultGetPrivateProfileString(S_OVERMATERIALASSEMBLY, K_HINGEDGEOVERMATERIAL_INI, "", HingeEdgeOverMaterialAss)
m_HingeEdgeOverMaterialAssembly = HingeEdgeOverMaterialAss
Dim TopOverMaterialAss As String = String.Empty
DefaultGetPrivateProfileString(S_OVERMATERIALASSEMBLY, K_TOPOVERMATERIAL_INI, "", TopOverMaterialAss)
m_TopOverMaterialAssembly = TopOverMaterialAss
Dim BottomOverMaterialAss As String = String.Empty
DefaultGetPrivateProfileString(S_OVERMATERIALASSEMBLY, K_BOTTOMOVERMATERIAL_INI, "", BottomOverMaterialAss)
m_BottomOverMaterialAssembly = BottomOverMaterialAss
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 LoadPropertiesList(List As ObservableCollection(Of String), ByRef ListToBeLoaded As ObservableCollection(Of PropertyItem))
If List.Count = 0 Then
m_DisableProperties = Visibility.Collapsed
Return
End If
For Each Item In List
If Item.Contains("-") Then
Dim ItemSlpit() As String = Item.Split("-"c)
If ItemSlpit(1).Contains("1") Then
Dim SubItemSplit() As String = ItemSlpit(0).Split("/"c)
If SubItemSplit.Count > 1 Then
ListToBeLoaded.Add(New PropertyItem(SubItemSplit(0), SubItemSplit(1), True))
Else
ListToBeLoaded.Add(New PropertyItem(SubItemSplit(0), SubItemSplit(0), True))
End If
Else
Dim SubItemSplit() As String = ItemSlpit(0).Split("/"c)
If SubItemSplit.Count > 1 Then
ListToBeLoaded.Add(New PropertyItem(SubItemSplit(0), SubItemSplit(1), False))
Else
ListToBeLoaded.Add(New PropertyItem(SubItemSplit(0), SubItemSplit(0), False))
End If
End If
Else
Dim SubItemSplit() As String = Item.Split("/"c)
If SubItemSplit.Count > 1 Then
ListToBeLoaded.Add(New PropertyItem(SubItemSplit(0), SubItemSplit(1), False))
Else
ListToBeLoaded.Add(New PropertyItem(SubItemSplit(0), SubItemSplit(0), False))
End If
End If
Next
End Sub
Friend Sub CreateNewPropertiesList(ByRef List As ObservableCollection(Of PropertyItem))
For Each Item In OptionModule.m_PropertList
List.Add(New PropertyItem(Item.Name, Item.GraphicName, Item.IsChecked))
Next
End Sub
Friend Sub SetEdgeTypeList(EdgeTypeList As ObservableCollection(Of String), bBevelUp As Boolean, bBevelDown As Boolean)
If Not bBevelUp Then
EdgeTypeList.Remove(ConstGen.BEVEL_UP)
End If
If Not bBevelDown Then
EdgeTypeList.Remove(ConstGen.BEVEL_DOWN)
End If
End Sub
Private Sub LoadSwingList()
For Index As Integer = 0 To 3
m_SwingTypeListSinlgeDoor.Add(m_SwingTypeList(Index))
Next
For Index As Integer = 4 To 7
m_SwingTypeListLeftDoor.Add(m_SwingTypeList(Index))
Next
For Index As Integer = 8 To 11
m_SwingTypeListRightDoor.Add(m_SwingTypeList(Index))
Next
End Sub
Public Function DispositionVisibility() As Visibility
' se non è selezionata nessuna disposizione allora deve essere selezionabile da interfaccia
If IsNothing(m_Disposition) Then
Return Visibility.Visible
ElseIf m_Disposition.Name <> ConstGen.BEVEL_UP And m_Disposition.Name <> ConstGen.BEVEL_DOWN Then
Return Visibility.Visible
Else
Return Visibility.Collapsed
End If
End Function
Public Function DispositionBoolean() As Boolean
' per rendere selezionabile la disposizione dalla pagina delle opzioni
If IsNothing(m_sDisposition) Then
Return True
ElseIf m_sDisposition <> ConstGen.BEVEL_UP And m_sDisposition <> ConstGen.BEVEL_DOWN Then
Return True
Else
Return False
End If
End Function
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