93bc8aaf9c
-> correzione annullamento nuovo assemblato, -> gestione automatico del ricalcolo della ferramenta in caso di inversione delle ante (cambio Swing) -> evidenziazione dei parametri modificati (sui telai) e segnalazione in caso di ricalcolo (si: ricalcolo, no: ognora il ricalcolo, annulla: ripristina l'ultimo valore inserito) -> aggiunta dei bottoni per il ricalcolo su ogni componente della porta (solo se la componente ha un riferimento valido)
978 lines
44 KiB
VB.net
978 lines
44 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 Integer = 0
|
|
Friend m_bLauncherOpenOnce As Boolean = False
|
|
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_DisableAddGeometry As Visibility = Visibility.Collapsed
|
|
Friend m_DisableArch As Visibility = Visibility.Collapsed
|
|
|
|
Friend m_DeleteProject As Boolean = False
|
|
|
|
Friend m_DisableProperties As Visibility
|
|
Friend m_MaterialIsVisible As Visibility = Visibility.Visible
|
|
Friend m_PropertList As New ObservableCollection(Of PropertyItem)
|
|
Friend m_PropertListJamb As New ObservableCollection(Of PropertyItem)
|
|
|
|
' lista dei materiali
|
|
Friend m_MaterialList As New ObservableCollection(Of MaterialType)
|
|
Friend m_CurrMaterial As MaterialType
|
|
|
|
Friend m_VisibilityBtnDesign As Visibility = Visibility.Collapsed
|
|
|
|
Friend m_EnableBrowse As Boolean = False
|
|
|
|
Friend Enum LauncherOpt As Integer
|
|
Open_window = 0
|
|
Open_last_project = 1
|
|
Empty = 2
|
|
End Enum
|
|
Friend Const LoOpenOnce As Integer = 10
|
|
|
|
Friend Enum ConfigType As Integer
|
|
Door = 0
|
|
Assembly = 1
|
|
End Enum
|
|
|
|
Friend m_SmartHelp As HelpPage = HelpPage.WebBrowserVB
|
|
|
|
Friend Enum HelpPage
|
|
LocalHost
|
|
WebBrowserVB
|
|
WebBrowserPC
|
|
End Enum
|
|
|
|
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_SwingList As New List(Of SwingItemTypeList)
|
|
|
|
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_SingleDoor As Boolean
|
|
|
|
Friend m_Disposition As New EdgeType(ConstGen.BEVEL_BYSWING, Visibility.Visible)
|
|
Friend m_sDisposition As String = ConstGen.BEVEL_BYSWING
|
|
|
|
Friend m_IsMM As Boolean = False
|
|
|
|
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_OverlapBottom As String
|
|
Friend m_ThicknessBottom As String
|
|
Friend m_DepthBottom As String
|
|
Friend m_DeltaBottom 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 ColorErrorValue As String = "Red"
|
|
Friend ColorMissingParameter As String = "Yellow"
|
|
Friend ColorLoadByDefault As String = "Red"
|
|
Friend ColorErrorAndMissing As String = "Red"
|
|
Friend ColorModifyingParamRef As String = "Yellow"
|
|
|
|
Friend m_CompoPaneOrder As List(Of String) = New List(Of String)
|
|
|
|
Friend m_ExtLineLen As Double
|
|
Friend m_ArrowLen As Double
|
|
Friend m_TextDist As Double
|
|
Friend m_LenIsMM As Integer
|
|
Friend m_DecDigit As Integer
|
|
Friend m_Font As String
|
|
Friend m_TextHeight As Double
|
|
|
|
Friend m_DimensionHardware As Visibility
|
|
Friend m_DimensionDoor As Visibility
|
|
|
|
' 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 classe 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
|
|
|
|
m_DisableWindowOrder = (GetMainPrivateProfileInt(S_GENERAL, "DisableOrder", 0) <> 0)
|
|
|
|
m_DisableTemplate = (GetMainPrivateProfileInt(S_GENERAL, "DisableTemplate", 0) <> 0)
|
|
|
|
' imposto unità di misura per interfaccia utente
|
|
m_bIsMmUnit = (GetMainPrivateProfileInt(S_SCENE, K_MMUNITS, 1) <> 0)
|
|
EgtSetUiUnits(m_bIsMmUnit)
|
|
m_SelectedMeasureUnit = m_MeasureUnitList(If(m_bIsMmUnit, 0, 1))
|
|
|
|
' imposto tipo di avvio
|
|
Dim nLauncher As Integer = GetMainPrivateProfileInt(S_LAUNCHERWINDOW, K_LAUNCHER, 0)
|
|
m_SelectedOptionLauncher = (nLauncher Mod LoOpenOnce)
|
|
If nLauncher >= LoOpenOnce Then
|
|
m_bLauncherOpenOnce = True
|
|
WriteMainPrivateProfileString(S_LAUNCHERWINDOW, K_LAUNCHER, m_SelectedOptionLauncher.ToString())
|
|
End If
|
|
|
|
' leggo il direttorio di salvataggio dei progetti
|
|
Dim sMyProjectDir As String = String.Empty
|
|
If GetMainPrivateProfileString(S_DOORS, K_MYPROJECTDIR, "", sMyProjectDir) > 0 AndAlso Directory.Exists(sMyProjectDir) Then
|
|
IniFile.m_MyProjectDir = sMyProjectDir
|
|
Else
|
|
' mantengo l'accesso a quello di default
|
|
EgtOutLog("Warning : " & sMyProjectDir & " does not exist")
|
|
' se il direttorio di default non esiste, lo creo
|
|
If Not Directory.Exists(IniFile.m_MyProjectDir) Then Directory.CreateDirectory(IniFile.m_MyProjectDir)
|
|
End If
|
|
|
|
Dim sTemplateDir As String = String.Empty
|
|
If GetMainPrivateProfileString(S_DOORS, K_TEMPLATEDIR, "", sTemplateDir) > 0 Then
|
|
If Not Directory.Exists(sTemplateDir) Then Directory.CreateDirectory(sTemplateDir)
|
|
IniFile.m_TemplateDir = sTemplateDir
|
|
Else
|
|
' mantego l'accesso a quello di default
|
|
EgtOutLog(String.Format(EgtMsg(50180), sTemplateDir & " (Directory Template)"))
|
|
' se il direttorio di default non esiste, lo creo
|
|
If Not Directory.Exists(IniFile.m_TemplateDir) Then Directory.CreateDirectory(IniFile.m_TemplateDir)
|
|
End If
|
|
|
|
Dim sMachinDir As String = String.Empty
|
|
If GetMainPrivateProfileString(S_DOORS, K_MACHINDIR, "", sMachinDir) > 0 AndAlso Directory.Exists(sMachinDir) Then
|
|
IniFile.m_MachinProject = sMachinDir
|
|
Else
|
|
' mantengo l'accesso a quello di default
|
|
EgtOutLog(String.Format(EgtMsg(50180), sMachinDir & " (Directory Machine)"))
|
|
End If
|
|
|
|
Dim sListLabelDir As String = String.Empty
|
|
If GetMainPrivateProfileString(S_REPORT, K_REPORTDIR, "", sListLabelDir) > 0 AndAlso Directory.Exists(sListLabelDir) Then
|
|
IniFile.m_sListLabelDir = sListLabelDir
|
|
Else
|
|
' mantengo l'accesso a quello di default
|
|
EgtOutLog(String.Format(EgtMsg(50180), sListLabelDir & " (Directory Report)"))
|
|
End If
|
|
|
|
Dim sListLabelFile As String = String.Empty
|
|
If GetMainPrivateProfileString(S_REPORT, K_CURRENTREPORT, "", sListLabelFile) > 0 AndAlso File.Exists(sListLabelFile) Then
|
|
IniFile.m_sListLabelCurrent = sListLabelFile
|
|
Else
|
|
' mantengo l'accesso a quello di default
|
|
EgtOutLog(String.Format(EgtMsg(50180), sListLabelFile & " (File Report)"))
|
|
End If
|
|
|
|
Dim nHelpSelct As Integer = 0
|
|
Select Case GetMainPrivateProfileInt(S_GENERAL, K_SMARTHELP, 1)
|
|
Case 0
|
|
m_SmartHelp = HelpPage.WebBrowserVB
|
|
Case 1
|
|
m_SmartHelp = HelpPage.LocalHost
|
|
Case 2
|
|
m_SmartHelp = HelpPage.WebBrowserPC
|
|
Case Else
|
|
m_SmartHelp = HelpPage.WebBrowserVB
|
|
End Select
|
|
|
|
|
|
m_DisableHM = (GetMainPrivateProfileInt(S_GENERAL, K_DISABLEHM, 1) = 0)
|
|
|
|
m_DisableDeleteCommandHM = (GetMainPrivateProfileInt(S_GENERAL, K_DISABLEDELETECOMMANDHM, 1) = 0)
|
|
|
|
m_DisableProperties = If(GetMainPrivateProfileInt(S_GENERAL, K_DISABLEPROPERTIES, 1) = 0, Visibility.Visible, Visibility.Collapsed)
|
|
|
|
m_DisableAddGeometry = If(GetMainPrivateProfileInt(S_GENERAL, K_DISABLEADDGEOMETRY, 1) = 0, Visibility.Visible, Visibility.Collapsed)
|
|
|
|
m_DisableArch = If(GetMainPrivateProfileInt(S_GENERAL, K_DISABLEARCH, 1) = 0, Visibility.Visible, Visibility.Collapsed)
|
|
|
|
m_SingleDoor = If(GetMainPrivateProfileInt(S_GENERAL, K_SINGLEDOOR, 0) = 1, True, False)
|
|
|
|
m_DeleteProject = If(GetMainPrivateProfileInt(S_GENERAL, K_DELETEPROJECT, 0) = 1, True, False)
|
|
|
|
m_VisibilityBtnDesign = If(GetMainPrivateProfileInt(S_REPORT, K_REPORTDESIGNER, 0) = 1, Visibility.Visible, Visibility.Hidden)
|
|
|
|
m_EnableBrowse = If(GetMainPrivateProfileInt(S_REPORT, K_TEMPLATEBROWSER, 0) = 1, True, False)
|
|
|
|
m_DimensionDoor = If(GetMainPrivateProfileInt(S_REPORT, K_DOORDIMENSION, 0) = 1, Visibility.Visible, Visibility.Collapsed)
|
|
|
|
m_DimensionHardware = If(GetMainPrivateProfileInt(S_REPORT, K_HARDWAREDIMENSION, 0) = 1, Visibility.Visible, Visibility.Collapsed)
|
|
|
|
' leggo il tipo di Bevel selezionato
|
|
DefaultGetPrivateProfilesBevel(S_EDGE, K_BEVELU_INI, m_bBevelUp)
|
|
DefaultGetPrivateProfilesBevel(S_EDGE, K_BEVELD_INI, m_bBevelDown)
|
|
|
|
' 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 i nomi dei materiali (NomeDDF/NomeGrafica) e le liste di materiali associate
|
|
Dim MaterialList As New ObservableCollection(Of String)
|
|
DefaultGetPrivateProfileObservableCollection("Material", "MaterialList", MaterialList)
|
|
LoadMaterialList(MaterialList)
|
|
' se eiste un solo materiale allora non mostro a vodeo
|
|
If MaterialList.Count < 2 then
|
|
m_MaterialIsVisible = Visibility.Collapsed
|
|
End If
|
|
Dim PropertyList As New ObservableCollection(Of String)
|
|
' se non trovo l'elenco dei materiali allora eseguo le vecchie istruzioni
|
|
If Not DefaultGetPrivateProfileMaterialProperties(ConstIni.S_PROPERTIES_INI, "Property", m_MaterialList) Then
|
|
DefaultGetPrivateProfileObservableCollection(ConstIni.S_PROPERTIES_INI, ConstIni.K_PROPRTIESLIST_INI, PropertyList)
|
|
m_MaterialIsVisible = Visibility.Collapsed
|
|
' carico la vecchia lista di proprietà
|
|
LoadPropertiesList(PropertyList, m_PropertList)
|
|
' genero una lista fittizia di materiali
|
|
MaterialList.Add(GENERICMATERIAL)
|
|
LoadMaterialList(MaterialList)
|
|
m_MaterialList(0).PropertiesList = m_PropertList
|
|
If PropertyList.Count < 1 Then
|
|
OptionModule.m_DisableProperties = Visibility.Collapsed
|
|
End If
|
|
PropertyList.Clear()
|
|
DefaultGetPrivateProfileObservableCollection(ConstIni.S_PROPERTIES_INI, ConstIni.K_PROPRTIESLISTJAMB_INI, PropertyList)
|
|
If PropertyList.Count > 0 Then LoadPropertiesList(PropertyList, m_PropertListJamb)
|
|
End If
|
|
Part.m_MaterilaList = m_MaterialList
|
|
m_CurrMaterial = m_MaterialList(0)
|
|
' Leggo le dimensioni della porta dal file Default.ini
|
|
Dim IsMM As Boolean = False
|
|
DefaultGetMmUnits(ConstCompo.S_GENERALINI, ConstCompo.K_MMUNITSINI, IsMM)
|
|
m_IsMM = IsMM
|
|
|
|
Dim Width As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_SIZE_INI, K_WIDTH_INI, "32", Width)
|
|
Utility.ConvertCompoConfig(Width, 500)
|
|
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)
|
|
Utility.ConvertCompoConfig(Height, 500)
|
|
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)
|
|
Utility.ConvertCompoConfig(Thickness, 100)
|
|
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)
|
|
LoadSwingTypeList(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)
|
|
If DefaultGetPrivateProfileObservableCollection(S_EDGE, K_EDGETYPE_LIST_INI, EdgeTypeList) Then
|
|
m_StaticEdgeTypeList = EdgeTypeList
|
|
Else
|
|
DefaultGetPrivateProfileNewVersion(S_EDGE, K_EDGETYPE_INI, EdgeTypeList, Part.m_LockEdgeTypeList, Part.m_HingeEdgeTypeList, Part.m_TopEdgeTypeList, Part.m_BottomEdgeTypeList)
|
|
m_StaticEdgeTypeList = EdgeTypeList
|
|
End If
|
|
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)
|
|
Utility.ConvertCompoConfig(LockEdgeOverMaterial, 100)
|
|
m_LockEdgeOverMaterial = LockEdgeOverMaterial
|
|
Dim HingeEdgeOverMaterial As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_OVERMATERIAL, K_HINGEDGEOVERMATERIAL_INI, "", HingeEdgeOverMaterial)
|
|
Utility.ConvertCompoConfig(HingeEdgeOverMaterial, 100)
|
|
m_HingeEdgeOverMaterial = HingeEdgeOverMaterial
|
|
Dim TopOverMaterial As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_OVERMATERIAL, K_TOPOVERMATERIAL_INI, "", TopOverMaterial)
|
|
Utility.ConvertCompoConfig(TopOverMaterial, 100)
|
|
m_TopOverMaterial = TopOverMaterial
|
|
Dim BottomOverMaterial As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_OVERMATERIAL, K_BOTTOMOVERMATERIAL_INI, "", BottomOverMaterial)
|
|
Utility.ConvertCompoConfig(BottomOverMaterial, 100)
|
|
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)
|
|
|
|
'carico i colori da associare agli errori
|
|
Dim sColor As String = String.Empty
|
|
Dim ColorConvert As SolidColorBrush
|
|
DefaultGetPrivateProfileString("Error", "ErrorValue", "Red", sColor)
|
|
If Not String.IsNullOrEmpty(sColor) Then
|
|
Try
|
|
ColorConvert = DirectCast(New BrushConverter().ConvertFrom(sColor), SolidColorBrush)
|
|
ColorErrorValue = sColor
|
|
Catch ex As Exception
|
|
End Try
|
|
End If
|
|
DefaultGetPrivateProfileString("Error", "MissingParameter", "Yellow", sColor)
|
|
If Not String.IsNullOrEmpty(sColor) Then
|
|
Try
|
|
ColorConvert = DirectCast(New BrushConverter().ConvertFrom(sColor), SolidColorBrush)
|
|
ColorMissingParameter = sColor
|
|
Catch ex As Exception
|
|
End Try
|
|
End If
|
|
DefaultGetPrivateProfileString("Error", "MissingFile", "Red", sColor)
|
|
If Not String.IsNullOrEmpty(sColor) Then
|
|
Try
|
|
ColorConvert = DirectCast(New BrushConverter().ConvertFrom(sColor), SolidColorBrush)
|
|
ColorLoadByDefault = sColor
|
|
Catch ex As Exception
|
|
End Try
|
|
End If
|
|
DefaultGetPrivateProfileString("Error", "ErrorValueAndMissing", "Red", sColor)
|
|
If Not String.IsNullOrEmpty(sColor) Then
|
|
Try
|
|
ColorConvert = DirectCast(New BrushConverter().ConvertFrom(sColor), SolidColorBrush)
|
|
ColorErrorAndMissing = sColor
|
|
Catch ex As Exception
|
|
End Try
|
|
End If
|
|
DefaultGetPrivateProfileString("Error", "ModifyingParamRef", "Yellow", sColor)
|
|
If Not String.IsNullOrEmpty(sColor) Then
|
|
Try
|
|
ColorConvert = DirectCast(New BrushConverter().ConvertFrom(sColor), SolidColorBrush)
|
|
ColorModifyingParamRef = sColor
|
|
Catch ex As Exception
|
|
End Try
|
|
End If
|
|
'-----------------------------------------------------------------------------------------------------------------
|
|
' SIZE JAMB
|
|
Dim ThicknessHead As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_SIZEJAMB, K_THICKNESSHEAD, "0", ThicknessHead)
|
|
Utility.ConvertCompoConfig(ThicknessHead, 100)
|
|
m_ThicknessHead = ThicknessHead
|
|
Dim ThicknessJamb As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_SIZEJAMB, K_THICKNESS, "25", ThicknessJamb)
|
|
Utility.ConvertCompoConfig(ThicknessJamb, 100)
|
|
m_ThicknessJamb = ThicknessJamb
|
|
Dim WidthJamb As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_SIZEJAMB, K_WIDTH, "25", WidthJamb)
|
|
Utility.ConvertCompoConfig(WidthJamb, 100)
|
|
m_WidthJamb = WidthJamb
|
|
' LIGHT
|
|
Dim LightUp As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_LIGHT, K_LIGHTUP, "25", LightUp)
|
|
Utility.ConvertCompoConfig(LightUp, 100)
|
|
m_LightUp = LightUp
|
|
Dim LightLock As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_LIGHT, K_LIGHTLOCK, "25", LightLock)
|
|
Utility.ConvertCompoConfig(LightLock, 100)
|
|
m_LightLock = LightLock
|
|
Dim LightHinge As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_LIGHT, K_LIGHTHINGE, "25", LightHinge)
|
|
Utility.ConvertCompoConfig(LightHinge, 100)
|
|
m_LightHinge = LightHinge
|
|
Dim LightBottom As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_LIGHT, K_LIGHTBOTTOM, "25", LightBottom)
|
|
Utility.ConvertCompoConfig(LightBottom, 100)
|
|
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
|
|
' OVERLAP
|
|
Dim OverlapHinge As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_OVERLAP, K_OVERLAPHINGE, "0", OverlapHinge)
|
|
Utility.ConvertCompoConfig(OverlapHinge, 100)
|
|
m_OverlapHinge = OverlapHinge
|
|
Dim OverlapLock As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_OVERLAP, K_OVERLAPLOCK, "0", OverlapLock)
|
|
Utility.ConvertCompoConfig(OverlapLock, 100)
|
|
m_OverlapLock = OverlapLock
|
|
Dim OverlapTop As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_OVERLAP, K_OVERLAPTOP, "0", OverlapTop)
|
|
Utility.ConvertCompoConfig(OverlapTop, 100)
|
|
m_OverlapTop = OverlapTop
|
|
Dim DeltaT As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_OVERLAP, K_DELTAT, "0", DeltaT)
|
|
Utility.ConvertCompoConfig(DeltaT, 100)
|
|
m_DeltaThickness = DeltaT
|
|
' THRESHOLD
|
|
Dim Exterior As Boolean = False
|
|
DefaultGetPrivateProfilesMachining(S_THRESHOLD, K_EXTERIOR, Exterior)
|
|
m_Exterior = Exterior
|
|
Dim OverlapBottom As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_THRESHOLD, K_OVERLAPBOTTOM, "0", OverlapBottom)
|
|
Utility.ConvertCompoConfig(OverlapBottom, 100)
|
|
m_OverlapBottom = OverlapBottom
|
|
Dim ThicknessBottom As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_THRESHOLD, K_THICKNESSBOTTOM, "0", ThicknessBottom)
|
|
Utility.ConvertCompoConfig(ThicknessBottom, 100)
|
|
m_ThicknessBottom = ThicknessBottom
|
|
Dim DepthBottom As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_THRESHOLD, K_DEPTHBOTTOM, "0", DepthBottom)
|
|
Utility.ConvertCompoConfig(DepthBottom, 100)
|
|
m_DepthBottom = DepthBottom
|
|
Dim DeltaBottom As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_THRESHOLD, K_DELTABOTTOM, "0", DeltaBottom)
|
|
Utility.ConvertCompoConfig(DeltaBottom, 100)
|
|
m_DeltaBottom = DeltaBottom
|
|
'--------------------------------------------------------------------------------
|
|
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)
|
|
Utility.ConvertCompoConfig(TotalH, 100)
|
|
m_TotalHeight = TotalH
|
|
Dim TotalW As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_TOTALDIMENSION, K_TOTALWIDTH, "38", TotalW)
|
|
Utility.ConvertCompoConfig(TotalW, 100)
|
|
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, "0", LockEdgeOverMaterialAss)
|
|
Utility.ConvertCompoConfig(LockEdgeOverMaterialAss, 100)
|
|
m_LockEdgeOverMaterialAssembly = LockEdgeOverMaterialAss
|
|
Dim HingeEdgeOverMaterialAss As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_OVERMATERIALASSEMBLY, K_HINGEDGEOVERMATERIAL_INI, "0", HingeEdgeOverMaterialAss)
|
|
Utility.ConvertCompoConfig(HingeEdgeOverMaterialAss, 100)
|
|
m_HingeEdgeOverMaterialAssembly = HingeEdgeOverMaterialAss
|
|
Dim TopOverMaterialAss As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_OVERMATERIALASSEMBLY, K_TOPOVERMATERIAL_INI, "0", TopOverMaterialAss)
|
|
Utility.ConvertCompoConfig(TopOverMaterialAss, 100)
|
|
m_TopOverMaterialAssembly = TopOverMaterialAss
|
|
Dim BottomOverMaterialAss As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_OVERMATERIALASSEMBLY, K_BOTTOMOVERMATERIAL_INI, "0", BottomOverMaterialAss)
|
|
Utility.ConvertCompoConfig(BottomOverMaterialAss, 100)
|
|
m_BottomOverMaterialAssembly = BottomOverMaterialAss
|
|
|
|
' Lista messaggi per launcher
|
|
m_OptionLauncherList.Add(EgtMsg(50206)) 'Open Window
|
|
m_OptionLauncherList.Add(EgtMsg(50207)) 'Last Project
|
|
m_OptionLauncherList.Add(EgtMsg(50208)) 'Empty
|
|
|
|
End Sub
|
|
|
|
Friend sub LoadMaterialList (ByVal List As ObservableCollection(Of string))
|
|
If IsNothing(List) then Return
|
|
For Each Material In List
|
|
Dim Item As String() = Material.Split("/"c)
|
|
If Item.Count < 2 then
|
|
m_MaterialList.Add(New MaterialType(Item(0),Item(0)))
|
|
else
|
|
m_MaterialList.Add(New MaterialType(Item(0),Item(1)))
|
|
End If
|
|
Next
|
|
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
|
|
Dim bNoneExists As Boolean = false
|
|
For Each Item in ListToBeLoaded
|
|
If Item.Name = NONE_DDF then
|
|
bNoneExists = true
|
|
Exit for
|
|
End If
|
|
Next
|
|
If Not bNoneExists then
|
|
ListToBeLoaded.Add(New PropertyItem(NONE_DDF, EgtMsg(50703), False))
|
|
End If
|
|
End Sub
|
|
|
|
'Friend Sub CreateNewPropertiesList(ByRef List As ObservableCollection(Of PropertyItem), ByRef SelectedMaterial As MaterialType)
|
|
' If OptionModule.m_DisableProperties <> Visibility.Visible Then Return
|
|
' If OptionModule.m_MaterialList.Count > 1 Then
|
|
' SelectedMaterial = OptionModule.m_MaterialList(0)
|
|
' List = OptionModule.m_MaterialList(0).PropertiesList
|
|
' Return
|
|
' End If
|
|
' ' configurazione senza materiali
|
|
' If List.Count > 0 Then List.Clear()
|
|
' For Each Item In OptionModule.m_PropertList
|
|
' List.Add(New PropertyItem(Item.Name, Item.GraphicName, Item.IsChecked))
|
|
' Next
|
|
'End Sub
|
|
|
|
'Friend Sub CreateNewPropertiesListJamb(ByRef List As ObservableCollection(Of PropertyItem), ByRef SelectedMaterial As MaterialType)
|
|
' If OptionModule.m_DisableProperties <> Visibility.Visible Then Return
|
|
' If OptionModule.m_MaterialList.Count > 1 Then
|
|
' SelectedMaterial = OptionModule.m_MaterialList(0)
|
|
' List = OptionModule.m_MaterialList(0).PropertiesList
|
|
' Return
|
|
' End If
|
|
' ' configurazione senza materiali
|
|
' If List.Count > 0 Then List.Clear()
|
|
' For Each Item In OptionModule.m_PropertList
|
|
' List.Add(New PropertyItem(Item.Name, Item.GraphicName, Item.IsChecked))
|
|
' Next
|
|
'End Sub
|
|
|
|
Friend Sub CreateNewPropertiesList(ByRef LocalPart As Part)
|
|
If OptionModule.m_DisableProperties <> Visibility.Visible Then Return
|
|
If OptionModule.m_MaterialList.Count > 0 Then
|
|
LocalPart.SetMaterial(OptionModule.m_MaterialList(0))
|
|
LocalPart.SetPropertiesList(OptionModule.m_MaterialList(0).PropertiesList)
|
|
Return
|
|
End If
|
|
' configurazione senza materiali
|
|
If LocalPart.PropertiesList.Count > 0 Then LocalPart.PropertiesList.Clear()
|
|
For Each Item In OptionModule.m_PropertList
|
|
LocalPart.PropertiesList.Add(New PropertyItem(Item.Name, Item.GraphicName, Item.IsChecked))
|
|
Next
|
|
End Sub
|
|
|
|
Friend Sub CreateNewPropertiesListJamb(ByRef LocalPart As Part)
|
|
If OptionModule.m_DisableProperties <> Visibility.Visible Then Return
|
|
If OptionModule.m_MaterialList.Count > 0 Then
|
|
LocalPart.SetMaterial(OptionModule.m_MaterialList(0))
|
|
LocalPart.SetPropertiesList(OptionModule.m_MaterialList(0).PropertiesList)
|
|
Return
|
|
End If
|
|
' configurazione senza materiali
|
|
If LocalPart.PropertiesList.Count > 0 Then LocalPart.PropertiesList.Clear()
|
|
For Each Item In OptionModule.m_PropertList
|
|
LocalPart.PropertiesList.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 LoadSwingTypeList(ByRef List As List(Of String))
|
|
If List.Count = 0 Then Return
|
|
For Each ItemSwing In List
|
|
Dim Vis As Visibility = Visibility.Visible
|
|
If ItemSwing.Contains("-"c) Then
|
|
Dim ItemSwingVisibility() As String = ItemSwing.Split("-"c)
|
|
ItemSwing = ItemSwingVisibility(0)
|
|
If ItemSwingVisibility(1) = "0" Then Vis = Visibility.Collapsed
|
|
End If
|
|
If ItemSwing.Contains("/"c) Then
|
|
Dim ItemAlias() As String = ItemSwing.Split("/"c)
|
|
Dim Swing As New SwingItemTypeList(ItemAlias(0))
|
|
Swing.VisibilityName = Vis
|
|
For IndexItem As Integer = 1 To ItemAlias.Count - 1
|
|
Swing.AliasList.Add(ItemAlias(IndexItem))
|
|
Next
|
|
m_SwingList.Add(Swing)
|
|
Else
|
|
Dim Swing As New SwingItemTypeList(ItemSwing)
|
|
Swing.VisibilityName = Vis
|
|
m_SwingList.Add(Swing)
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
' carico le liste che devono essere rappresentate a video
|
|
Private Sub LoadSwingList()
|
|
For Index As Integer = 0 To 3
|
|
If Not m_SwingList(Index).VisibilityName = Visibility.Visible Then Continue For
|
|
' carico gli swing della porta singola da mostrare a video
|
|
If m_SwingList(Index).AliasList.Count = 0 Then
|
|
m_SwingTypeListSinlgeDoor.Add(m_SwingList(Index).Name)
|
|
m_SwingTypeList.Add(m_SwingList(Index).Name)
|
|
Else
|
|
For Each Item In m_SwingList(Index).AliasList
|
|
m_SwingTypeListSinlgeDoor.Add(Item)
|
|
m_SwingTypeList.Add(Item)
|
|
Next
|
|
End If
|
|
Next
|
|
For Index As Integer = 4 To 7
|
|
If Not m_SwingList(Index).VisibilityName = Visibility.Visible Then Continue For
|
|
' carico gli swing della prima anta
|
|
If m_SwingList(Index).AliasList.Count = 0 Then
|
|
m_SwingTypeListLeftDoor.Add(m_SwingList(Index).Name)
|
|
m_SwingTypeList.Add(m_SwingList(Index).Name)
|
|
Else
|
|
For Each Item In m_SwingList(Index).AliasList
|
|
m_SwingTypeListLeftDoor.Add(Item)
|
|
m_SwingTypeList.Add(Item)
|
|
Next
|
|
End If
|
|
Next
|
|
For Index As Integer = 8 To 11
|
|
If Not m_SwingList(Index).VisibilityName = Visibility.Visible Then Continue For
|
|
' carico gli swing della seconda anta
|
|
If m_SwingList(Index).AliasList.Count = 0 Then
|
|
m_SwingTypeListRightDoor.Add(m_SwingList(Index).Name)
|
|
m_SwingTypeList.Add(m_SwingList(Index).Name)
|
|
Else
|
|
For Each Item In m_SwingList(Index).AliasList
|
|
m_SwingTypeListRightDoor.Add(Item)
|
|
m_SwingTypeList.Add(Item)
|
|
Next
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Public Sub SetCurrSwing(ByRef SwingAlias As SwingItemTypeList, ByRef SwingDDF As String)
|
|
SwingAlias = Nothing
|
|
' controllo che lo swing letto da ddf appartenga alla lista degli swing visibili ( solo su porta Singola)
|
|
If OptionModule.m_ConfigurationSoftware = ConfigType.Door Then
|
|
For Each ItemSwing In OptionModule.m_SwingList
|
|
If Trim(SwingDDF) = Trim(ItemSwing.Name) And Not ItemSwing.VisibilityName = Visibility.Visible Then
|
|
If SwingDDF.Contains("HR") Then
|
|
SwingDDF = Trim(SwingDDF)
|
|
SwingDDF = SwingDDF.Substring(0, 1) & "HR"
|
|
Else
|
|
SwingDDF = Trim(SwingDDF)
|
|
SwingDDF = SwingDDF.Substring(0, 2)
|
|
End If
|
|
Exit For
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
For Each Item In OptionModule.m_SwingList
|
|
If Trim(SwingDDF) = Trim(Item.Name) Then
|
|
SwingAlias = Item
|
|
If Item.AliasList.Count > 0 Then
|
|
SwingAlias = Item
|
|
If Item.AliasList.Count > 0 Then
|
|
SwingAlias.AliasName = Item.AliasList(0)
|
|
Swing = Item.AliasList(0)
|
|
End If
|
|
Else
|
|
SwingAlias.AliasName = Item.Name
|
|
End If
|
|
Exit For
|
|
End If
|
|
Next
|
|
' se arrivo fni qui significa che sicuramente deve esistere un alias
|
|
If IsNothing(SwingAlias) Then
|
|
For Each ItemSwingList In OptionModule.m_SwingList
|
|
For Each ItemAlias In ItemSwingList.AliasList
|
|
If Trim(SwingDDF) = Trim(ItemAlias) Then
|
|
SwingAlias = ItemSwingList
|
|
SwingAlias.AliasName = ItemAlias
|
|
Exit For
|
|
End If
|
|
Next
|
|
Next
|
|
End If
|
|
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
|