From d92605a2be9532940f3b222a2c8caa33ef7da358 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 26 Sep 2016 14:29:57 +0200 Subject: [PATCH] corrected call to open filebrowser for aaux --- VECTO/AdvancedAuxiliariesModule.vb | 59 ++++--- VECTO/GUI/VectoJobForm.vb | 9 +- VECTOAux/VectoAuxiliaries/UI/VECTO_Types.vb | 154 ------------------ VECTOAux/VectoAuxiliaries/UI/cFileBrowser.vb | 42 ++--- .../VectoAuxiliaries/UI/frmAuxiliaryConfig.vb | 8 +- 5 files changed, 59 insertions(+), 213 deletions(-) diff --git a/VECTO/AdvancedAuxiliariesModule.vb b/VECTO/AdvancedAuxiliariesModule.vb index c56ab64f15..652a5dd037 100644 --- a/VECTO/AdvancedAuxiliariesModule.vb +++ b/VECTO/AdvancedAuxiliariesModule.vb @@ -1,14 +1,16 @@ Imports System.Collections.Generic Imports VectoAuxiliaries Imports System.IO +Imports System.Linq Imports System.Runtime.Remoting Module AdvancedAuxiliariesModule Public WithEvents AdvancedAuxModel As IAdvancedAuxiliaries + Dim _returnList As Dictionary(Of String, AdvancedAuxiliary) = Nothing Public Sub AAEventAuxiliaryEvent(ByRef sender As Object, ByVal message As String, - ByVal messageType As AdvancedAuxiliaryMessageType) Handles advancedAuxModel.AuxiliaryEvent + ByVal messageType As AdvancedAuxiliaryMessageType) Handles AdvancedAuxModel.AuxiliaryEvent WorkerMsg(CType(messageType, MessageType), message, "Advanced Auxiliaries") @@ -22,18 +24,20 @@ Module AdvancedAuxiliariesModule ''' </summary> ''' <returns>List(Of cAdvancedAuxiliary)</returns> ''' <remarks>Target Directory would normally be the executing directory, but can be in another location.</remarks> - Public Function DiscoverAdvancedAuxiliaries() As List(Of AdvancedAuxiliary) + Public Function DiscoverAdvancedAuxiliaries() As Dictionary(Of String, AdvancedAuxiliary) - Dim returnList As List(Of AdvancedAuxiliary) = New List(Of AdvancedAuxiliary) - Dim fileNameWoPath As String - Dim fileNameWoExtentsion As String - Dim advancedAuxiliary As AdvancedAuxiliary + If Not _returnList Is Nothing Then + Return _returnList + End If + + _returnList = New Dictionary(Of String, AdvancedAuxiliary) Dim o As ObjectHandle Dim iAdvancedAux As IAdvancedAuxiliaries 'Create Default - returnList.Add(New AdvancedAuxiliary()) + Dim classicAux As AdvancedAuxiliary = New AdvancedAuxiliary() + _returnList.Add(classicAux.AssemblyName, classicAux) Try @@ -46,31 +50,27 @@ Module AdvancedAuxiliariesModule If fileName.Contains("Auxiliaries.dll") Then 'Get filenamewith - fileNameWoPath = GetFilenameWithoutPath(fileName, True) - fileNameWoExtentsion = GetFilenameWithoutPath(fileName, False) + Dim fileNameWoPath As String = GetFilenameWithoutPath(fileName, True) + Dim fileNameWoExtentsion As String = GetFilenameWithoutPath(fileName, False) o = Activator.CreateInstance(fileNameWoExtentsion, "VectoAuxiliaries.AdvancedAuxiliaries") iAdvancedAux = DirectCast(o.Unwrap, IAdvancedAuxiliaries) - advancedAuxiliary = New AdvancedAuxiliary(iAdvancedAux.AuxiliaryName, iAdvancedAux.AuxiliaryVersion, - fileNameWoPath, fileNameWoExtentsion) - - returnList.Add(advancedAuxiliary) - - + Dim advancedAuxiliary As AdvancedAuxiliary = New AdvancedAuxiliary(iAdvancedAux.AuxiliaryName, + iAdvancedAux.AuxiliaryVersion, + fileNameWoPath, fileNameWoExtentsion) + _returnList.Add(advancedAuxiliary.AuxiliaryVersion, advancedAuxiliary) End If Next fileName Catch ex As Exception - MessageBox.Show("Unable to obtain Advanced Auxiliary Assemblies") - End Try - Return returnList + Return _returnList End Function 'AA-TB @@ -84,21 +84,20 @@ Module AdvancedAuxiliariesModule vectoFilePath As String) As Boolean - Dim auxList As List(Of AdvancedAuxiliary) = DiscoverAdvancedAuxiliaries() - Dim chosenAssembly As String + Dim auxList As Dictionary(Of String, AdvancedAuxiliary) = DiscoverAdvancedAuxiliaries() Dim o As ObjectHandle Dim iAdvancedAux As IAdvancedAuxiliaries Dim result As Boolean - chosenAssembly = - auxList.Find(Function(x) x.AssemblyName = assemblyName AndAlso x.AuxiliaryVersion = version).AssemblyName - If String.IsNullOrEmpty(chosenAssembly) Then Return False + Dim chosenAssembly As KeyValuePair(Of String, AdvancedAuxiliary) = + auxList.First(Function(x) x.Value.AssemblyName = assemblyName AndAlso x.Value.AuxiliaryVersion = version) + If String.IsNullOrEmpty(chosenAssembly.Value.AssemblyName) Then Return False 'Open Assembly and invoke the configuration using the paths supplied. Try - o = Activator.CreateInstance(chosenAssembly, "VectoAuxiliaries.AdvancedAuxiliaries") + o = Activator.CreateInstance(chosenAssembly.Value.AssemblyName, "VectoAuxiliaries.AdvancedAuxiliaries") iAdvancedAux = DirectCast(o.Unwrap, IAdvancedAuxiliaries) iAdvancedAux.Configure(filePath, vectoFilePath) @@ -146,21 +145,21 @@ Module AdvancedAuxiliariesModule ByVal version As String, ByRef message As String) As Boolean - Dim auxList As List(Of AdvancedAuxiliary) = DiscoverAdvancedAuxiliaries() - Dim chosenAssembly As String + Dim auxList As Dictionary(Of String, AdvancedAuxiliary) = DiscoverAdvancedAuxiliaries() Dim o As ObjectHandle Dim iAdvancedAux As IAdvancedAuxiliaries Dim result As Boolean - chosenAssembly = - auxList.Find(Function(x) x.AssemblyName = assemblyName AndAlso x.AuxiliaryVersion = version).AssemblyName - If String.IsNullOrEmpty(chosenAssembly) Then Return False + Dim chosenAssembly As KeyValuePair(Of String, AdvancedAuxiliary) = + auxList.First(Function(x) x.Value.AssemblyName = assemblyName AndAlso x.Value.AuxiliaryVersion = version) + + If String.IsNullOrEmpty(chosenAssembly.Value.AssemblyName) Then Return False 'Open Assembly and invoke the validation using the paths supplied. Try - o = Activator.CreateInstance(chosenAssembly, "VectoAuxiliaries.AdvancedAuxiliaries") + o = Activator.CreateInstance(chosenAssembly.Value.AssemblyName, "VectoAuxiliaries.AdvancedAuxiliaries") iAdvancedAux = DirectCast(o.Unwrap, IAdvancedAuxiliaries) result = iAdvancedAux.ValidateAAUXFile(absoluteAAuxPath, message) diff --git a/VECTO/GUI/VectoJobForm.vb b/VECTO/GUI/VectoJobForm.vb index 34b75f2b06..138a18b293 100644 --- a/VECTO/GUI/VectoJobForm.vb +++ b/VECTO/GUI/VectoJobForm.vb @@ -45,9 +45,9 @@ Public Class VectoJobForm 'Populate Advanced Auxiliaries Private Sub PopulateAdvancedAuxiliaries() 'Scan the program directory for DLL's which are AdvancedAuxiliaries and display - Dim aList As List(Of AdvancedAuxiliary) = DiscoverAdvancedAuxiliaries() + Dim aList As Dictionary(Of String, AdvancedAuxiliary) = DiscoverAdvancedAuxiliaries() - cboAdvancedAuxiliaries.DataSource = aList + cboAdvancedAuxiliaries.DataSource = aList.Select(Function(x) x.Value).ToList() cboAdvancedAuxiliaries.DisplayMember = "AuxiliaryName" End Sub @@ -427,7 +427,8 @@ Public Class VectoJobForm Dim auxInput As IAuxiliariesEngineeringInputData = inputData.AuxiliaryInputData() For Each item As AdvancedAuxiliary In cboAdvancedAuxiliaries.Items If _ - item.AssemblyName = auxInput.AuxiliaryAssembly.ToString() AndAlso auxInput.AuxiliaryVersion = item.AuxiliaryVersion _ + AuxiliaryModelHelper.Parse(item.AssemblyName) = auxInput.AuxiliaryAssembly AndAlso + auxInput.AuxiliaryVersion = item.AuxiliaryVersion _ Then cboAdvancedAuxiliaries.SelectedItem = item Exit For @@ -1327,7 +1328,7 @@ lbDlog: End If Dim aauxFileValidated As Boolean = False - Dim fbAux As New FileBrowser("aaux", True, False) + Dim fbAux As New FileBrowser("aaux", False, False) Dim message As String = String.Empty Dim absoluteAuxPath As String Dim assembly As AdvancedAuxiliary diff --git a/VECTOAux/VectoAuxiliaries/UI/VECTO_Types.vb b/VECTOAux/VectoAuxiliaries/UI/VECTO_Types.vb index 0007ae17ce..073a815c48 100644 --- a/VECTOAux/VectoAuxiliaries/UI/VECTO_Types.vb +++ b/VECTOAux/VectoAuxiliaries/UI/VECTO_Types.vb @@ -19,158 +19,4 @@ Public Enum tFbExtMode As Integer SingleExt = 2 End Enum -Public Enum tWorkMsgType - StatusBar - StatusListBox - ProgBars - JobStatus - CycleStatus - InitProgBar - Abort -End Enum - -Public Enum tMsgID - NewJob - Normal - Warn - Err -End Enum - - -Public Enum tCalcResult - Err - Abort - Done -End Enum - -Public Enum tJobStatus - Running - Queued - OK - Err - Warn - Undef -End Enum - -Public Enum tDriComp - t - V - Grad - Alt - nU - Gears - Padd - Pe - VairVres - VairBeta - Undefined - s - StopTime - Torque -End Enum - -Public Enum tVehState - Cruise - Acc - Dec - Stopped -End Enum - -Public Enum tEngState - Idle - Drag - FullDrag - Load - FullLoad - Stopped - Undef -End Enum - -Public Enum tEngClutch - Closed - Opened - Slipping -End Enum - -Public Enum tAuxComp - Psupply - Undefined -End Enum - -Public Enum tCdMode - ConstCd0 = 0 - CdOfV = 1 - CdOfBeta = 2 -End Enum - -Public Enum tRtType - None = 0 - Primary = 1 - Secondary = 2 -End Enum - -Public Enum tGearbox - Manual = 0 - SemiAutomatic = 1 - Automatic = 2 - Custom = 3 -End Enum - -Public Enum tVehCat As Integer - Undef = 0 - RigidTruck = 1 - Tractor = 2 - Citybus = 3 - InterurbanBus = 4 - Coach = 5 -End Enum - -Public Enum tAxleConf As Integer - Undef = 0 - a4x2 = 1 - a4x4 = 2 - a6x2 = 3 - a6x4 = 4 - a6x6 = 5 - a8x2 = 6 - a8x4 = 7 - a8x6 = 8 - a8x8 = 9 -End Enum - -Public Enum tLoading - FullLoaded - EmptyLoaded - RefLoaded - UserDefLoaded -End Enum - -Public Enum tMission - LongHaul - RegionalDelivery - UrbanDelivery - MunicipalUtility - Construction - HeavyUrban - Urban - Suburban - Interurban - Coach - Undef -End Enum - -Public Enum tWHTCpart - Urban - Rural - Motorway -End Enum - -Public Enum tAux - Fan - SteerPump - HVAC - ElectricSys - PneumSys -End Enum - diff --git a/VECTOAux/VectoAuxiliaries/UI/cFileBrowser.vb b/VECTOAux/VectoAuxiliaries/UI/cFileBrowser.vb index 6aab08424f..c5a9c5521b 100644 --- a/VECTOAux/VectoAuxiliaries/UI/cFileBrowser.vb +++ b/VECTOAux/VectoAuxiliaries/UI/cFileBrowser.vb @@ -34,15 +34,15 @@ Public Class cFileBrowser ''' New cFileBrowser instance ''' </summary> ''' <param name="ID">Needed to save the file history when not using LightMode.</param> - ''' <param name="FolderBrowser">Browse folders instead of files.</param> - ''' <param name="LightMode">If enabled file history is not saved.</param> + ''' <param name="folderBrowser">Browse folders instead of files.</param> + ''' <param name="lightMode">If enabled file history is not saved.</param> ''' <remarks></remarks> - Public Sub New(ByVal ID As String, Optional ByVal FolderBrowser As Boolean = False, - Optional ByVal LightMode As Boolean = False) + Public Sub New(ByVal ID As String, Optional ByVal folderBrowser As Boolean = False, + Optional ByVal lightMode As Boolean = False) Initialized = False MyID = ID NoExt = True - bFolderBrowser = FolderBrowser + bFolderBrowser = folderBrowser bLightMode = LightMode End Sub @@ -50,11 +50,11 @@ Public Class cFileBrowser ''' Opens dialog for OPENING files. Selected file must exist. Returns False if cancelled by user, else True. ''' </summary> ''' <param name="path">Initial selected file. If empty the last selected file is used. If file without directoy the last directory will be used.</param> - ''' <param name="MultiFile">Allow selecting multiple files.</param> + ''' <param name="multiFile">Allow selecting multiple files.</param> ''' <param name="Ext">Set extension. If not defined the first predefined extension is used.</param> ''' <returns></returns> ''' <remarks></remarks> - Public Function OpenDialog(ByVal path As String, Optional ByVal MultiFile As Boolean = False, + Public Function OpenDialog(ByVal path As String, Optional ByVal multiFile As Boolean = False, Optional ByVal Ext As String = "") As Boolean Return CustomDialog(path, True, False, tFbExtMode.MultiExt, MultiFile, Ext, "Open") End Function @@ -63,11 +63,11 @@ Public Class cFileBrowser ''' Opens dialog for SAVING files. If file already exists user will be asked to overwrite. Returns False if cancelled by user, else True. ''' </summary> ''' <param name="path">Initial selected file. If empty the last selected file is used. If file without directoy the last directory will be used.</param> - ''' <param name="ForceExt">Force predefined file extension.</param> + ''' <param name="forceExt">Force predefined file extension.</param> ''' <param name="Ext">Set extension. If not defined the first predefined extension is used.</param> ''' <returns></returns> ''' <remarks></remarks> - Public Function SaveDialog(ByVal path As String, Optional ByVal ForceExt As Boolean = True, + Public Function SaveDialog(ByVal path As String, Optional ByVal forceExt As Boolean = True, Optional ByVal Ext As String = "") As Boolean Dim x As tFbExtMode If ForceExt Then @@ -82,28 +82,28 @@ Public Class cFileBrowser ''' Custom open/save dialog. Returns False if cancelled by user, else True. ''' </summary> ''' <param name="path">Initial selected file. If empty the last selected file is used. If file without directoy the last directory will be used.</param> - ''' <param name="FileMustExist">Selected file must exist.</param> - ''' <param name="OverwriteCheck">If file already exists user will be asked to overwrite.</param> - ''' <param name="ExtMode">ForceExt= First predefined extension (or Ext parameter) will be forced (Default for SaveDialog), MultiExt= All files with predefined extensions are shown (Default for OpenDialog), SingleExt= All files with the first predefined extension will be shown.</param> - ''' <param name="MultiFile">Allow to select multiple files.</param> - ''' <param name="Ext">Set extension. If not defined the first predefined extension is used.</param> - ''' <param name="Title">Dialog title.</param> + ''' <param name="fileMustExist">Selected file must exist.</param> + ''' <param name="overwriteCheck">If file already exists user will be asked to overwrite.</param> + ''' <param name="extMode">ForceExt= First predefined extension (or Ext parameter) will be forced (Default for SaveDialog), MultiExt= All files with predefined extensions are shown (Default for OpenDialog), SingleExt= All files with the first predefined extension will be shown.</param> + ''' <param name="multiFile">Allow to select multiple files.</param> + ''' <param name="ext">Set extension. If not defined the first predefined extension is used.</param> + ''' <param name="title">Dialog title.</param> ''' <returns></returns> ''' <remarks></remarks> - Public Function CustomDialog(ByVal path As String, ByVal FileMustExist As Boolean, ByVal OverwriteCheck As Boolean, - ByVal ExtMode As tFbExtMode, ByVal MultiFile As Boolean, ByVal Ext As String, - Optional Title As String = "File Browser") As Boolean + Public Function CustomDialog(ByVal path As String, ByVal fileMustExist As Boolean, ByVal overwriteCheck As Boolean, + ByVal extMode As tFbExtMode, ByVal multiFile As Boolean, ByVal ext As String, + Optional title As String = "File Browser") As Boolean If Not Initialized Then Init() - Return Dlog.Browse(path, FileMustExist, OverwriteCheck, ExtMode, MultiFile, Ext, Title) + Return Dlog.Browse(path, fileMustExist, overwriteCheck, extMode, multiFile, ext, Title) End Function 'Manually update File History ''' <summary> ''' Add file to file history. ''' </summary> - ''' <param name="Path">File to be added to file history.</param> + ''' <param name="path">File to be added to file history.</param> ''' <remarks></remarks> - Public Sub UpdateHistory(ByVal Path As String) + Public Sub UpdateHistory(ByVal path As String) If Not Initialized Then Init() Dlog.UpdateHistory(Path) End Sub diff --git a/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb b/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb index ae3392a325..bdb0470136 100644 --- a/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb +++ b/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb @@ -823,7 +823,7 @@ Public Class frmAuxiliaryConfig Private Sub btnFuelMap_Click(sender As Object, e As EventArgs) Handles btnFuelMap.Click - Dim fbAux As New cFileBrowser("AAUXFuelMap", True, False) + Dim fbAux As New cFileBrowser("AAUXFuelMap", False, False) ' Dim vectoFile As String = "C:\Users\tb28\Source\Workspaces\VECTO\AuxillaryTestHarness\bin\Debug\vectopath.vecto" @@ -916,7 +916,7 @@ Public Class frmAuxiliaryConfig Private Sub btnCompressorMap_Click(sender As Object, e As EventArgs) Handles btnCompressorMap.Click - Dim fbAux As New cFileBrowser("AAUXComp", True, False) + Dim fbAux As New cFileBrowser("AAUXComp", False, False) ' Dim vectoFile As String = "C:\Users\tb28\Source\Workspaces\VECTO\AuxillaryTestHarness\bin\Debug\vectopath.vecto" @@ -941,7 +941,7 @@ Public Class frmAuxiliaryConfig Private Sub btnActuationsMap_Click(sender As Object, e As EventArgs) Handles btnActuationsMap.Click - Dim fbAux As New cFileBrowser("AAUXPneuAct", True, False) + Dim fbAux As New cFileBrowser("AAUXPneuAct", False, False) ' Dim vectoFile As String = "C:\Users\tb28\Source\Workspaces\VECTO\AuxillaryTestHarness\bin\Debug\vectopath.vecto" Dim fname As String = fFILE(vectoFile, True) @@ -968,7 +968,7 @@ Public Class frmAuxiliaryConfig Private Sub btnBusDatabaseSource_Click(sender As Object, e As EventArgs) Handles btnBusDatabaseSource.Click - Dim fbAux As New cFileBrowser("AAUXBusDB", True, False) + Dim fbAux As New cFileBrowser("AAUXBusDB", False, False) Dim message As String = String.Empty -- GitLab