From eaab7cb42856b83cadd9b972b0b48fe506f1fdde Mon Sep 17 00:00:00 2001
From: "Burns, Terry" <Terry.Burns@ricardo.com>
Date: Thu, 23 Apr 2015 09:29:30 +0000
Subject: [PATCH] Johannes Changes Complete as per UI-TODO.Doc commented and
 sent to Nik today.

git-tfs-id: [http://tfs00.element.root.com:8080/tfs/TFSCollection]$/VECTO;C1902
---
 .../VectoAuxiliaries/Electrics/Alternator.vb  |  3 +-
 .../Electrics/ElectricalConsumerList.vb       | 73 +++++++++++++------
 .../Electrics/IElectricalConsumerList.vb      |  4 +
 .../VectoAuxiliaries/Electrics/ImageCell.vb   | 18 ++---
 .../VectoAuxiliaries/Electrics/ImageColumn.vb |  4 +-
 .../VectoAuxiliaries/UI/frmAuxiliaryConfig.vb | 33 ++++-----
 6 files changed, 79 insertions(+), 56 deletions(-)

diff --git a/VECTOAux/VectoAuxiliaries/Electrics/Alternator.vb b/VECTOAux/VectoAuxiliaries/Electrics/Alternator.vb
index b888039185..f8e259f192 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/Alternator.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/Alternator.vb
@@ -51,7 +51,6 @@ Public Class Alternator
                InitialiseRangeTable()
                CalculateRangeTable()
 
-               'TODO: Calculate Efficiency
                'Calculate ( Interpolate ) Efficiency
 
                Dim range as List(Of AltUserInput) = RangeTable.Select( Function(s) New AltUserInput(s.RPM,s.Efficiency)).ToList()
@@ -288,7 +287,7 @@ Public Class Alternator
 
 
 
-  Public Function IsEqualTo(other As IAlternator) As Boolean Implements IAlternator.IsEqualTo
+ Public Function IsEqualTo(other As IAlternator) As Boolean Implements IAlternator.IsEqualTo
 
      If Me.AlternatorName <> other.AlternatorName then Return False
      If Me.PulleyRatio <> other.PulleyRatio then Return false
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/ElectricalConsumerList.vb b/VECTOAux/VectoAuxiliaries/Electrics/ElectricalConsumerList.vb
index 9784a23460..2c96418117 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/ElectricalConsumerList.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/ElectricalConsumerList.vb
@@ -27,19 +27,42 @@ Namespace Electrics
 
    _powernetVoltage = powernetVoltage
    
-   If createDefaultList Then SetDefaultConsumerList()
+   If createDefaultList Then 
+
+    _items = GetDefaultConsumerList()
+
+   End If
+   
    
    _doorDutyCycleZeroToOne = doorDutyCycle_ZeroToOne
 
 End Sub
+ 
+   
+   Public Sub MergeInfoData() Implements IElectricalConsumerList.MergeInfoData
+
+     If _items.Count <> GetDefaultConsumerList().Count then return
+
+     Dim dflt As List(Of IElectricalConsumer) = GetDefaultConsumerList()
+
+     For idx As Integer=0 to _items.Count-1
+
+         _items(idx).Info= dflt(idx).Info
+
+     Next
+
+     
+
+   End Sub
+ 
    'Initialise default set of consumers
-   Public Sub SetDefaultConsumerList()
+   Public function GetDefaultConsumerList() As List(Of IElectricalConsumer)
 
      'This populates the default settings as per engineering spreadsheet.
      'Vehicle Basic Equipment' category can be added or remove by customers.
      'At some time in the future, this may be removed and replace with file based consumer lists.
     
-     _items.Clear()
+     Dim items As New List(Of IElectricalConsumer)
     
      Dim c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20 As IElectricalConsumer
     
@@ -64,28 +87,30 @@ End Sub
      c19 = CType(New ElectricalConsumer(False, "Lights", "Direction lights LED bonus",                                                          -0.30, 1.00, _powernetVoltage,             1,""), IElectricalConsumer)
      c20 = CType(New ElectricalConsumer(False, "Lights", "Brake Lights",                                                                        -1.20, 1.00, _powernetVoltage,             1,""), IElectricalConsumer)
     
-    _items.Add(c1)
-    _items.Add(c2)
-    _items.Add(c3)
-    _items.Add(c4)
-    _items.Add(c5)
-    _items.Add(c6)
-    _items.Add(c7)
-    _items.Add(c8)
-    _items.Add(c9)
-    _items.Add(c10)
-    _items.Add(c11)
-    _items.Add(c12)
-    _items.Add(c13)
-    _items.Add(c14)
-    _items.Add(c15)
-    _items.Add(c16)
-    _items.Add(c17)
-    _items.Add(c18)
-    _items.Add(c19)
-    _items.Add(c20)
+     items.Add(c1)
+     items.Add(c2)
+     items.Add(c3)
+     items.Add(c4)
+     items.Add(c5)
+     items.Add(c6)
+     items.Add(c7)
+     items.Add(c8)
+     items.Add(c9)
+     items.Add(c10)
+     items.Add(c11)
+     items.Add(c12)
+     items.Add(c13)
+     items.Add(c14)
+     items.Add(c15)
+     items.Add(c16)
+     items.Add(c17)
+     items.Add(c18)
+     items.Add(c19)
+     items.Add(c20)
     
-End Sub    
+    Return items
+
+End Function    
   
 
    'Interface implementation
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumerList.vb b/VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumerList.vb
index c6bf73a260..6a6aca8de1 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumerList.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumerList.vb
@@ -52,6 +52,10 @@ Public Interface IElectricalConsumerList
     ''' <remarks></remarks>
     Property DoorDutyCycleFraction As single
 
+     'Merge Info data from ElectricalConsumer in a Default set into live set
+     'This is required because the info is stored in the AAUX file and we do not want to use a persistance stored version.
+     Sub MergeInfoData()
+
 End Interface
 
 
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/ImageCell.vb b/VECTOAux/VectoAuxiliaries/Electrics/ImageCell.vb
index 9715b08195..4450499905 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/ImageCell.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/ImageCell.vb
@@ -7,21 +7,21 @@ Namespace Electrics
 Public Class ImageCell
  Inherits DataGridViewImageCell
 
-     Public property tt As String = "ABC"
-     Private del As Image = My.Resources.ResourceManager.GetObject("Info")
+     'Public property tt As String = "ABC"
+     'Private del As Image = My.Resources.ResourceManager.GetObject("Info")
 
 
-     Protected Overrides Sub Paint(graphics As Graphics, clipBounds As Rectangle, cellBounds As Rectangle, rowIndex As Integer, elementState As DataGridViewElementStates, value As Object, formattedValue As Object, errorText As String, cellStyle As DataGridViewCellStyle, advancedBorderStyle As DataGridViewAdvancedBorderStyle, paintParts As DataGridViewPaintParts)
+    ' Protected Overrides Sub Paint(graphics As Graphics, clipBounds As Rectangle, cellBounds As Rectangle, rowIndex As Integer, elementState As DataGridViewElementStates, value As Object, formattedValue As Object, errorText As String, cellStyle As DataGridViewCellStyle, advancedBorderStyle As DataGridViewAdvancedBorderStyle, paintParts As DataGridViewPaintParts)
 
-        advancedBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Single
+    '    advancedBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Single
 
-        Me.ToolTipText=tt
+    '    Me.ToolTipText=tt
     
-        cellStyle.BackColor= Color.White
-        MyBase.Paint(graphics, clipBounds, cellBounds, rowIndex, elementState, value, formattedValue, errorText, cellStyle, advancedBorderStyle, paintParts)
-        graphics.DrawImage(del, cellBounds)
+    '    cellStyle.BackColor= Color.White
+    '    MyBase.Paint(graphics, clipBounds, cellBounds, rowIndex, elementState, value, formattedValue, errorText, cellStyle, advancedBorderStyle, paintParts)
+    '    graphics.DrawImage(del, cellBounds)
 
-    End Sub
+    'End Sub
  
 
 End Class
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/ImageColumn.vb b/VECTOAux/VectoAuxiliaries/Electrics/ImageColumn.vb
index e76e28fa3b..ca70465d70 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/ImageColumn.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/ImageColumn.vb
@@ -11,8 +11,8 @@ Public Class ImageColumn
 
    Public  Sub new()
 
-     MyBase.New()
-     Me.CellTemplate = New ImageCell()
+    ' MyBase.New()
+    ' Me.CellTemplate = New ImageCell()
 
    End Sub
 
diff --git a/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb b/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb
index b842e69d7b..1caec1035c 100644
--- a/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb
+++ b/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb
@@ -586,9 +586,14 @@ Private Sub Dashboard_Load(sender As Object, e As EventArgs) Handles MyBase.Load
   tabMain.SelectTab(tabMain.TabPages("tabElectricalConfig"))
 
 
-
+  'Enabled  / Disables Smart Cards based on chkSmartElectrical
   SetSmartCardEmabledStatus()
 
+  'Merge Info data from ElectricalConsumer in a Default set into live set
+  'This is required because the info is stored in the AAUX file and we do not want to use a persistance stored version.
+  auxConfig.ElectricalUserInputsConfig.ElectricalConsumers.MergeInfoData()
+
+
 End Sub
 Private Sub frmAuxiliaryConfig_FormClosing( sender As Object,  e As FormClosingEventArgs) Handles MyBase.FormClosing
 
@@ -1399,17 +1404,17 @@ Private Sub SetupControls()
      gvElectricalConsumables.Columns(cIndex).HeaderCell.ToolTipText = "Number of consumables of this" & vbCrLf & "type installed on the vehicle."
 
 
-    ' 'INFO COLUMN
-    '' cIndex = gvElectricalConsumables.Columns.Add("info","Info")
+     'INFO COLUMN
+     cIndex = gvElectricalConsumables.Columns.Add("info","Info")
     '  cIndex = gvElectricalConsumables.Columns.Add( New ImageColumn())
 
-    ' gvElectricalConsumables.Columns(cIndex).DataPropertyName = "Info"
-    ' gvElectricalConsumables.Columns(cIndex).Width = 120
-    ' gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
-    ' gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Padding = New Padding(1, 2, 1, 1)
-    ' gvElectricalConsumables.Columns(cIndex).HeaderCell.ToolTipText = "Further Information"
+     gvElectricalConsumables.Columns(cIndex).DataPropertyName = "Info"
+     gvElectricalConsumables.Columns(cIndex).Width = 120
+     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
+     gvElectricalConsumables.Columns(cIndex).HeaderCell.Style.Padding = New Padding(1, 2, 1, 1)
+     gvElectricalConsumables.Columns(cIndex).HeaderCell.ToolTipText = "Further Information"
 
-     'ResultCard Grids
+    ' ResultCard Grids
 
      'IDLE
 
@@ -1445,7 +1450,6 @@ Private Sub SetupControls()
 End Sub
 #Region "Binding Control"
 
-
 Private Sub CreateBindings()
 
      'auxConfig.Vecto Bindings
@@ -1542,8 +1546,6 @@ Private Sub EnsureBinding()
 
  End Sub
 
-    
-
 #End Region
 Protected sub SetSmartCardEmabledStatus( )
 
@@ -1597,11 +1599,4 @@ Public Function FileOpenAlt(ByVal file As String) As Boolean
 
 
 
-'Private Sub gvElectricalConsumables_RowsAdded( sender As Object,  e As DataGridViewRowsAddedEventArgs) Handles gvElectricalConsumables.RowsAdded
-
-
-
-'End Sub
-
-
 End Class
\ No newline at end of file
-- 
GitLab