From 7370ea06c2d2a0dbdfee347febd5b8b26770ed8f Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Sat, 18 May 2019 16:17:15 +0000 Subject: [PATCH] EgtWPFLib5 2.1e3 : - visualizzazione utensili in DB spostata nelle librerie base - aggiunta funzione StringToInt. --- My Project/AssemblyInfo.vb | 4 +- ToolDbWindow/ToolDbWindowVM.vb | 26 --- ToolDbWindow/ToolTreeView.vb | 316 +++++++++------------------------ Utility/StringConversion.vb | 7 + 4 files changed, 95 insertions(+), 258 deletions(-) diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index 5031cc8..9270ee9 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -62,5 +62,5 @@ Imports System.Windows ' by using the '*' as shown below: ' - - \ No newline at end of file + + \ No newline at end of file diff --git a/ToolDbWindow/ToolDbWindowVM.vb b/ToolDbWindow/ToolDbWindowVM.vb index 841450b..8da1999 100644 --- a/ToolDbWindow/ToolDbWindowVM.vb +++ b/ToolDbWindow/ToolDbWindowVM.vb @@ -484,9 +484,6 @@ Public Class ToolDbWindowVM CurrTool.WriteToolParam() CurrTool.m_Name = CurrTool.m_Name.Trim() CurrTool.WriteToolName() - If IsUUID(Path.GetFileNameWithoutExtension(CurrTool.m_Draw)) Then - CurrTool.SaveToolDraw() - End If EgtTdbSaveCurrTool() CurrTool.NewTool = False CurrTool.IsModifiedReset() @@ -548,8 +545,6 @@ Public Class ToolDbWindowVM Private Sub RemoveTool(ToolToRemove As ToolTreeViewItem) EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext) - ' Cancello disegno dell'utensile - EraseToolDraw() ' Salvo il tipo di utensile per poterlo cancellare Dim ToolType As Integer = ToolToRemove.Type ' Cancello l'utensile @@ -565,27 +560,6 @@ Public Class ToolDbWindowVM ErrorOnTool(False) End Sub - Private Function EraseToolDraw() As Boolean - ' nome e direttorio del file da cancellare - EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext) - Dim sDrawName As String = String.Empty - EgtTdbGetCurrToolParam(MCH_TP.DRAW, sDrawName) - Dim sPath As String = String.Empty - EgtTdbGetToolDir(sPath) - sPath = sPath & "\" & sDrawName - ' se automatico ed esiste lo cancello - Try - If IsUUID(Path.GetFileNameWithoutExtension(sPath)) And - File.Exists(sPath) Then - File.Delete(sPath) - End If - Return True - Catch ex As Exception - Return False - End Try - End Function - - #End Region ' RemoveCommand #Region "ReloadToolCommand" diff --git a/ToolDbWindow/ToolTreeView.vb b/ToolDbWindow/ToolTreeView.vb index a1836be..372c546 100644 --- a/ToolDbWindow/ToolTreeView.vb +++ b/ToolDbWindow/ToolTreeView.vb @@ -112,9 +112,6 @@ Public Class ToolTreeViewItem m_NewTool = False m_Name = m_Name.Trim() WriteToolName() - If IsUUID(Path.GetFileNameWithoutExtension(m_Draw)) Then - SaveToolDraw() - End If EgtTdbSaveCurrTool() Case MsgBoxResult.No If m_NewTool Then @@ -1254,44 +1251,25 @@ Public Class ToolTreeViewItem #Region "ToolSceneUpdate" ' Variabili che segnalano errori nel disegno dell'utensile - Dim m_bToolMakerError As Boolean = False - Dim m_bDrawNameExistError As Boolean = False - Dim m_bDrawNameError As Boolean = False Dim m_nDrawingError As Integer = 0 Private Sub UpdateSceneToolDraw() ' Azzero errori - m_bToolMakerError = False - m_bDrawNameError = False - m_bDrawNameExistError = False m_nDrawingError = 0 - - ' Verifico proprietà draw - If String.IsNullOrEmpty(m_Draw) OrElse IsUUID(Path.GetFileNameWithoutExtension(m_Draw)) Then - CreateToolDraw() - Else - EgtSetCurrentContext(ToolDbWindowVM.m_ToolDbSceneContext) - If Path.GetExtension(m_Draw).ToLower = ".nge" Then - If EgtOpenFile(ToolDbWindowVM.m_sToolDirPath & "\" & m_Draw) Then - EgtSetView(VT.TOP, False) - EgtZoom(ZM.ALL) - Else - ' Errore - m_bDrawNameExistError = True - EgtNewFile() - EgtSetView(VT.TOP, False) - EgtZoom(ZM.ALL) - End If - Else - ' Errore - m_bDrawNameError = True + ' Se nome disegno vuoto, assegno quello dell'automatico + If String.IsNullOrEmpty(m_Draw) Then m_Draw = m_Uuid & ".nge" + ' Creo il disegno dell'utensile + CreateToolDraw() + EgtSetCurrentContext(ToolDbWindowVM.m_ToolDbSceneContext) + If m_nDrawingError <> 0 Then + If IsUUID(Path.GetFileNameWithoutExtension(m_Draw)) Then EgtNewFile() - EgtSetView(VT.TOP, False) - EgtZoom(ZM.ALL) End If End If + EgtSetView(VT.TOP, False) + EgtZoom(ZM.ALL) NotifyPropertyChanged("Draw") - + ' Aggiorno interfaccia If Not GetValidationError("Draw") Then m_delErrorOnTool(True) m_delIsEnabledBtns(False, False, True) @@ -1299,184 +1277,70 @@ Public Class ToolTreeViewItem m_delErrorOnTool(Not IsValid) m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True) End If - End Sub - Private Sub CreateToolDraw() - ' Carico il relativo ToolHolder - Dim ToolHolder As String = String.Empty - ToolHolder = LoadToolHolder() - If Not LoadToolMaker() OrElse Not CreateToolDraw(ToolHolder) Then - EgtSetCurrentContext(ToolDbWindowVM.m_ToolDbSceneContext) - EgtNewFile() - End If - EgtSetCurrentContext(ToolDbWindowVM.m_ToolDbSceneContext) - ' Aggiorno visualizzazione - EgtSetView(VT.TOP, False) - EgtZoom(ZM.ALL) - End Sub + Private Function CreateToolDraw() As Boolean + ' Calcolo parametri per disegno + Dim sHeadName As String = If( Not IsNothing( SelectedHead), SelectedHead.HName, "") + Dim nExit As Integer = 0 : If Not IsNothing( SelectedExit) Then StringToInt( SelectedExit.Name, nExit) + Dim nType As Integer = Type + Dim dTotLen As Double = 0 : StringToLen(TotLen, dTotLen) + Dim dLen As Double = 0 : StringToLen(Len, dLen) + Dim dTotDiam As Double = 0 : StringToLen(TotDiam, dTotDiam) + Dim dDiam As Double = 0 : StringToLen(Diam, dDiam) + Dim dThick As Double = 0 : StringToLen(Thick, dThick) + Dim dMaxMat As Double = 0 : StringToLen(MaxMat, dMaxMat) + Dim dSideAng As Double = 0 : StringToDouble(SideAng, dSideAng) + Dim dCornRad As Double = 0 : StringToLen(CornRad, dCornRad) + Dim sDraw As String = Draw + + EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext) + ' Salvo parametri originali dell'utensile corrente + Dim sHeadNameOri As string = "" : EgtTdbGetCurrToolParam(MCH_TP.HEAD, sHeadNameOri) + Dim nExitOri As Integer = 0 : EgtTdbGetCurrToolParam(MCH_TP.EXIT_, nExitOri) + Dim nTypeOri As Integer = 0 : EgtTdbGetCurrToolParam(MCH_TP.TYPE, nTypeOri) + Dim dTotLenOri As Double = 0 : EgtTdbGetCurrToolParam(MCH_TP.TOTLEN, dTotLenOri) + Dim dLenOri As Double = 0 : EgtTdbGetCurrToolParam(MCH_TP.LEN, dLenOri) + Dim dTotDiamOri As Double = 0 : EgtTdbGetCurrToolParam(MCH_TP.TOTDIAM, dTotDiamOri) + Dim dDiamOri As Double = 0 : EgtTdbGetCurrToolParam(MCH_TP.DIAM, dDiamOri) + Dim dThickOri As Double = 0 : EgtTdbGetCurrToolParam(MCH_TP.THICK, dThickOri) + Dim dMaxMatOri As Double = 0 : EgtTdbGetCurrToolParam(MCH_TP.MAXMAT, dMaxMatOri) + Dim dSideAngOri As Double = 0 : EgtTdbGetCurrToolParam(MCH_TP.SIDEANG, dSideAngOri) + Dim dCornRadOri As Double = 0 : EgtTdbGetCurrToolParam(MCH_TP.CORNRAD, dCornRadOri) + Dim sDrawOri As String = "" : EgtTdbGetCurrToolParam(MCH_TP.DRAW, sDrawOri) + ' Imposto parametri correnti all'utensile corrente + EgtTdbSetCurrToolParam(MCH_TP.HEAD, sHeadName) + EgtTdbSetCurrToolParam(MCH_TP.EXIT_, nExit) + EgtTdbSetCurrToolParam(MCH_TP.TYPE, nType) + EgtTdbSetCurrToolParam(MCH_TP.TOTLEN, dTotLen) + EgtTdbSetCurrToolParam(MCH_TP.LEN, dLen) + EgtTdbSetCurrToolParam(MCH_TP.TOTDIAM, dTotDiam) + EgtTdbSetCurrToolParam(MCH_TP.DIAM, dDiam) + EgtTdbSetCurrToolParam(MCH_TP.THICK, dThick) + EgtTdbSetCurrToolParam(MCH_TP.MAXMAT, dMaxMat) + EgtTdbSetCurrToolParam(MCH_TP.SIDEANG, dSideAng) + EgtTdbSetCurrToolParam(MCH_TP.CORNRAD, dCornRad) + EgtTdbSetCurrToolParam(MCH_TP.DRAW, sDraw) - ''' - ''' Mathod that load the toolholder for the current tool (based on his head), or return an empty string - ''' - Private Function LoadToolHolder() As String - Dim sHolder As String = String.Empty - If Not IsNothing(m_SelectedHead) Then - Dim TempExit As String = String.Empty - If m_SelectedExit.Id > 0 Then - TempExit = m_SelectedExit.Name - Else - TempExit = "1" - End If - If Type = MCH_TY.SAW_STD Then - EgtUILib.GetPrivateProfileString(S_TOOLHOLDER, SelectedHead.HName & "." & TempExit & ":SAW_STD", "", sHolder, ToolDbWindowVM.m_sMachineIniPath) - ElseIf Type = MCH_TY.SAW_FLAT Then - EgtUILib.GetPrivateProfileString(S_TOOLHOLDER, SelectedHead.HName & "." & TempExit & ":SAW_FLAT", "", sHolder, ToolDbWindowVM.m_sMachineIniPath) - End If - If String.IsNullOrEmpty(sHolder) Then - EgtUILib.GetPrivateProfileString(S_TOOLHOLDER, SelectedHead.HName & "." & TempExit, "", sHolder, ToolDbWindowVM.m_sMachineIniPath) - End If - End If - If String.IsNullOrWhiteSpace(sHolder) Then - Return String.Empty - Else - Dim sHolderPath As String = String.Empty - EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext) - EgtTdbGetToolHolderDir(sHolderPath) - sHolderPath += "\" & sHolder - Return sHolderPath - End If - End Function + ' Creo il disegno + m_nDrawingError = EgtTdbCurrToolDraw( ToolDbWindowVM.m_ProjectSceneContext, ToolDbWindowVM.m_ToolDbSceneContext) - Private Function LoadToolMaker() As Boolean - Dim sMaker As String = String.Empty - EgtUILib.GetPrivateProfileString(S_TOOLS, ConvertTypeToString(Type), "", sMaker, ToolDbWindowVM.m_sMachineIniPath) - If String.IsNullOrWhiteSpace(sMaker) Then m_bToolMakerError = True - ' Acquisisce solo il file lua, ma meglio impostare contesto disegno utensili (se ci sono chiamate...) - EgtSetCurrentContext(ToolDbWindowVM.m_ToolDbSceneContext) - Return EgtLuaExecFile(ToolDbWindowVM.m_sToolMakersDirPath & "\" & sMaker) - End Function + EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext) + ' Ripristino i valori originali dell'utensile corrente + EgtTdbSetCurrToolParam(MCH_TP.HEAD, sHeadNameOri) + EgtTdbSetCurrToolParam(MCH_TP.EXIT_, nExitOri) + EgtTdbSetCurrToolParam(MCH_TP.TYPE, nTypeOri) + EgtTdbSetCurrToolParam(MCH_TP.TOTLEN, dTotLenOri) + EgtTdbSetCurrToolParam(MCH_TP.LEN, dLenOri) + EgtTdbSetCurrToolParam(MCH_TP.TOTDIAM, dTotDiamOri) + EgtTdbSetCurrToolParam(MCH_TP.DIAM, dDiamOri) + EgtTdbSetCurrToolParam(MCH_TP.THICK, dThickOri) + EgtTdbSetCurrToolParam(MCH_TP.MAXMAT, dMaxMatOri) + EgtTdbSetCurrToolParam(MCH_TP.SIDEANG, dSideAngOri) + EgtTdbSetCurrToolParam(MCH_TP.CORNRAD, dCornRadOri) + EgtTdbSetCurrToolParam(MCH_TP.DRAW, sDrawOri) - Private Function ConvertTypeToString(Type As Integer) As String - Select Case Type - Case MCH_TY.DRILL_STD, MCH_TY.DRILL_LONG - Return K_DRILLMAKER - Case MCH_TY.SAW_STD, MCH_TY.SAW_FLAT - Return K_SAWBLADEMAKER - Case MCH_TY.MILL_STD, MCH_TY.MILL_NOTIP - Return K_MILLMAKER - Case MCH_TY.MORTISE_STD - Return K_MORTISEMAKER - Case MCH_TY.CHISEL_STD - Return K_CHISELMAKER - Case MCH_TY.COMPO - Return Nothing - End Select - Return Nothing - End Function - - Private Function CreateToolDraw(ToolHolder As String) As Boolean - Dim dTotLen As Double = 0 - Dim dLen As Double = 0 - Dim dTotDiam As Double = 0 - Dim dDiam As Double = 0 - Dim dThick As Double = 0 - Dim dMaxMat As Double = 0 - Dim dSideAng As Double = 0 - Dim dCornRad As Double = 0 - StringToLen(m_TotLen, dTotLen) - StringToLen(m_Len, dLen) - StringToLen(m_TotDiam, dTotDiam) - StringToLen(m_Diam, dDiam) - StringToLen(m_Thick, dThick) - StringToLen(m_MaxMat, dMaxMat) - StringToDouble(m_SideAng, dSideAng) - StringToLen(m_CornRad, dCornRad) - Select Case Type - Case MCH_TY.DRILL_STD, MCH_TY.DRILL_LONG, MCH_TY.CHISEL_STD - ' imposto dati utensile - EgtLuaSetGlobStringVar("TOOL.TOOLHOLDER", ToolHolder) - EgtLuaSetGlobNumVar("TOOL.TOTLEN", dTotLen) - EgtLuaSetGlobNumVar("TOOL.LEN", dLen) - EgtLuaSetGlobNumVar("TOOL.DIAM", dDiam) - EgtLuaSetGlobNumVar("TOOL.MAXMAT", dMaxMat) - Case MCH_TY.SAW_STD, MCH_TY.SAW_FLAT - ' imposto dati utensile - EgtLuaSetGlobStringVar("TOOL.TOOLHOLDER", ToolHolder) - EgtLuaSetGlobNumVar("TOOL.LEN", dLen) - EgtLuaSetGlobNumVar("TOOL.DIAM", dDiam) - Dim dCore As Double = If(dLen >= dThick, dThick - 1, 2 * dLen - dThick) - EgtLuaSetGlobNumVar("TOOL.CORE", dCore) - EgtLuaSetGlobNumVar("TOOL.THICK", dThick) - EgtLuaSetGlobNumVar("TOOL.MAXMAT", dMaxMat) - Case MCH_TY.MILL_STD, MCH_TY.MILL_NOTIP - ' imposto dati utensile - EgtLuaSetGlobStringVar("TOOL.TOOLHOLDER", ToolHolder) - EgtLuaSetGlobNumVar("TOOL.TOTLEN", dTotLen) - EgtLuaSetGlobNumVar("TOOL.LEN", dLen) - EgtLuaSetGlobNumVar("TOOL.TOTDIAM", dTotDiam) - EgtLuaSetGlobNumVar("TOOL.DIAM", dDiam) - EgtLuaSetGlobNumVar("TOOL.MAXMAT", dMaxMat) - EgtLuaSetGlobNumVar("TOOL.HEIGHT", dThick) - EgtLuaSetGlobNumVar("TOOL.SIDEANG", dSideAng) - EgtLuaSetGlobNumVar("TOOL.CORNRAD", dCornRad) - Case Else - m_nDrawingError = 999 - m_Draw = String.Empty - Return False - End Select - ' passo all'ambiente di disegno dell'utensile - EgtSetCurrentContext(ToolDbWindowVM.m_ToolDbSceneContext) - ' eseguo creazione utensile - EgtLuaCallFunction("CreateTool") - ' recupero errore - Dim nErr As Integer = 999 - EgtLuaGetGlobIntVar("TOOL.ERR", nErr) - m_nDrawingError = nErr - If m_nDrawingError <> 0 Then m_Draw = String.Empty - If m_nDrawingError = 0 Then m_Draw = m_Uuid & ".nge" - Return (nErr = 0) - End Function - - Friend Function SaveToolDraw() As Boolean - If m_Type = MCH_TY.DRILL_STD Or m_Type = MCH_TY.DRILL_LONG Or - m_Type = MCH_TY.SAW_STD Or m_Type = MCH_TY.SAW_FLAT Or - m_Type = MCH_TY.MILL_STD Or m_Type = MCH_TY.MILL_NOTIP Or - m_Type = MCH_TY.CHISEL_STD Then - ' nome e direttorio del file da salvare - EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext) - Dim sDrawName As String = Uuid - sDrawName = sDrawName & ".nge" - Dim sPath As String = String.Empty - EgtTdbGetToolDir(sPath) - sPath = sPath & "\" & sDrawName - ' passo all'ambiente di disegno dell'utensile - EgtSetCurrentContext(ToolDbWindowVM.m_ToolDbSceneContext) - ' nascondo layer ausiliario - Dim nAuxId As Integer = GDB_ID.NULL - nAuxId = EgtGetFirstNameInGroup(EgtGetFirstGroupInGroup(GDB_ID.ROOT), "AUX") - EgtSetStatus(nAuxId, GDB_ST.OFF) - ' se lama devo ruotare -90 deg attorno a Z+ - If m_Type = MCH_TY.SAW_STD Or m_Type = MCH_TY.SAW_FLAT Then - EgtRotate(EgtGetFirstGroupInGroup(GDB_ID.ROOT), Point3d.ORIG(), Vector3d.Z_AX(), -90, GDB_RT.GLOB) - End If - ' salvo il modello - Dim z = EgtGetCurrentContext() - Dim bOk As Boolean = EgtSaveFile(sPath, NGE.CMPTEXT) - Dim e = EgtGetCurrentContext() - ' eseguo controrotazione per lama - If m_Type = MCH_TY.SAW_STD Or m_Type = MCH_TY.SAW_FLAT Then - EgtRotate(EgtGetFirstGroupInGroup(GDB_ID.ROOT), Point3d.ORIG(), Vector3d.Z_AX(), 90, GDB_RT.GLOB) - End If - ' ripristino visualizzazione layer aux - EgtSetStatus(nAuxId, GDB_ST.ON_) - ' salvo nome del disegno utensile - EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext) - EgtTdbSetCurrToolParam(MCH_TP.DRAW, sDrawName) - EgtTdbSaveCurrTool() - Return bOk - End If - Return False + Return (m_nDrawingError = 0) End Function #End Region ' ToolSceneUpdate @@ -1857,39 +1721,34 @@ Public Class ToolTreeViewItem Private Function ValidateDraw() As Boolean m_DrawError = String.Empty - If m_bDrawNameError Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 2) - End If - If m_bDrawNameExistError Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 3) - End If - If m_bToolMakerError Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 4) - End If If m_nDrawingError = 12 Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 21) ' Utensile troppo corto con il portautensile + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 21) ' Lunghezza troppo piccola con il portautensile ElseIf m_nDrawingError = 13 Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 31) + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 31) ' Lo Spessore deve essere differente da 0 ElseIf m_nDrawingError = 14 Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 32) + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 32) ' L'Angolo di Lato deve essere minore di 90° ElseIf m_nDrawingError = 15 Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 33) + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 33) ' L'Angolo di Lato deve essere maggiore di -90° ElseIf m_nDrawingError = 16 Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 35) + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 35) ' Raggio Corner ha un valore troppo grande ElseIf m_nDrawingError = 17 Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 36) + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 36) ' Lo Spessore ha un valore troppo piccolo rispetto al Raggio Corner ElseIf m_nDrawingError = 18 Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 37) + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 37) ' Il diametro risultante supera il Diametro Totale ElseIf m_nDrawingError = 19 Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 38) + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 38) ' Il diametro risultante è minore di 0 ElseIf m_nDrawingError = 20 Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 39) + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 39) ' Il diametro stelo risultante è minore o uguale a 0 ElseIf m_nDrawingError = 21 Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 40) + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 40) ' Il Massimo Materiale deve essere più grande del Raggio Corner ElseIf m_nDrawingError = 22 Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 34) + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 34) ' La Lunghezza Totale deve essere maggiore di Lunghezza + Spessore + ElseIf m_nDrawingError = 997 then + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 3) ' Il file non esiste o non è Nge + ElseIf m_nDrawingError = 998 then + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 4) ' Non esiste il ToolMaker per questo tipo di utensile ElseIf m_nDrawingError <> 0 Then - m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 5) + m_DrawError = EgtMsg(MSG_TOOLDBERRORS + 5) ' Impossibile creare l'utensile con questi parametri End If NotifyPropertyChanged("DrawErrorMsg") If String.IsNullOrEmpty(m_DrawError) Then @@ -1973,10 +1832,7 @@ Public Class ToolTreeViewItem Private Function FilterFileName(sPath As String) As Boolean Dim FileName As String = Path.GetFileNameWithoutExtension(sPath) - If Not IsUUID(FileName) Then - Return True - End If - Return False + Return Not IsUUID(FileName) End Function #End Region ' OpenDrawFileCommand diff --git a/Utility/StringConversion.vb b/Utility/StringConversion.vb index a895b39..a9cb2dc 100644 --- a/Utility/StringConversion.vb +++ b/Utility/StringConversion.vb @@ -17,6 +17,13 @@ Public Module StringConversion Return EgtLuaEvalNumExpr(sVal, dVal) End Function + Public Function StringToInt(sVal As String, ByRef nVal As Integer) As Boolean + Dim dVal As Double = 0 + If Not StringToDouble(sVal, dVal) Then Return False + nVal = CInt(Math.Round(dVal)) + Return True + End Function + Public Function LenToString(ByVal dVal As Double, ByVal nNumDec As Integer) As String Return DoubleToString(EgtToUiUnits(dVal), nNumDec) End Function