382719af6b
- migliorata gestione Debug - corretta gestione UserLevel - ora possibilità di Configurazione interattiva dipende da UserLevel > 4 - sistemato script ChangeConfig.lua - riabilitato lancio CAM5 con generazione lavorazioni (basta premere Shift).
1190 lines
52 KiB
VB.net
1190 lines
52 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports System.IO
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Friend Module OptionModule
|
|
' flag per modalità di visualizzazione file (solo lettura)
|
|
Friend ReadOnlyDDF As Boolean = False
|
|
|
|
' flag per forzare l'aggiornamento delle dimensioni anta dei file DDT
|
|
Friend AdjustDDT As Boolean = False
|
|
Friend FileNameFromArgs As String = String.Empty
|
|
Friend SaveFileNameFromArgs As String = String.Empty
|
|
' Forza la scrittura dello swing Left(L..) oppure Right(R..)
|
|
Friend ForcesSideSwing As String = String.Empty
|
|
|
|
' Parametri che contengono lista delle lingue disponibili e lingua selezionata
|
|
Friend m_LanguageList As New ObservableCollection(Of Language)
|
|
Friend m_SelectedLanguage As Language
|
|
|
|
' Elenco delle MTable disponibili nella configurazione corrente
|
|
Friend m_MTableList As New ObservableCollection(Of MTable)
|
|
Friend m_SelectedMTable As MTable
|
|
Friend m_CurrentMachine As String = String.Empty
|
|
|
|
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
|
|
|
|
' Parametri per la scelta della versione di stampa ddf
|
|
Friend m_sVersionDDF As String = "2"
|
|
Friend m_sSpaceTabCompo As String = ""
|
|
Friend m_sSpace1Tab As String = ConstCompo.DDF_SPACE3
|
|
Friend m_sSpace2Tab As String = ConstCompo.DDF_SPACE5
|
|
Friend m_sSpace3Tab As String = ConstCompo.DDF_SPACE5
|
|
Friend m_sSpaceHype As String = ConstCompo.DDF_HYPHEN
|
|
|
|
Friend m_DisableInvertBevel As Visibility = Visibility.Collapsed
|
|
|
|
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 m_nDispostionScreen As Integer = 0
|
|
|
|
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_AskMeAgainConfirm As Boolean = False
|
|
|
|
Friend m_DisableHM As Boolean = False
|
|
Friend m_DisableDeleteCommandHM As Boolean = False
|
|
Friend m_CompoPanelFrameVisibility As Visibility = Visibility.Visible
|
|
|
|
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 ColorDisableChapter As String = "Gray"
|
|
Friend ColorRefCompo As String = "Gray"
|
|
Friend ColorNewGeometry As String = "Black"
|
|
|
|
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
|
|
|
|
' verifico se il programma è in modalità di sola lettura DDF
|
|
If (IniFile.m_nKeyOptions And KEY_OPT.READ_ONLY) <> 0 Then
|
|
OptionModule.ReadOnlyDDF = True
|
|
ElseIf GetMainPrivateProfileInt(S_GENERAL, "ReadOnly", 0) <> 0 Then
|
|
OptionModule.ReadOnlyDDF = True
|
|
Else
|
|
OptionModule.ReadOnlyDDF = False
|
|
End If
|
|
|
|
' valore indentazione programma
|
|
Dim sVer As String = String.Empty
|
|
If GetMainPrivateProfileString(S_GENERAL, K_DDFVERSION, "1", sVer) > 0 Then
|
|
Dim sItem() As String = sVer.Split(";"c)
|
|
m_sVersionDDF = sItem(0).Trim
|
|
End If
|
|
If m_sVersionDDF = "2" Then
|
|
m_sSpaceTabCompo = ConstCompo.DDF_SPACE2
|
|
m_sSpace1Tab = ConstCompo.DDF_SPACE2
|
|
m_sSpace2Tab = ConstCompo.DDF_SPACE4
|
|
m_sSpace3Tab = ConstCompo.DDF_SPACE6
|
|
m_sSpaceHype = ConstCompo.DDF_HYPHEN_2
|
|
End If
|
|
|
|
' 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))
|
|
|
|
' leggo come deve essere visualizzato il programma
|
|
Dim nDispositionScreen As Integer = GetMainPrivateProfileInt(S_GENERAL, "DispositionScreen", 0)
|
|
If nDispositionScreen < 0 Or nDispositionScreen > 2 Then
|
|
m_nDispostionScreen = 0
|
|
Else
|
|
m_nDispostionScreen = nDispositionScreen
|
|
End If
|
|
|
|
' 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 sEgtCam5EXE As String = String.Empty
|
|
' AndAlso File.Exists(sListLabelFile)
|
|
If GetMainPrivateProfileString(S_GENERAL, K_EGTCAMEXE, "", sEgtCam5EXE) > 0 Then
|
|
IniFile.m_sEgtCam5EXEPath = sEgtCam5EXE
|
|
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_DisableWindowOrder = (GetMainPrivateProfileInt(S_GENERAL, "DisableOrder", 0) <> 0)
|
|
|
|
m_DisableTemplate = (GetMainPrivateProfileInt(S_GENERAL, "DisableTemplate", 0) <> 0)
|
|
|
|
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_DisableInvertBevel = If(GetMainPrivateProfileInt(S_GENERAL, K_INVERTBEVEL, 1) = 0, Visibility.Visible, Visibility.Collapsed)
|
|
|
|
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)
|
|
|
|
m_AskMeAgainConfirm = If(GetMainPrivateProfileInt(S_GENERAL, K_ASKMEAGAINCONFIRM, 1) = 1, True, False)
|
|
|
|
' 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
|
|
|
|
If GetCurrentMTableList() Then
|
|
' abilito la modifica della MTbale solo se Debug superioere a 5
|
|
End If
|
|
|
|
Dim Width As String = String.Empty
|
|
DefaultGetPrivateProfileString(S_SIZE_INI, K_WIDTH_INI, "32", Width)
|
|
Utility.ConvertCompoConfig(Width, 9999)
|
|
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, 9999)
|
|
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, 9999)
|
|
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", "Purple", 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", "Orange", 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
|
|
DefaultGetPrivateProfileString("Error", "DisableChapter", "Gray", sColor)
|
|
If Not String.IsNullOrEmpty(sColor) Then
|
|
Try
|
|
ColorConvert = DirectCast(New BrushConverter().ConvertFrom(sColor), SolidColorBrush)
|
|
ColorDisableChapter = sColor
|
|
Catch ex As Exception
|
|
End Try
|
|
End If
|
|
DefaultGetPrivateProfileString("Error", "RefCompo", "Gray", sColor)
|
|
If Not String.IsNullOrEmpty(sColor) Then
|
|
Try
|
|
ColorConvert = DirectCast(New BrushConverter().ConvertFrom(sColor), SolidColorBrush)
|
|
ColorRefCompo = sColor
|
|
Catch ex As Exception
|
|
End Try
|
|
End If
|
|
DefaultGetPrivateProfileString("Error", "NewGeometry", "Balck", sColor)
|
|
If Not String.IsNullOrEmpty(sColor) Then
|
|
Try
|
|
ColorConvert = DirectCast(New BrushConverter().ConvertFrom(sColor), SolidColorBrush)
|
|
ColorNewGeometry = 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
|
|
' assegno la proprietà di materiale
|
|
If Not IsNothing(LocalPart.SelectedMaterial) Then
|
|
LocalPart.SetMaterial(LocalPart.SelectedMaterial)
|
|
Else
|
|
LocalPart.SetMaterial(OptionModule.m_MaterialList(0))
|
|
End If
|
|
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
|
|
|
|
Public Function GetCurrentMTableList() As Boolean
|
|
If String.IsNullOrEmpty(IniFile.m_sDoorsDirPath) Then Return False
|
|
m_MTableList.Clear()
|
|
Dim sMTableDir As String = IniFile.m_sDoorsDirPath & "\MTables"
|
|
If Not Directory.Exists(sMTableDir) Then
|
|
EgtOutLog("Directory " & "'" & sMTableDir & "'" & " not found.")
|
|
Return False
|
|
End If
|
|
Dim Items As String() = Directory.GetFiles(sMTableDir)
|
|
' recupero i file che hanno estemsione *.mtl e non sono esclusi
|
|
Dim ExcludeList As List(Of String) = GetExludeList()
|
|
For Each MTableFile As String In Items
|
|
If MTableFile.EndsWith(".mtl") Then
|
|
Dim sName As String = Path.GetFileNameWithoutExtension(MTableFile).ToLower
|
|
Dim sPath As String = MTableFile
|
|
Dim bIsValid As Boolean = True
|
|
For Each ExcludedItem As String In ExcludeList
|
|
If sName.ToLower.Contains(ExcludedItem) Then
|
|
bIsValid = False
|
|
Exit For
|
|
End If
|
|
Next
|
|
If bIsValid Then
|
|
sName = Path.GetFileNameWithoutExtension(MTableFile)
|
|
Dim LocalMTable As New MTable(sName.Trim, sPath.Trim)
|
|
m_MTableList.Add(LocalMTable)
|
|
End If
|
|
End If
|
|
Next
|
|
If m_MTableList.Count < 1 Then
|
|
EgtOutLog("Not valid file in directory " & "'" & sMTableDir & "'" & ".")
|
|
Return False
|
|
End If
|
|
' leggo il nome della MTable attiva
|
|
Dim sSelectedMTable As String = String.Empty
|
|
Dim bSelected As Boolean = False
|
|
If GetMainPrivateProfileString(S_DOORS, K_MTABLE, "", sSelectedMTable) <> 0 Then
|
|
For Each ItemFile As MTable In m_MTableList
|
|
If ItemFile.FilePath.ToLower = sSelectedMTable.Trim.ToLower Then
|
|
m_SelectedMTable = ItemFile
|
|
bSelected = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
End If
|
|
If Not bSelected Then m_SelectedMTable = m_MTableList(0)
|
|
Return True
|
|
End Function
|
|
|
|
Private Function GetExludeList() As List(Of String)
|
|
Dim LocalList As New List(Of String)
|
|
Dim sVal As String = String.Empty
|
|
GetMainPrivateProfileString(S_DOORS, "Exclude", "", sVal)
|
|
If Not String.IsNullOrWhiteSpace( sVal) Then
|
|
Dim sItems As String() = sVal.Split(","c)
|
|
For Each Item As String In sItems
|
|
LocalList.Add(Item.Trim)
|
|
Next
|
|
End If
|
|
Return LocalList
|
|
End Function
|
|
|
|
Public Sub GetCurrentMachineInMTable()
|
|
' aggiorno il file Config.ini dell'EgtCAM5
|
|
EgtLuaExecFile(IniFile.m_sConfigDir & "\ChangeConfig.lua")
|
|
' assegno variabili
|
|
Dim sDir As String = IniFile.m_sDoorsDirPath.Replace("\", "/")
|
|
EgtLuaSetGlobStringVar("CCD.NewBaseDir", sDir)
|
|
EgtLuaSetGlobStringVar("CCD.NewMTable", m_SelectedMTable.Name)
|
|
' eseguo la funzione che esegue la scrittura delle variabili
|
|
EgtLuaCallFunction("CCD.GetCurrentMachineInMTable")
|
|
Dim sVal As String = ""
|
|
EgtLuaGetGlobStringVar("CCD.NewMachineName", sVal)
|
|
OptionModule.m_CurrentMachine = sVal
|
|
EgtLuaResetGlobVar("CCD")
|
|
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
|
|
|
|
Public Class MTable
|
|
|
|
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
|