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