diff --git a/VECTO/mAAUX_Global.vb b/VECTO/AdvancedAuxiliariesModule.vb similarity index 98% rename from VECTO/mAAUX_Global.vb rename to VECTO/AdvancedAuxiliariesModule.vb index 9ad01ffd525dcf1ff989700ce199dfe0fe3a2e66..70f3617bb5b52983b57bc4f0097d478c7d9167bc 100644 --- a/VECTO/mAAUX_Global.vb +++ b/VECTO/AdvancedAuxiliariesModule.vb @@ -3,8 +3,8 @@ Imports VectoAuxiliaries Imports System.IO Imports System.Runtime.Remoting -Module mAAUX_Global - Public WithEvents advancedAuxModel As IAdvancedAuxiliaries +Module AdvancedAuxiliariesModule + Public WithEvents AdvancedAuxModel As IAdvancedAuxiliaries Public Sub AAEventAuxiliaryEvent(ByRef sender As Object, ByVal message As String, diff --git a/VECTO/ApplicationEvents.vb b/VECTO/ApplicationEvents.vb index 44992b90aa173973c065dca3a441aa9387f87529..3870aa5b600d582caa016db4a6af97ff6462d36a 100644 --- a/VECTO/ApplicationEvents.vb +++ b/VECTO/ApplicationEvents.vb @@ -25,13 +25,13 @@ Namespace My Dim s As String Dim i As Int16 - Dim file As cFile_V3 + Dim file As CsvFile 'Paths MyAppPath = Application.Info.DirectoryPath & "\" MyConfPath = MyAppPath & "Config\" - FB_FilHisDir = MyConfPath & "FileHistory\" + FileHistoryPath = MyConfPath & "FileHistory\" 'Log LogFile = New cLogFile @@ -46,15 +46,15 @@ Namespace My IO.Directory.CreateDirectory(MyConfPath) Catch ex As Exception MsgBox("Failed to create directory '" & MyConfPath & "'!", MsgBoxStyle.Critical) - LogFile.WriteToLog(tMsgID.Err, "Failed to create directory '" & MyConfPath & "'!") + LogFile.WriteToLog(MessageType.Err, "Failed to create directory '" & MyConfPath & "'!") e.Cancel = True End Try IO.File.Create(MyConfPath & "joblist.txt") IO.File.Create(MyConfPath & "cyclelist.txt") End If - If Not IO.Directory.Exists(FB_FilHisDir) Then + If Not IO.Directory.Exists(FileHistoryPath) Then Try - IO.Directory.CreateDirectory(FB_FilHisDir) + IO.Directory.CreateDirectory(FileHistoryPath) 'Preconfigure Directories.txt Try @@ -64,8 +64,8 @@ Namespace My End Try Try - file = New cFile_V3 - file.OpenWrite(FB_FilHisDir & "Directories.txt") + file = New CsvFile + file.OpenWrite(FileHistoryPath & "Directories.txt") file.WriteLine(s) For i = 2 To 20 file.WriteLine(" ") @@ -76,8 +76,8 @@ Namespace My End Try Catch ex As Exception - MsgBox("Failed to create directory '" & FB_FilHisDir & "'!", MsgBoxStyle.Critical) - LogFile.WriteToLog(tMsgID.Err, "Failed to create directory '" & FB_FilHisDir & "'!") + MsgBox("Failed to create directory '" & FileHistoryPath & "'!", MsgBoxStyle.Critical) + LogFile.WriteToLog(MessageType.Err, "Failed to create directory '" & FileHistoryPath & "'!") e.Cancel = True End Try End If @@ -89,7 +89,7 @@ Namespace My Threading.Thread.CurrentThread.CurrentUICulture = New Globalization.CultureInfo("en-US") 'MSGtoForm(8, "Set CurrentCulture to 'en-US'", True) Catch ex As Exception - GUImsg(tMsgID.Err, + GUImsg(MessageType.Err, "Failed to set Application Regional Settings to 'en-US'! Check system decimal- and group- separators!") End Try End If @@ -104,7 +104,7 @@ Namespace My 'ACHTUNG: Configuration.New löst Configuration.SetDefault aus welches sKey benötigt dehalb muss sKey schon vorher initialisiert werden!! Cfg.FilePath = MyConfPath & "settings.json" - ProgBarCtrl = New cProgBarCtrl + ProgBarCtrl = New ProgressbarControl 'Config Cfg.Load() @@ -124,7 +124,7 @@ Namespace My Handles Me.UnhandledException e.ExitApplication = True MsgBox("ERROR!" & ChrW(10) & ChrW(10) & e.Exception.Message.ToString, MsgBoxStyle.Critical, "Unexpected Error") - LogFile.WriteToLog(tMsgID.Err, ">>>Unexpected Error:" & e.Exception.ToString()) + LogFile.WriteToLog(MessageType.Err, ">>>Unexpected Error:" & e.Exception.ToString()) End Sub End Class End Namespace diff --git a/VECTO/Configuration.vb b/VECTO/Configuration.vb index bd176c1d3dd451935a825c6681b17ca69ae90875..37a05ba47408625c94171e3ba0fab2408c595e27 100644 --- a/VECTO/Configuration.vb +++ b/VECTO/Configuration.vb @@ -60,9 +60,9 @@ Public Class Configuration Exit Sub End If - Dim json As New JSON + Dim json As New JSONParser If Not json.ReadFile(FilePath) Then - GUImsg(tMsgID.Err, "Failed to load settings! Using default settings.") + GUImsg(MessageType.Err, "Failed to load settings! Using default settings.") Exit Sub End If @@ -83,12 +83,12 @@ Public Class Configuration FirstRun = json.Content("Body")("FirstRun") DeclMode = json.Content("Body")("DeclMode") Catch ex As Exception - GUImsg(tMsgID.Err, "Error while loading settings!") + GUImsg(MessageType.Err, "Error while loading settings!") End Try End Sub Public Sub Save() - Dim json As New JSON + Dim json As New JSONParser Dim dic As Dictionary(Of String, Object) dic = New Dictionary(Of String, Object) diff --git a/VECTO/CsvFile.vb b/VECTO/CsvFile.vb new file mode 100644 index 0000000000000000000000000000000000000000..9e36ce149188c9bb4f028945b960d8b3d54bf10c --- /dev/null +++ b/VECTO/CsvFile.vb @@ -0,0 +1,144 @@ +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.IO +Imports System.Text +Imports Microsoft.VisualBasic.FileIO + +Public Class CsvFile + Private _parser As TextFieldParser + Private _writer As StreamWriter + Private _mode As FileMode + Private _path As String + Private _separator As String + Private _skipComments As Boolean + Private _fileOpen As Boolean + Private _preLine As String() + Private _endOfFile As Boolean + + Public Sub New() + Reset() + End Sub + + Private Sub Reset() + _fileOpen = False + _mode = FileMode.Undefined + _preLine = Nothing + _endOfFile = False + End Sub + + Public Function OpenRead(ByVal fileName As String, Optional ByVal separator As String = ",", + Optional ByVal skipComment As Boolean = True) As Boolean + Reset() + + _path = fileName + _separator = separator + _skipComments = skipComment + If Not (_mode = FileMode.Undefined) Then Return False + If Not File.Exists(_path) Then Return False + _mode = FileMode.Read + Try + _parser = New TextFieldParser(_path, Encoding.Default) + _fileOpen = True + Catch ex As Exception + Return False + End Try + _parser.TextFieldType = FieldType.Delimited + _parser.Delimiters = New String() {_separator} + + 'If TxtFldParser.EndOfData Then Return False + + ReadLine() + Return True + End Function + + Public Function ReadLine() As String() + Dim line As String() + Dim line0 As String + + line = _preLine + +lb10: + If _parser.EndOfData Then + _endOfFile = True + Else + _preLine = _parser.ReadFields + line0 = UCase(Trim(_preLine(0))) + + If _skipComments Then + If Left(line0, 1) = "#" Then GoTo lb10 + End If + + End If + + Return line + End Function + + Public Sub Close() + Select Case _mode + Case FileMode.Read + If _fileOpen Then _parser.Close() + _parser = Nothing + Case FileMode.Write + If _fileOpen Then _writer.Close() + _writer = Nothing + End Select + Reset() + End Sub + + Public ReadOnly Property EndOfFile() As Boolean + Get + Return _endOfFile + End Get + End Property + + Public Function OpenWrite(ByVal FileName As String, Optional ByVal Separator As String = ",", + Optional ByVal AutoFlush As Boolean = False, Optional ByVal Append As Boolean = False) As Boolean + Reset() + _path = FileName + _separator = Separator + If Not (_mode = FileMode.Undefined) Then Return False + _mode = FileMode.Write + Try + _writer = My.Computer.FileSystem.OpenTextFileWriter(_path, Append, FileFormat) + _fileOpen = True + Catch ex As Exception + Return False + End Try + _writer.AutoFlush = AutoFlush + Return True + End Function + + Public Sub WriteLine(ByVal ParamArray x() As Object) + Dim St As String + Dim StB As New StringBuilder + Dim Skip As Boolean + Skip = True + For Each St In x + If Skip Then + StB.Append(St) + Skip = False + Else + StB.Append(_separator & St) + End If + Next + _writer.WriteLine(StB.ToString) + End Sub + + Public Sub WriteLine(ByVal x As String) + _writer.WriteLine(x) + End Sub + + Private Enum FileMode + Undefined + Read + Write + End Enum +End Class diff --git a/VECTO/File Browser/FB_Global.vb b/VECTO/File Browser/FB_Global.vb deleted file mode 100644 index b469ad3852b234fdd5d4ff1bf10a9d3e64c6939f..0000000000000000000000000000000000000000 --- a/VECTO/File Browser/FB_Global.vb +++ /dev/null @@ -1,45 +0,0 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. - -''' <summary> -''' Global File Brower properties and cFilebrowser instances. -''' </summary> -''' <remarks></remarks> -Public Module FB_Global - Public FB_FolderHistory(19) As String - Public FB_Drives() As String - Public FB_Init As Boolean - Public FB_FilHisDir As String - '----------------------------- - Public fbFolder As cFileBrowser - Public fbVECTO As cFileBrowser - Public fbFileLists As cFileBrowser - Public fbVEH As cFileBrowser - Public fbDRI As cFileBrowser - Public fbMAP As cFileBrowser - Public fbFLD As cFileBrowser - - Public fbENG As cFileBrowser - Public fbGBX As cFileBrowser - Public fbACC As cFileBrowser - Public fbDfTargetSpeed As cFileBrowser - Public fbDfVelocityDrop As cFileBrowser - Public fbAUX As cFileBrowser - - Public fbGBS As cFileBrowser - Public fbTLM As cFileBrowser - Public fbRLM As cFileBrowser - Public fbTCC As cFileBrowser - Public fbTCCShift As cFileBrowser - Public fbCDx As cFileBrowser - - Public fbVMOD As cFileBrowser -End Module diff --git a/VECTO/File Browser/cFileBrowser.vb b/VECTO/File Browser/FileBrowser.vb similarity index 94% rename from VECTO/File Browser/cFileBrowser.vb rename to VECTO/File Browser/FileBrowser.vb index a33af6d538aa6d041498c55c90197ee08dc1e87a..6b7fbda4833bf583e2d26e8ac8092a9e0b7fede4 100644 --- a/VECTO/File Browser/cFileBrowser.vb +++ b/VECTO/File Browser/FileBrowser.vb @@ -20,14 +20,14 @@ ''' 4. Call Close method when closing application to write file history, e.g. fbTXT.Close ''' File history is unique for each ID. Folder history is global. ''' </remarks> -Public Class cFileBrowser +Public Class FileBrowser Private Initialized As Boolean - Private MyID As String + Private ReadOnly MyID As String Private MyExt As String() - Private Dlog As FB_Dialog + Private Dlog As FileBrowserDialog Private NoExt As Boolean - Private bFolderBrowser As Boolean - Private bLightMode As Boolean + Private ReadOnly bFolderBrowser As Boolean + Private ReadOnly bLightMode As Boolean ''' <summary> ''' New cFileBrowser instance @@ -74,7 +74,7 @@ Public Class cFileBrowser Else x = tFbExtMode.SingleExt End If - Return CustomDialog(path, False, True, x, False, Ext, "Save As") + Return CustomDialog(path, False, True, x, False, ext, "Save As") End Function ''' <summary> @@ -92,7 +92,7 @@ Public Class cFileBrowser Public Function CustomDialog(path As String, fileMustExist As Boolean, overwriteCheck As Boolean, extMode As tFbExtMode, multiFile As Boolean, 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 @@ -103,7 +103,7 @@ Public Class cFileBrowser ''' <remarks></remarks> Public Sub UpdateHistory(path As String) If Not Initialized Then Init() - Dlog.UpdateHistory(Path) + Dlog.UpdateHistory(path) End Sub ''' <summary> @@ -119,7 +119,7 @@ Public Class cFileBrowser End Sub Private Sub Init() - Dlog = New FB_Dialog(bLightMode) + Dlog = New FileBrowserDialog(bLightMode) Dlog.ID = MyID If Not NoExt Then Dlog.Extensions = MyExt If bFolderBrowser Then Dlog.SetFolderBrowser() diff --git a/VECTO/File Browser/FB_Dialog.designer.vb b/VECTO/File Browser/FileBrowserDialog.designer.vb similarity index 99% rename from VECTO/File Browser/FB_Dialog.designer.vb rename to VECTO/File Browser/FileBrowserDialog.designer.vb index fb94a27048f208ca886c3cdcc0e6132730ca9cd4..606eed1f37b6f9de4794329f08b48465ad3975f2 100644 --- a/VECTO/File Browser/FB_Dialog.designer.vb +++ b/VECTO/File Browser/FileBrowserDialog.designer.vb @@ -12,7 +12,7 @@ Imports System.ComponentModel Imports Microsoft.VisualBasic.CompilerServices <DesignerGenerated()> _ -Partial Class FB_Dialog +Partial Class FileBrowserDialog Inherits Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. @@ -36,7 +36,7 @@ Partial Class FB_Dialog <DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.components = New Container() - Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(FB_Dialog)) + Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(FileBrowserDialog)) Me.SplitContainer1 = New SplitContainer() Me.Label1 = New Label() Me.ButtonNewDir = New Button() @@ -405,7 +405,7 @@ Partial Class FB_Dialog Me.Controls.Add(Me.SplitContainer1) Me.MinimizeBox = False Me.MinimumSize = New Size(341, 272) - Me.Name = "FB_Dialog" + Me.Name = "FileBrowserDialog" Me.ShowIcon = False Me.ShowInTaskbar = False Me.StartPosition = FormStartPosition.CenterParent diff --git a/VECTO/File Browser/FB_Dialog.resx b/VECTO/File Browser/FileBrowserDialog.resx similarity index 100% rename from VECTO/File Browser/FB_Dialog.resx rename to VECTO/File Browser/FileBrowserDialog.resx diff --git a/VECTO/File Browser/FB_Dialog.vb b/VECTO/File Browser/FileBrowserDialog.vb similarity index 93% rename from VECTO/File Browser/FB_Dialog.vb rename to VECTO/File Browser/FileBrowserDialog.vb index 5b084d362c6e5612b8033cc0390de7f21157466a..b1498f0eeae38bf33f3d76bdfbd540a73ac24fd2 100644 --- a/VECTO/File Browser/FB_Dialog.vb +++ b/VECTO/File Browser/FileBrowserDialog.vb @@ -19,7 +19,7 @@ Imports System.Runtime.InteropServices ''' <summary> ''' File Browser dialog. Entirely controlled by cFilebrowser class. ''' </summary> -Public Class FB_Dialog +Public Class FileBrowserDialog Private _myFolder As String Private _myFiles() As String Private _myDrive As String @@ -192,10 +192,10 @@ Public Class FB_Dialog 'Load Folder History ContextMenu For x = 0 To 9 - ContextMenuHisFolder.Items(x).Text = FB_FolderHistory(x) + ContextMenuHisFolder.Items(x).Text = FileBrowserFolderHistory(x) Next For x = 10 To 19 - ContextMenuHisFolder.Items(x + 1).Text = FB_FolderHistory(x) + ContextMenuHisFolder.Items(x + 1).Text = FileBrowserFolderHistory(x) Next 'Options @@ -239,7 +239,7 @@ Public Class FB_Dialog 'Define Path ' If no path is specified: Last folder, no file name - If path = "" Then path = FB_FolderHistory(0) + If path = "" Then path = FileBrowserFolderHistory(0) ' If path-length too small (Path is invalid): Last File If path.Length < 2 Then path = _lastFile @@ -247,10 +247,10 @@ Public Class FB_Dialog 'Open Folder - If no folder in the path: Last folder If fPATH(path) = "" Then 'If given a file without path - If Trim(FB_FolderHistory(0)) = "" Then + If Trim(FileBrowserFolderHistory(0)) = "" Then SetFolder("C:\") Else - SetFolder(FB_FolderHistory(0)) + SetFolder(FileBrowserFolderHistory(0)) End If Else '...Otherwise: @@ -277,10 +277,10 @@ Public Class FB_Dialog End If 'Update Global History Folder For x = 0 To 9 - FB_FolderHistory(x) = ContextMenuHisFolder.Items(x).Text + FileBrowserFolderHistory(x) = ContextMenuHisFolder.Items(x).Text Next For x = 10 To 19 - FB_FolderHistory(x) = ContextMenuHisFolder.Items(x + 1).Text + FileBrowserFolderHistory(x) = ContextMenuHisFolder.Items(x + 1).Text Next Return True Else @@ -293,23 +293,23 @@ Public Class FB_Dialog 'Close and save File / Folder History Public Sub SaveAndClose() 'Folder History - If FB_Init Then + If FileBrowserFolderHistoryIninialized Then Try - Dim f = My.Computer.FileSystem.OpenTextFileWriter(FB_FilHisDir & "Directories.txt", False, Encoding.UTF8) + Dim f = My.Computer.FileSystem.OpenTextFileWriter(FileHistoryPath & "Directories.txt", False, Encoding.UTF8) For x = 0 To 19 - f.WriteLine(FB_FolderHistory(x)) + f.WriteLine(FileBrowserFolderHistory(x)) Next f.Close() f.Dispose() Catch ex As Exception End Try - FB_Init = False + FileBrowserFolderHistoryIninialized = False End If 'File History If _initialized And Not _bLightMode Then If Not _bBrowseFolder Then Try - Dim f = My.Computer.FileSystem.OpenTextFileWriter(FB_FilHisDir & _myId & ".txt", False, Encoding.UTF8) + Dim f = My.Computer.FileSystem.OpenTextFileWriter(FileHistoryPath & _myId & ".txt", False, Encoding.UTF8) For x = 0 To 9 f.WriteLine(ContextMenuHisFile.Items(x).Text) Next @@ -343,11 +343,11 @@ Public Class FB_Dialog _updateLock = True 'Initialization for Global File Browser - If Not FB_Init Then GlobalInit() + If Not FileBrowserFolderHistoryIninialized Then GlobalInit() 'Load Drive ComboBox - For x = 0 To UBound(FB_Drives) - ComboBoxDrive.Items.Add(FB_Drives(x)) + For x = 0 To UBound(Drives) + ComboBoxDrive.Items.Add(Drives(x)) Next 'FolderHistory ContextMenu @@ -364,13 +364,13 @@ Public Class FB_Dialog 'FileHistory ContextMenu If _bBrowseFolder Then - _lastFile = FB_FolderHistory(0) + _lastFile = FileBrowserFolderHistory(0) ElseIf Not _bLightMode Then For x = 0 To 9 ContextMenuHisFile.Items.Add("") Next - If File.Exists(FB_FilHisDir & _myId & ".txt") Then - Dim f = New StreamReader(FB_FilHisDir & _myId & ".txt") + If File.Exists(FileHistoryPath & _myId & ".txt") Then + Dim f = New StreamReader(FileHistoryPath & _myId & ".txt") Dim x = -1 Do While Not f.EndOfStream And x < 9 x += 1 @@ -404,29 +404,29 @@ Public Class FB_Dialog Private Sub GlobalInit() 'Create Drive List - ReDim FB_Drives(UBound(Directory.GetLogicalDrives())) + ReDim Drives(UBound(Directory.GetLogicalDrives())) Dim x = -1 For Each drive In Directory.GetLogicalDrives() x += 1 - FB_Drives(x) = Microsoft.VisualBasic.Left(drive, 2) + Drives(x) = Microsoft.VisualBasic.Left(drive, 2) Next 'Read Folder History For x = 0 To 19 - FB_FolderHistory(x) = EmptyText + FileBrowserFolderHistory(x) = EmptyText Next - If File.Exists(FB_FilHisDir & "Directories.txt") Then - Dim f = New StreamReader(FB_FilHisDir & "Directories.txt") + If File.Exists(FileHistoryPath & "Directories.txt") Then + Dim f = New StreamReader(FileHistoryPath & "Directories.txt") x = -1 Do While Not f.EndOfStream And x < 19 x += 1 - FB_FolderHistory(x) = f.ReadLine() + FileBrowserFolderHistory(x) = f.ReadLine() Loop f.Dispose() f.Close() End If - FB_Init = True + FileBrowserFolderHistoryIninialized = True End Sub 'ComboBoxDrive_SelectedIndexChanged @@ -641,16 +641,16 @@ Public Class FB_Dialog If path = EmptyText Then Exit Sub If path = FavText Then - Dim favdlog = New FB_FavDlog + Dim favdlog = New FileBrowserFavoritesDialog If favdlog.ShowDialog(Me) = DialogResult.OK Then For x = 10 To 19 path = favdlog.ListBox1.Items(x - 10) If path = NoFavString Then - FB_FolderHistory(x) = EmptyText + FileBrowserFolderHistory(x) = EmptyText Else - FB_FolderHistory(x) = path + FileBrowserFolderHistory(x) = path End If - ContextMenuHisFolder.Items(x + 1).Text = FB_FolderHistory(x) + ContextMenuHisFolder.Items(x + 1).Text = FileBrowserFolderHistory(x) Next End If Else @@ -711,12 +711,12 @@ Public Class FB_Dialog path = fPATH(path) Dim x As Integer For x = 0 To 8 - If UCase(FB_FolderHistory(x)) = UCase(path) Then Exit For + If UCase(FileBrowserFolderHistory(x)) = UCase(path) Then Exit For Next For y = x To 1 Step -1 - FB_FolderHistory(y) = FB_FolderHistory(y - 1) + FileBrowserFolderHistory(y) = FileBrowserFolderHistory(y - 1) Next - FB_FolderHistory(0) = path + FileBrowserFolderHistory(0) = path End Sub 'Change folder @@ -949,4 +949,3 @@ lb10: End Class - diff --git a/VECTO/File Browser/FB_FavDlog.designer.vb b/VECTO/File Browser/FileBrowserFavoritesDialog.designer.vb similarity index 98% rename from VECTO/File Browser/FB_FavDlog.designer.vb rename to VECTO/File Browser/FileBrowserFavoritesDialog.designer.vb index 2486082918ea92e1bd1e004780a32d67273e3a7c..4f768bb217bacb204b339538e7cc2f3281f123d8 100644 --- a/VECTO/File Browser/FB_FavDlog.designer.vb +++ b/VECTO/File Browser/FileBrowserFavoritesDialog.designer.vb @@ -13,7 +13,7 @@ Imports Microsoft.VisualBasic.CompilerServices <DesignerGenerated()> _ -Partial Class FB_FavDlog +Partial Class FileBrowserFavoritesDialog Inherits Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. @@ -113,7 +113,7 @@ Partial Class FB_FavDlog Me.MaximumSize = New Size(5000, 242) Me.MinimizeBox = False Me.MinimumSize = New Size(0, 242) - Me.Name = "FB_FavDlog" + Me.Name = "FileBrowserFavoritesDialog" Me.ShowIcon = False Me.ShowInTaskbar = False Me.StartPosition = FormStartPosition.CenterParent diff --git a/VECTO/File Browser/FB_FavDlog.resx b/VECTO/File Browser/FileBrowserFavoritesDialog.resx similarity index 100% rename from VECTO/File Browser/FB_FavDlog.resx rename to VECTO/File Browser/FileBrowserFavoritesDialog.resx diff --git a/VECTO/File Browser/FB_FavDlog.vb b/VECTO/File Browser/FileBrowserFavoritesDialog.vb similarity index 93% rename from VECTO/File Browser/FB_FavDlog.vb rename to VECTO/File Browser/FileBrowserFavoritesDialog.vb index 116a75efa6726fcbca275ba0de54d36e349f0869..8f5dc727112d996be621469d42e05b18f83590fd 100644 --- a/VECTO/File Browser/FB_FavDlog.vb +++ b/VECTO/File Browser/FileBrowserFavoritesDialog.vb @@ -17,13 +17,13 @@ Imports System.Windows.Forms ''' Sub-dialog for File Browser. Entirely controlled by cFilebrowser class (via FB_Dialog). ''' </summary> ''' <remarks></remarks> -Public Class FB_FavDlog +Public Class FileBrowserFavoritesDialog Private Const NoFavString As String = "<empty favorite slot>" Private Const EmptyText As String = " " Private Sub FB_FavDlog_Load(sender As Object, e As EventArgs) Handles Me.Load For x = 10 To 19 - Dim txt = FB_FolderHistory(x) + Dim txt = FileBrowserFolderHistory(x) If txt = EmptyText Then ListBox1.Items.Add(NoFavString) Else @@ -48,7 +48,7 @@ Public Class FB_FavDlog If txt = NoFavString Then txt = "" - Dim fb = New cFileBrowser("DirBr", True, True) + Dim fb = New FileBrowser("DirBr", True, True) If fb.OpenDialog(txt) Then txt = fb.Files(0) diff --git a/VECTO/File Browser/FileBrowserModule.vb b/VECTO/File Browser/FileBrowserModule.vb new file mode 100644 index 0000000000000000000000000000000000000000..b3e0756b5675a2c294bc0d90e6bcb4d5b7140cdf --- /dev/null +++ b/VECTO/File Browser/FileBrowserModule.vb @@ -0,0 +1,45 @@ +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. + +''' <summary> +''' Global File Brower properties and cFilebrowser instances. +''' </summary> +''' <remarks></remarks> +Public Module FileBrowserModule + Public ReadOnly FileBrowserFolderHistory(19) As String + Public Drives() As String + Public FileBrowserFolderHistoryIninialized As Boolean + Public FileHistoryPath As String + '----------------------------- + Public FolderFileBrowser As FileBrowser + Public JobfileFileBrowser As FileBrowser + Public TextFileBrowser As FileBrowser + Public VehicleFileBrowser As FileBrowser + Public DrivingCycleFileBrowser As FileBrowser + Public FuelConsumptionMapFileBrowser As FileBrowser + Public FullLoadCurveFileBrowser As FileBrowser + + Public EngineFileBrowser As FileBrowser + Public GearboxFileBrowser As FileBrowser + Public DriverAccelerationFileBrowser As FileBrowser + Public DriverDecisionFactorTargetSpeedFileBrowser As FileBrowser + Public DriverDecisionFactorVelocityDropFileBrowser As FileBrowser + Public AuxFileBrowser As FileBrowser + + Public GearboxShiftPolygonFileBrowser As FileBrowser + Public TransmissionLossMapFileBrowser As FileBrowser + Public RetarderLossMapFileBrowser As FileBrowser + Public TorqueConverterFileBrowser As FileBrowser + Public fbTCCShift As FileBrowser + Public fbCDx As FileBrowser + + Public ModalResultsFileBrowser As FileBrowser +End Module diff --git a/VECTO/GUI/F_AboutBox.Designer.vb b/VECTO/GUI/AboutBox.Designer.vb similarity index 99% rename from VECTO/GUI/F_AboutBox.Designer.vb rename to VECTO/GUI/AboutBox.Designer.vb index 316c30ef5f62b807207c7d07ee675933dbf43256..fa8e20b654515c7cad86024db5d92c0bb863e35a 100644 --- a/VECTO/GUI/F_AboutBox.Designer.vb +++ b/VECTO/GUI/AboutBox.Designer.vb @@ -13,7 +13,7 @@ Imports Microsoft.VisualBasic.CompilerServices Imports TUGraz.VECTO.My.Resources <DesignerGenerated()> _ -Partial Class F_AboutBox +Partial Class AboutBox Inherits Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. @@ -191,7 +191,7 @@ Partial Class F_AboutBox Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label8) Me.FormBorderStyle = FormBorderStyle.FixedToolWindow - Me.Name = "F_AboutBox" + Me.Name = "AboutBox" Me.StartPosition = FormStartPosition.CenterParent Me.Text = "About VECTO" Me.Panel1.ResumeLayout(False) diff --git a/VECTO/GUI/F_AboutBox.resx b/VECTO/GUI/AboutBox.resx similarity index 100% rename from VECTO/GUI/F_AboutBox.resx rename to VECTO/GUI/AboutBox.resx diff --git a/VECTO/GUI/F_AboutBox.vb b/VECTO/GUI/AboutBox.vb similarity index 98% rename from VECTO/GUI/F_AboutBox.vb rename to VECTO/GUI/AboutBox.vb index f171627c9d3c53da3202fd5482f73c3f462e0123..a6aeb1e60f4d046cf06c0b866e9e0cdcc5d00d09 100644 --- a/VECTO/GUI/F_AboutBox.vb +++ b/VECTO/GUI/AboutBox.vb @@ -14,7 +14,7 @@ ''' About Dialog. Shows Licence and contact/support information ''' </summary> ''' <remarks></remarks> -Public Class F_AboutBox +Public Class AboutBox 'Initialize Private Sub F10_AboutBox_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load Text = "VECTO " & VECTOvers & " / VectoCore " & COREvers diff --git a/VECTO/GUI/F_ENG.Designer.vb b/VECTO/GUI/EngineForm.Designer.vb similarity index 99% rename from VECTO/GUI/F_ENG.Designer.vb rename to VECTO/GUI/EngineForm.Designer.vb index afa948e1f61c7c1dd3584359ee45b6f6ce42cad2..c8374d87abd9a2c81e01fab37c19bafbb5a46aef 100644 --- a/VECTO/GUI/F_ENG.Designer.vb +++ b/VECTO/GUI/EngineForm.Designer.vb @@ -12,7 +12,7 @@ Imports System.ComponentModel Imports Microsoft.VisualBasic.CompilerServices <DesignerGenerated()> _ -Partial Class F_ENG +Partial Class EngineForm Inherits Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. @@ -36,7 +36,7 @@ Partial Class F_ENG <DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.components = New Container() - Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(F_ENG)) + Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(EngineForm)) Me.TbNleerl = New TextBox() Me.Label11 = New Label() Me.TbInertia = New TextBox() @@ -537,7 +537,7 @@ Partial Class F_ENG Me.FormBorderStyle = FormBorderStyle.FixedSingle Me.Icon = CType(resources.GetObject("$this.Icon"), Icon) Me.MaximizeBox = False - Me.Name = "F_ENG" + Me.Name = "EngineForm" Me.StartPosition = FormStartPosition.CenterParent Me.Text = "F_ENG" Me.ToolStrip1.ResumeLayout(False) diff --git a/VECTO/GUI/F_ENG.resx b/VECTO/GUI/EngineForm.resx similarity index 100% rename from VECTO/GUI/F_ENG.resx rename to VECTO/GUI/EngineForm.resx diff --git a/VECTO/GUI/F_ENG.vb b/VECTO/GUI/EngineForm.vb similarity index 78% rename from VECTO/GUI/F_ENG.vb rename to VECTO/GUI/EngineForm.vb index 27df8b7a10cc96740fd3044ea05321c49ba7d4f3..98fa44ac6c989e7e824dc653ea2807df6f063783 100644 --- a/VECTO/GUI/F_ENG.vb +++ b/VECTO/GUI/EngineForm.vb @@ -1,521 +1,520 @@ - -Imports System.Drawing.Imaging -Imports System.IO -Imports System.Text.RegularExpressions -Imports System.Windows.Forms.DataVisualization.Charting -Imports System.Xml.Linq -Imports TUGraz.VectoCommon.Models -Imports TUGraz.VectoCommon.Utils -Imports TUGraz.VectoCore.Models.Declaration -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. - -''' <summary> -''' Engine Editor. Open and save .VENG files. -''' </summary> -''' <remarks></remarks> -Public Class F_ENG - Private EngFile As String = "" - Public AutoSendTo As Boolean = False - Public JobDir As String = "" - Private Changed As Boolean = False - - - 'Before closing Editor: Check if file was changed and ask to save. - Private Sub F_ENG_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing - If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then - e.Cancel = ChangeCheckCancel() - End If - End Sub - - 'Initialise. - Private Sub F_ENG_Load(sender As Object, e As EventArgs) Handles Me.Load - - PnInertia.Enabled = Not Cfg.DeclMode - GrWHTC.Enabled = Cfg.DeclMode - - - Changed = False - newENG() - End Sub - - 'Set generic values for Declaration mode. - Private Sub DeclInit() - - If Not Cfg.DeclMode Then Exit Sub - - TbInertia.Text = - CStr( - DeclarationData.Engine.EngineInertia((fTextboxToNumString(TbDispl.Text) / 1000.0).SI(Of CubicMeter), - GearboxType.AMT).Value()) - End Sub - - -#Region "Toolbar" - - Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click - newENG() - End Sub - - Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click - If fbENG.OpenDialog(EngFile) Then openENG(fbENG.Files(0)) - End Sub - - Private Sub ToolStripBtSave_Click(sender As Object, e As EventArgs) Handles ToolStripBtSave.Click - SaveOrSaveAs(False) - End Sub - - Private Sub ToolStripBtSaveAs_Click(sender As Object, e As EventArgs) Handles ToolStripBtSaveAs.Click - SaveOrSaveAs(True) - End Sub - - Private Sub ToolStripBtSendTo_Click(sender As Object, e As EventArgs) Handles ToolStripBtSendTo.Click - - If ChangeCheckCancel() Then Exit Sub - - If EngFile = "" Then - If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then - If Not SaveOrSaveAs(True) Then Exit Sub - Else - Exit Sub - End If - End If - - If Not F_VECTO.Visible Then - JobDir = "" - F_VECTO.Show() - F_VECTO.VECTOnew() - Else - F_VECTO.WindowState = FormWindowState.Normal - End If - - F_VECTO.TbENG.Text = fFileWoDir(EngFile, JobDir) - End Sub - - Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click - If File.Exists(MyAppPath & "User Manual\help.html") Then - Dim BrowserRegistryString As String = - My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString - Dim DefaultBrowserPath As String = - Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString - Process.Start(DefaultBrowserPath, - String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#engine-editor")) - Else - MsgBox("User Manual not found!", MsgBoxStyle.Critical) - End If - End Sub - -#End Region - - 'Create new empty Engine file. - Private Sub newENG() - - If ChangeCheckCancel() Then Exit Sub - - TbName.Text = "" - TbDispl.Text = "" - TbInertia.Text = "" - TbNleerl.Text = "" - TbMAP.Text = "" - TbFLD.Text = "" - TbWHTCurban.Text = "" - TbWHTCrural.Text = "" - TbWHTCmw.Text = "" - - DeclInit() - - EngFile = "" - Text = "ENG Editor" - LbStatus.Text = "" - - Changed = False - - UpdatePic() - End Sub - - 'Open VENG file - Public Sub openENG(ByVal file As String) - Dim ENG0 As cENG - - If ChangeCheckCancel() Then Exit Sub - - ENG0 = New cENG - - ENG0.FilePath = file - - If Not ENG0.ReadFile Then - MsgBox("Cannot read " & file & "!") - Exit Sub - End If - - If Cfg.DeclMode <> ENG0.SavedInDeclMode Then - Select Case WrongMode() - Case 1 - Close() - F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked - F_MAINForm.OpenVectoFile(file) - Case -1 - Exit Sub - Case Else '0 - 'Continue... - End Select - End If - - TbName.Text = ENG0.ModelName - TbDispl.Text = ENG0.Displ.ToString - TbInertia.Text = ENG0.I_mot.ToString - TbNleerl.Text = ENG0.Nidle.ToString - - TbMAP.Text = ENG0.PathMAP(True) - TbFLD.Text = ENG0.PathFLD(True) - TbWHTCurban.Text = ENG0.WHTCurban - TbWHTCrural.Text = ENG0.WHTCrural - TbWHTCmw.Text = ENG0.WHTCmw - - DeclInit() - - fbENG.UpdateHistory(file) - Text = fFILE(file, True) - LbStatus.Text = "" - EngFile = file - Activate() - - Changed = False - UpdatePic() - End Sub - - 'Save or Save As function = true if file is saved - Private Function SaveOrSaveAs(ByVal SaveAs As Boolean) As Boolean - If EngFile = "" Or SaveAs Then - If fbENG.SaveDialog(EngFile) Then - EngFile = fbENG.Files(0) - Else - Return False - End If - End If - Return saveENG(EngFile) - End Function - - 'Save VENG file to given filepath. Called by SaveOrSaveAs. - Private Function saveENG(ByVal file As String) As Boolean - Dim ENG0 As cENG - - ENG0 = New cENG - ENG0.FilePath = file - - ENG0.ModelName = TbName.Text - If Trim(ENG0.ModelName) = "" Then ENG0.ModelName = "Undefined" - ENG0.Displ = CSng(fTextboxToNumString(TbDispl.Text)) - ENG0.I_mot = CSng(fTextboxToNumString(TbInertia.Text)) - ENG0.Nidle = CSng(fTextboxToNumString(TbNleerl.Text)) - - ENG0.PathFLD = TbFLD.Text - ENG0.PathMAP = TbMAP.Text - - - ENG0.WHTCurban = CSng(fTextboxToNumString(TbWHTCurban.Text)) - ENG0.WHTCrural = CSng(fTextboxToNumString(TbWHTCrural.Text)) - ENG0.WHTCmw = CSng(fTextboxToNumString(TbWHTCmw.Text)) - - - If Not ENG0.SaveFile Then - MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) - Return False - End If - - If AutoSendTo Then - If F_VECTO.Visible Then - If UCase(fFileRepl(F_VECTO.TbENG.Text, JobDir)) <> UCase(file) Then F_VECTO.TbENG.Text = fFileWoDir(file, JobDir) - F_VECTO.UpdatePic() - End If - End If - - fbENG.UpdateHistory(file) - Text = fFILE(file, True) - LbStatus.Text = "" - - Changed = False - - Return True - End Function - - -#Region "Track changes" - - 'Flags current file as modified. - Private Sub Change() - If Not Changed Then - LbStatus.Text = "Unsaved changes in current file" - Changed = True - End If - End Sub - - ' "Save changes ?" .... Returns True if User aborts - Private Function ChangeCheckCancel() As Boolean - - If Changed Then - Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel) - Case MsgBoxResult.Yes - Return Not SaveOrSaveAs(False) - Case MsgBoxResult.Cancel - Return True - Case Else 'MsgBoxResult.No - Changed = False - Return False - End Select - - Else - - Return False - - End If - End Function - - - Private Sub TbName_TextChanged(sender As Object, e As EventArgs) Handles TbName.TextChanged - Change() - End Sub - - Private Sub TbDispl_TextChanged(sender As Object, e As EventArgs) Handles TbDispl.TextChanged - Change() - DeclInit() - End Sub - - Private Sub TbInertia_TextChanged(sender As Object, e As EventArgs) Handles TbInertia.TextChanged - Change() - End Sub - - Private Sub TbNleerl_TextChanged(sender As Object, e As EventArgs) Handles TbNleerl.TextChanged - UpdatePic() - Change() - End Sub - - Private Sub TbMAP_TextChanged(sender As Object, e As EventArgs) _ - Handles TbMAP.TextChanged, TbFLD.TextChanged - UpdatePic() - Change() - End Sub - - Private Sub TbWHTCurban_TextChanged(sender As Object, e As EventArgs) Handles TbWHTCurban.TextChanged - Change() - End Sub - - Private Sub TbWHTCrural_TextChanged(sender As Object, e As EventArgs) Handles TbWHTCrural.TextChanged - Change() - End Sub - - Private Sub TbWHTCmw_TextChanged(sender As Object, e As EventArgs) Handles TbWHTCmw.TextChanged - Change() - End Sub - - -#End Region - - 'Browse for VMAP file - Private Sub BtMAP_Click(sender As Object, e As EventArgs) Handles BtMAP.Click - If fbMAP.OpenDialog(fFileRepl(TbMAP.Text, fPATH(EngFile))) Then _ - TbMAP.Text = fFileWoDir(fbMAP.Files(0), fPATH(EngFile)) - End Sub - - - 'Open VMAP file - Private Sub BtMAPopen_Click(sender As Object, e As EventArgs) Handles BtMAPopen.Click - Dim fldfile As String - - fldfile = fFileRepl(TbFLD.Text, fPATH(EngFile)) - - If fldfile <> sKey.NoFile AndAlso File.Exists(fldfile) Then - OpenFiles(fFileRepl(TbMAP.Text, fPATH(EngFile)), fldfile) - Else - OpenFiles(fFileRepl(TbMAP.Text, fPATH(EngFile))) - End If - End Sub - - - 'Save and close - Private Sub ButOK_Click(sender As Object, e As EventArgs) Handles ButOK.Click - If SaveOrSaveAs(False) Then Close() - End Sub - - 'Close without saving (see FormClosing Event) - Private Sub ButCancel_Click(sender As Object, e As EventArgs) Handles ButCancel.Click - Close() - End Sub - - Private Sub UpdatePic() - - Dim fldOK As Boolean = False - Dim mapOK As Boolean = False - Dim FLD0 As New cFLD - Dim MAP0 As New cMAP - Dim MyChart As Chart - Dim s As Series - Dim a As ChartArea - Dim img As Image - - PicBox.Image = Nothing - - Try - - 'Read Files - FLD0.FilePath = fFileRepl(TbFLD.Text, fPATH(EngFile)) - fldOK = FLD0.ReadFile(False, False) - - MAP0.FilePath = fFileRepl(TbMAP.Text, fPATH(EngFile)) - mapOK = MAP0.ReadFile(False) - - Catch ex As Exception - - End Try - - If Not fldOK And Not mapOK Then Exit Sub - - - 'Create plot - MyChart = New Chart - MyChart.Width = PicBox.Width - MyChart.Height = PicBox.Height - - a = New ChartArea - - If fldOK Then - - s = New Series - s.Points.DataBindXY(FLD0.LnU, FLD0.LTq) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.DarkBlue - s.Name = "Full load (" & fFILE(FLD0.FilePath, True) & ")" - MyChart.Series.Add(s) - - s = New Series - s.Points.DataBindXY(FLD0.LnU, FLD0.LTqDrag) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.Blue - s.Name = "Motoring (" & fFILE(FLD0.FilePath, True) & ")" - MyChart.Series.Add(s) - - End If - - If mapOK Then - s = New Series - s.Points.DataBindXY(MAP0.nU, MAP0.Tq) - s.ChartType = SeriesChartType.Point - s.MarkerSize = 3 - s.Color = Color.Red - s.Name = "Map" - MyChart.Series.Add(s) - End If - - a.Name = "main" - - a.AxisX.Title = "engine speed [1/min]" - a.AxisX.TitleFont = New Font("Helvetica", 10) - a.AxisX.LabelStyle.Font = New Font("Helvetica", 8) - a.AxisX.LabelAutoFitStyle = LabelAutoFitStyles.None - a.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dot - - a.AxisY.Title = "engine torque [Nm]" - a.AxisY.TitleFont = New Font("Helvetica", 10) - a.AxisY.LabelStyle.Font = New Font("Helvetica", 8) - a.AxisY.LabelAutoFitStyle = LabelAutoFitStyles.None - a.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dot - - a.AxisX.Minimum = 300 - a.BorderDashStyle = ChartDashStyle.Solid - a.BorderWidth = 1 - - a.BackColor = Color.GhostWhite - - MyChart.ChartAreas.Add(a) - - MyChart.Update() - - img = New Bitmap(MyChart.Width, MyChart.Height, PixelFormat.Format32bppArgb) - MyChart.DrawToBitmap(img, New Rectangle(0, 0, PicBox.Width, PicBox.Height)) - - - PicBox.Image = img - End Sub - - -#Region "Open File Context Menu" - - Private CmFiles As String() - - Private Sub OpenFiles(ParamArray files() As String) - - If files.Length = 0 Then Exit Sub - - CmFiles = files - - OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName - - CmOpenFile.Show(Windows.Forms.Cursor.Position) - End Sub - - Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles OpenWithToolStripMenuItem.Click - If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!") - End Sub - - Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles ShowInFolderToolStripMenuItem.Click - If File.Exists(CmFiles(0)) Then - Try - Process.Start("explorer", "/select,""" & CmFiles(0) & "") - Catch ex As Exception - MsgBox("Failed to open file!") - End Try - Else - MsgBox("File not found!") - End If - End Sub - -#End Region - - - Private Sub BtFLD_Click(sender As Object, e As EventArgs) Handles BtFLD.Click - If fbFLD.OpenDialog(fFileRepl(TbFLD.Text, fPATH(EngFile))) Then _ - TbFLD.Text = fFileWoDir(fbFLD.Files(0), fPATH(EngFile)) - End Sub - - Private Sub BtFLDopen_Click(sender As Object, e As EventArgs) Handles BtFLDopen.Click - Dim fldfile As String - - fldfile = fFileRepl(TbFLD.Text, fPATH(EngFile)) - - If fldfile <> sKey.NoFile AndAlso File.Exists(fldfile) Then - OpenFiles(fldfile) - End If - End Sub - - Private Sub BtWHTCimport_Click(sender As Object, e As EventArgs) Handles BtWHTCimport.Click - Dim xml As XDocument - - Dim dlog As New cFileBrowser("XML", False, True) - dlog.Extensions = New String() {"xml"} - - If Not dlog.OpenDialog("") Then Exit Sub - - Try - xml = XDocument.Load(dlog.Files(0)) - - TbWHTCurban.Text = xml.<VECTO-Engine-TransferFile>.<WHTCCorrectionFactors>.<Urban>.Value - TbWHTCrural.Text = xml.<VECTO-Engine-TransferFile>.<WHTCCorrectionFactors>.<Rural>.Value - TbWHTCmw.Text = xml.<VECTO-Engine-TransferFile>.<WHTCCorrectionFactors>.<Motorway>.Value - - Catch ex As Exception - MsgBox("Failed to load file! " & ex.Message, MsgBoxStyle.Critical) - End Try - End Sub -End Class + +Imports System.Drawing.Imaging +Imports System.IO +Imports System.Text.RegularExpressions +Imports System.Windows.Forms.DataVisualization.Charting +Imports System.Xml.Linq +Imports TUGraz.VectoCommon.Models +Imports TUGraz.VectoCommon.Utils +Imports TUGraz.VectoCore.Models.Declaration +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. + +''' <summary> +''' Engine Editor. Open and save .VENG files. +''' </summary> +''' <remarks></remarks> +Public Class EngineForm + Private _engFile As String = "" + Public AutoSendTo As Boolean = False + Public JobDir As String = "" + Private _changed As Boolean = False + + + 'Before closing Editor: Check if file was changed and ask to save. + Private Sub F_ENG_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then + e.Cancel = ChangeCheckCancel() + End If + End Sub + + 'Initialise. + Private Sub EngineFormLoad(sender As Object, e As EventArgs) Handles Me.Load + + PnInertia.Enabled = Not Cfg.DeclMode + GrWHTC.Enabled = Cfg.DeclMode + + + _changed = False + NewEngine() + End Sub + + 'Set generic values for Declaration mode. + Private Sub DeclInit() + + If Not Cfg.DeclMode Then Exit Sub + + TbInertia.Text = + CStr( + DeclarationData.Engine.EngineInertia((fTextboxToNumString(TbDispl.Text) / 1000.0).SI(Of CubicMeter), + GearboxType.AMT).Value()) + End Sub + + +#Region "Toolbar" + + Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click + NewEngine() + End Sub + + Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click + If EngineFileBrowser.OpenDialog(_engFile) Then OpenEngineFile(EngineFileBrowser.Files(0)) + End Sub + + Private Sub ToolStripBtSave_Click(sender As Object, e As EventArgs) Handles ToolStripBtSave.Click + SaveOrSaveAs(False) + End Sub + + Private Sub ToolStripBtSaveAs_Click(sender As Object, e As EventArgs) Handles ToolStripBtSaveAs.Click + SaveOrSaveAs(True) + End Sub + + Private Sub ToolStripBtSendTo_Click(sender As Object, e As EventArgs) Handles ToolStripBtSendTo.Click + + If ChangeCheckCancel() Then Exit Sub + + If _engFile = "" Then + If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then + If Not SaveOrSaveAs(True) Then Exit Sub + Else + Exit Sub + End If + End If + + If Not VectoJobForm.Visible Then + JobDir = "" + VectoJobForm.Show() + VectoJobForm.VECTOnew() + Else + VectoJobForm.WindowState = FormWindowState.Normal + End If + + VectoJobForm.TbENG.Text = fFileWoDir(_engFile, JobDir) + End Sub + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + If File.Exists(MyAppPath & "User Manual\help.html") Then + Dim BrowserRegistryString As String = + My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString + Dim DefaultBrowserPath As String = + Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString + Process.Start(DefaultBrowserPath, + String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#engine-editor")) + Else + MsgBox("User Manual not found!", MsgBoxStyle.Critical) + End If + End Sub + +#End Region + + 'Create new empty Engine file. + Private Sub NewEngine() + + If ChangeCheckCancel() Then Exit Sub + + TbName.Text = "" + TbDispl.Text = "" + TbInertia.Text = "" + TbNleerl.Text = "" + TbMAP.Text = "" + TbFLD.Text = "" + TbWHTCurban.Text = "" + TbWHTCrural.Text = "" + TbWHTCmw.Text = "" + + DeclInit() + + _engFile = "" + Text = "ENG Editor" + LbStatus.Text = "" + + _changed = False + + UpdatePic() + End Sub + + 'Open VENG file + Public Sub OpenEngineFile(ByVal file As String) + Dim ENG0 As Engine + + If ChangeCheckCancel() Then Exit Sub + + ENG0 = New Engine + + ENG0.FilePath = file + + If Not ENG0.ReadFile Then + MsgBox("Cannot read " & file & "!") + Exit Sub + End If + + If Cfg.DeclMode <> ENG0.SavedInDeclMode Then + Select Case WrongMode() + Case 1 + Close() + MainForm.RbDecl.Checked = Not MainForm.RbDecl.Checked + MainForm.OpenVectoFile(file) + Case -1 + Exit Sub + Case Else '0 + 'Continue... + End Select + End If + + TbName.Text = ENG0.ModelName + TbDispl.Text = ENG0.Displ.ToString + TbInertia.Text = ENG0.I_mot.ToString + TbNleerl.Text = ENG0.Nidle.ToString + + TbMAP.Text = ENG0.PathMAP(True) + TbFLD.Text = ENG0.PathFLD(True) + TbWHTCurban.Text = ENG0.WHTCurban + TbWHTCrural.Text = ENG0.WHTCrural + TbWHTCmw.Text = ENG0.WHTCmw + + DeclInit() + + EngineFileBrowser.UpdateHistory(file) + Text = fFILE(file, True) + LbStatus.Text = "" + _engFile = file + Activate() + + _changed = False + UpdatePic() + End Sub + + 'Save or Save As function = true if file is saved + Private Function SaveOrSaveAs(ByVal SaveAs As Boolean) As Boolean + If _engFile = "" Or SaveAs Then + If EngineFileBrowser.SaveDialog(_engFile) Then + _engFile = EngineFileBrowser.Files(0) + Else + Return False + End If + End If + Return SaveEngineToFile(_engFile) + End Function + + 'Save VENG file to given filepath. Called by SaveOrSaveAs. + Private Function SaveEngineToFile(ByVal file As String) As Boolean + + Dim engine As Engine = New Engine + engine.FilePath = file + + engine.ModelName = TbName.Text + If Trim(engine.ModelName) = "" Then engine.ModelName = "Undefined" + engine.Displ = CSng(fTextboxToNumString(TbDispl.Text)) + engine.I_mot = CSng(fTextboxToNumString(TbInertia.Text)) + engine.Nidle = CSng(fTextboxToNumString(TbNleerl.Text)) + + engine.PathFLD = TbFLD.Text + engine.PathMAP = TbMAP.Text + + + engine.WHTCurban = CSng(fTextboxToNumString(TbWHTCurban.Text)) + engine.WHTCrural = CSng(fTextboxToNumString(TbWHTCrural.Text)) + engine.WHTCmw = CSng(fTextboxToNumString(TbWHTCmw.Text)) + + + If Not engine.SaveFile Then + MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) + Return False + End If + + If AutoSendTo Then + If VectoJobForm.Visible Then + If UCase(fFileRepl(VectoJobForm.TbENG.Text, JobDir)) <> UCase(file) Then VectoJobForm.TbENG.Text = fFileWoDir(file, JobDir) + VectoJobForm.UpdatePic() + End If + End If + + EngineFileBrowser.UpdateHistory(file) + Text = fFILE(file, True) + LbStatus.Text = "" + + _changed = False + + Return True + End Function + + +#Region "Track changes" + + 'Flags current file as modified. + Private Sub Change() + If Not _changed Then + LbStatus.Text = "Unsaved changes in current file" + _changed = True + End If + End Sub + + ' "Save changes ?" .... Returns True if User aborts + Private Function ChangeCheckCancel() As Boolean + + If _changed Then + Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel) + Case MsgBoxResult.Yes + Return Not SaveOrSaveAs(False) + Case MsgBoxResult.Cancel + Return True + Case Else 'MsgBoxResult.No + _changed = False + Return False + End Select + + Else + + Return False + + End If + End Function + + + Private Sub TbName_TextChanged(sender As Object, e As EventArgs) Handles TbName.TextChanged + Change() + End Sub + + Private Sub TbDispl_TextChanged(sender As Object, e As EventArgs) Handles TbDispl.TextChanged + Change() + DeclInit() + End Sub + + Private Sub TbInertia_TextChanged(sender As Object, e As EventArgs) Handles TbInertia.TextChanged + Change() + End Sub + + Private Sub TbNleerl_TextChanged(sender As Object, e As EventArgs) Handles TbNleerl.TextChanged + UpdatePic() + Change() + End Sub + + Private Sub TbMAP_TextChanged(sender As Object, e As EventArgs) _ + Handles TbMAP.TextChanged, TbFLD.TextChanged + UpdatePic() + Change() + End Sub + + Private Sub TbWHTCurban_TextChanged(sender As Object, e As EventArgs) Handles TbWHTCurban.TextChanged + Change() + End Sub + + Private Sub TbWHTCrural_TextChanged(sender As Object, e As EventArgs) Handles TbWHTCrural.TextChanged + Change() + End Sub + + Private Sub TbWHTCmw_TextChanged(sender As Object, e As EventArgs) Handles TbWHTCmw.TextChanged + Change() + End Sub + + +#End Region + + 'Browse for VMAP file + Private Sub BtMAP_Click(sender As Object, e As EventArgs) Handles BtMAP.Click + If FuelConsumptionMapFileBrowser.OpenDialog(fFileRepl(TbMAP.Text, fPATH(_engFile))) Then _ + TbMAP.Text = fFileWoDir(FuelConsumptionMapFileBrowser.Files(0), fPATH(_engFile)) + End Sub + + + 'Open VMAP file + Private Sub BtMAPopen_Click(sender As Object, e As EventArgs) Handles BtMAPopen.Click + Dim fldfile As String + + fldfile = fFileRepl(TbFLD.Text, fPATH(_engFile)) + + If fldfile <> sKey.NoFile AndAlso File.Exists(fldfile) Then + OpenFiles(fFileRepl(TbMAP.Text, fPATH(_engFile)), fldfile) + Else + OpenFiles(fFileRepl(TbMAP.Text, fPATH(_engFile))) + End If + End Sub + + + 'Save and close + Private Sub ButOK_Click(sender As Object, e As EventArgs) Handles ButOK.Click + If SaveOrSaveAs(False) Then Close() + End Sub + + 'Close without saving (see FormClosing Event) + Private Sub ButCancel_Click(sender As Object, e As EventArgs) Handles ButCancel.Click + Close() + End Sub + + Private Sub UpdatePic() + + Dim fldOK As Boolean = False + Dim mapOK As Boolean = False + Dim FLD0 As New EngineFullLoadCurve + Dim MAP0 As New FuelconsumptionMap + Dim MyChart As Chart + Dim s As Series + Dim a As ChartArea + Dim img As Image + + PicBox.Image = Nothing + + Try + + 'Read Files + FLD0.FilePath = fFileRepl(TbFLD.Text, fPATH(_engFile)) + fldOK = FLD0.ReadFile(False, False) + + MAP0.FilePath = fFileRepl(TbMAP.Text, fPATH(_engFile)) + mapOK = MAP0.ReadFile(False) + + Catch ex As Exception + + End Try + + If Not fldOK And Not mapOK Then Exit Sub + + + 'Create plot + MyChart = New Chart + MyChart.Width = PicBox.Width + MyChart.Height = PicBox.Height + + a = New ChartArea + + If fldOK Then + + s = New Series + s.Points.DataBindXY(FLD0.LnU, FLD0.LTq) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.DarkBlue + s.Name = "Full load (" & fFILE(FLD0.FilePath, True) & ")" + MyChart.Series.Add(s) + + s = New Series + s.Points.DataBindXY(FLD0.LnU, FLD0.LTqDrag) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.Blue + s.Name = "Motoring (" & fFILE(FLD0.FilePath, True) & ")" + MyChart.Series.Add(s) + + End If + + If mapOK Then + s = New Series + s.Points.DataBindXY(MAP0.nU, MAP0.Tq) + s.ChartType = SeriesChartType.Point + s.MarkerSize = 3 + s.Color = Color.Red + s.Name = "Map" + MyChart.Series.Add(s) + End If + + a.Name = "main" + + a.AxisX.Title = "engine speed [1/min]" + a.AxisX.TitleFont = New Font("Helvetica", 10) + a.AxisX.LabelStyle.Font = New Font("Helvetica", 8) + a.AxisX.LabelAutoFitStyle = LabelAutoFitStyles.None + a.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dot + + a.AxisY.Title = "engine torque [Nm]" + a.AxisY.TitleFont = New Font("Helvetica", 10) + a.AxisY.LabelStyle.Font = New Font("Helvetica", 8) + a.AxisY.LabelAutoFitStyle = LabelAutoFitStyles.None + a.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dot + + a.AxisX.Minimum = 300 + a.BorderDashStyle = ChartDashStyle.Solid + a.BorderWidth = 1 + + a.BackColor = Color.GhostWhite + + MyChart.ChartAreas.Add(a) + + MyChart.Update() + + img = New Bitmap(MyChart.Width, MyChart.Height, PixelFormat.Format32bppArgb) + MyChart.DrawToBitmap(img, New Rectangle(0, 0, PicBox.Width, PicBox.Height)) + + + PicBox.Image = img + End Sub + + +#Region "Open File Context Menu" + + Private CmFiles As String() + + Private Sub OpenFiles(ParamArray files() As String) + + If files.Length = 0 Then Exit Sub + + CmFiles = files + + OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName + + CmOpenFile.Show(Windows.Forms.Cursor.Position) + End Sub + + Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles OpenWithToolStripMenuItem.Click + If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!") + End Sub + + Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles ShowInFolderToolStripMenuItem.Click + If File.Exists(CmFiles(0)) Then + Try + Process.Start("explorer", "/select,""" & CmFiles(0) & "") + Catch ex As Exception + MsgBox("Failed to open file!") + End Try + Else + MsgBox("File not found!") + End If + End Sub + +#End Region + + + Private Sub BtFLD_Click(sender As Object, e As EventArgs) Handles BtFLD.Click + If FullLoadCurveFileBrowser.OpenDialog(fFileRepl(TbFLD.Text, fPATH(_engFile))) Then _ + TbFLD.Text = fFileWoDir(FullLoadCurveFileBrowser.Files(0), fPATH(_engFile)) + End Sub + + Private Sub BtFLDopen_Click(sender As Object, e As EventArgs) Handles BtFLDopen.Click + Dim fldfile As String + + fldfile = fFileRepl(TbFLD.Text, fPATH(_engFile)) + + If fldfile <> sKey.NoFile AndAlso File.Exists(fldfile) Then + OpenFiles(fldfile) + End If + End Sub + + Private Sub BtWHTCimport_Click(sender As Object, e As EventArgs) Handles BtWHTCimport.Click + Dim xml As XDocument + + Dim dlog As New FileBrowser("XML", False, True) + dlog.Extensions = New String() {"xml"} + + If Not dlog.OpenDialog("") Then Exit Sub + + Try + xml = XDocument.Load(dlog.Files(0)) + + TbWHTCurban.Text = xml.<VECTO-Engine-TransferFile>.<WHTCCorrectionFactors>.<Urban>.Value + TbWHTCrural.Text = xml.<VECTO-Engine-TransferFile>.<WHTCCorrectionFactors>.<Rural>.Value + TbWHTCmw.Text = xml.<VECTO-Engine-TransferFile>.<WHTCCorrectionFactors>.<Motorway>.Value + + Catch ex As Exception + MsgBox("Failed to load file! " & ex.Message, MsgBoxStyle.Critical) + End Try + End Sub +End Class diff --git a/VECTO/GUI/F_FileSign.Designer.vb b/VECTO/GUI/FileSignDialog.Designer.vb similarity index 99% rename from VECTO/GUI/F_FileSign.Designer.vb rename to VECTO/GUI/FileSignDialog.Designer.vb index fff034502dc0fa5d327bd0ea09325f2b9fa1cce4..5ceac73395ef1e52facedfcf2fb05ba054132294 100644 --- a/VECTO/GUI/F_FileSign.Designer.vb +++ b/VECTO/GUI/FileSignDialog.Designer.vb @@ -12,7 +12,7 @@ Imports System.ComponentModel Imports Microsoft.VisualBasic.CompilerServices <DesignerGenerated()> _ -Partial Class F_FileSign +Partial Class FileSignDialog Inherits Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. @@ -35,7 +35,7 @@ Partial Class F_FileSign 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. <DebuggerStepThrough()> _ Private Sub InitializeComponent() - Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(F_FileSign)) + Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(FileSignDialog)) Me.TbSigFile = New TextBox() Me.Label1 = New Label() Me.BtBrowse = New Button() @@ -324,7 +324,7 @@ Partial Class F_FileSign Me.MaximizeBox = False Me.MinimizeBox = False Me.MinimumSize = New Size(480, 400) - Me.Name = "F_FileSign" + Me.Name = "FileSignDialog" Me.SizeGripStyle = SizeGripStyle.Show Me.StartPosition = FormStartPosition.CenterParent Me.Text = "Sign & Verify Files" diff --git a/VECTO/GUI/F_FileSign.resx b/VECTO/GUI/FileSignDialog.resx similarity index 100% rename from VECTO/GUI/F_FileSign.resx rename to VECTO/GUI/FileSignDialog.resx diff --git a/VECTO/GUI/F_FileSign.vb b/VECTO/GUI/FileSignDialog.vb similarity index 97% rename from VECTO/GUI/F_FileSign.vb rename to VECTO/GUI/FileSignDialog.vb index bcc1baa60c986ff692eff4ac39e2bf49fd604e90..ad5ee67b1a6b17fcbbdb169c94272c3d0c5ec7a8 100644 --- a/VECTO/GUI/F_FileSign.vb +++ b/VECTO/GUI/FileSignDialog.vb @@ -16,7 +16,7 @@ Imports vectolic ''' Create/Verify signature files (.vsig). ''' </summary> ''' <remarks></remarks> -Public Class F_FileSign +Public Class FileSignDialog 'Create signature file Private Sub BtSign_Click(sender As Object, e As EventArgs) Handles BtSign.Click Dim lv0 As ListViewItem @@ -138,7 +138,7 @@ Public Class F_FileSign #Region "GUI Controls" Private Sub BtBrowse_Click(sender As Object, e As EventArgs) Handles BtBrowse.Click - Dim fb As New cFileBrowser("sig", False, True) + Dim fb As New FileBrowser("sig", False, True) fb.Extensions = New String() {"vsig"} If fb.CustomDialog(TbSigFile.Text, False, False, tFbExtMode.ForceExt, False, "vsig") Then @@ -182,7 +182,7 @@ Public Class F_FileSign 'Add File Private Sub AddFile() Dim lvi As ListViewItem - Dim fb As New cFileBrowser("xxx", False, True) + Dim fb As New FileBrowser("xxx", False, True) Dim str As String If fb.OpenDialog("", True) Then diff --git a/VECTO/GUI/GUI_Subs.vb b/VECTO/GUI/GUI_Subs.vb index f6afa2344398f6b78b50f7f700317e8ba4201b6d..43cc81fd325193c22c9de01df02e64d6cfdeab4e 100644 --- a/VECTO/GUI/GUI_Subs.vb +++ b/VECTO/GUI/GUI_Subs.vb @@ -18,20 +18,20 @@ Public Module GUI_Subs #Region "GUI control via background worker" 'Status Message => Msg-Listview - Public Sub WorkerMsg(ByVal ID As tMsgID, ByVal Msg As String, ByVal Source As String, - Optional ByVal Link As String = "") - Dim WorkProg As New cWorkProg(tWorkMsgType.StatusListBox) - WorkProg.ID = ID - Select Case ID - Case tMsgID.Err - Case tMsgID.Warn + Public Sub WorkerMsg(ByVal id As MessageType, ByVal msg As String, ByVal source As String, + Optional ByVal link As String = "") + Dim workProg As New BackgroundWorkerMessage(tWorkMsgType.StatusListBox) + workProg.ID = id + Select Case id + Case MessageType.Err + Case MessageType.Warn End Select - WorkProg.Msg = Msg - WorkProg.Source = Source + workProg.Msg = msg + workProg.Source = source Try 'VECTOworker.ReportProgress(0, WorkProg) Catch ex As Exception - GUImsg(ID, Msg) + GUIMsg(id, msg) End Try End Sub @@ -40,63 +40,39 @@ Public Module GUI_Subs #Region "Direct GUI control - Cannot be called by background worker!" 'Status message - Public Sub GUImsg(ByVal ID As tMsgID, ByVal Msg As String) - F_MAINForm.MSGtoForm(ID, Msg, "", "") + ' ReSharper disable once InconsistentNaming + Public Sub GUIMsg(ByVal ID As MessageType, ByVal Msg As String) + MainForm.MSGtoForm(ID, Msg, "", "") End Sub 'Statusbar Public Sub Status(ByVal txt As String) - F_MAINForm.ToolStripLbStatus.Text = txt + MainForm.ToolStripLbStatus.Text = txt End Sub 'Status form reset - Public Sub ClearMSG() - F_MAINForm.LvMsg.Items.Clear() + Public Sub ClearMsg() + MainForm.LvMsg.Items.Clear() End Sub #End Region 'Class used to pass Messages from BackgroundWorker to GUI - Public Class cWorkProg - Private MyID As tMsgID - Private MyMsg As String - Private MySource As String - - Public Sub New(ByVal MsgTarget As tWorkMsgType) - MySource = "" + Private Class BackgroundWorkerMessage + Public Sub New(msgTarget As tWorkMsgType) + Source = "" End Sub Public Property Source As String - Get - Return MySource - End Get - Set(value As String) - MySource = value - End Set - End Property - - Public Property ID() As tMsgID - Get - Return MyID - End Get - Set(ByVal value As tMsgID) - MyID = value - End Set - End Property - - Public Property Msg() As String - Get - Return MyMsg - End Get - Set(ByVal value As String) - MyMsg = value - End Set - End Property + + Public Property ID As MessageType + + Public Property Msg As String End Class 'Progress bar control - Public Class cProgBarCtrl + Public Class ProgressbarControl Public ProgOverallStartInt As Integer = -1 Public PgroOverallEndInt As Integer = -1 Public ProgJobInt As Integer = -1 diff --git a/VECTO/GUI/F_GBX.Designer.vb b/VECTO/GUI/GearboxForm.Designer.vb similarity index 96% rename from VECTO/GUI/F_GBX.Designer.vb rename to VECTO/GUI/GearboxForm.Designer.vb index f0e4afe8316310a120d04e10a7b7ae7581c30099..8d98a304ca5cda4474d71ea0373a0cb887e96c26 100644 --- a/VECTO/GUI/F_GBX.Designer.vb +++ b/VECTO/GUI/GearboxForm.Designer.vb @@ -1,1063 +1,1063 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Imports System.ComponentModel -Imports Microsoft.VisualBasic.CompilerServices - -<DesignerGenerated()> _ -Partial Class F_GBX - Inherits Form - - 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - <DebuggerNonUserCode()> _ - Protected Overrides Sub Dispose(ByVal disposing As Boolean) - Try - If disposing AndAlso components IsNot Nothing Then - components.Dispose() - End If - Finally - MyBase.Dispose(disposing) - End Try - End Sub - - 'Wird vom Windows Form-Designer benötigt. - Private components As IContainer - - 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. - 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. - 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. - <DebuggerStepThrough()> _ - Private Sub InitializeComponent() - Me.components = New Container() - Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(F_GBX)) - Me.ToolStrip1 = New ToolStrip() - Me.ToolStripBtNew = New ToolStripButton() - Me.ToolStripBtOpen = New ToolStripButton() - Me.ToolStripBtSave = New ToolStripButton() - Me.ToolStripBtSaveAs = New ToolStripButton() - Me.ToolStripSeparator3 = New ToolStripSeparator() - Me.ToolStripBtSendTo = New ToolStripButton() - Me.ToolStripSeparator1 = New ToolStripSeparator() - Me.ToolStripButton1 = New ToolStripButton() - Me.StatusStrip1 = New StatusStrip() - Me.LbStatus = New ToolStripStatusLabel() - Me.ButCancel = New Button() - Me.ButOK = New Button() - Me.TbTracInt = New TextBox() - Me.LvGears = New ListView() - Me.ColumnHeader1 = CType(New ColumnHeader(), ColumnHeader) - Me.ColumnHeader2 = CType(New ColumnHeader(), ColumnHeader) - Me.ColumnHeader3 = CType(New ColumnHeader(), ColumnHeader) - Me.ColumnHeader5 = CType(New ColumnHeader(), ColumnHeader) - Me.ColumnHeader6 = CType(New ColumnHeader(), ColumnHeader) - Me.TBI_getr = New TextBox() - Me.Label49 = New Label() - Me.Label33 = New Label() - Me.Label48 = New Label() - Me.Label6 = New Label() - Me.Label3 = New Label() - Me.TbName = New TextBox() - Me.PictureBox1 = New PictureBox() - Me.BtRemGear = New Button() - Me.GrGearShift = New GroupBox() - Me.GroupBox1 = New GroupBox() - Me.tbUpshiftMinAcceleration = New TextBox() - Me.tbUpshiftAfterDownshift = New TextBox() - Me.tbDownshiftAfterUpshift = New TextBox() - Me.Label24 = New Label() - Me.Label23 = New Label() - Me.Label22 = New Label() - Me.Label21 = New Label() - Me.Label20 = New Label() - Me.Label19 = New Label() - Me.PnTorqRes = New Panel() - Me.Label2 = New Label() - Me.Label4 = New Label() - Me.TbTqResv = New TextBox() - Me.ChShiftInside = New CheckBox() - Me.TbShiftTime = New TextBox() - Me.Label12 = New Label() - Me.Label13 = New Label() - Me.ChSkipGears = New CheckBox() - Me.GroupBox2 = New GroupBox() - Me.TbStartAcc = New TextBox() - Me.Label11 = New Label() - Me.TbStartSpeed = New TextBox() - Me.Label9 = New Label() - Me.Label10 = New Label() - Me.TbTqResvStart = New TextBox() - Me.Label8 = New Label() - Me.Label5 = New Label() - Me.Label7 = New Label() - Me.CmOpenFile = New ContextMenuStrip(Me.components) - Me.OpenWithToolStripMenuItem = New ToolStripMenuItem() - Me.ShowInFolderToolStripMenuItem = New ToolStripMenuItem() - Me.GroupBox3 = New GroupBox() - Me.PnTC = New Panel() - Me.Label17 = New Label() - Me.Label18 = New Label() - Me.Label15 = New Label() - Me.TbTCinertia = New TextBox() - Me.Label1 = New Label() - Me.Label14 = New Label() - Me.BtTCfileBrowse = New Button() - Me.TbTCfile = New TextBox() - Me.BtTCfileOpen = New Button() - Me.TbTCrefrpm = New TextBox() - Me.ChTCon = New CheckBox() - Me.Label16 = New Label() - Me.CbGStype = New ComboBox() - Me.BtAddGear = New Button() - Me.GroupBox4 = New GroupBox() - Me.Label32 = New Label() - Me.PnInertiaTI = New Panel() - Me.PicBox = New PictureBox() - Me.TBTCShiftPolygon = New TextBox() - Me.LblTCShiftFile = New Label() - Me.BtTCShiftFileBrowse = New Button() - Me.ToolStrip1.SuspendLayout() - Me.StatusStrip1.SuspendLayout() - CType(Me.PictureBox1, ISupportInitialize).BeginInit() - Me.GrGearShift.SuspendLayout() - Me.GroupBox1.SuspendLayout() - Me.PnTorqRes.SuspendLayout() - Me.GroupBox2.SuspendLayout() - Me.CmOpenFile.SuspendLayout() - Me.GroupBox3.SuspendLayout() - Me.PnTC.SuspendLayout() - Me.GroupBox4.SuspendLayout() - Me.PnInertiaTI.SuspendLayout() - CType(Me.PicBox, ISupportInitialize).BeginInit() - Me.SuspendLayout() - ' - 'ToolStrip1 - ' - Me.ToolStrip1.GripStyle = ToolStripGripStyle.Hidden - Me.ToolStrip1.Items.AddRange(New ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator3, Me.ToolStripBtSendTo, Me.ToolStripSeparator1, Me.ToolStripButton1}) - Me.ToolStrip1.Location = New Point(0, 0) - Me.ToolStrip1.Name = "ToolStrip1" - Me.ToolStrip1.Size = New Size(877, 25) - Me.ToolStrip1.TabIndex = 30 - Me.ToolStrip1.Text = "ToolStrip1" - ' - 'ToolStripBtNew - ' - Me.ToolStripBtNew.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtNew.Image = My.Resources.Resources.blue_document_icon - Me.ToolStripBtNew.ImageTransparentColor = Color.Magenta - Me.ToolStripBtNew.Name = "ToolStripBtNew" - Me.ToolStripBtNew.Size = New Size(23, 22) - Me.ToolStripBtNew.Text = "ToolStripButton1" - Me.ToolStripBtNew.ToolTipText = "New" - ' - 'ToolStripBtOpen - ' - Me.ToolStripBtOpen.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtOpen.Image = My.Resources.Resources.Open_icon - Me.ToolStripBtOpen.ImageTransparentColor = Color.Magenta - Me.ToolStripBtOpen.Name = "ToolStripBtOpen" - Me.ToolStripBtOpen.Size = New Size(23, 22) - Me.ToolStripBtOpen.Text = "ToolStripButton1" - Me.ToolStripBtOpen.ToolTipText = "Open..." - ' - 'ToolStripBtSave - ' - Me.ToolStripBtSave.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtSave.Image = My.Resources.Resources.Actions_document_save_icon - Me.ToolStripBtSave.ImageTransparentColor = Color.Magenta - Me.ToolStripBtSave.Name = "ToolStripBtSave" - Me.ToolStripBtSave.Size = New Size(23, 22) - Me.ToolStripBtSave.Text = "ToolStripButton1" - Me.ToolStripBtSave.ToolTipText = "Save" - ' - 'ToolStripBtSaveAs - ' - Me.ToolStripBtSaveAs.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtSaveAs.Image = My.Resources.Resources.Actions_document_save_as_icon - Me.ToolStripBtSaveAs.ImageTransparentColor = Color.Magenta - Me.ToolStripBtSaveAs.Name = "ToolStripBtSaveAs" - Me.ToolStripBtSaveAs.Size = New Size(23, 22) - Me.ToolStripBtSaveAs.Text = "ToolStripButton1" - Me.ToolStripBtSaveAs.ToolTipText = "Save As..." - ' - 'ToolStripSeparator3 - ' - Me.ToolStripSeparator3.Name = "ToolStripSeparator3" - Me.ToolStripSeparator3.Size = New Size(6, 25) - ' - 'ToolStripBtSendTo - ' - Me.ToolStripBtSendTo.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtSendTo.Image = My.Resources.Resources.export_icon - Me.ToolStripBtSendTo.ImageTransparentColor = Color.Magenta - Me.ToolStripBtSendTo.Name = "ToolStripBtSendTo" - Me.ToolStripBtSendTo.Size = New Size(23, 22) - Me.ToolStripBtSendTo.Text = "Send to Job Editor" - Me.ToolStripBtSendTo.ToolTipText = "Send to Job Editor" - ' - 'ToolStripSeparator1 - ' - Me.ToolStripSeparator1.Name = "ToolStripSeparator1" - Me.ToolStripSeparator1.Size = New Size(6, 25) - ' - 'ToolStripButton1 - ' - Me.ToolStripButton1.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripButton1.Image = My.Resources.Resources.Help_icon - Me.ToolStripButton1.ImageTransparentColor = Color.Magenta - Me.ToolStripButton1.Name = "ToolStripButton1" - Me.ToolStripButton1.Size = New Size(23, 22) - Me.ToolStripButton1.Text = "Help" - ' - 'StatusStrip1 - ' - Me.StatusStrip1.Items.AddRange(New ToolStripItem() {Me.LbStatus}) - Me.StatusStrip1.Location = New Point(0, 684) - Me.StatusStrip1.Name = "StatusStrip1" - Me.StatusStrip1.Size = New Size(877, 22) - Me.StatusStrip1.SizingGrip = False - Me.StatusStrip1.TabIndex = 37 - Me.StatusStrip1.Text = "StatusStrip1" - ' - 'LbStatus - ' - Me.LbStatus.Name = "LbStatus" - Me.LbStatus.Size = New Size(39, 17) - Me.LbStatus.Text = "Status" - ' - 'ButCancel - ' - Me.ButCancel.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) - Me.ButCancel.DialogResult = DialogResult.Cancel - Me.ButCancel.Location = New Point(790, 658) - Me.ButCancel.Name = "ButCancel" - Me.ButCancel.Size = New Size(75, 23) - Me.ButCancel.TabIndex = 7 - Me.ButCancel.Text = "Cancel" - Me.ButCancel.UseVisualStyleBackColor = True - ' - 'ButOK - ' - Me.ButOK.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) - Me.ButOK.Location = New Point(709, 658) - Me.ButOK.Name = "ButOK" - Me.ButOK.Size = New Size(75, 23) - Me.ButOK.TabIndex = 6 - Me.ButOK.Text = "Save" - Me.ButOK.UseVisualStyleBackColor = True - ' - 'TbTracInt - ' - Me.TbTracInt.Location = New Point(303, 3) - Me.TbTracInt.Name = "TbTracInt" - Me.TbTracInt.Size = New Size(40, 20) - Me.TbTracInt.TabIndex = 1 - ' - 'LvGears - ' - Me.LvGears.Columns.AddRange(New ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader5, Me.ColumnHeader6}) - Me.LvGears.FullRowSelect = True - Me.LvGears.GridLines = True - Me.LvGears.HideSelection = False - Me.LvGears.Location = New Point(6, 18) - Me.LvGears.MultiSelect = False - Me.LvGears.Name = "LvGears" - Me.LvGears.Size = New Size(429, 183) - Me.LvGears.TabIndex = 0 - Me.LvGears.TabStop = False - Me.LvGears.UseCompatibleStateImageBehavior = False - Me.LvGears.View = View.Details - ' - 'ColumnHeader1 - ' - Me.ColumnHeader1.Text = "Gear" - Me.ColumnHeader1.Width = 46 - ' - 'ColumnHeader2 - ' - Me.ColumnHeader2.Text = "Ratio" - Me.ColumnHeader2.Width = 50 - ' - 'ColumnHeader3 - ' - Me.ColumnHeader3.Text = "Loss Map or Efficiency" - Me.ColumnHeader3.Width = 128 - ' - 'ColumnHeader5 - ' - Me.ColumnHeader5.Text = "Shift Polygons" - Me.ColumnHeader5.Width = 94 - ' - 'ColumnHeader6 - ' - Me.ColumnHeader6.Text = "Max Torque" - Me.ColumnHeader6.Width = 95 - ' - 'TBI_getr - ' - Me.TBI_getr.Location = New Point(53, 3) - Me.TBI_getr.Name = "TBI_getr" - Me.TBI_getr.Size = New Size(57, 20) - Me.TBI_getr.TabIndex = 0 - ' - 'Label49 - ' - Me.Label49.AutoSize = True - Me.Label49.Location = New Point(349, 6) - Me.Label49.Name = "Label49" - Me.Label49.Size = New Size(18, 13) - Me.Label49.TabIndex = 2 - Me.Label49.Text = "[s]" - ' - 'Label33 - ' - Me.Label33.AutoSize = True - Me.Label33.Location = New Point(116, 6) - Me.Label33.Name = "Label33" - Me.Label33.Size = New Size(36, 13) - Me.Label33.TabIndex = 2 - Me.Label33.Text = "[kgm²]" - ' - 'Label48 - ' - Me.Label48.AutoSize = True - Me.Label48.Location = New Point(195, 6) - Me.Label48.Name = "Label48" - Me.Label48.Size = New Size(102, 13) - Me.Label48.TabIndex = 2 - Me.Label48.Text = "Traction Interruption" - ' - 'Label6 - ' - Me.Label6.AutoSize = True - Me.Label6.Location = New Point(11, 6) - Me.Label6.Name = "Label6" - Me.Label6.Size = New Size(36, 13) - Me.Label6.TabIndex = 2 - Me.Label6.Text = "Inertia" - ' - 'Label3 - ' - Me.Label3.AutoSize = True - Me.Label3.Location = New Point(26, 85) - Me.Label3.Name = "Label3" - Me.Label3.Size = New Size(87, 13) - Me.Label3.TabIndex = 42 - Me.Label3.Text = "Make and Model" - ' - 'TbName - ' - Me.TbName.Location = New Point(119, 82) - Me.TbName.Name = "TbName" - Me.TbName.Size = New Size(334, 20) - Me.TbName.TabIndex = 0 - ' - 'PictureBox1 - ' - Me.PictureBox1.BackColor = Color.White - Me.PictureBox1.Image = My.Resources.Resources.VECTO_GBX - Me.PictureBox1.Location = New Point(12, 28) - Me.PictureBox1.Name = "PictureBox1" - Me.PictureBox1.Size = New Size(441, 40) - Me.PictureBox1.TabIndex = 43 - Me.PictureBox1.TabStop = False - ' - 'BtRemGear - ' - Me.BtRemGear.Image = My.Resources.Resources.minus_circle_icon - Me.BtRemGear.Location = New Point(30, 202) - Me.BtRemGear.Name = "BtRemGear" - Me.BtRemGear.Size = New Size(24, 24) - Me.BtRemGear.TabIndex = 2 - Me.BtRemGear.UseVisualStyleBackColor = True - ' - 'GrGearShift - ' - Me.GrGearShift.Controls.Add(Me.GroupBox1) - Me.GrGearShift.Controls.Add(Me.PnTorqRes) - Me.GrGearShift.Controls.Add(Me.ChShiftInside) - Me.GrGearShift.Controls.Add(Me.TbShiftTime) - Me.GrGearShift.Controls.Add(Me.Label12) - Me.GrGearShift.Controls.Add(Me.Label13) - Me.GrGearShift.Controls.Add(Me.ChSkipGears) - Me.GrGearShift.Controls.Add(Me.GroupBox2) - Me.GrGearShift.Location = New Point(12, 377) - Me.GrGearShift.Name = "GrGearShift" - Me.GrGearShift.Size = New Size(441, 291) - Me.GrGearShift.TabIndex = 3 - Me.GrGearShift.TabStop = False - Me.GrGearShift.Text = "Gear shift parameters" - ' - 'GroupBox1 - ' - Me.GroupBox1.Controls.Add(Me.tbUpshiftMinAcceleration) - Me.GroupBox1.Controls.Add(Me.tbUpshiftAfterDownshift) - Me.GroupBox1.Controls.Add(Me.tbDownshiftAfterUpshift) - Me.GroupBox1.Controls.Add(Me.Label24) - Me.GroupBox1.Controls.Add(Me.Label23) - Me.GroupBox1.Controls.Add(Me.Label22) - Me.GroupBox1.Controls.Add(Me.Label21) - Me.GroupBox1.Controls.Add(Me.Label20) - Me.GroupBox1.Controls.Add(Me.Label19) - Me.GroupBox1.Location = New Point(6, 82) - Me.GroupBox1.Name = "GroupBox1" - Me.GroupBox1.Size = New Size(429, 100) - Me.GroupBox1.TabIndex = 10 - Me.GroupBox1.TabStop = False - Me.GroupBox1.Text = "Shift Strategy Parameters" - ' - 'tbUpshiftMinAcceleration - ' - Me.tbUpshiftMinAcceleration.Location = New Point(209, 71) - Me.tbUpshiftMinAcceleration.Name = "tbUpshiftMinAcceleration" - Me.tbUpshiftMinAcceleration.Size = New Size(57, 20) - Me.tbUpshiftMinAcceleration.TabIndex = 8 - ' - 'tbUpshiftAfterDownshift - ' - Me.tbUpshiftAfterDownshift.Location = New Point(209, 45) - Me.tbUpshiftAfterDownshift.Name = "tbUpshiftAfterDownshift" - Me.tbUpshiftAfterDownshift.Size = New Size(57, 20) - Me.tbUpshiftAfterDownshift.TabIndex = 7 - ' - 'tbDownshiftAfterUpshift - ' - Me.tbDownshiftAfterUpshift.Location = New Point(209, 20) - Me.tbDownshiftAfterUpshift.Name = "tbDownshiftAfterUpshift" - Me.tbDownshiftAfterUpshift.Size = New Size(57, 20) - Me.tbDownshiftAfterUpshift.TabIndex = 6 - ' - 'Label24 - ' - Me.Label24.AutoSize = True - Me.Label24.Location = New Point(275, 74) - Me.Label24.Name = "Label24" - Me.Label24.Size = New Size(34, 13) - Me.Label24.TabIndex = 5 - Me.Label24.Text = "[m/s²]" - ' - 'Label23 - ' - Me.Label23.AutoSize = True - Me.Label23.Location = New Point(275, 48) - Me.Label23.Name = "Label23" - Me.Label23.Size = New Size(18, 13) - Me.Label23.TabIndex = 4 - Me.Label23.Text = "[s]" - ' - 'Label22 - ' - Me.Label22.AutoSize = True - Me.Label22.Location = New Point(275, 25) - Me.Label22.Name = "Label22" - Me.Label22.Size = New Size(18, 13) - Me.Label22.TabIndex = 3 - Me.Label22.Text = "[s]" - ' - 'Label21 - ' - Me.Label21.AutoSize = True - Me.Label21.Location = New Point(20, 74) - Me.Label21.Name = "Label21" - Me.Label21.Size = New Size(146, 13) - Me.Label21.TabIndex = 2 - Me.Label21.Text = "Min. acceleration after upshift" - ' - 'Label20 - ' - Me.Label20.AutoSize = True - Me.Label20.Location = New Point(20, 48) - Me.Label20.Name = "Label20" - Me.Label20.Size = New Size(137, 13) - Me.Label20.TabIndex = 1 - Me.Label20.Text = "Upshift afer downshift delay" - ' - 'Label19 - ' - Me.Label19.AutoSize = True - Me.Label19.Location = New Point(20, 25) - Me.Label19.Name = "Label19" - Me.Label19.Size = New Size(137, 13) - Me.Label19.TabIndex = 0 - Me.Label19.Text = "Downshift afer upshift delay" - ' - 'PnTorqRes - ' - Me.PnTorqRes.Controls.Add(Me.Label2) - Me.PnTorqRes.Controls.Add(Me.Label4) - Me.PnTorqRes.Controls.Add(Me.TbTqResv) - Me.PnTorqRes.Location = New Point(230, 19) - Me.PnTorqRes.Name = "PnTorqRes" - Me.PnTorqRes.Size = New Size(190, 32) - Me.PnTorqRes.TabIndex = 2 - ' - 'Label2 - ' - Me.Label2.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.Label2.AutoSize = True - Me.Label2.Location = New Point(10, 9) - Me.Label2.Name = "Label2" - Me.Label2.Size = New Size(79, 13) - Me.Label2.TabIndex = 0 - Me.Label2.Text = "Torque reserve" - ' - 'Label4 - ' - Me.Label4.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.Label4.AutoSize = True - Me.Label4.Location = New Point(158, 9) - Me.Label4.Name = "Label4" - Me.Label4.Size = New Size(21, 13) - Me.Label4.TabIndex = 0 - Me.Label4.Text = "[%]" - ' - 'TbTqResv - ' - Me.TbTqResv.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.TbTqResv.Location = New Point(95, 6) - Me.TbTqResv.Name = "TbTqResv" - Me.TbTqResv.Size = New Size(57, 20) - Me.TbTqResv.TabIndex = 0 - ' - 'ChShiftInside - ' - Me.ChShiftInside.AutoSize = True - Me.ChShiftInside.Checked = True - Me.ChShiftInside.CheckState = CheckState.Checked - Me.ChShiftInside.Location = New Point(9, 27) - Me.ChShiftInside.Name = "ChShiftInside" - Me.ChShiftInside.Size = New Size(195, 17) - Me.ChShiftInside.TabIndex = 0 - Me.ChShiftInside.Text = "Allow shift-up inside polygons (AMT)" - Me.ChShiftInside.UseVisualStyleBackColor = True - ' - 'TbShiftTime - ' - Me.TbShiftTime.Location = New Point(325, 51) - Me.TbShiftTime.Name = "TbShiftTime" - Me.TbShiftTime.Size = New Size(57, 20) - Me.TbShiftTime.TabIndex = 3 - ' - 'Label12 - ' - Me.Label12.AutoSize = True - Me.Label12.Location = New Point(388, 54) - Me.Label12.Name = "Label12" - Me.Label12.Size = New Size(18, 13) - Me.Label12.TabIndex = 9 - Me.Label12.Text = "[s]" - ' - 'Label13 - ' - Me.Label13.AutoSize = True - Me.Label13.Location = New Point(227, 54) - Me.Label13.Name = "Label13" - Me.Label13.Size = New Size(92, 13) - Me.Label13.TabIndex = 8 - Me.Label13.Text = "Minimum shift time" - ' - 'ChSkipGears - ' - Me.ChSkipGears.AutoSize = True - Me.ChSkipGears.Location = New Point(9, 53) - Me.ChSkipGears.Name = "ChSkipGears" - Me.ChSkipGears.Size = New Size(132, 17) - Me.ChSkipGears.TabIndex = 1 - Me.ChSkipGears.Text = "Skip Gears (MT, AMT)" - Me.ChSkipGears.UseVisualStyleBackColor = True - ' - 'GroupBox2 - ' - Me.GroupBox2.Controls.Add(Me.TbStartAcc) - Me.GroupBox2.Controls.Add(Me.Label11) - Me.GroupBox2.Controls.Add(Me.TbStartSpeed) - Me.GroupBox2.Controls.Add(Me.Label9) - Me.GroupBox2.Controls.Add(Me.Label10) - Me.GroupBox2.Controls.Add(Me.TbTqResvStart) - Me.GroupBox2.Controls.Add(Me.Label8) - Me.GroupBox2.Controls.Add(Me.Label5) - Me.GroupBox2.Controls.Add(Me.Label7) - Me.GroupBox2.Location = New Point(6, 186) - Me.GroupBox2.Name = "GroupBox2" - Me.GroupBox2.Size = New Size(429, 99) - Me.GroupBox2.TabIndex = 4 - Me.GroupBox2.TabStop = False - Me.GroupBox2.Text = "Start Gear" - ' - 'TbStartAcc - ' - Me.TbStartAcc.Location = New Point(209, 71) - Me.TbStartAcc.Name = "TbStartAcc" - Me.TbStartAcc.Size = New Size(57, 20) - Me.TbStartAcc.TabIndex = 2 - ' - 'Label11 - ' - Me.Label11.AutoSize = True - Me.Label11.Location = New Point(20, 74) - Me.Label11.Name = "Label11" - Me.Label11.Size = New Size(173, 13) - Me.Label11.TabIndex = 0 - Me.Label11.Text = "Reference acceleration at clutch-in" - ' - 'TbStartSpeed - ' - Me.TbStartSpeed.Location = New Point(209, 45) - Me.TbStartSpeed.Name = "TbStartSpeed" - Me.TbStartSpeed.Size = New Size(57, 20) - Me.TbStartSpeed.TabIndex = 1 - ' - 'Label9 - ' - Me.Label9.AutoSize = True - Me.Label9.Location = New Point(20, 48) - Me.Label9.Name = "Label9" - Me.Label9.Size = New Size(181, 13) - Me.Label9.TabIndex = 0 - Me.Label9.Text = "Reference vehicle speed at clutch-in" - ' - 'Label10 - ' - Me.Label10.AutoSize = True - Me.Label10.Location = New Point(272, 74) - Me.Label10.Name = "Label10" - Me.Label10.Size = New Size(34, 13) - Me.Label10.TabIndex = 0 - Me.Label10.Text = "[m/s²]" - ' - 'TbTqResvStart - ' - Me.TbTqResvStart.Location = New Point(209, 19) - Me.TbTqResvStart.Name = "TbTqResvStart" - Me.TbTqResvStart.Size = New Size(57, 20) - Me.TbTqResvStart.TabIndex = 0 - ' - 'Label8 - ' - Me.Label8.AutoSize = True - Me.Label8.Location = New Point(272, 48) - Me.Label8.Name = "Label8" - Me.Label8.Size = New Size(31, 13) - Me.Label8.TabIndex = 0 - Me.Label8.Text = "[m/s]" - ' - 'Label5 - ' - Me.Label5.AutoSize = True - Me.Label5.Location = New Point(20, 22) - Me.Label5.Name = "Label5" - Me.Label5.Size = New Size(79, 13) - Me.Label5.TabIndex = 0 - Me.Label5.Text = "Torque reserve" - ' - 'Label7 - ' - Me.Label7.AutoSize = True - Me.Label7.Location = New Point(272, 22) - Me.Label7.Name = "Label7" - Me.Label7.Size = New Size(21, 13) - Me.Label7.TabIndex = 0 - Me.Label7.Text = "[%]" - ' - 'CmOpenFile - ' - Me.CmOpenFile.Items.AddRange(New ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.ShowInFolderToolStripMenuItem}) - Me.CmOpenFile.Name = "CmOpenFile" - Me.CmOpenFile.Size = New Size(153, 48) - ' - 'OpenWithToolStripMenuItem - ' - Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" - Me.OpenWithToolStripMenuItem.Size = New Size(152, 22) - Me.OpenWithToolStripMenuItem.Text = "Open with ..." - ' - 'ShowInFolderToolStripMenuItem - ' - Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" - Me.ShowInFolderToolStripMenuItem.Size = New Size(152, 22) - Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" - ' - 'GroupBox3 - ' - Me.GroupBox3.Controls.Add(Me.BtTCShiftFileBrowse) - Me.GroupBox3.Controls.Add(Me.LblTCShiftFile) - Me.GroupBox3.Controls.Add(Me.TBTCShiftPolygon) - Me.GroupBox3.Controls.Add(Me.PnTC) - Me.GroupBox3.Controls.Add(Me.ChTCon) - Me.GroupBox3.Location = New Point(459, 440) - Me.GroupBox3.Name = "GroupBox3" - Me.GroupBox3.Size = New Size(414, 162) - Me.GroupBox3.TabIndex = 5 - Me.GroupBox3.TabStop = False - Me.GroupBox3.Text = "Torque Converter" - ' - 'PnTC - ' - Me.PnTC.Controls.Add(Me.Label17) - Me.PnTC.Controls.Add(Me.Label18) - Me.PnTC.Controls.Add(Me.Label15) - Me.PnTC.Controls.Add(Me.TbTCinertia) - Me.PnTC.Controls.Add(Me.Label1) - Me.PnTC.Controls.Add(Me.Label14) - Me.PnTC.Controls.Add(Me.BtTCfileBrowse) - Me.PnTC.Controls.Add(Me.TbTCfile) - Me.PnTC.Controls.Add(Me.BtTCfileOpen) - Me.PnTC.Controls.Add(Me.TbTCrefrpm) - Me.PnTC.Location = New Point(6, 39) - Me.PnTC.Name = "PnTC" - Me.PnTC.Size = New Size(402, 72) - Me.PnTC.TabIndex = 36 - ' - 'Label17 - ' - Me.Label17.AutoSize = True - Me.Label17.Location = New Point(0, 5) - Me.Label17.Name = "Label17" - Me.Label17.Size = New Size(176, 13) - Me.Label17.TabIndex = 0 - Me.Label17.Text = "Torque converter characteristics file" - ' - 'Label18 - ' - Me.Label18.AutoSize = True - Me.Label18.Location = New Point(5, 50) - Me.Label18.Name = "Label18" - Me.Label18.Size = New Size(36, 13) - Me.Label18.TabIndex = 2 - Me.Label18.Text = "Inertia" - ' - 'Label15 - ' - Me.Label15.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.Label15.AutoSize = True - Me.Label15.Location = New Point(185, 50) - Me.Label15.Name = "Label15" - Me.Label15.Size = New Size(77, 13) - Me.Label15.TabIndex = 0 - Me.Label15.Text = "Reference rpm" - ' - 'TbTCinertia - ' - Me.TbTCinertia.Location = New Point(47, 47) - Me.TbTCinertia.Name = "TbTCinertia" - Me.TbTCinertia.Size = New Size(67, 20) - Me.TbTCinertia.TabIndex = 3 - ' - 'Label1 - ' - Me.Label1.AutoSize = True - Me.Label1.Location = New Point(120, 50) - Me.Label1.Name = "Label1" - Me.Label1.Size = New Size(36, 13) - Me.Label1.TabIndex = 2 - Me.Label1.Text = "[kgm²]" - ' - 'Label14 - ' - Me.Label14.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.Label14.AutoSize = True - Me.Label14.Location = New Point(341, 50) - Me.Label14.Name = "Label14" - Me.Label14.Size = New Size(40, 13) - Me.Label14.TabIndex = 0 - Me.Label14.Text = "[1/min]" - ' - 'BtTCfileBrowse - ' - Me.BtTCfileBrowse.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.BtTCfileBrowse.Image = My.Resources.Resources.Open_icon - Me.BtTCfileBrowse.Location = New Point(348, 19) - Me.BtTCfileBrowse.Name = "BtTCfileBrowse" - Me.BtTCfileBrowse.Size = New Size(24, 24) - Me.BtTCfileBrowse.TabIndex = 1 - Me.BtTCfileBrowse.TabStop = False - Me.BtTCfileBrowse.UseVisualStyleBackColor = True - ' - 'TbTCfile - ' - Me.TbTCfile.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.TbTCfile.Location = New Point(4, 21) - Me.TbTCfile.Name = "TbTCfile" - Me.TbTCfile.Size = New Size(343, 20) - Me.TbTCfile.TabIndex = 0 - ' - 'BtTCfileOpen - ' - Me.BtTCfileOpen.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.BtTCfileOpen.Image = My.Resources.Resources.application_export_icon_small - Me.BtTCfileOpen.Location = New Point(372, 19) - Me.BtTCfileOpen.Name = "BtTCfileOpen" - Me.BtTCfileOpen.Size = New Size(24, 24) - Me.BtTCfileOpen.TabIndex = 2 - Me.BtTCfileOpen.TabStop = False - Me.BtTCfileOpen.UseVisualStyleBackColor = True - ' - 'TbTCrefrpm - ' - Me.TbTCrefrpm.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.TbTCrefrpm.Location = New Point(268, 47) - Me.TbTCrefrpm.Name = "TbTCrefrpm" - Me.TbTCrefrpm.Size = New Size(67, 20) - Me.TbTCrefrpm.TabIndex = 4 - ' - 'ChTCon - ' - Me.ChTCon.AutoSize = True - Me.ChTCon.Checked = True - Me.ChTCon.CheckState = CheckState.Checked - Me.ChTCon.Location = New Point(9, 19) - Me.ChTCon.Name = "ChTCon" - Me.ChTCon.Size = New Size(88, 17) - Me.ChTCon.TabIndex = 0 - Me.ChTCon.Text = "Installed (AT)" - Me.ChTCon.UseVisualStyleBackColor = True - ' - 'Label16 - ' - Me.Label16.AutoSize = True - Me.Label16.Location = New Point(18, 111) - Me.Label16.Name = "Label16" - Me.Label16.Size = New Size(95, 13) - Me.Label16.TabIndex = 45 - Me.Label16.Text = "Transmission Type" - ' - 'CbGStype - ' - Me.CbGStype.DropDownStyle = ComboBoxStyle.DropDownList - Me.CbGStype.FormattingEnabled = True - Me.CbGStype.Location = New Point(119, 108) - Me.CbGStype.Name = "CbGStype" - Me.CbGStype.Size = New Size(227, 21) - Me.CbGStype.TabIndex = 1 - ' - 'BtAddGear - ' - Me.BtAddGear.Image = My.Resources.Resources.plus_circle_icon - Me.BtAddGear.Location = New Point(6, 202) - Me.BtAddGear.Name = "BtAddGear" - Me.BtAddGear.Size = New Size(24, 24) - Me.BtAddGear.TabIndex = 1 - Me.BtAddGear.UseVisualStyleBackColor = True - ' - 'GroupBox4 - ' - Me.GroupBox4.Controls.Add(Me.Label32) - Me.GroupBox4.Controls.Add(Me.LvGears) - Me.GroupBox4.Controls.Add(Me.BtRemGear) - Me.GroupBox4.Controls.Add(Me.BtAddGear) - Me.GroupBox4.Location = New Point(12, 135) - Me.GroupBox4.Name = "GroupBox4" - Me.GroupBox4.Size = New Size(441, 232) - Me.GroupBox4.TabIndex = 2 - Me.GroupBox4.TabStop = False - Me.GroupBox4.Text = "Gears" - ' - 'Label32 - ' - Me.Label32.AutoSize = True - Me.Label32.Location = New Point(331, 202) - Me.Label32.Name = "Label32" - Me.Label32.Size = New Size(106, 13) - Me.Label32.TabIndex = 3 - Me.Label32.Text = "(Double-Click to Edit)" - ' - 'PnInertiaTI - ' - Me.PnInertiaTI.Controls.Add(Me.Label6) - Me.PnInertiaTI.Controls.Add(Me.TBI_getr) - Me.PnInertiaTI.Controls.Add(Me.Label33) - Me.PnInertiaTI.Controls.Add(Me.Label48) - Me.PnInertiaTI.Controls.Add(Me.Label49) - Me.PnInertiaTI.Controls.Add(Me.TbTracInt) - Me.PnInertiaTI.Location = New Point(469, 406) - Me.PnInertiaTI.Name = "PnInertiaTI" - Me.PnInertiaTI.Size = New Size(398, 30) - Me.PnInertiaTI.TabIndex = 4 - ' - 'PicBox - ' - Me.PicBox.BackColor = Color.LightGray - Me.PicBox.Location = New Point(459, 28) - Me.PicBox.Name = "PicBox" - Me.PicBox.Size = New Size(406, 372) - Me.PicBox.TabIndex = 48 - Me.PicBox.TabStop = False - ' - 'TBTCShiftPolygon - ' - Me.TBTCShiftPolygon.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.TBTCShiftPolygon.Location = New Point(10, 136) - Me.TBTCShiftPolygon.Name = "TBTCShiftPolygon" - Me.TBTCShiftPolygon.Size = New Size(343, 20) - Me.TBTCShiftPolygon.TabIndex = 37 - ' - 'LblTCShiftFile - ' - Me.LblTCShiftFile.AutoSize = True - Me.LblTCShiftFile.Location = New Point(7, 120) - Me.LblTCShiftFile.Name = "LblTCShiftFile" - Me.LblTCShiftFile.Size = New Size(172, 13) - Me.LblTCShiftFile.TabIndex = 5 - Me.LblTCShiftFile.Text = "Torque converter shift polygons file" - ' - 'BtTCShiftFileBrowse - ' - Me.BtTCShiftFileBrowse.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.BtTCShiftFileBrowse.Image = My.Resources.Resources.Open_icon - Me.BtTCShiftFileBrowse.Location = New Point(354, 134) - Me.BtTCShiftFileBrowse.Name = "BtTCShiftFileBrowse" - Me.BtTCShiftFileBrowse.Size = New Size(24, 24) - Me.BtTCShiftFileBrowse.TabIndex = 5 - Me.BtTCShiftFileBrowse.TabStop = False - Me.BtTCShiftFileBrowse.UseVisualStyleBackColor = True - ' - 'F_GBX - ' - Me.AcceptButton = Me.ButOK - Me.AutoScaleDimensions = New SizeF(6.0!, 13.0!) - Me.AutoScaleMode = AutoScaleMode.Font - Me.CancelButton = Me.ButCancel - Me.ClientSize = New Size(877, 706) - Me.Controls.Add(Me.PicBox) - Me.Controls.Add(Me.PnInertiaTI) - Me.Controls.Add(Me.GroupBox4) - Me.Controls.Add(Me.CbGStype) - Me.Controls.Add(Me.Label16) - Me.Controls.Add(Me.PictureBox1) - Me.Controls.Add(Me.GrGearShift) - Me.Controls.Add(Me.GroupBox3) - Me.Controls.Add(Me.Label3) - Me.Controls.Add(Me.TbName) - Me.Controls.Add(Me.ButCancel) - Me.Controls.Add(Me.ButOK) - Me.Controls.Add(Me.StatusStrip1) - Me.Controls.Add(Me.ToolStrip1) - Me.FormBorderStyle = FormBorderStyle.FixedSingle - Me.Icon = CType(resources.GetObject("$this.Icon"), Icon) - Me.MaximizeBox = False - Me.Name = "F_GBX" - Me.StartPosition = FormStartPosition.CenterParent - Me.Text = "F_GBX" - Me.ToolStrip1.ResumeLayout(False) - Me.ToolStrip1.PerformLayout() - Me.StatusStrip1.ResumeLayout(False) - Me.StatusStrip1.PerformLayout() - CType(Me.PictureBox1, ISupportInitialize).EndInit() - Me.GrGearShift.ResumeLayout(False) - Me.GrGearShift.PerformLayout() - Me.GroupBox1.ResumeLayout(False) - Me.GroupBox1.PerformLayout() - Me.PnTorqRes.ResumeLayout(False) - Me.PnTorqRes.PerformLayout() - Me.GroupBox2.ResumeLayout(False) - Me.GroupBox2.PerformLayout() - Me.CmOpenFile.ResumeLayout(False) - Me.GroupBox3.ResumeLayout(False) - Me.GroupBox3.PerformLayout() - Me.PnTC.ResumeLayout(False) - Me.PnTC.PerformLayout() - Me.GroupBox4.ResumeLayout(False) - Me.GroupBox4.PerformLayout() - Me.PnInertiaTI.ResumeLayout(False) - Me.PnInertiaTI.PerformLayout() - CType(Me.PicBox, ISupportInitialize).EndInit() - Me.ResumeLayout(False) - Me.PerformLayout() - - End Sub - Friend WithEvents ToolStrip1 As ToolStrip - Friend WithEvents ToolStripBtNew As ToolStripButton - Friend WithEvents ToolStripBtOpen As ToolStripButton - Friend WithEvents ToolStripBtSave As ToolStripButton - Friend WithEvents ToolStripBtSaveAs As ToolStripButton - Friend WithEvents ToolStripSeparator3 As ToolStripSeparator - Friend WithEvents ToolStripBtSendTo As ToolStripButton - Friend WithEvents StatusStrip1 As StatusStrip - Friend WithEvents LbStatus As ToolStripStatusLabel - Friend WithEvents ButCancel As Button - Friend WithEvents ButOK As Button - Friend WithEvents BtRemGear As Button - Friend WithEvents TbTracInt As TextBox - Friend WithEvents LvGears As ListView - Friend WithEvents ColumnHeader1 As ColumnHeader - Friend WithEvents ColumnHeader2 As ColumnHeader - Friend WithEvents ColumnHeader3 As ColumnHeader - Friend WithEvents TBI_getr As TextBox - Friend WithEvents Label49 As Label - Friend WithEvents Label33 As Label - Friend WithEvents Label48 As Label - Friend WithEvents Label6 As Label - Friend WithEvents Label3 As Label - Friend WithEvents TbName As TextBox - Friend WithEvents PictureBox1 As PictureBox - Friend WithEvents ToolStripSeparator1 As ToolStripSeparator - Friend WithEvents ToolStripButton1 As ToolStripButton - Friend WithEvents GrGearShift As GroupBox - Friend WithEvents Label2 As Label - Friend WithEvents TbTqResvStart As TextBox - Friend WithEvents TbTqResv As TextBox - Friend WithEvents Label7 As Label - Friend WithEvents Label5 As Label - Friend WithEvents Label4 As Label - Friend WithEvents GroupBox2 As GroupBox - Friend WithEvents TbStartAcc As TextBox - Friend WithEvents Label11 As Label - Friend WithEvents TbStartSpeed As TextBox - Friend WithEvents Label9 As Label - Friend WithEvents Label10 As Label - Friend WithEvents Label8 As Label - Friend WithEvents TbShiftTime As TextBox - Friend WithEvents Label12 As Label - Friend WithEvents Label13 As Label - Friend WithEvents ChSkipGears As CheckBox - Friend WithEvents ChShiftInside As CheckBox - Friend WithEvents CmOpenFile As ContextMenuStrip - Friend WithEvents OpenWithToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ShowInFolderToolStripMenuItem As ToolStripMenuItem - Friend WithEvents GroupBox3 As GroupBox - Friend WithEvents TbTCfile As TextBox - Friend WithEvents ChTCon As CheckBox - Friend WithEvents BtTCfileBrowse As Button - Friend WithEvents BtTCfileOpen As Button - Friend WithEvents TbTCrefrpm As TextBox - Friend WithEvents Label14 As Label - Friend WithEvents Label15 As Label - Friend WithEvents Label16 As Label - Friend WithEvents CbGStype As ComboBox - Friend WithEvents Label17 As Label - Friend WithEvents PnTC As Panel - Friend WithEvents PnTorqRes As Panel - Friend WithEvents BtAddGear As Button - Friend WithEvents ColumnHeader4 As ColumnHeader - Friend WithEvents GroupBox4 As GroupBox - Friend WithEvents Label32 As Label - Friend WithEvents PnInertiaTI As Panel - Friend WithEvents ColumnHeader5 As ColumnHeader - Friend WithEvents PicBox As PictureBox - Friend WithEvents TbTCinertia As TextBox - Friend WithEvents Label1 As Label - Friend WithEvents Label18 As Label - Friend WithEvents ColumnHeader6 As ColumnHeader - Friend WithEvents GroupBox1 As GroupBox - Friend WithEvents tbUpshiftMinAcceleration As TextBox - Friend WithEvents tbUpshiftAfterDownshift As TextBox - Friend WithEvents tbDownshiftAfterUpshift As TextBox - Friend WithEvents Label24 As Label - Friend WithEvents Label23 As Label - Friend WithEvents Label22 As Label - Friend WithEvents Label21 As Label - Friend WithEvents Label20 As Label - Friend WithEvents Label19 As Label - Friend WithEvents BtTCShiftFileBrowse As Button - Friend WithEvents LblTCShiftFile As Label - Friend WithEvents TBTCShiftPolygon As TextBox -End Class +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.ComponentModel +Imports Microsoft.VisualBasic.CompilerServices + +<DesignerGenerated()> _ +Partial Class GearboxForm + Inherits Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + <DebuggerNonUserCode()> _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + <DebuggerStepThrough()> _ + Private Sub InitializeComponent() + Me.components = New Container() + Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(GearboxForm)) + Me.ToolStrip1 = New ToolStrip() + Me.ToolStripBtNew = New ToolStripButton() + Me.ToolStripBtOpen = New ToolStripButton() + Me.ToolStripBtSave = New ToolStripButton() + Me.ToolStripBtSaveAs = New ToolStripButton() + Me.ToolStripSeparator3 = New ToolStripSeparator() + Me.ToolStripBtSendTo = New ToolStripButton() + Me.ToolStripSeparator1 = New ToolStripSeparator() + Me.ToolStripButton1 = New ToolStripButton() + Me.StatusStrip1 = New StatusStrip() + Me.LbStatus = New ToolStripStatusLabel() + Me.ButCancel = New Button() + Me.ButOK = New Button() + Me.TbTracInt = New TextBox() + Me.LvGears = New ListView() + Me.ColumnHeader1 = CType(New ColumnHeader(), ColumnHeader) + Me.ColumnHeader2 = CType(New ColumnHeader(), ColumnHeader) + Me.ColumnHeader3 = CType(New ColumnHeader(), ColumnHeader) + Me.ColumnHeader5 = CType(New ColumnHeader(), ColumnHeader) + Me.ColumnHeader6 = CType(New ColumnHeader(), ColumnHeader) + Me.TBI_getr = New TextBox() + Me.Label49 = New Label() + Me.Label33 = New Label() + Me.Label48 = New Label() + Me.Label6 = New Label() + Me.Label3 = New Label() + Me.TbName = New TextBox() + Me.PictureBox1 = New PictureBox() + Me.BtRemGear = New Button() + Me.GrGearShift = New GroupBox() + Me.GroupBox1 = New GroupBox() + Me.tbUpshiftMinAcceleration = New TextBox() + Me.tbUpshiftAfterDownshift = New TextBox() + Me.tbDownshiftAfterUpshift = New TextBox() + Me.Label24 = New Label() + Me.Label23 = New Label() + Me.Label22 = New Label() + Me.Label21 = New Label() + Me.Label20 = New Label() + Me.Label19 = New Label() + Me.PnTorqRes = New Panel() + Me.Label2 = New Label() + Me.Label4 = New Label() + Me.TbTqResv = New TextBox() + Me.ChShiftInside = New CheckBox() + Me.TbShiftTime = New TextBox() + Me.Label12 = New Label() + Me.Label13 = New Label() + Me.ChSkipGears = New CheckBox() + Me.GroupBox2 = New GroupBox() + Me.TbStartAcc = New TextBox() + Me.Label11 = New Label() + Me.TbStartSpeed = New TextBox() + Me.Label9 = New Label() + Me.Label10 = New Label() + Me.TbTqResvStart = New TextBox() + Me.Label8 = New Label() + Me.Label5 = New Label() + Me.Label7 = New Label() + Me.CmOpenFile = New ContextMenuStrip(Me.components) + Me.OpenWithToolStripMenuItem = New ToolStripMenuItem() + Me.ShowInFolderToolStripMenuItem = New ToolStripMenuItem() + Me.GroupBox3 = New GroupBox() + Me.PnTC = New Panel() + Me.Label17 = New Label() + Me.Label18 = New Label() + Me.Label15 = New Label() + Me.TbTCinertia = New TextBox() + Me.Label1 = New Label() + Me.Label14 = New Label() + Me.BtTCfileBrowse = New Button() + Me.TbTCfile = New TextBox() + Me.BtTCfileOpen = New Button() + Me.TbTCrefrpm = New TextBox() + Me.ChTCon = New CheckBox() + Me.Label16 = New Label() + Me.CbGStype = New ComboBox() + Me.BtAddGear = New Button() + Me.GroupBox4 = New GroupBox() + Me.Label32 = New Label() + Me.PnInertiaTI = New Panel() + Me.PicBox = New PictureBox() + Me.TBTCShiftPolygon = New TextBox() + Me.LblTCShiftFile = New Label() + Me.BtTCShiftFileBrowse = New Button() + Me.ToolStrip1.SuspendLayout() + Me.StatusStrip1.SuspendLayout() + CType(Me.PictureBox1, ISupportInitialize).BeginInit() + Me.GrGearShift.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.PnTorqRes.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.CmOpenFile.SuspendLayout() + Me.GroupBox3.SuspendLayout() + Me.PnTC.SuspendLayout() + Me.GroupBox4.SuspendLayout() + Me.PnInertiaTI.SuspendLayout() + CType(Me.PicBox, ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.GripStyle = ToolStripGripStyle.Hidden + Me.ToolStrip1.Items.AddRange(New ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator3, Me.ToolStripBtSendTo, Me.ToolStripSeparator1, Me.ToolStripButton1}) + Me.ToolStrip1.Location = New Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New Size(877, 25) + Me.ToolStrip1.TabIndex = 30 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'ToolStripBtNew + ' + Me.ToolStripBtNew.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtNew.Image = My.Resources.Resources.blue_document_icon + Me.ToolStripBtNew.ImageTransparentColor = Color.Magenta + Me.ToolStripBtNew.Name = "ToolStripBtNew" + Me.ToolStripBtNew.Size = New Size(23, 22) + Me.ToolStripBtNew.Text = "ToolStripButton1" + Me.ToolStripBtNew.ToolTipText = "New" + ' + 'ToolStripBtOpen + ' + Me.ToolStripBtOpen.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtOpen.Image = My.Resources.Resources.Open_icon + Me.ToolStripBtOpen.ImageTransparentColor = Color.Magenta + Me.ToolStripBtOpen.Name = "ToolStripBtOpen" + Me.ToolStripBtOpen.Size = New Size(23, 22) + Me.ToolStripBtOpen.Text = "ToolStripButton1" + Me.ToolStripBtOpen.ToolTipText = "Open..." + ' + 'ToolStripBtSave + ' + Me.ToolStripBtSave.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtSave.Image = My.Resources.Resources.Actions_document_save_icon + Me.ToolStripBtSave.ImageTransparentColor = Color.Magenta + Me.ToolStripBtSave.Name = "ToolStripBtSave" + Me.ToolStripBtSave.Size = New Size(23, 22) + Me.ToolStripBtSave.Text = "ToolStripButton1" + Me.ToolStripBtSave.ToolTipText = "Save" + ' + 'ToolStripBtSaveAs + ' + Me.ToolStripBtSaveAs.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtSaveAs.Image = My.Resources.Resources.Actions_document_save_as_icon + Me.ToolStripBtSaveAs.ImageTransparentColor = Color.Magenta + Me.ToolStripBtSaveAs.Name = "ToolStripBtSaveAs" + Me.ToolStripBtSaveAs.Size = New Size(23, 22) + Me.ToolStripBtSaveAs.Text = "ToolStripButton1" + Me.ToolStripBtSaveAs.ToolTipText = "Save As..." + ' + 'ToolStripSeparator3 + ' + Me.ToolStripSeparator3.Name = "ToolStripSeparator3" + Me.ToolStripSeparator3.Size = New Size(6, 25) + ' + 'ToolStripBtSendTo + ' + Me.ToolStripBtSendTo.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtSendTo.Image = My.Resources.Resources.export_icon + Me.ToolStripBtSendTo.ImageTransparentColor = Color.Magenta + Me.ToolStripBtSendTo.Name = "ToolStripBtSendTo" + Me.ToolStripBtSendTo.Size = New Size(23, 22) + Me.ToolStripBtSendTo.Text = "Send to Job Editor" + Me.ToolStripBtSendTo.ToolTipText = "Send to Job Editor" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New Size(6, 25) + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = My.Resources.Resources.Help_icon + Me.ToolStripButton1.ImageTransparentColor = Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New Size(23, 22) + Me.ToolStripButton1.Text = "Help" + ' + 'StatusStrip1 + ' + Me.StatusStrip1.Items.AddRange(New ToolStripItem() {Me.LbStatus}) + Me.StatusStrip1.Location = New Point(0, 684) + Me.StatusStrip1.Name = "StatusStrip1" + Me.StatusStrip1.Size = New Size(877, 22) + Me.StatusStrip1.SizingGrip = False + Me.StatusStrip1.TabIndex = 37 + Me.StatusStrip1.Text = "StatusStrip1" + ' + 'LbStatus + ' + Me.LbStatus.Name = "LbStatus" + Me.LbStatus.Size = New Size(39, 17) + Me.LbStatus.Text = "Status" + ' + 'ButCancel + ' + Me.ButCancel.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) + Me.ButCancel.DialogResult = DialogResult.Cancel + Me.ButCancel.Location = New Point(790, 658) + Me.ButCancel.Name = "ButCancel" + Me.ButCancel.Size = New Size(75, 23) + Me.ButCancel.TabIndex = 7 + Me.ButCancel.Text = "Cancel" + Me.ButCancel.UseVisualStyleBackColor = True + ' + 'ButOK + ' + Me.ButOK.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) + Me.ButOK.Location = New Point(709, 658) + Me.ButOK.Name = "ButOK" + Me.ButOK.Size = New Size(75, 23) + Me.ButOK.TabIndex = 6 + Me.ButOK.Text = "Save" + Me.ButOK.UseVisualStyleBackColor = True + ' + 'TbTracInt + ' + Me.TbTracInt.Location = New Point(303, 3) + Me.TbTracInt.Name = "TbTracInt" + Me.TbTracInt.Size = New Size(40, 20) + Me.TbTracInt.TabIndex = 1 + ' + 'LvGears + ' + Me.LvGears.Columns.AddRange(New ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader5, Me.ColumnHeader6}) + Me.LvGears.FullRowSelect = True + Me.LvGears.GridLines = True + Me.LvGears.HideSelection = False + Me.LvGears.Location = New Point(6, 18) + Me.LvGears.MultiSelect = False + Me.LvGears.Name = "LvGears" + Me.LvGears.Size = New Size(429, 183) + Me.LvGears.TabIndex = 0 + Me.LvGears.TabStop = False + Me.LvGears.UseCompatibleStateImageBehavior = False + Me.LvGears.View = View.Details + ' + 'ColumnHeader1 + ' + Me.ColumnHeader1.Text = "Gear" + Me.ColumnHeader1.Width = 46 + ' + 'ColumnHeader2 + ' + Me.ColumnHeader2.Text = "Ratio" + Me.ColumnHeader2.Width = 50 + ' + 'ColumnHeader3 + ' + Me.ColumnHeader3.Text = "Loss Map or Efficiency" + Me.ColumnHeader3.Width = 128 + ' + 'ColumnHeader5 + ' + Me.ColumnHeader5.Text = "Shift Polygons" + Me.ColumnHeader5.Width = 94 + ' + 'ColumnHeader6 + ' + Me.ColumnHeader6.Text = "Max Torque" + Me.ColumnHeader6.Width = 95 + ' + 'TBI_getr + ' + Me.TBI_getr.Location = New Point(53, 3) + Me.TBI_getr.Name = "TBI_getr" + Me.TBI_getr.Size = New Size(57, 20) + Me.TBI_getr.TabIndex = 0 + ' + 'Label49 + ' + Me.Label49.AutoSize = True + Me.Label49.Location = New Point(349, 6) + Me.Label49.Name = "Label49" + Me.Label49.Size = New Size(18, 13) + Me.Label49.TabIndex = 2 + Me.Label49.Text = "[s]" + ' + 'Label33 + ' + Me.Label33.AutoSize = True + Me.Label33.Location = New Point(116, 6) + Me.Label33.Name = "Label33" + Me.Label33.Size = New Size(36, 13) + Me.Label33.TabIndex = 2 + Me.Label33.Text = "[kgm²]" + ' + 'Label48 + ' + Me.Label48.AutoSize = True + Me.Label48.Location = New Point(195, 6) + Me.Label48.Name = "Label48" + Me.Label48.Size = New Size(102, 13) + Me.Label48.TabIndex = 2 + Me.Label48.Text = "Traction Interruption" + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New Point(11, 6) + Me.Label6.Name = "Label6" + Me.Label6.Size = New Size(36, 13) + Me.Label6.TabIndex = 2 + Me.Label6.Text = "Inertia" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New Point(26, 85) + Me.Label3.Name = "Label3" + Me.Label3.Size = New Size(87, 13) + Me.Label3.TabIndex = 42 + Me.Label3.Text = "Make and Model" + ' + 'TbName + ' + Me.TbName.Location = New Point(119, 82) + Me.TbName.Name = "TbName" + Me.TbName.Size = New Size(334, 20) + Me.TbName.TabIndex = 0 + ' + 'PictureBox1 + ' + Me.PictureBox1.BackColor = Color.White + Me.PictureBox1.Image = My.Resources.Resources.VECTO_GBX + Me.PictureBox1.Location = New Point(12, 28) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New Size(441, 40) + Me.PictureBox1.TabIndex = 43 + Me.PictureBox1.TabStop = False + ' + 'BtRemGear + ' + Me.BtRemGear.Image = My.Resources.Resources.minus_circle_icon + Me.BtRemGear.Location = New Point(30, 202) + Me.BtRemGear.Name = "BtRemGear" + Me.BtRemGear.Size = New Size(24, 24) + Me.BtRemGear.TabIndex = 2 + Me.BtRemGear.UseVisualStyleBackColor = True + ' + 'GrGearShift + ' + Me.GrGearShift.Controls.Add(Me.GroupBox1) + Me.GrGearShift.Controls.Add(Me.PnTorqRes) + Me.GrGearShift.Controls.Add(Me.ChShiftInside) + Me.GrGearShift.Controls.Add(Me.TbShiftTime) + Me.GrGearShift.Controls.Add(Me.Label12) + Me.GrGearShift.Controls.Add(Me.Label13) + Me.GrGearShift.Controls.Add(Me.ChSkipGears) + Me.GrGearShift.Controls.Add(Me.GroupBox2) + Me.GrGearShift.Location = New Point(12, 377) + Me.GrGearShift.Name = "GrGearShift" + Me.GrGearShift.Size = New Size(441, 291) + Me.GrGearShift.TabIndex = 3 + Me.GrGearShift.TabStop = False + Me.GrGearShift.Text = "Gear shift parameters" + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.tbUpshiftMinAcceleration) + Me.GroupBox1.Controls.Add(Me.tbUpshiftAfterDownshift) + Me.GroupBox1.Controls.Add(Me.tbDownshiftAfterUpshift) + Me.GroupBox1.Controls.Add(Me.Label24) + Me.GroupBox1.Controls.Add(Me.Label23) + Me.GroupBox1.Controls.Add(Me.Label22) + Me.GroupBox1.Controls.Add(Me.Label21) + Me.GroupBox1.Controls.Add(Me.Label20) + Me.GroupBox1.Controls.Add(Me.Label19) + Me.GroupBox1.Location = New Point(6, 82) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New Size(429, 100) + Me.GroupBox1.TabIndex = 10 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Shift Strategy Parameters" + ' + 'tbUpshiftMinAcceleration + ' + Me.tbUpshiftMinAcceleration.Location = New Point(209, 71) + Me.tbUpshiftMinAcceleration.Name = "tbUpshiftMinAcceleration" + Me.tbUpshiftMinAcceleration.Size = New Size(57, 20) + Me.tbUpshiftMinAcceleration.TabIndex = 8 + ' + 'tbUpshiftAfterDownshift + ' + Me.tbUpshiftAfterDownshift.Location = New Point(209, 45) + Me.tbUpshiftAfterDownshift.Name = "tbUpshiftAfterDownshift" + Me.tbUpshiftAfterDownshift.Size = New Size(57, 20) + Me.tbUpshiftAfterDownshift.TabIndex = 7 + ' + 'tbDownshiftAfterUpshift + ' + Me.tbDownshiftAfterUpshift.Location = New Point(209, 20) + Me.tbDownshiftAfterUpshift.Name = "tbDownshiftAfterUpshift" + Me.tbDownshiftAfterUpshift.Size = New Size(57, 20) + Me.tbDownshiftAfterUpshift.TabIndex = 6 + ' + 'Label24 + ' + Me.Label24.AutoSize = True + Me.Label24.Location = New Point(275, 74) + Me.Label24.Name = "Label24" + Me.Label24.Size = New Size(34, 13) + Me.Label24.TabIndex = 5 + Me.Label24.Text = "[m/s²]" + ' + 'Label23 + ' + Me.Label23.AutoSize = True + Me.Label23.Location = New Point(275, 48) + Me.Label23.Name = "Label23" + Me.Label23.Size = New Size(18, 13) + Me.Label23.TabIndex = 4 + Me.Label23.Text = "[s]" + ' + 'Label22 + ' + Me.Label22.AutoSize = True + Me.Label22.Location = New Point(275, 25) + Me.Label22.Name = "Label22" + Me.Label22.Size = New Size(18, 13) + Me.Label22.TabIndex = 3 + Me.Label22.Text = "[s]" + ' + 'Label21 + ' + Me.Label21.AutoSize = True + Me.Label21.Location = New Point(20, 74) + Me.Label21.Name = "Label21" + Me.Label21.Size = New Size(146, 13) + Me.Label21.TabIndex = 2 + Me.Label21.Text = "Min. acceleration after upshift" + ' + 'Label20 + ' + Me.Label20.AutoSize = True + Me.Label20.Location = New Point(20, 48) + Me.Label20.Name = "Label20" + Me.Label20.Size = New Size(137, 13) + Me.Label20.TabIndex = 1 + Me.Label20.Text = "Upshift afer downshift delay" + ' + 'Label19 + ' + Me.Label19.AutoSize = True + Me.Label19.Location = New Point(20, 25) + Me.Label19.Name = "Label19" + Me.Label19.Size = New Size(137, 13) + Me.Label19.TabIndex = 0 + Me.Label19.Text = "Downshift afer upshift delay" + ' + 'PnTorqRes + ' + Me.PnTorqRes.Controls.Add(Me.Label2) + Me.PnTorqRes.Controls.Add(Me.Label4) + Me.PnTorqRes.Controls.Add(Me.TbTqResv) + Me.PnTorqRes.Location = New Point(230, 19) + Me.PnTorqRes.Name = "PnTorqRes" + Me.PnTorqRes.Size = New Size(190, 32) + Me.PnTorqRes.TabIndex = 2 + ' + 'Label2 + ' + Me.Label2.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.Label2.AutoSize = True + Me.Label2.Location = New Point(10, 9) + Me.Label2.Name = "Label2" + Me.Label2.Size = New Size(79, 13) + Me.Label2.TabIndex = 0 + Me.Label2.Text = "Torque reserve" + ' + 'Label4 + ' + Me.Label4.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.Label4.AutoSize = True + Me.Label4.Location = New Point(158, 9) + Me.Label4.Name = "Label4" + Me.Label4.Size = New Size(21, 13) + Me.Label4.TabIndex = 0 + Me.Label4.Text = "[%]" + ' + 'TbTqResv + ' + Me.TbTqResv.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.TbTqResv.Location = New Point(95, 6) + Me.TbTqResv.Name = "TbTqResv" + Me.TbTqResv.Size = New Size(57, 20) + Me.TbTqResv.TabIndex = 0 + ' + 'ChShiftInside + ' + Me.ChShiftInside.AutoSize = True + Me.ChShiftInside.Checked = True + Me.ChShiftInside.CheckState = CheckState.Checked + Me.ChShiftInside.Location = New Point(9, 27) + Me.ChShiftInside.Name = "ChShiftInside" + Me.ChShiftInside.Size = New Size(195, 17) + Me.ChShiftInside.TabIndex = 0 + Me.ChShiftInside.Text = "Allow shift-up inside polygons (AMT)" + Me.ChShiftInside.UseVisualStyleBackColor = True + ' + 'TbShiftTime + ' + Me.TbShiftTime.Location = New Point(325, 51) + Me.TbShiftTime.Name = "TbShiftTime" + Me.TbShiftTime.Size = New Size(57, 20) + Me.TbShiftTime.TabIndex = 3 + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Location = New Point(388, 54) + Me.Label12.Name = "Label12" + Me.Label12.Size = New Size(18, 13) + Me.Label12.TabIndex = 9 + Me.Label12.Text = "[s]" + ' + 'Label13 + ' + Me.Label13.AutoSize = True + Me.Label13.Location = New Point(227, 54) + Me.Label13.Name = "Label13" + Me.Label13.Size = New Size(92, 13) + Me.Label13.TabIndex = 8 + Me.Label13.Text = "Minimum shift time" + ' + 'ChSkipGears + ' + Me.ChSkipGears.AutoSize = True + Me.ChSkipGears.Location = New Point(9, 53) + Me.ChSkipGears.Name = "ChSkipGears" + Me.ChSkipGears.Size = New Size(132, 17) + Me.ChSkipGears.TabIndex = 1 + Me.ChSkipGears.Text = "Skip Gears (MT, AMT)" + Me.ChSkipGears.UseVisualStyleBackColor = True + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.TbStartAcc) + Me.GroupBox2.Controls.Add(Me.Label11) + Me.GroupBox2.Controls.Add(Me.TbStartSpeed) + Me.GroupBox2.Controls.Add(Me.Label9) + Me.GroupBox2.Controls.Add(Me.Label10) + Me.GroupBox2.Controls.Add(Me.TbTqResvStart) + Me.GroupBox2.Controls.Add(Me.Label8) + Me.GroupBox2.Controls.Add(Me.Label5) + Me.GroupBox2.Controls.Add(Me.Label7) + Me.GroupBox2.Location = New Point(6, 186) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New Size(429, 99) + Me.GroupBox2.TabIndex = 4 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Start Gear" + ' + 'TbStartAcc + ' + Me.TbStartAcc.Location = New Point(209, 71) + Me.TbStartAcc.Name = "TbStartAcc" + Me.TbStartAcc.Size = New Size(57, 20) + Me.TbStartAcc.TabIndex = 2 + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New Point(20, 74) + Me.Label11.Name = "Label11" + Me.Label11.Size = New Size(173, 13) + Me.Label11.TabIndex = 0 + Me.Label11.Text = "Reference acceleration at clutch-in" + ' + 'TbStartSpeed + ' + Me.TbStartSpeed.Location = New Point(209, 45) + Me.TbStartSpeed.Name = "TbStartSpeed" + Me.TbStartSpeed.Size = New Size(57, 20) + Me.TbStartSpeed.TabIndex = 1 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New Point(20, 48) + Me.Label9.Name = "Label9" + Me.Label9.Size = New Size(181, 13) + Me.Label9.TabIndex = 0 + Me.Label9.Text = "Reference vehicle speed at clutch-in" + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New Point(272, 74) + Me.Label10.Name = "Label10" + Me.Label10.Size = New Size(34, 13) + Me.Label10.TabIndex = 0 + Me.Label10.Text = "[m/s²]" + ' + 'TbTqResvStart + ' + Me.TbTqResvStart.Location = New Point(209, 19) + Me.TbTqResvStart.Name = "TbTqResvStart" + Me.TbTqResvStart.Size = New Size(57, 20) + Me.TbTqResvStart.TabIndex = 0 + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New Point(272, 48) + Me.Label8.Name = "Label8" + Me.Label8.Size = New Size(31, 13) + Me.Label8.TabIndex = 0 + Me.Label8.Text = "[m/s]" + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New Point(20, 22) + Me.Label5.Name = "Label5" + Me.Label5.Size = New Size(79, 13) + Me.Label5.TabIndex = 0 + Me.Label5.Text = "Torque reserve" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New Point(272, 22) + Me.Label7.Name = "Label7" + Me.Label7.Size = New Size(21, 13) + Me.Label7.TabIndex = 0 + Me.Label7.Text = "[%]" + ' + 'CmOpenFile + ' + Me.CmOpenFile.Items.AddRange(New ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.ShowInFolderToolStripMenuItem}) + Me.CmOpenFile.Name = "CmOpenFile" + Me.CmOpenFile.Size = New Size(153, 48) + ' + 'OpenWithToolStripMenuItem + ' + Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" + Me.OpenWithToolStripMenuItem.Size = New Size(152, 22) + Me.OpenWithToolStripMenuItem.Text = "Open with ..." + ' + 'ShowInFolderToolStripMenuItem + ' + Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" + Me.ShowInFolderToolStripMenuItem.Size = New Size(152, 22) + Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.BtTCShiftFileBrowse) + Me.GroupBox3.Controls.Add(Me.LblTCShiftFile) + Me.GroupBox3.Controls.Add(Me.TBTCShiftPolygon) + Me.GroupBox3.Controls.Add(Me.PnTC) + Me.GroupBox3.Controls.Add(Me.ChTCon) + Me.GroupBox3.Location = New Point(459, 440) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New Size(414, 162) + Me.GroupBox3.TabIndex = 5 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Torque Converter" + ' + 'PnTC + ' + Me.PnTC.Controls.Add(Me.Label17) + Me.PnTC.Controls.Add(Me.Label18) + Me.PnTC.Controls.Add(Me.Label15) + Me.PnTC.Controls.Add(Me.TbTCinertia) + Me.PnTC.Controls.Add(Me.Label1) + Me.PnTC.Controls.Add(Me.Label14) + Me.PnTC.Controls.Add(Me.BtTCfileBrowse) + Me.PnTC.Controls.Add(Me.TbTCfile) + Me.PnTC.Controls.Add(Me.BtTCfileOpen) + Me.PnTC.Controls.Add(Me.TbTCrefrpm) + Me.PnTC.Location = New Point(6, 39) + Me.PnTC.Name = "PnTC" + Me.PnTC.Size = New Size(402, 72) + Me.PnTC.TabIndex = 36 + ' + 'Label17 + ' + Me.Label17.AutoSize = True + Me.Label17.Location = New Point(0, 5) + Me.Label17.Name = "Label17" + Me.Label17.Size = New Size(176, 13) + Me.Label17.TabIndex = 0 + Me.Label17.Text = "Torque converter characteristics file" + ' + 'Label18 + ' + Me.Label18.AutoSize = True + Me.Label18.Location = New Point(5, 50) + Me.Label18.Name = "Label18" + Me.Label18.Size = New Size(36, 13) + Me.Label18.TabIndex = 2 + Me.Label18.Text = "Inertia" + ' + 'Label15 + ' + Me.Label15.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.Label15.AutoSize = True + Me.Label15.Location = New Point(185, 50) + Me.Label15.Name = "Label15" + Me.Label15.Size = New Size(77, 13) + Me.Label15.TabIndex = 0 + Me.Label15.Text = "Reference rpm" + ' + 'TbTCinertia + ' + Me.TbTCinertia.Location = New Point(47, 47) + Me.TbTCinertia.Name = "TbTCinertia" + Me.TbTCinertia.Size = New Size(67, 20) + Me.TbTCinertia.TabIndex = 3 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New Point(120, 50) + Me.Label1.Name = "Label1" + Me.Label1.Size = New Size(36, 13) + Me.Label1.TabIndex = 2 + Me.Label1.Text = "[kgm²]" + ' + 'Label14 + ' + Me.Label14.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.Label14.AutoSize = True + Me.Label14.Location = New Point(341, 50) + Me.Label14.Name = "Label14" + Me.Label14.Size = New Size(40, 13) + Me.Label14.TabIndex = 0 + Me.Label14.Text = "[1/min]" + ' + 'BtTCfileBrowse + ' + Me.BtTCfileBrowse.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.BtTCfileBrowse.Image = My.Resources.Resources.Open_icon + Me.BtTCfileBrowse.Location = New Point(348, 19) + Me.BtTCfileBrowse.Name = "BtTCfileBrowse" + Me.BtTCfileBrowse.Size = New Size(24, 24) + Me.BtTCfileBrowse.TabIndex = 1 + Me.BtTCfileBrowse.TabStop = False + Me.BtTCfileBrowse.UseVisualStyleBackColor = True + ' + 'TbTCfile + ' + Me.TbTCfile.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.TbTCfile.Location = New Point(4, 21) + Me.TbTCfile.Name = "TbTCfile" + Me.TbTCfile.Size = New Size(343, 20) + Me.TbTCfile.TabIndex = 0 + ' + 'BtTCfileOpen + ' + Me.BtTCfileOpen.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.BtTCfileOpen.Image = My.Resources.Resources.application_export_icon_small + Me.BtTCfileOpen.Location = New Point(372, 19) + Me.BtTCfileOpen.Name = "BtTCfileOpen" + Me.BtTCfileOpen.Size = New Size(24, 24) + Me.BtTCfileOpen.TabIndex = 2 + Me.BtTCfileOpen.TabStop = False + Me.BtTCfileOpen.UseVisualStyleBackColor = True + ' + 'TbTCrefrpm + ' + Me.TbTCrefrpm.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.TbTCrefrpm.Location = New Point(268, 47) + Me.TbTCrefrpm.Name = "TbTCrefrpm" + Me.TbTCrefrpm.Size = New Size(67, 20) + Me.TbTCrefrpm.TabIndex = 4 + ' + 'ChTCon + ' + Me.ChTCon.AutoSize = True + Me.ChTCon.Checked = True + Me.ChTCon.CheckState = CheckState.Checked + Me.ChTCon.Location = New Point(9, 19) + Me.ChTCon.Name = "ChTCon" + Me.ChTCon.Size = New Size(88, 17) + Me.ChTCon.TabIndex = 0 + Me.ChTCon.Text = "Installed (AT)" + Me.ChTCon.UseVisualStyleBackColor = True + ' + 'Label16 + ' + Me.Label16.AutoSize = True + Me.Label16.Location = New Point(18, 111) + Me.Label16.Name = "Label16" + Me.Label16.Size = New Size(95, 13) + Me.Label16.TabIndex = 45 + Me.Label16.Text = "Transmission Type" + ' + 'CbGStype + ' + Me.CbGStype.DropDownStyle = ComboBoxStyle.DropDownList + Me.CbGStype.FormattingEnabled = True + Me.CbGStype.Location = New Point(119, 108) + Me.CbGStype.Name = "CbGStype" + Me.CbGStype.Size = New Size(227, 21) + Me.CbGStype.TabIndex = 1 + ' + 'BtAddGear + ' + Me.BtAddGear.Image = My.Resources.Resources.plus_circle_icon + Me.BtAddGear.Location = New Point(6, 202) + Me.BtAddGear.Name = "BtAddGear" + Me.BtAddGear.Size = New Size(24, 24) + Me.BtAddGear.TabIndex = 1 + Me.BtAddGear.UseVisualStyleBackColor = True + ' + 'GroupBox4 + ' + Me.GroupBox4.Controls.Add(Me.Label32) + Me.GroupBox4.Controls.Add(Me.LvGears) + Me.GroupBox4.Controls.Add(Me.BtRemGear) + Me.GroupBox4.Controls.Add(Me.BtAddGear) + Me.GroupBox4.Location = New Point(12, 135) + Me.GroupBox4.Name = "GroupBox4" + Me.GroupBox4.Size = New Size(441, 232) + Me.GroupBox4.TabIndex = 2 + Me.GroupBox4.TabStop = False + Me.GroupBox4.Text = "Gears" + ' + 'Label32 + ' + Me.Label32.AutoSize = True + Me.Label32.Location = New Point(331, 202) + Me.Label32.Name = "Label32" + Me.Label32.Size = New Size(106, 13) + Me.Label32.TabIndex = 3 + Me.Label32.Text = "(Double-Click to Edit)" + ' + 'PnInertiaTI + ' + Me.PnInertiaTI.Controls.Add(Me.Label6) + Me.PnInertiaTI.Controls.Add(Me.TBI_getr) + Me.PnInertiaTI.Controls.Add(Me.Label33) + Me.PnInertiaTI.Controls.Add(Me.Label48) + Me.PnInertiaTI.Controls.Add(Me.Label49) + Me.PnInertiaTI.Controls.Add(Me.TbTracInt) + Me.PnInertiaTI.Location = New Point(469, 406) + Me.PnInertiaTI.Name = "PnInertiaTI" + Me.PnInertiaTI.Size = New Size(398, 30) + Me.PnInertiaTI.TabIndex = 4 + ' + 'PicBox + ' + Me.PicBox.BackColor = Color.LightGray + Me.PicBox.Location = New Point(459, 28) + Me.PicBox.Name = "PicBox" + Me.PicBox.Size = New Size(406, 372) + Me.PicBox.TabIndex = 48 + Me.PicBox.TabStop = False + ' + 'TBTCShiftPolygon + ' + Me.TBTCShiftPolygon.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.TBTCShiftPolygon.Location = New Point(10, 136) + Me.TBTCShiftPolygon.Name = "TBTCShiftPolygon" + Me.TBTCShiftPolygon.Size = New Size(343, 20) + Me.TBTCShiftPolygon.TabIndex = 37 + ' + 'LblTCShiftFile + ' + Me.LblTCShiftFile.AutoSize = True + Me.LblTCShiftFile.Location = New Point(7, 120) + Me.LblTCShiftFile.Name = "LblTCShiftFile" + Me.LblTCShiftFile.Size = New Size(172, 13) + Me.LblTCShiftFile.TabIndex = 5 + Me.LblTCShiftFile.Text = "Torque converter shift polygons file" + ' + 'BtTCShiftFileBrowse + ' + Me.BtTCShiftFileBrowse.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.BtTCShiftFileBrowse.Image = My.Resources.Resources.Open_icon + Me.BtTCShiftFileBrowse.Location = New Point(354, 134) + Me.BtTCShiftFileBrowse.Name = "BtTCShiftFileBrowse" + Me.BtTCShiftFileBrowse.Size = New Size(24, 24) + Me.BtTCShiftFileBrowse.TabIndex = 5 + Me.BtTCShiftFileBrowse.TabStop = False + Me.BtTCShiftFileBrowse.UseVisualStyleBackColor = True + ' + 'F_GBX + ' + Me.AcceptButton = Me.ButOK + Me.AutoScaleDimensions = New SizeF(6.0!, 13.0!) + Me.AutoScaleMode = AutoScaleMode.Font + Me.CancelButton = Me.ButCancel + Me.ClientSize = New Size(877, 706) + Me.Controls.Add(Me.PicBox) + Me.Controls.Add(Me.PnInertiaTI) + Me.Controls.Add(Me.GroupBox4) + Me.Controls.Add(Me.CbGStype) + Me.Controls.Add(Me.Label16) + Me.Controls.Add(Me.PictureBox1) + Me.Controls.Add(Me.GrGearShift) + Me.Controls.Add(Me.GroupBox3) + Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.TbName) + Me.Controls.Add(Me.ButCancel) + Me.Controls.Add(Me.ButOK) + Me.Controls.Add(Me.StatusStrip1) + Me.Controls.Add(Me.ToolStrip1) + Me.FormBorderStyle = FormBorderStyle.FixedSingle + Me.Icon = CType(resources.GetObject("$this.Icon"), Icon) + Me.MaximizeBox = False + Me.Name = "GearboxForm" + Me.StartPosition = FormStartPosition.CenterParent + Me.Text = "F_GBX" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.StatusStrip1.ResumeLayout(False) + Me.StatusStrip1.PerformLayout() + CType(Me.PictureBox1, ISupportInitialize).EndInit() + Me.GrGearShift.ResumeLayout(False) + Me.GrGearShift.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.PnTorqRes.ResumeLayout(False) + Me.PnTorqRes.PerformLayout() + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + Me.CmOpenFile.ResumeLayout(False) + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox3.PerformLayout() + Me.PnTC.ResumeLayout(False) + Me.PnTC.PerformLayout() + Me.GroupBox4.ResumeLayout(False) + Me.GroupBox4.PerformLayout() + Me.PnInertiaTI.ResumeLayout(False) + Me.PnInertiaTI.PerformLayout() + CType(Me.PicBox, ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents ToolStripBtNew As ToolStripButton + Friend WithEvents ToolStripBtOpen As ToolStripButton + Friend WithEvents ToolStripBtSave As ToolStripButton + Friend WithEvents ToolStripBtSaveAs As ToolStripButton + Friend WithEvents ToolStripSeparator3 As ToolStripSeparator + Friend WithEvents ToolStripBtSendTo As ToolStripButton + Friend WithEvents StatusStrip1 As StatusStrip + Friend WithEvents LbStatus As ToolStripStatusLabel + Friend WithEvents ButCancel As Button + Friend WithEvents ButOK As Button + Friend WithEvents BtRemGear As Button + Friend WithEvents TbTracInt As TextBox + Friend WithEvents LvGears As ListView + Friend WithEvents ColumnHeader1 As ColumnHeader + Friend WithEvents ColumnHeader2 As ColumnHeader + Friend WithEvents ColumnHeader3 As ColumnHeader + Friend WithEvents TBI_getr As TextBox + Friend WithEvents Label49 As Label + Friend WithEvents Label33 As Label + Friend WithEvents Label48 As Label + Friend WithEvents Label6 As Label + Friend WithEvents Label3 As Label + Friend WithEvents TbName As TextBox + Friend WithEvents PictureBox1 As PictureBox + Friend WithEvents ToolStripSeparator1 As ToolStripSeparator + Friend WithEvents ToolStripButton1 As ToolStripButton + Friend WithEvents GrGearShift As GroupBox + Friend WithEvents Label2 As Label + Friend WithEvents TbTqResvStart As TextBox + Friend WithEvents TbTqResv As TextBox + Friend WithEvents Label7 As Label + Friend WithEvents Label5 As Label + Friend WithEvents Label4 As Label + Friend WithEvents GroupBox2 As GroupBox + Friend WithEvents TbStartAcc As TextBox + Friend WithEvents Label11 As Label + Friend WithEvents TbStartSpeed As TextBox + Friend WithEvents Label9 As Label + Friend WithEvents Label10 As Label + Friend WithEvents Label8 As Label + Friend WithEvents TbShiftTime As TextBox + Friend WithEvents Label12 As Label + Friend WithEvents Label13 As Label + Friend WithEvents ChSkipGears As CheckBox + Friend WithEvents ChShiftInside As CheckBox + Friend WithEvents CmOpenFile As ContextMenuStrip + Friend WithEvents OpenWithToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ShowInFolderToolStripMenuItem As ToolStripMenuItem + Friend WithEvents GroupBox3 As GroupBox + Friend WithEvents TbTCfile As TextBox + Friend WithEvents ChTCon As CheckBox + Friend WithEvents BtTCfileBrowse As Button + Friend WithEvents BtTCfileOpen As Button + Friend WithEvents TbTCrefrpm As TextBox + Friend WithEvents Label14 As Label + Friend WithEvents Label15 As Label + Friend WithEvents Label16 As Label + Friend WithEvents CbGStype As ComboBox + Friend WithEvents Label17 As Label + Friend WithEvents PnTC As Panel + Friend WithEvents PnTorqRes As Panel + Friend WithEvents BtAddGear As Button + Friend WithEvents ColumnHeader4 As ColumnHeader + Friend WithEvents GroupBox4 As GroupBox + Friend WithEvents Label32 As Label + Friend WithEvents PnInertiaTI As Panel + Friend WithEvents ColumnHeader5 As ColumnHeader + Friend WithEvents PicBox As PictureBox + Friend WithEvents TbTCinertia As TextBox + Friend WithEvents Label1 As Label + Friend WithEvents Label18 As Label + Friend WithEvents ColumnHeader6 As ColumnHeader + Friend WithEvents GroupBox1 As GroupBox + Friend WithEvents tbUpshiftMinAcceleration As TextBox + Friend WithEvents tbUpshiftAfterDownshift As TextBox + Friend WithEvents tbDownshiftAfterUpshift As TextBox + Friend WithEvents Label24 As Label + Friend WithEvents Label23 As Label + Friend WithEvents Label22 As Label + Friend WithEvents Label21 As Label + Friend WithEvents Label20 As Label + Friend WithEvents Label19 As Label + Friend WithEvents BtTCShiftFileBrowse As Button + Friend WithEvents LblTCShiftFile As Label + Friend WithEvents TBTCShiftPolygon As TextBox +End Class diff --git a/VECTO/GUI/F_GBX.resx b/VECTO/GUI/GearboxForm.resx similarity index 100% rename from VECTO/GUI/F_GBX.resx rename to VECTO/GUI/GearboxForm.resx diff --git a/VECTO/GUI/F_GBX.vb b/VECTO/GUI/GearboxForm.vb similarity index 88% rename from VECTO/GUI/F_GBX.vb rename to VECTO/GUI/GearboxForm.vb index 85bacf736eb6e3850cbd442c8f15c90492b93b01..54b713201a5b7a6276b5f915d9449239aa8b84fd 100644 --- a/VECTO/GUI/F_GBX.vb +++ b/VECTO/GUI/GearboxForm.vb @@ -1,983 +1,983 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Imports System.Collections.Generic -Imports System.Drawing.Imaging -Imports System.Globalization -Imports System.IO -Imports System.Linq -Imports System.Text.RegularExpressions -Imports System.Windows.Forms.DataVisualization.Charting -Imports TUGraz.VECTO.Input_Files -Imports TUGraz.VectoCommon.InputData -Imports TUGraz.VectoCommon.Models -Imports TUGraz.VectoCommon.Utils -Imports TUGraz.VectoCore.Configuration -Imports TUGraz.VectoCore.InputData.Impl -Imports TUGraz.VectoCore.Models.Declaration -Imports TUGraz.VectoCore.Models.SimulationComponent.Data -Imports TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox - -''' <summary> -''' Gearbox Editor -''' </summary> -''' <remarks></remarks> -Public Class F_GBX - Private Enum GearboxTbl - GearNr = 0 - 'TorqueConverter = 1 - Ratio = 1 - LossMapEfficiency = 2 - ShiftPolygons = 3 - MaxTorque = 4 - End Enum - - Private GbxFile As String = "" - Public AutoSendTo As Boolean = False - Public JobDir As String = "" - Private GearDia As GearboxGearDialog - - Private Init As Boolean = False - - Private Changed As Boolean = False - - 'Before closing Editor: Check if file was changed and ask to save. - Private Sub F_GBX_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing - If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then - e.Cancel = ChangeCheckCancel() - End If - End Sub - - 'Initialise. - Private Sub F_GBX_Load(sender As Object, e As EventArgs) Handles Me.Load - - Init = False - GearDia = New GearboxGearDialog - - PnInertiaTI.Enabled = Not Cfg.DeclMode - GrGearShift.Enabled = Not Cfg.DeclMode - ChTCon.Enabled = Not Cfg.DeclMode - - CbGStype.Items.Clear() - CbGStype.ValueMember = "Value" - CbGStype.DisplayMember = "Label" - - If Cfg.DeclMode Then - CbGStype.DataSource = [Enum].GetValues(GetType(GearboxType)) _ - .Cast(Of GearboxType)() _ - .Where(Function(type) type.ManualTransmission()) _ - .Select(Function(type) New With {Key .Value = type, .Label = type.GetLabel()}).ToList() - Else - CbGStype.DataSource = [Enum].GetValues(GetType(GearboxType)) _ - .Cast(Of GearboxType) _ - .Where(Function(type) type.AutomaticTransmission() OrElse type.ManualTransmission()) _ - .Select(Function(type) New With {Key .Value = type, .Label = type.GetLabel()}).ToList() - End If - - Init = True - - DeclInit() - - Changed = False - newGBX() - End Sub - - 'Set generic values for Declaration mode. - Private Sub DeclInit() - Dim GStype As GearboxType - Dim lv0 As ListViewItem - - If Not Cfg.DeclMode Then Exit Sub - - TBI_getr.Text = DeclarationData.Gearbox.Inertia.Value() 'cDeclaration.GbInertia - - GStype = CbGStype.SelectedValue 'CType(Me.CbGStype.SelectedIndex, tGearbox) - - TbTracInt.Text = GStype.TractionInterruption().Value() - TbShiftTime.Text = DeclarationData.Gearbox.MinTimeBetweenGearshifts.Value() 'cDeclaration.ShiftTime(GStype) - - TbTqResv.Text = DeclarationData.Gearbox.TorqueReserve ' cDeclaration.TqResv - TbTqResvStart.Text = DeclarationData.Gearbox.TorqueReserveStart 'cDeclaration.TqResvStart - TbStartSpeed.Text = DeclarationData.Gearbox.StartSpeed.Value() 'cDeclaration.StartSpeed - TbStartAcc.Text = DeclarationData.Gearbox.StartAcceleration.Value() ' cDeclaration.StartAcc - - tbUpshiftMinAcceleration.Text = DeclarationData.Gearbox.UpshiftMinAcceleration.Value() - tbDownshiftAfterUpshift.Text = DeclarationData.Gearbox.DownshiftAfterUpshiftDelay.Value() - tbUpshiftAfterDownshift.Text = DeclarationData.Gearbox.UpshiftAfterDownshiftDelay.Value() - - For Each lv0 In LvGears.Items - lv0.SubItems(GearboxTbl.ShiftPolygons).Text = "-" - Next - End Sub - -#Region "Toolbar" - - Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click - newGBX() - End Sub - - Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click - If fbGBX.OpenDialog(GbxFile) Then openGBX(fbGBX.Files(0)) - End Sub - - Private Sub ToolStripBtSave_Click(sender As Object, e As EventArgs) Handles ToolStripBtSave.Click - SaveOrSaveAs(False) - End Sub - - Private Sub ToolStripBtSaveAs_Click(sender As Object, e As EventArgs) Handles ToolStripBtSaveAs.Click - SaveOrSaveAs(True) - End Sub - - Private Sub ToolStripBtSendTo_Click(sender As Object, e As EventArgs) Handles ToolStripBtSendTo.Click - - If ChangeCheckCancel() Then Exit Sub - - If GbxFile = "" Then - If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then - If Not SaveOrSaveAs(True) Then Exit Sub - Else - Exit Sub - End If - End If - - If Not F_VECTO.Visible Then - JobDir = "" - F_VECTO.Show() - F_VECTO.VECTOnew() - Else - F_VECTO.WindowState = FormWindowState.Normal - End If - - F_VECTO.TbGBX.Text = fFileWoDir(GbxFile, JobDir) - End Sub - - 'Help - Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click - If File.Exists(MyAppPath & "User Manual\help.html") Then - Dim BrowserRegistryString As String = - My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString - Dim DefaultBrowserPath As String = - Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString - Process.Start(DefaultBrowserPath, - String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#gearbox-editor")) - Else - MsgBox("User Manual not found!", MsgBoxStyle.Critical) - End If - End Sub - -#End Region - - 'New file - Private Sub newGBX() - 'Dim lvi As ListViewItem - - If ChangeCheckCancel() Then Exit Sub - - CbGStype.SelectedIndex = 0 - - TbName.Text = "" - TbTracInt.Text = "" - TBI_getr.Text = "" - - LvGears.Items.Clear() - - LvGears.Items.Add(CreateListviewItem("Axle", "-", 0, 0, "", "")) - - 'Me.ChSkipGears.Checked = False 'set by CbGStype.SelectedIndexChanged - 'Me.ChShiftInside.Checked = False 'set by CbGStype.SelectedIndexChanged - TbTqResv.Text = "" - TbShiftTime.Text = "" - TbTqResvStart.Text = "" - TbStartSpeed.Text = "" - TbStartAcc.Text = "" - - 'Me.ChTCon.Checked = False 'set by CbGStype.SelectedIndexChanged - TbTCfile.Text = "" - TbTCrefrpm.Text = "" - TbTCinertia.Text = "" - - DeclInit() - - GbxFile = "" - Text = "GBX Editor" - LbStatus.Text = "" - - Changed = False - UpdatePic() - End Sub - - 'Open file - Public Sub openGBX(ByVal file As String) - Dim GBX0 As cGBX - Dim i As Integer - 'Dim lv0 As ListViewItem - - If ChangeCheckCancel() Then Exit Sub - - GBX0 = New cGBX - - GBX0.FilePath = file - - If Not GBX0.ReadFile Then - MsgBox("Cannot read " & file & "!") - Exit Sub - End If - - If Cfg.DeclMode <> GBX0.SavedInDeclMode Then - Select Case WrongMode() - Case 1 - Close() - F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked - F_MAINForm.OpenVectoFile(file) - Case -1 - Exit Sub - Case Else '0 - 'Continue... - End Select - End If - - TbName.Text = GBX0.ModelName - TbTracInt.Text = GBX0.TracIntrSi.ToString - TBI_getr.Text = GBX0.GbxInertia.ToString - - ChTCon.Checked = GBX0.TCon - - LvGears.Items.Clear() - - For i = 0 To GBX0.Igetr.Count - 1 - - If i = 0 Then - 'lv0 = New ListViewItem("Axle") - LvGears.Items.Add(CreateListviewItem("Axle", "-", GBX0.Igetr(i), GBX0.GetrMap(i, True), GBX0.gsFile(i, True), - GBX0.MaxTorque(i))) - Else - 'lv0 = New ListViewItem(i.ToString("00")) - LvGears.Items.Add(CreateListviewItem(i.ToString("00"), "-", GBX0.Igetr(i), GBX0.GetrMap(i, True), - GBX0.gsFile(i, True), GBX0.MaxTorque(i))) - End If - - Next - - ChSkipGears.Checked = GBX0.gs_SkipGears - TbTqResv.Text = GBX0.gs_TorqueResv.ToString - TbShiftTime.Text = GBX0.gs_ShiftTime.ToString - TbTqResvStart.Text = GBX0.gs_TorqueResvStart.ToString - TbStartSpeed.Text = GBX0.gs_StartSpeed.ToString - TbStartAcc.Text = GBX0.gs_StartAcc.ToString - ChShiftInside.Checked = GBX0.gs_ShiftInside - - TbTCfile.Text = GBX0.TCfile(True) - TbTCrefrpm.Text = GBX0.TCrefrpm - TbTCinertia.Text = GBX0.TCinertia - TBTCShiftPolygon.Text = GBX0.TCshiftFile - - tbUpshiftMinAcceleration.Text = GBX0.UpshiftMinAcceleration - tbDownshiftAfterUpshift.Text = GBX0.DownshiftAfterUpshift - tbUpshiftAfterDownshift.Text = GBX0.UpshiftAfterDownshift - - CbGStype.SelectedValue = GBX0.gs_Type - 'If CType(GBX0.gs_Type, Integer) <= Me.CbGStype.Items.Count - 1 Then - ' Me.CbGStype.SelectedIndex = CType(GBX0.gs_Type, Integer) - 'Else - ' Me.CbGStype.SelectedIndex = 0 - 'End If - - DeclInit() - - - fbGBX.UpdateHistory(file) - Text = fFILE(file, True) - LbStatus.Text = "" - GbxFile = file - Activate() - - Changed = False - UpdatePic() - End Sub - - Private Function CreateListviewItem(gear As String, tc As String, ratio As Single, getrMap As String, - shiftPolygon As String, fldFile As String) As ListViewItem - Dim retVal As ListViewItem = New ListViewItem(gear) - 'retVal.SubItems.Add(tc) - retVal.SubItems.Add(ratio) - retVal.SubItems.Add(getrMap) - retVal.SubItems.Add(shiftPolygon) - retVal.SubItems.Add(fldFile) - Return retVal - End Function - - 'Save or Save As function = true if file is saved - Private Function SaveOrSaveAs(ByVal SaveAs As Boolean) As Boolean - If GbxFile = "" Or SaveAs Then - If fbGBX.SaveDialog(GbxFile) Then - GbxFile = fbGBX.Files(0) - Else - Return False - End If - End If - Return saveGBX(GbxFile) - End Function - - 'Save file - Private Function saveGBX(ByVal file As String) As Boolean - Dim GBX0 As cGBX - Dim i As Int16 - - GBX0 = New cGBX - GBX0.FilePath = file - - GBX0.ModelName = TbName.Text - If Trim(GBX0.ModelName) = "" Then GBX0.ModelName = "Undefined" - - GBX0.TracIntrSi = fTextboxToNumString(TbTracInt.Text) - GBX0.GbxInertia = fTextboxToNumString(TBI_getr.Text) - - For i = 0 To LvGears.Items.Count - 1 - 'GBX0.IsTCgear.Add(Me.LvGears.Items(i).SubItems(GearboxTbl.TorqueConverter).Text = "on" And i > 0) - GBX0.Igetr.Add(CSng(LvGears.Items(i).SubItems(GearboxTbl.Ratio).Text)) - GBX0.GetrMaps.Add(New cSubPath) - GBX0.GetrMap(i) = LvGears.Items(i).SubItems(GearboxTbl.LossMapEfficiency).Text - GBX0.gs_files.Add(New cSubPath) - GBX0.gsFile(i) = LvGears.Items(i).SubItems(GearboxTbl.ShiftPolygons).Text - 'GBX0.FldFiles.Add(New cSubPath) - 'GBX0.FldFile(i) = Me.LvGears.Items(i).SubItems(GearboxTbl.MaxTorque).Text - GBX0.MaxTorque.Add(LvGears.Items(i).SubItems(GearboxTbl.MaxTorque).Text) - Next - - GBX0.gs_TorqueResv = fTextboxToNumString(TbTqResv.Text) - GBX0.gs_SkipGears = ChSkipGears.Checked - GBX0.gs_ShiftTime = fTextboxToNumString(TbShiftTime.Text) - GBX0.gs_TorqueResvStart = fTextboxToNumString(TbTqResvStart.Text) - GBX0.gs_StartSpeed = fTextboxToNumString(TbStartSpeed.Text) - GBX0.gs_StartAcc = fTextboxToNumString(TbStartAcc.Text) - GBX0.gs_ShiftInside = ChShiftInside.Checked - - GBX0.gs_Type = CbGStype.SelectedValue - - GBX0.TCon = ChTCon.Checked - GBX0.TCfile = TbTCfile.Text - GBX0.TCrefrpm = fTextboxToNumString(TbTCrefrpm.Text) - GBX0.TCinertia = fTextboxToNumString(TbTCinertia.Text) - GBX0.TCshiftFile = TBTCShiftPolygon.Text - - GBX0.DownshiftAfterUpshift = fTextboxToNumString(tbDownshiftAfterUpshift.Text) - GBX0.UpshiftAfterDownshift = fTextboxToNumString(tbUpshiftAfterDownshift.Text) - GBX0.UpshiftMinAcceleration = fTextboxToNumString(tbUpshiftMinAcceleration.Text) - - If Not GBX0.SaveFile Then - MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) - Return False - End If - - If AutoSendTo Then - If F_VECTO.Visible Then - If UCase(fFileRepl(F_VECTO.TbGBX.Text, JobDir)) <> UCase(file) Then F_VECTO.TbGBX.Text = fFileWoDir(file, JobDir) - F_VECTO.UpdatePic() - End If - End If - - fbGBX.UpdateHistory(file) - Text = fFILE(file, True) - LbStatus.Text = "" - - Changed = False - - Return True - End Function - -#Region "Change Events" - - 'Change Status ändern |@@| Change Status change - Private Sub Change() - If Not Changed Then - LbStatus.Text = "Unsaved changes in current file" - Changed = True - End If - End Sub - - ' "Save changes ?" ...liefert True wenn User Vorgang abbricht |@@| Save changes? "... Returns True if user aborts - Private Function ChangeCheckCancel() As Boolean - - If Changed Then - Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel) - Case MsgBoxResult.Yes - Return Not SaveOrSaveAs(False) - Case MsgBoxResult.Cancel - Return True - Case Else 'MsgBoxResult.No - Changed = False - Return False - End Select - - Else - - Return False - - End If - End Function - - Private Sub TbName_TextChanged(sender As Object, e As EventArgs) Handles TbName.TextChanged - Change() - End Sub - - Private Sub TBI_getr_TextChanged(sender As Object, e As EventArgs) Handles TBI_getr.TextChanged - Change() - End Sub - - Private Sub TbTracInt_TextChanged(sender As Object, e As EventArgs) Handles TbTracInt.TextChanged - Change() - End Sub - - Private Sub ChSkipGears_CheckedChanged(sender As Object, e As EventArgs) _ - Handles ChSkipGears.CheckedChanged - CheckEnableTorqRes() - Change() - End Sub - - Private Sub ChShiftInside_CheckedChanged(sender As Object, e As EventArgs) _ - Handles ChShiftInside.CheckedChanged - CheckEnableTorqRes() - Change() - End Sub - - Private Sub TbTqResv_TextChanged(sender As Object, e As EventArgs) Handles TbTqResv.TextChanged - Change() - End Sub - - Private Sub TbShiftTime_TextChanged(sender As Object, e As EventArgs) Handles TbShiftTime.TextChanged - Change() - End Sub - - Private Sub TbTqResvStart_TextChanged(sender As Object, e As EventArgs) Handles TbTqResvStart.TextChanged - Change() - End Sub - - Private Sub TbStartSpeed_TextChanged(sender As Object, e As EventArgs) Handles TbStartSpeed.TextChanged - Change() - End Sub - - Private Sub TbStartAcc_TextChanged(sender As Object, e As EventArgs) Handles TbStartAcc.TextChanged - Change() - End Sub - - Private Sub TbTCfile_TextChanged(sender As Object, e As EventArgs) Handles TbTCfile.TextChanged - Change() - End Sub - - Private Sub TbTCrefrpm_TextChanged(sender As Object, e As EventArgs) Handles TbTCrefrpm.TextChanged - Change() - End Sub - - Private Sub TbTCinertia_TextChanged(sender As Object, e As EventArgs) Handles TbTCinertia.TextChanged - Change() - End Sub - - - Private Sub CheckEnableTorqRes() - If ChShiftInside.Checked Or ChSkipGears.Checked Then - PnTorqRes.Enabled = True - Else - PnTorqRes.Enabled = False - End If - End Sub - - -#End Region - - 'Save and close - Private Sub ButOK_Click(sender As Object, e As EventArgs) Handles ButOK.Click - If SaveOrSaveAs(False) Then Close() - End Sub - - 'Cancel - Private Sub ButCancel_Click(sender As Object, e As EventArgs) Handles ButCancel.Click - Close() - End Sub - - 'Enable/Disable settings for specific transmission types - Private Sub CbGStype_SelectedIndexChanged(sender As Object, e As EventArgs) _ - Handles CbGStype.SelectedIndexChanged - Dim GStype As GearboxType = CbGStype.SelectedItem.Value - - Change() - - ChShiftInside.Enabled = (GStype.EarlyShiftGears()) - ChSkipGears.Enabled = (GStype.SkipGears()) - ChTCon.Enabled = (GStype.AutomaticTransmission()) - End Sub - - - Private Sub LvGears_SelectedIndexChanged(sender As Object, e As EventArgs) _ - Handles LvGears.SelectedIndexChanged - UpdatePic() - End Sub - -#Region "Gears" - - 'Gear-DoubleClick - Private Sub LvGears_MouseDoubleClick(ByVal sender As Object, ByVal e As MouseEventArgs) _ - Handles LvGears.MouseDoubleClick - EditGear() - End Sub - - 'Gear-KeyDown - Private Sub LvGears_KeyDown(sender As Object, e As KeyEventArgs) Handles LvGears.KeyDown - Select Case e.KeyCode - Case Keys.Delete, Keys.Back - RemoveGear(False) - Case Keys.Enter - EditGear() - End Select - End Sub - - 'Remove Gear Button - Private Sub BtClearGear_Click(sender As Object, e As EventArgs) Handles BtRemGear.Click - RemoveGear(False) - End Sub - - 'Add Gear button - Private Sub BtAddGear_Click(sender As Object, e As EventArgs) Handles BtAddGear.Click - AddGear() - LvGears.Items(LvGears.Items.Count - 1).Selected = True - EditGear() - End Sub - - 'Edit Gear - Private Sub EditGear() - - Do - - 'GearDia.ChIsTCgear.Enabled = (Me.ChTCon.Checked And Me.LvGears.SelectedIndices(0) > 0) - GearDia.PnShiftPoly.Enabled = (Not Cfg.DeclMode And LvGears.SelectedIndices(0) > 0) - GearDia.PnFld.Enabled = (LvGears.SelectedIndices(0) > 0) - GearDia.GbxPath = fPATH(GbxFile) - GearDia.TbGear.Text = LvGears.SelectedItems(0).SubItems(GearboxTbl.GearNr).Text - GearDia.TbRatio.Text = LvGears.SelectedItems(0).SubItems(GearboxTbl.Ratio).Text - GearDia.TbMapPath.Text = LvGears.SelectedItems(0).SubItems(GearboxTbl.LossMapEfficiency).Text - If LvGears.SelectedIndices(0) > 0 Then - GearDia.TbShiftPolyFile.Text = LvGears.SelectedItems(0).SubItems(GearboxTbl.ShiftPolygons).Text - GearDia.TbMaxTorque.Text = LvGears.SelectedItems(0).SubItems(GearboxTbl.MaxTorque).Text - Else - GearDia.TbShiftPolyFile.Text = "" - GearDia.TbMaxTorque.Text = "" - End If - - If LvGears.SelectedItems(0).Index = 0 Then - GearDia.BtPrevious.Enabled = False - Else - GearDia.BtPrevious.Enabled = True - End If - - If GearDia.ShowDialog = DialogResult.OK Then - - 'Me.LvGears.SelectedItems(0).SubItems(GearboxTbl.TorqueConverter).Text = "-" - - - LvGears.SelectedItems(0).SubItems(GearboxTbl.Ratio).Text = GearDia.TbRatio.Text - LvGears.SelectedItems(0).SubItems(GearboxTbl.LossMapEfficiency).Text = GearDia.TbMapPath.Text - LvGears.SelectedItems(0).SubItems(GearboxTbl.ShiftPolygons).Text = GearDia.TbShiftPolyFile.Text - LvGears.SelectedItems(0).SubItems(GearboxTbl.MaxTorque).Text = GearDia.TbMaxTorque.Text - - UpdatePic() - Change() - - Else - - If LvGears.SelectedItems(0).SubItems(GearboxTbl.Ratio).Text = "" Then RemoveGear(True) - - End If - - If GearDia.NextGear Then - If LvGears.Items.Count - 1 = LvGears.SelectedIndices(0) Then AddGear() - - LvGears.Items(LvGears.SelectedIndices(0) + 1).Selected = True - End If - - If GearDia.PreviousGear AndAlso LvGears.SelectedIndices(0) > 0 Then - LvGears.Items(LvGears.SelectedIndices(0) - 1).Selected = True - End If - - Loop Until Not (GearDia.NextGear OrElse GearDia.PreviousGear) - End Sub - - 'Add Gear - Private Sub AddGear() - Dim lvi As ListViewItem - - lvi = CreateListviewItem(LvGears.Items.Count.ToString("00"), "-", 1, "", "", "") - - LvGears.Items.Add(lvi) - - lvi.EnsureVisible() - - LvGears.Focus() - - 'Change() => NO! Change() is already handled by EditGear - End Sub - - 'Remove Gear - Private Sub RemoveGear(ByVal NoChange As Boolean) - Dim i0 As Int16 - Dim i As Int16 - Dim lv0 As ListViewItem - - If LvGears.Items.Count < 2 Then Exit Sub - - If LvGears.SelectedItems.Count = 0 Then LvGears.Items(LvGears.Items.Count - 1).Selected = True - - i0 = LvGears.SelectedItems(0).Index - - If i0 = 0 Then Exit Sub 'Must not remove axle - - LvGears.SelectedItems(0).Remove() - - i = 0 - For Each lv0 In LvGears.Items - If lv0.SubItems(GearboxTbl.GearNr).Text = "Axle" Then Continue For - i += 1 - lv0.SubItems(GearboxTbl.GearNr).Text = i.ToString("00") - Next - - If i0 < LvGears.Items.Count Then - LvGears.Items(i0).Selected = True - LvGears.Items(i0).EnsureVisible() - End If - - LvGears.Focus() - UpdatePic() - - If Not NoChange Then Change() - End Sub - - -#End Region - - -#Region "Open File Context Menu" - - Private CmFiles As String() - - Private Sub OpenFiles(ParamArray files() As String) - - If files.Length = 0 Then Exit Sub - - CmFiles = files - - OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName - - CmOpenFile.Show(Windows.Forms.Cursor.Position) - End Sub - - Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles OpenWithToolStripMenuItem.Click - If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!") - End Sub - - Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles ShowInFolderToolStripMenuItem.Click - If File.Exists(CmFiles(0)) Then - Try - Process.Start("explorer", "/select,""" & CmFiles(0) & "") - Catch ex As Exception - MsgBox("Failed to open file!") - End Try - Else - MsgBox("File not found!") - End If - End Sub - -#End Region - - - Private Sub UpdatePic() - - Dim f As cFile_V3 - Dim path As String - Dim lM As List(Of Single) = Nothing - Dim lup As List(Of Single) = Nothing - Dim ldown As List(Of Single) = Nothing - Dim line As String() - Dim MyChart As Chart - Dim s As Series - Dim a As ChartArea - Dim img As Image - Dim Gear As Integer - Dim fldOK As Boolean - Dim fldpath As String - Dim FLD0 As cFLD = Nothing - Dim ShiftOK As Boolean - - - PicBox.Image = Nothing - - Try - - 'Check Files - If LvGears.Items.Count > 1 Then - - If LvGears.SelectedItems.Count > 0 AndAlso LvGears.SelectedIndices(0) > 0 Then - path = fFileRepl(LvGears.SelectedItems(0).SubItems(GearboxTbl.ShiftPolygons).Text, fPATH(GbxFile)) - 'fldpath = fFileRepl(LvGears.SelectedItems(0).SubItems(GearboxTbl.MaxTorque).Text, fPATH(GbxFile)) - Gear = LvGears.SelectedIndices(0) - Else - path = fFileRepl(LvGears.Items(1).SubItems(GearboxTbl.ShiftPolygons).Text, fPATH(GbxFile)) - 'fldpath = fFileRepl(Me.LvGears.Items(1).SubItems(GearboxTbl.MaxTorque).Text, fPATH(GbxFile)) - Gear = 1 - End If - - f = New cFile_V3 - ShiftOK = f.OpenRead(path) - - fldpath = F_VECTO.FLDfile - - fldOK = fldpath.Trim <> "" - - If fldOK Then - FLD0 = New cFLD - FLD0.FilePath = fldpath - fldOK = FLD0.ReadFile(True, False) - End If - - Else - - Exit Sub - - End If - - Catch ex As Exception - Exit Sub - - End Try - - 'Read ShiftPolygon - If ShiftOK Then - - 'Header - f.ReadLine() - - Try - lM = New List(Of Single) - lup = New List(Of Single) - ldown = New List(Of Single) - - Do While Not f.EndOfFile - line = f.ReadLine - lM.Add(CSng(line(0))) - lup.Add(CSng(line(1))) - ldown.Add(CSng(line(2))) - Loop - - f.Close() - - Catch ex As Exception - f.Close() - Exit Sub - End Try - - If lM.Count < 2 Then ShiftOK = False - - End If - - - 'Create plot - If Not ShiftOK And Not fldOK Then Exit Sub - - MyChart = New Chart - MyChart.Width = PicBox.Width - MyChart.Height = PicBox.Height - - a = New ChartArea - - 'Shiftpolygons from file - If ShiftOK Then - s = New Series - s.Points.DataBindXY(lup, lM) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.DarkRed - s.Name = "Upshift curve" - MyChart.Series.Add(s) - - s = New Series - s.Points.DataBindXY(ldown, lM) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.DarkRed - s.Name = "Downshift curve" - MyChart.Series.Add(s) - End If - - Dim vectoJob As cVECTO = New cVECTO() With {.FilePath = F_VECTO.VECTOfile} - Dim vectoOk As Boolean = vectoJob.ReadFile() - Dim vehicle As cVEH = New cVEH() With {.FilePath = vectoJob.PathVeh(False)} - Dim vehicleOk As Boolean = vehicle.ReadFile(False) - - 'Fld - If fldOK AndAlso vectoOk AndAlso vehicleOk Then - - s = New Series - s.Points.DataBindXY(FLD0.LnU, FLD0.LTq) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.DarkBlue - s.Name = "Full load" - MyChart.Series.Add(s) - - If F_VECTO.Visible AndAlso F_VECTO.n_idle > 0 Then - If FLD0.Init(F_VECTO.n_idle) Then - - 'Dim fullLoadCurve As FullLoadCurve = ConvertToFullLoadCurve(FLD0.LnU, FLD0.LTq) - Dim gears As IList(Of ITransmissionInputData) = ConvertToGears(LvGears.Items) - If (CType(CbGStype.SelectedValue, GearboxType).ManualTransmission() AndAlso gears.Count > 1) Then - Dim engine As CombustionEngineData = ConvertToEngineData(FLD0, F_VECTO.n_idle) - Dim shiftLines As ShiftPolygon = DeclarationData.Gearbox.ComputeShiftPolygon(Gear - 1, engine.FullLoadCurve, gears, - engine, - Double.Parse(LvGears.Items(0).SubItems(GearboxTbl.Ratio).Text, CultureInfo.InvariantCulture), - (vehicle.rdyn / 1000.0).SI(Of Meter)) - - s = New Series - - 's.Points.DataBindXY(Shiftpoly.gs_nUup, Shiftpoly.gs_TqUp) - s.Points.DataBindXY( - shiftLines.Upshift.Select(Function(pt) pt.AngularSpeed.Value() / Constants.RPMToRad).ToList(), - shiftLines.Upshift.Select(Function(pt) pt.Torque.Value()).ToList()) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.DarkRed - s.BorderDashStyle = ChartDashStyle.Dash - s.Name = "Upshift curve (generic)" - MyChart.Series.Add(s) - - s = New Series - 's.Points.DataBindXY(Shiftpoly.gs_nUdown, Shiftpoly.gs_TqDown) - s.Points.DataBindXY( - shiftLines.Downshift.Select(Function(pt) pt.AngularSpeed.Value() / Constants.RPMToRad).ToList(), - shiftLines.Downshift.Select(Function(pt) pt.Torque.Value()).ToList()) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.DarkRed - s.BorderDashStyle = ChartDashStyle.Dash - s.Name = "Downshift curve (generic)" - MyChart.Series.Add(s) - End If - End If - End If - - End If - - - a.Name = "main" - - a.AxisX.Title = "engine speed [1/min]" - a.AxisX.TitleFont = New Font("Helvetica", 10) - a.AxisX.LabelStyle.Font = New Font("Helvetica", 8) - a.AxisX.LabelAutoFitStyle = LabelAutoFitStyles.None - a.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dot - - a.AxisY.Title = "engine torque [Nm]" - a.AxisY.TitleFont = New Font("Helvetica", 10) - a.AxisY.LabelStyle.Font = New Font("Helvetica", 8) - a.AxisY.LabelAutoFitStyle = LabelAutoFitStyles.None - a.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dot - - a.AxisX.Minimum = 300 - a.BorderDashStyle = ChartDashStyle.Solid - a.BorderWidth = 1 - - a.BackColor = Color.GhostWhite - - MyChart.ChartAreas.Add(a) - - MyChart.Titles.Add("Gear " & Gear & " shift polygons") - MyChart.Titles(0).Font = New Font("Helvetica", 12) - - MyChart.Update() - - img = New Bitmap(MyChart.Width, MyChart.Height, PixelFormat.Format32bppArgb) - MyChart.DrawToBitmap(img, New Rectangle(0, 0, PicBox.Width, PicBox.Height)) - - PicBox.Image = img - End Sub - - - Private Function ConvertToGears(gbx As ListView.ListViewItemCollection) As IList(Of ITransmissionInputData) - Dim retVal As List(Of ITransmissionInputData) = New List(Of ITransmissionInputData) - Dim value As Double - - For i As Integer = 1 To gbx.Count - 1 - If _ - gbx(i).SubItems(GearboxTbl.Ratio).Text <> "" AndAlso Double.TryParse(gbx(i).SubItems(GearboxTbl.Ratio).Text, value) _ - Then - retVal.Add( - New TransmissionInputData() _ - With {.Ratio = Double.Parse(value, CultureInfo.InvariantCulture)}) - - End If - Next - Return retVal - End Function - - -#Region "Torque Converter" - - 'TC on/off - Private Sub ChTCon_CheckedChanged(sender As Object, e As EventArgs) Handles ChTCon.CheckedChanged - Change() - CheckGearTC() - PnTC.Enabled = ChTCon.Checked - LblTCShiftFile.Enabled = ChTCon.Checked - TBTCShiftPolygon.Enabled = ChTCon.Checked - End Sub - - 'Browse TC file - Private Sub BtTCfileBrowse_Click(sender As Object, e As EventArgs) Handles BtTCfileBrowse.Click - If fbTCC.OpenDialog(fFileRepl(TbTCfile.Text, fPATH(GbxFile))) Then - TbTCfile.Text = fFileWoDir(fbTCC.Files(0), fPATH(GbxFile)) - End If - End Sub - - 'Open TC file - Private Sub BtTCfileOpen_Click(sender As Object, e As EventArgs) Handles BtTCfileOpen.Click - OpenFiles(fFileRepl(TbTCfile.Text, fPATH(GbxFile))) - End Sub - - Private Sub CheckGearTC() - Dim lv0 As ListViewItem - - If Not Init Then Exit Sub - - For Each lv0 In LvGears.Items - - If lv0.SubItems(GearboxTbl.GearNr).Text = "Axle" Then Continue For - - 'lv0.SubItems(GearboxTbl.TorqueConverter).Text = "-" - Next - End Sub - - -#End Region - - Private Sub GroupBox1_Enter(sender As Object, e As EventArgs) Handles GroupBox1.Enter - End Sub - - Public Sub New() - - ' Dieser Aufruf ist für den Designer erforderlich. - InitializeComponent() - - ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. - End Sub - - Private Sub BtTCShiftFileBrowse_Click(sender As Object, e As EventArgs) Handles BtTCShiftFileBrowse.Click - If fbTCCShift.OpenDialog(fFileRepl(TBTCShiftPolygon.Text, fPATH(GbxFile))) Then - TBTCShiftPolygon.Text = fFileWoDir(fbTCCShift.Files(0), fPATH(GbxFile)) - End If - End Sub -End Class +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.Collections.Generic +Imports System.Drawing.Imaging +Imports System.Globalization +Imports System.IO +Imports System.Linq +Imports System.Text.RegularExpressions +Imports System.Windows.Forms.DataVisualization.Charting +Imports TUGraz.VECTO.Input_Files +Imports TUGraz.VectoCommon.InputData +Imports TUGraz.VectoCommon.Models +Imports TUGraz.VectoCommon.Utils +Imports TUGraz.VectoCore.Configuration +Imports TUGraz.VectoCore.InputData.Impl +Imports TUGraz.VectoCore.Models.Declaration +Imports TUGraz.VectoCore.Models.SimulationComponent.Data +Imports TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox + +''' <summary> +''' Gearbox Editor +''' </summary> +''' <remarks></remarks> +Public Class GearboxForm + Private Enum GearboxTbl + GearNr = 0 + 'TorqueConverter = 1 + Ratio = 1 + LossMapEfficiency = 2 + ShiftPolygons = 3 + MaxTorque = 4 + End Enum + + Private GbxFile As String = "" + Public AutoSendTo As Boolean = False + Public JobDir As String = "" + Private GearDia As GearboxGearDialog + + Private Init As Boolean = False + + Private Changed As Boolean = False + + 'Before closing Editor: Check if file was changed and ask to save. + Private Sub F_GBX_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then + e.Cancel = ChangeCheckCancel() + End If + End Sub + + 'Initialise. + Private Sub F_GBX_Load(sender As Object, e As EventArgs) Handles Me.Load + + Init = False + GearDia = New GearboxGearDialog + + PnInertiaTI.Enabled = Not Cfg.DeclMode + GrGearShift.Enabled = Not Cfg.DeclMode + ChTCon.Enabled = Not Cfg.DeclMode + + CbGStype.Items.Clear() + CbGStype.ValueMember = "Value" + CbGStype.DisplayMember = "Label" + + If Cfg.DeclMode Then + CbGStype.DataSource = [Enum].GetValues(GetType(GearboxType)) _ + .Cast(Of GearboxType)() _ + .Where(Function(type) type.ManualTransmission()) _ + .Select(Function(type) New With {Key .Value = type, .Label = type.GetLabel()}).ToList() + Else + CbGStype.DataSource = [Enum].GetValues(GetType(GearboxType)) _ + .Cast(Of GearboxType) _ + .Where(Function(type) type.AutomaticTransmission() OrElse type.ManualTransmission()) _ + .Select(Function(type) New With {Key .Value = type, .Label = type.GetLabel()}).ToList() + End If + + Init = True + + DeclInit() + + Changed = False + newGBX() + End Sub + + 'Set generic values for Declaration mode. + Private Sub DeclInit() + Dim GStype As GearboxType + Dim lv0 As ListViewItem + + If Not Cfg.DeclMode Then Exit Sub + + TBI_getr.Text = DeclarationData.Gearbox.Inertia.Value() 'cDeclaration.GbInertia + + GStype = CbGStype.SelectedValue 'CType(Me.CbGStype.SelectedIndex, tGearbox) + + TbTracInt.Text = GStype.TractionInterruption().Value() + TbShiftTime.Text = DeclarationData.Gearbox.MinTimeBetweenGearshifts.Value() 'cDeclaration.ShiftTime(GStype) + + TbTqResv.Text = DeclarationData.Gearbox.TorqueReserve ' cDeclaration.TqResv + TbTqResvStart.Text = DeclarationData.Gearbox.TorqueReserveStart 'cDeclaration.TqResvStart + TbStartSpeed.Text = DeclarationData.Gearbox.StartSpeed.Value() 'cDeclaration.StartSpeed + TbStartAcc.Text = DeclarationData.Gearbox.StartAcceleration.Value() ' cDeclaration.StartAcc + + tbUpshiftMinAcceleration.Text = DeclarationData.Gearbox.UpshiftMinAcceleration.Value() + tbDownshiftAfterUpshift.Text = DeclarationData.Gearbox.DownshiftAfterUpshiftDelay.Value() + tbUpshiftAfterDownshift.Text = DeclarationData.Gearbox.UpshiftAfterDownshiftDelay.Value() + + For Each lv0 In LvGears.Items + lv0.SubItems(GearboxTbl.ShiftPolygons).Text = "-" + Next + End Sub + +#Region "Toolbar" + + Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click + newGBX() + End Sub + + Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click + If GearboxFileBrowser.OpenDialog(GbxFile) Then openGBX(GearboxFileBrowser.Files(0)) + End Sub + + Private Sub ToolStripBtSave_Click(sender As Object, e As EventArgs) Handles ToolStripBtSave.Click + SaveOrSaveAs(False) + End Sub + + Private Sub ToolStripBtSaveAs_Click(sender As Object, e As EventArgs) Handles ToolStripBtSaveAs.Click + SaveOrSaveAs(True) + End Sub + + Private Sub ToolStripBtSendTo_Click(sender As Object, e As EventArgs) Handles ToolStripBtSendTo.Click + + If ChangeCheckCancel() Then Exit Sub + + If GbxFile = "" Then + If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then + If Not SaveOrSaveAs(True) Then Exit Sub + Else + Exit Sub + End If + End If + + If Not VectoJobForm.Visible Then + JobDir = "" + VectoJobForm.Show() + VectoJobForm.VECTOnew() + Else + VectoJobForm.WindowState = FormWindowState.Normal + End If + + VectoJobForm.TbGBX.Text = fFileWoDir(GbxFile, JobDir) + End Sub + + 'Help + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + If File.Exists(MyAppPath & "User Manual\help.html") Then + Dim BrowserRegistryString As String = + My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString + Dim DefaultBrowserPath As String = + Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString + Process.Start(DefaultBrowserPath, + String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#gearbox-editor")) + Else + MsgBox("User Manual not found!", MsgBoxStyle.Critical) + End If + End Sub + +#End Region + + 'New file + Private Sub newGBX() + 'Dim lvi As ListViewItem + + If ChangeCheckCancel() Then Exit Sub + + CbGStype.SelectedIndex = 0 + + TbName.Text = "" + TbTracInt.Text = "" + TBI_getr.Text = "" + + LvGears.Items.Clear() + + LvGears.Items.Add(CreateListviewItem("Axle", "-", 0, 0, "", "")) + + 'Me.ChSkipGears.Checked = False 'set by CbGStype.SelectedIndexChanged + 'Me.ChShiftInside.Checked = False 'set by CbGStype.SelectedIndexChanged + TbTqResv.Text = "" + TbShiftTime.Text = "" + TbTqResvStart.Text = "" + TbStartSpeed.Text = "" + TbStartAcc.Text = "" + + 'Me.ChTCon.Checked = False 'set by CbGStype.SelectedIndexChanged + TbTCfile.Text = "" + TbTCrefrpm.Text = "" + TbTCinertia.Text = "" + + DeclInit() + + GbxFile = "" + Text = "GBX Editor" + LbStatus.Text = "" + + Changed = False + UpdatePic() + End Sub + + 'Open file + Public Sub openGBX(ByVal file As String) + Dim GBX0 As Gearbox + Dim i As Integer + 'Dim lv0 As ListViewItem + + If ChangeCheckCancel() Then Exit Sub + + GBX0 = New Gearbox + + GBX0.FilePath = file + + If Not GBX0.ReadFile Then + MsgBox("Cannot read " & file & "!") + Exit Sub + End If + + If Cfg.DeclMode <> GBX0.SavedInDeclMode Then + Select Case WrongMode() + Case 1 + Close() + MainForm.RbDecl.Checked = Not MainForm.RbDecl.Checked + MainForm.OpenVectoFile(file) + Case -1 + Exit Sub + Case Else '0 + 'Continue... + End Select + End If + + TbName.Text = GBX0.ModelName + TbTracInt.Text = GBX0.TracIntrSi.ToString + TBI_getr.Text = GBX0.GbxInertia.ToString + + ChTCon.Checked = GBX0.TorqueConverterEnabled + + LvGears.Items.Clear() + + For i = 0 To GBX0.Igetr.Count - 1 + + If i = 0 Then + 'lv0 = New ListViewItem("Axle") + LvGears.Items.Add(CreateListviewItem("Axle", "-", GBX0.Igetr(i), GBX0.GetrMap(i, True), GBX0.gsFile(i, True), + GBX0.MaxTorque(i))) + Else + 'lv0 = New ListViewItem(i.ToString("00")) + LvGears.Items.Add(CreateListviewItem(i.ToString("00"), "-", GBX0.Igetr(i), GBX0.GetrMap(i, True), + GBX0.gsFile(i, True), GBX0.MaxTorque(i))) + End If + + Next + + ChSkipGears.Checked = GBX0.SkipGears + TbTqResv.Text = GBX0.TorqueResv.ToString + TbShiftTime.Text = GBX0.ShiftTime.ToString + TbTqResvStart.Text = GBX0.TorqueResvStart.ToString + TbStartSpeed.Text = GBX0.StartSpeed.ToString + TbStartAcc.Text = GBX0.StartAcc.ToString + ChShiftInside.Checked = GBX0.ShiftInside + + TbTCfile.Text = GBX0.TCfile(True) + TbTCrefrpm.Text = GBX0.TorqueConverterReferenceRPM + TbTCinertia.Text = GBX0.TorqueConverterInertia + TBTCShiftPolygon.Text = GBX0.TCshiftFile + + tbUpshiftMinAcceleration.Text = GBX0.UpshiftMinAcceleration + tbDownshiftAfterUpshift.Text = GBX0.DownshiftAfterUpshift + tbUpshiftAfterDownshift.Text = GBX0.UpshiftAfterDownshift + + CbGStype.SelectedValue = GBX0.Type + 'If CType(GBX0.gs_Type, Integer) <= Me.CbGStype.Items.Count - 1 Then + ' Me.CbGStype.SelectedIndex = CType(GBX0.gs_Type, Integer) + 'Else + ' Me.CbGStype.SelectedIndex = 0 + 'End If + + DeclInit() + + + GearboxFileBrowser.UpdateHistory(file) + Text = fFILE(file, True) + LbStatus.Text = "" + GbxFile = file + Activate() + + Changed = False + UpdatePic() + End Sub + + Private Function CreateListviewItem(gear As String, tc As String, ratio As Single, getrMap As String, + shiftPolygon As String, fldFile As String) As ListViewItem + Dim retVal As ListViewItem = New ListViewItem(gear) + 'retVal.SubItems.Add(tc) + retVal.SubItems.Add(ratio) + retVal.SubItems.Add(getrMap) + retVal.SubItems.Add(shiftPolygon) + retVal.SubItems.Add(fldFile) + Return retVal + End Function + + 'Save or Save As function = true if file is saved + Private Function SaveOrSaveAs(ByVal SaveAs As Boolean) As Boolean + If GbxFile = "" Or SaveAs Then + If GearboxFileBrowser.SaveDialog(GbxFile) Then + GbxFile = GearboxFileBrowser.Files(0) + Else + Return False + End If + End If + Return saveGBX(GbxFile) + End Function + + 'Save file + Private Function saveGBX(ByVal file As String) As Boolean + Dim GBX0 As Gearbox + Dim i As Int16 + + GBX0 = New Gearbox + GBX0.FilePath = file + + GBX0.ModelName = TbName.Text + If Trim(GBX0.ModelName) = "" Then GBX0.ModelName = "Undefined" + + GBX0.TracIntrSi = fTextboxToNumString(TbTracInt.Text) + GBX0.GbxInertia = fTextboxToNumString(TBI_getr.Text) + + For i = 0 To LvGears.Items.Count - 1 + 'GBX0.IsTCgear.Add(Me.LvGears.Items(i).SubItems(GearboxTbl.TorqueConverter).Text = "on" And i > 0) + GBX0.Igetr.Add(CSng(LvGears.Items(i).SubItems(GearboxTbl.Ratio).Text)) + GBX0.GetrMaps.Add(New SubPath) + GBX0.GetrMap(i) = LvGears.Items(i).SubItems(GearboxTbl.LossMapEfficiency).Text + GBX0.gs_files.Add(New SubPath) + GBX0.gsFile(i) = LvGears.Items(i).SubItems(GearboxTbl.ShiftPolygons).Text + 'GBX0.FldFiles.Add(New cSubPath) + 'GBX0.FldFile(i) = Me.LvGears.Items(i).SubItems(GearboxTbl.MaxTorque).Text + GBX0.MaxTorque.Add(LvGears.Items(i).SubItems(GearboxTbl.MaxTorque).Text) + Next + + GBX0.TorqueResv = fTextboxToNumString(TbTqResv.Text) + GBX0.SkipGears = ChSkipGears.Checked + GBX0.ShiftTime = fTextboxToNumString(TbShiftTime.Text) + GBX0.TorqueResvStart = fTextboxToNumString(TbTqResvStart.Text) + GBX0.StartSpeed = fTextboxToNumString(TbStartSpeed.Text) + GBX0.StartAcc = fTextboxToNumString(TbStartAcc.Text) + GBX0.ShiftInside = ChShiftInside.Checked + + GBX0.Type = CbGStype.SelectedValue + + GBX0.TorqueConverterEnabled = ChTCon.Checked + GBX0.TCfile = TbTCfile.Text + GBX0.TorqueConverterReferenceRPM = fTextboxToNumString(TbTCrefrpm.Text) + GBX0.TorqueConverterInertia = fTextboxToNumString(TbTCinertia.Text) + GBX0.TCshiftFile = TBTCShiftPolygon.Text + + GBX0.DownshiftAfterUpshift = fTextboxToNumString(tbDownshiftAfterUpshift.Text) + GBX0.UpshiftAfterDownshift = fTextboxToNumString(tbUpshiftAfterDownshift.Text) + GBX0.UpshiftMinAcceleration = fTextboxToNumString(tbUpshiftMinAcceleration.Text) + + If Not GBX0.SaveFile Then + MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) + Return False + End If + + If AutoSendTo Then + If VectoJobForm.Visible Then + If UCase(fFileRepl(VectoJobForm.TbGBX.Text, JobDir)) <> UCase(file) Then VectoJobForm.TbGBX.Text = fFileWoDir(file, JobDir) + VectoJobForm.UpdatePic() + End If + End If + + GearboxFileBrowser.UpdateHistory(file) + Text = fFILE(file, True) + LbStatus.Text = "" + + Changed = False + + Return True + End Function + +#Region "Change Events" + + 'Change Status ändern |@@| Change Status change + Private Sub Change() + If Not Changed Then + LbStatus.Text = "Unsaved changes in current file" + Changed = True + End If + End Sub + + ' "Save changes ?" ...liefert True wenn User Vorgang abbricht |@@| Save changes? "... Returns True if user aborts + Private Function ChangeCheckCancel() As Boolean + + If Changed Then + Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel) + Case MsgBoxResult.Yes + Return Not SaveOrSaveAs(False) + Case MsgBoxResult.Cancel + Return True + Case Else 'MsgBoxResult.No + Changed = False + Return False + End Select + + Else + + Return False + + End If + End Function + + Private Sub TbName_TextChanged(sender As Object, e As EventArgs) Handles TbName.TextChanged + Change() + End Sub + + Private Sub TBI_getr_TextChanged(sender As Object, e As EventArgs) Handles TBI_getr.TextChanged + Change() + End Sub + + Private Sub TbTracInt_TextChanged(sender As Object, e As EventArgs) Handles TbTracInt.TextChanged + Change() + End Sub + + Private Sub ChSkipGears_CheckedChanged(sender As Object, e As EventArgs) _ + Handles ChSkipGears.CheckedChanged + CheckEnableTorqRes() + Change() + End Sub + + Private Sub ChShiftInside_CheckedChanged(sender As Object, e As EventArgs) _ + Handles ChShiftInside.CheckedChanged + CheckEnableTorqRes() + Change() + End Sub + + Private Sub TbTqResv_TextChanged(sender As Object, e As EventArgs) Handles TbTqResv.TextChanged + Change() + End Sub + + Private Sub TbShiftTime_TextChanged(sender As Object, e As EventArgs) Handles TbShiftTime.TextChanged + Change() + End Sub + + Private Sub TbTqResvStart_TextChanged(sender As Object, e As EventArgs) Handles TbTqResvStart.TextChanged + Change() + End Sub + + Private Sub TbStartSpeed_TextChanged(sender As Object, e As EventArgs) Handles TbStartSpeed.TextChanged + Change() + End Sub + + Private Sub TbStartAcc_TextChanged(sender As Object, e As EventArgs) Handles TbStartAcc.TextChanged + Change() + End Sub + + Private Sub TbTCfile_TextChanged(sender As Object, e As EventArgs) Handles TbTCfile.TextChanged + Change() + End Sub + + Private Sub TbTCrefrpm_TextChanged(sender As Object, e As EventArgs) Handles TbTCrefrpm.TextChanged + Change() + End Sub + + Private Sub TbTCinertia_TextChanged(sender As Object, e As EventArgs) Handles TbTCinertia.TextChanged + Change() + End Sub + + + Private Sub CheckEnableTorqRes() + If ChShiftInside.Checked Or ChSkipGears.Checked Then + PnTorqRes.Enabled = True + Else + PnTorqRes.Enabled = False + End If + End Sub + + +#End Region + + 'Save and close + Private Sub ButOK_Click(sender As Object, e As EventArgs) Handles ButOK.Click + If SaveOrSaveAs(False) Then Close() + End Sub + + 'Cancel + Private Sub ButCancel_Click(sender As Object, e As EventArgs) Handles ButCancel.Click + Close() + End Sub + + 'Enable/Disable settings for specific transmission types + Private Sub CbGStype_SelectedIndexChanged(sender As Object, e As EventArgs) _ + Handles CbGStype.SelectedIndexChanged + Dim GStype As GearboxType = CbGStype.SelectedItem.Value + + Change() + + ChShiftInside.Enabled = (GStype.EarlyShiftGears()) + ChSkipGears.Enabled = (GStype.SkipGears()) + ChTCon.Enabled = (GStype.AutomaticTransmission()) + End Sub + + + Private Sub LvGears_SelectedIndexChanged(sender As Object, e As EventArgs) _ + Handles LvGears.SelectedIndexChanged + UpdatePic() + End Sub + +#Region "Gears" + + 'Gear-DoubleClick + Private Sub LvGears_MouseDoubleClick(ByVal sender As Object, ByVal e As MouseEventArgs) _ + Handles LvGears.MouseDoubleClick + EditGear() + End Sub + + 'Gear-KeyDown + Private Sub LvGears_KeyDown(sender As Object, e As KeyEventArgs) Handles LvGears.KeyDown + Select Case e.KeyCode + Case Keys.Delete, Keys.Back + RemoveGear(False) + Case Keys.Enter + EditGear() + End Select + End Sub + + 'Remove Gear Button + Private Sub BtClearGear_Click(sender As Object, e As EventArgs) Handles BtRemGear.Click + RemoveGear(False) + End Sub + + 'Add Gear button + Private Sub BtAddGear_Click(sender As Object, e As EventArgs) Handles BtAddGear.Click + AddGear() + LvGears.Items(LvGears.Items.Count - 1).Selected = True + EditGear() + End Sub + + 'Edit Gear + Private Sub EditGear() + + Do + + 'GearDia.ChIsTCgear.Enabled = (Me.ChTCon.Checked And Me.LvGears.SelectedIndices(0) > 0) + GearDia.PnShiftPoly.Enabled = (Not Cfg.DeclMode And LvGears.SelectedIndices(0) > 0) + GearDia.PnFld.Enabled = (LvGears.SelectedIndices(0) > 0) + GearDia.GbxPath = fPATH(GbxFile) + GearDia.TbGear.Text = LvGears.SelectedItems(0).SubItems(GearboxTbl.GearNr).Text + GearDia.TbRatio.Text = LvGears.SelectedItems(0).SubItems(GearboxTbl.Ratio).Text + GearDia.TbMapPath.Text = LvGears.SelectedItems(0).SubItems(GearboxTbl.LossMapEfficiency).Text + If LvGears.SelectedIndices(0) > 0 Then + GearDia.TbShiftPolyFile.Text = LvGears.SelectedItems(0).SubItems(GearboxTbl.ShiftPolygons).Text + GearDia.TbMaxTorque.Text = LvGears.SelectedItems(0).SubItems(GearboxTbl.MaxTorque).Text + Else + GearDia.TbShiftPolyFile.Text = "" + GearDia.TbMaxTorque.Text = "" + End If + + If LvGears.SelectedItems(0).Index = 0 Then + GearDia.BtPrevious.Enabled = False + Else + GearDia.BtPrevious.Enabled = True + End If + + If GearDia.ShowDialog = DialogResult.OK Then + + 'Me.LvGears.SelectedItems(0).SubItems(GearboxTbl.TorqueConverter).Text = "-" + + + LvGears.SelectedItems(0).SubItems(GearboxTbl.Ratio).Text = GearDia.TbRatio.Text + LvGears.SelectedItems(0).SubItems(GearboxTbl.LossMapEfficiency).Text = GearDia.TbMapPath.Text + LvGears.SelectedItems(0).SubItems(GearboxTbl.ShiftPolygons).Text = GearDia.TbShiftPolyFile.Text + LvGears.SelectedItems(0).SubItems(GearboxTbl.MaxTorque).Text = GearDia.TbMaxTorque.Text + + UpdatePic() + Change() + + Else + + If LvGears.SelectedItems(0).SubItems(GearboxTbl.Ratio).Text = "" Then RemoveGear(True) + + End If + + If GearDia.NextGear Then + If LvGears.Items.Count - 1 = LvGears.SelectedIndices(0) Then AddGear() + + LvGears.Items(LvGears.SelectedIndices(0) + 1).Selected = True + End If + + If GearDia.PreviousGear AndAlso LvGears.SelectedIndices(0) > 0 Then + LvGears.Items(LvGears.SelectedIndices(0) - 1).Selected = True + End If + + Loop Until Not (GearDia.NextGear OrElse GearDia.PreviousGear) + End Sub + + 'Add Gear + Private Sub AddGear() + Dim lvi As ListViewItem + + lvi = CreateListviewItem(LvGears.Items.Count.ToString("00"), "-", 1, "", "", "") + + LvGears.Items.Add(lvi) + + lvi.EnsureVisible() + + LvGears.Focus() + + 'Change() => NO! Change() is already handled by EditGear + End Sub + + 'Remove Gear + Private Sub RemoveGear(ByVal NoChange As Boolean) + Dim i0 As Int16 + Dim i As Int16 + Dim lv0 As ListViewItem + + If LvGears.Items.Count < 2 Then Exit Sub + + If LvGears.SelectedItems.Count = 0 Then LvGears.Items(LvGears.Items.Count - 1).Selected = True + + i0 = LvGears.SelectedItems(0).Index + + If i0 = 0 Then Exit Sub 'Must not remove axle + + LvGears.SelectedItems(0).Remove() + + i = 0 + For Each lv0 In LvGears.Items + If lv0.SubItems(GearboxTbl.GearNr).Text = "Axle" Then Continue For + i += 1 + lv0.SubItems(GearboxTbl.GearNr).Text = i.ToString("00") + Next + + If i0 < LvGears.Items.Count Then + LvGears.Items(i0).Selected = True + LvGears.Items(i0).EnsureVisible() + End If + + LvGears.Focus() + UpdatePic() + + If Not NoChange Then Change() + End Sub + + +#End Region + + +#Region "Open File Context Menu" + + Private CmFiles As String() + + Private Sub OpenFiles(ParamArray files() As String) + + If files.Length = 0 Then Exit Sub + + CmFiles = files + + OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName + + CmOpenFile.Show(Windows.Forms.Cursor.Position) + End Sub + + Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles OpenWithToolStripMenuItem.Click + If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!") + End Sub + + Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles ShowInFolderToolStripMenuItem.Click + If File.Exists(CmFiles(0)) Then + Try + Process.Start("explorer", "/select,""" & CmFiles(0) & "") + Catch ex As Exception + MsgBox("Failed to open file!") + End Try + Else + MsgBox("File not found!") + End If + End Sub + +#End Region + + + Private Sub UpdatePic() + + Dim f As CsvFile + Dim path As String + Dim lM As List(Of Single) = Nothing + Dim lup As List(Of Single) = Nothing + Dim ldown As List(Of Single) = Nothing + Dim line As String() + Dim MyChart As Chart + Dim s As Series + Dim a As ChartArea + Dim img As Image + Dim Gear As Integer + Dim fldOK As Boolean + Dim fldpath As String + Dim FLD0 As EngineFullLoadCurve = Nothing + Dim ShiftOK As Boolean + + + PicBox.Image = Nothing + + Try + + 'Check Files + If LvGears.Items.Count > 1 Then + + If LvGears.SelectedItems.Count > 0 AndAlso LvGears.SelectedIndices(0) > 0 Then + path = fFileRepl(LvGears.SelectedItems(0).SubItems(GearboxTbl.ShiftPolygons).Text, fPATH(GbxFile)) + 'fldpath = fFileRepl(LvGears.SelectedItems(0).SubItems(GearboxTbl.MaxTorque).Text, fPATH(GbxFile)) + Gear = LvGears.SelectedIndices(0) + Else + path = fFileRepl(LvGears.Items(1).SubItems(GearboxTbl.ShiftPolygons).Text, fPATH(GbxFile)) + 'fldpath = fFileRepl(Me.LvGears.Items(1).SubItems(GearboxTbl.MaxTorque).Text, fPATH(GbxFile)) + Gear = 1 + End If + + f = New CsvFile + ShiftOK = f.OpenRead(path) + + fldpath = VectoJobForm.FLDfile + + fldOK = fldpath.Trim <> "" + + If fldOK Then + FLD0 = New EngineFullLoadCurve + FLD0.FilePath = fldpath + fldOK = FLD0.ReadFile(True, False) + End If + + Else + + Exit Sub + + End If + + Catch ex As Exception + Exit Sub + + End Try + + 'Read ShiftPolygon + If ShiftOK Then + + 'Header + f.ReadLine() + + Try + lM = New List(Of Single) + lup = New List(Of Single) + ldown = New List(Of Single) + + Do While Not f.EndOfFile + line = f.ReadLine + lM.Add(CSng(line(0))) + lup.Add(CSng(line(1))) + ldown.Add(CSng(line(2))) + Loop + + f.Close() + + Catch ex As Exception + f.Close() + Exit Sub + End Try + + If lM.Count < 2 Then ShiftOK = False + + End If + + + 'Create plot + If Not ShiftOK And Not fldOK Then Exit Sub + + MyChart = New Chart + MyChart.Width = PicBox.Width + MyChart.Height = PicBox.Height + + a = New ChartArea + + 'Shiftpolygons from file + If ShiftOK Then + s = New Series + s.Points.DataBindXY(lup, lM) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.DarkRed + s.Name = "Upshift curve" + MyChart.Series.Add(s) + + s = New Series + s.Points.DataBindXY(ldown, lM) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.DarkRed + s.Name = "Downshift curve" + MyChart.Series.Add(s) + End If + + Dim vectoJob As VectoJob = New VectoJob() With {.FilePath = VectoJobForm.VECTOfile} + Dim vectoOk As Boolean = vectoJob.ReadFile() + Dim vehicle As Vehicle = New Vehicle() With {.FilePath = vectoJob.PathVeh(False)} + Dim vehicleOk As Boolean = vehicle.ReadFile(False) + + 'Fld + If fldOK AndAlso vectoOk AndAlso vehicleOk Then + + s = New Series + s.Points.DataBindXY(FLD0.LnU, FLD0.LTq) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.DarkBlue + s.Name = "Full load" + MyChart.Series.Add(s) + + If VectoJobForm.Visible AndAlso VectoJobForm.n_idle > 0 Then + If FLD0.Init(VectoJobForm.n_idle) Then + + 'Dim fullLoadCurve As FullLoadCurve = ConvertToFullLoadCurve(FLD0.LnU, FLD0.LTq) + Dim gears As IList(Of ITransmissionInputData) = ConvertToGears(LvGears.Items) + If (CType(CbGStype.SelectedValue, GearboxType).ManualTransmission() AndAlso gears.Count > 1) Then + Dim engine As CombustionEngineData = ConvertToEngineData(FLD0, VectoJobForm.n_idle) + Dim shiftLines As ShiftPolygon = DeclarationData.Gearbox.ComputeShiftPolygon(Gear - 1, engine.FullLoadCurve, gears, + engine, + Double.Parse(LvGears.Items(0).SubItems(GearboxTbl.Ratio).Text, CultureInfo.InvariantCulture), + (vehicle.rdyn / 1000.0).SI(Of Meter)) + + s = New Series + + 's.Points.DataBindXY(Shiftpoly.gs_nUup, Shiftpoly.gs_TqUp) + s.Points.DataBindXY( + shiftLines.Upshift.Select(Function(pt) pt.AngularSpeed.Value() / Constants.RPMToRad).ToList(), + shiftLines.Upshift.Select(Function(pt) pt.Torque.Value()).ToList()) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.DarkRed + s.BorderDashStyle = ChartDashStyle.Dash + s.Name = "Upshift curve (generic)" + MyChart.Series.Add(s) + + s = New Series + 's.Points.DataBindXY(Shiftpoly.gs_nUdown, Shiftpoly.gs_TqDown) + s.Points.DataBindXY( + shiftLines.Downshift.Select(Function(pt) pt.AngularSpeed.Value() / Constants.RPMToRad).ToList(), + shiftLines.Downshift.Select(Function(pt) pt.Torque.Value()).ToList()) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.DarkRed + s.BorderDashStyle = ChartDashStyle.Dash + s.Name = "Downshift curve (generic)" + MyChart.Series.Add(s) + End If + End If + End If + + End If + + + a.Name = "main" + + a.AxisX.Title = "engine speed [1/min]" + a.AxisX.TitleFont = New Font("Helvetica", 10) + a.AxisX.LabelStyle.Font = New Font("Helvetica", 8) + a.AxisX.LabelAutoFitStyle = LabelAutoFitStyles.None + a.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dot + + a.AxisY.Title = "engine torque [Nm]" + a.AxisY.TitleFont = New Font("Helvetica", 10) + a.AxisY.LabelStyle.Font = New Font("Helvetica", 8) + a.AxisY.LabelAutoFitStyle = LabelAutoFitStyles.None + a.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dot + + a.AxisX.Minimum = 300 + a.BorderDashStyle = ChartDashStyle.Solid + a.BorderWidth = 1 + + a.BackColor = Color.GhostWhite + + MyChart.ChartAreas.Add(a) + + MyChart.Titles.Add("Gear " & Gear & " shift polygons") + MyChart.Titles(0).Font = New Font("Helvetica", 12) + + MyChart.Update() + + img = New Bitmap(MyChart.Width, MyChart.Height, PixelFormat.Format32bppArgb) + MyChart.DrawToBitmap(img, New Rectangle(0, 0, PicBox.Width, PicBox.Height)) + + PicBox.Image = img + End Sub + + + Private Function ConvertToGears(gbx As ListView.ListViewItemCollection) As IList(Of ITransmissionInputData) + Dim retVal As List(Of ITransmissionInputData) = New List(Of ITransmissionInputData) + Dim value As Double + + For i As Integer = 1 To gbx.Count - 1 + If _ + gbx(i).SubItems(GearboxTbl.Ratio).Text <> "" AndAlso Double.TryParse(gbx(i).SubItems(GearboxTbl.Ratio).Text, value) _ + Then + retVal.Add( + New TransmissionInputData() _ + With {.Ratio = Double.Parse(value, CultureInfo.InvariantCulture)}) + + End If + Next + Return retVal + End Function + + +#Region "Torque Converter" + + 'TC on/off + Private Sub ChTCon_CheckedChanged(sender As Object, e As EventArgs) Handles ChTCon.CheckedChanged + Change() + CheckGearTC() + PnTC.Enabled = ChTCon.Checked + LblTCShiftFile.Enabled = ChTCon.Checked + TBTCShiftPolygon.Enabled = ChTCon.Checked + End Sub + + 'Browse TC file + Private Sub BtTCfileBrowse_Click(sender As Object, e As EventArgs) Handles BtTCfileBrowse.Click + If TorqueConverterFileBrowser.OpenDialog(fFileRepl(TbTCfile.Text, fPATH(GbxFile))) Then + TbTCfile.Text = fFileWoDir(TorqueConverterFileBrowser.Files(0), fPATH(GbxFile)) + End If + End Sub + + 'Open TC file + Private Sub BtTCfileOpen_Click(sender As Object, e As EventArgs) Handles BtTCfileOpen.Click + OpenFiles(fFileRepl(TbTCfile.Text, fPATH(GbxFile))) + End Sub + + Private Sub CheckGearTC() + Dim lv0 As ListViewItem + + If Not Init Then Exit Sub + + For Each lv0 In LvGears.Items + + If lv0.SubItems(GearboxTbl.GearNr).Text = "Axle" Then Continue For + + 'lv0.SubItems(GearboxTbl.TorqueConverter).Text = "-" + Next + End Sub + + +#End Region + + Private Sub GroupBox1_Enter(sender As Object, e As EventArgs) Handles GroupBox1.Enter + End Sub + + Public Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + End Sub + + Private Sub BtTCShiftFileBrowse_Click(sender As Object, e As EventArgs) Handles BtTCShiftFileBrowse.Click + If fbTCCShift.OpenDialog(fFileRepl(TBTCShiftPolygon.Text, fPATH(GbxFile))) Then + TBTCShiftPolygon.Text = fFileWoDir(fbTCCShift.Files(0), fPATH(GbxFile)) + End If + End Sub +End Class diff --git a/VECTO/GUI/GearboxGearDialog.vb b/VECTO/GUI/GearboxGearDialog.vb index 50d2b97c3128e6ee11d4a3894f19c15d5cd998c4..2052373ebb457ca4c313790463eec3a0ad55fb66 100644 --- a/VECTO/GUI/GearboxGearDialog.vb +++ b/VECTO/GUI/GearboxGearDialog.vb @@ -76,15 +76,15 @@ Public Class GearboxGearDialog 'Browse for transmission loss map Private Sub BtBrowse_Click(sender As Object, e As EventArgs) Handles BtBrowse.Click - If fbTLM.OpenDialog(fFileRepl(TbMapPath.Text, GbxPath)) Then - TbMapPath.Text = fFileWoDir(fbTLM.Files(0), GbxPath) + If TransmissionLossMapFileBrowser.OpenDialog(fFileRepl(TbMapPath.Text, GbxPath)) Then + TbMapPath.Text = fFileWoDir(TransmissionLossMapFileBrowser.Files(0), GbxPath) End If End Sub 'Browse for shift polygons file Private Sub BtShiftPolyBrowse_Click(sender As Object, e As EventArgs) Handles BtShiftPolyBrowse.Click - If fbGBS.OpenDialog(fFileRepl(TbShiftPolyFile.Text, GbxPath)) Then - TbShiftPolyFile.Text = fFileWoDir(fbGBS.Files(0), GbxPath) + If GearboxShiftPolygonFileBrowser.OpenDialog(fFileRepl(TbShiftPolyFile.Text, GbxPath)) Then + TbShiftPolyFile.Text = fFileWoDir(GearboxShiftPolygonFileBrowser.Files(0), GbxPath) End If End Sub diff --git a/VECTO/GUI/F_Graph_ChEdit.Designer.vb b/VECTO/GUI/GraphEditChannelDialog.Designer.vb similarity index 98% rename from VECTO/GUI/F_Graph_ChEdit.Designer.vb rename to VECTO/GUI/GraphEditChannelDialog.Designer.vb index 051a181016f2a46a687111bbd1e6896d87d388fb..cb71b3a869f86ffeb8533ec178c37d61b9e83c48 100644 --- a/VECTO/GUI/F_Graph_ChEdit.Designer.vb +++ b/VECTO/GUI/GraphEditChannelDialog.Designer.vb @@ -3,7 +3,7 @@ Imports Microsoft.VisualBasic.CompilerServices <DesignerGenerated()> _ -Partial Class F_Graph_ChEdit +Partial Class GraphEditChannelDialog Inherits Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. @@ -126,7 +126,7 @@ Partial Class F_Graph_ChEdit Me.FormBorderStyle = FormBorderStyle.FixedDialog Me.MaximizeBox = False Me.MinimizeBox = False - Me.Name = "F_Graph_ChEdit" + Me.Name = "GraphEditChannelDialog" Me.ShowInTaskbar = False Me.StartPosition = FormStartPosition.CenterParent Me.Text = "Edit Channel" diff --git a/VECTO/GUI/F_Graph_ChEdit.resx b/VECTO/GUI/GraphEditChannelDialog.resx similarity index 100% rename from VECTO/GUI/F_Graph_ChEdit.resx rename to VECTO/GUI/GraphEditChannelDialog.resx diff --git a/VECTO/GUI/F_Graph_ChEdit.vb b/VECTO/GUI/GraphEditChannelDialog.vb similarity index 95% rename from VECTO/GUI/F_Graph_ChEdit.vb rename to VECTO/GUI/GraphEditChannelDialog.vb index b01f7207d30a1fd1abf86c6c3f54bf5ba50ae071..f8dc25a8679572d36b3f00106cd88737b6ad4057 100644 --- a/VECTO/GUI/F_Graph_ChEdit.vb +++ b/VECTO/GUI/GraphEditChannelDialog.vb @@ -10,7 +10,7 @@ ' See the LICENSE.txt for the specific language governing permissions and limitations. -Public Class F_Graph_ChEdit +Public Class GraphEditChannelDialog Private Sub OK_Button_Click(ByVal sender As Object, ByVal e As EventArgs) Handles OK_Button.Click DialogResult = DialogResult.OK Close() diff --git a/VECTO/GUI/F_Graph.Designer.vb b/VECTO/GUI/GraphForm.Designer.vb similarity index 99% rename from VECTO/GUI/F_Graph.Designer.vb rename to VECTO/GUI/GraphForm.Designer.vb index d9b26b9e350e288b88975b8d20b430b7c81653dd..4df01c959896dc1b21f013f93178d8ff2e459dbb 100644 --- a/VECTO/GUI/F_Graph.Designer.vb +++ b/VECTO/GUI/GraphForm.Designer.vb @@ -2,7 +2,7 @@ Imports Microsoft.VisualBasic.CompilerServices <DesignerGenerated()> _ -Partial Class F_Graph +Partial Class GraphForm Inherits Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. @@ -25,7 +25,7 @@ Partial Class F_Graph 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. <DebuggerStepThrough()> _ Private Sub InitializeComponent() - Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(F_Graph)) + Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(GraphForm)) Me.PictureBox1 = New PictureBox() Me.GroupBox1 = New GroupBox() Me.BtRemCh = New Button() @@ -310,7 +310,7 @@ Partial Class F_Graph Me.Controls.Add(Me.PictureBox1) Me.Icon = CType(resources.GetObject("$this.Icon"), Icon) Me.MinimumSize = New Size(1000, 300) - Me.Name = "F_Graph" + Me.Name = "GraphForm" Me.SizeGripStyle = SizeGripStyle.Show Me.Text = "Graph" CType(Me.PictureBox1, ISupportInitialize).EndInit() diff --git a/VECTO/GUI/F_Graph.resx b/VECTO/GUI/GraphForm.resx similarity index 100% rename from VECTO/GUI/F_Graph.resx rename to VECTO/GUI/GraphForm.resx diff --git a/VECTO/GUI/F_Graph.vb b/VECTO/GUI/GraphForm.vb similarity index 55% rename from VECTO/GUI/F_Graph.vb rename to VECTO/GUI/GraphForm.vb index 18500f7667f0970d546c18e275907d005e1b738f..879f987971b6a76069754f50a17284f0ebaa28d6 100644 --- a/VECTO/GUI/F_Graph.vb +++ b/VECTO/GUI/GraphForm.vb @@ -1,593 +1,584 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. - -Imports System.Collections.Generic -Imports System.Drawing.Imaging -Imports System.IO -Imports System.Linq -Imports System.Text.RegularExpressions -Imports System.Windows.Forms.DataVisualization.Charting - -Public Class F_Graph - Private Filepath As String - Private Channels As List(Of cChannel) - Private DistList As List(Of Single) - Private TimeList As List(Of Single) - - Private xMin As Single - Private xMax As Single - - Private xMax0 As Single - - - Public Sub New() - - ' Dieser Aufruf ist für den Designer erforderlich. - InitializeComponent() - - ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. - Channels = New List(Of cChannel) - - Clear() - - CbXaxis.SelectedIndex = 0 - End Sub - - Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click - - If fbVMOD.OpenDialog(Filepath) Then - - LoadNewFile(fbVMOD.Files(0)) - - End If - End Sub - - - Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click - LoadFile() - End Sub - - Public Sub LoadNewFile(ByVal Path As String) - Dim lv0 As ListViewItem - Dim i As Integer = 0 - - Clear() - - Filepath = Path - - LoadFile() - - For Each channel As cChannel In Channels - If (channel.Name = "v_act [km/h]" OrElse channel.Name = "v_targ [km/h]") Then - lv0 = New ListViewItem - lv0.Text = channel.Name - lv0.SubItems.Add("Left") - lv0.Tag = i - lv0.Checked = True - ListView1.Items.Add(lv0) - End If - i += 1 - Next - End Sub - - Private Sub LoadFile() - Dim file As cFile_V3 - Dim i As Integer - Dim sDim As Integer - Dim line As String() - Dim c0 As cChannel - Dim l0 As List(Of String) - - - file = New cFile_V3 - - If file.OpenRead(Filepath) Then - - Try - - Channels.Clear() - - 'Header - line = file.ReadLine - - sDim = UBound(line) - - For i = 0 To sDim - c0 = New cChannel - c0.Name = line(i) - c0.Values = New List(Of String) - Channels.Add(c0) - Next - - 'Values - Do While Not file.EndOfFile - line = file.ReadLine - For i = 0 To sDim - Channels(i).Values.Add(line(i)) - Next - Loop - - file.Close() - - l0 = Channels(0).Values - TimeList = Nothing - DistList = Nothing - - For Each channel As cChannel In Channels - If (channel.Name = "time [s]" AndAlso TimeList Is Nothing) Then - TimeList = channel.Values.Select(Function(x) CSng(x)).ToList() - End If - If (channel.Name = "dist [m]" AndAlso DistList Is Nothing) Then - DistList = channel.Values.Select(Function(x) CSng(x)).ToList() - End If - Next - - SetxMax0() - - TbXmin.Text = 0 - TbXmax.Text = xMax0 - - Text = fFILE(Filepath, True) - - Catch ex As Exception - file.Close() - Exit Sub - End Try - - End If - - UpdateGraph() - End Sub - - Private Sub SetxMax0() - - If Channels.Count = 0 Then Exit Sub - - If CbXaxis.SelectedIndex = 0 Then - xMax0 = DistList(DistList.Count - 1) - Else - xMax0 = TimeList(TimeList.Count - 1) - End If - End Sub - - Private Sub UpdateGraph() - Dim lv0 As ListViewItem - Dim MyChart As Chart - Dim s As Series - Dim a As ChartArea - Dim OverDist As Boolean - Dim leftaxis As New List(Of String) - Dim rightaxis As New List(Of String) - Dim IsLeft As Boolean - Dim txt As String - Dim i As Integer - Dim img As Image - - If WindowState = FormWindowState.Minimized Then Exit Sub - - If ListView1.CheckedItems.Count = 0 Then - PictureBox1.Image = Nothing - Exit Sub - End If - - OverDist = (CbXaxis.SelectedIndex = 0) - - SetxMax0() - - - MyChart = New Chart - MyChart.Width = PictureBox1.Width - MyChart.Height = PictureBox1.Height - - a = New ChartArea - - - For Each lv0 In ListView1.CheckedItems - - IsLeft = (lv0.SubItems(1).Text = "Left") - - s = New Series - - If OverDist Then - s.Points.DataBindXY(DistList, Channels(lv0.Tag).Values) - Else - s.Points.DataBindXY(TimeList, Channels(lv0.Tag).Values) - End If - - s.ChartType = SeriesChartType.FastLine - s.Name = lv0.Text - s.BorderWidth = 2 - - If IsLeft Then - If Not leftaxis.Contains(lv0.SubItems(0).Text) Then leftaxis.Add(lv0.SubItems(0).Text) - Else - If Not rightaxis.Contains(lv0.SubItems(0).Text) Then rightaxis.Add(lv0.SubItems(0).Text) - s.YAxisType = AxisType.Secondary - End If - - MyChart.Series.Add(s) - - Next - - - a.Name = "main" - - If OverDist Then - a.AxisX.Title = "distance [km]" - Else - a.AxisX.Title = "time [s]" - End If - a.AxisX.TitleFont = New Font("Helvetica", 10) - a.AxisX.LabelStyle.Font = New Font("Helvetica", 8) - a.AxisX.LabelAutoFitStyle = LabelAutoFitStyles.None - a.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dot - - If xMax > xMin Then - a.AxisX.Minimum = xMin - a.AxisX.Maximum = xMax - a.AxisX.Interval = xAutoInt() - Else - a.AxisX.Minimum = 0 - a.AxisX.Maximum = xMax0 - End If - - - If leftaxis.Count > 0 Then - - txt = leftaxis(0) - For i = 1 To leftaxis.Count - 1 - txt &= ", " & leftaxis(i) - Next - - a.AxisY.Title = txt - a.AxisY.TitleFont = New Font("Helvetica", 10) - a.AxisY.LabelStyle.Font = New Font("Helvetica", 8) - a.AxisY.LabelAutoFitStyle = LabelAutoFitStyles.None - - End If - - If rightaxis.Count > 0 Then - - txt = rightaxis(0) - For i = 1 To rightaxis.Count - 1 - txt &= ", " & rightaxis(i) - Next - - a.AxisY2.Title = txt - a.AxisY2.TitleFont = New Font("Helvetica", 10) - a.AxisY2.LabelStyle.Font = New Font("Helvetica", 8) - a.AxisY2.LabelAutoFitStyle = LabelAutoFitStyles.None - a.AxisY2.MinorGrid.Enabled = False - a.AxisY2.MajorGrid.Enabled = False - - End If - - a.BackColor = Color.GhostWhite - - a.BorderDashStyle = ChartDashStyle.Solid - a.BorderWidth = 1 - - MyChart.ChartAreas.Add(a) - - With MyChart.ChartAreas(0) - .Position.X = 0 - .Position.Y = 0 - .Position.Width = 85 - .Position.Height = 100 - End With - - MyChart.Legends.Add("main") - MyChart.Legends(0).Font = New Font("Helvetica", 8) - MyChart.Legends(0).BorderColor = Color.Black - MyChart.Legends(0).BorderWidth = 1 - MyChart.Legends(0).Position.X = 86 - MyChart.Legends(0).Position.Y = 3 - MyChart.Legends(0).Position.Width = 13 - MyChart.Legends(0).Position.Height = 40 - - MyChart.Update() - - img = New Bitmap(MyChart.Width, MyChart.Height, PixelFormat.Format32bppArgb) - MyChart.DrawToBitmap(img, New Rectangle(0, 0, PictureBox1.Width, PictureBox1.Height)) - - PictureBox1.Image = img - End Sub - - Private Function xAutoInt() As Single - Dim Interv0 As Single - Dim Grx As Long - Dim xyd(3) As Single - Dim xydmin As Single - Dim xyamin As Single - Dim xya(3) As Single - Dim i As Int16 - - Interv0 = (xMax - xMin) / 10 - - Grx = 20 - Do While 10 ^ Grx > Interv0 - Grx = Grx - 1 - Loop - - xyd(0) = 1 * 10 ^ Grx - xyd(1) = 2.5 * 10 ^ Grx - xyd(2) = 5 * 10 ^ Grx - xyd(3) = 10 * 10 ^ Grx - For i = 0 To 3 - xya(i) = Math.Abs(Interv0 - xyd(i)) - Next - - xyamin = xya(0) - xydmin = xyd(0) - For i = 1 To 3 - If xya(i) < xyamin Then - xyamin = xya(i) - xydmin = xyd(i) - End If - Next - - 'Intervall speichern - Return xydmin - End Function - - Private Sub Clear() - - Filepath = "" - - ListView1.Items.Clear() - - TbXmin.Text = "" - TbXmax.Text = "" - - PictureBox1.Image = Nothing - End Sub - - Private Class cChannel - Public Name As String - Public Values As List(Of String) - End Class - - Private Sub BtAddCh_Click(sender As Object, e As EventArgs) Handles BtAddCh.Click - Dim dlog As New F_Graph_ChEdit - Dim i As Integer - Dim lv0 As ListViewItem - - If Channels.Count = 0 Then Exit Sub - - For i = 0 To Channels.Count - 1 - dlog.ComboBox1.Items.Add(Channels(i).Name) - Next - - dlog.RbLeft.Checked = True - - dlog.ComboBox1.SelectedIndex = 0 - - If dlog.ShowDialog = DialogResult.OK Then - lv0 = New ListViewItem - i = dlog.ComboBox1.SelectedIndex - lv0.Text = Channels(i).Name - lv0.Tag = i - lv0.Checked = True - If dlog.RbLeft.Checked Then - lv0.SubItems.Add("Left") - Else - lv0.SubItems.Add("Right") - End If - - ListView1.Items.Add(lv0) - - UpdateGraph() - - End If - End Sub - - Private Sub EditChannel() - Dim dlog As New F_Graph_ChEdit - Dim i As Integer - Dim lv0 As ListViewItem - - If ListView1.SelectedItems.Count = 0 Or Channels.Count = 0 Then Exit Sub - - lv0 = ListView1.SelectedItems(0) - - For i = 0 To Channels.Count - 1 - dlog.ComboBox1.Items.Add(Channels(i).Name) - Next - - If lv0.SubItems(1).Text = "Left" Then - dlog.RbLeft.Checked = True - Else - dlog.RbRight.Checked = True - End If - - dlog.ComboBox1.SelectedIndex = lv0.Tag - - If dlog.ShowDialog = DialogResult.OK Then - i = dlog.ComboBox1.SelectedIndex - lv0.Text = Channels(i).Name - lv0.Tag = i - lv0.Checked = True - If dlog.RbLeft.Checked Then - lv0.SubItems(1).Text = "Left" - Else - lv0.SubItems(1).Text = "Right" - End If - - UpdateGraph() - - End If - End Sub - - Private Sub RemoveChannel() - Dim i0 As Int16 - - If ListView1.Items.Count = 0 Then Exit Sub - - If ListView1.SelectedItems.Count = 0 Then ListView1.Items(ListView1.Items.Count - 1).Selected = True - - i0 = ListView1.SelectedItems(0).Index - - ListView1.SelectedItems(0).Remove() - - If i0 < ListView1.Items.Count Then - ListView1.Items(i0).Selected = True - ListView1.Items(i0).EnsureVisible() - End If - - UpdateGraph() - End Sub - - Private Sub ListView1_DoubleClick(sender As Object, e As EventArgs) Handles ListView1.DoubleClick - If ListView1.SelectedItems.Count > 0 Then - ListView1.SelectedItems(0).Checked = Not ListView1.SelectedItems(0).Checked - EditChannel() - End If - End Sub - - Private Sub BtRemCh_Click(sender As Object, e As EventArgs) Handles BtRemCh.Click - RemoveChannel() - End Sub - - Private Sub ListView1_ItemChecked(sender As Object, e As ItemCheckedEventArgs) _ - Handles ListView1.ItemChecked - UpdateGraph() - End Sub - - Private Sub ListView1_KeyDown(sender As Object, e As KeyEventArgs) Handles ListView1.KeyDown - Select Case e.KeyCode - Case Keys.Delete, Keys.Back - RemoveChannel() - Case Keys.Enter - EditChannel() - End Select - End Sub - - Private Sub CbXaxis_SelectedIndexChanged(sender As Object, e As EventArgs) _ - Handles CbXaxis.SelectedIndexChanged - SetxMax0() - TbXmin.Text = 0 - TbXmax.Text = xMax0 - UpdateGraph() - End Sub - - Private Sub BtReset_Click(sender As Object, e As EventArgs) Handles BtReset.Click - xMin = 0 - xMax = xMax0 - TbXmin.Text = 0 - TbXmax.Text = xMax0 - End Sub - - Private Sub TbXmin_TextChanged(sender As Object, e As EventArgs) Handles TbXmin.TextChanged - If IsNumeric(TbXmin.Text) Then xMin = TbXmin.Text - UpdateGraph() - End Sub - - Private Sub TbXmax_TextChanged(sender As Object, e As EventArgs) Handles TbXmax.TextChanged - If IsNumeric(TbXmax.Text) Then xMax = TbXmax.Text - UpdateGraph() - End Sub - - Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles ToolStripButton3.Click - Dim FGraph As New F_Graph - FGraph.Show() - End Sub - - Private Sub F_Graph_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged - UpdateGraph() - End Sub - - Private Sub BtZoomIn_Click(sender As Object, e As EventArgs) Handles BtZoomIn.Click - Dim d As Single - - d = (xMax - xMin) / 10 - - xMin += 2 * 0.5 * d - xMax -= 2 * (1 - 0.5) * d - - If xMin > 1000 Then - xMin = Math.Round(xMin / 100, 0) * 100 - Else - xMin = Math.Round(xMin, 0) - End If - - TbXmin.Text = xMin - TbXmax.Text = xMax - End Sub - - Private Sub BtZoomOut_Click(sender As Object, e As EventArgs) Handles BtZoomOut.Click - Dim d As Single - - d = (xMax - xMin) / 10 - - xMin -= 2 * 0.5 * d - xMax += 2 * (1 - 0.5) * d - - If xMin > 1000 Then - xMin = Math.Round(xMin / 100, 0) * 100 - Else - xMin = Math.Round(xMin, 0) - End If - - TbXmin.Text = xMin - TbXmax.Text = xMax - End Sub - - Private Sub BtMoveL_Click(sender As Object, e As EventArgs) Handles BtMoveL.Click - Dim d As Single - - If xMin <= 0 Then Exit Sub - - d = (xMax - xMin) / 3 - xMin -= d - xMax -= d - - If xMin > 1000 Then - xMin = Math.Round(xMin / 100, 0) * 100 - Else - xMin = Math.Round(xMin, 0) - End If - - TbXmin.Text = xMin - TbXmax.Text = xMax - End Sub - - Private Sub BtMoveR_Click(sender As Object, e As EventArgs) Handles BtMoveR.Click - Dim d As Single - - If xMax >= xMax0 Then Exit Sub - - d = (xMax - xMin) / 3 - xMin += d - xMax += d - - If xMin > 1000 Then - xMin = Math.Round(xMin / 100, 0) * 100 - Else - xMin = Math.Round(xMin, 0) - End If - - TbXmin.Text = xMin - TbXmax.Text = xMax - End Sub - - Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click - If File.Exists(MyAppPath & "User Manual\help.html") Then - Dim BrowserRegistryString As String = - My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString - Dim DefaultBrowserPath As String = - Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString - Process.Start(DefaultBrowserPath, - String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#graph-window")) - Else - MsgBox("User Manual not found!", MsgBoxStyle.Critical) - End If - End Sub +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. + +Imports System.Collections.Generic +Imports System.Drawing.Imaging +Imports System.IO +Imports System.Linq +Imports System.Text.RegularExpressions +Imports System.Windows.Forms.DataVisualization.Charting + +Public Class GraphForm + Private _filepath As String + Private ReadOnly _channels As List(Of Channel) + Private _distanceList As List(Of Single) + Private _timeList As List(Of Single) + + Private _xMin As Single + Private _xMax As Single + + Private _xMax0 As Single + + + Public Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + _channels = New List(Of Channel) + + Clear() + + CbXaxis.SelectedIndex = 0 + End Sub + + Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click + + If ModalResultsFileBrowser.OpenDialog(_filepath) Then + + LoadNewFile(ModalResultsFileBrowser.Files(0)) + + End If + End Sub + + + Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click + LoadFile() + End Sub + + Public Sub LoadNewFile(ByVal path As String) + Dim lv0 As ListViewItem + Dim i As Integer = 0 + + Clear() + + _filepath = path + + LoadFile() + + For Each channel As Channel In _channels + If (channel.Name = "v_act [km/h]" OrElse channel.Name = "v_targ [km/h]") Then + lv0 = New ListViewItem + lv0.Text = channel.Name + lv0.SubItems.Add("Left") + lv0.Tag = i + lv0.Checked = True + ListView1.Items.Add(lv0) + End If + i += 1 + Next + End Sub + + Private Sub LoadFile() + Dim file As CsvFile + Dim i As Integer + Dim sDim As Integer + Dim line As String() + Dim c0 As Channel + Dim l0 As List(Of String) + + + file = New CsvFile + + If file.OpenRead(_filepath) Then + + Try + + _channels.Clear() + + 'Header + line = file.ReadLine + + sDim = UBound(line) + + For i = 0 To sDim + c0 = New Channel + c0.Name = line(i) + c0.Values = New List(Of String) + _channels.Add(c0) + Next + + 'Values + Do While Not file.EndOfFile + line = file.ReadLine + For i = 0 To sDim + _channels(i).Values.Add(line(i)) + Next + Loop + + file.Close() + + l0 = _channels(0).Values + _timeList = Nothing + _distanceList = Nothing + + For Each channel As Channel In _channels + If (channel.Name = "time [s]" AndAlso _timeList Is Nothing) Then + _timeList = channel.Values.Select(Function(x) CSng(x)).ToList() + End If + If (channel.Name = "dist [m]" AndAlso _distanceList Is Nothing) Then + _distanceList = channel.Values.Select(Function(x) CSng(x)).ToList() + End If + Next + + SetxMax0() + + TbXmin.Text = 0 + TbXmax.Text = _xMax0 + + Text = fFILE(_filepath, True) + + Catch ex As Exception + file.Close() + Exit Sub + End Try + + End If + + UpdateGraph() + End Sub + + Private Sub SetxMax0() + + If _channels.Count = 0 Then Exit Sub + + If CbXaxis.SelectedIndex = 0 Then + _xMax0 = _distanceList(_distanceList.Count - 1) + Else + _xMax0 = _timeList(_timeList.Count - 1) + End If + End Sub + + Private Sub UpdateGraph() + Dim listViewItem As ListViewItem + Dim leftaxis As New List(Of String) + Dim rightaxis As New List(Of String) + Dim txt As String + Dim i As Integer + + If WindowState = FormWindowState.Minimized Then Exit Sub + + If ListView1.CheckedItems.Count = 0 Then + PictureBox1.Image = Nothing + Exit Sub + End If + + Dim overDist As Boolean = (CbXaxis.SelectedIndex = 0) + + SetxMax0() + + + Dim chart As Chart = New Chart + chart.Width = PictureBox1.Width + chart.Height = PictureBox1.Height + + Dim chartArea As ChartArea = New ChartArea + + + For Each listViewItem In ListView1.CheckedItems + + Dim isLeft As Boolean = (listViewItem.SubItems(1).Text = "Left") + + Dim chartSeries As Series = New Series + + If overDist Then + chartSeries.Points.DataBindXY(_distanceList, _channels(listViewItem.Tag).Values) + Else + chartSeries.Points.DataBindXY(_timeList, _channels(listViewItem.Tag).Values) + End If + + chartSeries.ChartType = SeriesChartType.FastLine + chartSeries.Name = listViewItem.Text + chartSeries.BorderWidth = 2 + + If isLeft Then + If Not leftaxis.Contains(listViewItem.SubItems(0).Text) Then leftaxis.Add(listViewItem.SubItems(0).Text) + Else + If Not rightaxis.Contains(listViewItem.SubItems(0).Text) Then rightaxis.Add(listViewItem.SubItems(0).Text) + chartSeries.YAxisType = AxisType.Secondary + End If + + chart.Series.Add(chartSeries) + + Next + + + chartArea.Name = "main" + + If overDist Then + chartArea.AxisX.Title = "distance [km]" + Else + chartArea.AxisX.Title = "time [s]" + End If + chartArea.AxisX.TitleFont = New Font("Helvetica", 10) + chartArea.AxisX.LabelStyle.Font = New Font("Helvetica", 8) + chartArea.AxisX.LabelAutoFitStyle = LabelAutoFitStyles.None + chartArea.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dot + + If _xMax > _xMin Then + chartArea.AxisX.Minimum = _xMin + chartArea.AxisX.Maximum = _xMax + chartArea.AxisX.Interval = AutoIntervalXAxis() + Else + chartArea.AxisX.Minimum = 0 + chartArea.AxisX.Maximum = _xMax0 + End If + + + If leftaxis.Count > 0 Then + + txt = leftaxis(0) + For i = 1 To leftaxis.Count - 1 + txt &= ", " & leftaxis(i) + Next + + chartArea.AxisY.Title = txt + chartArea.AxisY.TitleFont = New Font("Helvetica", 10) + chartArea.AxisY.LabelStyle.Font = New Font("Helvetica", 8) + chartArea.AxisY.LabelAutoFitStyle = LabelAutoFitStyles.None + + End If + + If rightaxis.Count > 0 Then + + txt = rightaxis(0) + For i = 1 To rightaxis.Count - 1 + txt &= ", " & rightaxis(i) + Next + + chartArea.AxisY2.Title = txt + chartArea.AxisY2.TitleFont = New Font("Helvetica", 10) + chartArea.AxisY2.LabelStyle.Font = New Font("Helvetica", 8) + chartArea.AxisY2.LabelAutoFitStyle = LabelAutoFitStyles.None + chartArea.AxisY2.MinorGrid.Enabled = False + chartArea.AxisY2.MajorGrid.Enabled = False + + End If + + chartArea.BackColor = Color.GhostWhite + + chartArea.BorderDashStyle = ChartDashStyle.Solid + chartArea.BorderWidth = 1 + + chart.ChartAreas.Add(chartArea) + + With chart.ChartAreas(0) + .Position.X = 0 + .Position.Y = 0 + .Position.Width = 85 + .Position.Height = 100 + End With + + chart.Legends.Add("main") + chart.Legends(0).Font = New Font("Helvetica", 8) + chart.Legends(0).BorderColor = Color.Black + chart.Legends(0).BorderWidth = 1 + chart.Legends(0).Position.X = 86 + chart.Legends(0).Position.Y = 3 + chart.Legends(0).Position.Width = 13 + chart.Legends(0).Position.Height = 40 + + chart.Update() + + Dim img As Image = New Bitmap(chart.Width, chart.Height, PixelFormat.Format32bppArgb) + chart.DrawToBitmap(img, New Rectangle(0, 0, PictureBox1.Width, PictureBox1.Height)) + + PictureBox1.Image = img + End Sub + + Private Function AutoIntervalXAxis() As Single + Dim xyd(3) As Single + Dim xya(3) As Single + Dim i As Int16 + + Dim inv As Single = (_xMax - _xMin) / 10 + + Dim grx As Long = 20 + Do While 10 ^ grx > inv + grx = grx - 1 + Loop + + xyd(0) = 1 * 10 ^ grx + xyd(1) = 2.5 * 10 ^ grx + xyd(2) = 5 * 10 ^ grx + xyd(3) = 10 * 10 ^ grx + For i = 0 To 3 + xya(i) = Math.Abs(inv - xyd(i)) + Next + + Dim xyamin As Single = xya(0) + Dim xydmin As Single = xyd(0) + For i = 1 To 3 + If xya(i) < xyamin Then + xyamin = xya(i) + xydmin = xyd(i) + End If + Next + + 'Intervall speichern + Return xydmin + End Function + + Private Sub Clear() + + _filepath = "" + + ListView1.Items.Clear() + + TbXmin.Text = "" + TbXmax.Text = "" + + PictureBox1.Image = Nothing + End Sub + + + Private Sub BtAddCh_Click(sender As Object, e As EventArgs) Handles BtAddCh.Click + Dim dlog As New GraphEditChannelDialog + Dim i As Integer + Dim lv0 As ListViewItem + + If _channels.Count = 0 Then Exit Sub + + For i = 0 To _channels.Count - 1 + dlog.ComboBox1.Items.Add(_channels(i).Name) + Next + + dlog.RbLeft.Checked = True + + dlog.ComboBox1.SelectedIndex = 0 + + If dlog.ShowDialog = DialogResult.OK Then + lv0 = New ListViewItem + i = dlog.ComboBox1.SelectedIndex + lv0.Text = _channels(i).Name + lv0.Tag = i + lv0.Checked = True + If dlog.RbLeft.Checked Then + lv0.SubItems.Add("Left") + Else + lv0.SubItems.Add("Right") + End If + + ListView1.Items.Add(lv0) + + UpdateGraph() + + End If + End Sub + + Private Sub EditChannel() + Dim dlog As New GraphEditChannelDialog + Dim i As Integer + Dim lv0 As ListViewItem + + If ListView1.SelectedItems.Count = 0 Or _channels.Count = 0 Then Exit Sub + + lv0 = ListView1.SelectedItems(0) + + For i = 0 To _channels.Count - 1 + dlog.ComboBox1.Items.Add(_channels(i).Name) + Next + + If lv0.SubItems(1).Text = "Left" Then + dlog.RbLeft.Checked = True + Else + dlog.RbRight.Checked = True + End If + + dlog.ComboBox1.SelectedIndex = lv0.Tag + + If dlog.ShowDialog = DialogResult.OK Then + i = dlog.ComboBox1.SelectedIndex + lv0.Text = _channels(i).Name + lv0.Tag = i + lv0.Checked = True + If dlog.RbLeft.Checked Then + lv0.SubItems(1).Text = "Left" + Else + lv0.SubItems(1).Text = "Right" + End If + + UpdateGraph() + + End If + End Sub + + Private Sub RemoveChannel() + Dim i0 As Int16 + + If ListView1.Items.Count = 0 Then Exit Sub + + If ListView1.SelectedItems.Count = 0 Then ListView1.Items(ListView1.Items.Count - 1).Selected = True + + i0 = ListView1.SelectedItems(0).Index + + ListView1.SelectedItems(0).Remove() + + If i0 < ListView1.Items.Count Then + ListView1.Items(i0).Selected = True + ListView1.Items(i0).EnsureVisible() + End If + + UpdateGraph() + End Sub + + Private Sub ListView1_DoubleClick(sender As Object, e As EventArgs) Handles ListView1.DoubleClick + If ListView1.SelectedItems.Count > 0 Then + ListView1.SelectedItems(0).Checked = Not ListView1.SelectedItems(0).Checked + EditChannel() + End If + End Sub + + Private Sub BtRemCh_Click(sender As Object, e As EventArgs) Handles BtRemCh.Click + RemoveChannel() + End Sub + + Private Sub ListView1_ItemChecked(sender As Object, e As ItemCheckedEventArgs) _ + Handles ListView1.ItemChecked + UpdateGraph() + End Sub + + Private Sub ListView1_KeyDown(sender As Object, e As KeyEventArgs) Handles ListView1.KeyDown + Select Case e.KeyCode + Case Keys.Delete, Keys.Back + RemoveChannel() + Case Keys.Enter + EditChannel() + End Select + End Sub + + Private Sub CbXaxis_SelectedIndexChanged(sender As Object, e As EventArgs) _ + Handles CbXaxis.SelectedIndexChanged + SetxMax0() + TbXmin.Text = 0 + TbXmax.Text = _xMax0 + UpdateGraph() + End Sub + + Private Sub BtReset_Click(sender As Object, e As EventArgs) Handles BtReset.Click + _xMin = 0 + _xMax = _xMax0 + TbXmin.Text = 0 + TbXmax.Text = _xMax0 + End Sub + + Private Sub TbXmin_TextChanged(sender As Object, e As EventArgs) Handles TbXmin.TextChanged + If IsNumeric(TbXmin.Text) Then _xMin = TbXmin.Text + UpdateGraph() + End Sub + + Private Sub TbXmax_TextChanged(sender As Object, e As EventArgs) Handles TbXmax.TextChanged + If IsNumeric(TbXmax.Text) Then _xMax = TbXmax.Text + UpdateGraph() + End Sub + + Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles ToolStripButton3.Click + Dim FGraph As New GraphForm + FGraph.Show() + End Sub + + Private Sub F_Graph_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged + UpdateGraph() + End Sub + + Private Sub BtZoomIn_Click(sender As Object, e As EventArgs) Handles BtZoomIn.Click + Dim d As Single + + d = (_xMax - _xMin) / 10 + + _xMin += 2 * 0.5 * d + _xMax -= 2 * (1 - 0.5) * d + + If _xMin > 1000 Then + _xMin = Math.Round(_xMin / 100, 0) * 100 + Else + _xMin = Math.Round(_xMin, 0) + End If + + TbXmin.Text = _xMin + TbXmax.Text = _xMax + End Sub + + Private Sub BtZoomOut_Click(sender As Object, e As EventArgs) Handles BtZoomOut.Click + Dim d As Single + + d = (_xMax - _xMin) / 10 + + _xMin -= 2 * 0.5 * d + _xMax += 2 * (1 - 0.5) * d + + If _xMin > 1000 Then + _xMin = Math.Round(_xMin / 100, 0) * 100 + Else + _xMin = Math.Round(_xMin, 0) + End If + + TbXmin.Text = _xMin + TbXmax.Text = _xMax + End Sub + + Private Sub BtMoveL_Click(sender As Object, e As EventArgs) Handles BtMoveL.Click + Dim d As Single + + If _xMin <= 0 Then Exit Sub + + d = (_xMax - _xMin) / 3 + _xMin -= d + _xMax -= d + + If _xMin > 1000 Then + _xMin = Math.Round(_xMin / 100, 0) * 100 + Else + _xMin = Math.Round(_xMin, 0) + End If + + TbXmin.Text = _xMin + TbXmax.Text = _xMax + End Sub + + Private Sub BtMoveR_Click(sender As Object, e As EventArgs) Handles BtMoveR.Click + Dim d As Single + + If _xMax >= _xMax0 Then Exit Sub + + d = (_xMax - _xMin) / 3 + _xMin += d + _xMax += d + + If _xMin > 1000 Then + _xMin = Math.Round(_xMin / 100, 0) * 100 + Else + _xMin = Math.Round(_xMin, 0) + End If + + TbXmin.Text = _xMin + TbXmax.Text = _xMax + End Sub + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + If File.Exists(MyAppPath & "User Manual\help.html") Then + Dim BrowserRegistryString As String = + My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString + Dim DefaultBrowserPath As String = + Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString + Process.Start(DefaultBrowserPath, + String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#graph-window")) + Else + MsgBox("User Manual not found!", MsgBoxStyle.Critical) + End If + End Sub + + Private Class Channel + Public Name As String + Public Values As List(Of String) + End Class End Class \ No newline at end of file diff --git a/VECTO/GUI/F_JIRA.Designer.vb b/VECTO/GUI/JiraDialog.Designer.vb similarity index 98% rename from VECTO/GUI/F_JIRA.Designer.vb rename to VECTO/GUI/JiraDialog.Designer.vb index 2e0d6c0342e5f5592ed8fc25214c738b5eabdb02..2636603f0e877a655aed45186b958d736926b886 100644 --- a/VECTO/GUI/F_JIRA.Designer.vb +++ b/VECTO/GUI/JiraDialog.Designer.vb @@ -3,7 +3,7 @@ Imports Microsoft.VisualBasic.CompilerServices <DesignerGenerated()> _ -Partial Class F_JIRA +Partial Class JiraDialog Inherits Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. @@ -118,7 +118,7 @@ Partial Class F_JIRA Me.FormBorderStyle = FormBorderStyle.FixedDialog Me.MaximizeBox = False Me.MinimizeBox = False - Me.Name = "F_JIRA" + Me.Name = "JiraDialog" Me.ShowInTaskbar = False Me.StartPosition = FormStartPosition.CenterParent Me.Text = "Report Issue via CITnet" diff --git a/VECTO/GUI/F_JIRA.resx b/VECTO/GUI/JiraDialog.resx similarity index 100% rename from VECTO/GUI/F_JIRA.resx rename to VECTO/GUI/JiraDialog.resx diff --git a/VECTO/GUI/F_JIRA.vb b/VECTO/GUI/JiraDialog.vb similarity index 97% rename from VECTO/GUI/F_JIRA.vb rename to VECTO/GUI/JiraDialog.vb index 43157fae55bdaaf9e0505266758f15be148ea31a..7f7d2802a7287ea192e0594ad77d232f5baaf20b 100644 --- a/VECTO/GUI/F_JIRA.vb +++ b/VECTO/GUI/JiraDialog.vb @@ -1,7 +1,7 @@ Imports System.IO Imports System.Windows.Forms -Public Class F_JIRA +Public Class JiraDialog Private Sub OK_Button_Click(ByVal sender As Object, ByVal e As EventArgs) Handles OK_Button.Click DialogResult = DialogResult.OK Close() diff --git a/VECTO/GUI/F_MAINForm.Designer.vb b/VECTO/GUI/MainForm.Designer.vb similarity index 97% rename from VECTO/GUI/F_MAINForm.Designer.vb rename to VECTO/GUI/MainForm.Designer.vb index 08cf1e715dc49d7862b350f5700e3e37c0944025..9bb73f5934f59a22a5d0118d568696df74dda673 100644 --- a/VECTO/GUI/F_MAINForm.Designer.vb +++ b/VECTO/GUI/MainForm.Designer.vb @@ -1,903 +1,903 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Imports System.ComponentModel -Imports Microsoft.VisualBasic.CompilerServices - -<DesignerGenerated()> _ -Partial Class F_MAINForm - Inherits Form - - 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - <DebuggerNonUserCode()> _ - Protected Overrides Sub Dispose(ByVal disposing As Boolean) - Try - If disposing AndAlso components IsNot Nothing Then - components.Dispose() - End If - Finally - MyBase.Dispose(disposing) - End Try - End Sub - - 'Wird vom Windows Form-Designer benötigt. - Private components As IContainer - - 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. - 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. - 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. - <DebuggerStepThrough()> _ - Private Sub InitializeComponent() - Me.components = New System.ComponentModel.Container() - Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(F_MAINForm)) - Me.StatusBAR = New System.Windows.Forms.StatusStrip() - Me.ToolStripLbStatus = New System.Windows.Forms.ToolStripStatusLabel() - Me.ToolStripProgBarJob = New System.Windows.Forms.ToolStripProgressBar() - Me.ToolStripProgBarOverall = New System.Windows.Forms.ToolStripProgressBar() - Me.TabControl1 = New System.Windows.Forms.TabControl() - Me.TabPageGEN = New System.Windows.Forms.TabPage() - Me.Label6 = New System.Windows.Forms.Label() - Me.btStartV3 = New System.Windows.Forms.Button() - Me.LbDecl = New System.Windows.Forms.Label() - Me.PictureBox1 = New System.Windows.Forms.PictureBox() - Me.BtGENdown = New System.Windows.Forms.Button() - Me.BtGENup = New System.Windows.Forms.Button() - Me.LbAutoShDown = New System.Windows.Forms.Label() - Me.ChBoxAllGEN = New System.Windows.Forms.CheckBox() - Me.LvGEN = New System.Windows.Forms.ListView() - Me.ColGENpath = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.ColGENstatus = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.ButtonGENremove = New System.Windows.Forms.Button() - Me.ButtonGENadd = New System.Windows.Forms.Button() - Me.TabPgOptions = New System.Windows.Forms.TabPage() - Me.PanelOptAllg = New System.Windows.Forms.Panel() - Me.GroupBox2 = New System.Windows.Forms.GroupBox() - Me.ChBoxModOut = New System.Windows.Forms.CheckBox() - Me.ChBoxMod1Hz = New System.Windows.Forms.CheckBox() - Me.GroupBox1 = New System.Windows.Forms.GroupBox() - Me.RbDev = New System.Windows.Forms.RadioButton() - Me.RbDecl = New System.Windows.Forms.RadioButton() - Me.TabPageDEV = New System.Windows.Forms.TabPage() - Me.Label1 = New System.Windows.Forms.Label() - Me.LvDEVoptions = New System.Windows.Forms.ListView() - Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.ColumnHeader7 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.ColumnHeader5 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.ColumnHeader6 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.ColumnHeader8 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.ColumnHeader9 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.ConMenFilelist = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.SaveListToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.LoadListToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.LoadDefaultListToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ClearListToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker() - Me.LvMsg = New System.Windows.Forms.ListView() - Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) - Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() - Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() - Me.ToolStripBtNew = New System.Windows.Forms.ToolStripButton() - Me.ToolStripBtOpen = New System.Windows.Forms.ToolStripButton() - Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() - Me.ToolStripDrDnBtTools = New System.Windows.Forms.ToolStripDropDownButton() - Me.GENEditorToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() - Me.VEHEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.EngineEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.GearboxEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.GraphToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ToolStripSeparator6 = New System.Windows.Forms.ToolStripSeparator() - Me.SignOrVerifyFilesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator() - Me.OpenLogToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.SettingsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ToolStripDrDnBtInfo = New System.Windows.Forms.ToolStripDropDownButton() - Me.UserManualToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.UpdateNotesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ReportBugViaCITnetToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator() - Me.CreateActivationFileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.AboutVECTOToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() - Me.CmDEV = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.TmProgSec = New System.Windows.Forms.Timer(Me.components) - Me.CmOpenFile = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.OpenWithToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.OpenInGraphWindowToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ShowInFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) - Me.StatusBAR.SuspendLayout() - Me.TabControl1.SuspendLayout() - Me.TabPageGEN.SuspendLayout() - CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() - Me.TabPgOptions.SuspendLayout() - Me.PanelOptAllg.SuspendLayout() - Me.GroupBox2.SuspendLayout() - Me.GroupBox1.SuspendLayout() - Me.TabPageDEV.SuspendLayout() - Me.ConMenFilelist.SuspendLayout() - CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() - Me.SplitContainer1.Panel1.SuspendLayout() - Me.SplitContainer1.Panel2.SuspendLayout() - Me.SplitContainer1.SuspendLayout() - Me.ToolStrip1.SuspendLayout() - Me.CmOpenFile.SuspendLayout() - Me.SuspendLayout() - ' - 'StatusBAR - ' - Me.StatusBAR.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripLbStatus, Me.ToolStripProgBarJob, Me.ToolStripProgBarOverall}) - Me.StatusBAR.Location = New System.Drawing.Point(0, 648) - Me.StatusBAR.Name = "StatusBAR" - Me.StatusBAR.Size = New System.Drawing.Size(1045, 22) - Me.StatusBAR.TabIndex = 7 - Me.StatusBAR.Text = "StatusBAR" - ' - 'ToolStripLbStatus - ' - Me.ToolStripLbStatus.Name = "ToolStripLbStatus" - Me.ToolStripLbStatus.Size = New System.Drawing.Size(1030, 17) - Me.ToolStripLbStatus.Spring = True - Me.ToolStripLbStatus.Text = "Status Text" - Me.ToolStripLbStatus.TextAlign = System.Drawing.ContentAlignment.MiddleLeft - ' - 'ToolStripProgBarJob - ' - Me.ToolStripProgBarJob.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right - Me.ToolStripProgBarJob.AutoSize = False - Me.ToolStripProgBarJob.Name = "ToolStripProgBarJob" - Me.ToolStripProgBarJob.Size = New System.Drawing.Size(100, 16) - Me.ToolStripProgBarJob.Style = System.Windows.Forms.ProgressBarStyle.Continuous - Me.ToolStripProgBarJob.ToolTipText = "overall progress" - Me.ToolStripProgBarJob.Visible = False - ' - 'ToolStripProgBarOverall - ' - Me.ToolStripProgBarOverall.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right - Me.ToolStripProgBarOverall.AutoSize = False - Me.ToolStripProgBarOverall.Name = "ToolStripProgBarOverall" - Me.ToolStripProgBarOverall.Size = New System.Drawing.Size(100, 16) - Me.ToolStripProgBarOverall.Style = System.Windows.Forms.ProgressBarStyle.Continuous - Me.ToolStripProgBarOverall.ToolTipText = "job progress" - Me.ToolStripProgBarOverall.Visible = False - ' - 'TabControl1 - ' - Me.TabControl1.Controls.Add(Me.TabPageGEN) - Me.TabControl1.Controls.Add(Me.TabPgOptions) - Me.TabControl1.Controls.Add(Me.TabPageDEV) - Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill - Me.TabControl1.Location = New System.Drawing.Point(3, 3) - Me.TabControl1.Margin = New System.Windows.Forms.Padding(0) - Me.TabControl1.Name = "TabControl1" - Me.TabControl1.Padding = New System.Drawing.Point(0, 0) - Me.TabControl1.SelectedIndex = 0 - Me.TabControl1.Size = New System.Drawing.Size(1042, 328) - Me.TabControl1.TabIndex = 10 - ' - 'TabPageGEN - ' - Me.TabPageGEN.Controls.Add(Me.Label6) - Me.TabPageGEN.Controls.Add(Me.btStartV3) - Me.TabPageGEN.Controls.Add(Me.LbDecl) - Me.TabPageGEN.Controls.Add(Me.PictureBox1) - Me.TabPageGEN.Controls.Add(Me.BtGENdown) - Me.TabPageGEN.Controls.Add(Me.BtGENup) - Me.TabPageGEN.Controls.Add(Me.LbAutoShDown) - Me.TabPageGEN.Controls.Add(Me.ChBoxAllGEN) - Me.TabPageGEN.Controls.Add(Me.LvGEN) - Me.TabPageGEN.Controls.Add(Me.ButtonGENremove) - Me.TabPageGEN.Controls.Add(Me.ButtonGENadd) - Me.TabPageGEN.Location = New System.Drawing.Point(4, 22) - Me.TabPageGEN.Margin = New System.Windows.Forms.Padding(0) - Me.TabPageGEN.Name = "TabPageGEN" - Me.TabPageGEN.Size = New System.Drawing.Size(1034, 302) - Me.TabPageGEN.TabIndex = 0 - Me.TabPageGEN.Text = "Job Files" - Me.TabPageGEN.UseVisualStyleBackColor = True - ' - 'Label6 - ' - Me.Label6.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.Label6.AutoSize = True - Me.Label6.Location = New System.Drawing.Point(814, 268) - Me.Label6.Name = "Label6" - Me.Label6.Size = New System.Drawing.Size(217, 13) - Me.Label6.TabIndex = 21 - Me.Label6.Text = "(Double-Click to Edit, Right-Click for Options)" - ' - 'btStartV3 - ' - Me.btStartV3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.btStartV3.Image = Global.TUGraz.VECTO.My.Resources.Resources.Play_icon - Me.btStartV3.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btStartV3.Location = New System.Drawing.Point(3, 56) - Me.btStartV3.Name = "btStartV3" - Me.btStartV3.Size = New System.Drawing.Size(108, 50) - Me.btStartV3.TabIndex = 20 - Me.btStartV3.Text = "START" - Me.btStartV3.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText - Me.ToolTip1.SetToolTip(Me.btStartV3, "Start Simulation") - Me.btStartV3.UseVisualStyleBackColor = True - ' - 'LbDecl - ' - Me.LbDecl.AutoSize = True - Me.LbDecl.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.LbDecl.Location = New System.Drawing.Point(5, 109) - Me.LbDecl.Name = "LbDecl" - Me.LbDecl.Size = New System.Drawing.Size(107, 13) - Me.LbDecl.TabIndex = 19 - Me.LbDecl.Text = "Declaration Mode" - Me.LbDecl.Visible = False - ' - 'PictureBox1 - ' - Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image) - Me.PictureBox1.Location = New System.Drawing.Point(3, 3) - Me.PictureBox1.Name = "PictureBox1" - Me.PictureBox1.Size = New System.Drawing.Size(108, 47) - Me.PictureBox1.TabIndex = 18 - Me.PictureBox1.TabStop = False - ' - 'BtGENdown - ' - Me.BtGENdown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.BtGENdown.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_arrow_down_icon - Me.BtGENdown.Location = New System.Drawing.Point(307, 267) - Me.BtGENdown.Name = "BtGENdown" - Me.BtGENdown.Size = New System.Drawing.Size(30, 30) - Me.BtGENdown.TabIndex = 6 - Me.ToolTip1.SetToolTip(Me.BtGENdown, "Move job down one row") - Me.BtGENdown.UseVisualStyleBackColor = True - ' - 'BtGENup - ' - Me.BtGENup.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.BtGENup.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_arrow_up_icon - Me.BtGENup.Location = New System.Drawing.Point(276, 267) - Me.BtGENup.Name = "BtGENup" - Me.BtGENup.Size = New System.Drawing.Size(30, 30) - Me.BtGENup.TabIndex = 4 - Me.ToolTip1.SetToolTip(Me.BtGENup, "Move job up one row") - Me.BtGENup.UseVisualStyleBackColor = True - ' - 'LbAutoShDown - ' - Me.LbAutoShDown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.LbAutoShDown.AutoSize = True - Me.LbAutoShDown.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.LbAutoShDown.ForeColor = System.Drawing.Color.Red - Me.LbAutoShDown.Location = New System.Drawing.Point(408, 275) - Me.LbAutoShDown.Name = "LbAutoShDown" - Me.LbAutoShDown.Size = New System.Drawing.Size(225, 13) - Me.LbAutoShDown.TabIndex = 17 - Me.LbAutoShDown.Text = "!!! Automatic Shutdown is activated !!!" - Me.LbAutoShDown.Visible = False - ' - 'ChBoxAllGEN - ' - Me.ChBoxAllGEN.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.ChBoxAllGEN.AutoSize = True - Me.ChBoxAllGEN.Location = New System.Drawing.Point(195, 274) - Me.ChBoxAllGEN.Name = "ChBoxAllGEN" - Me.ChBoxAllGEN.Size = New System.Drawing.Size(70, 17) - Me.ChBoxAllGEN.TabIndex = 16 - Me.ChBoxAllGEN.Text = "Select All" - Me.ToolTip1.SetToolTip(Me.ChBoxAllGEN, "Select All / None") - Me.ChBoxAllGEN.UseVisualStyleBackColor = True - ' - 'LvGEN - ' - Me.LvGEN.AllowDrop = True - Me.LvGEN.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ - Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.LvGEN.CheckBoxes = True - Me.LvGEN.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColGENpath, Me.ColGENstatus}) - Me.LvGEN.FullRowSelect = True - Me.LvGEN.GridLines = True - Me.LvGEN.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable - Me.LvGEN.HideSelection = False - Me.LvGEN.LabelEdit = True - Me.LvGEN.Location = New System.Drawing.Point(114, 3) - Me.LvGEN.Name = "LvGEN" - Me.LvGEN.Size = New System.Drawing.Size(917, 263) - Me.LvGEN.TabIndex = 14 - Me.LvGEN.UseCompatibleStateImageBehavior = False - Me.LvGEN.View = System.Windows.Forms.View.Details - ' - 'ColGENpath - ' - Me.ColGENpath.Text = "Filepath" - Me.ColGENpath.Width = 797 - ' - 'ColGENstatus - ' - Me.ColGENstatus.Text = "" - Me.ColGENstatus.Width = 175 - ' - 'ButtonGENremove - ' - Me.ButtonGENremove.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.ButtonGENremove.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.ButtonGENremove.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon - Me.ButtonGENremove.Location = New System.Drawing.Point(147, 267) - Me.ButtonGENremove.Name = "ButtonGENremove" - Me.ButtonGENremove.Size = New System.Drawing.Size(33, 30) - Me.ButtonGENremove.TabIndex = 2 - Me.ToolTip1.SetToolTip(Me.ButtonGENremove, "Remove selected entries") - Me.ButtonGENremove.UseVisualStyleBackColor = True - ' - 'ButtonGENadd - ' - Me.ButtonGENadd.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.ButtonGENadd.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.ButtonGENadd.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon - Me.ButtonGENadd.Location = New System.Drawing.Point(113, 267) - Me.ButtonGENadd.Name = "ButtonGENadd" - Me.ButtonGENadd.Size = New System.Drawing.Size(33, 30) - Me.ButtonGENadd.TabIndex = 1 - Me.ToolTip1.SetToolTip(Me.ButtonGENadd, "Add Job File") - Me.ButtonGENadd.UseVisualStyleBackColor = True - ' - 'TabPgOptions - ' - Me.TabPgOptions.Controls.Add(Me.PanelOptAllg) - Me.TabPgOptions.Location = New System.Drawing.Point(4, 22) - Me.TabPgOptions.Name = "TabPgOptions" - Me.TabPgOptions.Padding = New System.Windows.Forms.Padding(3) - Me.TabPgOptions.Size = New System.Drawing.Size(1034, 302) - Me.TabPgOptions.TabIndex = 2 - Me.TabPgOptions.Text = "Options" - Me.TabPgOptions.UseVisualStyleBackColor = True - ' - 'PanelOptAllg - ' - Me.PanelOptAllg.Controls.Add(Me.GroupBox2) - Me.PanelOptAllg.Controls.Add(Me.GroupBox1) - Me.PanelOptAllg.Location = New System.Drawing.Point(6, 6) - Me.PanelOptAllg.Name = "PanelOptAllg" - Me.PanelOptAllg.Size = New System.Drawing.Size(1022, 290) - Me.PanelOptAllg.TabIndex = 0 - ' - 'GroupBox2 - ' - Me.GroupBox2.Controls.Add(Me.ChBoxModOut) - Me.GroupBox2.Controls.Add(Me.ChBoxMod1Hz) - Me.GroupBox2.Location = New System.Drawing.Point(9, 81) - Me.GroupBox2.Name = "GroupBox2" - Me.GroupBox2.Size = New System.Drawing.Size(167, 89) - Me.GroupBox2.TabIndex = 16 - Me.GroupBox2.TabStop = False - Me.GroupBox2.Text = "Mode" - ' - 'ChBoxModOut - ' - Me.ChBoxModOut.AutoSize = True - Me.ChBoxModOut.Checked = True - Me.ChBoxModOut.CheckState = System.Windows.Forms.CheckState.Checked - Me.ChBoxModOut.Location = New System.Drawing.Point(6, 19) - Me.ChBoxModOut.Name = "ChBoxModOut" - Me.ChBoxModOut.Size = New System.Drawing.Size(115, 17) - Me.ChBoxModOut.TabIndex = 0 - Me.ChBoxModOut.Text = "Write modal results" - Me.ChBoxModOut.UseVisualStyleBackColor = True - ' - 'ChBoxMod1Hz - ' - Me.ChBoxMod1Hz.AutoSize = True - Me.ChBoxMod1Hz.Location = New System.Drawing.Point(6, 42) - Me.ChBoxMod1Hz.Name = "ChBoxMod1Hz" - Me.ChBoxMod1Hz.Size = New System.Drawing.Size(121, 17) - Me.ChBoxMod1Hz.TabIndex = 16 - Me.ChBoxMod1Hz.Text = "Modal results in 1Hz" - Me.ChBoxMod1Hz.UseVisualStyleBackColor = True - ' - 'GroupBox1 - ' - Me.GroupBox1.Controls.Add(Me.RbDev) - Me.GroupBox1.Controls.Add(Me.RbDecl) - Me.GroupBox1.Location = New System.Drawing.Point(3, 3) - Me.GroupBox1.Name = "GroupBox1" - Me.GroupBox1.Size = New System.Drawing.Size(173, 72) - Me.GroupBox1.TabIndex = 15 - Me.GroupBox1.TabStop = False - Me.GroupBox1.Text = "Mode" - ' - 'RbDev - ' - Me.RbDev.AutoSize = True - Me.RbDev.Checked = True - Me.RbDev.Location = New System.Drawing.Point(6, 42) - Me.RbDev.Name = "RbDev" - Me.RbDev.Size = New System.Drawing.Size(111, 17) - Me.RbDev.TabIndex = 1 - Me.RbDev.TabStop = True - Me.RbDev.Text = "Engineering Mode" - Me.RbDev.UseVisualStyleBackColor = True - ' - 'RbDecl - ' - Me.RbDecl.AutoSize = True - Me.RbDecl.Location = New System.Drawing.Point(6, 19) - Me.RbDecl.Name = "RbDecl" - Me.RbDecl.Size = New System.Drawing.Size(109, 17) - Me.RbDecl.TabIndex = 0 - Me.RbDecl.TabStop = True - Me.RbDecl.Text = "Declaration Mode" - Me.RbDecl.UseVisualStyleBackColor = True - ' - 'TabPageDEV - ' - Me.TabPageDEV.Controls.Add(Me.Label1) - Me.TabPageDEV.Controls.Add(Me.LvDEVoptions) - Me.TabPageDEV.Location = New System.Drawing.Point(4, 22) - Me.TabPageDEV.Name = "TabPageDEV" - Me.TabPageDEV.Padding = New System.Windows.Forms.Padding(3) - Me.TabPageDEV.Size = New System.Drawing.Size(1034, 302) - Me.TabPageDEV.TabIndex = 3 - Me.TabPageDEV.Text = "Test" - Me.TabPageDEV.UseVisualStyleBackColor = True - ' - 'Label1 - ' - Me.Label1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.Label1.AutoSize = True - Me.Label1.Location = New System.Drawing.Point(1012, 283) - Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(106, 13) - Me.Label1.TabIndex = 1 - Me.Label1.Text = "(Double-Click to Edit)" - ' - 'LvDEVoptions - ' - Me.LvDEVoptions.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ - Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.LvDEVoptions.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader4, Me.ColumnHeader7, Me.ColumnHeader5, Me.ColumnHeader6, Me.ColumnHeader8, Me.ColumnHeader9}) - Me.LvDEVoptions.FullRowSelect = True - Me.LvDEVoptions.GridLines = True - Me.LvDEVoptions.Location = New System.Drawing.Point(6, 6) - Me.LvDEVoptions.MultiSelect = False - Me.LvDEVoptions.Name = "LvDEVoptions" - Me.LvDEVoptions.Size = New System.Drawing.Size(1022, 277) - Me.LvDEVoptions.TabIndex = 0 - Me.LvDEVoptions.UseCompatibleStateImageBehavior = False - Me.LvDEVoptions.View = System.Windows.Forms.View.Details - ' - 'ColumnHeader4 - ' - Me.ColumnHeader4.Text = "Property" - Me.ColumnHeader4.Width = 89 - ' - 'ColumnHeader7 - ' - Me.ColumnHeader7.Text = "Description" - Me.ColumnHeader7.Width = 527 - ' - 'ColumnHeader5 - ' - Me.ColumnHeader5.Text = "Type" - Me.ColumnHeader5.Width = 82 - ' - 'ColumnHeader6 - ' - Me.ColumnHeader6.Text = "Value" - Me.ColumnHeader6.Width = 134 - ' - 'ColumnHeader8 - ' - Me.ColumnHeader8.Text = "Default" - Me.ColumnHeader8.Width = 120 - ' - 'ColumnHeader9 - ' - Me.ColumnHeader9.Text = "Saved In DEVconfig.txt" - Me.ColumnHeader9.Width = 129 - ' - 'ConMenFilelist - ' - Me.ConMenFilelist.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SaveListToolStripMenuItem, Me.LoadListToolStripMenuItem, Me.LoadDefaultListToolStripMenuItem, Me.ClearListToolStripMenuItem}) - Me.ConMenFilelist.Name = "ConMenFilelist" - Me.ConMenFilelist.Size = New System.Drawing.Size(176, 92) - ' - 'SaveListToolStripMenuItem - ' - Me.SaveListToolStripMenuItem.Name = "SaveListToolStripMenuItem" - Me.SaveListToolStripMenuItem.Size = New System.Drawing.Size(175, 22) - Me.SaveListToolStripMenuItem.Text = "Save List..." - ' - 'LoadListToolStripMenuItem - ' - Me.LoadListToolStripMenuItem.Name = "LoadListToolStripMenuItem" - Me.LoadListToolStripMenuItem.Size = New System.Drawing.Size(175, 22) - Me.LoadListToolStripMenuItem.Text = "Load List..." - ' - 'LoadDefaultListToolStripMenuItem - ' - Me.LoadDefaultListToolStripMenuItem.Name = "LoadDefaultListToolStripMenuItem" - Me.LoadDefaultListToolStripMenuItem.Size = New System.Drawing.Size(175, 22) - Me.LoadDefaultListToolStripMenuItem.Text = "Load Autosave-List" - ' - 'ClearListToolStripMenuItem - ' - Me.ClearListToolStripMenuItem.Name = "ClearListToolStripMenuItem" - Me.ClearListToolStripMenuItem.Size = New System.Drawing.Size(175, 22) - Me.ClearListToolStripMenuItem.Text = "Clear List" - ' - 'LvMsg - ' - Me.LvMsg.AllowColumnReorder = True - Me.LvMsg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.LvMsg.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3}) - Me.LvMsg.Dock = System.Windows.Forms.DockStyle.Fill - Me.LvMsg.Font = New System.Drawing.Font("Courier New", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.LvMsg.FullRowSelect = True - Me.LvMsg.GridLines = True - Me.LvMsg.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable - Me.LvMsg.LabelWrap = False - Me.LvMsg.Location = New System.Drawing.Point(0, 0) - Me.LvMsg.Margin = New System.Windows.Forms.Padding(0) - Me.LvMsg.Name = "LvMsg" - Me.LvMsg.Size = New System.Drawing.Size(1045, 281) - Me.LvMsg.TabIndex = 0 - Me.LvMsg.UseCompatibleStateImageBehavior = False - Me.LvMsg.View = System.Windows.Forms.View.Details - ' - 'ColumnHeader1 - ' - Me.ColumnHeader1.Text = "Message" - Me.ColumnHeader1.Width = 779 - ' - 'ColumnHeader2 - ' - Me.ColumnHeader2.Text = "Time" - Me.ColumnHeader2.Width = 151 - ' - 'ColumnHeader3 - ' - Me.ColumnHeader3.Text = "Source" - Me.ColumnHeader3.Width = 138 - ' - 'SplitContainer1 - ' - Me.SplitContainer1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ - Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.SplitContainer1.Location = New System.Drawing.Point(0, 27) - Me.SplitContainer1.Margin = New System.Windows.Forms.Padding(0) - Me.SplitContainer1.Name = "SplitContainer1" - Me.SplitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal - ' - 'SplitContainer1.Panel1 - ' - Me.SplitContainer1.Panel1.Controls.Add(Me.TabControl1) - Me.SplitContainer1.Panel1.Padding = New System.Windows.Forms.Padding(3, 3, 0, 2) - ' - 'SplitContainer1.Panel2 - ' - Me.SplitContainer1.Panel2.Controls.Add(Me.LvMsg) - Me.SplitContainer1.Size = New System.Drawing.Size(1045, 618) - Me.SplitContainer1.SplitterDistance = 333 - Me.SplitContainer1.TabIndex = 12 - ' - 'ToolStrip1 - ' - Me.ToolStrip1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None - Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden - Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripSeparator2, Me.ToolStripDrDnBtTools, Me.ToolStripDrDnBtInfo}) - Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) - Me.ToolStrip1.Name = "ToolStrip1" - Me.ToolStrip1.Size = New System.Drawing.Size(1045, 25) - Me.ToolStrip1.TabIndex = 11 - Me.ToolStrip1.Text = "ToolStrip1" - ' - 'ToolStripBtNew - ' - Me.ToolStripBtNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image - Me.ToolStripBtNew.Image = Global.TUGraz.VECTO.My.Resources.Resources.blue_document_icon - Me.ToolStripBtNew.ImageTransparentColor = System.Drawing.Color.Magenta - Me.ToolStripBtNew.Name = "ToolStripBtNew" - Me.ToolStripBtNew.Size = New System.Drawing.Size(23, 22) - Me.ToolStripBtNew.Text = "ToolStripBtNew" - Me.ToolStripBtNew.ToolTipText = "New Job File" - ' - 'ToolStripBtOpen - ' - Me.ToolStripBtOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image - Me.ToolStripBtOpen.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon - Me.ToolStripBtOpen.ImageTransparentColor = System.Drawing.Color.Magenta - Me.ToolStripBtOpen.Name = "ToolStripBtOpen" - Me.ToolStripBtOpen.Size = New System.Drawing.Size(23, 22) - Me.ToolStripBtOpen.Text = "ToolStripButton1" - Me.ToolStripBtOpen.ToolTipText = "Open File..." - ' - 'ToolStripSeparator2 - ' - Me.ToolStripSeparator2.Name = "ToolStripSeparator2" - Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) - ' - 'ToolStripDrDnBtTools - ' - Me.ToolStripDrDnBtTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.GENEditorToolStripMenuItem1, Me.VEHEditorToolStripMenuItem, Me.EngineEditorToolStripMenuItem, Me.GearboxEditorToolStripMenuItem, Me.GraphToolStripMenuItem, Me.ToolStripSeparator6, Me.SignOrVerifyFilesToolStripMenuItem, Me.ToolStripSeparator4, Me.OpenLogToolStripMenuItem, Me.SettingsToolStripMenuItem}) - Me.ToolStripDrDnBtTools.Image = Global.TUGraz.VECTO.My.Resources.Resources.Misc_Tools_icon - Me.ToolStripDrDnBtTools.ImageTransparentColor = System.Drawing.Color.Magenta - Me.ToolStripDrDnBtTools.Name = "ToolStripDrDnBtTools" - Me.ToolStripDrDnBtTools.Size = New System.Drawing.Size(65, 22) - Me.ToolStripDrDnBtTools.Text = "Tools" - ' - 'GENEditorToolStripMenuItem1 - ' - Me.GENEditorToolStripMenuItem1.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO - Me.GENEditorToolStripMenuItem1.Name = "GENEditorToolStripMenuItem1" - Me.GENEditorToolStripMenuItem1.Size = New System.Drawing.Size(170, 22) - Me.GENEditorToolStripMenuItem1.Text = "Job Editor" - ' - 'VEHEditorToolStripMenuItem - ' - Me.VEHEditorToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VEH - Me.VEHEditorToolStripMenuItem.Name = "VEHEditorToolStripMenuItem" - Me.VEHEditorToolStripMenuItem.Size = New System.Drawing.Size(170, 22) - Me.VEHEditorToolStripMenuItem.Text = "Vehicle Editor" - ' - 'EngineEditorToolStripMenuItem - ' - Me.EngineEditorToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_ENG - Me.EngineEditorToolStripMenuItem.Name = "EngineEditorToolStripMenuItem" - Me.EngineEditorToolStripMenuItem.Size = New System.Drawing.Size(170, 22) - Me.EngineEditorToolStripMenuItem.Text = "Engine Editor" - ' - 'GearboxEditorToolStripMenuItem - ' - Me.GearboxEditorToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_GBX - Me.GearboxEditorToolStripMenuItem.Name = "GearboxEditorToolStripMenuItem" - Me.GearboxEditorToolStripMenuItem.Size = New System.Drawing.Size(170, 22) - Me.GearboxEditorToolStripMenuItem.Text = "Gearbox Editor" - ' - 'GraphToolStripMenuItem - ' - Me.GraphToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_Graph - Me.GraphToolStripMenuItem.Name = "GraphToolStripMenuItem" - Me.GraphToolStripMenuItem.Size = New System.Drawing.Size(170, 22) - Me.GraphToolStripMenuItem.Text = "Graph" - ' - 'ToolStripSeparator6 - ' - Me.ToolStripSeparator6.Name = "ToolStripSeparator6" - Me.ToolStripSeparator6.Size = New System.Drawing.Size(167, 6) - ' - 'SignOrVerifyFilesToolStripMenuItem - ' - Me.SignOrVerifyFilesToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.Status_dialog_password_icon - Me.SignOrVerifyFilesToolStripMenuItem.Name = "SignOrVerifyFilesToolStripMenuItem" - Me.SignOrVerifyFilesToolStripMenuItem.Size = New System.Drawing.Size(170, 22) - Me.SignOrVerifyFilesToolStripMenuItem.Text = "Sign or Verify Files" - ' - 'ToolStripSeparator4 - ' - Me.ToolStripSeparator4.Name = "ToolStripSeparator4" - Me.ToolStripSeparator4.Size = New System.Drawing.Size(167, 6) - Me.ToolStripSeparator4.Visible = False - ' - 'OpenLogToolStripMenuItem - ' - Me.OpenLogToolStripMenuItem.Name = "OpenLogToolStripMenuItem" - Me.OpenLogToolStripMenuItem.Size = New System.Drawing.Size(170, 22) - Me.OpenLogToolStripMenuItem.Text = "Open Log" - ' - 'SettingsToolStripMenuItem - ' - Me.SettingsToolStripMenuItem.Name = "SettingsToolStripMenuItem" - Me.SettingsToolStripMenuItem.Size = New System.Drawing.Size(170, 22) - Me.SettingsToolStripMenuItem.Text = "Settings" - ' - 'ToolStripDrDnBtInfo - ' - Me.ToolStripDrDnBtInfo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UserManualToolStripMenuItem, Me.UpdateNotesToolStripMenuItem, Me.ReportBugViaCITnetToolStripMenuItem, Me.ToolStripSeparator3, Me.CreateActivationFileToolStripMenuItem, Me.AboutVECTOToolStripMenuItem1}) - Me.ToolStripDrDnBtInfo.Image = Global.TUGraz.VECTO.My.Resources.Resources.Help_icon - Me.ToolStripDrDnBtInfo.ImageTransparentColor = System.Drawing.Color.Magenta - Me.ToolStripDrDnBtInfo.Name = "ToolStripDrDnBtInfo" - Me.ToolStripDrDnBtInfo.Size = New System.Drawing.Size(61, 22) - Me.ToolStripDrDnBtInfo.Text = "Help" - ' - 'UserManualToolStripMenuItem - ' - Me.UserManualToolStripMenuItem.Name = "UserManualToolStripMenuItem" - Me.UserManualToolStripMenuItem.Size = New System.Drawing.Size(222, 22) - Me.UserManualToolStripMenuItem.Text = "User Manual" - ' - 'UpdateNotesToolStripMenuItem - ' - Me.UpdateNotesToolStripMenuItem.Name = "UpdateNotesToolStripMenuItem" - Me.UpdateNotesToolStripMenuItem.Size = New System.Drawing.Size(222, 22) - Me.UpdateNotesToolStripMenuItem.Text = "Release Notes" - ' - 'ReportBugViaCITnetToolStripMenuItem - ' - Me.ReportBugViaCITnetToolStripMenuItem.Name = "ReportBugViaCITnetToolStripMenuItem" - Me.ReportBugViaCITnetToolStripMenuItem.Size = New System.Drawing.Size(222, 22) - Me.ReportBugViaCITnetToolStripMenuItem.Text = "Report Bug via CITnet / JIRA" - ' - 'ToolStripSeparator3 - ' - Me.ToolStripSeparator3.Name = "ToolStripSeparator3" - Me.ToolStripSeparator3.Size = New System.Drawing.Size(219, 6) - ' - 'CreateActivationFileToolStripMenuItem - ' - Me.CreateActivationFileToolStripMenuItem.Name = "CreateActivationFileToolStripMenuItem" - Me.CreateActivationFileToolStripMenuItem.Size = New System.Drawing.Size(222, 22) - Me.CreateActivationFileToolStripMenuItem.Text = "Create Activation File" - ' - 'AboutVECTOToolStripMenuItem1 - ' - Me.AboutVECTOToolStripMenuItem1.Name = "AboutVECTOToolStripMenuItem1" - Me.AboutVECTOToolStripMenuItem1.Size = New System.Drawing.Size(222, 22) - Me.AboutVECTOToolStripMenuItem1.Text = "About VECTO" - ' - 'CmDEV - ' - Me.CmDEV.Name = "CmDEV" - Me.CmDEV.Size = New System.Drawing.Size(61, 4) - ' - 'TmProgSec - ' - Me.TmProgSec.Interval = 1000 - ' - 'CmOpenFile - ' - Me.CmOpenFile.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.OpenInGraphWindowToolStripMenuItem, Me.ShowInFolderToolStripMenuItem}) - Me.CmOpenFile.Name = "CmOpenFile" - Me.CmOpenFile.Size = New System.Drawing.Size(199, 70) - ' - 'OpenWithToolStripMenuItem - ' - Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" - Me.OpenWithToolStripMenuItem.Size = New System.Drawing.Size(198, 22) - Me.OpenWithToolStripMenuItem.Text = "Open with ..." - ' - 'OpenInGraphWindowToolStripMenuItem - ' - Me.OpenInGraphWindowToolStripMenuItem.Name = "OpenInGraphWindowToolStripMenuItem" - Me.OpenInGraphWindowToolStripMenuItem.Size = New System.Drawing.Size(198, 22) - Me.OpenInGraphWindowToolStripMenuItem.Text = "Open in Graph Window" - ' - 'ShowInFolderToolStripMenuItem - ' - Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" - Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(198, 22) - Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" - ' - 'F_MAINForm - ' - Me.AcceptButton = Me.btStartV3 - Me.ClientSize = New System.Drawing.Size(1045, 670) - Me.Controls.Add(Me.ToolStrip1) - Me.Controls.Add(Me.SplitContainer1) - Me.Controls.Add(Me.StatusBAR) - Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) - Me.MinimumSize = New System.Drawing.Size(785, 485) - Me.Name = "F_MAINForm" - Me.Text = "VECTO" - Me.StatusBAR.ResumeLayout(False) - Me.StatusBAR.PerformLayout() - Me.TabControl1.ResumeLayout(False) - Me.TabPageGEN.ResumeLayout(False) - Me.TabPageGEN.PerformLayout() - CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() - Me.TabPgOptions.ResumeLayout(False) - Me.PanelOptAllg.ResumeLayout(False) - Me.GroupBox2.ResumeLayout(False) - Me.GroupBox2.PerformLayout() - Me.GroupBox1.ResumeLayout(False) - Me.GroupBox1.PerformLayout() - Me.TabPageDEV.ResumeLayout(False) - Me.TabPageDEV.PerformLayout() - Me.ConMenFilelist.ResumeLayout(False) - Me.SplitContainer1.Panel1.ResumeLayout(False) - Me.SplitContainer1.Panel2.ResumeLayout(False) - CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() - Me.SplitContainer1.ResumeLayout(False) - Me.ToolStrip1.ResumeLayout(False) - Me.ToolStrip1.PerformLayout() - Me.CmOpenFile.ResumeLayout(False) - Me.ResumeLayout(False) - Me.PerformLayout() - - End Sub - Friend WithEvents StatusBAR As StatusStrip - Friend WithEvents ToolStripLbStatus As ToolStripStatusLabel - Friend WithEvents TabControl1 As TabControl - Friend WithEvents TabPageGEN As TabPage - Friend WithEvents ButtonGENadd As Button - Friend WithEvents ButtonGENremove As Button - Friend WithEvents ConMenFilelist As ContextMenuStrip - Friend WithEvents SaveListToolStripMenuItem As ToolStripMenuItem - Friend WithEvents LoadListToolStripMenuItem As ToolStripMenuItem - Friend WithEvents LoadDefaultListToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ClearListToolStripMenuItem As ToolStripMenuItem - Friend WithEvents BackgroundWorker1 As BackgroundWorker - Friend WithEvents ToolStripProgBarOverall As ToolStripProgressBar - Friend WithEvents LvGEN As ListView - Friend WithEvents ColGENpath As ColumnHeader - Friend WithEvents ColGENstatus As ColumnHeader - Friend WithEvents ChBoxAllGEN As CheckBox - Friend WithEvents TabPgOptions As TabPage - Friend WithEvents ChBoxModOut As CheckBox - Friend WithEvents PanelOptAllg As Panel - Friend WithEvents LbAutoShDown As Label - Friend WithEvents LvMsg As ListView - Friend WithEvents ColumnHeader1 As ColumnHeader - Friend WithEvents SplitContainer1 As SplitContainer - Friend WithEvents ColumnHeader2 As ColumnHeader - Friend WithEvents ColumnHeader3 As ColumnHeader - Friend WithEvents TabPageDEV As TabPage - Friend WithEvents LvDEVoptions As ListView - Friend WithEvents ColumnHeader4 As ColumnHeader - Friend WithEvents ColumnHeader5 As ColumnHeader - Friend WithEvents ColumnHeader6 As ColumnHeader - Friend WithEvents CmDEV As ContextMenuStrip - Friend WithEvents ColumnHeader7 As ColumnHeader - Friend WithEvents BtGENup As Button - Friend WithEvents BtGENdown As Button - Friend WithEvents ToolStrip1 As ToolStrip - Friend WithEvents ToolStripBtNew As ToolStripButton - Friend WithEvents ToolStripBtOpen As ToolStripButton - Friend WithEvents ToolStripDrDnBtTools As ToolStripDropDownButton - Friend WithEvents GENEditorToolStripMenuItem1 As ToolStripMenuItem - Friend WithEvents VEHEditorToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ToolStripSeparator4 As ToolStripSeparator - Friend WithEvents OpenLogToolStripMenuItem As ToolStripMenuItem - Friend WithEvents SettingsToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ToolStripDrDnBtInfo As ToolStripDropDownButton - Friend WithEvents CreateActivationFileToolStripMenuItem As ToolStripMenuItem - Friend WithEvents AboutVECTOToolStripMenuItem1 As ToolStripMenuItem - Friend WithEvents ToolStripSeparator2 As ToolStripSeparator - Friend WithEvents ToolStripProgBarJob As ToolStripProgressBar - Friend WithEvents TmProgSec As Timer - Friend WithEvents PictureBox1 As PictureBox - Friend WithEvents EngineEditorToolStripMenuItem As ToolStripMenuItem - Friend WithEvents GearboxEditorToolStripMenuItem As ToolStripMenuItem - Friend WithEvents UserManualToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ToolStripSeparator3 As ToolStripSeparator - Friend WithEvents CmOpenFile As ContextMenuStrip - Friend WithEvents OpenWithToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ShowInFolderToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ColumnHeader8 As ColumnHeader - Friend WithEvents ColumnHeader9 As ColumnHeader - Friend WithEvents UpdateNotesToolStripMenuItem As ToolStripMenuItem - Friend WithEvents SignOrVerifyFilesToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ToolStripSeparator6 As ToolStripSeparator - Friend WithEvents LbDecl As Label - Friend WithEvents GraphToolStripMenuItem As ToolStripMenuItem - Friend WithEvents OpenInGraphWindowToolStripMenuItem As ToolStripMenuItem - Friend WithEvents RbDev As RadioButton - Friend WithEvents RbDecl As RadioButton - Friend WithEvents GroupBox1 As GroupBox - Friend WithEvents Label1 As Label - Friend WithEvents ReportBugViaCITnetToolStripMenuItem As ToolStripMenuItem - Friend WithEvents btStartV3 As Button - Friend WithEvents ChBoxMod1Hz As CheckBox - Friend WithEvents Label6 As Label - Friend WithEvents ToolTip1 As ToolTip - Friend WithEvents NewToolStripButton As ToolStripButton - Friend WithEvents OpenToolStripButton As ToolStripButton - Friend WithEvents SaveToolStripButton As ToolStripButton - Friend WithEvents PrintToolStripButton As ToolStripButton - Friend WithEvents toolStripSeparator As ToolStripSeparator - Friend WithEvents CutToolStripButton As ToolStripButton - Friend WithEvents CopyToolStripButton As ToolStripButton - Friend WithEvents PasteToolStripButton As ToolStripButton - Friend WithEvents toolStripSeparator1 As ToolStripSeparator - Friend WithEvents HelpToolStripButton As ToolStripButton - Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox - -End Class +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.ComponentModel +Imports Microsoft.VisualBasic.CompilerServices + +<DesignerGenerated()> _ +Partial Class MainForm + Inherits Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + <DebuggerNonUserCode()> _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + <DebuggerStepThrough()> _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(MainForm)) + Me.StatusBAR = New System.Windows.Forms.StatusStrip() + Me.ToolStripLbStatus = New System.Windows.Forms.ToolStripStatusLabel() + Me.ToolStripProgBarJob = New System.Windows.Forms.ToolStripProgressBar() + Me.ToolStripProgBarOverall = New System.Windows.Forms.ToolStripProgressBar() + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPageGEN = New System.Windows.Forms.TabPage() + Me.Label6 = New System.Windows.Forms.Label() + Me.btStartV3 = New System.Windows.Forms.Button() + Me.LbDecl = New System.Windows.Forms.Label() + Me.PictureBox1 = New System.Windows.Forms.PictureBox() + Me.BtGENdown = New System.Windows.Forms.Button() + Me.BtGENup = New System.Windows.Forms.Button() + Me.LbAutoShDown = New System.Windows.Forms.Label() + Me.ChBoxAllGEN = New System.Windows.Forms.CheckBox() + Me.LvGEN = New System.Windows.Forms.ListView() + Me.ColGENpath = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ColGENstatus = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ButtonGENremove = New System.Windows.Forms.Button() + Me.ButtonGENadd = New System.Windows.Forms.Button() + Me.TabPgOptions = New System.Windows.Forms.TabPage() + Me.PanelOptAllg = New System.Windows.Forms.Panel() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.ChBoxModOut = New System.Windows.Forms.CheckBox() + Me.ChBoxMod1Hz = New System.Windows.Forms.CheckBox() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.RbDev = New System.Windows.Forms.RadioButton() + Me.RbDecl = New System.Windows.Forms.RadioButton() + Me.TabPageDEV = New System.Windows.Forms.TabPage() + Me.Label1 = New System.Windows.Forms.Label() + Me.LvDEVoptions = New System.Windows.Forms.ListView() + Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ColumnHeader7 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ColumnHeader5 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ColumnHeader6 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ColumnHeader8 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ColumnHeader9 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ConMenFilelist = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.SaveListToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.LoadListToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.LoadDefaultListToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ClearListToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker() + Me.LvMsg = New System.Windows.Forms.ListView() + Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.ToolStripBtNew = New System.Windows.Forms.ToolStripButton() + Me.ToolStripBtOpen = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripDrDnBtTools = New System.Windows.Forms.ToolStripDropDownButton() + Me.GENEditorToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.VEHEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.EngineEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.GearboxEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.GraphToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator6 = New System.Windows.Forms.ToolStripSeparator() + Me.SignOrVerifyFilesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator() + Me.OpenLogToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SettingsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripDrDnBtInfo = New System.Windows.Forms.ToolStripDropDownButton() + Me.UserManualToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.UpdateNotesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ReportBugViaCITnetToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator() + Me.CreateActivationFileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AboutVECTOToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.CmDEV = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.TmProgSec = New System.Windows.Forms.Timer(Me.components) + Me.CmOpenFile = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.OpenWithToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenInGraphWindowToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ShowInFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) + Me.StatusBAR.SuspendLayout() + Me.TabControl1.SuspendLayout() + Me.TabPageGEN.SuspendLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.TabPgOptions.SuspendLayout() + Me.PanelOptAllg.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.TabPageDEV.SuspendLayout() + Me.ConMenFilelist.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.CmOpenFile.SuspendLayout() + Me.SuspendLayout() + ' + 'StatusBAR + ' + Me.StatusBAR.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripLbStatus, Me.ToolStripProgBarJob, Me.ToolStripProgBarOverall}) + Me.StatusBAR.Location = New System.Drawing.Point(0, 648) + Me.StatusBAR.Name = "StatusBAR" + Me.StatusBAR.Size = New System.Drawing.Size(1045, 22) + Me.StatusBAR.TabIndex = 7 + Me.StatusBAR.Text = "StatusBAR" + ' + 'ToolStripLbStatus + ' + Me.ToolStripLbStatus.Name = "ToolStripLbStatus" + Me.ToolStripLbStatus.Size = New System.Drawing.Size(1030, 17) + Me.ToolStripLbStatus.Spring = True + Me.ToolStripLbStatus.Text = "Status Text" + Me.ToolStripLbStatus.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'ToolStripProgBarJob + ' + Me.ToolStripProgBarJob.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right + Me.ToolStripProgBarJob.AutoSize = False + Me.ToolStripProgBarJob.Name = "ToolStripProgBarJob" + Me.ToolStripProgBarJob.Size = New System.Drawing.Size(100, 16) + Me.ToolStripProgBarJob.Style = System.Windows.Forms.ProgressBarStyle.Continuous + Me.ToolStripProgBarJob.ToolTipText = "overall progress" + Me.ToolStripProgBarJob.Visible = False + ' + 'ToolStripProgBarOverall + ' + Me.ToolStripProgBarOverall.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right + Me.ToolStripProgBarOverall.AutoSize = False + Me.ToolStripProgBarOverall.Name = "ToolStripProgBarOverall" + Me.ToolStripProgBarOverall.Size = New System.Drawing.Size(100, 16) + Me.ToolStripProgBarOverall.Style = System.Windows.Forms.ProgressBarStyle.Continuous + Me.ToolStripProgBarOverall.ToolTipText = "job progress" + Me.ToolStripProgBarOverall.Visible = False + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPageGEN) + Me.TabControl1.Controls.Add(Me.TabPgOptions) + Me.TabControl1.Controls.Add(Me.TabPageDEV) + Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControl1.Location = New System.Drawing.Point(3, 3) + Me.TabControl1.Margin = New System.Windows.Forms.Padding(0) + Me.TabControl1.Name = "TabControl1" + Me.TabControl1.Padding = New System.Drawing.Point(0, 0) + Me.TabControl1.SelectedIndex = 0 + Me.TabControl1.Size = New System.Drawing.Size(1042, 328) + Me.TabControl1.TabIndex = 10 + ' + 'TabPageGEN + ' + Me.TabPageGEN.Controls.Add(Me.Label6) + Me.TabPageGEN.Controls.Add(Me.btStartV3) + Me.TabPageGEN.Controls.Add(Me.LbDecl) + Me.TabPageGEN.Controls.Add(Me.PictureBox1) + Me.TabPageGEN.Controls.Add(Me.BtGENdown) + Me.TabPageGEN.Controls.Add(Me.BtGENup) + Me.TabPageGEN.Controls.Add(Me.LbAutoShDown) + Me.TabPageGEN.Controls.Add(Me.ChBoxAllGEN) + Me.TabPageGEN.Controls.Add(Me.LvGEN) + Me.TabPageGEN.Controls.Add(Me.ButtonGENremove) + Me.TabPageGEN.Controls.Add(Me.ButtonGENadd) + Me.TabPageGEN.Location = New System.Drawing.Point(4, 22) + Me.TabPageGEN.Margin = New System.Windows.Forms.Padding(0) + Me.TabPageGEN.Name = "TabPageGEN" + Me.TabPageGEN.Size = New System.Drawing.Size(1034, 302) + Me.TabPageGEN.TabIndex = 0 + Me.TabPageGEN.Text = "Job Files" + Me.TabPageGEN.UseVisualStyleBackColor = True + ' + 'Label6 + ' + Me.Label6.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(814, 268) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(217, 13) + Me.Label6.TabIndex = 21 + Me.Label6.Text = "(Double-Click to Edit, Right-Click for Options)" + ' + 'btStartV3 + ' + Me.btStartV3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btStartV3.Image = Global.TUGraz.VECTO.My.Resources.Resources.Play_icon + Me.btStartV3.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btStartV3.Location = New System.Drawing.Point(3, 56) + Me.btStartV3.Name = "btStartV3" + Me.btStartV3.Size = New System.Drawing.Size(108, 50) + Me.btStartV3.TabIndex = 20 + Me.btStartV3.Text = "START" + Me.btStartV3.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText + Me.ToolTip1.SetToolTip(Me.btStartV3, "Start Simulation") + Me.btStartV3.UseVisualStyleBackColor = True + ' + 'LbDecl + ' + Me.LbDecl.AutoSize = True + Me.LbDecl.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LbDecl.Location = New System.Drawing.Point(5, 109) + Me.LbDecl.Name = "LbDecl" + Me.LbDecl.Size = New System.Drawing.Size(107, 13) + Me.LbDecl.TabIndex = 19 + Me.LbDecl.Text = "Declaration Mode" + Me.LbDecl.Visible = False + ' + 'PictureBox1 + ' + Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image) + Me.PictureBox1.Location = New System.Drawing.Point(3, 3) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New System.Drawing.Size(108, 47) + Me.PictureBox1.TabIndex = 18 + Me.PictureBox1.TabStop = False + ' + 'BtGENdown + ' + Me.BtGENdown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.BtGENdown.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_arrow_down_icon + Me.BtGENdown.Location = New System.Drawing.Point(307, 267) + Me.BtGENdown.Name = "BtGENdown" + Me.BtGENdown.Size = New System.Drawing.Size(30, 30) + Me.BtGENdown.TabIndex = 6 + Me.ToolTip1.SetToolTip(Me.BtGENdown, "Move job down one row") + Me.BtGENdown.UseVisualStyleBackColor = True + ' + 'BtGENup + ' + Me.BtGENup.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.BtGENup.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_arrow_up_icon + Me.BtGENup.Location = New System.Drawing.Point(276, 267) + Me.BtGENup.Name = "BtGENup" + Me.BtGENup.Size = New System.Drawing.Size(30, 30) + Me.BtGENup.TabIndex = 4 + Me.ToolTip1.SetToolTip(Me.BtGENup, "Move job up one row") + Me.BtGENup.UseVisualStyleBackColor = True + ' + 'LbAutoShDown + ' + Me.LbAutoShDown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.LbAutoShDown.AutoSize = True + Me.LbAutoShDown.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LbAutoShDown.ForeColor = System.Drawing.Color.Red + Me.LbAutoShDown.Location = New System.Drawing.Point(408, 275) + Me.LbAutoShDown.Name = "LbAutoShDown" + Me.LbAutoShDown.Size = New System.Drawing.Size(225, 13) + Me.LbAutoShDown.TabIndex = 17 + Me.LbAutoShDown.Text = "!!! Automatic Shutdown is activated !!!" + Me.LbAutoShDown.Visible = False + ' + 'ChBoxAllGEN + ' + Me.ChBoxAllGEN.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.ChBoxAllGEN.AutoSize = True + Me.ChBoxAllGEN.Location = New System.Drawing.Point(195, 274) + Me.ChBoxAllGEN.Name = "ChBoxAllGEN" + Me.ChBoxAllGEN.Size = New System.Drawing.Size(70, 17) + Me.ChBoxAllGEN.TabIndex = 16 + Me.ChBoxAllGEN.Text = "Select All" + Me.ToolTip1.SetToolTip(Me.ChBoxAllGEN, "Select All / None") + Me.ChBoxAllGEN.UseVisualStyleBackColor = True + ' + 'LvGEN + ' + Me.LvGEN.AllowDrop = True + Me.LvGEN.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.LvGEN.CheckBoxes = True + Me.LvGEN.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColGENpath, Me.ColGENstatus}) + Me.LvGEN.FullRowSelect = True + Me.LvGEN.GridLines = True + Me.LvGEN.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable + Me.LvGEN.HideSelection = False + Me.LvGEN.LabelEdit = True + Me.LvGEN.Location = New System.Drawing.Point(114, 3) + Me.LvGEN.Name = "LvGEN" + Me.LvGEN.Size = New System.Drawing.Size(917, 263) + Me.LvGEN.TabIndex = 14 + Me.LvGEN.UseCompatibleStateImageBehavior = False + Me.LvGEN.View = System.Windows.Forms.View.Details + ' + 'ColGENpath + ' + Me.ColGENpath.Text = "Filepath" + Me.ColGENpath.Width = 797 + ' + 'ColGENstatus + ' + Me.ColGENstatus.Text = "" + Me.ColGENstatus.Width = 175 + ' + 'ButtonGENremove + ' + Me.ButtonGENremove.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.ButtonGENremove.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ButtonGENremove.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon + Me.ButtonGENremove.Location = New System.Drawing.Point(147, 267) + Me.ButtonGENremove.Name = "ButtonGENremove" + Me.ButtonGENremove.Size = New System.Drawing.Size(33, 30) + Me.ButtonGENremove.TabIndex = 2 + Me.ToolTip1.SetToolTip(Me.ButtonGENremove, "Remove selected entries") + Me.ButtonGENremove.UseVisualStyleBackColor = True + ' + 'ButtonGENadd + ' + Me.ButtonGENadd.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.ButtonGENadd.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ButtonGENadd.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon + Me.ButtonGENadd.Location = New System.Drawing.Point(113, 267) + Me.ButtonGENadd.Name = "ButtonGENadd" + Me.ButtonGENadd.Size = New System.Drawing.Size(33, 30) + Me.ButtonGENadd.TabIndex = 1 + Me.ToolTip1.SetToolTip(Me.ButtonGENadd, "Add Job File") + Me.ButtonGENadd.UseVisualStyleBackColor = True + ' + 'TabPgOptions + ' + Me.TabPgOptions.Controls.Add(Me.PanelOptAllg) + Me.TabPgOptions.Location = New System.Drawing.Point(4, 22) + Me.TabPgOptions.Name = "TabPgOptions" + Me.TabPgOptions.Padding = New System.Windows.Forms.Padding(3) + Me.TabPgOptions.Size = New System.Drawing.Size(1034, 302) + Me.TabPgOptions.TabIndex = 2 + Me.TabPgOptions.Text = "Options" + Me.TabPgOptions.UseVisualStyleBackColor = True + ' + 'PanelOptAllg + ' + Me.PanelOptAllg.Controls.Add(Me.GroupBox2) + Me.PanelOptAllg.Controls.Add(Me.GroupBox1) + Me.PanelOptAllg.Location = New System.Drawing.Point(6, 6) + Me.PanelOptAllg.Name = "PanelOptAllg" + Me.PanelOptAllg.Size = New System.Drawing.Size(1022, 290) + Me.PanelOptAllg.TabIndex = 0 + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.ChBoxModOut) + Me.GroupBox2.Controls.Add(Me.ChBoxMod1Hz) + Me.GroupBox2.Location = New System.Drawing.Point(9, 81) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(167, 89) + Me.GroupBox2.TabIndex = 16 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Mode" + ' + 'ChBoxModOut + ' + Me.ChBoxModOut.AutoSize = True + Me.ChBoxModOut.Checked = True + Me.ChBoxModOut.CheckState = System.Windows.Forms.CheckState.Checked + Me.ChBoxModOut.Location = New System.Drawing.Point(6, 19) + Me.ChBoxModOut.Name = "ChBoxModOut" + Me.ChBoxModOut.Size = New System.Drawing.Size(115, 17) + Me.ChBoxModOut.TabIndex = 0 + Me.ChBoxModOut.Text = "Write modal results" + Me.ChBoxModOut.UseVisualStyleBackColor = True + ' + 'ChBoxMod1Hz + ' + Me.ChBoxMod1Hz.AutoSize = True + Me.ChBoxMod1Hz.Location = New System.Drawing.Point(6, 42) + Me.ChBoxMod1Hz.Name = "ChBoxMod1Hz" + Me.ChBoxMod1Hz.Size = New System.Drawing.Size(121, 17) + Me.ChBoxMod1Hz.TabIndex = 16 + Me.ChBoxMod1Hz.Text = "Modal results in 1Hz" + Me.ChBoxMod1Hz.UseVisualStyleBackColor = True + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.RbDev) + Me.GroupBox1.Controls.Add(Me.RbDecl) + Me.GroupBox1.Location = New System.Drawing.Point(3, 3) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(173, 72) + Me.GroupBox1.TabIndex = 15 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Mode" + ' + 'RbDev + ' + Me.RbDev.AutoSize = True + Me.RbDev.Checked = True + Me.RbDev.Location = New System.Drawing.Point(6, 42) + Me.RbDev.Name = "RbDev" + Me.RbDev.Size = New System.Drawing.Size(111, 17) + Me.RbDev.TabIndex = 1 + Me.RbDev.TabStop = True + Me.RbDev.Text = "Engineering Mode" + Me.RbDev.UseVisualStyleBackColor = True + ' + 'RbDecl + ' + Me.RbDecl.AutoSize = True + Me.RbDecl.Location = New System.Drawing.Point(6, 19) + Me.RbDecl.Name = "RbDecl" + Me.RbDecl.Size = New System.Drawing.Size(109, 17) + Me.RbDecl.TabIndex = 0 + Me.RbDecl.TabStop = True + Me.RbDecl.Text = "Declaration Mode" + Me.RbDecl.UseVisualStyleBackColor = True + ' + 'TabPageDEV + ' + Me.TabPageDEV.Controls.Add(Me.Label1) + Me.TabPageDEV.Controls.Add(Me.LvDEVoptions) + Me.TabPageDEV.Location = New System.Drawing.Point(4, 22) + Me.TabPageDEV.Name = "TabPageDEV" + Me.TabPageDEV.Padding = New System.Windows.Forms.Padding(3) + Me.TabPageDEV.Size = New System.Drawing.Size(1034, 302) + Me.TabPageDEV.TabIndex = 3 + Me.TabPageDEV.Text = "Test" + Me.TabPageDEV.UseVisualStyleBackColor = True + ' + 'Label1 + ' + Me.Label1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(1012, 283) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(106, 13) + Me.Label1.TabIndex = 1 + Me.Label1.Text = "(Double-Click to Edit)" + ' + 'LvDEVoptions + ' + Me.LvDEVoptions.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.LvDEVoptions.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader4, Me.ColumnHeader7, Me.ColumnHeader5, Me.ColumnHeader6, Me.ColumnHeader8, Me.ColumnHeader9}) + Me.LvDEVoptions.FullRowSelect = True + Me.LvDEVoptions.GridLines = True + Me.LvDEVoptions.Location = New System.Drawing.Point(6, 6) + Me.LvDEVoptions.MultiSelect = False + Me.LvDEVoptions.Name = "LvDEVoptions" + Me.LvDEVoptions.Size = New System.Drawing.Size(1022, 277) + Me.LvDEVoptions.TabIndex = 0 + Me.LvDEVoptions.UseCompatibleStateImageBehavior = False + Me.LvDEVoptions.View = System.Windows.Forms.View.Details + ' + 'ColumnHeader4 + ' + Me.ColumnHeader4.Text = "Property" + Me.ColumnHeader4.Width = 89 + ' + 'ColumnHeader7 + ' + Me.ColumnHeader7.Text = "Description" + Me.ColumnHeader7.Width = 527 + ' + 'ColumnHeader5 + ' + Me.ColumnHeader5.Text = "Type" + Me.ColumnHeader5.Width = 82 + ' + 'ColumnHeader6 + ' + Me.ColumnHeader6.Text = "Value" + Me.ColumnHeader6.Width = 134 + ' + 'ColumnHeader8 + ' + Me.ColumnHeader8.Text = "Default" + Me.ColumnHeader8.Width = 120 + ' + 'ColumnHeader9 + ' + Me.ColumnHeader9.Text = "Saved In DEVconfig.txt" + Me.ColumnHeader9.Width = 129 + ' + 'ConMenFilelist + ' + Me.ConMenFilelist.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SaveListToolStripMenuItem, Me.LoadListToolStripMenuItem, Me.LoadDefaultListToolStripMenuItem, Me.ClearListToolStripMenuItem}) + Me.ConMenFilelist.Name = "ConMenFilelist" + Me.ConMenFilelist.Size = New System.Drawing.Size(176, 92) + ' + 'SaveListToolStripMenuItem + ' + Me.SaveListToolStripMenuItem.Name = "SaveListToolStripMenuItem" + Me.SaveListToolStripMenuItem.Size = New System.Drawing.Size(175, 22) + Me.SaveListToolStripMenuItem.Text = "Save List..." + ' + 'LoadListToolStripMenuItem + ' + Me.LoadListToolStripMenuItem.Name = "LoadListToolStripMenuItem" + Me.LoadListToolStripMenuItem.Size = New System.Drawing.Size(175, 22) + Me.LoadListToolStripMenuItem.Text = "Load List..." + ' + 'LoadDefaultListToolStripMenuItem + ' + Me.LoadDefaultListToolStripMenuItem.Name = "LoadDefaultListToolStripMenuItem" + Me.LoadDefaultListToolStripMenuItem.Size = New System.Drawing.Size(175, 22) + Me.LoadDefaultListToolStripMenuItem.Text = "Load Autosave-List" + ' + 'ClearListToolStripMenuItem + ' + Me.ClearListToolStripMenuItem.Name = "ClearListToolStripMenuItem" + Me.ClearListToolStripMenuItem.Size = New System.Drawing.Size(175, 22) + Me.ClearListToolStripMenuItem.Text = "Clear List" + ' + 'LvMsg + ' + Me.LvMsg.AllowColumnReorder = True + Me.LvMsg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.LvMsg.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3}) + Me.LvMsg.Dock = System.Windows.Forms.DockStyle.Fill + Me.LvMsg.Font = New System.Drawing.Font("Courier New", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LvMsg.FullRowSelect = True + Me.LvMsg.GridLines = True + Me.LvMsg.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable + Me.LvMsg.LabelWrap = False + Me.LvMsg.Location = New System.Drawing.Point(0, 0) + Me.LvMsg.Margin = New System.Windows.Forms.Padding(0) + Me.LvMsg.Name = "LvMsg" + Me.LvMsg.Size = New System.Drawing.Size(1045, 281) + Me.LvMsg.TabIndex = 0 + Me.LvMsg.UseCompatibleStateImageBehavior = False + Me.LvMsg.View = System.Windows.Forms.View.Details + ' + 'ColumnHeader1 + ' + Me.ColumnHeader1.Text = "Message" + Me.ColumnHeader1.Width = 779 + ' + 'ColumnHeader2 + ' + Me.ColumnHeader2.Text = "Time" + Me.ColumnHeader2.Width = 151 + ' + 'ColumnHeader3 + ' + Me.ColumnHeader3.Text = "Source" + Me.ColumnHeader3.Width = 138 + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.SplitContainer1.Location = New System.Drawing.Point(0, 27) + Me.SplitContainer1.Margin = New System.Windows.Forms.Padding(0) + Me.SplitContainer1.Name = "SplitContainer1" + Me.SplitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.TabControl1) + Me.SplitContainer1.Panel1.Padding = New System.Windows.Forms.Padding(3, 3, 0, 2) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.LvMsg) + Me.SplitContainer1.Size = New System.Drawing.Size(1045, 618) + Me.SplitContainer1.SplitterDistance = 333 + Me.SplitContainer1.TabIndex = 12 + ' + 'ToolStrip1 + ' + Me.ToolStrip1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None + Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripSeparator2, Me.ToolStripDrDnBtTools, Me.ToolStripDrDnBtInfo}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1045, 25) + Me.ToolStrip1.TabIndex = 11 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'ToolStripBtNew + ' + Me.ToolStripBtNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripBtNew.Image = Global.TUGraz.VECTO.My.Resources.Resources.blue_document_icon + Me.ToolStripBtNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripBtNew.Name = "ToolStripBtNew" + Me.ToolStripBtNew.Size = New System.Drawing.Size(23, 22) + Me.ToolStripBtNew.Text = "ToolStripBtNew" + Me.ToolStripBtNew.ToolTipText = "New Job File" + ' + 'ToolStripBtOpen + ' + Me.ToolStripBtOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripBtOpen.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon + Me.ToolStripBtOpen.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripBtOpen.Name = "ToolStripBtOpen" + Me.ToolStripBtOpen.Size = New System.Drawing.Size(23, 22) + Me.ToolStripBtOpen.Text = "ToolStripButton1" + Me.ToolStripBtOpen.ToolTipText = "Open File..." + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripDrDnBtTools + ' + Me.ToolStripDrDnBtTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.GENEditorToolStripMenuItem1, Me.VEHEditorToolStripMenuItem, Me.EngineEditorToolStripMenuItem, Me.GearboxEditorToolStripMenuItem, Me.GraphToolStripMenuItem, Me.ToolStripSeparator6, Me.SignOrVerifyFilesToolStripMenuItem, Me.ToolStripSeparator4, Me.OpenLogToolStripMenuItem, Me.SettingsToolStripMenuItem}) + Me.ToolStripDrDnBtTools.Image = Global.TUGraz.VECTO.My.Resources.Resources.Misc_Tools_icon + Me.ToolStripDrDnBtTools.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripDrDnBtTools.Name = "ToolStripDrDnBtTools" + Me.ToolStripDrDnBtTools.Size = New System.Drawing.Size(65, 22) + Me.ToolStripDrDnBtTools.Text = "Tools" + ' + 'GENEditorToolStripMenuItem1 + ' + Me.GENEditorToolStripMenuItem1.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO + Me.GENEditorToolStripMenuItem1.Name = "GENEditorToolStripMenuItem1" + Me.GENEditorToolStripMenuItem1.Size = New System.Drawing.Size(170, 22) + Me.GENEditorToolStripMenuItem1.Text = "Job Editor" + ' + 'VEHEditorToolStripMenuItem + ' + Me.VEHEditorToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VEH + Me.VEHEditorToolStripMenuItem.Name = "VEHEditorToolStripMenuItem" + Me.VEHEditorToolStripMenuItem.Size = New System.Drawing.Size(170, 22) + Me.VEHEditorToolStripMenuItem.Text = "Vehicle Editor" + ' + 'EngineEditorToolStripMenuItem + ' + Me.EngineEditorToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_ENG + Me.EngineEditorToolStripMenuItem.Name = "EngineEditorToolStripMenuItem" + Me.EngineEditorToolStripMenuItem.Size = New System.Drawing.Size(170, 22) + Me.EngineEditorToolStripMenuItem.Text = "Engine Editor" + ' + 'GearboxEditorToolStripMenuItem + ' + Me.GearboxEditorToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_GBX + Me.GearboxEditorToolStripMenuItem.Name = "GearboxEditorToolStripMenuItem" + Me.GearboxEditorToolStripMenuItem.Size = New System.Drawing.Size(170, 22) + Me.GearboxEditorToolStripMenuItem.Text = "Gearbox Editor" + ' + 'GraphToolStripMenuItem + ' + Me.GraphToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_Graph + Me.GraphToolStripMenuItem.Name = "GraphToolStripMenuItem" + Me.GraphToolStripMenuItem.Size = New System.Drawing.Size(170, 22) + Me.GraphToolStripMenuItem.Text = "Graph" + ' + 'ToolStripSeparator6 + ' + Me.ToolStripSeparator6.Name = "ToolStripSeparator6" + Me.ToolStripSeparator6.Size = New System.Drawing.Size(167, 6) + ' + 'SignOrVerifyFilesToolStripMenuItem + ' + Me.SignOrVerifyFilesToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.Status_dialog_password_icon + Me.SignOrVerifyFilesToolStripMenuItem.Name = "SignOrVerifyFilesToolStripMenuItem" + Me.SignOrVerifyFilesToolStripMenuItem.Size = New System.Drawing.Size(170, 22) + Me.SignOrVerifyFilesToolStripMenuItem.Text = "Sign or Verify Files" + ' + 'ToolStripSeparator4 + ' + Me.ToolStripSeparator4.Name = "ToolStripSeparator4" + Me.ToolStripSeparator4.Size = New System.Drawing.Size(167, 6) + Me.ToolStripSeparator4.Visible = False + ' + 'OpenLogToolStripMenuItem + ' + Me.OpenLogToolStripMenuItem.Name = "OpenLogToolStripMenuItem" + Me.OpenLogToolStripMenuItem.Size = New System.Drawing.Size(170, 22) + Me.OpenLogToolStripMenuItem.Text = "Open Log" + ' + 'SettingsToolStripMenuItem + ' + Me.SettingsToolStripMenuItem.Name = "SettingsToolStripMenuItem" + Me.SettingsToolStripMenuItem.Size = New System.Drawing.Size(170, 22) + Me.SettingsToolStripMenuItem.Text = "Settings" + ' + 'ToolStripDrDnBtInfo + ' + Me.ToolStripDrDnBtInfo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UserManualToolStripMenuItem, Me.UpdateNotesToolStripMenuItem, Me.ReportBugViaCITnetToolStripMenuItem, Me.ToolStripSeparator3, Me.CreateActivationFileToolStripMenuItem, Me.AboutVECTOToolStripMenuItem1}) + Me.ToolStripDrDnBtInfo.Image = Global.TUGraz.VECTO.My.Resources.Resources.Help_icon + Me.ToolStripDrDnBtInfo.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripDrDnBtInfo.Name = "ToolStripDrDnBtInfo" + Me.ToolStripDrDnBtInfo.Size = New System.Drawing.Size(61, 22) + Me.ToolStripDrDnBtInfo.Text = "Help" + ' + 'UserManualToolStripMenuItem + ' + Me.UserManualToolStripMenuItem.Name = "UserManualToolStripMenuItem" + Me.UserManualToolStripMenuItem.Size = New System.Drawing.Size(222, 22) + Me.UserManualToolStripMenuItem.Text = "User Manual" + ' + 'UpdateNotesToolStripMenuItem + ' + Me.UpdateNotesToolStripMenuItem.Name = "UpdateNotesToolStripMenuItem" + Me.UpdateNotesToolStripMenuItem.Size = New System.Drawing.Size(222, 22) + Me.UpdateNotesToolStripMenuItem.Text = "Release Notes" + ' + 'ReportBugViaCITnetToolStripMenuItem + ' + Me.ReportBugViaCITnetToolStripMenuItem.Name = "ReportBugViaCITnetToolStripMenuItem" + Me.ReportBugViaCITnetToolStripMenuItem.Size = New System.Drawing.Size(222, 22) + Me.ReportBugViaCITnetToolStripMenuItem.Text = "Report Bug via CITnet / JIRA" + ' + 'ToolStripSeparator3 + ' + Me.ToolStripSeparator3.Name = "ToolStripSeparator3" + Me.ToolStripSeparator3.Size = New System.Drawing.Size(219, 6) + ' + 'CreateActivationFileToolStripMenuItem + ' + Me.CreateActivationFileToolStripMenuItem.Name = "CreateActivationFileToolStripMenuItem" + Me.CreateActivationFileToolStripMenuItem.Size = New System.Drawing.Size(222, 22) + Me.CreateActivationFileToolStripMenuItem.Text = "Create Activation File" + ' + 'AboutVECTOToolStripMenuItem1 + ' + Me.AboutVECTOToolStripMenuItem1.Name = "AboutVECTOToolStripMenuItem1" + Me.AboutVECTOToolStripMenuItem1.Size = New System.Drawing.Size(222, 22) + Me.AboutVECTOToolStripMenuItem1.Text = "About VECTO" + ' + 'CmDEV + ' + Me.CmDEV.Name = "CmDEV" + Me.CmDEV.Size = New System.Drawing.Size(61, 4) + ' + 'TmProgSec + ' + Me.TmProgSec.Interval = 1000 + ' + 'CmOpenFile + ' + Me.CmOpenFile.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.OpenInGraphWindowToolStripMenuItem, Me.ShowInFolderToolStripMenuItem}) + Me.CmOpenFile.Name = "CmOpenFile" + Me.CmOpenFile.Size = New System.Drawing.Size(199, 70) + ' + 'OpenWithToolStripMenuItem + ' + Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" + Me.OpenWithToolStripMenuItem.Size = New System.Drawing.Size(198, 22) + Me.OpenWithToolStripMenuItem.Text = "Open with ..." + ' + 'OpenInGraphWindowToolStripMenuItem + ' + Me.OpenInGraphWindowToolStripMenuItem.Name = "OpenInGraphWindowToolStripMenuItem" + Me.OpenInGraphWindowToolStripMenuItem.Size = New System.Drawing.Size(198, 22) + Me.OpenInGraphWindowToolStripMenuItem.Text = "Open in Graph Window" + ' + 'ShowInFolderToolStripMenuItem + ' + Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" + Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(198, 22) + Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" + ' + 'F_MAINForm + ' + Me.AcceptButton = Me.btStartV3 + Me.ClientSize = New System.Drawing.Size(1045, 670) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.SplitContainer1) + Me.Controls.Add(Me.StatusBAR) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MinimumSize = New System.Drawing.Size(785, 485) + Me.Name = "MainForm" + Me.Text = "VECTO" + Me.StatusBAR.ResumeLayout(False) + Me.StatusBAR.PerformLayout() + Me.TabControl1.ResumeLayout(False) + Me.TabPageGEN.ResumeLayout(False) + Me.TabPageGEN.PerformLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + Me.TabPgOptions.ResumeLayout(False) + Me.PanelOptAllg.ResumeLayout(False) + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.TabPageDEV.ResumeLayout(False) + Me.TabPageDEV.PerformLayout() + Me.ConMenFilelist.ResumeLayout(False) + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.CmOpenFile.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents StatusBAR As StatusStrip + Friend WithEvents ToolStripLbStatus As ToolStripStatusLabel + Friend WithEvents TabControl1 As TabControl + Friend WithEvents TabPageGEN As TabPage + Friend WithEvents ButtonGENadd As Button + Friend WithEvents ButtonGENremove As Button + Friend WithEvents ConMenFilelist As ContextMenuStrip + Friend WithEvents SaveListToolStripMenuItem As ToolStripMenuItem + Friend WithEvents LoadListToolStripMenuItem As ToolStripMenuItem + Friend WithEvents LoadDefaultListToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ClearListToolStripMenuItem As ToolStripMenuItem + Friend WithEvents BackgroundWorker1 As BackgroundWorker + Friend WithEvents ToolStripProgBarOverall As ToolStripProgressBar + Friend WithEvents LvGEN As ListView + Friend WithEvents ColGENpath As ColumnHeader + Friend WithEvents ColGENstatus As ColumnHeader + Friend WithEvents ChBoxAllGEN As CheckBox + Friend WithEvents TabPgOptions As TabPage + Friend WithEvents ChBoxModOut As CheckBox + Friend WithEvents PanelOptAllg As Panel + Friend WithEvents LbAutoShDown As Label + Friend WithEvents LvMsg As ListView + Friend WithEvents ColumnHeader1 As ColumnHeader + Friend WithEvents SplitContainer1 As SplitContainer + Friend WithEvents ColumnHeader2 As ColumnHeader + Friend WithEvents ColumnHeader3 As ColumnHeader + Friend WithEvents TabPageDEV As TabPage + Friend WithEvents LvDEVoptions As ListView + Friend WithEvents ColumnHeader4 As ColumnHeader + Friend WithEvents ColumnHeader5 As ColumnHeader + Friend WithEvents ColumnHeader6 As ColumnHeader + Friend WithEvents CmDEV As ContextMenuStrip + Friend WithEvents ColumnHeader7 As ColumnHeader + Friend WithEvents BtGENup As Button + Friend WithEvents BtGENdown As Button + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents ToolStripBtNew As ToolStripButton + Friend WithEvents ToolStripBtOpen As ToolStripButton + Friend WithEvents ToolStripDrDnBtTools As ToolStripDropDownButton + Friend WithEvents GENEditorToolStripMenuItem1 As ToolStripMenuItem + Friend WithEvents VEHEditorToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ToolStripSeparator4 As ToolStripSeparator + Friend WithEvents OpenLogToolStripMenuItem As ToolStripMenuItem + Friend WithEvents SettingsToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ToolStripDrDnBtInfo As ToolStripDropDownButton + Friend WithEvents CreateActivationFileToolStripMenuItem As ToolStripMenuItem + Friend WithEvents AboutVECTOToolStripMenuItem1 As ToolStripMenuItem + Friend WithEvents ToolStripSeparator2 As ToolStripSeparator + Friend WithEvents ToolStripProgBarJob As ToolStripProgressBar + Friend WithEvents TmProgSec As Timer + Friend WithEvents PictureBox1 As PictureBox + Friend WithEvents EngineEditorToolStripMenuItem As ToolStripMenuItem + Friend WithEvents GearboxEditorToolStripMenuItem As ToolStripMenuItem + Friend WithEvents UserManualToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ToolStripSeparator3 As ToolStripSeparator + Friend WithEvents CmOpenFile As ContextMenuStrip + Friend WithEvents OpenWithToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ShowInFolderToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ColumnHeader8 As ColumnHeader + Friend WithEvents ColumnHeader9 As ColumnHeader + Friend WithEvents UpdateNotesToolStripMenuItem As ToolStripMenuItem + Friend WithEvents SignOrVerifyFilesToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ToolStripSeparator6 As ToolStripSeparator + Friend WithEvents LbDecl As Label + Friend WithEvents GraphToolStripMenuItem As ToolStripMenuItem + Friend WithEvents OpenInGraphWindowToolStripMenuItem As ToolStripMenuItem + Friend WithEvents RbDev As RadioButton + Friend WithEvents RbDecl As RadioButton + Friend WithEvents GroupBox1 As GroupBox + Friend WithEvents Label1 As Label + Friend WithEvents ReportBugViaCITnetToolStripMenuItem As ToolStripMenuItem + Friend WithEvents btStartV3 As Button + Friend WithEvents ChBoxMod1Hz As CheckBox + Friend WithEvents Label6 As Label + Friend WithEvents ToolTip1 As ToolTip + Friend WithEvents NewToolStripButton As ToolStripButton + Friend WithEvents OpenToolStripButton As ToolStripButton + Friend WithEvents SaveToolStripButton As ToolStripButton + Friend WithEvents PrintToolStripButton As ToolStripButton + Friend WithEvents toolStripSeparator As ToolStripSeparator + Friend WithEvents CutToolStripButton As ToolStripButton + Friend WithEvents CopyToolStripButton As ToolStripButton + Friend WithEvents PasteToolStripButton As ToolStripButton + Friend WithEvents toolStripSeparator1 As ToolStripSeparator + Friend WithEvents HelpToolStripButton As ToolStripButton + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + +End Class diff --git a/VECTO/GUI/F_MAINForm.resx b/VECTO/GUI/MainForm.resx similarity index 98% rename from VECTO/GUI/F_MAINForm.resx rename to VECTO/GUI/MainForm.resx index 0d31c3736121f303a2e4916dca971fe21f6b906f..1ab95c20be0eb1a9777f7aae6720fb67961848f1 100644 --- a/VECTO/GUI/F_MAINForm.resx +++ b/VECTO/GUI/MainForm.resx @@ -1,305 +1,305 @@ -<?xml version="1.0" encoding="utf-8"?> -<root> - <!-- - Microsoft ResX Schema - - Version 2.0 - - The primary goals of this format is to allow a simple XML format - that is mostly human readable. The generation and parsing of the - various data types are done through the TypeConverter classes - associated with the data types. - - Example: - - ... ado.net/XML headers & schema ... - <resheader name="resmimetype">text/microsoft-resx</resheader> - <resheader name="version">2.0</resheader> - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> - <value>[base64 mime encoded serialized .NET Framework object]</value> - </data> - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> - <comment>This is a comment</comment> - </data> - - There are any number of "resheader" rows that contain simple - name/value pairs. - - Each data row contains a name, and value. The row also contains a - type or mimetype. Type corresponds to a .NET class that support - text/value conversion through the TypeConverter architecture. - Classes that don't support this are serialized and stored with the - mimetype set. - - The mimetype is used for serialized objects, and tells the - ResXResourceReader how to depersist the object. This is currently not - extensible. For a given mimetype the value must be set accordingly: - - Note - application/x-microsoft.net.object.binary.base64 is the format - that the ResXResourceWriter will generate, however the reader can - read any of the formats listed below. - - mimetype: application/x-microsoft.net.object.binary.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.soap.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.bytearray.base64 - value : The object must be serialized into a byte array - : using a System.ComponentModel.TypeConverter - : and then encoded with base64 encoding. - --> - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> - <xsd:element name="root" msdata:IsDataSet="true"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="metadata"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="name" use="required" type="xsd:string" /> - <xsd:attribute name="type" type="xsd:string" /> - <xsd:attribute name="mimetype" type="xsd:string" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="assembly"> - <xsd:complexType> - <xsd:attribute name="alias" type="xsd:string" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="data"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="resheader"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:schema> - <resheader name="resmimetype"> - <value>text/microsoft-resx</value> - </resheader> - <resheader name="version"> - <value>2.0</value> - </resheader> - <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <metadata name="StatusBAR.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>15, 12</value> - </metadata> - <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>850, 12</value> - </metadata> - <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <data name="PictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - iVBORw0KGgoAAAANSUhEUgAAAGkAAAAsCAYAAABmF5blAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAALuIAAC8GAUsgSLcAAAAGYktHRAD/AP8A/6C9p5MAAAAHdElNRQfcChILJTNC/q9R - AAARd0lEQVR4Xu2bh19Vx7bH3//wrsm9N9WuscWCvdfYa2JEY4sNQbGb2EBEBMWeqIiFYkEQUJoamoCo - IBgFC4JSLKBgAREQLOut35wz230qB/S+p+/D+nx+n8PZe2b27PnuNbPW7MN/UZ199FYH6ROwOkifgNVB - +gSsDtJ72Nu3b7V/1cxQryZ1FUioVFrxggqeFVqkyldVBhd6w98fPisyWr56FXHdQlFfqNhQj4ofKyos - gZ4IFUHPn9JjoWf0pBQqpqfQixJ6xiouey5UUl5Kz1m419KKMnrBKntZTuUvK6i8soIqKl/Sy6pKvj+o - iqpevaJXr1/R6zevWW/4HiHNID98+JBycnMoNzfXYuWw8vLy6PXr1xaDUiC94Q5EXD5LvZ2sqbvjeLPq - s24i+SWG6lwEf1/Nu0ljtsw1Uudn6mFCPVm91k4Q6s3qw9fvy+33XTeJ+jlPogHrJ9NAlyn0w4ZpNMT1 - Vxq6cSaN2DSLRm+eQ+O22tL47fNp4s6FNGXXEpru8RvN9lxFdgccaYG3My077Eorj20mx+PbyeXELnIP - 9aTtEV60O/Iw7Y/1J9+EYPK/EE4nLkXSqb/PUsy183QuI4Uu3b7K95JBGQ/uUM6ju3T/yUPxMBQzbACt - rKqiipcvycfXlwKDAiksPLxGOnr0KIWEhlBZWZlFoHQ8KTM/h7o7/ET/PbNDtbI76MhP3EtRDwJk3Pjn - czoZKW9F/5gFddTKiurxsc/483P+/hnr89md6J+sf83pTP+26SL0pW1X+tquO30zryfVn9+bGi3oS00W - 9afmSwZSq6U/0PfLh1KHlSOpy+pxAnhfhjpow1QBcSw/LNY7FtDU3ctopudKmndwLS3xdaGVfu7kFLiD - 3EI8aPupg+QRdYS84oLI73wYnUyJpDNX4uns9YuUlHWFrubeoFsMKrfwPhU8LWTPfCY8D54GSEd4sEtL - S5UxsFQYq1OnT1FQcDA9e/ZMHDNnOpDg2quObVEGVzOwhsI5DMrdogfKhfGEzfD4XVN31ru66nbqze4o - BFD1ZjIcFiAJ6UH6Ym5XhtTNKKTvBKTBDGmYAqnnWoa0fhJ7nBYSe5n1Tg2kWexd87wAaYMW0k7aGLKX - IXlpIQVqIUUxpASGlPQOUr4aUrFRSLUxjFlcXBx7VChl52Qr42jMdAIHFIq9foGaLOxfLaSv7XpQBE8R - svEb97Ko3e8jTdaTgHQgqQC9g6TxIh1IdvqQBmkhsSet0IU0yFUDCVPhRAlpnxrSZnIKYkihGkh7GZI3 - e9Kx8+EaSFcTKO6GhHTzHSReLwGprKL8g0GC0tLSBKiUlBTlmL4ZQMLi+sufi7WDbRoUhCdSLoCHEk7Q - v3hwLYUEQGpIAATJqe4dpB4CUgN9SMsGU9vfhpHVylHUdY0GUj94kus0GuE+WwtpIU3bs5xmM6T5DGnp - oQ20iiGt00LaISAd1UDitSmEIf0lICVTEtYlhpTJkPKKPjwkaRi7+w8eCFDR0dFiKtQHZQAJhbzOBpod - cAjnRmyaTU84mqrgtcn2gIPR8vKYGlI9NSCWBGQK0rc83TWw7yMgNV00QEBqLSANZ0ijNZCcJjCkX2iw - 63QB6cdtdjTpDwlpNdl7O9GyQ648nW8m56A/aBND2nnam/ZGHyUfhoQAIiQlmiGdo3iGlMyQ0jgQysrP - ZkgPROT57AVD4mn9Q0KCYdzRTiiDCo8IpyoOTNSgdCDBcDKbIxpEedVBar54oLiZW3wjHVeOMSiP7waQ - GIo+JLUnqae7r2y7ayH1ooYMqfFChrR4ALXQQmr3+3DquGo0dXP4kXoxpP6A5DadRrrP0UJaxBHfcpqz - H5DWiWhvNa+5zsF/kHuYp4DkGe1HPvHBFHAxgkJTYygyLZHib17iCC+N0jnCyyrIFmvvI04LEMrL6O7l - B4QEw7i/4pggIiJCeNWLFy8UUEYhIS9Ye3wH/YMjMFOgcPwzHvQ9kUdEOP5vHlRTZSGzkFgaQDKy66pA - +kYHUj9qxpBacmTXZtkQAanTqjEM6Sfqvc6aBrhMpiFuv9IoDs9/2j5PTNu/cjBjs38NLfBxpuWH3WiN - /1ZaH/wnbQ7bR3+c8aF9McfIN/4EHU86RWGXYymKISUwpJQ7aXTtbgbdLsihe4/zOTfTQCoHJM6fPjQk - GMYeCucwPfF8omlIMJxMzEhlTxlkduBxbsqupSI3sQiQFpI+IH1IylSnhVR/fi+e6jSQ4L0CEgcN7VeM - oM6rxoq0oY8W0tCNMziHshH502RA2ruC5vJUvJAh/XZkIzkwJJcTu2lL+H7684wv7Y/x5/X0JAUmnaZw - zhOj0zW5UuqddLp+9xbdfpjLkAqokBNorNdIev9TkGAY+xs3b1JsbGz1kJCR4ymsDlJ97VNuESSGoUBi - L1UD0p/qTAcNMvyWkd1YTgc4wXaeSAM3TKFhDAkJ9c877EWCO4Mh2XJOt8hnPf1+ZBM5BmyjDSf30NaI - A7Trr0N0IDaADp8LoaDkMxytxlFM+gVKvJVKl7OvccSaSXce5olkFrsaJWWlYkcCqcp/ChLsJiCdrQYS - DAWO8jT2xdxuJgEgH8I5cV5JWA2nyHqsL3jQv2TP+HJud/qK24TgKcJbbHlKQ5jNwCFAEdPbgn7UlNMB - eE8L9p5Wy4eIYAFwlGlOGzAgqhu+aaZIYiWgmQCk8iI51bnzVLeTpzpPbdCgH35fzPybrnCOlPHgNuUU - 3qP8p4/ElhO2kz46SJiLB7pMNeslxqRfHnkLBiI0NdpAYUIxvB7EUDh/huOTFcHrA/IwbNecvhLHiudB - jKe/0hJ4cT9HUemJYhsn9vpFOssDG3czmRIyLgkvuMCDnHT7Cl3idSWVPeLvnBsiUrvG09eN+1liuyeL - 1xp4SQ7nQHlF+cJbEGZjWgMQhNslPL1hfw9THHZXqniaQ8qBPbzKykqxvfN/DgkdcjvpITyhpqCk/snr - jAfnIjL+//+ijwISDIXwNLbmSKqmkLAG4bO7w3gRosubQ5h59+5dyvuklUclJSXk5+f3cUDC9v1cDmFr - Cwl5CUJ62d7jx48pKiqKQsPC6GRICAUGBtLx48eNCjvMKGepkF8EBXNiGhBAAccDKPjECT4ealDOtCwr - i4QzOzub0tPThUeZM/lwYibRn01MWY0gwVAwiMNT5CyWgpKAmi0aKHaU1R3C38ioE+ITyH3jJppna0ez - Zsw0Kk+PvWKBRh1Two2jTGpKKu3d40FLFi2mGdOmc/0ZtHrlSjp65CjduXNH2b4ypXv37lHAMX/y9ztW - vY4doxyGJAdd32SbuM9bGRkUcvIk7dm1m7Zt2Ur7PfdRVGQk5efna+oaqV8rSHgJN3zjTIsgCUBaSFN3 - LxURkbwYPvHk7f5zF3Wx6kgNvv6G6n/1tfjUF47b2tgIAMYMbUEYrPXOztStcxdq+M23op5aTRo0pJHD - hpOPlzeVl5crfVEbjkVwAtmiWXNqzOVRx5yaN24igJpqC7rGXubk6Ei9e/Skpo0ai75Bjb6tL64zbvQY - 8j7oRc+fPzdop8aQYHhitoYfEDnOu3dDhhK5EMR/I3THpqu6A/g78q9IsmrXXhlEY4CkbG3mGoWEdqDr - 167RnJmzRFlT7cnjLXlgNm9yNwoK3yPCwqkZD6Z+fWNqXL+B8Chj7WCs4DljRo4SZU3dI44DtsOq1eIN - r7qtWkFCYeQN7bWvIqQM4GiFYwPWTxEbk+qLI2hY6+BI9Y102JhMeRLaLCwsJHu7eUpZ0dZXhu2prwFQ - 8CgMpNrQ3oeCdOb0aerbq7fOtc0J3oUxUe/V1RoSkrgF3uuqBSR3FFyCd4mAQX0j6Mi0KVMMBq9H1240 - avgIGj1ipI62uLsbhYRB3rfXU0xNsi18Qp15Gh0xdBgN7NdfDLo8LsuMHD5cLPrqfuFvDG7Xjp2o/fdt - hTAtyT5KyXOd2neg4MAggzbu379Pv1hPVK6nVpuWrciqbTulT/I4HtgWTZuRH4fzsr1aQYKhAhJPvHwz - BwhTXeulQ8RLM/VNwDD/Wo//WaeTbVu3oUCO5IoKi+hxESeSKhUXFxu0ge+PHj2i8eN+FO1Ioa2F9vaU - lJQkIkgEAvt4kbZq1045j094gY83e5OqXbRZyn1Lu3qVlUZJFy8q7ct6gwcOorizZ8V5lNN/7Y2/fX18 - RPvy3iBMaatXrqL4uDjxgs+PA5mfxo5T2pbtT544iZ48eSLaeS9IRSVPxbaLASABR6PPeM2y2bdabOmr - bwKGgdCHBHefPnUaOa5xICd2e6l1a514sJIM2sB3HG/bqrXOIGIhzsrKEuelEF1tcnMTC3czHqyWzZuL - erhWRUWFtkWNyTow/EBk2uR3Ho9PeOcThg9Tl5VWUV5BdnNtlfuS9+bs5CRyKVkHwkMwZNAPOuOAh1Xe - b60hwTDNYFPy8zmdTQLCPtzxi6eUC6jNGCT8rf4uJZ54Xj/028F3LMxNGzZS6mEw3FxdDX4mhb/v37tP - wUFBInqDJ6RcukSZmZkG65LaqoNkzAofFdKwwUN07qVbp87C6/T7hGtvctso+i3LImo8zvkdzr8XJNHA - g9vUZc04jTdJOFIMaQSH6tgDU3dMmlFIkOq7FNYEU5CwaAOirNeI/0b+YawspkzM9z5eXnTk8GEK8Pen - 2JgY4WWmrKaQcB1MrwgY1PcAaEVFRcbvgXOtJg0bKmVxvwcPHBDnMnlGSE5OVurVGFJlVaXYUcbaIwGp - Xzls41Dd1FOqDwmfgITFvicHD2ohvwjw1zxZasP3sJBQHU+CnJ3WGfWkxHOJ1EEbCAAsZDN7tghiTFlt - IBVwcjqof3+dPvXr3ZvycnMN+gTt9fBQghPUwd+HDx0S5zB+CJhkvRpBgqEi3l42WdBPeI4EBFmtGCV+ - vCEb1zf9wAGfmJsvnL8gIi4kplL4jv0x/bbwHb+sad/me4N2cBw3iDIQBnutg4NSRpZ337hRADVltZnu - cG9Y/JU6LKyDIkjR9gmGTwQ+v06brtM+IryoyCil72qrFST8IAO/xFF7EbTYx0Vs6etfRBoWUHWIis/O - HaxEqO3N0xFuSBFPdZiW9AcTbWOwJllb67QD4RgixWuc5J5PPC+8CzevLtemRUvRrqk+wmoDCSC2bt4s - yksB1IC+/cRa8/TpU9FuFq+HCIykF8n2B/UfQLk5OdrWdK3GkGBv374RbzS/tOkq4GCaa2zfV/kdnimD - Cy+0X6DcvOwgFlB0Wl/Y1zOVzB7y8RXhrXogoe+aNBV5DKI4eVx93naODZUUG3qo2moDCe1dTr1MfXr2 - UupJtW7Rgn4cM5am/jJZ5G/qgEEKUSiSfWP9qiWkt3S7IFf8dlt60fht88WP5c3dPM75evuISEa/k8Zk - blsIAcGK5b+JcupBwd9qqY/14XUuJjrabB9htYEEe8Nev3vXLoOdC3U76uPiGAszwG1t+mDMag1J/KIo - YLvwIngUfmSonnuNGc4VFBTQfLt54mky1mm1TEGCoS38d8KyJUsEdLRltD3t8V7de4hEsro+wmoLCe1i - Snd12SC2oIz2RyvAwSfyOyS65vpUK0gwNIofEeKXOz3Zo+SLPXOG8xD+BQSvKXDj2CrBlsn3esKxZUuW - moQEQ1vYXfDYvUe01ZynOjV8TJkIMDDFRUdFWQQIVvaijOZxYqruy8QJE8S1qjO0D8jYfRg+ZKjogxqO - VKvm39HC+fYib5PjYsreCxJeQ+BH+qv9t4r3/5aY7BDm34L8AkpPS6dLnBMkJyUZCO9izHUehvMILvC2 - 9/SpU+I1yIb1LiKCw9SK7N5YlGjOAPP69euqviTT1StXzEaEasO10AaChAP799N8XlvhMXhlMmmCtYg4 - 0VdL+/VekNAR/EjkfOblGg0CDOUtkSWmLo8+YTAh9fGamLqeviw1dR1sQWGvD3tzCNVlgGBpe7WGBMNF - sDbhv9/4m+ZgnX1wey9Idfa/Y3WQPgGrg/QJWB2kj96I/gcOkiuMy/nVgwAAAABJRU5ErkJggg== -</value> - </data> - <metadata name="ConMenFilelist.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>219, 14</value> - </metadata> - <metadata name="BackgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>357, 12</value> - </metadata> - <metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>524, 13</value> - </metadata> - <metadata name="CmDEV.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>126, 9</value> - </metadata> - <metadata name="TmProgSec.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>619, 13</value> - </metadata> - <metadata name="CmOpenFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>732, 12</value> - </metadata> - <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <value>49</value> - </metadata> - <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP39 - /QDg6NsB/v7+AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD+/v4A1uDQAIildvn19/MB////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP7+/gCdtI51RHEm/sbUvQL+/v4A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A7PDpAGOJS/44aBn/jal82f39/AH///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP7+/gC3ya0BPGse/jdnGP9Vfjv/4OfcAf///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A+vv6AH+ea/42Zhf/N2cY/zhnGf+nvJo0/v7+AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP/+/gDU3s0BSHQs/jZmF/82Zhf/NmYX/22Q - V//y9fAB////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/v7+AJqyioo1Zhb/NmYW/zZm - F/82Zhf/P20h/8DPtwL+/v4A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wDr7+cAX4ZF/jVm - Ff82ZhX/NmYW/zZmFv82Zhf/h6N0//z9/AH+/v4A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/v7+ALTG - qAE6ahn+NmcV/zZnFf82ZhX/NmYV/zVlF/9PeTP/2+TWAf7+/gD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD4+vgAeppl/jVmFP82ZxX/NmcV/zZnFf82ZhX/NmYV/zZmFv+huJNb/v7+AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A/v7+AM/byAFGcyj+NWYU/zVmFP82ZxX/NmcV/zZnFf82ZxX/NWYV/2eMT//v8+0B////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD+/v4Alq+FpTRlE/81ZhT/NWYU/zVmFP82ZxX/NmcV/zZnFf82ZxX/PWwd/7zM - sQL+/v4A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AOju5QBbg0H+NWUU/zVmFP81ZhT/NWYU/zVmFP82ZxX/NmcV/zZn - Ff81ZhT/gqBu//v8+gH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD+/v4AscOlAThoGP41ZhT/NWYU/zVmFP81ZhT/NWYU/zVm - FP82ZxX/NmcV/zVmFP9Ldy7/1+DQAf7+/gD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////APj59wB2l2H+NGUT/zVmFP81ZhT/NWYU/zVm - FP81ZhT/NWYU/zVmFP82ZxX/NmcV/zVmFf+ctI18/v7+AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD+/v4AzdnFAURxJf41ZhT/NWYU/zVm - FP81ZhT/NWYU/zVmFP81ZhT/NWYU/zVmFP82ZxX/NWYU/2KISf/s8ekB////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP7+/gCUroOxNGUT/zVm - FP81ZhT/NWYU/zVmFP81ZhT/NWYU/zVmFP81ZhT/NWYU/zVmFP82ZxX/O2ob/7fIqwL+/v4A/v7+AP39 - /QD9/v0A/f79AP3+/QD9/v0A/f79AP3+/QD9/v0A/f79AP///wD///8A////AP///wD///8A5uziAFmB - Pv40ZRP/NWYU/zVmFP81ZhT/NWYU/zVmFP81ZhT/NWYU/zVmFP81ZhT/NWYU/zZnFf81ZhT/eppl/9Te - zQLZ4tMB2eLTAdni0wHZ4tMB2eLTAdni1AHZ4tQB2eLUAdrj1AHa49UB////AP///wD///8A////AP7+ - /gCvwqIGN2cW/jVmFP81ZhT/NWYU/zVmFP81ZhT/NGYT/zVmFP81ZhT/NWYU/zVmFP81ZhT/NWYU/zZn - Ff81ZhT/RHIm/0RxJv9EcSf/RXEo/0VyKP9Fcin/RnMq/0d0K/9IdCv/SXUs/0t3Lv////8A////AP// - /wD//v8A9vj1AHSWXv40ZRP/NWYU/zVmFP81ZhT/NWYU/zVmFP82ZhX/U3w3/jRlE/81ZhT/NWYU/zVm - FP81ZhT/NWYU/zZnFf82ZxX/NmYV/zZmFv82Zhf/NmYX/zdnGP83Zxj/OWgZ/zppGv86ahv/PGwd//// - /wD///8A////AP7//gDK1sIBQnAk/jRlE/81ZhT/NWYU/zVmFP81ZhT/NWYU/0dzKf+gt5FlP24g/jVm - FP81ZhT/NWYU/zVmFP81ZhT/NmcV/zZnFf82ZxX/NmYW/zZmF/82Zhf/N2cY/zdnGP84aBn/Omka/zpq - G/87axz/////AP///wD///8A/f79AI+qfsw0ZRP/NWYU/zVmFP81ZhT/NWYU/zVmFP81ZRT/aY1R/+Lp - 3gFfhkX+NGUT/zVmFP81ZhT/NWYU/zVmFP81ZhT/NmcV/zZnFf82ZhX/NmYW/zZmF/83Zxf/N2cY/zho - Gf85aRr/Omob/ztrHP////8A////AP///gDj6t8AVn88/jRlFP81ZhT/NWYU/zVmFP81ZhT/NWYU/zRl - E/+Wr4Wl/f39AZCqfss0ZRP/NWYU/zVmFP81ZhT/NWYU/zVmFP82ZxX/NmcV/zZmFf82Zhb/NmYX/zZm - F/83Zxj/N2cY/zlpGv86ahv/O2sc/////wD///8A/v7+AKzAnxc3Zxb+NWYU/zVmFP81ZhT/NWYU/zVm - FP81ZhT/PWwd/8PSugH+/v4AwtC4AD1sHf41ZhT/NWYU/zVmFP81ZhT/NWYU/zZnFf82ZxX/NmYV/zZm - Fv82Zhf/NmYX/zdnGP83Zxj/OWka/zpqG/86ahv/////AP///wD1+PQAcpRc/jRlE/81ZhT/NWYU/zVm - FP81ZhT/NWYU/zVmFP9XgDz/6e7mAf///wDp7uYAWYE+/jVmFP81ZhT/NWYU/zVmFP81ZhT/NmcV/zZn - Ff82ZhT/NmYV/zZmF/82Zhf/N2cX/zdnGP85aRr/Omob/zpqG/////8A/v7+AMjVvwFBbyL+NGUU/zVm - FP81ZhT/NWYU/zVmFP81ZhT/NGUT/4Ggbf78/PwB////AP39/QCJpXb4NGUT/zVmFP81ZhT/NGUT/zVm - FP82ZxX/NmcV/zZmFf82ZhX/NmYX/zZmF/83Zxf/N2cY/zhoGf86aRr/Omob/////wD9/v0Aj6p90TZn - Ff42ZxX+NmcV/jZnFf42ZxX+NmcV/jZnFf44aBj+r8KiBv7+/gD///8A/v7+ALrKrwA7ahv9NmcV/jZn - Ff42ZxX+N2cW/jdoFv43aBb+N2gW/jdnF/43Zxj+OGcZ/jhoGf45aBr+Omob/jtrHP48ax3+////APr7 - +gDB0LcAscSkALHEpACxxKQAscSkALHEpACxxKQAscSkALTGqADu8uwA///+AP///wD///8A8/bxALbH - qgCxxKQAscSkALHEpACxxKQAscSlALHEpQCxxKUAscSlALHEpQCxxKUAscSmALLEpgCyxaYAs8WnALPF - pwD5+vgA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8A////AP///wD4+vcA+Pr3APj69wD9/fwA////APj69wD4+vcA+Pr3APj69wD4+vcA+fr4APn6 - +AD5+vgA+fr4APn7+QD6+/kA+/v6APv7+wD7/PsA/Pz8AP39/AD9/v0A/v/+APr6+gD6+voA+vr6APr6 - +gD6+voA////AP///wD///8A////////////+/////v////x////8f///+H////g////wP///8B////A - f///gH///4A///8AP///AB///wAf//4AH//+AA///AAP//wAB//8AAAA+AAAAPgEAADwBAAA8AQAAPAO - AADgDgAA4A4AAMAfAAD///////////////8= -</value> - </data> +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <metadata name="StatusBAR.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>15, 12</value> + </metadata> + <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>850, 12</value> + </metadata> + <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <data name="PictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + iVBORw0KGgoAAAANSUhEUgAAAGkAAAAsCAYAAABmF5blAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAALuIAAC8GAUsgSLcAAAAGYktHRAD/AP8A/6C9p5MAAAAHdElNRQfcChILJTNC/q9R + AAARd0lEQVR4Xu2bh19Vx7bH3//wrsm9N9WuscWCvdfYa2JEY4sNQbGb2EBEBMWeqIiFYkEQUJoamoCo + IBgFC4JSLKBgAREQLOut35wz230qB/S+p+/D+nx+n8PZe2b27PnuNbPW7MN/UZ199FYH6ROwOkifgNVB + +gSsDtJ72Nu3b7V/1cxQryZ1FUioVFrxggqeFVqkyldVBhd6w98fPisyWr56FXHdQlFfqNhQj4ofKyos + gZ4IFUHPn9JjoWf0pBQqpqfQixJ6xiouey5UUl5Kz1m419KKMnrBKntZTuUvK6i8soIqKl/Sy6pKvj+o + iqpevaJXr1/R6zevWW/4HiHNID98+JBycnMoNzfXYuWw8vLy6PXr1xaDUiC94Q5EXD5LvZ2sqbvjeLPq + s24i+SWG6lwEf1/Nu0ljtsw1Uudn6mFCPVm91k4Q6s3qw9fvy+33XTeJ+jlPogHrJ9NAlyn0w4ZpNMT1 + Vxq6cSaN2DSLRm+eQ+O22tL47fNp4s6FNGXXEpru8RvN9lxFdgccaYG3My077Eorj20mx+PbyeXELnIP + 9aTtEV60O/Iw7Y/1J9+EYPK/EE4nLkXSqb/PUsy183QuI4Uu3b7K95JBGQ/uUM6ju3T/yUPxMBQzbACt + rKqiipcvycfXlwKDAiksPLxGOnr0KIWEhlBZWZlFoHQ8KTM/h7o7/ET/PbNDtbI76MhP3EtRDwJk3Pjn + czoZKW9F/5gFddTKiurxsc/483P+/hnr89md6J+sf83pTP+26SL0pW1X+tquO30zryfVn9+bGi3oS00W + 9afmSwZSq6U/0PfLh1KHlSOpy+pxAnhfhjpow1QBcSw/LNY7FtDU3ctopudKmndwLS3xdaGVfu7kFLiD + 3EI8aPupg+QRdYS84oLI73wYnUyJpDNX4uns9YuUlHWFrubeoFsMKrfwPhU8LWTPfCY8D54GSEd4sEtL + S5UxsFQYq1OnT1FQcDA9e/ZMHDNnOpDg2quObVEGVzOwhsI5DMrdogfKhfGEzfD4XVN31ru66nbqze4o + BFD1ZjIcFiAJ6UH6Ym5XhtTNKKTvBKTBDGmYAqnnWoa0fhJ7nBYSe5n1Tg2kWexd87wAaYMW0k7aGLKX + IXlpIQVqIUUxpASGlPQOUr4aUrFRSLUxjFlcXBx7VChl52Qr42jMdAIHFIq9foGaLOxfLaSv7XpQBE8R + svEb97Ko3e8jTdaTgHQgqQC9g6TxIh1IdvqQBmkhsSet0IU0yFUDCVPhRAlpnxrSZnIKYkihGkh7GZI3 + e9Kx8+EaSFcTKO6GhHTzHSReLwGprKL8g0GC0tLSBKiUlBTlmL4ZQMLi+sufi7WDbRoUhCdSLoCHEk7Q + v3hwLYUEQGpIAATJqe4dpB4CUgN9SMsGU9vfhpHVylHUdY0GUj94kus0GuE+WwtpIU3bs5xmM6T5DGnp + oQ20iiGt00LaISAd1UDitSmEIf0lICVTEtYlhpTJkPKKPjwkaRi7+w8eCFDR0dFiKtQHZQAJhbzOBpod + cAjnRmyaTU84mqrgtcn2gIPR8vKYGlI9NSCWBGQK0rc83TWw7yMgNV00QEBqLSANZ0ijNZCcJjCkX2iw + 63QB6cdtdjTpDwlpNdl7O9GyQ648nW8m56A/aBND2nnam/ZGHyUfhoQAIiQlmiGdo3iGlMyQ0jgQysrP + ZkgPROT57AVD4mn9Q0KCYdzRTiiDCo8IpyoOTNSgdCDBcDKbIxpEedVBar54oLiZW3wjHVeOMSiP7waQ + GIo+JLUnqae7r2y7ayH1ooYMqfFChrR4ALXQQmr3+3DquGo0dXP4kXoxpP6A5DadRrrP0UJaxBHfcpqz + H5DWiWhvNa+5zsF/kHuYp4DkGe1HPvHBFHAxgkJTYygyLZHib17iCC+N0jnCyyrIFmvvI04LEMrL6O7l + B4QEw7i/4pggIiJCeNWLFy8UUEYhIS9Ye3wH/YMjMFOgcPwzHvQ9kUdEOP5vHlRTZSGzkFgaQDKy66pA + +kYHUj9qxpBacmTXZtkQAanTqjEM6Sfqvc6aBrhMpiFuv9IoDs9/2j5PTNu/cjBjs38NLfBxpuWH3WiN + /1ZaH/wnbQ7bR3+c8aF9McfIN/4EHU86RWGXYymKISUwpJQ7aXTtbgbdLsihe4/zOTfTQCoHJM6fPjQk + GMYeCucwPfF8omlIMJxMzEhlTxlkduBxbsqupSI3sQiQFpI+IH1IylSnhVR/fi+e6jSQ4L0CEgcN7VeM + oM6rxoq0oY8W0tCNMziHshH502RA2ruC5vJUvJAh/XZkIzkwJJcTu2lL+H7684wv7Y/x5/X0JAUmnaZw + zhOj0zW5UuqddLp+9xbdfpjLkAqokBNorNdIev9TkGAY+xs3b1JsbGz1kJCR4ymsDlJ97VNuESSGoUBi + L1UD0p/qTAcNMvyWkd1YTgc4wXaeSAM3TKFhDAkJ9c877EWCO4Mh2XJOt8hnPf1+ZBM5BmyjDSf30NaI + A7Trr0N0IDaADp8LoaDkMxytxlFM+gVKvJVKl7OvccSaSXce5olkFrsaJWWlYkcCqcp/ChLsJiCdrQYS + DAWO8jT2xdxuJgEgH8I5cV5JWA2nyHqsL3jQv2TP+HJud/qK24TgKcJbbHlKQ5jNwCFAEdPbgn7UlNMB + eE8L9p5Wy4eIYAFwlGlOGzAgqhu+aaZIYiWgmQCk8iI51bnzVLeTpzpPbdCgH35fzPybrnCOlPHgNuUU + 3qP8p4/ElhO2kz46SJiLB7pMNeslxqRfHnkLBiI0NdpAYUIxvB7EUDh/huOTFcHrA/IwbNecvhLHiudB + jKe/0hJ4cT9HUemJYhsn9vpFOssDG3czmRIyLgkvuMCDnHT7Cl3idSWVPeLvnBsiUrvG09eN+1liuyeL + 1xp4SQ7nQHlF+cJbEGZjWgMQhNslPL1hfw9THHZXqniaQ8qBPbzKykqxvfN/DgkdcjvpITyhpqCk/snr + jAfnIjL+//+ijwISDIXwNLbmSKqmkLAG4bO7w3gRosubQ5h59+5dyvuklUclJSXk5+f3cUDC9v1cDmFr + Cwl5CUJ62d7jx48pKiqKQsPC6GRICAUGBtLx48eNCjvMKGepkF8EBXNiGhBAAccDKPjECT4ealDOtCwr + i4QzOzub0tPThUeZM/lwYibRn01MWY0gwVAwiMNT5CyWgpKAmi0aKHaU1R3C38ioE+ITyH3jJppna0ez + Zsw0Kk+PvWKBRh1Two2jTGpKKu3d40FLFi2mGdOmc/0ZtHrlSjp65CjduXNH2b4ypXv37lHAMX/y9ztW + vY4doxyGJAdd32SbuM9bGRkUcvIk7dm1m7Zt2Ur7PfdRVGQk5efna+oaqV8rSHgJN3zjTIsgCUBaSFN3 + LxURkbwYPvHk7f5zF3Wx6kgNvv6G6n/1tfjUF47b2tgIAMYMbUEYrPXOztStcxdq+M23op5aTRo0pJHD + hpOPlzeVl5crfVEbjkVwAtmiWXNqzOVRx5yaN24igJpqC7rGXubk6Ei9e/Skpo0ai75Bjb6tL64zbvQY + 8j7oRc+fPzdop8aQYHhitoYfEDnOu3dDhhK5EMR/I3THpqu6A/g78q9IsmrXXhlEY4CkbG3mGoWEdqDr + 167RnJmzRFlT7cnjLXlgNm9yNwoK3yPCwqkZD6Z+fWNqXL+B8Chj7WCs4DljRo4SZU3dI44DtsOq1eIN + r7qtWkFCYeQN7bWvIqQM4GiFYwPWTxEbk+qLI2hY6+BI9Y102JhMeRLaLCwsJHu7eUpZ0dZXhu2prwFQ + 8CgMpNrQ3oeCdOb0aerbq7fOtc0J3oUxUe/V1RoSkrgF3uuqBSR3FFyCd4mAQX0j6Mi0KVMMBq9H1240 + avgIGj1ipI62uLsbhYRB3rfXU0xNsi18Qp15Gh0xdBgN7NdfDLo8LsuMHD5cLPrqfuFvDG7Xjp2o/fdt + hTAtyT5KyXOd2neg4MAggzbu379Pv1hPVK6nVpuWrciqbTulT/I4HtgWTZuRH4fzsr1aQYKhAhJPvHwz + BwhTXeulQ8RLM/VNwDD/Wo//WaeTbVu3oUCO5IoKi+hxESeSKhUXFxu0ge+PHj2i8eN+FO1Ioa2F9vaU + lJQkIkgEAvt4kbZq1045j094gY83e5OqXbRZyn1Lu3qVlUZJFy8q7ct6gwcOorizZ8V5lNN/7Y2/fX18 + RPvy3iBMaatXrqL4uDjxgs+PA5mfxo5T2pbtT544iZ48eSLaeS9IRSVPxbaLASABR6PPeM2y2bdabOmr + bwKGgdCHBHefPnUaOa5xICd2e6l1a514sJIM2sB3HG/bqrXOIGIhzsrKEuelEF1tcnMTC3czHqyWzZuL + erhWRUWFtkWNyTow/EBk2uR3Ho9PeOcThg9Tl5VWUV5BdnNtlfuS9+bs5CRyKVkHwkMwZNAPOuOAh1Xe + b60hwTDNYFPy8zmdTQLCPtzxi6eUC6jNGCT8rf4uJZ54Xj/028F3LMxNGzZS6mEw3FxdDX4mhb/v37tP + wUFBInqDJ6RcukSZmZkG65LaqoNkzAofFdKwwUN07qVbp87C6/T7hGtvctso+i3LImo8zvkdzr8XJNHA + g9vUZc04jTdJOFIMaQSH6tgDU3dMmlFIkOq7FNYEU5CwaAOirNeI/0b+YawspkzM9z5eXnTk8GEK8Pen + 2JgY4WWmrKaQcB1MrwgY1PcAaEVFRcbvgXOtJg0bKmVxvwcPHBDnMnlGSE5OVurVGFJlVaXYUcbaIwGp + Xzls41Dd1FOqDwmfgITFvicHD2ohvwjw1zxZasP3sJBQHU+CnJ3WGfWkxHOJ1EEbCAAsZDN7tghiTFlt + IBVwcjqof3+dPvXr3ZvycnMN+gTt9fBQghPUwd+HDx0S5zB+CJhkvRpBgqEi3l42WdBPeI4EBFmtGCV+ + vCEb1zf9wAGfmJsvnL8gIi4kplL4jv0x/bbwHb+sad/me4N2cBw3iDIQBnutg4NSRpZ337hRADVltZnu + cG9Y/JU6LKyDIkjR9gmGTwQ+v06brtM+IryoyCil72qrFST8IAO/xFF7EbTYx0Vs6etfRBoWUHWIis/O + HaxEqO3N0xFuSBFPdZiW9AcTbWOwJllb67QD4RgixWuc5J5PPC+8CzevLtemRUvRrqk+wmoDCSC2bt4s + yksB1IC+/cRa8/TpU9FuFq+HCIykF8n2B/UfQLk5OdrWdK3GkGBv374RbzS/tOkq4GCaa2zfV/kdnimD + Cy+0X6DcvOwgFlB0Wl/Y1zOVzB7y8RXhrXogoe+aNBV5DKI4eVx93naODZUUG3qo2moDCe1dTr1MfXr2 + UupJtW7Rgn4cM5am/jJZ5G/qgEEKUSiSfWP9qiWkt3S7IFf8dlt60fht88WP5c3dPM75evuISEa/k8Zk + blsIAcGK5b+JcupBwd9qqY/14XUuJjrabB9htYEEe8Nev3vXLoOdC3U76uPiGAszwG1t+mDMag1J/KIo + YLvwIngUfmSonnuNGc4VFBTQfLt54mky1mm1TEGCoS38d8KyJUsEdLRltD3t8V7de4hEsro+wmoLCe1i + Snd12SC2oIz2RyvAwSfyOyS65vpUK0gwNIofEeKXOz3Zo+SLPXOG8xD+BQSvKXDj2CrBlsn3esKxZUuW + moQEQ1vYXfDYvUe01ZynOjV8TJkIMDDFRUdFWQQIVvaijOZxYqruy8QJE8S1qjO0D8jYfRg+ZKjogxqO + VKvm39HC+fYib5PjYsreCxJeQ+BH+qv9t4r3/5aY7BDm34L8AkpPS6dLnBMkJyUZCO9izHUehvMILvC2 + 9/SpU+I1yIb1LiKCw9SK7N5YlGjOAPP69euqviTT1StXzEaEasO10AaChAP799N8XlvhMXhlMmmCtYg4 + 0VdL+/VekNAR/EjkfOblGg0CDOUtkSWmLo8+YTAh9fGamLqeviw1dR1sQWGvD3tzCNVlgGBpe7WGBMNF + sDbhv9/4m+ZgnX1wey9Idfa/Y3WQPgGrg/QJWB2kj96I/gcOkiuMy/nVgwAAAABJRU5ErkJggg== +</value> + </data> + <metadata name="ConMenFilelist.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>219, 14</value> + </metadata> + <metadata name="BackgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>357, 12</value> + </metadata> + <metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>524, 13</value> + </metadata> + <metadata name="CmDEV.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>126, 9</value> + </metadata> + <metadata name="TmProgSec.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>619, 13</value> + </metadata> + <metadata name="CmOpenFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>732, 12</value> + </metadata> + <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>49</value> + </metadata> + <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP39 + /QDg6NsB/v7+AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD+/v4A1uDQAIildvn19/MB////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP7+/gCdtI51RHEm/sbUvQL+/v4A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A7PDpAGOJS/44aBn/jal82f39/AH///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP7+/gC3ya0BPGse/jdnGP9Vfjv/4OfcAf///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A+vv6AH+ea/42Zhf/N2cY/zhnGf+nvJo0/v7+AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP/+/gDU3s0BSHQs/jZmF/82Zhf/NmYX/22Q + V//y9fAB////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/v7+AJqyioo1Zhb/NmYW/zZm + F/82Zhf/P20h/8DPtwL+/v4A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wDr7+cAX4ZF/jVm + Ff82ZhX/NmYW/zZmFv82Zhf/h6N0//z9/AH+/v4A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A/v7+ALTG + qAE6ahn+NmcV/zZnFf82ZhX/NmYV/zVlF/9PeTP/2+TWAf7+/gD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD4+vgAeppl/jVmFP82ZxX/NmcV/zZnFf82ZhX/NmYV/zZmFv+huJNb/v7+AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A/v7+AM/byAFGcyj+NWYU/zVmFP82ZxX/NmcV/zZnFf82ZxX/NWYV/2eMT//v8+0B////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD+/v4Alq+FpTRlE/81ZhT/NWYU/zVmFP82ZxX/NmcV/zZnFf82ZxX/PWwd/7zM + sQL+/v4A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AOju5QBbg0H+NWUU/zVmFP81ZhT/NWYU/zVmFP82ZxX/NmcV/zZn + Ff81ZhT/gqBu//v8+gH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD+/v4AscOlAThoGP41ZhT/NWYU/zVmFP81ZhT/NWYU/zVm + FP82ZxX/NmcV/zVmFP9Ldy7/1+DQAf7+/gD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////APj59wB2l2H+NGUT/zVmFP81ZhT/NWYU/zVm + FP81ZhT/NWYU/zVmFP82ZxX/NmcV/zVmFf+ctI18/v7+AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD+/v4AzdnFAURxJf41ZhT/NWYU/zVm + FP81ZhT/NWYU/zVmFP81ZhT/NWYU/zVmFP82ZxX/NWYU/2KISf/s8ekB////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP7+/gCUroOxNGUT/zVm + FP81ZhT/NWYU/zVmFP81ZhT/NWYU/zVmFP81ZhT/NWYU/zVmFP82ZxX/O2ob/7fIqwL+/v4A/v7+AP39 + /QD9/v0A/f79AP3+/QD9/v0A/f79AP3+/QD9/v0A/f79AP///wD///8A////AP///wD///8A5uziAFmB + Pv40ZRP/NWYU/zVmFP81ZhT/NWYU/zVmFP81ZhT/NWYU/zVmFP81ZhT/NWYU/zZnFf81ZhT/eppl/9Te + zQLZ4tMB2eLTAdni0wHZ4tMB2eLTAdni1AHZ4tQB2eLUAdrj1AHa49UB////AP///wD///8A////AP7+ + /gCvwqIGN2cW/jVmFP81ZhT/NWYU/zVmFP81ZhT/NGYT/zVmFP81ZhT/NWYU/zVmFP81ZhT/NWYU/zZn + Ff81ZhT/RHIm/0RxJv9EcSf/RXEo/0VyKP9Fcin/RnMq/0d0K/9IdCv/SXUs/0t3Lv////8A////AP// + /wD//v8A9vj1AHSWXv40ZRP/NWYU/zVmFP81ZhT/NWYU/zVmFP82ZhX/U3w3/jRlE/81ZhT/NWYU/zVm + FP81ZhT/NWYU/zZnFf82ZxX/NmYV/zZmFv82Zhf/NmYX/zdnGP83Zxj/OWgZ/zppGv86ahv/PGwd//// + /wD///8A////AP7//gDK1sIBQnAk/jRlE/81ZhT/NWYU/zVmFP81ZhT/NWYU/0dzKf+gt5FlP24g/jVm + FP81ZhT/NWYU/zVmFP81ZhT/NmcV/zZnFf82ZxX/NmYW/zZmF/82Zhf/N2cY/zdnGP84aBn/Omka/zpq + G/87axz/////AP///wD///8A/f79AI+qfsw0ZRP/NWYU/zVmFP81ZhT/NWYU/zVmFP81ZRT/aY1R/+Lp + 3gFfhkX+NGUT/zVmFP81ZhT/NWYU/zVmFP81ZhT/NmcV/zZnFf82ZhX/NmYW/zZmF/83Zxf/N2cY/zho + Gf85aRr/Omob/ztrHP////8A////AP///gDj6t8AVn88/jRlFP81ZhT/NWYU/zVmFP81ZhT/NWYU/zRl + E/+Wr4Wl/f39AZCqfss0ZRP/NWYU/zVmFP81ZhT/NWYU/zVmFP82ZxX/NmcV/zZmFf82Zhb/NmYX/zZm + F/83Zxj/N2cY/zlpGv86ahv/O2sc/////wD///8A/v7+AKzAnxc3Zxb+NWYU/zVmFP81ZhT/NWYU/zVm + FP81ZhT/PWwd/8PSugH+/v4AwtC4AD1sHf41ZhT/NWYU/zVmFP81ZhT/NWYU/zZnFf82ZxX/NmYV/zZm + Fv82Zhf/NmYX/zdnGP83Zxj/OWka/zpqG/86ahv/////AP///wD1+PQAcpRc/jRlE/81ZhT/NWYU/zVm + FP81ZhT/NWYU/zVmFP9XgDz/6e7mAf///wDp7uYAWYE+/jVmFP81ZhT/NWYU/zVmFP81ZhT/NmcV/zZn + Ff82ZhT/NmYV/zZmF/82Zhf/N2cX/zdnGP85aRr/Omob/zpqG/////8A/v7+AMjVvwFBbyL+NGUU/zVm + FP81ZhT/NWYU/zVmFP81ZhT/NGUT/4Ggbf78/PwB////AP39/QCJpXb4NGUT/zVmFP81ZhT/NGUT/zVm + FP82ZxX/NmcV/zZmFf82ZhX/NmYX/zZmF/83Zxf/N2cY/zhoGf86aRr/Omob/////wD9/v0Aj6p90TZn + Ff42ZxX+NmcV/jZnFf42ZxX+NmcV/jZnFf44aBj+r8KiBv7+/gD///8A/v7+ALrKrwA7ahv9NmcV/jZn + Ff42ZxX+N2cW/jdoFv43aBb+N2gW/jdnF/43Zxj+OGcZ/jhoGf45aBr+Omob/jtrHP48ax3+////APr7 + +gDB0LcAscSkALHEpACxxKQAscSkALHEpACxxKQAscSkALTGqADu8uwA///+AP///wD///8A8/bxALbH + qgCxxKQAscSkALHEpACxxKQAscSlALHEpQCxxKUAscSlALHEpQCxxKUAscSmALLEpgCyxaYAs8WnALPF + pwD5+vgA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD4+vcA+Pr3APj69wD9/fwA////APj69wD4+vcA+Pr3APj69wD4+vcA+fr4APn6 + +AD5+vgA+fr4APn7+QD6+/kA+/v6APv7+wD7/PsA/Pz8AP39/AD9/v0A/v/+APr6+gD6+voA+vr6APr6 + +gD6+voA////AP///wD///8A////////////+/////v////x////8f///+H////g////wP///8B////A + f///gH///4A///8AP///AB///wAf//4AH//+AA///AAP//wAB//8AAAA+AAAAPgEAADwBAAA8AQAAPAO + AADgDgAA4A4AAMAfAAD///////////////8= +</value> + </data> </root> \ No newline at end of file diff --git a/VECTO/GUI/F_MAINForm.vb b/VECTO/GUI/MainForm.vb similarity index 85% rename from VECTO/GUI/F_MAINForm.vb rename to VECTO/GUI/MainForm.vb index 3fe73dfb0fbb11c3b5c4beb9eb817056d762b207..98d4b9d7217ca7f05a189a191924e3be3378fe5d 100644 --- a/VECTO/GUI/F_MAINForm.vb +++ b/VECTO/GUI/MainForm.vb @@ -1,1923 +1,1917 @@ -' -' This file is part of VECTO. -' -' Copyright © 2012-2016 European Union -' -' Developed by Graz University of Technology, -' Institute of Internal Combustion Engines and Thermodynamics, -' Institute of Technical Informatics -' -' VECTO is licensed under the EUPL, Version 1.1 or - as soon they will be approved -' by the European Commission - subsequent versions of the EUPL (the "Licence"); -' You may not use VECTO except in compliance with the Licence. -' You may obtain a copy of the Licence at: -' -' https://joinup.ec.europa.eu/community/eupl/og_page/eupl -' -' Unless required by applicable law or agreed to in writing, VECTO -' distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' See the Licence for the specific language governing permissions and -' limitations under the Licence. -' -' Authors: -' Stefan Hausberger, hausberger@ivt.tugraz.at, IVT, Graz University of Technology -' Christian Kreiner, christian.kreiner@tugraz.at, ITI, Graz University of Technology -' Michael Krisper, michael.krisper@tugraz.at, ITI, Graz University of Technology -' Raphael Luz, luz@ivt.tugraz.at, IVT, Graz University of Technology -' Markus Quaritsch, markus.quaritsch@tugraz.at, IVT, Graz University of Technology -' Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology -' - -Imports System.Collections.Generic -Imports System.ComponentModel -Imports System.IO -Imports System.Linq -Imports System.Reflection -Imports TUGraz.VectoCore.Models.Simulation.Impl -Imports TUGraz.VectoCore.InputData.FileIO.JSON -Imports System.Text -Imports System.Text.RegularExpressions -Imports System.Threading -Imports TUGraz.VectoCommon.InputData -Imports TUGraz.VectoCommon.Models -Imports TUGraz.VectoCommon.Utils -Imports TUGraz.VectoCore.OutputData -Imports TUGraz.VectoCore.OutputData.FileIO -Imports TUGraz.VectoCore.Utils - -''' <summary> -''' Main application form. Loads at application start. Closing form ends application. -''' </summary> -''' <remarks></remarks> - -Public Class F_MAINForm - Private JobListView As cFileListView - Private CycleListView As cFileListView - - Private LastModeName As String - Private ConMenTarget As ListView - Private ConMenTarJob As Boolean - - Private GUIlocked As Boolean - - Private CheckLock As Boolean - Private GENchecked As Integer - Private GENcheckAllLock As Boolean - - Private CbDeclLock As Boolean = False - -#Region "SLEEP Control - Prevent sleep while VECTO is running" - - Private Declare Function SetThreadExecutionState Lib "kernel32" (esFlags As Long) As Long - - Private Sub AllowSleepOFF() -#If Not PLATFORM = "x86" Then - SetThreadExecutionState(tEXECUTION_STATE.ES_CONTINUOUS Or tEXECUTION_STATE.ES_SYSTEM_REQUIRED) -#End If - End Sub - - Private Sub AllowSleepON() -#If Not PLATFORM = "x86" Then - SetThreadExecutionState(tEXECUTION_STATE.ES_CONTINUOUS) -#End If - End Sub - - Private Enum tEXECUTION_STATE As Integer - ''' Informs the system that the state being set should remain in effect until the next call that uses ES_CONTINUOUS and one of the other state flags is cleared. - ES_CONTINUOUS = &H80000000 - ''' Forces the display to be on by resetting the display idle timer. - ES_DISPLAY_REQUIRED = &H2 - ''' Forces the system to be in the working state by resetting the system idle timer. - ES_SYSTEM_REQUIRED = &H1 - End Enum - -#End Region - -#Region "FileBrowser Init/Close" - - Private Sub FB_Initialize() - FB_Init = False - Try - COREvers = Assembly.LoadFrom("VectoCore.dll").GetName().Version.ToString() - Catch ex As Exception - LogFile.WriteToLog(tMsgID.Err, ex.StackTrace) - End Try - - - fbFolder = New cFileBrowser("WorkDir", True) - fbFileLists = New cFileBrowser("FileLists") - fbVECTO = New cFileBrowser("vecto") - fbVEH = New cFileBrowser("vveh") - fbMAP = New cFileBrowser("vmap") - fbDRI = New cFileBrowser("vdri") - fbFLD = New cFileBrowser("vfld") - fbENG = New cFileBrowser("veng") - fbGBX = New cFileBrowser("vgbx") - fbACC = New cFileBrowser("vacc") - fbAUX = New cFileBrowser("vaux") - fbGBS = New cFileBrowser("vgbs") - fbRLM = New cFileBrowser("vrlm") - fbTLM = New cFileBrowser("vtlm") - fbTCC = New cFileBrowser("vtcc") - fbTCCShift = New cFileBrowser("vgbs") - fbCDx = New cFileBrowser("vcdx") - fbDfVelocityDrop = New cFileBrowser("DfVelocityDrop") - fbDfTargetSpeed = New cFileBrowser("DfTargetSpeed") - fbDfVelocityDrop.Extensions = New String() {"csv"} - fbDfTargetSpeed.Extensions = New String() {"csv"} - - fbVMOD = New cFileBrowser("vmod") - - - '------------------------------------------------------- - fbFileLists.Extensions = New String() {"txt"} - fbVECTO.Extensions = New String() {"vecto"} - fbVEH.Extensions = New String() {"vveh"} - fbMAP.Extensions = New String() {"vmap"} - fbDRI.Extensions = New String() {"vdri"} - fbFLD.Extensions = New String() {"vfld"} - fbENG.Extensions = New String() {"veng"} - fbGBX.Extensions = New String() {"vgbx"} - fbACC.Extensions = New String() {"vacc"} - fbAUX.Extensions = New String() {"vaux"} - fbGBS.Extensions = New String() {"vgbs"} - fbRLM.Extensions = New String() {"vrlm"} - fbTLM.Extensions = New String() {"vtlm"} - fbTCC.Extensions = New String() {"vtcc"} - fbTCCShift.Extensions = New String() {"vgbs"} - fbCDx.Extensions = New String() {"vcdv", "vcdb"} - - fbVMOD.Extensions = New String() {"vmod"} - End Sub - - Private Sub FB_Close() - fbFolder.Close() - fbFileLists.Close() - fbVECTO.Close() - fbVEH.Close() - fbMAP.Close() - fbDRI.Close() - fbFLD.Close() - fbENG.Close() - fbGBX.Close() - fbACC.Close() - fbAUX.Close() - fbGBS.Close() - fbRLM.Close() - fbTLM.Close() - fbTCC.Close() - fbTCCShift.Close() - fbCDx.Close() - fbVMOD.Close() - End Sub - -#End Region - - 'Lock certain GUI elements while VECTO is running - Private Sub LockGUI(Lock As Boolean) - GUIlocked = Lock - - PanelOptAllg.Enabled = Not Lock - - BtGENup.Enabled = Not Lock - BtGENdown.Enabled = Not Lock - ButtonGENadd.Enabled = Not Lock - ButtonGENremove.Enabled = Not Lock - LvGEN.LabelEdit = Not Lock - ChBoxAllGEN.Enabled = Not Lock - - btStartV3.Enabled = Not Lock - - End Sub - - - - -#Region "Form Init/Close" - - 'Initialise - Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load - Dim x As Integer - - GUIlocked = False - CheckLock = False - GENcheckAllLock = False - GENchecked = 0 - - - 'Load Tabs properly (otherwise problem with ListViews) - For x = 0 To TabControl1.TabCount - 1 - TabControl1.TabPages(x).Show() - Next - - LastModeName = "" - - FB_Initialize() - - Text = "VECTO " & VECTOvers & " / VectoCore " & COREvers - - - 'FileLists - JobListView = New cFileListView(MyConfPath & "joblist.txt") - JobListView.LVbox = LvGEN - CycleListView = New cFileListView(MyConfPath & "cyclelist.txt") - - JobListView.LoadList() - - LoadOptions() - - 'Resize columns ... after Loading the @file-lists - LvGEN.Columns(1).Width = -2 - LvMsg.Columns(2).Width = -2 - - 'Initialize BackgroundWorker - - VECTOworkerV3 = New BackgroundWorker() - AddHandler VECTOworkerV3.DoWork, AddressOf VectoWorkerV3_OnDoWork - AddHandler VECTOworkerV3.ProgressChanged, AddressOf VectoWorkerV3_OnProgressChanged - AddHandler VECTOworkerV3.RunWorkerCompleted, AddressOf VectoWorkerV3_OnRunWorkerCompleted - - VECTOworkerV3.WorkerReportsProgress = True - VECTOworkerV3.WorkerSupportsCancellation = True - - - 'Set mode (Batch/Standard) - ModeUpdate() - -#If DEBUG Then - Const LicCheck As Boolean = False -#Else - Const LicCheck as Boolean = True -#End If - - 'License check - If LicCheck And Not Lic.LICcheck() Then - MsgBox("License File invalid!" & vbCrLf & vbCrLf & Lic.FailMsg) - If Lic.CreateActFile(MyAppPath & "ActivationCode.dat") Then - MsgBox("Activation File created.") - Else - MsgBox("Failed to create Activation File! Is Directory Read-Only?") - End If - Close() - Else - GUImsg(tMsgID.Normal, "License File validated.") - If Lic.TimeWarn Then GUImsg(tMsgID.Warn, "License expiring date (y/m/d): " & Lic.ExpTime) - End If - - DeclOnOff() - End Sub - - Public Shared Sub LogMethod(level As String, message As String) - Try - If level = "Warn" Then - VECTOworkerV3.ReportProgress(100, New With {.Target = "ListBoxWarning", .Message = message}) - ElseIf level = "Error" Or level = "Fatal" Then - VECTOworkerV3.ReportProgress(100, New With {.Target = "ListBoxError", .Message = message}) - - End If - Catch e As InvalidOperationException - - End Try - End Sub - - 'Declaration mode GUI settings - Private Sub DeclOnOff() - - If Cfg.DeclMode Then - Text = "VECTO " & COREvers & " - Declaration Mode" - Cfg.DeclInit() - Else - Text = "VECTO " & COREvers - End If - - If Cfg.DeclMode Then - LastModeName = "Declaration" - Else - LastModeName = "Engineering" - End If - - Status(LastModeName & " Mode") - - LoadOptions() - - LbDecl.Visible = Cfg.DeclMode - - - End Sub - - 'Shown Event (Form-Load finished) ... here StartUp Forms are loaded (DEV, GEN/ADV- Editor ..) - Private Sub F01_MAINForm_Shown(sender As Object, e As EventArgs) Handles Me.Shown - Dim fwelcome As F_Welcome - - If Cfg.FirstRun Then - Cfg.FirstRun = False - fwelcome = New F_Welcome - fwelcome.ShowDialog() - End If - 'End If - End Sub - - 'Open file - - 'Close - Private Sub F01_MAINForm_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing - - 'Save File-Lists - SaveFileLists() - - 'Close log - LogFile.CloseLog() - - 'Config save - SetOptions() - Cfg.Save() - - 'File browser instances close - FB_Close() - End Sub - -#End Region - - 'Open file - Job, vehicle, engine, gearbox or signature file - Public Sub OpenVectoFile(File As String) - - If Not IO.File.Exists(File) Then - - GUImsg(tMsgID.Err, "File not found! (" & File & ")") - MsgBox("File not found! (" & File & ")", MsgBoxStyle.Critical) - - Else - - Select Case UCase(fEXT(File)) - Case ".VGBX" - If Not F_GBX.Visible Then - F_GBX.Show() - Else - F_GBX.JobDir = "" - If F_GBX.WindowState = FormWindowState.Minimized Then F_GBX.WindowState = FormWindowState.Normal - F_GBX.BringToFront() - End If - F_GBX.openGBX(File) - Case ".VVEH" - If Not F_VEH.Visible Then - F_VEH.Show() - Else - F_VEH.JobDir = "" - If F_VEH.WindowState = FormWindowState.Minimized Then F_VEH.WindowState = FormWindowState.Normal - F_VEH.BringToFront() - End If - F_VEH.OpenVehicle(File) - Case ".VENG" - If Not F_ENG.Visible Then - F_ENG.Show() - Else - F_ENG.JobDir = "" - If F_ENG.WindowState = FormWindowState.Minimized Then F_ENG.WindowState = FormWindowState.Normal - F_ENG.BringToFront() - End If - F_ENG.openENG(File) - Case ".VECTO" - OpenVECTOeditor(File) - Case ".VSIG" - OpenSigFile(File) - Case Else - MsgBox("Type '" & fEXT(File) & "' unknown!", MsgBoxStyle.Critical) - End Select - - End If - End Sub - - -#Region "Events" - - Private Sub ButtonGENremove_Click(sender As Object, e As EventArgs) _ - Handles ButtonGENremove.Click - RemoveJobFile() - End Sub - - Private Sub ButtonGENadd_Click(sender As Object, e As EventArgs) _ - Handles ButtonGENadd.Click - AddJobFile() - End Sub - - Private Sub ListViewGEN_KeyDown(sender As Object, e As KeyEventArgs) _ - Handles LvGEN.KeyDown - Select Case e.KeyCode - Case Keys.Delete, Keys.Back - If Not GUIlocked Then RemoveJobFile() - Case Keys.Enter - OpenJobFile() - End Select - End Sub - - Private Sub ListViewGEN_DoubleClick(sender As Object, e As EventArgs) Handles LvGEN.DoubleClick - If LvGEN.SelectedItems.Count > 0 Then - LvGEN.SelectedItems(0).Checked = Not LvGEN.SelectedItems(0).Checked - OpenJobFile() - End If - End Sub - - Private Sub LvGEN_ItemChecked(sender As Object, e As ItemCheckedEventArgs) _ - Handles LvGEN.ItemChecked - - If e.Item.Checked Then - GENchecked += 1 - Else - GENchecked -= 1 - End If - - If CheckLock Then Exit Sub - UpdateJobTabText() - End Sub - - Private Sub ChBoxAllGEN_CheckedChanged(sender As Object, e As EventArgs) _ - Handles ChBoxAllGEN.CheckedChanged - - If GENcheckAllLock And ChBoxAllGEN.CheckState = CheckState.Indeterminate Then Exit Sub - - CheckAllGEN(ChBoxAllGEN.Checked) - End Sub - - Private Sub CheckAllGEN(Check As Boolean) - Dim x As ListViewItem - - CheckLock = True - LvGEN.BeginUpdate() - - For Each x In LvGEN.Items - x.Checked = Check - Next - - LvGEN.EndUpdate() - CheckLock = False - - GENchecked = LvGEN.CheckedItems.Count - UpdateJobTabText() - End Sub - - Private Sub ListGEN_DragEnter(sender As Object, e As DragEventArgs) _ - Handles LvGEN.DragEnter - If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then - e.Effect = DragDropEffects.Copy - End If - End Sub - - Private Sub ListGEN_DragDrop(sender As Object, e As DragEventArgs) _ - Handles LvGEN.DragDrop - Dim f As String() - f = CType(e.Data.GetData(DataFormats.FileDrop), Array) - AddToJobListView(f) - End Sub - - Private Sub BtGENup_Click(sender As Object, e As EventArgs) Handles BtGENup.Click - MoveItem(LvGEN, True) - End Sub - - Private Sub BtGENdown_Click(sender As Object, e As EventArgs) Handles BtGENdown.Click - MoveItem(LvGEN, False) - End Sub - -#End Region - - 'Remove selected file(s) from job list - Private Sub RemoveJobFile() - Dim lastindx As Integer - Dim SelIx() As Integer - Dim i As Integer - - If LvGEN.SelectedItems.Count < 1 Then - If LvGEN.Items.Count = 1 Then - LvGEN.Items(0).Selected = True - Else - Exit Sub - End If - End If - - LvGEN.BeginUpdate() - CheckLock = True - - ReDim SelIx(LvGEN.SelectedItems.Count - 1) - LvGEN.SelectedIndices.CopyTo(SelIx, 0) - - lastindx = LvGEN.SelectedIndices(LvGEN.SelectedItems.Count - 1) - - For i = UBound(SelIx) To 0 Step -1 - LvGEN.Items.RemoveAt(SelIx(i)) - Next - - If lastindx < LvGEN.Items.Count Then - LvGEN.Items(lastindx).Selected = True - Else - If LvGEN.Items.Count > 0 Then LvGEN.Items(LvGEN.Items.Count - 1).Selected = True - End If - - LvGEN.EndUpdate() - CheckLock = False - - GENchecked = LvGEN.CheckedItems.Count - UpdateJobTabText() - End Sub - - 'Browse for job file(s) and add to job list with AddToJobListView - Private Sub AddJobFile() - Dim x As String() - Dim Chck As Boolean = False - - x = New String() {""} - - 'STANDARD/BATCH - If fbVECTO.OpenDialog("", True, "vecto") Then - Chck = True - x = fbVECTO.Files - End If - - If Chck Then AddToJobListView(x) - End Sub - - 'Open file in list - Private Sub OpenJobFile() - Dim f As String - - If LvGEN.SelectedItems.Count < 1 Then - If LvGEN.Items.Count = 1 Then - LvGEN.Items(0).Selected = True - Else - Exit Sub - End If - End If - - f = LvGEN.SelectedItems(0).SubItems(0).Text - f = fFileRepl(f) - If Not File.Exists(f) Then - MsgBox(f & " not found!") - Else - OpenVECTOeditor(f) - End If - End Sub - - 'Add File to job listview (multiple files) - Private Sub AddToJobListView(Path As String(), Optional ByVal Txt As String = " ") - Dim pDim As Int16 - Dim p As Int16 - Dim f As Int16 - Dim fList As String() - Dim fListDim As Int16 = -1 - Dim ListViewItem0 As ListViewItem - - 'If VECTO runs: Cancel operation (because Mode-change during calculation is not very clever) - If VECTOworkerV3.IsBusy Then Exit Sub - - pDim = UBound(Path) - ReDim fList(0) 'um Nullverweisausnahme-Warnung zu verhindern - - '******************************************* Begin Update '******************************************* - LvGEN.BeginUpdate() - CheckLock = True - - LvGEN.SelectedIndices.Clear() - - If pDim = 0 Then - fListDim = LvGEN.Items.Count - 1 - ReDim fList(fListDim) - For f = 0 To fListDim - fList(f) = fFileRepl(LvGEN.Items(f).SubItems(0).Text) - Next - End If - - For p = 0 To pDim - - If pDim = 0 Then - - For f = 0 To fListDim - - 'If file already exists in the list: Do not append (only when a single file) - If UCase(Path(p)) = UCase(fList(f)) Then - - 'Status reset - LvGEN.Items(f).SubItems(1).Text = Txt - LvGEN.Items(f).BackColor = Color.FromKnownColor(KnownColor.Window) - LvGEN.Items(f).ForeColor = Color.FromKnownColor(KnownColor.WindowText) - - 'Element auswählen und anhaken |@@| Element selection and hook - LvGEN.Items(f).Selected = True - LvGEN.Items(f).Checked = True - LvGEN.Items(f).EnsureVisible() - - GoTo lbFound - End If - Next - - End If - - 'Otherwise: Add File (without WorkDir) - ListViewItem0 = New ListViewItem(Path(p)) 'fFileWD(Path(p))) - ListViewItem0.SubItems.Add(" ") - ListViewItem0.Checked = True - ListViewItem0.Selected = True - LvGEN.Items.Add(ListViewItem0) - ListViewItem0.EnsureVisible() -lbFound: - Next - - LvGEN.EndUpdate() - CheckLock = False - '******************************************* End Update '******************************************* - - 'Number update - GENchecked = LvGEN.CheckedItems.Count - UpdateJobTabText() - End Sub - - 'Add File to job listview (single file) - Public Sub AddToJobListView(Path As String, Optional ByVal Txt As String = " ") - Dim p(0) As String - p(0) = Path - AddToJobListView(p, Txt) - End Sub - - 'Update job files counter in tab titel - Private Sub UpdateJobTabText() - Dim c As Integer - c = LvGEN.Items.Count - - TabPageGEN.Text = "Job Files ( " & GENchecked & " / " & c & " )" - - GENcheckAllLock = True - - If GENchecked = 0 Then - ChBoxAllGEN.CheckState = CheckState.Unchecked - ElseIf GENchecked = c Then - ChBoxAllGEN.CheckState = CheckState.Checked - Else - ChBoxAllGEN.CheckState = CheckState.Indeterminate - End If - - GENcheckAllLock = False - End Sub - - -#Region "Toolstrip" - - 'New Job file - Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click - OpenVECTOeditor("<New>") - End Sub - - 'Open input file - Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click - - If fbVECTO.OpenDialog("", False, "vecto,vveh,vgbx,veng,vsig") Then - OpenVectoFile(fbVECTO.Files(0)) - End If - End Sub - - Private Sub GENEditorToolStripMenuItem1_Click(sender As Object, e As EventArgs) _ - Handles GENEditorToolStripMenuItem1.Click - OpenVECTOeditor("<New>") - End Sub - - Private Sub VEHEditorToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles VEHEditorToolStripMenuItem.Click - If Not F_VEH.Visible Then - F_VEH.Show() - Else - If F_VEH.WindowState = FormWindowState.Minimized Then F_VEH.WindowState = FormWindowState.Normal - F_VEH.BringToFront() - End If - End Sub - - Private Sub EngineEditorToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles EngineEditorToolStripMenuItem.Click - If Not F_ENG.Visible Then - F_ENG.Show() - Else - If F_ENG.WindowState = FormWindowState.Minimized Then F_ENG.WindowState = FormWindowState.Normal - F_ENG.BringToFront() - End If - End Sub - - Private Sub GearboxEditorToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles GearboxEditorToolStripMenuItem.Click - If Not F_GBX.Visible Then - F_GBX.Show() - Else - If F_GBX.WindowState = FormWindowState.Minimized Then F_GBX.WindowState = FormWindowState.Normal - F_GBX.BringToFront() - End If - End Sub - - Private Sub GraphToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles GraphToolStripMenuItem.Click - Dim FGraph As New F_Graph - FGraph.Show() - End Sub - - Private Sub SignOrVerifyFilesToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles SignOrVerifyFilesToolStripMenuItem.Click - If Not F_FileSign.Visible Then - F_FileSign.Show() - Else - If F_FileSign.WindowState = FormWindowState.Minimized Then F_FileSign.WindowState = FormWindowState.Normal - F_FileSign.BringToFront() - End If - End Sub - - Private Sub OpenLogToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles OpenLogToolStripMenuItem.Click - Process.Start(MyAppPath & "log.txt") - End Sub - - Private Sub SettingsToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles SettingsToolStripMenuItem.Click - F_Settings.ShowDialog() - End Sub - - Private Sub UserManualToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles UserManualToolStripMenuItem.Click - If File.Exists(MyAppPath & "User Manual\help.html") Then - Dim BrowserRegistryString As String = - My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString - Dim DefaultBrowserPath As String = - Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString - Process.Start(DefaultBrowserPath, Uri.EscapeDataString(MyAppPath & "User Manual\help.html")) - Else - MsgBox("User Manual not found!", MsgBoxStyle.Critical) - End If - End Sub - - Private Sub UpdateNotesToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles UpdateNotesToolStripMenuItem.Click - If File.Exists(MyAppPath & "User Manual\Release Notes.pdf") Then - Process.Start(MyAppPath & "User Manual\Release Notes.pdf") - Else - MsgBox("Release Notes not found!", MsgBoxStyle.Critical) - End If - End Sub - - Private Sub ReportBugViaCITnetToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles ReportBugViaCITnetToolStripMenuItem.Click - F_JIRA.ShowDialog() - End Sub - - Private Sub CreateActivationFileToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles CreateActivationFileToolStripMenuItem.Click - If MsgBox("Create Activation File ?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then - If Lic.CreateActFile(MyAppPath & "ActivationCode.dat") Then - GUImsg(tMsgID.Normal, "Activation File created.") - Else - GUImsg(tMsgID.Err, "Failed to create Activation File!") - MsgBox("ERROR! Failed to create Activation File!", MsgBoxStyle.Critical) - End If - End If - End Sub - - Private Sub AboutVECTOToolStripMenuItem1_Click(sender As Object, e As EventArgs) _ - Handles AboutVECTOToolStripMenuItem1.Click - F_AboutBox.ShowDialog() - End Sub - - -#End Region - - 'Move job/cycle file up or down in list view - Private Sub MoveItem(ByRef ListV As ListView, MoveUp As Boolean) - Dim x As Int32 - Dim y As Int32 - Dim y1 As Int32 - Dim items() As String - Dim check() As Boolean - Dim index() As Integer - Dim ListViewItem0 As ListViewItem - - If GUIlocked Then Exit Sub - - 'Cache Selected Items - y1 = ListV.SelectedItems.Count - 1 - ReDim items(y1) - ReDim check(y1) - ReDim index(y1) - y = 0 - For Each x In ListV.SelectedIndices - items(y) = ListV.Items(x).SubItems(0).Text - check(y) = ListV.Items(x).Checked - If MoveUp Then - If x = 0 Then Exit Sub - index(y) = x - 1 - Else - If x = ListV.Items.Count - 1 Then Exit Sub - index(y) = x + 1 - End If - y += 1 - Next - - ListV.BeginUpdate() - - 'Delete Selected Items - For Each ListViewItem0 In ListV.SelectedItems - ListViewItem0.Remove() - Next - - 'Items select and Insert - For y = 0 To y1 - If Not check(y) Then GENchecked += 1 - ListViewItem0 = ListV.Items.Insert(index(y), items(y)) - ListViewItem0.SubItems.Add(" ") - ListViewItem0.Checked = check(y) - ListV.SelectedIndices.Add(index(y)) - Next - - ListV.EndUpdate() - End Sub - - -#Region "job/cycle file List - Context Menu" - - 'Save List - Private Sub SaveListToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles SaveListToolStripMenuItem.Click - If fbFileLists.SaveDialog("") Then - If ConMenTarJob Then - JobListView.SaveList(fbFileLists.Files(0)) - Else - CycleListView.SaveList(fbFileLists.Files(0)) - End If - End If - End Sub - - 'Load List - Private Sub LoadListToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles LoadListToolStripMenuItem.Click - - If GUIlocked Then Exit Sub - - If fbFileLists.OpenDialog("") Then - - If ConMenTarJob Then 'GEN - JobListView.LoadList(fbFileLists.Files(0)) - GENchecked = LvGEN.CheckedItems.Count - UpdateJobTabText() - Else 'DRI - 'Mode toggle - CycleListView.LoadList(fbFileLists.Files(0)) - End If - - End If - End Sub - - 'Load Default List - Private Sub LoadDefaultListToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles LoadDefaultListToolStripMenuItem.Click - - If GUIlocked Then Exit Sub - - If ConMenTarJob Then - - JobListView.LoadList() - - GENchecked = LvGEN.CheckedItems.Count - UpdateJobTabText() - Else - CycleListView.LoadList() - - End If - End Sub - - 'Clear List - Private Sub ClearListToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles ClearListToolStripMenuItem.Click - - If GUIlocked Then Exit Sub - - ConMenTarget.Items.Clear() - If ConMenTarJob Then - GENchecked = LvGEN.CheckedItems.Count - UpdateJobTabText() - End If - End Sub - -#End Region - - 'VECTO Start button - Calls VECTO_Launcher or aborts calculation - - Private Sub btStartV3_Click(sender As Object, e As EventArgs) Handles btStartV3.Click - If Not VECTOworkerV3.IsBusy Then - 'Save Lists for Crash - SaveFileLists() - - LvGEN.SelectedItems.Clear() - - If LvGEN.CheckedItems.Count = 0 Then - GUImsg(tMsgID.Err, "No job file selected!") - Exit Sub - End If - - Status("Launching VECTO ...") - JobFileList.Clear() - JobFileList.AddRange(From listViewItem In LvGEN.CheckedItems Select fFileRepl(listViewItem.SubItems(0).Text)) - - SetOptions() - Cfg.Save() - ClearMSG() - - LockGUI(True) - btStartV3.Enabled = True - btStartV3.Text = "STOP" - btStartV3.Image = My.Resources.Stop_icon - - ToolStripProgBarOverall.Value = 0 - ToolStripProgBarOverall.Style = ProgressBarStyle.Continuous - ToolStripProgBarOverall.Visible = True - - VECTOworkerV3.RunWorkerAsync() - Else - btStartV3.Enabled = False - btStartV3.Text = "Aborting..." - btStartV3.Image = My.Resources.Play_icon_gray - VECTOworkerV3.CancelAsync() - End If - End Sub - - Private Sub VectoWorkerV3_OnDoWork(sender As BackgroundWorker, e As DoWorkEventArgs) - AllowSleepOFF() - - Dim sumFileWriter As FileOutputWriter = New FileOutputWriter(JobFileList(0)) - Dim sumWriter As SummaryDataContainer = New SummaryDataContainer(sumFileWriter) - Dim jobContainer As JobContainer = New JobContainer(sumWriter) - - Dim mode As ExecutionMode - If Cfg.DeclMode Then - mode = ExecutionMode.Declaration - Else - mode = ExecutionMode.Engineering - Physics.FuelDensity = New SI(Cfg.FuelDens).Kilo.Gramm.Per.Cubic.Dezi.Meter.Cast(Of KilogramPerCubicMeter)() - Physics.AirDensity = New SI(Cfg.AirDensity).Kilo.Gramm.Per.Cubic.Meter.Cast(Of KilogramPerCubicMeter)() - Physics.CO2PerFuelWeight = Cfg.CO2perFC - End If - - 'dictionary of run-identifiers to fileWriters (used for output directory of modfile) - Dim fileWriters As Dictionary(Of Integer, FileOutputWriter) = New Dictionary(Of Integer, FileOutputWriter) - - 'list of finished runs - Dim finishedRuns As List(Of Integer) = New List(Of Integer) - - For Each jobFile As String In JobFileList - Try - sender.ReportProgress(0, New With {.Target = "ListBox", .Message = "Reading File " + jobFile, .Link = jobFile}) - - Dim dataProvider As IInputDataProvider = JSONInputDataFactory.ReadJsonJob(jobFile) - Dim fileWriter As FileOutputWriter = New FileOutputWriter(jobFile) - - Dim runsFactory As SimulatorFactory = New SimulatorFactory(mode, dataProvider, fileWriter) - runsFactory.WriteModalResults = Cfg.ModOut - runsFactory.ModalResults1Hz = Cfg.Mod1Hz - - For Each runId As Integer In jobContainer.AddRuns(runsFactory) - fileWriters.Add(runId, fileWriter) - Next - - sender.ReportProgress(0, New With {.Target = "ListBox", .Message = "Finished Reading Data for job: " + jobFile}) - - Catch ex As Exception - MsgBox(String.Format("ERROR running job {0}: {1}", jobFile, ex.Message), MsgBoxStyle.Critical) - sender.ReportProgress(0, New With {.Target = "ListBoxError", .Message = ex.Message}) - Return - End Try - Next - - 'print detected cycles - For Each cycle As JobContainer.CycleTypeDescription In jobContainer.GetCycleTypes() - sender.ReportProgress(0, - New With {.Target = "ListBox", .Message = String.Format("Detected Cycle {0}: {1}", cycle.Name, cycle.CycleType)}) - Next - - sender.ReportProgress(0, - New _ - With {.Target = "ListBox", - .Message = _ - String.Format("Starting Simulation ({0} Jobs, {1} Runs)", JobFileList.Count, jobContainer.GetProgress().Count)}) - - jobContainer.Execute(True) - - Dim start As DateTime = DateTime.Now() - - While Not jobContainer.AllCompleted - 'cancel the job if thread is interrupted (button "Stop" clicked) - If sender.CancellationPending Then - jobContainer.Cancel() - Return - End If - - Dim progress As Dictionary(Of Integer, JobContainer.ProgressEntry) = jobContainer.GetProgress() - Dim sumProgress As Double = progress.Sum(Function(pair) pair.Value.Progress) - Dim duration As Double = (DateTime.Now() - start).TotalSeconds - - sender.ReportProgress(Int((sumProgress * 100.0) / progress.Count), New With {.Target = "Status", - .Message = _ - String.Format("Duration: {0:0}s, Current Progress: {1:P} ({2})", duration, sumProgress / progress.Count, - String.Join(", ", progress.Select(Function(pair) String.Format("{0,4:P}", pair.Value.Progress))))}) - - Dim justFinished As Dictionary(Of Integer, JobContainer.ProgressEntry) = - progress.Where(Function(proc) proc.Value.Done AndAlso Not finishedRuns.Contains(proc.Key)).ToDictionary( - Function(pair) pair.Key, Function(pair) pair.Value) - PrintRuns(justFinished, fileWriters) - finishedRuns.AddRange(justFinished.Select(Function(pair) pair.Key)) - Thread.Sleep(100) - End While - - Dim remainingRuns As Dictionary(Of Integer, JobContainer.ProgressEntry) = - jobContainer.GetProgress().Where(Function(proc) proc.Value.Done AndAlso Not finishedRuns.Contains(proc.Key)). - ToDictionary(Function(pair) pair.Key, Function(pair) pair.Value) - PrintRuns(remainingRuns, fileWriters) - - finishedRuns.Clear() - fileWriters.Clear() - - For Each progressEntry As KeyValuePair(Of Integer, JobContainer.ProgressEntry) In jobContainer.GetProgress() - sender.ReportProgress(100, New With {.Target = "ListBox", - .Message = String.Format("{0,-60} {1,8:P} {2,10:F2}s - {3}", - String.Format("{0} {1} {2}", progressEntry.Value.RunName, progressEntry.Value.CycleName, - progressEntry.Value.RunSuffix), - progressEntry.Value.Progress, progressEntry.Value.ExecTime / 1000.0, - IIf(progressEntry.Value.Success, "Success", "Aborted"))}) - If (Not progressEntry.Value.Success) Then - sender.ReportProgress(100, New With {.Target = "ListBox", .Message = progressEntry.Value.Error.Message}) - End If - - Next - - For Each job As String In JobFileList - Dim report As String = New FileOutputWriter(job).PDFReportName - If File.Exists(report) Then - sender.ReportProgress(100, - New _ - With {.Target = "ListBox", - .Message = String.Format("PDF-Report for '{0}' written to {1}", Path.GetFileName(job), report), - .Link = "<RUN>" + report}) - End If - Next - - If File.Exists(sumFileWriter.SumFileName) Then - sender.ReportProgress(100, New With {.Target = "ListBox", - .Message = String.Format("Sum File written to {0}", sumFileWriter.SumFileName), - .Link = sumFileWriter.SumFileName}) - End If - - sender.ReportProgress(100, - New _ - With {.Target = "ListBox", - .Message = String.Format("Simulation Finished in {0:0}s", (DateTime.Now() - start).TotalSeconds)}) - End Sub - - - Private Shared Sub PrintRuns(progress As Dictionary(Of Integer, JobContainer.ProgressEntry), - fileWriters As Dictionary(Of Integer, FileOutputWriter)) - For Each p As KeyValuePair(Of Integer, JobContainer.ProgressEntry) In progress - Dim modFilename As String = fileWriters(p.Key).GetModDataFileName(p.Value.RunName, p.Value.CycleName, - p.Value.RunSuffix + IIf(Cfg.Mod1Hz, "_1Hz", "")) - - Dim runName As String = String.Format("{0} {1} {2}", p.Value.RunName, p.Value.CycleName, p.Value.RunSuffix) - - If Not p.Value.Error Is Nothing Then - VECTOworkerV3.ReportProgress(0, - New _ - With {.Target = "ListBoxError", - .Message = String.Format("Finished Run {0} with ERROR: {1}", runName, p.Value.Error.Message), - .Link = modFilename}) - Else - VECTOworkerV3.ReportProgress(0, - New With {.Target = "ListBox", .Message = String.Format("Finished Run {0} successfully.", runName)}) - End If - - If (File.Exists(modFilename)) Then - VECTOworkerV3.ReportProgress(0, - New _ - With {.Target = "ListBox", - .Message = String.Format("Run {0}: Modal Results written to {1}", runName, modFilename), .Link = modFilename - }) - End If - Next - End Sub - - Private Sub VectoWorkerV3_OnProgressChanged(sender As Object, e As ProgressChangedEventArgs) - Select Case e.UserState.Target - Case "ListBox" - If e.UserState.GetType().GetProperty("Link") Is Nothing Then - MSGtoForm(tMsgID.Normal, e.UserState.Message, "", "") - Else - MSGtoForm(tMsgID.Normal, e.UserState.Message, "", e.UserState.Link) - End If - Case "ListBoxWarning" - MSGtoForm(tMsgID.Warn, e.UserState.Message, "", "") - Return - Case "ListBoxError" - MSGtoForm(tMsgID.Err, e.UserState.Message, "", "") - Return - Case "Status" - Status(e.UserState.Message) - End Select - - ToolStripProgBarOverall.Value = e.ProgressPercentage - End Sub - - Private Sub VectoWorkerV3_OnRunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) - - 'Progbar reset - ToolStripProgBarOverall.Visible = False - ToolStripProgBarOverall.Style = ProgressBarStyle.Continuous - ToolStripProgBarOverall.Value = 0 - ProgSecStop() - - LvGEN.SelectedIndices.Clear() - - 'ShutDown when Unexpected Error - If e.Error IsNot Nothing Then - MsgBox("An Unexpected Error occurred!" & ChrW(10) & ChrW(10) & - e.Error.Message.ToString, MsgBoxStyle.Critical, "Unexpected Error") - LogFile.WriteToLog(tMsgID.Err, ">>>Unexpected Error:" & e.Error.ToString()) - End If - - 'Options enable / GUI reset - LockGUI(False) - btStartV3.Text = "START" - btStartV3.Image = My.Resources.Play_icon - Status(LastModeName & " Mode") - - 'SLEEP reactivate - AllowSleepON() - End Sub - - - Private Sub ModeUpdate() - - 'Save lists - JobListView.SaveList() - - 'GUI changes according to current mode - - If Cfg.DeclMode Then - LastModeName = "Declaration" - Else - LastModeName = "Engineering" - End If - - 'Update job counter - GENchecked = LvGEN.CheckedItems.Count - UpdateJobTabText() - - 'Status label - Status(LastModeName & " Mode") - End Sub - - 'Class for ListView control - Job and cycle lists - Private Class cFileListView - Private FilePath As String - Private LoadedDefault As Boolean - Public LVbox As ListView - - Public Sub New(Path As String) - FilePath = Path - LoadedDefault = False - End Sub - - Public Sub SaveList(Optional ByVal Path As String = "") - Dim x As Int32 - Dim file As cFile_V3 - 'If LVbox.Items.Count = 0 Then Exit Sub - file = New cFile_V3 - If Path = "" Then - If Not LoadedDefault Then Exit Sub - Path = FilePath - End If - file.OpenWrite(Path, "?") - For x = 1 To LVbox.Items.Count - file.WriteLine(LVbox.Items(x - 1).SubItems(0).Text, Math.Abs(CInt(LVbox.Items(x - 1).Checked))) - Next - file.Close() - End Sub - - Public Sub LoadList(Optional ByVal Path As String = "") - Dim line As String() - Dim NoCheck As Boolean - Dim file As cFile_V3 - Dim ListViewItem0 As ListViewItem - - If Path = "" Then - Path = FilePath - LoadedDefault = True - End If - - file = New cFile_V3 - - If Not file.OpenRead(Path, "?") Then - If Not LoadedDefault Then GUImsg(tMsgID.Err, "Cannot open file (" & Path & ")!") - Exit Sub - End If - - F_MAINForm.CheckLock = True - LVbox.BeginUpdate() - - LVbox.Items.Clear() - - NoCheck = False - Do While Not file.EndOfFile - line = file.ReadLine - - ListViewItem0 = New ListViewItem(line(0)) - ListViewItem0.SubItems.Add(" ") - - If NoCheck Then - ListViewItem0.Checked = True - Else - If UBound(line) < 1 Then - NoCheck = True - ListViewItem0.Checked = True - Else - If IsNumeric(line(1)) Then - ListViewItem0.Checked = CBool(line(1)) - Else - ListViewItem0.Checked = True - End If - End If - End If - LVbox.Items.Add(ListViewItem0) - Loop - - file.Close() - - LVbox.EndUpdate() - F_MAINForm.CheckLock = False - - If LVbox.Items.Count > 0 Then LVbox.Items(LVbox.Items.Count - 1).EnsureVisible() - End Sub - End Class - - - 'Open Job Editor and open file (or new file) - Friend Sub OpenVECTOeditor(x As String) - - If Not F_VECTO.Visible Then - F_VECTO.Show() - Else - If F_VECTO.WindowState = FormWindowState.Minimized Then F_VECTO.WindowState = FormWindowState.Normal - F_VECTO.BringToFront() - End If - - If x = "<New>" Then - F_VECTO.VECTOnew() - Else - F_VECTO.VECTOload2Form(x) - End If - - F_VECTO.Activate() - End Sub - - 'Open signature file (.vsig) - Friend Sub OpenSigFile(file As String) - If Not F_FileSign.Visible Then - F_FileSign.Show() - - End If - F_FileSign.WindowState = FormWindowState.Normal - F_FileSign.TbSigFile.Text = file - F_FileSign.VerifySigFile() - F_FileSign.Activate() - End Sub - - 'Save job and cycle file lists - Private Sub SaveFileLists() - JobListView.SaveList() - 'If Cfg.BatchMode Then CycleListView.SaveList() - End Sub - - -#Region "Progressbar controls" - - 'Initialise progress bar (Start of next job in calculation) - - 'Stop - Hide progress bar - Private Sub ProgSecStop() - TmProgSec.Stop() - ToolStripProgBarJob.Visible = False - ToolStripProgBarJob.Value = 0 - End Sub - - 'Timer to update progress bar regularly - Private Sub TmProgSec_Tick(sender As Object, e As EventArgs) Handles TmProgSec.Tick - If GUItest0.TestActive Then - Call GUItest0.TestTick() - Exit Sub - Else - If Not ProgBarCtrl.ProgLock Then ProgSecUpdate() - End If - End Sub - - 'Update progress bar (timer controlled) - Private Sub ProgSecUpdate() - - With ProgBarCtrl - - If .ProgJobInt > 0 AndAlso ToolStripProgBarJob.Style = ProgressBarStyle.Marquee Then - ToolStripProgBarJob.Style = ProgressBarStyle.Continuous - End If - - If .ProgJobInt < 0 Then - .ProgJobInt = 0 - ElseIf .ProgJobInt > 100 Then - .ProgJobInt = 100 - End If - - ToolStripProgBarJob.Value = .ProgJobInt - - If .ProgOverallStartInt > -1 Then - ToolStripProgBarOverall.Value = - CInt(.ProgOverallStartInt + (.PgroOverallEndInt - .ProgOverallStartInt) * .ProgJobInt / 100) - End If - - End With - End Sub - - -#End Region - -#Region "Options Tab" - - 'Load options from config class - Public Sub LoadOptions() - ChBoxModOut.Checked = Cfg.ModOut - ChBoxMod1Hz.Checked = Cfg.Mod1Hz - - RbDecl.Checked = Cfg.DeclMode - End Sub - - 'Update config class from options in GUI, e.g. before running calculations - Private Sub SetOptions() - Cfg.ModOut = ChBoxModOut.Checked - Cfg.Mod1Hz = ChBoxMod1Hz.Checked - - End Sub - -#End Region - - - 'Add message to message list - Public Sub MSGtoForm(ID As tMsgID, Msg As String, Source As String, Link As String) - - If (InvokeRequired) Then - 'Me.Invoke(New MsgToFormDelegate(AddressOf MSGtoForm), ID, Msg, Source, Link) - Exit Sub - End If - Dim lv0 As ListViewItem - - lv0 = New ListViewItem - lv0.Text = Msg - lv0.SubItems.Add(Now.ToString("HH:mm:ss.ff")) - lv0.SubItems.Add(Source) - - If LvMsg.Items.Count > 9999 Then LvMsg.Items.RemoveAt(0) - - LogFile.WriteToLog(ID, Msg & vbTab & Source) - - Select Case ID - - Case tMsgID.Err - - lv0.BackColor = Color.Red - lv0.ForeColor = Color.White - - Case tMsgID.Warn - - lv0.BackColor = Color.Khaki 'FromArgb(218, 125, 0) 'DarkOrange - lv0.ForeColor = Color.Black - - Case Else - - If ID = tMsgID.NewJob Then - lv0.BackColor = Color.LightGray - lv0.ForeColor = Color.DarkBlue - End If - - End Select - - If Link <> "" Then - If Not ID = tMsgID.Err Then lv0.ForeColor = Color.Blue - lv0.SubItems(0).Font = New Font(LvMsg.Font, FontStyle.Underline) - lv0.Tag = Link - End If - - - LvMsg.Items.Add(lv0) - - lv0.EnsureVisible() - End Sub - - - 'Open link in message list - Private Sub LvMsg_MouseClick(sender As Object, e As MouseEventArgs) Handles LvMsg.MouseClick - Dim txt As String - If LvMsg.SelectedIndices.Count > 0 Then - If Not LvMsg.SelectedItems(0).Tag Is Nothing Then - If _ - Len(CStr(LvMsg.SelectedItems(0).Tag)) > 4 AndAlso - Microsoft.VisualBasic.Left(CStr(LvMsg.SelectedItems(0).Tag), 4) = "<UM>" Then - txt = CStr(LvMsg.SelectedItems(0).Tag).Replace("<UM>", MyAppPath & "User Manual") - txt = txt.Replace(" ", "%20") - txt = txt.Replace("\", "/") - txt = "file:///" & txt - Try - Process.Start(txt) - Catch ex As Exception - MsgBox("Cannot open link! (-_-;)") - End Try - ElseIf _ - Len(CStr(LvMsg.SelectedItems(0).Tag)) > 5 AndAlso - Microsoft.VisualBasic.Left(CStr(LvMsg.SelectedItems(0).Tag), 5) = "<GUI>" Then - txt = CStr(LvMsg.SelectedItems(0).Tag).Replace("<GUI>", "") - OpenVectoFile(txt) - ElseIf _ - Len(CStr(LvMsg.SelectedItems(0).Tag)) > 5 AndAlso - Microsoft.VisualBasic.Left(CStr(LvMsg.SelectedItems(0).Tag), 5) = "<RUN>" Then - txt = CStr(LvMsg.SelectedItems(0).Tag).Replace("<RUN>", "") - Try - Process.Start(txt) - Catch ex As Exception - GUImsg(tMsgID.Err, "Could not run '" & txt & "'!") - End Try - Else - OpenFiles(CStr(LvMsg.SelectedItems(0).Tag)) - End If - End If - End If - End Sub - - 'Link-cursor (Hand) for links - Private Sub LvMsg_MouseMove(sender As Object, e As MouseEventArgs) Handles LvMsg.MouseMove - Dim lv0 As ListViewItem - lv0 = LvMsg.GetItemAt(e.Location.X, e.Location.Y) - If lv0 Is Nothing OrElse lv0.Tag Is Nothing Then - LvMsg.Cursor = Cursors.Arrow - Else - LvMsg.Cursor = Cursors.Hand - End If - If mouseDownOnListView Then - Try - LvMsg.HitTest(e.Location).Item.Selected = True - Catch - End Try - End If - End Sub - -#Region "Open File Context Menu" - - Private CmFiles As String() - - 'Initialise and open context menu - Private Sub OpenFiles(ParamArray files() As String) - - If files.Length = 0 Then Exit Sub - - CmFiles = files - - OpenInGraphWindowToolStripMenuItem.Enabled = (UCase(fEXT(CmFiles(0))) = ".VMOD") - - - OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName - - CmOpenFile.Show(Cursor.Position) - End Sub - - 'Open with tool defined in Settings - Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles OpenWithToolStripMenuItem.Click - If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!") - End Sub - - Private Sub OpenInGraphWindowToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles OpenInGraphWindowToolStripMenuItem.Click - Dim FGraph As New F_Graph - FGraph.Show() - FGraph.LoadNewFile(CmFiles(0)) - End Sub - - 'Show in folder - Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles ShowInFolderToolStripMenuItem.Click - If File.Exists(CmFiles(0)) Then - Try - Process.Start("explorer", "/select,""" & CmFiles(0) & "") - Catch ex As Exception - MsgBox("Failed to open file!") - End Try - Else - MsgBox("File not found!") - End If - End Sub - -#End Region - - 'Change Declaraion Mode - Private Sub RbDecl_CheckedChanged(sender As Object, e As EventArgs) Handles RbDecl.CheckedChanged - If CbDeclLock Then Exit Sub - - If F_VECTO.Visible Or F_VEH.Visible Or F_GBX.Visible Or F_ENG.Visible Then - CbDeclLock = True - RbDecl.Checked = Not RbDecl.Checked - CbDeclLock = False - MsgBox("Please close all dialog windows (e.g. Job Editor) before changing mode!") - Else - Cfg.DeclMode = RbDecl.Checked - RbDev.Checked = Not RbDecl.Checked - DeclOnOff() - End If - End Sub - - -#Region "GUI Tests" - - Private GUItest0 As New GUItest(Me) - Private mouseDownOnListView As Boolean - - Private Class GUItest - Private RowLim As Int16 = 9 - Private ColLim As Int16 = 45 - Public TestActive As Boolean = False - Private TestAborted As Boolean - Private xCtrl As Int16 - Private xPanel As Int16 - Private Scr As Int32 - Private PRbAlt As Boolean - Private Ctrls(RowLim + 1) As Int16 - Private Pnls(RowLim + 1) As Int16 - Private CtrlC As Int16 - Private CtrlCL As Int16 - Private PnDir As Int16 - Private PnDirC As Int16 - Private PnDirCL As Int16 - Private PnDirRnd As Int16 - Private CtrlRnd As Int16 - Private DiffC As Int16 - Private DiffLvl As Int16 - Private bInit As Int16 - Private MyForm As F_MAINForm - Private KeyCode As List(Of Integer) - - Private Sub TestRun() - - Dim z As Int16 - - xPanel = ColLim - 10 - xCtrl = ColLim - 10 - PRbAlt = False - Scr = 0 - PnDir = 0 - PnDirCL = 10 - PnDirC = 0 ' StrDirCL - CtrlCL = 5 - CtrlC = CtrlCL - PnDirRnd = 5 - CtrlRnd = 8 - DiffC = 0 - DiffLvl = 1 - bInit = 0 - TestAborted = False - Randomize() - - - MyForm.LvMsg.Items.Clear() - MyForm.ToolStripLbStatus.Text = "Score: 0000 Press <Esc> to Quit" - - For z = 1 To RowLim - 6 - PRbAlt = Not PRbAlt - If Not PRbAlt Then - MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| |*") - Else - MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| | |*") - End If - Next - - PRbAlt = False - - MyForm.LvMsg.Items.Add(" VECTO Interactive Mode" & Space(ColLim - 35) & "*| |*") - MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| | |*") - MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| |*") - MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| | |*") - MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| |*") - MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| ∆ |*") - - For z = 1 To RowLim + 1 - Pnls(z) = ColLim - 10 - Ctrls(z) = 0 - Next - - MyForm.TmProgSec.Interval = 200 - - MyForm.LvMsg.Focus() - - MyForm.TmProgSec.Start() - End Sub - - Public Sub TestStop() - MyForm.TmProgSec.Stop() - TestActive = False - MyForm.LvMsg.Items.Clear() - CtrlC = 0 - MyForm.ToolStripLbStatus.Text = MyForm.LastModeName & " Mode" - End Sub - - Public Sub TestTick() - - If bInit = 24 Then GoTo LbRace - bInit += 1 - - Select Case bInit - Case 10 - MyForm.LvMsg.Items.RemoveAt(RowLim - 6) - MyForm.LvMsg.Items.RemoveAt(RowLim - 5) - MyForm.LvMsg.Items.Insert(RowLim - 6, Space(ColLim - 11) & "*| |*") - MyForm.LvMsg.Items.Insert(RowLim - 4, Space(ColLim - 30) & " 3 " & Space(10) & "*| |*") - Case 14 - MyForm.LvMsg.Items.RemoveAt(RowLim - 4) - MyForm.LvMsg.Items.Insert(RowLim - 4, Space(ColLim - 30) & " 2 " & Space(10) & "*| |*") - Case 18 - MyForm.LvMsg.Items.RemoveAt(RowLim - 4) - MyForm.LvMsg.Items.Insert(RowLim - 4, Space(ColLim - 30) & " 1 " & Space(10) & "*| |*") - Case 22 - MyForm.LvMsg.Items.RemoveAt(RowLim - 4) - MyForm.LvMsg.Items.Insert(RowLim - 4, Space(ColLim - 30) & " Go! " & Space(10) & "*| |*") - Case 24 - MyForm.LvMsg.Items.RemoveAt(RowLim - 4) - MyForm.LvMsg.Items.Insert(RowLim - 4, Space(ColLim - 30) & " " & Space(10) & "*| |*") - End Select - Exit Sub -LbRace: - - PRbAlt = Not PRbAlt - - MyForm.LvMsg.BeginUpdate() - - sLists() - - sAlign() - - sSetCtrl() - - sSetPanel() - - MyForm.LvMsg.Items.RemoveAt(RowLim) - - sUpdateCtrl() - - MyForm.LvMsg.EndUpdate() - - If Math.Abs(xCtrl - Pnls(2)) > 4 Then - sAbort() - Exit Sub - ElseIf Ctrls(2) <> 0 Then - If xCtrl = Pnls(2) + Ctrls(2) - 4 Then - sAbort() - Exit Sub - End If - Scr += 5 * DiffLvl - End If - - Scr += DiffLvl - DiffC += 1 - - 'Erhöhe Schwierigkeitsgrad - If DiffC = (DiffLvl + 3) * 4 Then - DiffC = 0 - DiffLvl += 1 - If DiffLvl > 2 And DiffLvl < 7 Then MyForm.TmProgSec.Interval = 300 - (DiffLvl) * 30 - Scr += 100 - Select Case DiffLvl - Case 3 - PnDirCL = 3 - CtrlCL = 4 - CtrlRnd = 6 - Case 5 - PnDirCL = 2 - PnDirRnd = 4 - Case 8 - CtrlCL = 2 - Case 10 - CtrlRnd = 4 - PnDirRnd = 3 - End Select - End If - End Sub - - Public Sub TestKey(Key0 As Integer) - - If TestActive Then - Select Case Key0 - Case Keys.Left - xCtrl -= 1 - sUpdateCtrl() - Case Keys.Right - xCtrl += 1 - sUpdateCtrl() - Case Keys.Escape - TestStop() - End Select - Else - - If KeyCode(CtrlC) = Key0 Then - CtrlC += 1 - If CtrlC = KeyCode.Count Then - TestActive = True - TestRun() - End If - Else - CtrlC = 0 - End If - - End If - End Sub - - Private Sub sAbort() - - Dim s As String, s1 As String - - If TestAborted Then Exit Sub - - TestAborted = True - - MyForm.TmProgSec.Stop() - - MyForm.LvMsg.BeginUpdate() - - s = MyForm.LvMsg.Items(0).Text - MyForm.LvMsg.Items.RemoveAt(0) - MyForm.LvMsg.Items.Insert(0, "You crashed!" & Microsoft.VisualBasic.Right(s, Len(s) - 12)) - - s = MyForm.LvMsg.Items(1).Text - s1 = "Score: " & Scr & " " - MyForm.LvMsg.Items.RemoveAt(1) - MyForm.LvMsg.Items.Insert(1, s1 & Microsoft.VisualBasic.Right(s, Len(s) - Len(s1))) - - MyForm.LvMsg.EndUpdate() - - LogFile.WriteToLog(tMsgID.Normal, "*** Race Score: " & Scr.ToString("0000") & " ***") - - CtrlC = 0 - TestActive = False - - MyForm.ToolStripLbStatus.Text = MyForm.LastModeName & " Mode" - End Sub - - Private Sub sSetCtrl() - Dim x As Int16 - If Scr < 10 Then Exit Sub - Ctrls(RowLim + 1) = 0 - CtrlC += 1 - If CtrlC < CtrlCL Then Exit Sub - Select Case CInt(Int((CtrlRnd * Rnd()) + 1)) - Case 1, 2 - CtrlC = 0 - x = CInt(Int((7 * Rnd()) + 1)) - Ctrls(RowLim + 1) = x - Case Else - End Select - End Sub - - Private Sub sUpdateCtrl() - Dim s As String - If bInit < 21 Then - xCtrl = ColLim - 10 - Exit Sub - End If - If Math.Abs(xCtrl - Pnls(1)) > 5 Then - sAbort() - Exit Sub - End If - s = Replace(MyForm.LvMsg.Items(RowLim - 1).Text.ToString, "∆", " ") & " " - s = Microsoft.VisualBasic.Left(s, ColLim + 15) - 's = s.Remove(0, 20) - 's = "Press <Esc> to Quit " & s - If Mid(s, xCtrl + 5, 1) = "X" Then - sAbort() - Exit Sub - End If - s = s.Remove(xCtrl + 4, 1) - 's = Trim(s.Insert(xCar + 4, "∆")) & Space(ColLim + 5 - Streets(2)) & "Pts: " & Pts & " Lv: " & DiffLvl - s = Space(Pnls(2) - 1) & Trim(s.Insert(xCtrl + 4, "∆")) - MyForm.LvMsg.Items.RemoveAt(RowLim - 1) - MyForm.LvMsg.Items.Insert(RowLim - 1, s) - MyForm.ToolStripLbStatus.Text = "Score: " & Scr.ToString("0000") & " Press <Esc> to Quit" - End Sub - - Private Sub sSetPanel() - Dim s As String - s = "*| | |*" - If PRbAlt Then - s = s.Remove(5, 1) - s = s.Insert(5, " ") - End If - If Ctrls(RowLim + 1) <> 0 Then - s = s.Remove(Ctrls(RowLim + 1) + 1, 1) - s = s.Insert(Ctrls(RowLim + 1) + 1, "X") - End If - Select Case xPanel - Pnls(RowLim) - Case -1 - s = Replace(s, "|", "\") - Case 1 - s = Replace(s, "|", "/") - End Select - MyForm.LvMsg.Items.Insert(0, Space(xPanel - 1) & s) - End Sub - - Private Sub sAlign() - PnDirC += 1 - If PnDirC < PnDirCL Then GoTo Lb1 - PnDirC = 0 - Select Case CInt(Int((PnDirRnd * Rnd()) + 1)) - Case 1 - PnDir = 1 - Case 2 - PnDir = -1 - Case Else - PnDir = 0 - End Select -Lb1: - xPanel += PnDir - If xPanel > ColLim Then - xPanel = ColLim - ElseIf xPanel < 22 Then - xPanel = 22 - End If - Pnls(RowLim + 1) = xPanel - End Sub - - Private Sub sLists() - Dim x As Int16 - For x = 2 To RowLim + 1 - Ctrls(x - 1) = Ctrls(x) - Pnls(x - 1) = Pnls(x) - Next - End Sub - - Public Sub New(Form As F_MAINForm) - MyForm = Form - KeyCode = New List(Of Integer) - KeyCode.Add(Keys.Up) - KeyCode.Add(Keys.Up) - KeyCode.Add(Keys.Down) - KeyCode.Add(Keys.Down) - KeyCode.Add(Keys.Left) - KeyCode.Add(Keys.Right) - KeyCode.Add(Keys.Left) - KeyCode.Add(Keys.Right) - KeyCode.Add(Keys.B) - KeyCode.Add(Keys.A) - CtrlC = 0 - End Sub - End Class - - Private Sub LvMsg_KeyDown(sender As Object, e As KeyEventArgs) Handles LvMsg.KeyDown - GUItest0.TestKey(e.KeyValue) - If GUItest0.TestActive Then e.SuppressKeyPress = True - End Sub - - Private Sub LvMsg_LostFocus(sender As Object, e As EventArgs) Handles LvMsg.LostFocus - If GUItest0.TestActive Then GUItest0.TestStop() - End Sub - -#End Region - - Private Sub LvMsg_KeyUp(sender As Object, e As KeyEventArgs) Handles LvMsg.KeyUp - If (e.Control And e.KeyCode = Keys.C) Then - Dim builder As StringBuilder = New StringBuilder() - For Each selectedItem As ListViewItem In LvMsg.SelectedItems - builder.AppendLine(String.Join(", ", - selectedItem.SubItems.Cast(Of ListViewItem.ListViewSubItem).Select( - Function(item) item.Text))) - Next - Clipboard.SetText(builder.ToString()) - End If - End Sub - - Private Sub LvMsg_MouseDown(sender As Object, e As MouseEventArgs) Handles LvMsg.MouseDown - mouseDownOnListView = True - End Sub - - Private Sub LvMsg_MouseUp(sender As Object, e As MouseEventArgs) Handles LvMsg.MouseUp - mouseDownOnListView = False - End Sub - - Private Sub LvGEN_MouseUp(sender As Object, e As MouseEventArgs) Handles LvGEN.MouseUp - If e.Button = MouseButtons.Right Then - ConMenTarget = LvGEN - ConMenTarJob = True - - 'Locked functions show/hide - LoadListToolStripMenuItem.Enabled = Not GUIlocked - LoadDefaultListToolStripMenuItem.Enabled = Not GUIlocked - ClearListToolStripMenuItem.Enabled = Not GUIlocked - - ConMenFilelist.Show(MousePosition) - End If - End Sub - - Private Sub RbDev_CheckedChanged(sender As Object, e As EventArgs) Handles RbDev.CheckedChanged - End Sub -End Class +' +' This file is part of VECTO. +' +' Copyright © 2012-2016 European Union +' +' Developed by Graz University of Technology, +' Institute of Internal Combustion Engines and Thermodynamics, +' Institute of Technical Informatics +' +' VECTO is licensed under the EUPL, Version 1.1 or - as soon they will be approved +' by the European Commission - subsequent versions of the EUPL (the "Licence"); +' You may not use VECTO except in compliance with the Licence. +' You may obtain a copy of the Licence at: +' +' https://joinup.ec.europa.eu/community/eupl/og_page/eupl +' +' Unless required by applicable law or agreed to in writing, VECTO +' distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' See the Licence for the specific language governing permissions and +' limitations under the Licence. +' +' Authors: +' Stefan Hausberger, hausberger@ivt.tugraz.at, IVT, Graz University of Technology +' Christian Kreiner, christian.kreiner@tugraz.at, ITI, Graz University of Technology +' Michael Krisper, michael.krisper@tugraz.at, ITI, Graz University of Technology +' Raphael Luz, luz@ivt.tugraz.at, IVT, Graz University of Technology +' Markus Quaritsch, markus.quaritsch@tugraz.at, IVT, Graz University of Technology +' Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology +' + +Imports System.Collections.Generic +Imports System.ComponentModel +Imports System.IO +Imports System.Linq +Imports System.Reflection +Imports TUGraz.VectoCore.Models.Simulation.Impl +Imports TUGraz.VectoCore.InputData.FileIO.JSON +Imports System.Text +Imports System.Text.RegularExpressions +Imports System.Threading +Imports TUGraz.VectoCommon.InputData +Imports TUGraz.VectoCommon.Models +Imports TUGraz.VectoCommon.Utils +Imports TUGraz.VectoCore.OutputData +Imports TUGraz.VectoCore.OutputData.FileIO +Imports TUGraz.VectoCore.Utils + +''' <summary> +''' Main application form. Loads at application start. Closing form ends application. +''' </summary> +''' <remarks></remarks> + +Public Class MainForm + Private JobListView As cFileListView + Private CycleListView As cFileListView + + Private LastModeName As String + Private ConMenTarget As ListView + Private ConMenTarJob As Boolean + + Private GUIlocked As Boolean + + Private CheckLock As Boolean + Private GENchecked As Integer + Private GENcheckAllLock As Boolean + + Private CbDeclLock As Boolean = False + +#Region "SLEEP Control - Prevent sleep while VECTO is running" + + Private Declare Function SetThreadExecutionState Lib "kernel32" (esFlags As Long) As Long + + Private Sub AllowSleepOFF() +#If Not PLATFORM = "x86" Then + SetThreadExecutionState(tEXECUTION_STATE.ES_CONTINUOUS Or tEXECUTION_STATE.ES_SYSTEM_REQUIRED) +#End If + End Sub + + Private Sub AllowSleepON() +#If Not PLATFORM = "x86" Then + SetThreadExecutionState(tEXECUTION_STATE.ES_CONTINUOUS) +#End If + End Sub + + Private Enum tEXECUTION_STATE As Integer + ''' Informs the system that the state being set should remain in effect until the next call that uses ES_CONTINUOUS and one of the other state flags is cleared. + ES_CONTINUOUS = &H80000000 + ''' Forces the display to be on by resetting the display idle timer. + ES_DISPLAY_REQUIRED = &H2 + ''' Forces the system to be in the working state by resetting the system idle timer. + ES_SYSTEM_REQUIRED = &H1 + End Enum + +#End Region + +#Region "FileBrowser Init/Close" + + Private Sub FB_Initialize() + FileBrowserFolderHistoryIninialized = False + Try + COREvers = Assembly.LoadFrom("VectoCore.dll").GetName().Version.ToString() + Catch ex As Exception + LogFile.WriteToLog(MessageType.Err, ex.StackTrace) + End Try + + + FolderFileBrowser = New FileBrowser("WorkDir", True) + TextFileBrowser = New FileBrowser("FileLists") + JobfileFileBrowser = New FileBrowser("vecto") + VehicleFileBrowser = New FileBrowser("vveh") + FuelConsumptionMapFileBrowser = New FileBrowser("vmap") + DrivingCycleFileBrowser = New FileBrowser("vdri") + FullLoadCurveFileBrowser = New FileBrowser("vfld") + EngineFileBrowser = New FileBrowser("veng") + GearboxFileBrowser = New FileBrowser("vgbx") + DriverAccelerationFileBrowser = New FileBrowser("vacc") + AuxFileBrowser = New FileBrowser("vaux") + GearboxShiftPolygonFileBrowser = New FileBrowser("vgbs") + RetarderLossMapFileBrowser = New FileBrowser("vrlm") + TransmissionLossMapFileBrowser = New FileBrowser("vtlm") + TorqueConverterFileBrowser = New FileBrowser("vtcc") + fbTCCShift = New FileBrowser("vgbs") + fbCDx = New FileBrowser("vcdx") + DriverDecisionFactorVelocityDropFileBrowser = New FileBrowser("DfVelocityDrop") + DriverDecisionFactorTargetSpeedFileBrowser = New FileBrowser("DfTargetSpeed") + DriverDecisionFactorVelocityDropFileBrowser.Extensions = New String() {"csv"} + DriverDecisionFactorTargetSpeedFileBrowser.Extensions = New String() {"csv"} + + ModalResultsFileBrowser = New FileBrowser("vmod") + + + '------------------------------------------------------- + TextFileBrowser.Extensions = New String() {"txt"} + JobfileFileBrowser.Extensions = New String() {"vecto"} + VehicleFileBrowser.Extensions = New String() {"vveh"} + FuelConsumptionMapFileBrowser.Extensions = New String() {"vmap"} + DrivingCycleFileBrowser.Extensions = New String() {"vdri"} + FullLoadCurveFileBrowser.Extensions = New String() {"vfld"} + EngineFileBrowser.Extensions = New String() {"veng"} + GearboxFileBrowser.Extensions = New String() {"vgbx"} + DriverAccelerationFileBrowser.Extensions = New String() {"vacc"} + AuxFileBrowser.Extensions = New String() {"vaux"} + GearboxShiftPolygonFileBrowser.Extensions = New String() {"vgbs"} + RetarderLossMapFileBrowser.Extensions = New String() {"vrlm"} + TransmissionLossMapFileBrowser.Extensions = New String() {"vtlm"} + TorqueConverterFileBrowser.Extensions = New String() {"vtcc"} + fbTCCShift.Extensions = New String() {"vgbs"} + fbCDx.Extensions = New String() {"vcdv", "vcdb"} + + ModalResultsFileBrowser.Extensions = New String() {"vmod"} + End Sub + + Private Sub FB_Close() + FolderFileBrowser.Close() + TextFileBrowser.Close() + JobfileFileBrowser.Close() + VehicleFileBrowser.Close() + FuelConsumptionMapFileBrowser.Close() + DrivingCycleFileBrowser.Close() + FullLoadCurveFileBrowser.Close() + EngineFileBrowser.Close() + GearboxFileBrowser.Close() + DriverAccelerationFileBrowser.Close() + AuxFileBrowser.Close() + GearboxShiftPolygonFileBrowser.Close() + RetarderLossMapFileBrowser.Close() + TransmissionLossMapFileBrowser.Close() + TorqueConverterFileBrowser.Close() + fbTCCShift.Close() + fbCDx.Close() + ModalResultsFileBrowser.Close() + End Sub + +#End Region + + 'Lock certain GUI elements while VECTO is running + Private Sub LockGUI(Lock As Boolean) + GUIlocked = Lock + + PanelOptAllg.Enabled = Not Lock + + BtGENup.Enabled = Not Lock + BtGENdown.Enabled = Not Lock + ButtonGENadd.Enabled = Not Lock + ButtonGENremove.Enabled = Not Lock + LvGEN.LabelEdit = Not Lock + ChBoxAllGEN.Enabled = Not Lock + + btStartV3.Enabled = Not Lock + End Sub + + +#Region "Form Init/Close" + + 'Initialise + Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load + Dim x As Integer + + GUIlocked = False + CheckLock = False + GENcheckAllLock = False + GENchecked = 0 + + + 'Load Tabs properly (otherwise problem with ListViews) + For x = 0 To TabControl1.TabCount - 1 + TabControl1.TabPages(x).Show() + Next + + LastModeName = "" + + FB_Initialize() + + Text = "VECTO " & VECTOvers & " / VectoCore " & COREvers + + + 'FileLists + JobListView = New cFileListView(MyConfPath & "joblist.txt") + JobListView.LVbox = LvGEN + CycleListView = New cFileListView(MyConfPath & "cyclelist.txt") + + JobListView.LoadList() + + LoadOptions() + + 'Resize columns ... after Loading the @file-lists + LvGEN.Columns(1).Width = -2 + LvMsg.Columns(2).Width = -2 + + 'Initialize BackgroundWorker + + VECTOworkerV3 = New BackgroundWorker() + AddHandler VECTOworkerV3.DoWork, AddressOf VectoWorkerV3_OnDoWork + AddHandler VECTOworkerV3.ProgressChanged, AddressOf VectoWorkerV3_OnProgressChanged + AddHandler VECTOworkerV3.RunWorkerCompleted, AddressOf VectoWorkerV3_OnRunWorkerCompleted + + VECTOworkerV3.WorkerReportsProgress = True + VECTOworkerV3.WorkerSupportsCancellation = True + + + 'Set mode (Batch/Standard) + ModeUpdate() + +#If DEBUG Then + Const LicCheck As Boolean = False +#Else + Const LicCheck as Boolean = True +#End If + + 'License check + If LicCheck And Not Lic.LICcheck() Then + MsgBox("License File invalid!" & vbCrLf & vbCrLf & Lic.FailMsg) + If Lic.CreateActFile(MyAppPath & "ActivationCode.dat") Then + MsgBox("Activation File created.") + Else + MsgBox("Failed to create Activation File! Is Directory Read-Only?") + End If + Close() + Else + GUIMsg(MessageType.Normal, "License File validated.") + If Lic.TimeWarn Then GUIMsg(MessageType.Warn, "License expiring date (y/m/d): " & Lic.ExpTime) + End If + + DeclOnOff() + End Sub + + Public Shared Sub LogMethod(level As String, message As String) + Try + If level = "Warn" Then + VECTOworkerV3.ReportProgress(100, New With {.Target = "ListBoxWarning", .Message = message}) + ElseIf level = "Error" Or level = "Fatal" Then + VECTOworkerV3.ReportProgress(100, New With {.Target = "ListBoxError", .Message = message}) + + End If + Catch e As InvalidOperationException + + End Try + End Sub + + 'Declaration mode GUI settings + Private Sub DeclOnOff() + + If Cfg.DeclMode Then + Text = "VECTO " & COREvers & " - Declaration Mode" + Cfg.DeclInit() + Else + Text = "VECTO " & COREvers + End If + + If Cfg.DeclMode Then + LastModeName = "Declaration" + Else + LastModeName = "Engineering" + End If + + Status(LastModeName & " Mode") + + LoadOptions() + + LbDecl.Visible = Cfg.DeclMode + End Sub + + 'Shown Event (Form-Load finished) ... here StartUp Forms are loaded (DEV, GEN/ADV- Editor ..) + Private Sub F01_MAINForm_Shown(sender As Object, e As EventArgs) Handles Me.Shown + Dim fwelcome As WelcomeDialog + + If Cfg.FirstRun Then + Cfg.FirstRun = False + fwelcome = New WelcomeDialog + fwelcome.ShowDialog() + End If + 'End If + End Sub + + 'Open file + + 'Close + Private Sub F01_MAINForm_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + + 'Save File-Lists + SaveFileLists() + + 'Close log + LogFile.CloseLog() + + 'Config save + SetOptions() + Cfg.Save() + + 'File browser instances close + FB_Close() + End Sub + +#End Region + + 'Open file - Job, vehicle, engine, gearbox or signature file + Public Sub OpenVectoFile(File As String) + + If Not IO.File.Exists(File) Then + + GUIMsg(MessageType.Err, "File not found! (" & File & ")") + MsgBox("File not found! (" & File & ")", MsgBoxStyle.Critical) + + Else + + Select Case UCase(fEXT(File)) + Case ".VGBX" + If Not GearboxForm.Visible Then + GearboxForm.Show() + Else + GearboxForm.JobDir = "" + If GearboxForm.WindowState = FormWindowState.Minimized Then GearboxForm.WindowState = FormWindowState.Normal + GearboxForm.BringToFront() + End If + GearboxForm.openGBX(File) + Case ".VVEH" + If Not VehicleForm.Visible Then + VehicleForm.Show() + Else + VehicleForm.JobDir = "" + If VehicleForm.WindowState = FormWindowState.Minimized Then VehicleForm.WindowState = FormWindowState.Normal + VehicleForm.BringToFront() + End If + VehicleForm.OpenVehicle(File) + Case ".VENG" + If Not EngineForm.Visible Then + EngineForm.Show() + Else + EngineForm.JobDir = "" + If EngineForm.WindowState = FormWindowState.Minimized Then EngineForm.WindowState = FormWindowState.Normal + EngineForm.BringToFront() + End If + EngineForm.OpenEngineFile(File) + Case ".VECTO" + OpenVECTOeditor(File) + Case ".VSIG" + OpenSigFile(File) + Case Else + MsgBox("Type '" & fEXT(File) & "' unknown!", MsgBoxStyle.Critical) + End Select + + End If + End Sub + + +#Region "Events" + + Private Sub ButtonGENremove_Click(sender As Object, e As EventArgs) _ + Handles ButtonGENremove.Click + RemoveJobFile() + End Sub + + Private Sub ButtonGENadd_Click(sender As Object, e As EventArgs) _ + Handles ButtonGENadd.Click + AddJobFile() + End Sub + + Private Sub ListViewGEN_KeyDown(sender As Object, e As KeyEventArgs) _ + Handles LvGEN.KeyDown + Select Case e.KeyCode + Case Keys.Delete, Keys.Back + If Not GUIlocked Then RemoveJobFile() + Case Keys.Enter + OpenJobFile() + End Select + End Sub + + Private Sub ListViewGEN_DoubleClick(sender As Object, e As EventArgs) Handles LvGEN.DoubleClick + If LvGEN.SelectedItems.Count > 0 Then + LvGEN.SelectedItems(0).Checked = Not LvGEN.SelectedItems(0).Checked + OpenJobFile() + End If + End Sub + + Private Sub LvGEN_ItemChecked(sender As Object, e As ItemCheckedEventArgs) _ + Handles LvGEN.ItemChecked + + If e.Item.Checked Then + GENchecked += 1 + Else + GENchecked -= 1 + End If + + If CheckLock Then Exit Sub + UpdateJobTabText() + End Sub + + Private Sub ChBoxAllGEN_CheckedChanged(sender As Object, e As EventArgs) _ + Handles ChBoxAllGEN.CheckedChanged + + If GENcheckAllLock And ChBoxAllGEN.CheckState = CheckState.Indeterminate Then Exit Sub + + CheckAllGEN(ChBoxAllGEN.Checked) + End Sub + + Private Sub CheckAllGEN(Check As Boolean) + Dim x As ListViewItem + + CheckLock = True + LvGEN.BeginUpdate() + + For Each x In LvGEN.Items + x.Checked = Check + Next + + LvGEN.EndUpdate() + CheckLock = False + + GENchecked = LvGEN.CheckedItems.Count + UpdateJobTabText() + End Sub + + Private Sub ListGEN_DragEnter(sender As Object, e As DragEventArgs) _ + Handles LvGEN.DragEnter + If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then + e.Effect = DragDropEffects.Copy + End If + End Sub + + Private Sub ListGEN_DragDrop(sender As Object, e As DragEventArgs) _ + Handles LvGEN.DragDrop + Dim f As String() + f = CType(e.Data.GetData(DataFormats.FileDrop), Array) + AddToJobListView(f) + End Sub + + Private Sub BtGENup_Click(sender As Object, e As EventArgs) Handles BtGENup.Click + MoveItem(LvGEN, True) + End Sub + + Private Sub BtGENdown_Click(sender As Object, e As EventArgs) Handles BtGENdown.Click + MoveItem(LvGEN, False) + End Sub + +#End Region + + 'Remove selected file(s) from job list + Private Sub RemoveJobFile() + Dim lastindx As Integer + Dim SelIx() As Integer + Dim i As Integer + + If LvGEN.SelectedItems.Count < 1 Then + If LvGEN.Items.Count = 1 Then + LvGEN.Items(0).Selected = True + Else + Exit Sub + End If + End If + + LvGEN.BeginUpdate() + CheckLock = True + + ReDim SelIx(LvGEN.SelectedItems.Count - 1) + LvGEN.SelectedIndices.CopyTo(SelIx, 0) + + lastindx = LvGEN.SelectedIndices(LvGEN.SelectedItems.Count - 1) + + For i = UBound(SelIx) To 0 Step -1 + LvGEN.Items.RemoveAt(SelIx(i)) + Next + + If lastindx < LvGEN.Items.Count Then + LvGEN.Items(lastindx).Selected = True + Else + If LvGEN.Items.Count > 0 Then LvGEN.Items(LvGEN.Items.Count - 1).Selected = True + End If + + LvGEN.EndUpdate() + CheckLock = False + + GENchecked = LvGEN.CheckedItems.Count + UpdateJobTabText() + End Sub + + 'Browse for job file(s) and add to job list with AddToJobListView + Private Sub AddJobFile() + Dim x As String() + Dim Chck As Boolean = False + + x = New String() {""} + + 'STANDARD/BATCH + If JobfileFileBrowser.OpenDialog("", True, "vecto") Then + Chck = True + x = JobfileFileBrowser.Files + End If + + If Chck Then AddToJobListView(x) + End Sub + + 'Open file in list + Private Sub OpenJobFile() + Dim f As String + + If LvGEN.SelectedItems.Count < 1 Then + If LvGEN.Items.Count = 1 Then + LvGEN.Items(0).Selected = True + Else + Exit Sub + End If + End If + + f = LvGEN.SelectedItems(0).SubItems(0).Text + f = fFileRepl(f) + If Not File.Exists(f) Then + MsgBox(f & " not found!") + Else + OpenVECTOeditor(f) + End If + End Sub + + 'Add File to job listview (multiple files) + Private Sub AddToJobListView(Path As String(), Optional ByVal Txt As String = " ") + Dim pDim As Int16 + Dim p As Int16 + Dim f As Int16 + Dim fList As String() + Dim fListDim As Int16 = -1 + Dim ListViewItem0 As ListViewItem + + 'If VECTO runs: Cancel operation (because Mode-change during calculation is not very clever) + If VECTOworkerV3.IsBusy Then Exit Sub + + pDim = UBound(Path) + ReDim fList(0) 'um Nullverweisausnahme-Warnung zu verhindern + + '******************************************* Begin Update '******************************************* + LvGEN.BeginUpdate() + CheckLock = True + + LvGEN.SelectedIndices.Clear() + + If pDim = 0 Then + fListDim = LvGEN.Items.Count - 1 + ReDim fList(fListDim) + For f = 0 To fListDim + fList(f) = fFileRepl(LvGEN.Items(f).SubItems(0).Text) + Next + End If + + For p = 0 To pDim + + If pDim = 0 Then + + For f = 0 To fListDim + + 'If file already exists in the list: Do not append (only when a single file) + If UCase(Path(p)) = UCase(fList(f)) Then + + 'Status reset + LvGEN.Items(f).SubItems(1).Text = Txt + LvGEN.Items(f).BackColor = Color.FromKnownColor(KnownColor.Window) + LvGEN.Items(f).ForeColor = Color.FromKnownColor(KnownColor.WindowText) + + 'Element auswählen und anhaken |@@| Element selection and hook + LvGEN.Items(f).Selected = True + LvGEN.Items(f).Checked = True + LvGEN.Items(f).EnsureVisible() + + GoTo lbFound + End If + Next + + End If + + 'Otherwise: Add File (without WorkDir) + ListViewItem0 = New ListViewItem(Path(p)) 'fFileWD(Path(p))) + ListViewItem0.SubItems.Add(" ") + ListViewItem0.Checked = True + ListViewItem0.Selected = True + LvGEN.Items.Add(ListViewItem0) + ListViewItem0.EnsureVisible() +lbFound: + Next + + LvGEN.EndUpdate() + CheckLock = False + '******************************************* End Update '******************************************* + + 'Number update + GENchecked = LvGEN.CheckedItems.Count + UpdateJobTabText() + End Sub + + 'Add File to job listview (single file) + Public Sub AddToJobListView(Path As String, Optional ByVal Txt As String = " ") + Dim p(0) As String + p(0) = Path + AddToJobListView(p, Txt) + End Sub + + 'Update job files counter in tab titel + Private Sub UpdateJobTabText() + Dim c As Integer + c = LvGEN.Items.Count + + TabPageGEN.Text = "Job Files ( " & GENchecked & " / " & c & " )" + + GENcheckAllLock = True + + If GENchecked = 0 Then + ChBoxAllGEN.CheckState = CheckState.Unchecked + ElseIf GENchecked = c Then + ChBoxAllGEN.CheckState = CheckState.Checked + Else + ChBoxAllGEN.CheckState = CheckState.Indeterminate + End If + + GENcheckAllLock = False + End Sub + + +#Region "Toolstrip" + + 'New Job file + Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click + OpenVECTOeditor("<New>") + End Sub + + 'Open input file + Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click + + If JobfileFileBrowser.OpenDialog("", False, "vecto,vveh,vgbx,veng,vsig") Then + OpenVectoFile(JobfileFileBrowser.Files(0)) + End If + End Sub + + Private Sub GENEditorToolStripMenuItem1_Click(sender As Object, e As EventArgs) _ + Handles GENEditorToolStripMenuItem1.Click + OpenVECTOeditor("<New>") + End Sub + + Private Sub VEHEditorToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles VEHEditorToolStripMenuItem.Click + If Not VehicleForm.Visible Then + VehicleForm.Show() + Else + If VehicleForm.WindowState = FormWindowState.Minimized Then VehicleForm.WindowState = FormWindowState.Normal + VehicleForm.BringToFront() + End If + End Sub + + Private Sub EngineEditorToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles EngineEditorToolStripMenuItem.Click + If Not EngineForm.Visible Then + EngineForm.Show() + Else + If EngineForm.WindowState = FormWindowState.Minimized Then EngineForm.WindowState = FormWindowState.Normal + EngineForm.BringToFront() + End If + End Sub + + Private Sub GearboxEditorToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles GearboxEditorToolStripMenuItem.Click + If Not GearboxForm.Visible Then + GearboxForm.Show() + Else + If GearboxForm.WindowState = FormWindowState.Minimized Then GearboxForm.WindowState = FormWindowState.Normal + GearboxForm.BringToFront() + End If + End Sub + + Private Sub GraphToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles GraphToolStripMenuItem.Click + Dim FGraph As New GraphForm + FGraph.Show() + End Sub + + Private Sub SignOrVerifyFilesToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles SignOrVerifyFilesToolStripMenuItem.Click + If Not FileSignDialog.Visible Then + FileSignDialog.Show() + Else + If FileSignDialog.WindowState = FormWindowState.Minimized Then FileSignDialog.WindowState = FormWindowState.Normal + FileSignDialog.BringToFront() + End If + End Sub + + Private Sub OpenLogToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles OpenLogToolStripMenuItem.Click + Process.Start(MyAppPath & "log.txt") + End Sub + + Private Sub SettingsToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles SettingsToolStripMenuItem.Click + Settings.ShowDialog() + End Sub + + Private Sub UserManualToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles UserManualToolStripMenuItem.Click + If File.Exists(MyAppPath & "User Manual\help.html") Then + Dim BrowserRegistryString As String = + My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString + Dim DefaultBrowserPath As String = + Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString + Process.Start(DefaultBrowserPath, Uri.EscapeDataString(MyAppPath & "User Manual\help.html")) + Else + MsgBox("User Manual not found!", MsgBoxStyle.Critical) + End If + End Sub + + Private Sub UpdateNotesToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles UpdateNotesToolStripMenuItem.Click + If File.Exists(MyAppPath & "User Manual\Release Notes.pdf") Then + Process.Start(MyAppPath & "User Manual\Release Notes.pdf") + Else + MsgBox("Release Notes not found!", MsgBoxStyle.Critical) + End If + End Sub + + Private Sub ReportBugViaCITnetToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles ReportBugViaCITnetToolStripMenuItem.Click + JiraDialog.ShowDialog() + End Sub + + Private Sub CreateActivationFileToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles CreateActivationFileToolStripMenuItem.Click + If MsgBox("Create Activation File ?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then + If Lic.CreateActFile(MyAppPath & "ActivationCode.dat") Then + GUIMsg(MessageType.Normal, "Activation File created.") + Else + GUIMsg(MessageType.Err, "Failed to create Activation File!") + MsgBox("ERROR! Failed to create Activation File!", MsgBoxStyle.Critical) + End If + End If + End Sub + + Private Sub AboutVECTOToolStripMenuItem1_Click(sender As Object, e As EventArgs) _ + Handles AboutVECTOToolStripMenuItem1.Click + AboutBox.ShowDialog() + End Sub + + +#End Region + + 'Move job/cycle file up or down in list view + Private Sub MoveItem(ByRef ListV As ListView, MoveUp As Boolean) + Dim x As Int32 + Dim y As Int32 + Dim y1 As Int32 + Dim items() As String + Dim check() As Boolean + Dim index() As Integer + Dim ListViewItem0 As ListViewItem + + If GUIlocked Then Exit Sub + + 'Cache Selected Items + y1 = ListV.SelectedItems.Count - 1 + ReDim items(y1) + ReDim check(y1) + ReDim index(y1) + y = 0 + For Each x In ListV.SelectedIndices + items(y) = ListV.Items(x).SubItems(0).Text + check(y) = ListV.Items(x).Checked + If MoveUp Then + If x = 0 Then Exit Sub + index(y) = x - 1 + Else + If x = ListV.Items.Count - 1 Then Exit Sub + index(y) = x + 1 + End If + y += 1 + Next + + ListV.BeginUpdate() + + 'Delete Selected Items + For Each ListViewItem0 In ListV.SelectedItems + ListViewItem0.Remove() + Next + + 'Items select and Insert + For y = 0 To y1 + If Not check(y) Then GENchecked += 1 + ListViewItem0 = ListV.Items.Insert(index(y), items(y)) + ListViewItem0.SubItems.Add(" ") + ListViewItem0.Checked = check(y) + ListV.SelectedIndices.Add(index(y)) + Next + + ListV.EndUpdate() + End Sub + + +#Region "job/cycle file List - Context Menu" + + 'Save List + Private Sub SaveListToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles SaveListToolStripMenuItem.Click + If TextFileBrowser.SaveDialog("") Then + If ConMenTarJob Then + JobListView.SaveList(TextFileBrowser.Files(0)) + Else + CycleListView.SaveList(TextFileBrowser.Files(0)) + End If + End If + End Sub + + 'Load List + Private Sub LoadListToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles LoadListToolStripMenuItem.Click + + If GUIlocked Then Exit Sub + + If TextFileBrowser.OpenDialog("") Then + + If ConMenTarJob Then 'GEN + JobListView.LoadList(TextFileBrowser.Files(0)) + GENchecked = LvGEN.CheckedItems.Count + UpdateJobTabText() + Else 'DRI + 'Mode toggle + CycleListView.LoadList(TextFileBrowser.Files(0)) + End If + + End If + End Sub + + 'Load Default List + Private Sub LoadDefaultListToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles LoadDefaultListToolStripMenuItem.Click + + If GUIlocked Then Exit Sub + + If ConMenTarJob Then + + JobListView.LoadList() + + GENchecked = LvGEN.CheckedItems.Count + UpdateJobTabText() + Else + CycleListView.LoadList() + + End If + End Sub + + 'Clear List + Private Sub ClearListToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles ClearListToolStripMenuItem.Click + + If GUIlocked Then Exit Sub + + ConMenTarget.Items.Clear() + If ConMenTarJob Then + GENchecked = LvGEN.CheckedItems.Count + UpdateJobTabText() + End If + End Sub + +#End Region + + 'VECTO Start button - Calls VECTO_Launcher or aborts calculation + + Private Sub btStartV3_Click(sender As Object, e As EventArgs) Handles btStartV3.Click + If Not VECTOworkerV3.IsBusy Then + 'Save Lists for Crash + SaveFileLists() + + LvGEN.SelectedItems.Clear() + + If LvGEN.CheckedItems.Count = 0 Then + GUIMsg(MessageType.Err, "No job file selected!") + Exit Sub + End If + + Status("Launching VECTO ...") + JobFileList.Clear() + JobFileList.AddRange(From listViewItem In LvGEN.CheckedItems Select fFileRepl(listViewItem.SubItems(0).Text)) + + SetOptions() + Cfg.Save() + ClearMsg() + + LockGUI(True) + btStartV3.Enabled = True + btStartV3.Text = "STOP" + btStartV3.Image = My.Resources.Stop_icon + + ToolStripProgBarOverall.Value = 0 + ToolStripProgBarOverall.Style = ProgressBarStyle.Continuous + ToolStripProgBarOverall.Visible = True + + VECTOworkerV3.RunWorkerAsync() + Else + btStartV3.Enabled = False + btStartV3.Text = "Aborting..." + btStartV3.Image = My.Resources.Play_icon_gray + VECTOworkerV3.CancelAsync() + End If + End Sub + + Private Sub VectoWorkerV3_OnDoWork(sender As BackgroundWorker, e As DoWorkEventArgs) + AllowSleepOFF() + + Dim sumFileWriter As FileOutputWriter = New FileOutputWriter(JobFileList(0)) + Dim sumWriter As SummaryDataContainer = New SummaryDataContainer(sumFileWriter) + Dim jobContainer As JobContainer = New JobContainer(sumWriter) + + Dim mode As ExecutionMode + If Cfg.DeclMode Then + mode = ExecutionMode.Declaration + Else + mode = ExecutionMode.Engineering + Physics.FuelDensity = New SI(Cfg.FuelDens).Kilo.Gramm.Per.Cubic.Dezi.Meter.Cast(Of KilogramPerCubicMeter)() + Physics.AirDensity = New SI(Cfg.AirDensity).Kilo.Gramm.Per.Cubic.Meter.Cast(Of KilogramPerCubicMeter)() + Physics.CO2PerFuelWeight = Cfg.CO2perFC + End If + + 'dictionary of run-identifiers to fileWriters (used for output directory of modfile) + Dim fileWriters As Dictionary(Of Integer, FileOutputWriter) = New Dictionary(Of Integer, FileOutputWriter) + + 'list of finished runs + Dim finishedRuns As List(Of Integer) = New List(Of Integer) + + For Each jobFile As String In JobFileList + Try + sender.ReportProgress(0, New With {.Target = "ListBox", .Message = "Reading File " + jobFile, .Link = jobFile}) + + Dim dataProvider As IInputDataProvider = JSONInputDataFactory.ReadJsonJob(jobFile) + Dim fileWriter As FileOutputWriter = New FileOutputWriter(jobFile) + + Dim runsFactory As SimulatorFactory = New SimulatorFactory(mode, dataProvider, fileWriter) + runsFactory.WriteModalResults = Cfg.ModOut + runsFactory.ModalResults1Hz = Cfg.Mod1Hz + + For Each runId As Integer In jobContainer.AddRuns(runsFactory) + fileWriters.Add(runId, fileWriter) + Next + + sender.ReportProgress(0, New With {.Target = "ListBox", .Message = "Finished Reading Data for job: " + jobFile}) + + Catch ex As Exception + MsgBox(String.Format("ERROR running job {0}: {1}", jobFile, ex.Message), MsgBoxStyle.Critical) + sender.ReportProgress(0, New With {.Target = "ListBoxError", .Message = ex.Message}) + Return + End Try + Next + + 'print detected cycles + For Each cycle As JobContainer.CycleTypeDescription In jobContainer.GetCycleTypes() + sender.ReportProgress(0, + New With {.Target = "ListBox", .Message = String.Format("Detected Cycle {0}: {1}", cycle.Name, cycle.CycleType)}) + Next + + sender.ReportProgress(0, + New _ + With {.Target = "ListBox", + .Message = _ + String.Format("Starting Simulation ({0} Jobs, {1} Runs)", JobFileList.Count, jobContainer.GetProgress().Count)}) + + jobContainer.Execute(True) + + Dim start As DateTime = DateTime.Now() + + While Not jobContainer.AllCompleted + 'cancel the job if thread is interrupted (button "Stop" clicked) + If sender.CancellationPending Then + jobContainer.Cancel() + Return + End If + + Dim progress As Dictionary(Of Integer, JobContainer.ProgressEntry) = jobContainer.GetProgress() + Dim sumProgress As Double = progress.Sum(Function(pair) pair.Value.Progress) + Dim duration As Double = (DateTime.Now() - start).TotalSeconds + + sender.ReportProgress(Int((sumProgress * 100.0) / progress.Count), New With {.Target = "Status", + .Message = _ + String.Format("Duration: {0:0}s, Current Progress: {1:P} ({2})", duration, sumProgress / progress.Count, + String.Join(", ", progress.Select(Function(pair) String.Format("{0,4:P}", pair.Value.Progress))))}) + + Dim justFinished As Dictionary(Of Integer, JobContainer.ProgressEntry) = + progress.Where(Function(proc) proc.Value.Done AndAlso Not finishedRuns.Contains(proc.Key)).ToDictionary( + Function(pair) pair.Key, Function(pair) pair.Value) + PrintRuns(justFinished, fileWriters) + finishedRuns.AddRange(justFinished.Select(Function(pair) pair.Key)) + Thread.Sleep(100) + End While + + Dim remainingRuns As Dictionary(Of Integer, JobContainer.ProgressEntry) = + jobContainer.GetProgress().Where(Function(proc) proc.Value.Done AndAlso Not finishedRuns.Contains(proc.Key)). + ToDictionary(Function(pair) pair.Key, Function(pair) pair.Value) + PrintRuns(remainingRuns, fileWriters) + + finishedRuns.Clear() + fileWriters.Clear() + + For Each progressEntry As KeyValuePair(Of Integer, JobContainer.ProgressEntry) In jobContainer.GetProgress() + sender.ReportProgress(100, New With {.Target = "ListBox", + .Message = String.Format("{0,-60} {1,8:P} {2,10:F2}s - {3}", + String.Format("{0} {1} {2}", progressEntry.Value.RunName, progressEntry.Value.CycleName, + progressEntry.Value.RunSuffix), + progressEntry.Value.Progress, progressEntry.Value.ExecTime / 1000.0, + IIf(progressEntry.Value.Success, "Success", "Aborted"))}) + If (Not progressEntry.Value.Success) Then + sender.ReportProgress(100, New With {.Target = "ListBox", .Message = progressEntry.Value.Error.Message}) + End If + + Next + + For Each job As String In JobFileList + Dim report As String = New FileOutputWriter(job).PDFReportName + If File.Exists(report) Then + sender.ReportProgress(100, + New _ + With {.Target = "ListBox", + .Message = String.Format("PDF-Report for '{0}' written to {1}", Path.GetFileName(job), report), + .Link = "<RUN>" + report}) + End If + Next + + If File.Exists(sumFileWriter.SumFileName) Then + sender.ReportProgress(100, New With {.Target = "ListBox", + .Message = String.Format("Sum File written to {0}", sumFileWriter.SumFileName), + .Link = sumFileWriter.SumFileName}) + End If + + sender.ReportProgress(100, + New _ + With {.Target = "ListBox", + .Message = String.Format("Simulation Finished in {0:0}s", (DateTime.Now() - start).TotalSeconds)}) + End Sub + + + Private Shared Sub PrintRuns(progress As Dictionary(Of Integer, JobContainer.ProgressEntry), + fileWriters As Dictionary(Of Integer, FileOutputWriter)) + For Each p As KeyValuePair(Of Integer, JobContainer.ProgressEntry) In progress + Dim modFilename As String = fileWriters(p.Key).GetModDataFileName(p.Value.RunName, p.Value.CycleName, + p.Value.RunSuffix + IIf(Cfg.Mod1Hz, "_1Hz", "")) + + Dim runName As String = String.Format("{0} {1} {2}", p.Value.RunName, p.Value.CycleName, p.Value.RunSuffix) + + If Not p.Value.Error Is Nothing Then + VECTOworkerV3.ReportProgress(0, + New _ + With {.Target = "ListBoxError", + .Message = String.Format("Finished Run {0} with ERROR: {1}", runName, p.Value.Error.Message), + .Link = modFilename}) + Else + VECTOworkerV3.ReportProgress(0, + New With {.Target = "ListBox", .Message = String.Format("Finished Run {0} successfully.", runName)}) + End If + + If (File.Exists(modFilename)) Then + VECTOworkerV3.ReportProgress(0, + New _ + With {.Target = "ListBox", + .Message = String.Format("Run {0}: Modal Results written to {1}", runName, modFilename), .Link = modFilename + }) + End If + Next + End Sub + + Private Sub VectoWorkerV3_OnProgressChanged(sender As Object, e As ProgressChangedEventArgs) + Select Case e.UserState.Target + Case "ListBox" + If e.UserState.GetType().GetProperty("Link") Is Nothing Then + MSGtoForm(MessageType.Normal, e.UserState.Message, "", "") + Else + MSGtoForm(MessageType.Normal, e.UserState.Message, "", e.UserState.Link) + End If + Case "ListBoxWarning" + MSGtoForm(MessageType.Warn, e.UserState.Message, "", "") + Return + Case "ListBoxError" + MSGtoForm(MessageType.Err, e.UserState.Message, "", "") + Return + Case "Status" + Status(e.UserState.Message) + End Select + + ToolStripProgBarOverall.Value = e.ProgressPercentage + End Sub + + Private Sub VectoWorkerV3_OnRunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) + + 'Progbar reset + ToolStripProgBarOverall.Visible = False + ToolStripProgBarOverall.Style = ProgressBarStyle.Continuous + ToolStripProgBarOverall.Value = 0 + ProgSecStop() + + LvGEN.SelectedIndices.Clear() + + 'ShutDown when Unexpected Error + If e.Error IsNot Nothing Then + MsgBox("An Unexpected Error occurred!" & ChrW(10) & ChrW(10) & + e.Error.Message.ToString, MsgBoxStyle.Critical, "Unexpected Error") + LogFile.WriteToLog(MessageType.Err, ">>>Unexpected Error:" & e.Error.ToString()) + End If + + 'Options enable / GUI reset + LockGUI(False) + btStartV3.Text = "START" + btStartV3.Image = My.Resources.Play_icon + Status(LastModeName & " Mode") + + 'SLEEP reactivate + AllowSleepON() + End Sub + + + Private Sub ModeUpdate() + + 'Save lists + JobListView.SaveList() + + 'GUI changes according to current mode + + If Cfg.DeclMode Then + LastModeName = "Declaration" + Else + LastModeName = "Engineering" + End If + + 'Update job counter + GENchecked = LvGEN.CheckedItems.Count + UpdateJobTabText() + + 'Status label + Status(LastModeName & " Mode") + End Sub + + 'Class for ListView control - Job and cycle lists + Private Class cFileListView + Private ReadOnly FilePath As String + Private LoadedDefault As Boolean + Public LVbox As ListView + + Public Sub New(Path As String) + FilePath = Path + LoadedDefault = False + End Sub + + Public Sub SaveList(Optional ByVal Path As String = "") + Dim x As Int32 + Dim file As CsvFile + 'If LVbox.Items.Count = 0 Then Exit Sub + file = New CsvFile + If Path = "" Then + If Not LoadedDefault Then Exit Sub + Path = FilePath + End If + file.OpenWrite(Path, "?") + For x = 1 To LVbox.Items.Count + file.WriteLine(LVbox.Items(x - 1).SubItems(0).Text, Math.Abs(CInt(LVbox.Items(x - 1).Checked))) + Next + file.Close() + End Sub + + Public Sub LoadList(Optional ByVal Path As String = "") + Dim line As String() + Dim NoCheck As Boolean + Dim file As CsvFile + Dim ListViewItem0 As ListViewItem + + If Path = "" Then + Path = FilePath + LoadedDefault = True + End If + + file = New CsvFile + + If Not file.OpenRead(Path, "?") Then + If Not LoadedDefault Then GUIMsg(MessageType.Err, "Cannot open file (" & Path & ")!") + Exit Sub + End If + + MainForm.CheckLock = True + LVbox.BeginUpdate() + + LVbox.Items.Clear() + + NoCheck = False + Do While Not file.EndOfFile + line = file.ReadLine + + ListViewItem0 = New ListViewItem(line(0)) + ListViewItem0.SubItems.Add(" ") + + If NoCheck Then + ListViewItem0.Checked = True + Else + If UBound(line) < 1 Then + NoCheck = True + ListViewItem0.Checked = True + Else + If IsNumeric(line(1)) Then + ListViewItem0.Checked = CBool(line(1)) + Else + ListViewItem0.Checked = True + End If + End If + End If + LVbox.Items.Add(ListViewItem0) + Loop + + file.Close() + + LVbox.EndUpdate() + MainForm.CheckLock = False + + If LVbox.Items.Count > 0 Then LVbox.Items(LVbox.Items.Count - 1).EnsureVisible() + End Sub + End Class + + + 'Open Job Editor and open file (or new file) + Friend Sub OpenVECTOeditor(x As String) + + If Not VectoJobForm.Visible Then + VectoJobForm.Show() + Else + If VectoJobForm.WindowState = FormWindowState.Minimized Then VectoJobForm.WindowState = FormWindowState.Normal + VectoJobForm.BringToFront() + End If + + If x = "<New>" Then + VectoJobForm.VECTOnew() + Else + VectoJobForm.VECTOload2Form(x) + End If + + VectoJobForm.Activate() + End Sub + + 'Open signature file (.vsig) + Friend Sub OpenSigFile(file As String) + If Not FileSignDialog.Visible Then + FileSignDialog.Show() + + End If + FileSignDialog.WindowState = FormWindowState.Normal + FileSignDialog.TbSigFile.Text = file + FileSignDialog.VerifySigFile() + FileSignDialog.Activate() + End Sub + + 'Save job and cycle file lists + Private Sub SaveFileLists() + JobListView.SaveList() + 'If Cfg.BatchMode Then CycleListView.SaveList() + End Sub + + +#Region "Progressbar controls" + + 'Initialise progress bar (Start of next job in calculation) + + 'Stop - Hide progress bar + Private Sub ProgSecStop() + TmProgSec.Stop() + ToolStripProgBarJob.Visible = False + ToolStripProgBarJob.Value = 0 + End Sub + + 'Timer to update progress bar regularly + Private Sub TmProgSec_Tick(sender As Object, e As EventArgs) Handles TmProgSec.Tick + If GUItest0.TestActive Then + Call GUItest0.TestTick() + Exit Sub + Else + If Not ProgBarCtrl.ProgLock Then ProgSecUpdate() + End If + End Sub + + 'Update progress bar (timer controlled) + Private Sub ProgSecUpdate() + + With ProgBarCtrl + + If .ProgJobInt > 0 AndAlso ToolStripProgBarJob.Style = ProgressBarStyle.Marquee Then + ToolStripProgBarJob.Style = ProgressBarStyle.Continuous + End If + + If .ProgJobInt < 0 Then + .ProgJobInt = 0 + ElseIf .ProgJobInt > 100 Then + .ProgJobInt = 100 + End If + + ToolStripProgBarJob.Value = .ProgJobInt + + If .ProgOverallStartInt > -1 Then + ToolStripProgBarOverall.Value = + CInt(.ProgOverallStartInt + (.PgroOverallEndInt - .ProgOverallStartInt) * .ProgJobInt / 100) + End If + + End With + End Sub + + +#End Region + +#Region "Options Tab" + + 'Load options from config class + Public Sub LoadOptions() + ChBoxModOut.Checked = Cfg.ModOut + ChBoxMod1Hz.Checked = Cfg.Mod1Hz + + RbDecl.Checked = Cfg.DeclMode + End Sub + + 'Update config class from options in GUI, e.g. before running calculations + Private Sub SetOptions() + Cfg.ModOut = ChBoxModOut.Checked + Cfg.Mod1Hz = ChBoxMod1Hz.Checked + End Sub + +#End Region + + + 'Add message to message list + Public Sub MSGtoForm(ID As MessageType, Msg As String, Source As String, Link As String) + + If (InvokeRequired) Then + 'Me.Invoke(New MsgToFormDelegate(AddressOf MSGtoForm), ID, Msg, Source, Link) + Exit Sub + End If + Dim lv0 As ListViewItem + + lv0 = New ListViewItem + lv0.Text = Msg + lv0.SubItems.Add(Now.ToString("HH:mm:ss.ff")) + lv0.SubItems.Add(Source) + + If LvMsg.Items.Count > 9999 Then LvMsg.Items.RemoveAt(0) + + LogFile.WriteToLog(ID, Msg & vbTab & Source) + + Select Case ID + + Case MessageType.Err + + lv0.BackColor = Color.Red + lv0.ForeColor = Color.White + + Case MessageType.Warn + + lv0.BackColor = Color.Khaki 'FromArgb(218, 125, 0) 'DarkOrange + lv0.ForeColor = Color.Black + + Case Else + + If ID = MessageType.NewJob Then + lv0.BackColor = Color.LightGray + lv0.ForeColor = Color.DarkBlue + End If + + End Select + + If Link <> "" Then + If Not ID = MessageType.Err Then lv0.ForeColor = Color.Blue + lv0.SubItems(0).Font = New Font(LvMsg.Font, FontStyle.Underline) + lv0.Tag = Link + End If + + + LvMsg.Items.Add(lv0) + + lv0.EnsureVisible() + End Sub + + + 'Open link in message list + Private Sub LvMsg_MouseClick(sender As Object, e As MouseEventArgs) Handles LvMsg.MouseClick + Dim txt As String + If LvMsg.SelectedIndices.Count > 0 Then + If Not LvMsg.SelectedItems(0).Tag Is Nothing Then + If _ + Len(CStr(LvMsg.SelectedItems(0).Tag)) > 4 AndAlso + Microsoft.VisualBasic.Left(CStr(LvMsg.SelectedItems(0).Tag), 4) = "<UM>" Then + txt = CStr(LvMsg.SelectedItems(0).Tag).Replace("<UM>", MyAppPath & "User Manual") + txt = txt.Replace(" ", "%20") + txt = txt.Replace("\", "/") + txt = "file:///" & txt + Try + Process.Start(txt) + Catch ex As Exception + MsgBox("Cannot open link! (-_-;)") + End Try + ElseIf _ + Len(CStr(LvMsg.SelectedItems(0).Tag)) > 5 AndAlso + Microsoft.VisualBasic.Left(CStr(LvMsg.SelectedItems(0).Tag), 5) = "<GUI>" Then + txt = CStr(LvMsg.SelectedItems(0).Tag).Replace("<GUI>", "") + OpenVectoFile(txt) + ElseIf _ + Len(CStr(LvMsg.SelectedItems(0).Tag)) > 5 AndAlso + Microsoft.VisualBasic.Left(CStr(LvMsg.SelectedItems(0).Tag), 5) = "<RUN>" Then + txt = CStr(LvMsg.SelectedItems(0).Tag).Replace("<RUN>", "") + Try + Process.Start(txt) + Catch ex As Exception + GUIMsg(MessageType.Err, "Could not run '" & txt & "'!") + End Try + Else + OpenFiles(CStr(LvMsg.SelectedItems(0).Tag)) + End If + End If + End If + End Sub + + 'Link-cursor (Hand) for links + Private Sub LvMsg_MouseMove(sender As Object, e As MouseEventArgs) Handles LvMsg.MouseMove + Dim lv0 As ListViewItem + lv0 = LvMsg.GetItemAt(e.Location.X, e.Location.Y) + If lv0 Is Nothing OrElse lv0.Tag Is Nothing Then + LvMsg.Cursor = Cursors.Arrow + Else + LvMsg.Cursor = Cursors.Hand + End If + If mouseDownOnListView Then + Try + LvMsg.HitTest(e.Location).Item.Selected = True + Catch + End Try + End If + End Sub + +#Region "Open File Context Menu" + + Private CmFiles As String() + + 'Initialise and open context menu + Private Sub OpenFiles(ParamArray files() As String) + + If files.Length = 0 Then Exit Sub + + CmFiles = files + + OpenInGraphWindowToolStripMenuItem.Enabled = (UCase(fEXT(CmFiles(0))) = ".VMOD") + + + OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName + + CmOpenFile.Show(Cursor.Position) + End Sub + + 'Open with tool defined in Settings + Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles OpenWithToolStripMenuItem.Click + If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!") + End Sub + + Private Sub OpenInGraphWindowToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles OpenInGraphWindowToolStripMenuItem.Click + Dim FGraph As New GraphForm + FGraph.Show() + FGraph.LoadNewFile(CmFiles(0)) + End Sub + + 'Show in folder + Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles ShowInFolderToolStripMenuItem.Click + If File.Exists(CmFiles(0)) Then + Try + Process.Start("explorer", "/select,""" & CmFiles(0) & "") + Catch ex As Exception + MsgBox("Failed to open file!") + End Try + Else + MsgBox("File not found!") + End If + End Sub + +#End Region + + 'Change Declaraion Mode + Private Sub RbDecl_CheckedChanged(sender As Object, e As EventArgs) Handles RbDecl.CheckedChanged + If CbDeclLock Then Exit Sub + + If VectoJobForm.Visible Or VehicleForm.Visible Or GearboxForm.Visible Or EngineForm.Visible Then + CbDeclLock = True + RbDecl.Checked = Not RbDecl.Checked + CbDeclLock = False + MsgBox("Please close all dialog windows (e.g. Job Editor) before changing mode!") + Else + Cfg.DeclMode = RbDecl.Checked + RbDev.Checked = Not RbDecl.Checked + DeclOnOff() + End If + End Sub + + +#Region "GUI Tests" + + Private ReadOnly GUItest0 As New GUItest(Me) + Private mouseDownOnListView As Boolean + + Private Class GUItest + Private RowLim As Int16 = 9 + Private ColLim As Int16 = 45 + Public TestActive As Boolean = False + Private TestAborted As Boolean + Private xCtrl As Int16 + Private xPanel As Int16 + Private Scr As Int32 + Private PRbAlt As Boolean + Private ReadOnly Ctrls(RowLim + 1) As Int16 + Private ReadOnly Pnls(RowLim + 1) As Int16 + Private CtrlC As Int16 + Private CtrlCL As Int16 + Private PnDir As Int16 + Private PnDirC As Int16 + Private PnDirCL As Int16 + Private PnDirRnd As Int16 + Private CtrlRnd As Int16 + Private DiffC As Int16 + Private DiffLvl As Int16 + Private bInit As Int16 + Private ReadOnly MyForm As MainForm + Private ReadOnly KeyCode As List(Of Integer) + + Private Sub TestRun() + + Dim z As Int16 + + xPanel = ColLim - 10 + xCtrl = ColLim - 10 + PRbAlt = False + Scr = 0 + PnDir = 0 + PnDirCL = 10 + PnDirC = 0 ' StrDirCL + CtrlCL = 5 + CtrlC = CtrlCL + PnDirRnd = 5 + CtrlRnd = 8 + DiffC = 0 + DiffLvl = 1 + bInit = 0 + TestAborted = False + Randomize() + + + MyForm.LvMsg.Items.Clear() + MyForm.ToolStripLbStatus.Text = "Score: 0000 Press <Esc> to Quit" + + For z = 1 To RowLim - 6 + PRbAlt = Not PRbAlt + If Not PRbAlt Then + MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| |*") + Else + MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| | |*") + End If + Next + + PRbAlt = False + + MyForm.LvMsg.Items.Add(" VECTO Interactive Mode" & Space(ColLim - 35) & "*| |*") + MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| | |*") + MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| |*") + MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| | |*") + MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| |*") + MyForm.LvMsg.Items.Add(Space(ColLim - 11) & "*| ∆ |*") + + For z = 1 To RowLim + 1 + Pnls(z) = ColLim - 10 + Ctrls(z) = 0 + Next + + MyForm.TmProgSec.Interval = 200 + + MyForm.LvMsg.Focus() + + MyForm.TmProgSec.Start() + End Sub + + Public Sub TestStop() + MyForm.TmProgSec.Stop() + TestActive = False + MyForm.LvMsg.Items.Clear() + CtrlC = 0 + MyForm.ToolStripLbStatus.Text = MyForm.LastModeName & " Mode" + End Sub + + Public Sub TestTick() + + If bInit = 24 Then GoTo LbRace + bInit += 1 + + Select Case bInit + Case 10 + MyForm.LvMsg.Items.RemoveAt(RowLim - 6) + MyForm.LvMsg.Items.RemoveAt(RowLim - 5) + MyForm.LvMsg.Items.Insert(RowLim - 6, Space(ColLim - 11) & "*| |*") + MyForm.LvMsg.Items.Insert(RowLim - 4, Space(ColLim - 30) & " 3 " & Space(10) & "*| |*") + Case 14 + MyForm.LvMsg.Items.RemoveAt(RowLim - 4) + MyForm.LvMsg.Items.Insert(RowLim - 4, Space(ColLim - 30) & " 2 " & Space(10) & "*| |*") + Case 18 + MyForm.LvMsg.Items.RemoveAt(RowLim - 4) + MyForm.LvMsg.Items.Insert(RowLim - 4, Space(ColLim - 30) & " 1 " & Space(10) & "*| |*") + Case 22 + MyForm.LvMsg.Items.RemoveAt(RowLim - 4) + MyForm.LvMsg.Items.Insert(RowLim - 4, Space(ColLim - 30) & " Go! " & Space(10) & "*| |*") + Case 24 + MyForm.LvMsg.Items.RemoveAt(RowLim - 4) + MyForm.LvMsg.Items.Insert(RowLim - 4, Space(ColLim - 30) & " " & Space(10) & "*| |*") + End Select + Exit Sub +LbRace: + + PRbAlt = Not PRbAlt + + MyForm.LvMsg.BeginUpdate() + + sLists() + + sAlign() + + sSetCtrl() + + sSetPanel() + + MyForm.LvMsg.Items.RemoveAt(RowLim) + + sUpdateCtrl() + + MyForm.LvMsg.EndUpdate() + + If Math.Abs(xCtrl - Pnls(2)) > 4 Then + sAbort() + Exit Sub + ElseIf Ctrls(2) <> 0 Then + If xCtrl = Pnls(2) + Ctrls(2) - 4 Then + sAbort() + Exit Sub + End If + Scr += 5 * DiffLvl + End If + + Scr += DiffLvl + DiffC += 1 + + 'Erhöhe Schwierigkeitsgrad + If DiffC = (DiffLvl + 3) * 4 Then + DiffC = 0 + DiffLvl += 1 + If DiffLvl > 2 And DiffLvl < 7 Then MyForm.TmProgSec.Interval = 300 - (DiffLvl) * 30 + Scr += 100 + Select Case DiffLvl + Case 3 + PnDirCL = 3 + CtrlCL = 4 + CtrlRnd = 6 + Case 5 + PnDirCL = 2 + PnDirRnd = 4 + Case 8 + CtrlCL = 2 + Case 10 + CtrlRnd = 4 + PnDirRnd = 3 + End Select + End If + End Sub + + Public Sub TestKey(Key0 As Integer) + + If TestActive Then + Select Case Key0 + Case Keys.Left + xCtrl -= 1 + sUpdateCtrl() + Case Keys.Right + xCtrl += 1 + sUpdateCtrl() + Case Keys.Escape + TestStop() + End Select + Else + + If KeyCode(CtrlC) = Key0 Then + CtrlC += 1 + If CtrlC = KeyCode.Count Then + TestActive = True + TestRun() + End If + Else + CtrlC = 0 + End If + + End If + End Sub + + Private Sub sAbort() + + Dim s As String, s1 As String + + If TestAborted Then Exit Sub + + TestAborted = True + + MyForm.TmProgSec.Stop() + + MyForm.LvMsg.BeginUpdate() + + s = MyForm.LvMsg.Items(0).Text + MyForm.LvMsg.Items.RemoveAt(0) + MyForm.LvMsg.Items.Insert(0, "You crashed!" & Microsoft.VisualBasic.Right(s, Len(s) - 12)) + + s = MyForm.LvMsg.Items(1).Text + s1 = "Score: " & Scr & " " + MyForm.LvMsg.Items.RemoveAt(1) + MyForm.LvMsg.Items.Insert(1, s1 & Microsoft.VisualBasic.Right(s, Len(s) - Len(s1))) + + MyForm.LvMsg.EndUpdate() + + LogFile.WriteToLog(MessageType.Normal, "*** Race Score: " & Scr.ToString("0000") & " ***") + + CtrlC = 0 + TestActive = False + + MyForm.ToolStripLbStatus.Text = MyForm.LastModeName & " Mode" + End Sub + + Private Sub sSetCtrl() + Dim x As Int16 + If Scr < 10 Then Exit Sub + Ctrls(RowLim + 1) = 0 + CtrlC += 1 + If CtrlC < CtrlCL Then Exit Sub + Select Case CInt(Int((CtrlRnd * Rnd()) + 1)) + Case 1, 2 + CtrlC = 0 + x = CInt(Int((7 * Rnd()) + 1)) + Ctrls(RowLim + 1) = x + Case Else + End Select + End Sub + + Private Sub sUpdateCtrl() + Dim s As String + If bInit < 21 Then + xCtrl = ColLim - 10 + Exit Sub + End If + If Math.Abs(xCtrl - Pnls(1)) > 5 Then + sAbort() + Exit Sub + End If + s = Replace(MyForm.LvMsg.Items(RowLim - 1).Text.ToString, "∆", " ") & " " + s = Microsoft.VisualBasic.Left(s, ColLim + 15) + 's = s.Remove(0, 20) + 's = "Press <Esc> to Quit " & s + If Mid(s, xCtrl + 5, 1) = "X" Then + sAbort() + Exit Sub + End If + s = s.Remove(xCtrl + 4, 1) + 's = Trim(s.Insert(xCar + 4, "∆")) & Space(ColLim + 5 - Streets(2)) & "Pts: " & Pts & " Lv: " & DiffLvl + s = Space(Pnls(2) - 1) & Trim(s.Insert(xCtrl + 4, "∆")) + MyForm.LvMsg.Items.RemoveAt(RowLim - 1) + MyForm.LvMsg.Items.Insert(RowLim - 1, s) + MyForm.ToolStripLbStatus.Text = "Score: " & Scr.ToString("0000") & " Press <Esc> to Quit" + End Sub + + Private Sub sSetPanel() + Dim s As String + s = "*| | |*" + If PRbAlt Then + s = s.Remove(5, 1) + s = s.Insert(5, " ") + End If + If Ctrls(RowLim + 1) <> 0 Then + s = s.Remove(Ctrls(RowLim + 1) + 1, 1) + s = s.Insert(Ctrls(RowLim + 1) + 1, "X") + End If + Select Case xPanel - Pnls(RowLim) + Case -1 + s = Replace(s, "|", "\") + Case 1 + s = Replace(s, "|", "/") + End Select + MyForm.LvMsg.Items.Insert(0, Space(xPanel - 1) & s) + End Sub + + Private Sub sAlign() + PnDirC += 1 + If PnDirC < PnDirCL Then GoTo Lb1 + PnDirC = 0 + Select Case CInt(Int((PnDirRnd * Rnd()) + 1)) + Case 1 + PnDir = 1 + Case 2 + PnDir = -1 + Case Else + PnDir = 0 + End Select +Lb1: + xPanel += PnDir + If xPanel > ColLim Then + xPanel = ColLim + ElseIf xPanel < 22 Then + xPanel = 22 + End If + Pnls(RowLim + 1) = xPanel + End Sub + + Private Sub sLists() + Dim x As Int16 + For x = 2 To RowLim + 1 + Ctrls(x - 1) = Ctrls(x) + Pnls(x - 1) = Pnls(x) + Next + End Sub + + Public Sub New(Form As MainForm) + MyForm = Form + KeyCode = New List(Of Integer) + KeyCode.Add(Keys.Up) + KeyCode.Add(Keys.Up) + KeyCode.Add(Keys.Down) + KeyCode.Add(Keys.Down) + KeyCode.Add(Keys.Left) + KeyCode.Add(Keys.Right) + KeyCode.Add(Keys.Left) + KeyCode.Add(Keys.Right) + KeyCode.Add(Keys.B) + KeyCode.Add(Keys.A) + CtrlC = 0 + End Sub + End Class + + Private Sub LvMsg_KeyDown(sender As Object, e As KeyEventArgs) Handles LvMsg.KeyDown + GUItest0.TestKey(e.KeyValue) + If GUItest0.TestActive Then e.SuppressKeyPress = True + End Sub + + Private Sub LvMsg_LostFocus(sender As Object, e As EventArgs) Handles LvMsg.LostFocus + If GUItest0.TestActive Then GUItest0.TestStop() + End Sub + +#End Region + + Private Sub LvMsg_KeyUp(sender As Object, e As KeyEventArgs) Handles LvMsg.KeyUp + If (e.Control And e.KeyCode = Keys.C) Then + Dim builder As StringBuilder = New StringBuilder() + For Each selectedItem As ListViewItem In LvMsg.SelectedItems + builder.AppendLine(String.Join(", ", + selectedItem.SubItems.Cast(Of ListViewItem.ListViewSubItem).Select( + Function(item) item.Text))) + Next + Clipboard.SetText(builder.ToString()) + End If + End Sub + + Private Sub LvMsg_MouseDown(sender As Object, e As MouseEventArgs) Handles LvMsg.MouseDown + mouseDownOnListView = True + End Sub + + Private Sub LvMsg_MouseUp(sender As Object, e As MouseEventArgs) Handles LvMsg.MouseUp + mouseDownOnListView = False + End Sub + + Private Sub LvGEN_MouseUp(sender As Object, e As MouseEventArgs) Handles LvGEN.MouseUp + If e.Button = MouseButtons.Right Then + ConMenTarget = LvGEN + ConMenTarJob = True + + 'Locked functions show/hide + LoadListToolStripMenuItem.Enabled = Not GUIlocked + LoadDefaultListToolStripMenuItem.Enabled = Not GUIlocked + ClearListToolStripMenuItem.Enabled = Not GUIlocked + + ConMenFilelist.Show(MousePosition) + End If + End Sub + + Private Sub RbDev_CheckedChanged(sender As Object, e As EventArgs) Handles RbDev.CheckedChanged + End Sub +End Class diff --git a/VECTO/GUI/F_Settings.Designer.vb b/VECTO/GUI/Settings.Designer.vb similarity index 96% rename from VECTO/GUI/F_Settings.Designer.vb rename to VECTO/GUI/Settings.Designer.vb index 22886baed77d91e4c996958cf622fb327f787c29..e19fa616df85a333fef08cb4ef9eb3bcc89a85c9 100644 --- a/VECTO/GUI/F_Settings.Designer.vb +++ b/VECTO/GUI/Settings.Designer.vb @@ -1,343 +1,343 @@ -Imports System.ComponentModel -Imports Microsoft.VisualBasic.CompilerServices -Imports TUGraz.VECTO.My.Resources - -<DesignerGenerated()> _ -Partial Class F_Settings - Inherits Form - - 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - <DebuggerNonUserCode()> _ - Protected Overrides Sub Dispose(ByVal disposing As Boolean) - Try - If disposing AndAlso components IsNot Nothing Then - components.Dispose() - End If - Finally - MyBase.Dispose(disposing) - End Try - End Sub - - 'Wird vom Windows Form-Designer benötigt. - Private components As IContainer - - 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. - 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. - 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. - <DebuggerStepThrough()> _ - Private Sub InitializeComponent() - Me.ButtonOK = New Button() - Me.ButtonCancel = New Button() - Me.GroupBox3 = New GroupBox() - Me.GroupBox5 = New GroupBox() - Me.TbOpenCmdName = New TextBox() - Me.Label7 = New Label() - Me.TbOpenCmd = New TextBox() - Me.Label12 = New Label() - Me.TextBoxLogSize = New TextBox() - Me.Label16 = New Label() - Me.TabControl1 = New TabControl() - Me.TabPage2 = New TabPage() - Me.GrCalc = New GroupBox() - Me.Label11 = New Label() - Me.Label9 = New Label() - Me.Label3 = New Label() - Me.TbCO2toFC = New TextBox() - Me.Label10 = New Label() - Me.TbFuelDens = New TextBox() - Me.Label8 = New Label() - Me.TbAirDensity = New TextBox() - Me.Label2 = New Label() - Me.ButReset = New Button() - Me.BtHelp = New Button() - Me.GroupBox3.SuspendLayout() - Me.GroupBox5.SuspendLayout() - Me.TabControl1.SuspendLayout() - Me.TabPage2.SuspendLayout() - Me.GrCalc.SuspendLayout() - Me.SuspendLayout() - ' - 'ButtonOK - ' - Me.ButtonOK.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) - Me.ButtonOK.Location = New Point(347, 278) - Me.ButtonOK.Name = "ButtonOK" - Me.ButtonOK.Size = New Size(75, 24) - Me.ButtonOK.TabIndex = 2 - Me.ButtonOK.Text = "OK" - Me.ButtonOK.UseVisualStyleBackColor = True - ' - 'ButtonCancel - ' - Me.ButtonCancel.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) - Me.ButtonCancel.DialogResult = DialogResult.Cancel - Me.ButtonCancel.Location = New Point(428, 278) - Me.ButtonCancel.Name = "ButtonCancel" - Me.ButtonCancel.Size = New Size(75, 24) - Me.ButtonCancel.TabIndex = 3 - Me.ButtonCancel.Text = "Cancel" - Me.ButtonCancel.UseVisualStyleBackColor = True - ' - 'GroupBox3 - ' - Me.GroupBox3.Controls.Add(Me.GroupBox5) - Me.GroupBox3.Controls.Add(Me.TextBoxLogSize) - Me.GroupBox3.Controls.Add(Me.Label16) - Me.GroupBox3.Location = New Point(5, 6) - Me.GroupBox3.Name = "GroupBox3" - Me.GroupBox3.Size = New Size(489, 124) - Me.GroupBox3.TabIndex = 0 - Me.GroupBox3.TabStop = False - Me.GroupBox3.Text = "Interface" - ' - 'GroupBox5 - ' - Me.GroupBox5.Controls.Add(Me.TbOpenCmdName) - Me.GroupBox5.Controls.Add(Me.Label7) - Me.GroupBox5.Controls.Add(Me.TbOpenCmd) - Me.GroupBox5.Controls.Add(Me.Label12) - Me.GroupBox5.Location = New Point(230, 19) - Me.GroupBox5.Name = "GroupBox5" - Me.GroupBox5.Size = New Size(253, 96) - Me.GroupBox5.TabIndex = 1 - Me.GroupBox5.TabStop = False - Me.GroupBox5.Text = "File Open Command" - ' - 'TbOpenCmdName - ' - Me.TbOpenCmdName.Location = New Point(66, 19) - Me.TbOpenCmdName.Name = "TbOpenCmdName" - Me.TbOpenCmdName.Size = New Size(174, 20) - Me.TbOpenCmdName.TabIndex = 0 - ' - 'Label7 - ' - Me.Label7.AutoSize = True - Me.Label7.Location = New Point(6, 48) - Me.Label7.Name = "Label7" - Me.Label7.Size = New Size(54, 13) - Me.Label7.TabIndex = 12 - Me.Label7.Text = "Command" - ' - 'TbOpenCmd - ' - Me.TbOpenCmd.Location = New Point(66, 45) - Me.TbOpenCmd.Name = "TbOpenCmd" - Me.TbOpenCmd.Size = New Size(174, 20) - Me.TbOpenCmd.TabIndex = 1 - ' - 'Label12 - ' - Me.Label12.AutoSize = True - Me.Label12.Location = New Point(25, 22) - Me.Label12.Name = "Label12" - Me.Label12.Size = New Size(35, 13) - Me.Label12.TabIndex = 12 - Me.Label12.Text = "Name" - ' - 'TextBoxLogSize - ' - Me.TextBoxLogSize.Location = New Point(134, 38) - Me.TextBoxLogSize.Name = "TextBoxLogSize" - Me.TextBoxLogSize.Size = New Size(36, 20) - Me.TextBoxLogSize.TabIndex = 0 - ' - 'Label16 - ' - Me.Label16.AutoSize = True - Me.Label16.Location = New Point(18, 41) - Me.Label16.Name = "Label16" - Me.Label16.Size = New Size(110, 13) - Me.Label16.TabIndex = 10 - Me.Label16.Text = "Logfile Size Limit [MB]" - ' - 'TabControl1 - ' - Me.TabControl1.Anchor = CType((((AnchorStyles.Top Or AnchorStyles.Bottom) _ - Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.TabControl1.Controls.Add(Me.TabPage2) - Me.TabControl1.Location = New Point(3, 3) - Me.TabControl1.Name = "TabControl1" - Me.TabControl1.SelectedIndex = 0 - Me.TabControl1.Size = New Size(508, 269) - Me.TabControl1.TabIndex = 12 - ' - 'TabPage2 - ' - Me.TabPage2.Controls.Add(Me.GrCalc) - Me.TabPage2.Controls.Add(Me.GroupBox3) - Me.TabPage2.Location = New Point(4, 22) - Me.TabPage2.Name = "TabPage2" - Me.TabPage2.Padding = New Padding(3) - Me.TabPage2.Size = New Size(500, 243) - Me.TabPage2.TabIndex = 0 - Me.TabPage2.Text = "VECTO" - Me.TabPage2.UseVisualStyleBackColor = True - ' - 'GrCalc - ' - Me.GrCalc.Controls.Add(Me.Label11) - Me.GrCalc.Controls.Add(Me.Label9) - Me.GrCalc.Controls.Add(Me.Label3) - Me.GrCalc.Controls.Add(Me.TbCO2toFC) - Me.GrCalc.Controls.Add(Me.Label10) - Me.GrCalc.Controls.Add(Me.TbFuelDens) - Me.GrCalc.Controls.Add(Me.Label8) - Me.GrCalc.Controls.Add(Me.TbAirDensity) - Me.GrCalc.Controls.Add(Me.Label2) - Me.GrCalc.Location = New Point(6, 136) - Me.GrCalc.Name = "GrCalc" - Me.GrCalc.Size = New Size(488, 103) - Me.GrCalc.TabIndex = 1 - Me.GrCalc.TabStop = False - Me.GrCalc.Text = "Calculation" - ' - 'Label11 - ' - Me.Label11.AutoSize = True - Me.Label11.Location = New Point(164, 66) - Me.Label11.Name = "Label11" - Me.Label11.Size = New Size(77, 13) - Me.Label11.TabIndex = 16 - Me.Label11.Text = "[kgCO2/KgFC]" - ' - 'Label9 - ' - Me.Label9.AutoSize = True - Me.Label9.Location = New Point(309, 22) - Me.Label9.Name = "Label9" - Me.Label9.Size = New Size(41, 13) - Me.Label9.TabIndex = 16 - Me.Label9.Text = "[kg/m³]" - ' - 'Label3 - ' - Me.Label3.AutoSize = True - Me.Label3.Location = New Point(130, 22) - Me.Label3.Name = "Label3" - Me.Label3.Size = New Size(41, 13) - Me.Label3.TabIndex = 16 - Me.Label3.Text = "[kg/m³]" - ' - 'TbCO2toFC - ' - Me.TbCO2toFC.Location = New Point(108, 63) - Me.TbCO2toFC.Name = "TbCO2toFC" - Me.TbCO2toFC.Size = New Size(50, 20) - Me.TbCO2toFC.TabIndex = 2 - ' - 'Label10 - ' - Me.Label10.AutoSize = True - Me.Label10.Location = New Point(11, 66) - Me.Label10.Name = "Label10" - Me.Label10.Size = New Size(91, 13) - Me.Label10.TabIndex = 14 - Me.Label10.Text = "CO2-to-Fuel Ratio" - ' - 'TbFuelDens - ' - Me.TbFuelDens.Location = New Point(253, 19) - Me.TbFuelDens.Name = "TbFuelDens" - Me.TbFuelDens.Size = New Size(50, 20) - Me.TbFuelDens.TabIndex = 1 - ' - 'Label8 - ' - Me.Label8.AutoSize = True - Me.Label8.Location = New Point(184, 22) - Me.Label8.Name = "Label8" - Me.Label8.Size = New Size(63, 13) - Me.Label8.TabIndex = 14 - Me.Label8.Text = "Fuel density" - ' - 'TbAirDensity - ' - Me.TbAirDensity.Location = New Point(74, 19) - Me.TbAirDensity.Name = "TbAirDensity" - Me.TbAirDensity.Size = New Size(50, 20) - Me.TbAirDensity.TabIndex = 0 - ' - 'Label2 - ' - Me.Label2.AutoSize = True - Me.Label2.Location = New Point(11, 22) - Me.Label2.Name = "Label2" - Me.Label2.Size = New Size(57, 13) - Me.Label2.TabIndex = 14 - Me.Label2.Text = "Air Density" - ' - 'ButReset - ' - Me.ButReset.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) - Me.ButReset.Location = New Point(31, 278) - Me.ButReset.Name = "ButReset" - Me.ButReset.Size = New Size(108, 24) - Me.ButReset.TabIndex = 1 - Me.ButReset.Text = "Reset All Settings" - Me.ButReset.UseVisualStyleBackColor = True - ' - 'BtHelp - ' - Me.BtHelp.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) - Me.BtHelp.Image = Help_icon - Me.BtHelp.Location = New Point(4, 278) - Me.BtHelp.Name = "BtHelp" - Me.BtHelp.Size = New Size(24, 24) - Me.BtHelp.TabIndex = 0 - Me.BtHelp.UseVisualStyleBackColor = True - ' - 'F_Settings - ' - Me.AcceptButton = Me.ButtonOK - Me.AutoScaleDimensions = New SizeF(6.0!, 13.0!) - Me.AutoScaleMode = AutoScaleMode.Font - Me.CancelButton = Me.ButtonCancel - Me.ClientSize = New Size(515, 310) - Me.Controls.Add(Me.BtHelp) - Me.Controls.Add(Me.ButReset) - Me.Controls.Add(Me.TabControl1) - Me.Controls.Add(Me.ButtonCancel) - Me.Controls.Add(Me.ButtonOK) - Me.FormBorderStyle = FormBorderStyle.FixedToolWindow - Me.MaximizeBox = False - Me.MinimizeBox = False - Me.Name = "F_Settings" - Me.Text = "Settings" - Me.GroupBox3.ResumeLayout(False) - Me.GroupBox3.PerformLayout() - Me.GroupBox5.ResumeLayout(False) - Me.GroupBox5.PerformLayout() - Me.TabControl1.ResumeLayout(False) - Me.TabPage2.ResumeLayout(False) - Me.GrCalc.ResumeLayout(False) - Me.GrCalc.PerformLayout() - Me.ResumeLayout(False) - - End Sub - Friend WithEvents ButtonOK As Button - Friend WithEvents ButtonCancel As Button - Friend WithEvents GroupBox3 As GroupBox - Friend WithEvents TabControl1 As TabControl - Friend WithEvents TabPage2 As TabPage - Friend WithEvents TextBoxLogSize As TextBox - Friend WithEvents Label16 As Label - Friend WithEvents ButReset As Button - Friend WithEvents TbOpenCmd As TextBox - Friend WithEvents Label7 As Label - Friend WithEvents GrCalc As GroupBox - Friend WithEvents Label3 As Label - Friend WithEvents TbAirDensity As TextBox - Friend WithEvents Label2 As Label - Friend WithEvents Label9 As Label - Friend WithEvents TbFuelDens As TextBox - Friend WithEvents Label8 As Label - Friend WithEvents Label11 As Label - Friend WithEvents TbCO2toFC As TextBox - Friend WithEvents Label10 As Label - Friend WithEvents BtHelp As Button - Friend WithEvents GroupBox5 As GroupBox - Friend WithEvents TbOpenCmdName As TextBox - Friend WithEvents Label12 As Label -End Class +Imports System.ComponentModel +Imports Microsoft.VisualBasic.CompilerServices +Imports TUGraz.VECTO.My.Resources + +<DesignerGenerated()> _ +Partial Class Settings + Inherits Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + <DebuggerNonUserCode()> _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + <DebuggerStepThrough()> _ + Private Sub InitializeComponent() + Me.ButtonOK = New Button() + Me.ButtonCancel = New Button() + Me.GroupBox3 = New GroupBox() + Me.GroupBox5 = New GroupBox() + Me.TbOpenCmdName = New TextBox() + Me.Label7 = New Label() + Me.TbOpenCmd = New TextBox() + Me.Label12 = New Label() + Me.TextBoxLogSize = New TextBox() + Me.Label16 = New Label() + Me.TabControl1 = New TabControl() + Me.TabPage2 = New TabPage() + Me.GrCalc = New GroupBox() + Me.Label11 = New Label() + Me.Label9 = New Label() + Me.Label3 = New Label() + Me.TbCO2toFC = New TextBox() + Me.Label10 = New Label() + Me.TbFuelDens = New TextBox() + Me.Label8 = New Label() + Me.TbAirDensity = New TextBox() + Me.Label2 = New Label() + Me.ButReset = New Button() + Me.BtHelp = New Button() + Me.GroupBox3.SuspendLayout() + Me.GroupBox5.SuspendLayout() + Me.TabControl1.SuspendLayout() + Me.TabPage2.SuspendLayout() + Me.GrCalc.SuspendLayout() + Me.SuspendLayout() + ' + 'ButtonOK + ' + Me.ButtonOK.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) + Me.ButtonOK.Location = New Point(347, 278) + Me.ButtonOK.Name = "ButtonOK" + Me.ButtonOK.Size = New Size(75, 24) + Me.ButtonOK.TabIndex = 2 + Me.ButtonOK.Text = "OK" + Me.ButtonOK.UseVisualStyleBackColor = True + ' + 'ButtonCancel + ' + Me.ButtonCancel.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) + Me.ButtonCancel.DialogResult = DialogResult.Cancel + Me.ButtonCancel.Location = New Point(428, 278) + Me.ButtonCancel.Name = "ButtonCancel" + Me.ButtonCancel.Size = New Size(75, 24) + Me.ButtonCancel.TabIndex = 3 + Me.ButtonCancel.Text = "Cancel" + Me.ButtonCancel.UseVisualStyleBackColor = True + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.GroupBox5) + Me.GroupBox3.Controls.Add(Me.TextBoxLogSize) + Me.GroupBox3.Controls.Add(Me.Label16) + Me.GroupBox3.Location = New Point(5, 6) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New Size(489, 124) + Me.GroupBox3.TabIndex = 0 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Interface" + ' + 'GroupBox5 + ' + Me.GroupBox5.Controls.Add(Me.TbOpenCmdName) + Me.GroupBox5.Controls.Add(Me.Label7) + Me.GroupBox5.Controls.Add(Me.TbOpenCmd) + Me.GroupBox5.Controls.Add(Me.Label12) + Me.GroupBox5.Location = New Point(230, 19) + Me.GroupBox5.Name = "GroupBox5" + Me.GroupBox5.Size = New Size(253, 96) + Me.GroupBox5.TabIndex = 1 + Me.GroupBox5.TabStop = False + Me.GroupBox5.Text = "File Open Command" + ' + 'TbOpenCmdName + ' + Me.TbOpenCmdName.Location = New Point(66, 19) + Me.TbOpenCmdName.Name = "TbOpenCmdName" + Me.TbOpenCmdName.Size = New Size(174, 20) + Me.TbOpenCmdName.TabIndex = 0 + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New Point(6, 48) + Me.Label7.Name = "Label7" + Me.Label7.Size = New Size(54, 13) + Me.Label7.TabIndex = 12 + Me.Label7.Text = "Command" + ' + 'TbOpenCmd + ' + Me.TbOpenCmd.Location = New Point(66, 45) + Me.TbOpenCmd.Name = "TbOpenCmd" + Me.TbOpenCmd.Size = New Size(174, 20) + Me.TbOpenCmd.TabIndex = 1 + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Location = New Point(25, 22) + Me.Label12.Name = "Label12" + Me.Label12.Size = New Size(35, 13) + Me.Label12.TabIndex = 12 + Me.Label12.Text = "Name" + ' + 'TextBoxLogSize + ' + Me.TextBoxLogSize.Location = New Point(134, 38) + Me.TextBoxLogSize.Name = "TextBoxLogSize" + Me.TextBoxLogSize.Size = New Size(36, 20) + Me.TextBoxLogSize.TabIndex = 0 + ' + 'Label16 + ' + Me.Label16.AutoSize = True + Me.Label16.Location = New Point(18, 41) + Me.Label16.Name = "Label16" + Me.Label16.Size = New Size(110, 13) + Me.Label16.TabIndex = 10 + Me.Label16.Text = "Logfile Size Limit [MB]" + ' + 'TabControl1 + ' + Me.TabControl1.Anchor = CType((((AnchorStyles.Top Or AnchorStyles.Bottom) _ + Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.TabControl1.Controls.Add(Me.TabPage2) + Me.TabControl1.Location = New Point(3, 3) + Me.TabControl1.Name = "TabControl1" + Me.TabControl1.SelectedIndex = 0 + Me.TabControl1.Size = New Size(508, 269) + Me.TabControl1.TabIndex = 12 + ' + 'TabPage2 + ' + Me.TabPage2.Controls.Add(Me.GrCalc) + Me.TabPage2.Controls.Add(Me.GroupBox3) + Me.TabPage2.Location = New Point(4, 22) + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.Padding = New Padding(3) + Me.TabPage2.Size = New Size(500, 243) + Me.TabPage2.TabIndex = 0 + Me.TabPage2.Text = "VECTO" + Me.TabPage2.UseVisualStyleBackColor = True + ' + 'GrCalc + ' + Me.GrCalc.Controls.Add(Me.Label11) + Me.GrCalc.Controls.Add(Me.Label9) + Me.GrCalc.Controls.Add(Me.Label3) + Me.GrCalc.Controls.Add(Me.TbCO2toFC) + Me.GrCalc.Controls.Add(Me.Label10) + Me.GrCalc.Controls.Add(Me.TbFuelDens) + Me.GrCalc.Controls.Add(Me.Label8) + Me.GrCalc.Controls.Add(Me.TbAirDensity) + Me.GrCalc.Controls.Add(Me.Label2) + Me.GrCalc.Location = New Point(6, 136) + Me.GrCalc.Name = "GrCalc" + Me.GrCalc.Size = New Size(488, 103) + Me.GrCalc.TabIndex = 1 + Me.GrCalc.TabStop = False + Me.GrCalc.Text = "Calculation" + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New Point(164, 66) + Me.Label11.Name = "Label11" + Me.Label11.Size = New Size(77, 13) + Me.Label11.TabIndex = 16 + Me.Label11.Text = "[kgCO2/KgFC]" + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New Point(309, 22) + Me.Label9.Name = "Label9" + Me.Label9.Size = New Size(41, 13) + Me.Label9.TabIndex = 16 + Me.Label9.Text = "[kg/m³]" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New Point(130, 22) + Me.Label3.Name = "Label3" + Me.Label3.Size = New Size(41, 13) + Me.Label3.TabIndex = 16 + Me.Label3.Text = "[kg/m³]" + ' + 'TbCO2toFC + ' + Me.TbCO2toFC.Location = New Point(108, 63) + Me.TbCO2toFC.Name = "TbCO2toFC" + Me.TbCO2toFC.Size = New Size(50, 20) + Me.TbCO2toFC.TabIndex = 2 + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New Point(11, 66) + Me.Label10.Name = "Label10" + Me.Label10.Size = New Size(91, 13) + Me.Label10.TabIndex = 14 + Me.Label10.Text = "CO2-to-Fuel Ratio" + ' + 'TbFuelDens + ' + Me.TbFuelDens.Location = New Point(253, 19) + Me.TbFuelDens.Name = "TbFuelDens" + Me.TbFuelDens.Size = New Size(50, 20) + Me.TbFuelDens.TabIndex = 1 + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New Point(184, 22) + Me.Label8.Name = "Label8" + Me.Label8.Size = New Size(63, 13) + Me.Label8.TabIndex = 14 + Me.Label8.Text = "Fuel density" + ' + 'TbAirDensity + ' + Me.TbAirDensity.Location = New Point(74, 19) + Me.TbAirDensity.Name = "TbAirDensity" + Me.TbAirDensity.Size = New Size(50, 20) + Me.TbAirDensity.TabIndex = 0 + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New Point(11, 22) + Me.Label2.Name = "Label2" + Me.Label2.Size = New Size(57, 13) + Me.Label2.TabIndex = 14 + Me.Label2.Text = "Air Density" + ' + 'ButReset + ' + Me.ButReset.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) + Me.ButReset.Location = New Point(31, 278) + Me.ButReset.Name = "ButReset" + Me.ButReset.Size = New Size(108, 24) + Me.ButReset.TabIndex = 1 + Me.ButReset.Text = "Reset All Settings" + Me.ButReset.UseVisualStyleBackColor = True + ' + 'BtHelp + ' + Me.BtHelp.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) + Me.BtHelp.Image = Help_icon + Me.BtHelp.Location = New Point(4, 278) + Me.BtHelp.Name = "BtHelp" + Me.BtHelp.Size = New Size(24, 24) + Me.BtHelp.TabIndex = 0 + Me.BtHelp.UseVisualStyleBackColor = True + ' + 'F_Settings + ' + Me.AcceptButton = Me.ButtonOK + Me.AutoScaleDimensions = New SizeF(6.0!, 13.0!) + Me.AutoScaleMode = AutoScaleMode.Font + Me.CancelButton = Me.ButtonCancel + Me.ClientSize = New Size(515, 310) + Me.Controls.Add(Me.BtHelp) + Me.Controls.Add(Me.ButReset) + Me.Controls.Add(Me.TabControl1) + Me.Controls.Add(Me.ButtonCancel) + Me.Controls.Add(Me.ButtonOK) + Me.FormBorderStyle = FormBorderStyle.FixedToolWindow + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "Settings" + Me.Text = "Settings" + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox3.PerformLayout() + Me.GroupBox5.ResumeLayout(False) + Me.GroupBox5.PerformLayout() + Me.TabControl1.ResumeLayout(False) + Me.TabPage2.ResumeLayout(False) + Me.GrCalc.ResumeLayout(False) + Me.GrCalc.PerformLayout() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents ButtonOK As Button + Friend WithEvents ButtonCancel As Button + Friend WithEvents GroupBox3 As GroupBox + Friend WithEvents TabControl1 As TabControl + Friend WithEvents TabPage2 As TabPage + Friend WithEvents TextBoxLogSize As TextBox + Friend WithEvents Label16 As Label + Friend WithEvents ButReset As Button + Friend WithEvents TbOpenCmd As TextBox + Friend WithEvents Label7 As Label + Friend WithEvents GrCalc As GroupBox + Friend WithEvents Label3 As Label + Friend WithEvents TbAirDensity As TextBox + Friend WithEvents Label2 As Label + Friend WithEvents Label9 As Label + Friend WithEvents TbFuelDens As TextBox + Friend WithEvents Label8 As Label + Friend WithEvents Label11 As Label + Friend WithEvents TbCO2toFC As TextBox + Friend WithEvents Label10 As Label + Friend WithEvents BtHelp As Button + Friend WithEvents GroupBox5 As GroupBox + Friend WithEvents TbOpenCmdName As TextBox + Friend WithEvents Label12 As Label +End Class diff --git a/VECTO/GUI/F_Settings.resx b/VECTO/GUI/Settings.resx similarity index 100% rename from VECTO/GUI/F_Settings.resx rename to VECTO/GUI/Settings.resx diff --git a/VECTO/GUI/F_Settings.vb b/VECTO/GUI/Settings.vb similarity index 95% rename from VECTO/GUI/F_Settings.vb rename to VECTO/GUI/Settings.vb index c784039944e3bc084c780bac91e82ee0f242f5a9..1503e05c3dd4ff3bbb4cfd02dd192edcdd63dfb2 100644 --- a/VECTO/GUI/F_Settings.vb +++ b/VECTO/GUI/Settings.vb @@ -1,85 +1,85 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Imports System.IO -Imports System.Text.RegularExpressions - -''' <summary> -''' Settings form -''' </summary> -''' <remarks></remarks> -Public Class F_Settings - 'Initialize - load config - Private Sub F03_Options_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load - - LoadSettings() - End Sub - - Private Sub LoadSettings() - - TextBoxLogSize.Text = Cfg.LogSize - TbAirDensity.Text = CStr(Cfg.AirDensity) - TbOpenCmd.Text = Cfg.OpenCmd - TbOpenCmdName.Text = Cfg.OpenCmdName - TbFuelDens.Text = Cfg.FuelDens.ToString - TbCO2toFC.Text = Cfg.CO2perFC.ToString - - GrCalc.Enabled = Not Cfg.DeclMode - End Sub - - - 'Reset Button - Private Sub ButReset_Click(sender As Object, e As EventArgs) Handles ButReset.Click - If _ - MsgBox( - "This will reset all application settings including the Options Tab. Filehistory will not be deleted." & vbCrLf & - vbCrLf & "Continue ?", MsgBoxStyle.YesNo, "Reset Application Settings") = MsgBoxResult.Yes Then - Cfg.SetDefault() - If Cfg.DeclMode Then Cfg.DeclInit() - F_MAINForm.LoadOptions() - LoadSettings() - Close() - End If - End Sub - - 'Save and close - Private Sub ButtonOK_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ButtonOK.Click - Cfg.LogSize = CSng(TextBoxLogSize.Text) - Cfg.AirDensity = CSng(TbAirDensity.Text) - Cfg.OpenCmd = TbOpenCmd.Text - Cfg.OpenCmdName = TbOpenCmdName.Text - Cfg.FuelDens = CSng(TbFuelDens.Text) - Cfg.CO2perFC = CSng(TbCO2toFC.Text) - '---------------------------------------------------- - - Cfg.Save() - - Close() - End Sub - - 'Cancel - Private Sub ButtonCancel_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ButtonCancel.Click - Close() - End Sub - - 'Help button - Private Sub BtHelp_Click(sender As Object, e As EventArgs) Handles BtHelp.Click - If File.Exists(MyAppPath & "User Manual\help.html") Then - Dim BrowserRegistryString As String = - My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString - Dim DefaultBrowserPath As String = - Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString - Process.Start(DefaultBrowserPath, - String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#settings")) - Else - MsgBox("User Manual not found!", MsgBoxStyle.Critical) - End If - End Sub -End Class +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.IO +Imports System.Text.RegularExpressions + +''' <summary> +''' Settings form +''' </summary> +''' <remarks></remarks> +Public Class Settings + 'Initialize - load config + Private Sub F03_Options_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load + + LoadSettings() + End Sub + + Private Sub LoadSettings() + + TextBoxLogSize.Text = Cfg.LogSize + TbAirDensity.Text = CStr(Cfg.AirDensity) + TbOpenCmd.Text = Cfg.OpenCmd + TbOpenCmdName.Text = Cfg.OpenCmdName + TbFuelDens.Text = Cfg.FuelDens.ToString + TbCO2toFC.Text = Cfg.CO2perFC.ToString + + GrCalc.Enabled = Not Cfg.DeclMode + End Sub + + + 'Reset Button + Private Sub ButReset_Click(sender As Object, e As EventArgs) Handles ButReset.Click + If _ + MsgBox( + "This will reset all application settings including the Options Tab. Filehistory will not be deleted." & vbCrLf & + vbCrLf & "Continue ?", MsgBoxStyle.YesNo, "Reset Application Settings") = MsgBoxResult.Yes Then + Cfg.SetDefault() + If Cfg.DeclMode Then Cfg.DeclInit() + MainForm.LoadOptions() + LoadSettings() + Close() + End If + End Sub + + 'Save and close + Private Sub ButtonOK_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ButtonOK.Click + Cfg.LogSize = CSng(TextBoxLogSize.Text) + Cfg.AirDensity = CSng(TbAirDensity.Text) + Cfg.OpenCmd = TbOpenCmd.Text + Cfg.OpenCmdName = TbOpenCmdName.Text + Cfg.FuelDens = CSng(TbFuelDens.Text) + Cfg.CO2perFC = CSng(TbCO2toFC.Text) + '---------------------------------------------------- + + Cfg.Save() + + Close() + End Sub + + 'Cancel + Private Sub ButtonCancel_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ButtonCancel.Click + Close() + End Sub + + 'Help button + Private Sub BtHelp_Click(sender As Object, e As EventArgs) Handles BtHelp.Click + If File.Exists(MyAppPath & "User Manual\help.html") Then + Dim BrowserRegistryString As String = + My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString + Dim DefaultBrowserPath As String = + Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString + Process.Start(DefaultBrowserPath, + String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#settings")) + Else + MsgBox("User Manual not found!", MsgBoxStyle.Critical) + End If + End Sub +End Class diff --git a/VECTO/GUI/F_VECTO.Designer.vb b/VECTO/GUI/VectoJobForm.Designer.vb similarity index 96% rename from VECTO/GUI/F_VECTO.Designer.vb rename to VECTO/GUI/VectoJobForm.Designer.vb index 350fe1e3870c5e956282b0cb6e6b2377af542234..2cf5335deed16983df889b2386888155cf3d907e 100644 --- a/VECTO/GUI/F_VECTO.Designer.vb +++ b/VECTO/GUI/VectoJobForm.Designer.vb @@ -1,1327 +1,1327 @@ -Imports System.ComponentModel -Imports Microsoft.VisualBasic.CompilerServices - -<DesignerGenerated()> _ -Partial Class F_VECTO - Inherits Form - - 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - <DebuggerNonUserCode()> _ - Protected Overrides Sub Dispose(ByVal disposing As Boolean) - Try - If disposing AndAlso components IsNot Nothing Then - components.Dispose() - End If - Finally - MyBase.Dispose(disposing) - End Try - End Sub - - 'Wird vom Windows Form-Designer benötigt. - Private components As IContainer - - 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. - 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. - 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. - <DebuggerStepThrough()> _ - Private Sub InitializeComponent() - Me.components = New Container() - Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(F_VECTO)) - Me.TabPgGen = New TabPage() - Me.GrCycles = New GroupBox() - Me.Label2 = New Label() - Me.LvCycles = New ListView() - Me.ColumnHeader1 = CType(New ColumnHeader(), ColumnHeader) - Me.BtDRIrem = New Button() - Me.BtDRIadd = New Button() - Me.GrAux = New GroupBox() - Me.btnAAUXOpen = New Button() - Me.Label1 = New Label() - Me.btnBrowseAAUXFile = New Button() - Me.txtAdvancedAuxiliaryFile = New TextBox() - Me.picAuxInfo = New PictureBox() - Me.cboAdvancedAuxiliaries = New ComboBox() - Me.lbAdvancedAuxiliaries = New Label() - Me.Label32 = New Label() - Me.LvAux = New ListView() - Me.ColumnHeader4 = CType(New ColumnHeader(), ColumnHeader) - Me.ColumnHeader5 = CType(New ColumnHeader(), ColumnHeader) - Me.ColumnHeader6 = CType(New ColumnHeader(), ColumnHeader) - Me.ButAuxRem = New Button() - Me.ButAuxAdd = New Button() - Me.TbGBX = New TextBox() - Me.TbENG = New TextBox() - Me.TbVEH = New TextBox() - Me.ButOpenGBX = New Button() - Me.ButOpenENG = New Button() - Me.ButOpenVEH = New Button() - Me.ButtonVEH = New Button() - Me.ButtonGBX = New Button() - Me.ButtonMAP = New Button() - Me.TabControl1 = New TabControl() - Me.TabPgDriver = New TabPage() - Me.GrVACC = New GroupBox() - Me.TbDesMaxFile = New TextBox() - Me.BtDesMaxBr = New Button() - Me.BtAccOpen = New Button() - Me.GrLAC = New GroupBox() - Me.Label12 = New Label() - Me.tbDfCoastingScale = New TextBox() - Me.CbLookAhead = New CheckBox() - Me.Label11 = New Label() - Me.Label3 = New Label() - Me.tbDfCoastingOffset = New TextBox() - Me.tbLacDfTargetSpeedFile = New TextBox() - Me.Label10 = New Label() - Me.Label4 = New Label() - Me.Label5 = New Label() - Me.btnDfTargetSpeed = New Button() - Me.tbLacPreviewFactor = New TextBox() - Me.tbLacDfVelocityDropFile = New TextBox() - Me.GroupBox1 = New GroupBox() - Me.PnEcoRoll = New Panel() - Me.Label21 = New Label() - Me.Label20 = New Label() - Me.Label14 = New Label() - Me.TbVmin = New TextBox() - Me.TbUnderSpeed = New TextBox() - Me.TbOverspeed = New TextBox() - Me.Label23 = New Label() - Me.Label22 = New Label() - Me.Label13 = New Label() - Me.RdEcoRoll = New RadioButton() - Me.RdOverspeed = New RadioButton() - Me.RdOff = New RadioButton() - Me.GrStartStop = New GroupBox() - Me.PnStartStop = New Panel() - Me.Label31 = New Label() - Me.Label27 = New Label() - Me.TbSSspeed = New TextBox() - Me.LabelSSspeed = New Label() - Me.Label26 = New Label() - Me.Label30 = New Label() - Me.LabelSStime = New Label() - Me.TbSSdelay = New TextBox() - Me.TbSStime = New TextBox() - Me.ChBStartStop = New CheckBox() - Me.StatusStrip1 = New StatusStrip() - Me.ToolStripStatusLabelGEN = New ToolStripStatusLabel() - Me.ButOK = New Button() - Me.ButCancel = New Button() - Me.ToolStrip1 = New ToolStrip() - Me.ToolStripBtNew = New ToolStripButton() - Me.ToolStripBtOpen = New ToolStripButton() - Me.ToolStripBtSave = New ToolStripButton() - Me.ToolStripBtSaveAs = New ToolStripButton() - Me.ToolStripSeparator1 = New ToolStripSeparator() - Me.ToolStripBtSendTo = New ToolStripButton() - Me.ToolStripSeparator2 = New ToolStripSeparator() - Me.ToolStripButton1 = New ToolStripButton() - Me.PictureBox1 = New PictureBox() - Me.CbEngOnly = New CheckBox() - Me.CmOpenFile = New ContextMenuStrip(Me.components) - Me.OpenWithToolStripMenuItem = New ToolStripMenuItem() - Me.ShowInFolderToolStripMenuItem = New ToolStripMenuItem() - Me.PicVehicle = New PictureBox() - Me.PicBox = New PictureBox() - Me.TbEngTxt = New TextBox() - Me.TbVehCat = New TextBox() - Me.TbAxleConf = New TextBox() - Me.TbHVCclass = New TextBox() - Me.TbGbxTxt = New TextBox() - Me.TbMass = New TextBox() - Me.ToolTip1 = New ToolTip(Me.components) - Me.TabPgGen.SuspendLayout() - Me.GrCycles.SuspendLayout() - Me.GrAux.SuspendLayout() - CType(Me.picAuxInfo, ISupportInitialize).BeginInit() - Me.TabControl1.SuspendLayout() - Me.TabPgDriver.SuspendLayout() - Me.GrVACC.SuspendLayout() - Me.GrLAC.SuspendLayout() - Me.GroupBox1.SuspendLayout() - Me.PnEcoRoll.SuspendLayout() - Me.GrStartStop.SuspendLayout() - Me.PnStartStop.SuspendLayout() - Me.StatusStrip1.SuspendLayout() - Me.ToolStrip1.SuspendLayout() - CType(Me.PictureBox1, ISupportInitialize).BeginInit() - Me.CmOpenFile.SuspendLayout() - CType(Me.PicVehicle, ISupportInitialize).BeginInit() - CType(Me.PicBox, ISupportInitialize).BeginInit() - Me.SuspendLayout() - ' - 'TabPgGen - ' - Me.TabPgGen.Controls.Add(Me.GrCycles) - Me.TabPgGen.Controls.Add(Me.GrAux) - Me.TabPgGen.Controls.Add(Me.TbGBX) - Me.TabPgGen.Controls.Add(Me.TbENG) - Me.TabPgGen.Controls.Add(Me.TbVEH) - Me.TabPgGen.Controls.Add(Me.ButOpenGBX) - Me.TabPgGen.Controls.Add(Me.ButOpenENG) - Me.TabPgGen.Controls.Add(Me.ButOpenVEH) - Me.TabPgGen.Controls.Add(Me.ButtonVEH) - Me.TabPgGen.Controls.Add(Me.ButtonGBX) - Me.TabPgGen.Controls.Add(Me.ButtonMAP) - Me.TabPgGen.Location = New Point(4, 22) - Me.TabPgGen.Name = "TabPgGen" - Me.TabPgGen.Padding = New Padding(3) - Me.TabPgGen.Size = New Size(527, 534) - Me.TabPgGen.TabIndex = 0 - Me.TabPgGen.Text = "General" - Me.TabPgGen.UseVisualStyleBackColor = True - ' - 'GrCycles - ' - Me.GrCycles.Anchor = CType((((AnchorStyles.Top Or AnchorStyles.Bottom) _ - Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.GrCycles.Controls.Add(Me.Label2) - Me.GrCycles.Controls.Add(Me.LvCycles) - Me.GrCycles.Controls.Add(Me.BtDRIrem) - Me.GrCycles.Controls.Add(Me.BtDRIadd) - Me.GrCycles.Location = New Point(9, 314) - Me.GrCycles.Name = "GrCycles" - Me.GrCycles.Size = New Size(515, 184) - Me.GrCycles.TabIndex = 10 - Me.GrCycles.TabStop = False - Me.GrCycles.Text = "Cycles" - ' - 'Label2 - ' - Me.Label2.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.Label2.AutoSize = True - Me.Label2.Location = New Point(379, 148) - Me.Label2.Name = "Label2" - Me.Label2.Size = New Size(133, 13) - Me.Label2.TabIndex = 3 - Me.Label2.Text = "(Double-Click to Open File)" - ' - 'LvCycles - ' - Me.LvCycles.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.LvCycles.Columns.AddRange(New ColumnHeader() {Me.ColumnHeader1}) - Me.LvCycles.FullRowSelect = True - Me.LvCycles.GridLines = True - Me.LvCycles.HeaderStyle = ColumnHeaderStyle.None - Me.LvCycles.HideSelection = False - Me.LvCycles.LabelEdit = True - Me.LvCycles.Location = New Point(6, 25) - Me.LvCycles.MultiSelect = False - Me.LvCycles.Name = "LvCycles" - Me.LvCycles.Size = New Size(503, 123) - Me.LvCycles.TabIndex = 0 - Me.LvCycles.TabStop = False - Me.LvCycles.UseCompatibleStateImageBehavior = False - Me.LvCycles.View = View.Details - ' - 'ColumnHeader1 - ' - Me.ColumnHeader1.Text = "Cycle path" - Me.ColumnHeader1.Width = 470 - ' - 'BtDRIrem - ' - Me.BtDRIrem.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) - Me.BtDRIrem.Image = My.Resources.Resources.minus_circle_icon - Me.BtDRIrem.Location = New Point(29, 149) - Me.BtDRIrem.Name = "BtDRIrem" - Me.BtDRIrem.Size = New Size(24, 24) - Me.BtDRIrem.TabIndex = 2 - Me.BtDRIrem.UseVisualStyleBackColor = True - ' - 'BtDRIadd - ' - Me.BtDRIadd.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) - Me.BtDRIadd.Image = My.Resources.Resources.plus_circle_icon - Me.BtDRIadd.Location = New Point(5, 149) - Me.BtDRIadd.Name = "BtDRIadd" - Me.BtDRIadd.Size = New Size(24, 24) - Me.BtDRIadd.TabIndex = 1 - Me.BtDRIadd.UseVisualStyleBackColor = True - ' - 'GrAux - ' - Me.GrAux.Anchor = CType((((AnchorStyles.Top Or AnchorStyles.Bottom) _ - Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.GrAux.Controls.Add(Me.btnAAUXOpen) - Me.GrAux.Controls.Add(Me.Label1) - Me.GrAux.Controls.Add(Me.btnBrowseAAUXFile) - Me.GrAux.Controls.Add(Me.txtAdvancedAuxiliaryFile) - Me.GrAux.Controls.Add(Me.picAuxInfo) - Me.GrAux.Controls.Add(Me.cboAdvancedAuxiliaries) - Me.GrAux.Controls.Add(Me.lbAdvancedAuxiliaries) - Me.GrAux.Controls.Add(Me.Label32) - Me.GrAux.Controls.Add(Me.LvAux) - Me.GrAux.Controls.Add(Me.ButAuxRem) - Me.GrAux.Controls.Add(Me.ButAuxAdd) - Me.GrAux.Location = New Point(6, 87) - Me.GrAux.Name = "GrAux" - Me.GrAux.Size = New Size(515, 221) - Me.GrAux.TabIndex = 9 - Me.GrAux.TabStop = False - Me.GrAux.Text = "Auxiliaries" - ' - 'btnAAUXOpen - ' - Me.btnAAUXOpen.Image = My.Resources.Resources.application_export_icon_small - Me.btnAAUXOpen.Location = New Point(465, 45) - Me.btnAAUXOpen.Name = "btnAAUXOpen" - Me.btnAAUXOpen.Size = New Size(24, 24) - Me.btnAAUXOpen.TabIndex = 41 - Me.btnAAUXOpen.UseVisualStyleBackColor = True - ' - 'Label1 - ' - Me.Label1.AutoSize = True - Me.Label1.Location = New Point(7, 52) - Me.Label1.Name = "Label1" - Me.Label1.Size = New Size(96, 13) - Me.Label1.TabIndex = 40 - Me.Label1.Text = "Advanced Aux File" - ' - 'btnBrowseAAUXFile - ' - Me.btnBrowseAAUXFile.Image = My.Resources.Resources.Open_icon - Me.btnBrowseAAUXFile.Location = New Point(441, 45) - Me.btnBrowseAAUXFile.Name = "btnBrowseAAUXFile" - Me.btnBrowseAAUXFile.Size = New Size(24, 24) - Me.btnBrowseAAUXFile.TabIndex = 39 - Me.ToolTip1.SetToolTip(Me.btnBrowseAAUXFile, "Configure/Browser Advanced Auxiliary Files") - Me.btnBrowseAAUXFile.UseVisualStyleBackColor = True - ' - 'txtAdvancedAuxiliaryFile - ' - Me.txtAdvancedAuxiliaryFile.Location = New Point(119, 47) - Me.txtAdvancedAuxiliaryFile.Name = "txtAdvancedAuxiliaryFile" - Me.txtAdvancedAuxiliaryFile.Size = New Size(321, 20) - Me.txtAdvancedAuxiliaryFile.TabIndex = 38 - ' - 'picAuxInfo - ' - Me.picAuxInfo.Image = My.Resources.Resources.Information_icon - Me.picAuxInfo.InitialImage = My.Resources.Resources.Information_icon - Me.picAuxInfo.Location = New Point(451, 19) - Me.picAuxInfo.Name = "picAuxInfo" - Me.picAuxInfo.Size = New Size(16, 16) - Me.picAuxInfo.SizeMode = PictureBoxSizeMode.AutoSize - Me.picAuxInfo.TabIndex = 37 - Me.picAuxInfo.TabStop = False - ' - 'cboAdvancedAuxiliaries - ' - Me.cboAdvancedAuxiliaries.FormattingEnabled = True - Me.cboAdvancedAuxiliaries.Location = New Point(119, 18) - Me.cboAdvancedAuxiliaries.Name = "cboAdvancedAuxiliaries" - Me.cboAdvancedAuxiliaries.Size = New Size(321, 21) - Me.cboAdvancedAuxiliaries.TabIndex = 36 - ' - 'lbAdvancedAuxiliaries - ' - Me.lbAdvancedAuxiliaries.AutoSize = True - Me.lbAdvancedAuxiliaries.Location = New Point(7, 21) - Me.lbAdvancedAuxiliaries.Name = "lbAdvancedAuxiliaries" - Me.lbAdvancedAuxiliaries.Size = New Size(72, 13) - Me.lbAdvancedAuxiliaries.TabIndex = 35 - Me.lbAdvancedAuxiliaries.Text = "Auxiliary Type" - ' - 'Label32 - ' - Me.Label32.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.Label32.AutoSize = True - Me.Label32.Location = New Point(406, 189) - Me.Label32.Name = "Label32" - Me.Label32.Size = New Size(106, 13) - Me.Label32.TabIndex = 3 - Me.Label32.Text = "(Double-Click to Edit)" - ' - 'LvAux - ' - Me.LvAux.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.LvAux.Columns.AddRange(New ColumnHeader() {Me.ColumnHeader4, Me.ColumnHeader5, Me.ColumnHeader6}) - Me.LvAux.FullRowSelect = True - Me.LvAux.GridLines = True - Me.LvAux.HideSelection = False - Me.LvAux.Location = New Point(6, 72) - Me.LvAux.MultiSelect = False - Me.LvAux.Name = "LvAux" - Me.LvAux.Size = New Size(503, 117) - Me.LvAux.TabIndex = 0 - Me.LvAux.TabStop = False - Me.LvAux.UseCompatibleStateImageBehavior = False - Me.LvAux.View = View.Details - ' - 'ColumnHeader4 - ' - Me.ColumnHeader4.Text = "ID" - Me.ColumnHeader4.Width = 45 - ' - 'ColumnHeader5 - ' - Me.ColumnHeader5.Text = "Type" - Me.ColumnHeader5.Width = 108 - ' - 'ColumnHeader6 - ' - Me.ColumnHeader6.Text = "Input File" - Me.ColumnHeader6.Width = 331 - ' - 'ButAuxRem - ' - Me.ButAuxRem.Image = My.Resources.Resources.minus_circle_icon - Me.ButAuxRem.Location = New Point(29, 190) - Me.ButAuxRem.Name = "ButAuxRem" - Me.ButAuxRem.Size = New Size(24, 24) - Me.ButAuxRem.TabIndex = 2 - Me.ButAuxRem.UseVisualStyleBackColor = True - ' - 'ButAuxAdd - ' - Me.ButAuxAdd.Image = My.Resources.Resources.plus_circle_icon - Me.ButAuxAdd.Location = New Point(5, 190) - Me.ButAuxAdd.Name = "ButAuxAdd" - Me.ButAuxAdd.Size = New Size(24, 24) - Me.ButAuxAdd.TabIndex = 1 - Me.ButAuxAdd.UseVisualStyleBackColor = True - ' - 'TbGBX - ' - Me.TbGBX.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.TbGBX.Location = New Point(84, 60) - Me.TbGBX.Name = "TbGBX" - Me.TbGBX.Size = New Size(411, 20) - Me.TbGBX.TabIndex = 7 - ' - 'TbENG - ' - Me.TbENG.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.TbENG.Location = New Point(84, 33) - Me.TbENG.Name = "TbENG" - Me.TbENG.Size = New Size(411, 20) - Me.TbENG.TabIndex = 4 - ' - 'TbVEH - ' - Me.TbVEH.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.TbVEH.Location = New Point(84, 7) - Me.TbVEH.Name = "TbVEH" - Me.TbVEH.Size = New Size(411, 20) - Me.TbVEH.TabIndex = 1 - ' - 'ButOpenGBX - ' - Me.ButOpenGBX.Location = New Point(6, 60) - Me.ButOpenGBX.Name = "ButOpenGBX" - Me.ButOpenGBX.Size = New Size(72, 21) - Me.ButOpenGBX.TabIndex = 6 - Me.ButOpenGBX.TabStop = False - Me.ButOpenGBX.Text = "Gearbox" - Me.ButOpenGBX.UseVisualStyleBackColor = True - ' - 'ButOpenENG - ' - Me.ButOpenENG.Location = New Point(6, 33) - Me.ButOpenENG.Name = "ButOpenENG" - Me.ButOpenENG.Size = New Size(72, 21) - Me.ButOpenENG.TabIndex = 3 - Me.ButOpenENG.TabStop = False - Me.ButOpenENG.Text = "Engine" - Me.ButOpenENG.UseVisualStyleBackColor = True - ' - 'ButOpenVEH - ' - Me.ButOpenVEH.Location = New Point(6, 6) - Me.ButOpenVEH.Name = "ButOpenVEH" - Me.ButOpenVEH.Size = New Size(72, 21) - Me.ButOpenVEH.TabIndex = 0 - Me.ButOpenVEH.TabStop = False - Me.ButOpenVEH.Text = "Vehicle" - Me.ButOpenVEH.UseVisualStyleBackColor = True - ' - 'ButtonVEH - ' - Me.ButtonVEH.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.ButtonVEH.Image = CType(resources.GetObject("ButtonVEH.Image"), Image) - Me.ButtonVEH.Location = New Point(496, 5) - Me.ButtonVEH.Name = "ButtonVEH" - Me.ButtonVEH.Size = New Size(24, 24) - Me.ButtonVEH.TabIndex = 2 - Me.ButtonVEH.TabStop = False - Me.ButtonVEH.UseVisualStyleBackColor = True - ' - 'ButtonGBX - ' - Me.ButtonGBX.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.ButtonGBX.Image = CType(resources.GetObject("ButtonGBX.Image"), Image) - Me.ButtonGBX.Location = New Point(496, 58) - Me.ButtonGBX.Name = "ButtonGBX" - Me.ButtonGBX.Size = New Size(24, 24) - Me.ButtonGBX.TabIndex = 8 - Me.ButtonGBX.TabStop = False - Me.ButtonGBX.UseVisualStyleBackColor = True - ' - 'ButtonMAP - ' - Me.ButtonMAP.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.ButtonMAP.Image = CType(resources.GetObject("ButtonMAP.Image"), Image) - Me.ButtonMAP.Location = New Point(496, 31) - Me.ButtonMAP.Name = "ButtonMAP" - Me.ButtonMAP.Size = New Size(24, 24) - Me.ButtonMAP.TabIndex = 5 - Me.ButtonMAP.TabStop = False - Me.ButtonMAP.UseVisualStyleBackColor = True - ' - 'TabControl1 - ' - Me.TabControl1.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.TabControl1.Controls.Add(Me.TabPgGen) - Me.TabControl1.Controls.Add(Me.TabPgDriver) - Me.TabControl1.Location = New Point(1, 107) - Me.TabControl1.Name = "TabControl1" - Me.TabControl1.SelectedIndex = 0 - Me.TabControl1.Size = New Size(535, 560) - Me.TabControl1.SizeMode = TabSizeMode.Fixed - Me.TabControl1.TabIndex = 0 - ' - 'TabPgDriver - ' - Me.TabPgDriver.Controls.Add(Me.GrVACC) - Me.TabPgDriver.Controls.Add(Me.GrLAC) - Me.TabPgDriver.Controls.Add(Me.GroupBox1) - Me.TabPgDriver.Controls.Add(Me.GrStartStop) - Me.TabPgDriver.Location = New Point(4, 22) - Me.TabPgDriver.Name = "TabPgDriver" - Me.TabPgDriver.Padding = New Padding(3) - Me.TabPgDriver.Size = New Size(527, 534) - Me.TabPgDriver.TabIndex = 7 - Me.TabPgDriver.Text = "Driver Assist" - Me.TabPgDriver.UseVisualStyleBackColor = True - ' - 'GrVACC - ' - Me.GrVACC.Controls.Add(Me.TbDesMaxFile) - Me.GrVACC.Controls.Add(Me.BtDesMaxBr) - Me.GrVACC.Controls.Add(Me.BtAccOpen) - Me.GrVACC.Location = New Point(6, 459) - Me.GrVACC.Name = "GrVACC" - Me.GrVACC.Size = New Size(515, 65) - Me.GrVACC.TabIndex = 3 - Me.GrVACC.TabStop = False - Me.GrVACC.Text = "Max. acceleration and brake curves" - ' - 'TbDesMaxFile - ' - Me.TbDesMaxFile.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.TbDesMaxFile.Location = New Point(6, 29) - Me.TbDesMaxFile.Name = "TbDesMaxFile" - Me.TbDesMaxFile.Size = New Size(440, 20) - Me.TbDesMaxFile.TabIndex = 0 - ' - 'BtDesMaxBr - ' - Me.BtDesMaxBr.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.BtDesMaxBr.Image = My.Resources.Resources.Open_icon - Me.BtDesMaxBr.Location = New Point(446, 27) - Me.BtDesMaxBr.Name = "BtDesMaxBr" - Me.BtDesMaxBr.Size = New Size(24, 24) - Me.BtDesMaxBr.TabIndex = 1 - Me.BtDesMaxBr.UseVisualStyleBackColor = True - ' - 'BtAccOpen - ' - Me.BtAccOpen.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.BtAccOpen.Image = My.Resources.Resources.application_export_icon_small - Me.BtAccOpen.Location = New Point(469, 27) - Me.BtAccOpen.Name = "BtAccOpen" - Me.BtAccOpen.Size = New Size(24, 24) - Me.BtAccOpen.TabIndex = 2 - Me.BtAccOpen.TabStop = False - Me.BtAccOpen.UseVisualStyleBackColor = True - ' - 'GrLAC - ' - Me.GrLAC.Controls.Add(Me.Label12) - Me.GrLAC.Controls.Add(Me.tbDfCoastingScale) - Me.GrLAC.Controls.Add(Me.CbLookAhead) - Me.GrLAC.Controls.Add(Me.Label11) - Me.GrLAC.Controls.Add(Me.Label3) - Me.GrLAC.Controls.Add(Me.tbDfCoastingOffset) - Me.GrLAC.Controls.Add(Me.tbLacDfTargetSpeedFile) - Me.GrLAC.Controls.Add(Me.Label10) - Me.GrLAC.Controls.Add(Me.Label4) - Me.GrLAC.Controls.Add(Me.Label5) - Me.GrLAC.Controls.Add(Me.btnDfTargetSpeed) - Me.GrLAC.Controls.Add(Me.tbLacPreviewFactor) - Me.GrLAC.Controls.Add(Me.tbLacDfVelocityDropFile) - Me.GrLAC.Location = New Point(7, 290) - Me.GrLAC.Name = "GrLAC" - Me.GrLAC.Size = New Size(514, 163) - Me.GrLAC.TabIndex = 2 - Me.GrLAC.TabStop = False - Me.GrLAC.Text = "Look-Ahead Coasting" - ' - 'Label12 - ' - Me.Label12.AutoSize = True - Me.Label12.Location = New Point(279, 133) - Me.Label12.Name = "Label12" - Me.Label12.Size = New Size(130, 13) - Me.Label12.TabIndex = 17 - Me.Label12.Text = "* DF_vTarget * DF_vDrop" - ' - 'tbDfCoastingScale - ' - Me.tbDfCoastingScale.Location = New Point(236, 130) - Me.tbDfCoastingScale.Name = "tbDfCoastingScale" - Me.tbDfCoastingScale.Size = New Size(37, 20) - Me.tbDfCoastingScale.TabIndex = 16 - ' - 'CbLookAhead - ' - Me.CbLookAhead.AutoSize = True - Me.CbLookAhead.Checked = True - Me.CbLookAhead.CheckState = CheckState.Checked - Me.CbLookAhead.Location = New Point(16, 21) - Me.CbLookAhead.Name = "CbLookAhead" - Me.CbLookAhead.Size = New Size(65, 17) - Me.CbLookAhead.TabIndex = 0 - Me.CbLookAhead.Text = "Enabled" - Me.CbLookAhead.UseVisualStyleBackColor = True - ' - 'Label11 - ' - Me.Label11.AutoSize = True - Me.Label11.Location = New Point(219, 132) - Me.Label11.Name = "Label11" - Me.Label11.Size = New Size(13, 13) - Me.Label11.TabIndex = 15 - Me.Label11.Text = "- " - ' - 'Label3 - ' - Me.Label3.AutoSize = True - Me.Label3.Location = New Point(50, 54) - Me.Label3.Name = "Label3" - Me.Label3.Size = New Size(118, 13) - Me.Label3.TabIndex = 4 - Me.Label3.Text = "Preview distance factor" - Me.Label3.TextAlign = ContentAlignment.MiddleRight - ' - 'tbDfCoastingOffset - ' - Me.tbDfCoastingOffset.Location = New Point(175, 130) - Me.tbDfCoastingOffset.Name = "tbDfCoastingOffset" - Me.tbDfCoastingOffset.Size = New Size(37, 20) - Me.tbDfCoastingOffset.TabIndex = 14 - ' - 'tbLacDfTargetSpeedFile - ' - Me.tbLacDfTargetSpeedFile.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.tbLacDfTargetSpeedFile.Location = New Point(174, 77) - Me.tbLacDfTargetSpeedFile.Name = "tbLacDfTargetSpeedFile" - Me.tbLacDfTargetSpeedFile.Size = New Size(264, 20) - Me.tbLacDfTargetSpeedFile.TabIndex = 6 - ' - 'Label10 - ' - Me.Label10.AutoSize = True - Me.Label10.Location = New Point(89, 133) - Me.Label10.Name = "Label10" - Me.Label10.Size = New Size(79, 13) - Me.Label10.TabIndex = 12 - Me.Label10.Text = "DF_coasting = " - ' - 'Label4 - ' - Me.Label4.AutoSize = True - Me.Label4.Location = New Point(13, 80) - Me.Label4.Name = "Label4" - Me.Label4.Size = New Size(155, 13) - Me.Label4.TabIndex = 8 - Me.Label4.Text = "Decision Factor - Target Speed" - Me.Label4.TextAlign = ContentAlignment.MiddleRight - ' - 'Label5 - ' - Me.Label5.AutoSize = True - Me.Label5.Location = New Point(15, 107) - Me.Label5.Name = "Label5" - Me.Label5.Size = New Size(153, 13) - Me.Label5.TabIndex = 11 - Me.Label5.Text = "Decision Factor - Velocity Drop" - Me.Label5.TextAlign = ContentAlignment.MiddleRight - ' - 'btnDfTargetSpeed - ' - Me.btnDfTargetSpeed.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.btnDfTargetSpeed.Image = CType(resources.GetObject("btnDfTargetSpeed.Image"), Image) - Me.btnDfTargetSpeed.Location = New Point(438, 76) - Me.btnDfTargetSpeed.Name = "btnDfTargetSpeed" - Me.btnDfTargetSpeed.Size = New Size(24, 24) - Me.btnDfTargetSpeed.TabIndex = 7 - Me.btnDfTargetSpeed.TabStop = False - Me.btnDfTargetSpeed.UseVisualStyleBackColor = True - ' - 'tbLacPreviewFactor - ' - Me.tbLacPreviewFactor.Location = New Point(174, 51) - Me.tbLacPreviewFactor.Name = "tbLacPreviewFactor" - Me.tbLacPreviewFactor.Size = New Size(64, 20) - Me.tbLacPreviewFactor.TabIndex = 5 - ' - 'tbLacDfVelocityDropFile - ' - Me.tbLacDfVelocityDropFile.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.tbLacDfVelocityDropFile.Location = New Point(174, 104) - Me.tbLacDfVelocityDropFile.Name = "tbLacDfVelocityDropFile" - Me.tbLacDfVelocityDropFile.Size = New Size(264, 20) - Me.tbLacDfVelocityDropFile.TabIndex = 9 - ' - 'GroupBox1 - ' - Me.GroupBox1.Controls.Add(Me.PnEcoRoll) - Me.GroupBox1.Controls.Add(Me.RdEcoRoll) - Me.GroupBox1.Controls.Add(Me.RdOverspeed) - Me.GroupBox1.Controls.Add(Me.RdOff) - Me.GroupBox1.Location = New Point(6, 149) - Me.GroupBox1.Name = "GroupBox1" - Me.GroupBox1.Size = New Size(515, 135) - Me.GroupBox1.TabIndex = 1 - Me.GroupBox1.TabStop = False - Me.GroupBox1.Text = "Overspeed / Eco-Roll" - ' - 'PnEcoRoll - ' - Me.PnEcoRoll.Controls.Add(Me.Label21) - Me.PnEcoRoll.Controls.Add(Me.Label20) - Me.PnEcoRoll.Controls.Add(Me.Label14) - Me.PnEcoRoll.Controls.Add(Me.TbVmin) - Me.PnEcoRoll.Controls.Add(Me.TbUnderSpeed) - Me.PnEcoRoll.Controls.Add(Me.TbOverspeed) - Me.PnEcoRoll.Controls.Add(Me.Label23) - Me.PnEcoRoll.Controls.Add(Me.Label22) - Me.PnEcoRoll.Controls.Add(Me.Label13) - Me.PnEcoRoll.Location = New Point(137, 16) - Me.PnEcoRoll.Name = "PnEcoRoll" - Me.PnEcoRoll.Size = New Size(232, 102) - Me.PnEcoRoll.TabIndex = 3 - ' - 'Label21 - ' - Me.Label21.AutoSize = True - Me.Label21.Location = New Point(178, 61) - Me.Label21.Name = "Label21" - Me.Label21.Size = New Size(38, 13) - Me.Label21.TabIndex = 3 - Me.Label21.Text = "[km/h]" - ' - 'Label20 - ' - Me.Label20.AutoSize = True - Me.Label20.Location = New Point(178, 35) - Me.Label20.Name = "Label20" - Me.Label20.Size = New Size(38, 13) - Me.Label20.TabIndex = 3 - Me.Label20.Text = "[km/h]" - ' - 'Label14 - ' - Me.Label14.AutoSize = True - Me.Label14.Location = New Point(178, 9) - Me.Label14.Name = "Label14" - Me.Label14.Size = New Size(38, 13) - Me.Label14.TabIndex = 3 - Me.Label14.Text = "[km/h]" - ' - 'TbVmin - ' - Me.TbVmin.Location = New Point(108, 58) - Me.TbVmin.Name = "TbVmin" - Me.TbVmin.Size = New Size(64, 20) - Me.TbVmin.TabIndex = 2 - ' - 'TbUnderSpeed - ' - Me.TbUnderSpeed.Location = New Point(108, 32) - Me.TbUnderSpeed.Name = "TbUnderSpeed" - Me.TbUnderSpeed.Size = New Size(64, 20) - Me.TbUnderSpeed.TabIndex = 1 - ' - 'TbOverspeed - ' - Me.TbOverspeed.Location = New Point(108, 6) - Me.TbOverspeed.Name = "TbOverspeed" - Me.TbOverspeed.Size = New Size(64, 20) - Me.TbOverspeed.TabIndex = 0 - ' - 'Label23 - ' - Me.Label23.AutoSize = True - Me.Label23.Location = New Point(22, 61) - Me.Label23.Name = "Label23" - Me.Label23.Size = New Size(80, 13) - Me.Label23.TabIndex = 1 - Me.Label23.Text = "Minimum speed" - ' - 'Label22 - ' - Me.Label22.AutoSize = True - Me.Label22.Location = New Point(11, 35) - Me.Label22.Name = "Label22" - Me.Label22.Size = New Size(91, 13) - Me.Label22.TabIndex = 1 - Me.Label22.Text = "Max. Underspeed" - ' - 'Label13 - ' - Me.Label13.AutoSize = True - Me.Label13.Location = New Point(17, 9) - Me.Label13.Name = "Label13" - Me.Label13.Size = New Size(85, 13) - Me.Label13.TabIndex = 1 - Me.Label13.Text = "Max. Overspeed" - ' - 'RdEcoRoll - ' - Me.RdEcoRoll.AutoSize = True - Me.RdEcoRoll.Checked = True - Me.RdEcoRoll.Location = New Point(13, 68) - Me.RdEcoRoll.Name = "RdEcoRoll" - Me.RdEcoRoll.Size = New Size(65, 17) - Me.RdEcoRoll.TabIndex = 2 - Me.RdEcoRoll.TabStop = True - Me.RdEcoRoll.Text = "Eco-Roll" - Me.RdEcoRoll.UseVisualStyleBackColor = True - ' - 'RdOverspeed - ' - Me.RdOverspeed.AutoSize = True - Me.RdOverspeed.Location = New Point(13, 45) - Me.RdOverspeed.Name = "RdOverspeed" - Me.RdOverspeed.Size = New Size(77, 17) - Me.RdOverspeed.TabIndex = 1 - Me.RdOverspeed.Text = "Overspeed" - Me.RdOverspeed.UseVisualStyleBackColor = True - ' - 'RdOff - ' - Me.RdOff.AutoSize = True - Me.RdOff.Location = New Point(13, 22) - Me.RdOff.Name = "RdOff" - Me.RdOff.Size = New Size(39, 17) - Me.RdOff.TabIndex = 0 - Me.RdOff.Text = "Off" - Me.RdOff.UseVisualStyleBackColor = True - ' - 'GrStartStop - ' - Me.GrStartStop.Controls.Add(Me.PnStartStop) - Me.GrStartStop.Controls.Add(Me.ChBStartStop) - Me.GrStartStop.Location = New Point(6, 6) - Me.GrStartStop.Name = "GrStartStop" - Me.GrStartStop.Size = New Size(515, 137) - Me.GrStartStop.TabIndex = 0 - Me.GrStartStop.TabStop = False - Me.GrStartStop.Text = "Engine Start Stop" - ' - 'PnStartStop - ' - Me.PnStartStop.Controls.Add(Me.Label31) - Me.PnStartStop.Controls.Add(Me.Label27) - Me.PnStartStop.Controls.Add(Me.TbSSspeed) - Me.PnStartStop.Controls.Add(Me.LabelSSspeed) - Me.PnStartStop.Controls.Add(Me.Label26) - Me.PnStartStop.Controls.Add(Me.Label30) - Me.PnStartStop.Controls.Add(Me.LabelSStime) - Me.PnStartStop.Controls.Add(Me.TbSSdelay) - Me.PnStartStop.Controls.Add(Me.TbSStime) - Me.PnStartStop.Location = New Point(87, 21) - Me.PnStartStop.Name = "PnStartStop" - Me.PnStartStop.Size = New Size(422, 95) - Me.PnStartStop.TabIndex = 1 - ' - 'Label31 - ' - Me.Label31.AutoSize = True - Me.Label31.Location = New Point(228, 58) - Me.Label31.Name = "Label31" - Me.Label31.Size = New Size(18, 13) - Me.Label31.TabIndex = 38 - Me.Label31.Text = "[s]" - ' - 'Label27 - ' - Me.Label27.AutoSize = True - Me.Label27.Location = New Point(228, 32) - Me.Label27.Name = "Label27" - Me.Label27.Size = New Size(18, 13) - Me.Label27.TabIndex = 38 - Me.Label27.Text = "[s]" - ' - 'TbSSspeed - ' - Me.TbSSspeed.Location = New Point(158, 3) - Me.TbSSspeed.Name = "TbSSspeed" - Me.TbSSspeed.Size = New Size(64, 20) - Me.TbSSspeed.TabIndex = 0 - ' - 'LabelSSspeed - ' - Me.LabelSSspeed.AutoSize = True - Me.LabelSSspeed.Location = New Point(91, 6) - Me.LabelSSspeed.Name = "LabelSSspeed" - Me.LabelSSspeed.Size = New Size(61, 13) - Me.LabelSSspeed.TabIndex = 37 - Me.LabelSSspeed.Text = "Max Speed" - ' - 'Label26 - ' - Me.Label26.AutoSize = True - Me.Label26.Location = New Point(228, 6) - Me.Label26.Name = "Label26" - Me.Label26.Size = New Size(38, 13) - Me.Label26.TabIndex = 38 - Me.Label26.Text = "[km/h]" - ' - 'Label30 - ' - Me.Label30.AutoSize = True - Me.Label30.Location = New Point(68, 58) - Me.Label30.Name = "Label30" - Me.Label30.Size = New Size(84, 13) - Me.Label30.TabIndex = 35 - Me.Label30.Text = "Activation Delay" - ' - 'LabelSStime - ' - Me.LabelSStime.AutoSize = True - Me.LabelSStime.Location = New Point(65, 32) - Me.LabelSStime.Name = "LabelSStime" - Me.LabelSStime.Size = New Size(87, 13) - Me.LabelSStime.TabIndex = 35 - Me.LabelSStime.Text = "Min ICE-On Time" - ' - 'TbSSdelay - ' - Me.TbSSdelay.Location = New Point(158, 55) - Me.TbSSdelay.Name = "TbSSdelay" - Me.TbSSdelay.Size = New Size(64, 20) - Me.TbSSdelay.TabIndex = 2 - ' - 'TbSStime - ' - Me.TbSStime.Location = New Point(158, 29) - Me.TbSStime.Name = "TbSStime" - Me.TbSStime.Size = New Size(64, 20) - Me.TbSStime.TabIndex = 1 - ' - 'ChBStartStop - ' - Me.ChBStartStop.AutoSize = True - Me.ChBStartStop.Checked = True - Me.ChBStartStop.CheckState = CheckState.Checked - Me.ChBStartStop.Location = New Point(16, 21) - Me.ChBStartStop.Name = "ChBStartStop" - Me.ChBStartStop.Size = New Size(65, 17) - Me.ChBStartStop.TabIndex = 0 - Me.ChBStartStop.Text = "Enabled" - Me.ChBStartStop.UseVisualStyleBackColor = True - ' - 'StatusStrip1 - ' - Me.StatusStrip1.Items.AddRange(New ToolStripItem() {Me.ToolStripStatusLabelGEN}) - Me.StatusStrip1.Location = New Point(0, 672) - Me.StatusStrip1.Name = "StatusStrip1" - Me.StatusStrip1.Size = New Size(944, 22) - Me.StatusStrip1.SizingGrip = False - Me.StatusStrip1.TabIndex = 6 - Me.StatusStrip1.Text = "StatusStrip1" - ' - 'ToolStripStatusLabelGEN - ' - Me.ToolStripStatusLabelGEN.Name = "ToolStripStatusLabelGEN" - Me.ToolStripStatusLabelGEN.Size = New Size(121, 17) - Me.ToolStripStatusLabelGEN.Text = "ToolStripStatusLabel1" - ' - 'ButOK - ' - Me.ButOK.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) - Me.ButOK.Location = New Point(779, 646) - Me.ButOK.Name = "ButOK" - Me.ButOK.Size = New Size(75, 23) - Me.ButOK.TabIndex = 0 - Me.ButOK.Text = "Save" - Me.ButOK.UseVisualStyleBackColor = True - ' - 'ButCancel - ' - Me.ButCancel.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) - Me.ButCancel.DialogResult = DialogResult.Cancel - Me.ButCancel.Location = New Point(860, 646) - Me.ButCancel.Name = "ButCancel" - Me.ButCancel.Size = New Size(75, 23) - Me.ButCancel.TabIndex = 1 - Me.ButCancel.Text = "Cancel" - Me.ButCancel.UseVisualStyleBackColor = True - ' - 'ToolStrip1 - ' - Me.ToolStrip1.GripStyle = ToolStripGripStyle.Hidden - Me.ToolStrip1.Items.AddRange(New ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator1, Me.ToolStripBtSendTo, Me.ToolStripSeparator2, Me.ToolStripButton1}) - Me.ToolStrip1.Location = New Point(0, 0) - Me.ToolStrip1.Name = "ToolStrip1" - Me.ToolStrip1.Size = New Size(944, 25) - Me.ToolStrip1.TabIndex = 20 - Me.ToolStrip1.Text = "ToolStrip1" - ' - 'ToolStripBtNew - ' - Me.ToolStripBtNew.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtNew.Image = My.Resources.Resources.blue_document_icon - Me.ToolStripBtNew.ImageTransparentColor = Color.Magenta - Me.ToolStripBtNew.Name = "ToolStripBtNew" - Me.ToolStripBtNew.Size = New Size(23, 22) - Me.ToolStripBtNew.Text = "New" - Me.ToolStripBtNew.ToolTipText = "New" - ' - 'ToolStripBtOpen - ' - Me.ToolStripBtOpen.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtOpen.Image = My.Resources.Resources.Open_icon - Me.ToolStripBtOpen.ImageTransparentColor = Color.Magenta - Me.ToolStripBtOpen.Name = "ToolStripBtOpen" - Me.ToolStripBtOpen.Size = New Size(23, 22) - Me.ToolStripBtOpen.Text = "Open" - Me.ToolStripBtOpen.ToolTipText = "Open..." - ' - 'ToolStripBtSave - ' - Me.ToolStripBtSave.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtSave.Image = My.Resources.Resources.Actions_document_save_icon - Me.ToolStripBtSave.ImageTransparentColor = Color.Magenta - Me.ToolStripBtSave.Name = "ToolStripBtSave" - Me.ToolStripBtSave.Size = New Size(23, 22) - Me.ToolStripBtSave.Text = "Save" - Me.ToolStripBtSave.ToolTipText = "Save" - ' - 'ToolStripBtSaveAs - ' - Me.ToolStripBtSaveAs.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtSaveAs.Image = My.Resources.Resources.Actions_document_save_as_icon - Me.ToolStripBtSaveAs.ImageTransparentColor = Color.Magenta - Me.ToolStripBtSaveAs.Name = "ToolStripBtSaveAs" - Me.ToolStripBtSaveAs.Size = New Size(23, 22) - Me.ToolStripBtSaveAs.Text = "Save As" - Me.ToolStripBtSaveAs.ToolTipText = "Save As..." - ' - 'ToolStripSeparator1 - ' - Me.ToolStripSeparator1.Name = "ToolStripSeparator1" - Me.ToolStripSeparator1.Size = New Size(6, 25) - ' - 'ToolStripBtSendTo - ' - Me.ToolStripBtSendTo.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtSendTo.Image = My.Resources.Resources.export_icon - Me.ToolStripBtSendTo.ImageTransparentColor = Color.Magenta - Me.ToolStripBtSendTo.Name = "ToolStripBtSendTo" - Me.ToolStripBtSendTo.Size = New Size(23, 22) - Me.ToolStripBtSendTo.Text = "Send to Job List" - Me.ToolStripBtSendTo.ToolTipText = "Send to Job List" - ' - 'ToolStripSeparator2 - ' - Me.ToolStripSeparator2.Name = "ToolStripSeparator2" - Me.ToolStripSeparator2.Size = New Size(6, 25) - ' - 'ToolStripButton1 - ' - Me.ToolStripButton1.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripButton1.Image = My.Resources.Resources.Help_icon - Me.ToolStripButton1.ImageTransparentColor = Color.Magenta - Me.ToolStripButton1.Name = "ToolStripButton1" - Me.ToolStripButton1.Size = New Size(23, 22) - Me.ToolStripButton1.Text = "Help" - ' - 'PictureBox1 - ' - Me.PictureBox1.BackColor = Color.White - Me.PictureBox1.Image = My.Resources.Resources.VECTO_VECTO - Me.PictureBox1.Location = New Point(12, 28) - Me.PictureBox1.Name = "PictureBox1" - Me.PictureBox1.Size = New Size(920, 40) - Me.PictureBox1.TabIndex = 21 - Me.PictureBox1.TabStop = False - ' - 'CbEngOnly - ' - Me.CbEngOnly.AutoSize = True - Me.CbEngOnly.Location = New Point(17, 84) - Me.CbEngOnly.Name = "CbEngOnly" - Me.CbEngOnly.Size = New Size(113, 17) - Me.CbEngOnly.TabIndex = 0 - Me.CbEngOnly.Text = "Engine Only Mode" - Me.CbEngOnly.UseVisualStyleBackColor = True - ' - 'CmOpenFile - ' - Me.CmOpenFile.Items.AddRange(New ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.ShowInFolderToolStripMenuItem}) - Me.CmOpenFile.Name = "CmOpenFile" - Me.CmOpenFile.Size = New Size(153, 48) - ' - 'OpenWithToolStripMenuItem - ' - Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" - Me.OpenWithToolStripMenuItem.Size = New Size(152, 22) - Me.OpenWithToolStripMenuItem.Text = "Open with ..." - ' - 'ShowInFolderToolStripMenuItem - ' - Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" - Me.ShowInFolderToolStripMenuItem.Size = New Size(152, 22) - Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" - ' - 'PicVehicle - ' - Me.PicVehicle.BackColor = Color.LightGray - Me.PicVehicle.Location = New Point(542, 122) - Me.PicVehicle.Name = "PicVehicle" - Me.PicVehicle.Size = New Size(300, 88) - Me.PicVehicle.SizeMode = PictureBoxSizeMode.StretchImage - Me.PicVehicle.TabIndex = 36 - Me.PicVehicle.TabStop = False - ' - 'PicBox - ' - Me.PicBox.BackColor = Color.LightGray - Me.PicBox.Location = New Point(542, 268) - Me.PicBox.Name = "PicBox" - Me.PicBox.Size = New Size(390, 327) - Me.PicBox.TabIndex = 36 - Me.PicBox.TabStop = False - ' - 'TbEngTxt - ' - Me.TbEngTxt.Location = New Point(542, 216) - Me.TbEngTxt.Name = "TbEngTxt" - Me.TbEngTxt.ReadOnly = True - Me.TbEngTxt.Size = New Size(390, 20) - Me.TbEngTxt.TabIndex = 6 - ' - 'TbVehCat - ' - Me.TbVehCat.Location = New Point(848, 126) - Me.TbVehCat.Name = "TbVehCat" - Me.TbVehCat.ReadOnly = True - Me.TbVehCat.Size = New Size(87, 20) - Me.TbVehCat.TabIndex = 2 - ' - 'TbAxleConf - ' - Me.TbAxleConf.Location = New Point(904, 155) - Me.TbAxleConf.Name = "TbAxleConf" - Me.TbAxleConf.ReadOnly = True - Me.TbAxleConf.Size = New Size(31, 20) - Me.TbAxleConf.TabIndex = 4 - ' - 'TbHVCclass - ' - Me.TbHVCclass.Location = New Point(848, 184) - Me.TbHVCclass.Name = "TbHVCclass" - Me.TbHVCclass.ReadOnly = True - Me.TbHVCclass.Size = New Size(87, 20) - Me.TbHVCclass.TabIndex = 5 - ' - 'TbGbxTxt - ' - Me.TbGbxTxt.Location = New Point(542, 242) - Me.TbGbxTxt.Name = "TbGbxTxt" - Me.TbGbxTxt.ReadOnly = True - Me.TbGbxTxt.Size = New Size(390, 20) - Me.TbGbxTxt.TabIndex = 7 - ' - 'TbMass - ' - Me.TbMass.Location = New Point(848, 155) - Me.TbMass.Name = "TbMass" - Me.TbMass.ReadOnly = True - Me.TbMass.Size = New Size(50, 20) - Me.TbMass.TabIndex = 3 - ' - 'F_VECTO - ' - Me.AcceptButton = Me.ButOK - Me.AutoScaleDimensions = New SizeF(6.0!, 13.0!) - Me.AutoScaleMode = AutoScaleMode.Font - Me.CancelButton = Me.ButCancel - Me.ClientSize = New Size(944, 694) - Me.Controls.Add(Me.TbHVCclass) - Me.Controls.Add(Me.TbMass) - Me.Controls.Add(Me.TbAxleConf) - Me.Controls.Add(Me.TbVehCat) - Me.Controls.Add(Me.TbGbxTxt) - Me.Controls.Add(Me.TbEngTxt) - Me.Controls.Add(Me.PicBox) - Me.Controls.Add(Me.PicVehicle) - Me.Controls.Add(Me.CbEngOnly) - Me.Controls.Add(Me.PictureBox1) - Me.Controls.Add(Me.ToolStrip1) - Me.Controls.Add(Me.ButCancel) - Me.Controls.Add(Me.TabControl1) - Me.Controls.Add(Me.ButOK) - Me.Controls.Add(Me.StatusStrip1) - Me.FormBorderStyle = FormBorderStyle.FixedSingle - Me.Icon = CType(resources.GetObject("$this.Icon"), Icon) - Me.MaximizeBox = False - Me.Name = "F_VECTO" - Me.StartPosition = FormStartPosition.CenterParent - Me.Text = "Job Editor" - Me.TabPgGen.ResumeLayout(False) - Me.TabPgGen.PerformLayout() - Me.GrCycles.ResumeLayout(False) - Me.GrCycles.PerformLayout() - Me.GrAux.ResumeLayout(False) - Me.GrAux.PerformLayout() - CType(Me.picAuxInfo, ISupportInitialize).EndInit() - Me.TabControl1.ResumeLayout(False) - Me.TabPgDriver.ResumeLayout(False) - Me.GrVACC.ResumeLayout(False) - Me.GrVACC.PerformLayout() - Me.GrLAC.ResumeLayout(False) - Me.GrLAC.PerformLayout() - Me.GroupBox1.ResumeLayout(False) - Me.GroupBox1.PerformLayout() - Me.PnEcoRoll.ResumeLayout(False) - Me.PnEcoRoll.PerformLayout() - Me.GrStartStop.ResumeLayout(False) - Me.GrStartStop.PerformLayout() - Me.PnStartStop.ResumeLayout(False) - Me.PnStartStop.PerformLayout() - Me.StatusStrip1.ResumeLayout(False) - Me.StatusStrip1.PerformLayout() - Me.ToolStrip1.ResumeLayout(False) - Me.ToolStrip1.PerformLayout() - CType(Me.PictureBox1, ISupportInitialize).EndInit() - Me.CmOpenFile.ResumeLayout(False) - CType(Me.PicVehicle, ISupportInitialize).EndInit() - CType(Me.PicBox, ISupportInitialize).EndInit() - Me.ResumeLayout(False) - Me.PerformLayout() - - End Sub - Friend WithEvents TabPgGen As TabPage - Friend WithEvents TabControl1 As TabControl - Friend WithEvents StatusStrip1 As StatusStrip - Friend WithEvents ButtonVEH As Button - Friend WithEvents ButtonMAP As Button - Friend WithEvents ButtonGBX As Button - Friend WithEvents ButOpenVEH As Button - Friend WithEvents ButOpenGBX As Button - Friend WithEvents ButOpenENG As Button - Friend WithEvents ToolStripStatusLabelGEN As ToolStripStatusLabel - Friend WithEvents ButOK As Button - Friend WithEvents TbGBX As TextBox - Friend WithEvents TbENG As TextBox - Friend WithEvents TbVEH As TextBox - Friend WithEvents ButCancel As Button - Friend WithEvents ToolStrip1 As ToolStrip - Friend WithEvents ToolStripBtNew As ToolStripButton - Friend WithEvents ToolStripBtOpen As ToolStripButton - Friend WithEvents ToolStripBtSave As ToolStripButton - Friend WithEvents ToolStripBtSaveAs As ToolStripButton - Friend WithEvents ToolStripBtSendTo As ToolStripButton - Friend WithEvents ToolStripSeparator1 As ToolStripSeparator - Friend WithEvents GrAux As GroupBox - Friend WithEvents LvAux As ListView - Friend WithEvents ColumnHeader4 As ColumnHeader - Friend WithEvents ColumnHeader5 As ColumnHeader - Friend WithEvents ColumnHeader6 As ColumnHeader - Friend WithEvents ButAuxRem As Button - Friend WithEvents ButAuxAdd As Button - Friend WithEvents PictureBox1 As PictureBox - Friend WithEvents TabPgDriver As TabPage - Friend WithEvents BtDesMaxBr As Button - Friend WithEvents TbDesMaxFile As TextBox - Friend WithEvents GrCycles As GroupBox - Friend WithEvents LvCycles As ListView - Friend WithEvents ColumnHeader1 As ColumnHeader - Friend WithEvents BtDRIrem As Button - Friend WithEvents BtDRIadd As Button - Friend WithEvents ToolStripSeparator2 As ToolStripSeparator - Friend WithEvents ToolStripButton1 As ToolStripButton - Friend WithEvents CbEngOnly As CheckBox - Friend WithEvents BtAccOpen As Button - Friend WithEvents Label2 As Label - Friend WithEvents CmOpenFile As ContextMenuStrip - Friend WithEvents OpenWithToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ShowInFolderToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ChBStartStop As CheckBox - Friend WithEvents GrStartStop As GroupBox - Friend WithEvents TbSSspeed As TextBox - Friend WithEvents TbSStime As TextBox - Friend WithEvents LabelSStime As Label - Friend WithEvents LabelSSspeed As Label - Friend WithEvents GrLAC As GroupBox - Friend WithEvents CbLookAhead As CheckBox - Friend WithEvents GroupBox1 As GroupBox - Friend WithEvents Label21 As Label - Friend WithEvents Label20 As Label - Friend WithEvents Label14 As Label - Friend WithEvents TbVmin As TextBox - Friend WithEvents TbUnderSpeed As TextBox - Friend WithEvents TbOverspeed As TextBox - Friend WithEvents Label23 As Label - Friend WithEvents Label22 As Label - Friend WithEvents Label13 As Label - Friend WithEvents RdEcoRoll As RadioButton - Friend WithEvents RdOverspeed As RadioButton - Friend WithEvents RdOff As RadioButton - Friend WithEvents PnStartStop As Panel - Friend WithEvents Label27 As Label - Friend WithEvents Label26 As Label - Friend WithEvents Label31 As Label - Friend WithEvents Label30 As Label - Friend WithEvents TbSSdelay As TextBox - Friend WithEvents Label32 As Label - Friend WithEvents PnEcoRoll As Panel - Friend WithEvents PicVehicle As PictureBox - Friend WithEvents PicBox As PictureBox - Friend WithEvents TbEngTxt As TextBox - Friend WithEvents TbVehCat As TextBox - Friend WithEvents TbAxleConf As TextBox - Friend WithEvents TbHVCclass As TextBox - Friend WithEvents TbGbxTxt As TextBox - Friend WithEvents TbMass As TextBox - Friend WithEvents GrVACC As GroupBox - Friend WithEvents cboAdvancedAuxiliaries As ComboBox - Friend WithEvents picAuxInfo As PictureBox - Friend WithEvents ToolTip1 As ToolTip - Friend WithEvents Label1 As Label - Friend WithEvents btnBrowseAAUXFile As Button - Friend WithEvents txtAdvancedAuxiliaryFile As TextBox - Friend WithEvents lbAdvancedAuxiliaries As Label - Friend WithEvents btnAAUXOpen As Button - Friend WithEvents Label12 As Label - Friend WithEvents tbDfCoastingScale As TextBox - Friend WithEvents Label11 As Label - Friend WithEvents Label3 As Label - Friend WithEvents tbDfCoastingOffset As TextBox - Friend WithEvents tbLacDfTargetSpeedFile As TextBox - Friend WithEvents Label10 As Label - Friend WithEvents Label4 As Label - Friend WithEvents Label5 As Label - Friend WithEvents btnDfTargetSpeed As Button - Friend WithEvents tbLacPreviewFactor As TextBox - Friend WithEvents tbLacDfVelocityDropFile As TextBox -End Class +Imports System.ComponentModel +Imports Microsoft.VisualBasic.CompilerServices + +<DesignerGenerated()> _ +Partial Class VectoJobForm + Inherits Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + <DebuggerNonUserCode()> _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + <DebuggerStepThrough()> _ + Private Sub InitializeComponent() + Me.components = New Container() + Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(VectoJobForm)) + Me.TabPgGen = New TabPage() + Me.GrCycles = New GroupBox() + Me.Label2 = New Label() + Me.LvCycles = New ListView() + Me.ColumnHeader1 = CType(New ColumnHeader(), ColumnHeader) + Me.BtDRIrem = New Button() + Me.BtDRIadd = New Button() + Me.GrAux = New GroupBox() + Me.btnAAUXOpen = New Button() + Me.Label1 = New Label() + Me.btnBrowseAAUXFile = New Button() + Me.txtAdvancedAuxiliaryFile = New TextBox() + Me.picAuxInfo = New PictureBox() + Me.cboAdvancedAuxiliaries = New ComboBox() + Me.lbAdvancedAuxiliaries = New Label() + Me.Label32 = New Label() + Me.LvAux = New ListView() + Me.ColumnHeader4 = CType(New ColumnHeader(), ColumnHeader) + Me.ColumnHeader5 = CType(New ColumnHeader(), ColumnHeader) + Me.ColumnHeader6 = CType(New ColumnHeader(), ColumnHeader) + Me.ButAuxRem = New Button() + Me.ButAuxAdd = New Button() + Me.TbGBX = New TextBox() + Me.TbENG = New TextBox() + Me.TbVEH = New TextBox() + Me.ButOpenGBX = New Button() + Me.ButOpenENG = New Button() + Me.ButOpenVEH = New Button() + Me.ButtonVEH = New Button() + Me.ButtonGBX = New Button() + Me.ButtonMAP = New Button() + Me.TabControl1 = New TabControl() + Me.TabPgDriver = New TabPage() + Me.GrVACC = New GroupBox() + Me.TbDesMaxFile = New TextBox() + Me.BtDesMaxBr = New Button() + Me.BtAccOpen = New Button() + Me.GrLAC = New GroupBox() + Me.Label12 = New Label() + Me.tbDfCoastingScale = New TextBox() + Me.CbLookAhead = New CheckBox() + Me.Label11 = New Label() + Me.Label3 = New Label() + Me.tbDfCoastingOffset = New TextBox() + Me.tbLacDfTargetSpeedFile = New TextBox() + Me.Label10 = New Label() + Me.Label4 = New Label() + Me.Label5 = New Label() + Me.btnDfTargetSpeed = New Button() + Me.tbLacPreviewFactor = New TextBox() + Me.tbLacDfVelocityDropFile = New TextBox() + Me.GroupBox1 = New GroupBox() + Me.PnEcoRoll = New Panel() + Me.Label21 = New Label() + Me.Label20 = New Label() + Me.Label14 = New Label() + Me.TbVmin = New TextBox() + Me.TbUnderSpeed = New TextBox() + Me.TbOverspeed = New TextBox() + Me.Label23 = New Label() + Me.Label22 = New Label() + Me.Label13 = New Label() + Me.RdEcoRoll = New RadioButton() + Me.RdOverspeed = New RadioButton() + Me.RdOff = New RadioButton() + Me.GrStartStop = New GroupBox() + Me.PnStartStop = New Panel() + Me.Label31 = New Label() + Me.Label27 = New Label() + Me.TbSSspeed = New TextBox() + Me.LabelSSspeed = New Label() + Me.Label26 = New Label() + Me.Label30 = New Label() + Me.LabelSStime = New Label() + Me.TbSSdelay = New TextBox() + Me.TbSStime = New TextBox() + Me.ChBStartStop = New CheckBox() + Me.StatusStrip1 = New StatusStrip() + Me.ToolStripStatusLabelGEN = New ToolStripStatusLabel() + Me.ButOK = New Button() + Me.ButCancel = New Button() + Me.ToolStrip1 = New ToolStrip() + Me.ToolStripBtNew = New ToolStripButton() + Me.ToolStripBtOpen = New ToolStripButton() + Me.ToolStripBtSave = New ToolStripButton() + Me.ToolStripBtSaveAs = New ToolStripButton() + Me.ToolStripSeparator1 = New ToolStripSeparator() + Me.ToolStripBtSendTo = New ToolStripButton() + Me.ToolStripSeparator2 = New ToolStripSeparator() + Me.ToolStripButton1 = New ToolStripButton() + Me.PictureBox1 = New PictureBox() + Me.CbEngOnly = New CheckBox() + Me.CmOpenFile = New ContextMenuStrip(Me.components) + Me.OpenWithToolStripMenuItem = New ToolStripMenuItem() + Me.ShowInFolderToolStripMenuItem = New ToolStripMenuItem() + Me.PicVehicle = New PictureBox() + Me.PicBox = New PictureBox() + Me.TbEngTxt = New TextBox() + Me.TbVehCat = New TextBox() + Me.TbAxleConf = New TextBox() + Me.TbHVCclass = New TextBox() + Me.TbGbxTxt = New TextBox() + Me.TbMass = New TextBox() + Me.ToolTip1 = New ToolTip(Me.components) + Me.TabPgGen.SuspendLayout() + Me.GrCycles.SuspendLayout() + Me.GrAux.SuspendLayout() + CType(Me.picAuxInfo, ISupportInitialize).BeginInit() + Me.TabControl1.SuspendLayout() + Me.TabPgDriver.SuspendLayout() + Me.GrVACC.SuspendLayout() + Me.GrLAC.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.PnEcoRoll.SuspendLayout() + Me.GrStartStop.SuspendLayout() + Me.PnStartStop.SuspendLayout() + Me.StatusStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + CType(Me.PictureBox1, ISupportInitialize).BeginInit() + Me.CmOpenFile.SuspendLayout() + CType(Me.PicVehicle, ISupportInitialize).BeginInit() + CType(Me.PicBox, ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'TabPgGen + ' + Me.TabPgGen.Controls.Add(Me.GrCycles) + Me.TabPgGen.Controls.Add(Me.GrAux) + Me.TabPgGen.Controls.Add(Me.TbGBX) + Me.TabPgGen.Controls.Add(Me.TbENG) + Me.TabPgGen.Controls.Add(Me.TbVEH) + Me.TabPgGen.Controls.Add(Me.ButOpenGBX) + Me.TabPgGen.Controls.Add(Me.ButOpenENG) + Me.TabPgGen.Controls.Add(Me.ButOpenVEH) + Me.TabPgGen.Controls.Add(Me.ButtonVEH) + Me.TabPgGen.Controls.Add(Me.ButtonGBX) + Me.TabPgGen.Controls.Add(Me.ButtonMAP) + Me.TabPgGen.Location = New Point(4, 22) + Me.TabPgGen.Name = "TabPgGen" + Me.TabPgGen.Padding = New Padding(3) + Me.TabPgGen.Size = New Size(527, 534) + Me.TabPgGen.TabIndex = 0 + Me.TabPgGen.Text = "General" + Me.TabPgGen.UseVisualStyleBackColor = True + ' + 'GrCycles + ' + Me.GrCycles.Anchor = CType((((AnchorStyles.Top Or AnchorStyles.Bottom) _ + Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.GrCycles.Controls.Add(Me.Label2) + Me.GrCycles.Controls.Add(Me.LvCycles) + Me.GrCycles.Controls.Add(Me.BtDRIrem) + Me.GrCycles.Controls.Add(Me.BtDRIadd) + Me.GrCycles.Location = New Point(9, 314) + Me.GrCycles.Name = "GrCycles" + Me.GrCycles.Size = New Size(515, 184) + Me.GrCycles.TabIndex = 10 + Me.GrCycles.TabStop = False + Me.GrCycles.Text = "Cycles" + ' + 'Label2 + ' + Me.Label2.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.Label2.AutoSize = True + Me.Label2.Location = New Point(379, 148) + Me.Label2.Name = "Label2" + Me.Label2.Size = New Size(133, 13) + Me.Label2.TabIndex = 3 + Me.Label2.Text = "(Double-Click to Open File)" + ' + 'LvCycles + ' + Me.LvCycles.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.LvCycles.Columns.AddRange(New ColumnHeader() {Me.ColumnHeader1}) + Me.LvCycles.FullRowSelect = True + Me.LvCycles.GridLines = True + Me.LvCycles.HeaderStyle = ColumnHeaderStyle.None + Me.LvCycles.HideSelection = False + Me.LvCycles.LabelEdit = True + Me.LvCycles.Location = New Point(6, 25) + Me.LvCycles.MultiSelect = False + Me.LvCycles.Name = "LvCycles" + Me.LvCycles.Size = New Size(503, 123) + Me.LvCycles.TabIndex = 0 + Me.LvCycles.TabStop = False + Me.LvCycles.UseCompatibleStateImageBehavior = False + Me.LvCycles.View = View.Details + ' + 'ColumnHeader1 + ' + Me.ColumnHeader1.Text = "Cycle path" + Me.ColumnHeader1.Width = 470 + ' + 'BtDRIrem + ' + Me.BtDRIrem.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) + Me.BtDRIrem.Image = My.Resources.Resources.minus_circle_icon + Me.BtDRIrem.Location = New Point(29, 149) + Me.BtDRIrem.Name = "BtDRIrem" + Me.BtDRIrem.Size = New Size(24, 24) + Me.BtDRIrem.TabIndex = 2 + Me.BtDRIrem.UseVisualStyleBackColor = True + ' + 'BtDRIadd + ' + Me.BtDRIadd.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) + Me.BtDRIadd.Image = My.Resources.Resources.plus_circle_icon + Me.BtDRIadd.Location = New Point(5, 149) + Me.BtDRIadd.Name = "BtDRIadd" + Me.BtDRIadd.Size = New Size(24, 24) + Me.BtDRIadd.TabIndex = 1 + Me.BtDRIadd.UseVisualStyleBackColor = True + ' + 'GrAux + ' + Me.GrAux.Anchor = CType((((AnchorStyles.Top Or AnchorStyles.Bottom) _ + Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.GrAux.Controls.Add(Me.btnAAUXOpen) + Me.GrAux.Controls.Add(Me.Label1) + Me.GrAux.Controls.Add(Me.btnBrowseAAUXFile) + Me.GrAux.Controls.Add(Me.txtAdvancedAuxiliaryFile) + Me.GrAux.Controls.Add(Me.picAuxInfo) + Me.GrAux.Controls.Add(Me.cboAdvancedAuxiliaries) + Me.GrAux.Controls.Add(Me.lbAdvancedAuxiliaries) + Me.GrAux.Controls.Add(Me.Label32) + Me.GrAux.Controls.Add(Me.LvAux) + Me.GrAux.Controls.Add(Me.ButAuxRem) + Me.GrAux.Controls.Add(Me.ButAuxAdd) + Me.GrAux.Location = New Point(6, 87) + Me.GrAux.Name = "GrAux" + Me.GrAux.Size = New Size(515, 221) + Me.GrAux.TabIndex = 9 + Me.GrAux.TabStop = False + Me.GrAux.Text = "Auxiliaries" + ' + 'btnAAUXOpen + ' + Me.btnAAUXOpen.Image = My.Resources.Resources.application_export_icon_small + Me.btnAAUXOpen.Location = New Point(465, 45) + Me.btnAAUXOpen.Name = "btnAAUXOpen" + Me.btnAAUXOpen.Size = New Size(24, 24) + Me.btnAAUXOpen.TabIndex = 41 + Me.btnAAUXOpen.UseVisualStyleBackColor = True + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New Point(7, 52) + Me.Label1.Name = "Label1" + Me.Label1.Size = New Size(96, 13) + Me.Label1.TabIndex = 40 + Me.Label1.Text = "Advanced Aux File" + ' + 'btnBrowseAAUXFile + ' + Me.btnBrowseAAUXFile.Image = My.Resources.Resources.Open_icon + Me.btnBrowseAAUXFile.Location = New Point(441, 45) + Me.btnBrowseAAUXFile.Name = "btnBrowseAAUXFile" + Me.btnBrowseAAUXFile.Size = New Size(24, 24) + Me.btnBrowseAAUXFile.TabIndex = 39 + Me.ToolTip1.SetToolTip(Me.btnBrowseAAUXFile, "Configure/Browser Advanced Auxiliary Files") + Me.btnBrowseAAUXFile.UseVisualStyleBackColor = True + ' + 'txtAdvancedAuxiliaryFile + ' + Me.txtAdvancedAuxiliaryFile.Location = New Point(119, 47) + Me.txtAdvancedAuxiliaryFile.Name = "txtAdvancedAuxiliaryFile" + Me.txtAdvancedAuxiliaryFile.Size = New Size(321, 20) + Me.txtAdvancedAuxiliaryFile.TabIndex = 38 + ' + 'picAuxInfo + ' + Me.picAuxInfo.Image = My.Resources.Resources.Information_icon + Me.picAuxInfo.InitialImage = My.Resources.Resources.Information_icon + Me.picAuxInfo.Location = New Point(451, 19) + Me.picAuxInfo.Name = "picAuxInfo" + Me.picAuxInfo.Size = New Size(16, 16) + Me.picAuxInfo.SizeMode = PictureBoxSizeMode.AutoSize + Me.picAuxInfo.TabIndex = 37 + Me.picAuxInfo.TabStop = False + ' + 'cboAdvancedAuxiliaries + ' + Me.cboAdvancedAuxiliaries.FormattingEnabled = True + Me.cboAdvancedAuxiliaries.Location = New Point(119, 18) + Me.cboAdvancedAuxiliaries.Name = "cboAdvancedAuxiliaries" + Me.cboAdvancedAuxiliaries.Size = New Size(321, 21) + Me.cboAdvancedAuxiliaries.TabIndex = 36 + ' + 'lbAdvancedAuxiliaries + ' + Me.lbAdvancedAuxiliaries.AutoSize = True + Me.lbAdvancedAuxiliaries.Location = New Point(7, 21) + Me.lbAdvancedAuxiliaries.Name = "lbAdvancedAuxiliaries" + Me.lbAdvancedAuxiliaries.Size = New Size(72, 13) + Me.lbAdvancedAuxiliaries.TabIndex = 35 + Me.lbAdvancedAuxiliaries.Text = "Auxiliary Type" + ' + 'Label32 + ' + Me.Label32.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.Label32.AutoSize = True + Me.Label32.Location = New Point(406, 189) + Me.Label32.Name = "Label32" + Me.Label32.Size = New Size(106, 13) + Me.Label32.TabIndex = 3 + Me.Label32.Text = "(Double-Click to Edit)" + ' + 'LvAux + ' + Me.LvAux.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.LvAux.Columns.AddRange(New ColumnHeader() {Me.ColumnHeader4, Me.ColumnHeader5, Me.ColumnHeader6}) + Me.LvAux.FullRowSelect = True + Me.LvAux.GridLines = True + Me.LvAux.HideSelection = False + Me.LvAux.Location = New Point(6, 72) + Me.LvAux.MultiSelect = False + Me.LvAux.Name = "LvAux" + Me.LvAux.Size = New Size(503, 117) + Me.LvAux.TabIndex = 0 + Me.LvAux.TabStop = False + Me.LvAux.UseCompatibleStateImageBehavior = False + Me.LvAux.View = View.Details + ' + 'ColumnHeader4 + ' + Me.ColumnHeader4.Text = "ID" + Me.ColumnHeader4.Width = 45 + ' + 'ColumnHeader5 + ' + Me.ColumnHeader5.Text = "Type" + Me.ColumnHeader5.Width = 108 + ' + 'ColumnHeader6 + ' + Me.ColumnHeader6.Text = "Input File" + Me.ColumnHeader6.Width = 331 + ' + 'ButAuxRem + ' + Me.ButAuxRem.Image = My.Resources.Resources.minus_circle_icon + Me.ButAuxRem.Location = New Point(29, 190) + Me.ButAuxRem.Name = "ButAuxRem" + Me.ButAuxRem.Size = New Size(24, 24) + Me.ButAuxRem.TabIndex = 2 + Me.ButAuxRem.UseVisualStyleBackColor = True + ' + 'ButAuxAdd + ' + Me.ButAuxAdd.Image = My.Resources.Resources.plus_circle_icon + Me.ButAuxAdd.Location = New Point(5, 190) + Me.ButAuxAdd.Name = "ButAuxAdd" + Me.ButAuxAdd.Size = New Size(24, 24) + Me.ButAuxAdd.TabIndex = 1 + Me.ButAuxAdd.UseVisualStyleBackColor = True + ' + 'TbGBX + ' + Me.TbGBX.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.TbGBX.Location = New Point(84, 60) + Me.TbGBX.Name = "TbGBX" + Me.TbGBX.Size = New Size(411, 20) + Me.TbGBX.TabIndex = 7 + ' + 'TbENG + ' + Me.TbENG.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.TbENG.Location = New Point(84, 33) + Me.TbENG.Name = "TbENG" + Me.TbENG.Size = New Size(411, 20) + Me.TbENG.TabIndex = 4 + ' + 'TbVEH + ' + Me.TbVEH.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.TbVEH.Location = New Point(84, 7) + Me.TbVEH.Name = "TbVEH" + Me.TbVEH.Size = New Size(411, 20) + Me.TbVEH.TabIndex = 1 + ' + 'ButOpenGBX + ' + Me.ButOpenGBX.Location = New Point(6, 60) + Me.ButOpenGBX.Name = "ButOpenGBX" + Me.ButOpenGBX.Size = New Size(72, 21) + Me.ButOpenGBX.TabIndex = 6 + Me.ButOpenGBX.TabStop = False + Me.ButOpenGBX.Text = "Gearbox" + Me.ButOpenGBX.UseVisualStyleBackColor = True + ' + 'ButOpenENG + ' + Me.ButOpenENG.Location = New Point(6, 33) + Me.ButOpenENG.Name = "ButOpenENG" + Me.ButOpenENG.Size = New Size(72, 21) + Me.ButOpenENG.TabIndex = 3 + Me.ButOpenENG.TabStop = False + Me.ButOpenENG.Text = "Engine" + Me.ButOpenENG.UseVisualStyleBackColor = True + ' + 'ButOpenVEH + ' + Me.ButOpenVEH.Location = New Point(6, 6) + Me.ButOpenVEH.Name = "ButOpenVEH" + Me.ButOpenVEH.Size = New Size(72, 21) + Me.ButOpenVEH.TabIndex = 0 + Me.ButOpenVEH.TabStop = False + Me.ButOpenVEH.Text = "Vehicle" + Me.ButOpenVEH.UseVisualStyleBackColor = True + ' + 'ButtonVEH + ' + Me.ButtonVEH.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.ButtonVEH.Image = CType(resources.GetObject("ButtonVEH.Image"), Image) + Me.ButtonVEH.Location = New Point(496, 5) + Me.ButtonVEH.Name = "ButtonVEH" + Me.ButtonVEH.Size = New Size(24, 24) + Me.ButtonVEH.TabIndex = 2 + Me.ButtonVEH.TabStop = False + Me.ButtonVEH.UseVisualStyleBackColor = True + ' + 'ButtonGBX + ' + Me.ButtonGBX.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.ButtonGBX.Image = CType(resources.GetObject("ButtonGBX.Image"), Image) + Me.ButtonGBX.Location = New Point(496, 58) + Me.ButtonGBX.Name = "ButtonGBX" + Me.ButtonGBX.Size = New Size(24, 24) + Me.ButtonGBX.TabIndex = 8 + Me.ButtonGBX.TabStop = False + Me.ButtonGBX.UseVisualStyleBackColor = True + ' + 'ButtonMAP + ' + Me.ButtonMAP.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.ButtonMAP.Image = CType(resources.GetObject("ButtonMAP.Image"), Image) + Me.ButtonMAP.Location = New Point(496, 31) + Me.ButtonMAP.Name = "ButtonMAP" + Me.ButtonMAP.Size = New Size(24, 24) + Me.ButtonMAP.TabIndex = 5 + Me.ButtonMAP.TabStop = False + Me.ButtonMAP.UseVisualStyleBackColor = True + ' + 'TabControl1 + ' + Me.TabControl1.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.TabControl1.Controls.Add(Me.TabPgGen) + Me.TabControl1.Controls.Add(Me.TabPgDriver) + Me.TabControl1.Location = New Point(1, 107) + Me.TabControl1.Name = "TabControl1" + Me.TabControl1.SelectedIndex = 0 + Me.TabControl1.Size = New Size(535, 560) + Me.TabControl1.SizeMode = TabSizeMode.Fixed + Me.TabControl1.TabIndex = 0 + ' + 'TabPgDriver + ' + Me.TabPgDriver.Controls.Add(Me.GrVACC) + Me.TabPgDriver.Controls.Add(Me.GrLAC) + Me.TabPgDriver.Controls.Add(Me.GroupBox1) + Me.TabPgDriver.Controls.Add(Me.GrStartStop) + Me.TabPgDriver.Location = New Point(4, 22) + Me.TabPgDriver.Name = "TabPgDriver" + Me.TabPgDriver.Padding = New Padding(3) + Me.TabPgDriver.Size = New Size(527, 534) + Me.TabPgDriver.TabIndex = 7 + Me.TabPgDriver.Text = "Driver Assist" + Me.TabPgDriver.UseVisualStyleBackColor = True + ' + 'GrVACC + ' + Me.GrVACC.Controls.Add(Me.TbDesMaxFile) + Me.GrVACC.Controls.Add(Me.BtDesMaxBr) + Me.GrVACC.Controls.Add(Me.BtAccOpen) + Me.GrVACC.Location = New Point(6, 459) + Me.GrVACC.Name = "GrVACC" + Me.GrVACC.Size = New Size(515, 65) + Me.GrVACC.TabIndex = 3 + Me.GrVACC.TabStop = False + Me.GrVACC.Text = "Max. acceleration and brake curves" + ' + 'TbDesMaxFile + ' + Me.TbDesMaxFile.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.TbDesMaxFile.Location = New Point(6, 29) + Me.TbDesMaxFile.Name = "TbDesMaxFile" + Me.TbDesMaxFile.Size = New Size(440, 20) + Me.TbDesMaxFile.TabIndex = 0 + ' + 'BtDesMaxBr + ' + Me.BtDesMaxBr.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.BtDesMaxBr.Image = My.Resources.Resources.Open_icon + Me.BtDesMaxBr.Location = New Point(446, 27) + Me.BtDesMaxBr.Name = "BtDesMaxBr" + Me.BtDesMaxBr.Size = New Size(24, 24) + Me.BtDesMaxBr.TabIndex = 1 + Me.BtDesMaxBr.UseVisualStyleBackColor = True + ' + 'BtAccOpen + ' + Me.BtAccOpen.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.BtAccOpen.Image = My.Resources.Resources.application_export_icon_small + Me.BtAccOpen.Location = New Point(469, 27) + Me.BtAccOpen.Name = "BtAccOpen" + Me.BtAccOpen.Size = New Size(24, 24) + Me.BtAccOpen.TabIndex = 2 + Me.BtAccOpen.TabStop = False + Me.BtAccOpen.UseVisualStyleBackColor = True + ' + 'GrLAC + ' + Me.GrLAC.Controls.Add(Me.Label12) + Me.GrLAC.Controls.Add(Me.tbDfCoastingScale) + Me.GrLAC.Controls.Add(Me.CbLookAhead) + Me.GrLAC.Controls.Add(Me.Label11) + Me.GrLAC.Controls.Add(Me.Label3) + Me.GrLAC.Controls.Add(Me.tbDfCoastingOffset) + Me.GrLAC.Controls.Add(Me.tbLacDfTargetSpeedFile) + Me.GrLAC.Controls.Add(Me.Label10) + Me.GrLAC.Controls.Add(Me.Label4) + Me.GrLAC.Controls.Add(Me.Label5) + Me.GrLAC.Controls.Add(Me.btnDfTargetSpeed) + Me.GrLAC.Controls.Add(Me.tbLacPreviewFactor) + Me.GrLAC.Controls.Add(Me.tbLacDfVelocityDropFile) + Me.GrLAC.Location = New Point(7, 290) + Me.GrLAC.Name = "GrLAC" + Me.GrLAC.Size = New Size(514, 163) + Me.GrLAC.TabIndex = 2 + Me.GrLAC.TabStop = False + Me.GrLAC.Text = "Look-Ahead Coasting" + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Location = New Point(279, 133) + Me.Label12.Name = "Label12" + Me.Label12.Size = New Size(130, 13) + Me.Label12.TabIndex = 17 + Me.Label12.Text = "* DF_vTarget * DF_vDrop" + ' + 'tbDfCoastingScale + ' + Me.tbDfCoastingScale.Location = New Point(236, 130) + Me.tbDfCoastingScale.Name = "tbDfCoastingScale" + Me.tbDfCoastingScale.Size = New Size(37, 20) + Me.tbDfCoastingScale.TabIndex = 16 + ' + 'CbLookAhead + ' + Me.CbLookAhead.AutoSize = True + Me.CbLookAhead.Checked = True + Me.CbLookAhead.CheckState = CheckState.Checked + Me.CbLookAhead.Location = New Point(16, 21) + Me.CbLookAhead.Name = "CbLookAhead" + Me.CbLookAhead.Size = New Size(65, 17) + Me.CbLookAhead.TabIndex = 0 + Me.CbLookAhead.Text = "Enabled" + Me.CbLookAhead.UseVisualStyleBackColor = True + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New Point(219, 132) + Me.Label11.Name = "Label11" + Me.Label11.Size = New Size(13, 13) + Me.Label11.TabIndex = 15 + Me.Label11.Text = "- " + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New Point(50, 54) + Me.Label3.Name = "Label3" + Me.Label3.Size = New Size(118, 13) + Me.Label3.TabIndex = 4 + Me.Label3.Text = "Preview distance factor" + Me.Label3.TextAlign = ContentAlignment.MiddleRight + ' + 'tbDfCoastingOffset + ' + Me.tbDfCoastingOffset.Location = New Point(175, 130) + Me.tbDfCoastingOffset.Name = "tbDfCoastingOffset" + Me.tbDfCoastingOffset.Size = New Size(37, 20) + Me.tbDfCoastingOffset.TabIndex = 14 + ' + 'tbLacDfTargetSpeedFile + ' + Me.tbLacDfTargetSpeedFile.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.tbLacDfTargetSpeedFile.Location = New Point(174, 77) + Me.tbLacDfTargetSpeedFile.Name = "tbLacDfTargetSpeedFile" + Me.tbLacDfTargetSpeedFile.Size = New Size(264, 20) + Me.tbLacDfTargetSpeedFile.TabIndex = 6 + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New Point(89, 133) + Me.Label10.Name = "Label10" + Me.Label10.Size = New Size(79, 13) + Me.Label10.TabIndex = 12 + Me.Label10.Text = "DF_coasting = " + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New Point(13, 80) + Me.Label4.Name = "Label4" + Me.Label4.Size = New Size(155, 13) + Me.Label4.TabIndex = 8 + Me.Label4.Text = "Decision Factor - Target Speed" + Me.Label4.TextAlign = ContentAlignment.MiddleRight + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New Point(15, 107) + Me.Label5.Name = "Label5" + Me.Label5.Size = New Size(153, 13) + Me.Label5.TabIndex = 11 + Me.Label5.Text = "Decision Factor - Velocity Drop" + Me.Label5.TextAlign = ContentAlignment.MiddleRight + ' + 'btnDfTargetSpeed + ' + Me.btnDfTargetSpeed.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.btnDfTargetSpeed.Image = CType(resources.GetObject("btnDfTargetSpeed.Image"), Image) + Me.btnDfTargetSpeed.Location = New Point(438, 76) + Me.btnDfTargetSpeed.Name = "btnDfTargetSpeed" + Me.btnDfTargetSpeed.Size = New Size(24, 24) + Me.btnDfTargetSpeed.TabIndex = 7 + Me.btnDfTargetSpeed.TabStop = False + Me.btnDfTargetSpeed.UseVisualStyleBackColor = True + ' + 'tbLacPreviewFactor + ' + Me.tbLacPreviewFactor.Location = New Point(174, 51) + Me.tbLacPreviewFactor.Name = "tbLacPreviewFactor" + Me.tbLacPreviewFactor.Size = New Size(64, 20) + Me.tbLacPreviewFactor.TabIndex = 5 + ' + 'tbLacDfVelocityDropFile + ' + Me.tbLacDfVelocityDropFile.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.tbLacDfVelocityDropFile.Location = New Point(174, 104) + Me.tbLacDfVelocityDropFile.Name = "tbLacDfVelocityDropFile" + Me.tbLacDfVelocityDropFile.Size = New Size(264, 20) + Me.tbLacDfVelocityDropFile.TabIndex = 9 + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.PnEcoRoll) + Me.GroupBox1.Controls.Add(Me.RdEcoRoll) + Me.GroupBox1.Controls.Add(Me.RdOverspeed) + Me.GroupBox1.Controls.Add(Me.RdOff) + Me.GroupBox1.Location = New Point(6, 149) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New Size(515, 135) + Me.GroupBox1.TabIndex = 1 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Overspeed / Eco-Roll" + ' + 'PnEcoRoll + ' + Me.PnEcoRoll.Controls.Add(Me.Label21) + Me.PnEcoRoll.Controls.Add(Me.Label20) + Me.PnEcoRoll.Controls.Add(Me.Label14) + Me.PnEcoRoll.Controls.Add(Me.TbVmin) + Me.PnEcoRoll.Controls.Add(Me.TbUnderSpeed) + Me.PnEcoRoll.Controls.Add(Me.TbOverspeed) + Me.PnEcoRoll.Controls.Add(Me.Label23) + Me.PnEcoRoll.Controls.Add(Me.Label22) + Me.PnEcoRoll.Controls.Add(Me.Label13) + Me.PnEcoRoll.Location = New Point(137, 16) + Me.PnEcoRoll.Name = "PnEcoRoll" + Me.PnEcoRoll.Size = New Size(232, 102) + Me.PnEcoRoll.TabIndex = 3 + ' + 'Label21 + ' + Me.Label21.AutoSize = True + Me.Label21.Location = New Point(178, 61) + Me.Label21.Name = "Label21" + Me.Label21.Size = New Size(38, 13) + Me.Label21.TabIndex = 3 + Me.Label21.Text = "[km/h]" + ' + 'Label20 + ' + Me.Label20.AutoSize = True + Me.Label20.Location = New Point(178, 35) + Me.Label20.Name = "Label20" + Me.Label20.Size = New Size(38, 13) + Me.Label20.TabIndex = 3 + Me.Label20.Text = "[km/h]" + ' + 'Label14 + ' + Me.Label14.AutoSize = True + Me.Label14.Location = New Point(178, 9) + Me.Label14.Name = "Label14" + Me.Label14.Size = New Size(38, 13) + Me.Label14.TabIndex = 3 + Me.Label14.Text = "[km/h]" + ' + 'TbVmin + ' + Me.TbVmin.Location = New Point(108, 58) + Me.TbVmin.Name = "TbVmin" + Me.TbVmin.Size = New Size(64, 20) + Me.TbVmin.TabIndex = 2 + ' + 'TbUnderSpeed + ' + Me.TbUnderSpeed.Location = New Point(108, 32) + Me.TbUnderSpeed.Name = "TbUnderSpeed" + Me.TbUnderSpeed.Size = New Size(64, 20) + Me.TbUnderSpeed.TabIndex = 1 + ' + 'TbOverspeed + ' + Me.TbOverspeed.Location = New Point(108, 6) + Me.TbOverspeed.Name = "TbOverspeed" + Me.TbOverspeed.Size = New Size(64, 20) + Me.TbOverspeed.TabIndex = 0 + ' + 'Label23 + ' + Me.Label23.AutoSize = True + Me.Label23.Location = New Point(22, 61) + Me.Label23.Name = "Label23" + Me.Label23.Size = New Size(80, 13) + Me.Label23.TabIndex = 1 + Me.Label23.Text = "Minimum speed" + ' + 'Label22 + ' + Me.Label22.AutoSize = True + Me.Label22.Location = New Point(11, 35) + Me.Label22.Name = "Label22" + Me.Label22.Size = New Size(91, 13) + Me.Label22.TabIndex = 1 + Me.Label22.Text = "Max. Underspeed" + ' + 'Label13 + ' + Me.Label13.AutoSize = True + Me.Label13.Location = New Point(17, 9) + Me.Label13.Name = "Label13" + Me.Label13.Size = New Size(85, 13) + Me.Label13.TabIndex = 1 + Me.Label13.Text = "Max. Overspeed" + ' + 'RdEcoRoll + ' + Me.RdEcoRoll.AutoSize = True + Me.RdEcoRoll.Checked = True + Me.RdEcoRoll.Location = New Point(13, 68) + Me.RdEcoRoll.Name = "RdEcoRoll" + Me.RdEcoRoll.Size = New Size(65, 17) + Me.RdEcoRoll.TabIndex = 2 + Me.RdEcoRoll.TabStop = True + Me.RdEcoRoll.Text = "Eco-Roll" + Me.RdEcoRoll.UseVisualStyleBackColor = True + ' + 'RdOverspeed + ' + Me.RdOverspeed.AutoSize = True + Me.RdOverspeed.Location = New Point(13, 45) + Me.RdOverspeed.Name = "RdOverspeed" + Me.RdOverspeed.Size = New Size(77, 17) + Me.RdOverspeed.TabIndex = 1 + Me.RdOverspeed.Text = "Overspeed" + Me.RdOverspeed.UseVisualStyleBackColor = True + ' + 'RdOff + ' + Me.RdOff.AutoSize = True + Me.RdOff.Location = New Point(13, 22) + Me.RdOff.Name = "RdOff" + Me.RdOff.Size = New Size(39, 17) + Me.RdOff.TabIndex = 0 + Me.RdOff.Text = "Off" + Me.RdOff.UseVisualStyleBackColor = True + ' + 'GrStartStop + ' + Me.GrStartStop.Controls.Add(Me.PnStartStop) + Me.GrStartStop.Controls.Add(Me.ChBStartStop) + Me.GrStartStop.Location = New Point(6, 6) + Me.GrStartStop.Name = "GrStartStop" + Me.GrStartStop.Size = New Size(515, 137) + Me.GrStartStop.TabIndex = 0 + Me.GrStartStop.TabStop = False + Me.GrStartStop.Text = "Engine Start Stop" + ' + 'PnStartStop + ' + Me.PnStartStop.Controls.Add(Me.Label31) + Me.PnStartStop.Controls.Add(Me.Label27) + Me.PnStartStop.Controls.Add(Me.TbSSspeed) + Me.PnStartStop.Controls.Add(Me.LabelSSspeed) + Me.PnStartStop.Controls.Add(Me.Label26) + Me.PnStartStop.Controls.Add(Me.Label30) + Me.PnStartStop.Controls.Add(Me.LabelSStime) + Me.PnStartStop.Controls.Add(Me.TbSSdelay) + Me.PnStartStop.Controls.Add(Me.TbSStime) + Me.PnStartStop.Location = New Point(87, 21) + Me.PnStartStop.Name = "PnStartStop" + Me.PnStartStop.Size = New Size(422, 95) + Me.PnStartStop.TabIndex = 1 + ' + 'Label31 + ' + Me.Label31.AutoSize = True + Me.Label31.Location = New Point(228, 58) + Me.Label31.Name = "Label31" + Me.Label31.Size = New Size(18, 13) + Me.Label31.TabIndex = 38 + Me.Label31.Text = "[s]" + ' + 'Label27 + ' + Me.Label27.AutoSize = True + Me.Label27.Location = New Point(228, 32) + Me.Label27.Name = "Label27" + Me.Label27.Size = New Size(18, 13) + Me.Label27.TabIndex = 38 + Me.Label27.Text = "[s]" + ' + 'TbSSspeed + ' + Me.TbSSspeed.Location = New Point(158, 3) + Me.TbSSspeed.Name = "TbSSspeed" + Me.TbSSspeed.Size = New Size(64, 20) + Me.TbSSspeed.TabIndex = 0 + ' + 'LabelSSspeed + ' + Me.LabelSSspeed.AutoSize = True + Me.LabelSSspeed.Location = New Point(91, 6) + Me.LabelSSspeed.Name = "LabelSSspeed" + Me.LabelSSspeed.Size = New Size(61, 13) + Me.LabelSSspeed.TabIndex = 37 + Me.LabelSSspeed.Text = "Max Speed" + ' + 'Label26 + ' + Me.Label26.AutoSize = True + Me.Label26.Location = New Point(228, 6) + Me.Label26.Name = "Label26" + Me.Label26.Size = New Size(38, 13) + Me.Label26.TabIndex = 38 + Me.Label26.Text = "[km/h]" + ' + 'Label30 + ' + Me.Label30.AutoSize = True + Me.Label30.Location = New Point(68, 58) + Me.Label30.Name = "Label30" + Me.Label30.Size = New Size(84, 13) + Me.Label30.TabIndex = 35 + Me.Label30.Text = "Activation Delay" + ' + 'LabelSStime + ' + Me.LabelSStime.AutoSize = True + Me.LabelSStime.Location = New Point(65, 32) + Me.LabelSStime.Name = "LabelSStime" + Me.LabelSStime.Size = New Size(87, 13) + Me.LabelSStime.TabIndex = 35 + Me.LabelSStime.Text = "Min ICE-On Time" + ' + 'TbSSdelay + ' + Me.TbSSdelay.Location = New Point(158, 55) + Me.TbSSdelay.Name = "TbSSdelay" + Me.TbSSdelay.Size = New Size(64, 20) + Me.TbSSdelay.TabIndex = 2 + ' + 'TbSStime + ' + Me.TbSStime.Location = New Point(158, 29) + Me.TbSStime.Name = "TbSStime" + Me.TbSStime.Size = New Size(64, 20) + Me.TbSStime.TabIndex = 1 + ' + 'ChBStartStop + ' + Me.ChBStartStop.AutoSize = True + Me.ChBStartStop.Checked = True + Me.ChBStartStop.CheckState = CheckState.Checked + Me.ChBStartStop.Location = New Point(16, 21) + Me.ChBStartStop.Name = "ChBStartStop" + Me.ChBStartStop.Size = New Size(65, 17) + Me.ChBStartStop.TabIndex = 0 + Me.ChBStartStop.Text = "Enabled" + Me.ChBStartStop.UseVisualStyleBackColor = True + ' + 'StatusStrip1 + ' + Me.StatusStrip1.Items.AddRange(New ToolStripItem() {Me.ToolStripStatusLabelGEN}) + Me.StatusStrip1.Location = New Point(0, 672) + Me.StatusStrip1.Name = "StatusStrip1" + Me.StatusStrip1.Size = New Size(944, 22) + Me.StatusStrip1.SizingGrip = False + Me.StatusStrip1.TabIndex = 6 + Me.StatusStrip1.Text = "StatusStrip1" + ' + 'ToolStripStatusLabelGEN + ' + Me.ToolStripStatusLabelGEN.Name = "ToolStripStatusLabelGEN" + Me.ToolStripStatusLabelGEN.Size = New Size(121, 17) + Me.ToolStripStatusLabelGEN.Text = "ToolStripStatusLabel1" + ' + 'ButOK + ' + Me.ButOK.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) + Me.ButOK.Location = New Point(779, 646) + Me.ButOK.Name = "ButOK" + Me.ButOK.Size = New Size(75, 23) + Me.ButOK.TabIndex = 0 + Me.ButOK.Text = "Save" + Me.ButOK.UseVisualStyleBackColor = True + ' + 'ButCancel + ' + Me.ButCancel.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) + Me.ButCancel.DialogResult = DialogResult.Cancel + Me.ButCancel.Location = New Point(860, 646) + Me.ButCancel.Name = "ButCancel" + Me.ButCancel.Size = New Size(75, 23) + Me.ButCancel.TabIndex = 1 + Me.ButCancel.Text = "Cancel" + Me.ButCancel.UseVisualStyleBackColor = True + ' + 'ToolStrip1 + ' + Me.ToolStrip1.GripStyle = ToolStripGripStyle.Hidden + Me.ToolStrip1.Items.AddRange(New ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator1, Me.ToolStripBtSendTo, Me.ToolStripSeparator2, Me.ToolStripButton1}) + Me.ToolStrip1.Location = New Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New Size(944, 25) + Me.ToolStrip1.TabIndex = 20 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'ToolStripBtNew + ' + Me.ToolStripBtNew.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtNew.Image = My.Resources.Resources.blue_document_icon + Me.ToolStripBtNew.ImageTransparentColor = Color.Magenta + Me.ToolStripBtNew.Name = "ToolStripBtNew" + Me.ToolStripBtNew.Size = New Size(23, 22) + Me.ToolStripBtNew.Text = "New" + Me.ToolStripBtNew.ToolTipText = "New" + ' + 'ToolStripBtOpen + ' + Me.ToolStripBtOpen.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtOpen.Image = My.Resources.Resources.Open_icon + Me.ToolStripBtOpen.ImageTransparentColor = Color.Magenta + Me.ToolStripBtOpen.Name = "ToolStripBtOpen" + Me.ToolStripBtOpen.Size = New Size(23, 22) + Me.ToolStripBtOpen.Text = "Open" + Me.ToolStripBtOpen.ToolTipText = "Open..." + ' + 'ToolStripBtSave + ' + Me.ToolStripBtSave.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtSave.Image = My.Resources.Resources.Actions_document_save_icon + Me.ToolStripBtSave.ImageTransparentColor = Color.Magenta + Me.ToolStripBtSave.Name = "ToolStripBtSave" + Me.ToolStripBtSave.Size = New Size(23, 22) + Me.ToolStripBtSave.Text = "Save" + Me.ToolStripBtSave.ToolTipText = "Save" + ' + 'ToolStripBtSaveAs + ' + Me.ToolStripBtSaveAs.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtSaveAs.Image = My.Resources.Resources.Actions_document_save_as_icon + Me.ToolStripBtSaveAs.ImageTransparentColor = Color.Magenta + Me.ToolStripBtSaveAs.Name = "ToolStripBtSaveAs" + Me.ToolStripBtSaveAs.Size = New Size(23, 22) + Me.ToolStripBtSaveAs.Text = "Save As" + Me.ToolStripBtSaveAs.ToolTipText = "Save As..." + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New Size(6, 25) + ' + 'ToolStripBtSendTo + ' + Me.ToolStripBtSendTo.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtSendTo.Image = My.Resources.Resources.export_icon + Me.ToolStripBtSendTo.ImageTransparentColor = Color.Magenta + Me.ToolStripBtSendTo.Name = "ToolStripBtSendTo" + Me.ToolStripBtSendTo.Size = New Size(23, 22) + Me.ToolStripBtSendTo.Text = "Send to Job List" + Me.ToolStripBtSendTo.ToolTipText = "Send to Job List" + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New Size(6, 25) + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = My.Resources.Resources.Help_icon + Me.ToolStripButton1.ImageTransparentColor = Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New Size(23, 22) + Me.ToolStripButton1.Text = "Help" + ' + 'PictureBox1 + ' + Me.PictureBox1.BackColor = Color.White + Me.PictureBox1.Image = My.Resources.Resources.VECTO_VECTO + Me.PictureBox1.Location = New Point(12, 28) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New Size(920, 40) + Me.PictureBox1.TabIndex = 21 + Me.PictureBox1.TabStop = False + ' + 'CbEngOnly + ' + Me.CbEngOnly.AutoSize = True + Me.CbEngOnly.Location = New Point(17, 84) + Me.CbEngOnly.Name = "CbEngOnly" + Me.CbEngOnly.Size = New Size(113, 17) + Me.CbEngOnly.TabIndex = 0 + Me.CbEngOnly.Text = "Engine Only Mode" + Me.CbEngOnly.UseVisualStyleBackColor = True + ' + 'CmOpenFile + ' + Me.CmOpenFile.Items.AddRange(New ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.ShowInFolderToolStripMenuItem}) + Me.CmOpenFile.Name = "CmOpenFile" + Me.CmOpenFile.Size = New Size(153, 48) + ' + 'OpenWithToolStripMenuItem + ' + Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" + Me.OpenWithToolStripMenuItem.Size = New Size(152, 22) + Me.OpenWithToolStripMenuItem.Text = "Open with ..." + ' + 'ShowInFolderToolStripMenuItem + ' + Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" + Me.ShowInFolderToolStripMenuItem.Size = New Size(152, 22) + Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" + ' + 'PicVehicle + ' + Me.PicVehicle.BackColor = Color.LightGray + Me.PicVehicle.Location = New Point(542, 122) + Me.PicVehicle.Name = "PicVehicle" + Me.PicVehicle.Size = New Size(300, 88) + Me.PicVehicle.SizeMode = PictureBoxSizeMode.StretchImage + Me.PicVehicle.TabIndex = 36 + Me.PicVehicle.TabStop = False + ' + 'PicBox + ' + Me.PicBox.BackColor = Color.LightGray + Me.PicBox.Location = New Point(542, 268) + Me.PicBox.Name = "PicBox" + Me.PicBox.Size = New Size(390, 327) + Me.PicBox.TabIndex = 36 + Me.PicBox.TabStop = False + ' + 'TbEngTxt + ' + Me.TbEngTxt.Location = New Point(542, 216) + Me.TbEngTxt.Name = "TbEngTxt" + Me.TbEngTxt.ReadOnly = True + Me.TbEngTxt.Size = New Size(390, 20) + Me.TbEngTxt.TabIndex = 6 + ' + 'TbVehCat + ' + Me.TbVehCat.Location = New Point(848, 126) + Me.TbVehCat.Name = "TbVehCat" + Me.TbVehCat.ReadOnly = True + Me.TbVehCat.Size = New Size(87, 20) + Me.TbVehCat.TabIndex = 2 + ' + 'TbAxleConf + ' + Me.TbAxleConf.Location = New Point(904, 155) + Me.TbAxleConf.Name = "TbAxleConf" + Me.TbAxleConf.ReadOnly = True + Me.TbAxleConf.Size = New Size(31, 20) + Me.TbAxleConf.TabIndex = 4 + ' + 'TbHVCclass + ' + Me.TbHVCclass.Location = New Point(848, 184) + Me.TbHVCclass.Name = "TbHVCclass" + Me.TbHVCclass.ReadOnly = True + Me.TbHVCclass.Size = New Size(87, 20) + Me.TbHVCclass.TabIndex = 5 + ' + 'TbGbxTxt + ' + Me.TbGbxTxt.Location = New Point(542, 242) + Me.TbGbxTxt.Name = "TbGbxTxt" + Me.TbGbxTxt.ReadOnly = True + Me.TbGbxTxt.Size = New Size(390, 20) + Me.TbGbxTxt.TabIndex = 7 + ' + 'TbMass + ' + Me.TbMass.Location = New Point(848, 155) + Me.TbMass.Name = "TbMass" + Me.TbMass.ReadOnly = True + Me.TbMass.Size = New Size(50, 20) + Me.TbMass.TabIndex = 3 + ' + 'F_VECTO + ' + Me.AcceptButton = Me.ButOK + Me.AutoScaleDimensions = New SizeF(6.0!, 13.0!) + Me.AutoScaleMode = AutoScaleMode.Font + Me.CancelButton = Me.ButCancel + Me.ClientSize = New Size(944, 694) + Me.Controls.Add(Me.TbHVCclass) + Me.Controls.Add(Me.TbMass) + Me.Controls.Add(Me.TbAxleConf) + Me.Controls.Add(Me.TbVehCat) + Me.Controls.Add(Me.TbGbxTxt) + Me.Controls.Add(Me.TbEngTxt) + Me.Controls.Add(Me.PicBox) + Me.Controls.Add(Me.PicVehicle) + Me.Controls.Add(Me.CbEngOnly) + Me.Controls.Add(Me.PictureBox1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.ButCancel) + Me.Controls.Add(Me.TabControl1) + Me.Controls.Add(Me.ButOK) + Me.Controls.Add(Me.StatusStrip1) + Me.FormBorderStyle = FormBorderStyle.FixedSingle + Me.Icon = CType(resources.GetObject("$this.Icon"), Icon) + Me.MaximizeBox = False + Me.Name = "VectoJobForm" + Me.StartPosition = FormStartPosition.CenterParent + Me.Text = "Job Editor" + Me.TabPgGen.ResumeLayout(False) + Me.TabPgGen.PerformLayout() + Me.GrCycles.ResumeLayout(False) + Me.GrCycles.PerformLayout() + Me.GrAux.ResumeLayout(False) + Me.GrAux.PerformLayout() + CType(Me.picAuxInfo, ISupportInitialize).EndInit() + Me.TabControl1.ResumeLayout(False) + Me.TabPgDriver.ResumeLayout(False) + Me.GrVACC.ResumeLayout(False) + Me.GrVACC.PerformLayout() + Me.GrLAC.ResumeLayout(False) + Me.GrLAC.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.PnEcoRoll.ResumeLayout(False) + Me.PnEcoRoll.PerformLayout() + Me.GrStartStop.ResumeLayout(False) + Me.GrStartStop.PerformLayout() + Me.PnStartStop.ResumeLayout(False) + Me.PnStartStop.PerformLayout() + Me.StatusStrip1.ResumeLayout(False) + Me.StatusStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + CType(Me.PictureBox1, ISupportInitialize).EndInit() + Me.CmOpenFile.ResumeLayout(False) + CType(Me.PicVehicle, ISupportInitialize).EndInit() + CType(Me.PicBox, ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents TabPgGen As TabPage + Friend WithEvents TabControl1 As TabControl + Friend WithEvents StatusStrip1 As StatusStrip + Friend WithEvents ButtonVEH As Button + Friend WithEvents ButtonMAP As Button + Friend WithEvents ButtonGBX As Button + Friend WithEvents ButOpenVEH As Button + Friend WithEvents ButOpenGBX As Button + Friend WithEvents ButOpenENG As Button + Friend WithEvents ToolStripStatusLabelGEN As ToolStripStatusLabel + Friend WithEvents ButOK As Button + Friend WithEvents TbGBX As TextBox + Friend WithEvents TbENG As TextBox + Friend WithEvents TbVEH As TextBox + Friend WithEvents ButCancel As Button + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents ToolStripBtNew As ToolStripButton + Friend WithEvents ToolStripBtOpen As ToolStripButton + Friend WithEvents ToolStripBtSave As ToolStripButton + Friend WithEvents ToolStripBtSaveAs As ToolStripButton + Friend WithEvents ToolStripBtSendTo As ToolStripButton + Friend WithEvents ToolStripSeparator1 As ToolStripSeparator + Friend WithEvents GrAux As GroupBox + Friend WithEvents LvAux As ListView + Friend WithEvents ColumnHeader4 As ColumnHeader + Friend WithEvents ColumnHeader5 As ColumnHeader + Friend WithEvents ColumnHeader6 As ColumnHeader + Friend WithEvents ButAuxRem As Button + Friend WithEvents ButAuxAdd As Button + Friend WithEvents PictureBox1 As PictureBox + Friend WithEvents TabPgDriver As TabPage + Friend WithEvents BtDesMaxBr As Button + Friend WithEvents TbDesMaxFile As TextBox + Friend WithEvents GrCycles As GroupBox + Friend WithEvents LvCycles As ListView + Friend WithEvents ColumnHeader1 As ColumnHeader + Friend WithEvents BtDRIrem As Button + Friend WithEvents BtDRIadd As Button + Friend WithEvents ToolStripSeparator2 As ToolStripSeparator + Friend WithEvents ToolStripButton1 As ToolStripButton + Friend WithEvents CbEngOnly As CheckBox + Friend WithEvents BtAccOpen As Button + Friend WithEvents Label2 As Label + Friend WithEvents CmOpenFile As ContextMenuStrip + Friend WithEvents OpenWithToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ShowInFolderToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ChBStartStop As CheckBox + Friend WithEvents GrStartStop As GroupBox + Friend WithEvents TbSSspeed As TextBox + Friend WithEvents TbSStime As TextBox + Friend WithEvents LabelSStime As Label + Friend WithEvents LabelSSspeed As Label + Friend WithEvents GrLAC As GroupBox + Friend WithEvents CbLookAhead As CheckBox + Friend WithEvents GroupBox1 As GroupBox + Friend WithEvents Label21 As Label + Friend WithEvents Label20 As Label + Friend WithEvents Label14 As Label + Friend WithEvents TbVmin As TextBox + Friend WithEvents TbUnderSpeed As TextBox + Friend WithEvents TbOverspeed As TextBox + Friend WithEvents Label23 As Label + Friend WithEvents Label22 As Label + Friend WithEvents Label13 As Label + Friend WithEvents RdEcoRoll As RadioButton + Friend WithEvents RdOverspeed As RadioButton + Friend WithEvents RdOff As RadioButton + Friend WithEvents PnStartStop As Panel + Friend WithEvents Label27 As Label + Friend WithEvents Label26 As Label + Friend WithEvents Label31 As Label + Friend WithEvents Label30 As Label + Friend WithEvents TbSSdelay As TextBox + Friend WithEvents Label32 As Label + Friend WithEvents PnEcoRoll As Panel + Friend WithEvents PicVehicle As PictureBox + Friend WithEvents PicBox As PictureBox + Friend WithEvents TbEngTxt As TextBox + Friend WithEvents TbVehCat As TextBox + Friend WithEvents TbAxleConf As TextBox + Friend WithEvents TbHVCclass As TextBox + Friend WithEvents TbGbxTxt As TextBox + Friend WithEvents TbMass As TextBox + Friend WithEvents GrVACC As GroupBox + Friend WithEvents cboAdvancedAuxiliaries As ComboBox + Friend WithEvents picAuxInfo As PictureBox + Friend WithEvents ToolTip1 As ToolTip + Friend WithEvents Label1 As Label + Friend WithEvents btnBrowseAAUXFile As Button + Friend WithEvents txtAdvancedAuxiliaryFile As TextBox + Friend WithEvents lbAdvancedAuxiliaries As Label + Friend WithEvents btnAAUXOpen As Button + Friend WithEvents Label12 As Label + Friend WithEvents tbDfCoastingScale As TextBox + Friend WithEvents Label11 As Label + Friend WithEvents Label3 As Label + Friend WithEvents tbDfCoastingOffset As TextBox + Friend WithEvents tbLacDfTargetSpeedFile As TextBox + Friend WithEvents Label10 As Label + Friend WithEvents Label4 As Label + Friend WithEvents Label5 As Label + Friend WithEvents btnDfTargetSpeed As Button + Friend WithEvents tbLacPreviewFactor As TextBox + Friend WithEvents tbLacDfVelocityDropFile As TextBox +End Class diff --git a/VECTO/GUI/F_VECTO.resx b/VECTO/GUI/VectoJobForm.resx similarity index 100% rename from VECTO/GUI/F_VECTO.resx rename to VECTO/GUI/VectoJobForm.resx diff --git a/VECTO/GUI/F_VECTO.vb b/VECTO/GUI/VectoJobForm.vb similarity index 89% rename from VECTO/GUI/F_VECTO.vb rename to VECTO/GUI/VectoJobForm.vb index 56243eedbbfa03d88c2c5a6e7ca1f01f0a0d0517..7111cc421065d78866cb795a2216ec99d5d480d5 100644 --- a/VECTO/GUI/F_VECTO.vb +++ b/VECTO/GUI/VectoJobForm.vb @@ -1,1410 +1,1410 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Option Infer On - -Imports System.Collections.Generic -Imports System.Drawing.Imaging -Imports System.IO -Imports System.Linq -Imports System.Text.RegularExpressions -Imports System.Windows.Forms.DataVisualization.Charting -Imports TUGraz.VECTO.Input_Files -Imports TUGraz.VectoCommon.Models -Imports TUGraz.VectoCommon.Utils -Imports TUGraz.VectoCore.Models.Declaration - -''' <summary> -''' Job Editor. Create/Edit VECTO job files (.vecto) -''' </summary> -''' <remarks></remarks> -Public Class F_VECTO - Public VECTOfile As String - Private Changed As Boolean = False - - Private pgDriver As TabPage - - Private pgDriverON As Boolean = True - - Private AuxDlog As F_VEH_AuxDlog - - Public n_idle As Single - Public FLDfile As String - - 'AA-TB - 'Populate Advanced Auxiliaries - Private Sub PopulateAdvancedAuxiliaries() - 'Scan the program directory for DLL's which are AdvancedAuxiliaries and display - Dim aList As List(Of cAdvancedAuxiliary) = DiscoverAdvancedAuxiliaries() - - cboAdvancedAuxiliaries.DataSource = aList - cboAdvancedAuxiliaries.DisplayMember = "AuxiliaryName" - End Sub - - - 'Initialise form - Private Sub F02_GEN_Load(sender As Object, e As EventArgs) Handles Me.Load - Dim x As Int16 - - n_idle = -1 - FLDfile = "" - - AuxDlog = New F_VEH_AuxDlog - - pgDriver = TabPgDriver - - For x = 0 To TabControl1.TabCount - 1 - TabControl1.TabPages(x).Show() - Next - - LvAux.Columns(2).Width = -2 - - 'Declaration Mode - If Cfg.DeclMode Then - LvAux.Columns(2).Text = "Technology" - Else - LvAux.Columns(2).Text = "Input File" - End If - - CbEngOnly.Enabled = Not Cfg.DeclMode - GrCycles.Enabled = Not Cfg.DeclMode - GrVACC.Enabled = Not Cfg.DeclMode - PnStartStop.Enabled = Not Cfg.DeclMode - RdOff.Enabled = Not Cfg.DeclMode - GrLAC.Enabled = Not Cfg.DeclMode - ButAuxAdd.Enabled = Not Cfg.DeclMode - ButAuxRem.Enabled = Not Cfg.DeclMode - PnEcoRoll.Enabled = Not Cfg.DeclMode - - Changed = False - 'AA-TB - PopulateAdvancedAuxiliaries() - - 'Attempt to select that found in Config - End Sub - - 'Close - Check for unsaved changes - Private Sub F02_GEN_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing - If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then - e.Cancel = ChangeCheckCancel() - End If - End Sub - - 'Set generic values for Declaration mode - Private Sub DeclInit() - - If Not Cfg.DeclMode Then Exit Sub - - LvCycles.Items.Clear() - CbEngOnly.Checked = False - TbDesMaxFile.Text = "" - If Not RdEcoRoll.Checked Then RdOverspeed.Checked = True - CbLookAhead.Checked = True - - TbSSspeed.Text = DeclarationData.Driver.StartStop.MaxSpeed.AsKmph() 'cDeclaration.SSspeed - TbSStime.Text = DeclarationData.Driver.StartStop.MinTime.Value() 'cDeclaration.SStime - TbSSdelay.Text = DeclarationData.Driver.StartStop.Delay.Value() ' cDeclaration.SSdelay - - tbLacPreviewFactor.Text = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor - tbLacDfTargetSpeedFile.Text = "" - tbLacDfVelocityDropFile.Text = "" - - TbOverspeed.Text = DeclarationData.Driver.OverSpeedEcoRoll.OverSpeed.AsKmph() 'cDeclaration.Overspeed - TbUnderSpeed.Text = DeclarationData.Driver.OverSpeedEcoRoll.UnderSpeed.AsKmph() ' cDeclaration.Underspeed - TbVmin.Text = DeclarationData.Driver.OverSpeedEcoRoll.MinSpeed.AsKmph() 'cDeclaration.ECvmin - - If _ - LvAux.Items.Count <> 5 OrElse - (LvAux.Items(0).Text <> sKey.AUX.Fan OrElse LvAux.Items(1).Text <> sKey.AUX.SteerPump OrElse - LvAux.Items(2).Text <> sKey.AUX.HVAC OrElse LvAux.Items(3).Text <> sKey.AUX.ElecSys OrElse - LvAux.Items(4).Text <> sKey.AUX.PneumSys) Then - LvAux.Items.Clear() - - - LvAux.Items.Add(GetTechListForAux(sKey.AUX.Fan, "Fan", DeclarationData.Fan)) - - LvAux.Items.Add(GetTechListForAux(sKey.AUX.SteerPump, "Steering pump", DeclarationData.SteeringPump)) - - LvAux.Items.Add(GetTechListForAux(sKey.AUX.HVAC, "HVAC", DeclarationData.HeatingVentilationAirConditioning)) - - LvAux.Items.Add(GetTechListForAux(sKey.AUX.ElecSys, "Electric System", DeclarationData.ElectricSystem)) - - LvAux.Items.Add(GetTechListForAux(sKey.AUX.PneumSys, "Pneymatic System", DeclarationData.PneumaticSystem)) - - End If - End Sub - - Protected Function GetTechListForAux(key As String, nameStr As String, aux As IDeclarationAuxiliaryTable) As ListViewItem - Dim LV0 As ListViewItem - - LV0 = New ListViewItem(key) - LV0.SubItems.Add(nameStr) - Dim auxtech As String() = aux.GetTechnologies() - If auxtech.Count > 1 Then - LV0.SubItems.Add("") - Else - LV0.SubItems.Add(auxtech(0)) - End If - Return LV0 - End Function - - - 'Show/Hide "Driver Assist" Tab - Private Sub SetDrivertab(onOff As Boolean) - If onOff Then - If Not pgDriverON Then - pgDriverON = True - TabControl1.TabPages.Insert(1, pgDriver) - End If - Else - If pgDriverON Then - pgDriverON = False - TabControl1.Controls.Remove(pgDriver) - End If - End If - End Sub - - -#Region "Browse Buttons" - - Private Sub ButtonVEH_Click(sender As Object, e As EventArgs) Handles ButtonVEH.Click - If fbVEH.OpenDialog(fFileRepl(TbVEH.Text, fPATH(VECTOfile))) Then - TbVEH.Text = fFileWoDir(fbVEH.Files(0), fPATH(VECTOfile)) - End If - End Sub - - Private Sub ButtonMAP_Click(sender As Object, e As EventArgs) Handles ButtonMAP.Click - If fbENG.OpenDialog(fFileRepl(TbENG.Text, fPATH(VECTOfile))) Then - TbENG.Text = fFileWoDir(fbENG.Files(0), fPATH(VECTOfile)) - End If - End Sub - - Private Sub ButtonGBX_Click(sender As Object, e As EventArgs) Handles ButtonGBX.Click - If fbGBX.OpenDialog(fFileRepl(TbGBX.Text, fPATH(VECTOfile))) Then - TbGBX.Text = fFileWoDir(fbGBX.Files(0), fPATH(VECTOfile)) - End If - End Sub - - Private Sub BtDesMaxBr_Click_1(sender As Object, e As EventArgs) Handles BtDesMaxBr.Click - If fbACC.OpenDialog(fFileRepl(TbDesMaxFile.Text, fPATH(VECTOfile))) Then - TbDesMaxFile.Text = fFileWoDir(fbACC.Files(0), fPATH(VECTOfile)) - End If - End Sub - - Private Sub BtAccOpen_Click(sender As Object, e As EventArgs) Handles BtAccOpen.Click - OpenFiles(fFileRepl(TbDesMaxFile.Text, fPATH(VECTOfile))) - End Sub - -#End Region - -#Region "Open Buttons" - - 'Open Vehicle Editor - Private Sub ButOpenVEH_Click(sender As Object, e As EventArgs) Handles ButOpenVEH.Click - Dim f As String - f = fFileRepl(TbVEH.Text, fPATH(VECTOfile)) - - 'Thus Veh-file is returned - F_VEH.JobDir = fPATH(VECTOfile) - F_VEH.AutoSendTo = True - - If Not Trim(f) = "" Then - If Not File.Exists(f) Then - MsgBox("File not found!") - Exit Sub - End If - End If - - If Not F_VEH.Visible Then - F_VEH.Show() - Else - If F_VEH.WindowState = FormWindowState.Minimized Then F_VEH.WindowState = FormWindowState.Normal - F_VEH.BringToFront() - End If - - If Not Trim(f) = "" Then F_VEH.OpenVehicle(f) - End Sub - - 'Open Engine Editor - Private Sub ButOpenENG_Click(sender As Object, e As EventArgs) Handles ButOpenENG.Click - Dim f As String - f = fFileRepl(TbENG.Text, fPATH(VECTOfile)) - - 'Thus Veh-file is returned - F_ENG.JobDir = fPATH(VECTOfile) - F_ENG.AutoSendTo = True - - If Not Trim(f) = "" Then - If Not File.Exists(f) Then - MsgBox("File not found!") - Exit Sub - End If - End If - - If Not F_ENG.Visible Then - F_ENG.Show() - Else - If F_ENG.WindowState = FormWindowState.Minimized Then F_ENG.WindowState = FormWindowState.Normal - F_ENG.BringToFront() - End If - - If Not Trim(f) = "" Then F_ENG.openENG(f) - End Sub - - 'Open Gearbox Editor - Private Sub ButOpenGBX_Click(sender As Object, e As EventArgs) Handles ButOpenGBX.Click - Dim f As String - f = fFileRepl(TbGBX.Text, fPATH(VECTOfile)) - - 'Thus Veh-file is returned - F_GBX.JobDir = fPATH(VECTOfile) - F_GBX.AutoSendTo = True - - If Not Trim(f) = "" Then - If Not File.Exists(f) Then - MsgBox("File not found!") - Exit Sub - End If - End If - - If Not F_GBX.Visible Then - F_GBX.Show() - Else - If F_GBX.WindowState = FormWindowState.Minimized Then F_GBX.WindowState = FormWindowState.Normal - F_GBX.BringToFront() - End If - - If Not Trim(f) = "" Then F_GBX.openGBX(f) - End Sub - -#End Region - -#Region "Toolbar" - - 'New - Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click - VECTOnew() - End Sub - - 'Open - Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click - If fbVECTO.OpenDialog(VECTOfile, False, "vecto") Then VECTOload2Form(fbVECTO.Files(0)) - End Sub - - 'Save - Private Sub ToolStripBtSave_Click(sender As Object, e As EventArgs) Handles ToolStripBtSave.Click - Save() - End Sub - - 'Save As - Private Sub ToolStripBtSaveAs_Click(sender As Object, e As EventArgs) Handles ToolStripBtSaveAs.Click - If fbVECTO.SaveDialog(VECTOfile) Then Call VECTOsave(fbVECTO.Files(0)) - End Sub - - 'Send to Job file list in main form - Private Sub ToolStripBtSendTo_Click(sender As Object, e As EventArgs) Handles ToolStripBtSendTo.Click - If ChangeCheckCancel() Then Exit Sub - If VECTOfile = "" Then - MsgBox("File not found!" & ChrW(10) & ChrW(10) & "Save file and try again.") - Else - F_MAINForm.AddToJobListView(VECTOfile) - End If - End Sub - - 'Help - Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click - If File.Exists(MyAppPath & "User Manual\help.html") Then - Dim BrowserRegistryString As String = - My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString - Dim DefaultBrowserPath As String = - Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString - Process.Start(DefaultBrowserPath, - String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#job-editor")) - Else - MsgBox("User Manual not found!", MsgBoxStyle.Critical) - End If - End Sub - - -#End Region - - 'Save ("Save" or "Save As" when new file) - Private Function Save() As Boolean - If VECTOfile = "" Then - If fbVECTO.SaveDialog("") Then - VECTOfile = fbVECTO.Files(0) - Else - Return False - End If - End If - Return VECTOsave(VECTOfile) - End Function - - 'Open file - Public Sub VECTOload2Form(file As String) - If ChangeCheckCancel() Then Exit Sub - - VECTOnew() - - 'Read GEN - Dim VEC0 = New cVECTO - VEC0.FilePath = file - Try - If Not VEC0.ReadFile() Then - MsgBox("Failed to load " & fFILE(file, True) & "!") - Exit Sub - End If - Catch ex As Exception - MsgBox("Failed to load " & fFILE(file, True) & "!") - Exit Sub - End Try - - If Cfg.DeclMode <> VEC0.SavedInDeclMode Then - Select Case WrongMode() - Case 1 - Close() - F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked - F_MAINForm.OpenVectoFile(file) - Case -1 - Exit Sub - Case Else '0 - 'Continue... - End Select - End If - - - 'Update Form - - 'Files ----------------------------- - TbVEH.Text = VEC0.PathVeh(True) - TbENG.Text = VEC0.PathEng(True) - TbGBX.Text = VEC0.PathGbx(True) - - 'Start/Stop - ChBStartStop.Checked = VEC0.StartStop - TbSSspeed.Text = VEC0.StStV.ToString() - TbSStime.Text = VEC0.StStT.ToString() - TbSSdelay.Text = VEC0.StStDelay.ToString() - - 'VACC - TbDesMaxFile.Text = VEC0.DesMaxFile(True) - - - 'AA-TB - 'Try and Select any previously selected Auxiliary Type - For Each item As cAdvancedAuxiliary In cboAdvancedAuxiliaries.Items - If item.AssemblyName = VEC0.AuxiliaryAssembly AndAlso VEC0.AuxiliaryVersion = item.AuxiliaryVersion Then - cboAdvancedAuxiliaries.SelectedItem = item - Exit For - End If - Next - 'AA-TB - 'Assign any previously saved Axiliary FilePath - txtAdvancedAuxiliaryFile.Text = VEC0.AdvancedAuxiliaryFilePath - - - LvAux.Items.Clear() - For Each AuxEntryKV In VEC0.AuxPaths - Dim lv0 = New ListViewItem - lv0.SubItems(0).Text = AuxEntryKV.Key - lv0.SubItems.Add(AuxEntryKV.Value.Type) - If Cfg.DeclMode Then - lv0.SubItems.Add(AuxEntryKV.Value.TechStr) - Else - lv0.SubItems.Add(AuxEntryKV.Value.Path.OriginalPath) - End If - LvAux.Items.Add(lv0) - Next - - For Each sb In VEC0.CycleFiles - Dim lv0 = New ListViewItem - lv0.Text = sb.OriginalPath - LvCycles.Items.Add(lv0) - Next - - CbEngOnly.Checked = VEC0.EngOnly - - If VEC0.EcoRollOn Then - RdEcoRoll.Checked = True - ElseIf VEC0.OverSpeedOn Then - RdOverspeed.Checked = True - Else - RdOff.Checked = True - End If - TbOverspeed.Text = CStr(VEC0.OverSpeed) - TbUnderSpeed.Text = CStr(VEC0.UnderSpeed) - TbVmin.Text = CStr(VEC0.VMin) - CbLookAhead.Checked = VEC0.LookAheadOn - 'TbAlookahead.Text = CStr(VEC0.ALookahead) - 'TbVminLA.Text = CStr(VEC0.VMinLa) - tbLacPreviewFactor.Text = CStr(VEC0.LacPreviewFactor) - tbDfCoastingOffset.Text = CStr(VEC0.LacDfOffset) - tbDfCoastingScale.Text = CStr(VEC0.LacDfScale) - - tbLacDfTargetSpeedFile.Text = VEC0.LacDfTargetSpeedFile - tbLacDfVelocityDropFile.Text = VEC0.LacDfVelocityDropFile - - '------------------------------------------------------------- - - DeclInit() - - - F_ENG.AutoSendTo = False - F_GBX.AutoSendTo = False - F_VEH.AutoSendTo = False - - - VECTOfile = file - - Dim x As Short = Len(file) - While Mid(file, x, 1) <> "\" And x > 0 - x = x - 1 - End While - Text = Mid(file, x + 1, Len(file) - x) - Changed = False - ToolStripStatusLabelGEN.Text = "" 'file & " opened." - - UpdatePic() - - '------------------------------------------------------------- - End Sub - - 'Save file - Private Function VECTOsave(file As String) As Boolean - Dim message As String = String.Empty - - 'AA-TB - 'Validation of Auxiliary Types/Advanced Auxiliaries - 'if not classic, check the file is valid, if not fail the operation and alert user. - If cboAdvancedAuxiliaries.SelectedIndex > 0 Then - - 'resolve absolute path for auxiliary file. - Dim absoluteAAUxFile = ResolveAAUXFilePath(fPATH(VECTOfile), txtAdvancedAuxiliaryFile.Text) - - Dim aaAssemblyName = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary).AssemblyName - Dim aaAssemblyVersion = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary).AuxiliaryVersion - - - If Not ValidateAAUXFile(absoluteAAUxFile, aaAssemblyName, aaAssemblyVersion, message) Then - MessageBox.Show( - String.Format("You have selected an advanced auxiliary *Auxiliary Type*, but the file specified is invalid :{0}", - message)) - Return False - End If - - End If - - - Dim vec0 = New cVECTO - vec0.FilePath = file - - 'Files ------------------------------------------------- ----------------- - - vec0.PathVeh = TbVEH.Text - vec0.PathEng = TbENG.Text - - For Each lv0 As ListViewItem In LvCycles.Items - Dim sb = New cSubPath - sb.Init(fPATH(file), lv0.Text) - vec0.CycleFiles.Add(sb) - Next - - vec0.PathGbx = TbGBX.Text - - - 'Start/Stop - vec0.StartStop = ChBStartStop.Checked - vec0.StStV = CSng(fTextboxToNumString(TbSSspeed.Text)) - vec0.StStT = CSng(fTextboxToNumString(TbSStime.Text)) - vec0.StStDelay = CInt(fTextboxToNumString(TbSSdelay.Text)) - - 'a_DesMax - vec0.DesMaxFile = TbDesMaxFile.Text - - 'AA-TB - vec0.AuxiliaryAssembly = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary).AssemblyName - vec0.AuxiliaryVersion = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary).AuxiliaryVersion - vec0.AdvancedAuxiliaryFilePath = txtAdvancedAuxiliaryFile.Text - - For Each lv0 As ListViewItem In LvAux.Items - Dim auxEntry = New cVECTO.AuxEntry - - If Cfg.DeclMode Then - auxEntry.TechStr = lv0.SubItems(2).Text - Else - auxEntry.Path.Init(fPATH(file), lv0.SubItems(2).Text) - End If - - auxEntry.Type = lv0.SubItems(1).Text - vec0.AuxPaths.Add(lv0.SubItems(0).Text, auxEntry) - Next - - vec0.EngOnly = CbEngOnly.Checked - - vec0.EcoRollOn = RdEcoRoll.Checked - vec0.OverSpeedOn = RdOverspeed.Checked - vec0.OverSpeed = CSng(fTextboxToNumString(TbOverspeed.Text)) - vec0.UnderSpeed = CSng(fTextboxToNumString(TbUnderSpeed.Text)) - vec0.VMin = CSng(fTextboxToNumString(TbVmin.Text)) - vec0.LookAheadOn = CbLookAhead.Checked - 'vec0.ALookahead = CSng(fTextboxToNumString(TbAlookahead.Text)) - 'vec0.VMinLa = CSng(fTextboxToNumString(TbVminLA.Text)) - - vec0.LacPreviewFactor = CSng(fTextboxToNumString(tbLacPreviewFactor.Text)) - vec0.LacDfOffset = CSng(fTextboxToNumString(tbDfCoastingOffset.Text)) - vec0.LacDfScale = CSng(fTextboxToNumString(tbDfCoastingScale.Text)) - vec0.LacDfTargetSpeedFile = tbLacDfTargetSpeedFile.Text - vec0.LacDfVelocityDropFile = tbLacDfVelocityDropFile.Text - '------------------------------------------------------------ - - 'SAVE - If Not vec0.SaveFile Then - MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) - Return False - End If - - VECTOfile = file - - file = fFILE(VECTOfile, True) - - Text = file - ToolStripStatusLabelGEN.Text = "" - - F_MAINForm.AddToJobListView(VECTOfile) - - Changed = False - - Return True - End Function - - 'New file - Public Sub VECTOnew() - - If ChangeCheckCancel() Then Exit Sub - - n_idle = -1 - FLDfile = "" - - 'Files - TbVEH.Text = "" - TbENG.Text = "" - LvCycles.Items.Clear() - TbGBX.Text = "" - TbDesMaxFile.Text = "" - - 'Start/Stop - TbSSspeed.Text = "5" - TbSStime.Text = "5" - ChBStartStop.Checked = False - - LvAux.Items.Clear() - - CbEngOnly.Checked = False - - RdOff.Checked = True - CbLookAhead.Checked = True - 'TbAlookahead.Text = "-0.5" - TbOverspeed.Text = "" - TbUnderSpeed.Text = "" - TbVmin.Text = "" - 'TbVminLA.Text = "50" - tbLacPreviewFactor.Text = "10" - tbDfCoastingOffset.Text = "2.5" - tbDfCoastingScale.Text = "1.5" - tbLacDfTargetSpeedFile.Text = "" - tbLacDfVelocityDropFile.Text = "" - - '--------------------------------------------------- - - DeclInit() - - F_ENG.AutoSendTo = False - - VECTOfile = "" - Text = "Job Editor" - ToolStripStatusLabelGEN.Text = "" - Changed = False - UpdatePic() - End Sub - - -#Region "Track changes" - -#Region "'Change' Events" - - Private Sub TextBoxVEH_TextChanged(sender As Object, e As EventArgs) _ - Handles TbVEH.TextChanged - UpdatePic() - Change() - End Sub - - Private Sub TextBoxMAP_TextChanged(sender As Object, e As EventArgs) _ - Handles TbENG.TextChanged - UpdatePic() - Change() - End Sub - - Private Sub TextBoxFLD_TextChanged(sender As Object, e As EventArgs) _ - Handles TbGBX.TextChanged - UpdatePic() - Change() - End Sub - - Private Sub TbDesMaxFile_TextChanged_1(sender As Object, e As EventArgs) Handles TbDesMaxFile.TextChanged - Change() - End Sub - - - Private Sub TBSSspeed_TextChanged(sender As Object, e As EventArgs) Handles TbSSspeed.TextChanged - Change() - End Sub - - Private Sub TBSStime_TextChanged(sender As Object, e As EventArgs) _ - Handles TbSStime.TextChanged, TbSSdelay.TextChanged - Change() - End Sub - - Private Sub TbOverspeed_TextChanged(sender As Object, e As EventArgs) Handles TbOverspeed.TextChanged - Change() - End Sub - - Private Sub TbUnderSpeed_TextChanged(sender As Object, e As EventArgs) Handles TbUnderSpeed.TextChanged - Change() - End Sub - - Private Sub TbVmin_TextChanged(sender As Object, e As EventArgs) _ - Handles TbVmin.TextChanged - Change() - End Sub - - Private Sub LvCycles_AfterLabelEdit(sender As Object, e As LabelEditEventArgs) _ - Handles LvCycles.AfterLabelEdit - Change() - End Sub - - -#End Region - - Private Sub Change() - If Not Changed Then - ToolStripStatusLabelGEN.Text = "Unsaved changes in current file" - Changed = True - End If - End Sub - - ' "Save changes? "... Returns True if User aborts - Private Function ChangeCheckCancel() As Boolean - - If Changed Then - - Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel) - Case MsgBoxResult.Yes - Return Not Save() - Case MsgBoxResult.Cancel - Return True - Case Else 'MsgBoxResult.No - Changed = False - Return False - End Select - - Else - - Return False - - End If - End Function - -#End Region - -#Region "Aux Listview" - - Private Sub ButAuxAdd_Click(sender As Object, e As EventArgs) Handles ButAuxAdd.Click - Dim ID As String - - AuxDlog.VehPath = fPATH(VECTOfile) - AuxDlog.TbPath.Text = "" - AuxDlog.CbType.SelectedIndex = -1 - AuxDlog.CbType.Text = "" - AuxDlog.TbID.Text = "" '!!! Set Type before ID, because changing the type will overwrite the id !!! - -lbDlog: - If AuxDlog.ShowDialog = DialogResult.OK Then - - ID = UCase(Trim(AuxDlog.TbID.Text)) - - Dim lv0 As ListViewItem - For Each lv0 In LvAux.Items - If lv0.SubItems(0).Text = ID Then - MsgBox("ID '" & ID & "' already defined!", MsgBoxStyle.Critical) - AuxDlog.TbID.SelectAll() - AuxDlog.TbID.Focus() - GoTo lbDlog - End If - Next - - lv0 = New ListViewItem - lv0.SubItems(0).Text = UCase(Trim(AuxDlog.TbID.Text)) - lv0.SubItems.Add(Trim(AuxDlog.CbType.Text)) - lv0.SubItems.Add(Trim(AuxDlog.TbPath.Text)) - LvAux.Items.Add(lv0) - Change() - End If - End Sub - - Private Sub ButAuxRem_Click(sender As Object, e As EventArgs) Handles ButAuxRem.Click - RemoveAuxItem() - End Sub - - Private Sub LvAux_DoubleClick(sender As Object, e As EventArgs) Handles LvAux.DoubleClick - EditAuxItem() - End Sub - - Private Sub LvAux_KeyDown(sender As Object, e As KeyEventArgs) Handles LvAux.KeyDown - Select Case e.KeyCode - Case Keys.Delete, Keys.Back - If Not Cfg.DeclMode Then RemoveAuxItem() - Case Keys.Enter - EditAuxItem() - End Select - End Sub - - Private Sub EditAuxItem() - If LvAux.SelectedItems.Count = 0 Then - Exit Sub - End If - - Dim selItem = LvAux.SelectedItems(0) - - AuxDlog.VehPath = fPATH(VECTOfile) - AuxDlog.CbType.SelectedIndex = -1 - AuxDlog.CbType.Text = selItem.SubItems(1).Text - AuxDlog.TbID.Text = selItem.SubItems(0).Text 'After Type-set! - - If Cfg.DeclMode Then - AuxDlog.CbTech.Text = selItem.SubItems(2).Text - AuxDlog.TbPath.Text = "" - Else - AuxDlog.CbTech.SelectedIndex = -1 - AuxDlog.TbPath.Text = selItem.SubItems(2).Text - End If - - If AuxDlog.ShowDialog = DialogResult.OK Then - selItem.SubItems(0).Text = UCase(Trim(AuxDlog.TbID.Text)) - selItem.SubItems(1).Text = Trim(AuxDlog.CbType.Text) - - If Cfg.DeclMode Then - selItem.SubItems(2).Text = Trim(AuxDlog.CbTech.Text) - Else - selItem.SubItems(2).Text = Trim(AuxDlog.TbPath.Text) - End If - - Change() - End If - End Sub - - Private Sub RemoveAuxItem() - Dim i As Integer - - If LvAux.SelectedItems.Count = 0 Then - If LvAux.Items.Count = 0 Then - Exit Sub - Else - LvAux.Items(LvAux.Items.Count - 1).Selected = True - End If - End If - - i = LvAux.SelectedItems(0).Index - - LvAux.SelectedItems(0).Remove() - - If LvAux.Items.Count > 0 Then - If i < LvAux.Items.Count Then - LvAux.Items(i).Selected = True - Else - LvAux.Items(LvAux.Items.Count - 1).Selected = True - End If - LvAux.Focus() - End If - - Change() - End Sub - -#End Region - - 'OK (Save & Close) - Private Sub ButSave_Click(sender As Object, e As EventArgs) Handles ButOK.Click - If Not Save() Then Exit Sub - Close() - End Sub - - 'Cancel - Private Sub ButCancel_Click(sender As Object, e As EventArgs) Handles ButCancel.Click - Close() - End Sub - -#Region "Cycle list" - - Private Sub LvCycles_DoubleClick(sender As Object, e As EventArgs) Handles LvCycles.DoubleClick - If LvCycles.SelectedItems.Count > 0 Then _ - OpenFiles(fFileRepl(LvCycles.SelectedItems(0).SubItems(0).Text, fPATH(VECTOfile))) - End Sub - - Private Sub LvCycles_KeyDown(sender As Object, e As KeyEventArgs) Handles LvCycles.KeyDown - Select Case e.KeyCode - Case Keys.Delete, Keys.Back - RemoveCycle() - Case Keys.Enter - If LvCycles.SelectedItems.Count > 0 Then LvCycles.SelectedItems(0).BeginEdit() - End Select - End Sub - - Private Sub BtDRIadd_Click(sender As Object, e As EventArgs) Handles BtDRIadd.Click - Dim genDir As String = fPATH(VECTOfile) - - If fbDRI.OpenDialog("", True) Then - For Each s In fbDRI.Files - LvCycles.Items.Add(fFileWoDir(s, genDir)) - Next - Change() - End If - End Sub - - Private Sub BtDRIrem_Click(sender As Object, e As EventArgs) Handles BtDRIrem.Click - RemoveCycle() - End Sub - - Private Sub RemoveCycle() - Dim i As Integer - - If LvCycles.SelectedItems.Count = 0 Then - If LvCycles.Items.Count = 0 Then - Exit Sub - Else - LvCycles.Items(LvCycles.Items.Count - 1).Selected = True - End If - End If - - i = LvCycles.SelectedItems(0).Index - - LvCycles.SelectedItems(0).Remove() - - If LvCycles.Items.Count > 0 Then - If i < LvCycles.Items.Count Then - LvCycles.Items(i).Selected = True - Else - LvCycles.Items(LvCycles.Items.Count - 1).Selected = True - End If - - LvCycles.Focus() - End If - - Change() - End Sub - -#End Region - -#Region "Enable/Disable GUI controls" - - 'Engine only mode changed - Private Sub CbEngOnly_CheckedChanged(sender As Object, e As EventArgs) Handles CbEngOnly.CheckedChanged - CheckEngOnly() - Change() - End Sub - - Private Sub CheckEngOnly() - Dim OnOff As Boolean - - OnOff = Not CbEngOnly.Checked - - SetDrivertab(OnOff) - - ButOpenVEH.Enabled = OnOff - TbVEH.Enabled = OnOff - ButtonVEH.Enabled = OnOff - ButOpenGBX.Enabled = OnOff - TbGBX.Enabled = OnOff - ButtonGBX.Enabled = OnOff - GrAux.Enabled = OnOff - End Sub - - 'Start/Stop changed - Private Sub ChBStartStop_CheckedChanged_1(sender As Object, e As EventArgs) _ - Handles ChBStartStop.CheckedChanged - Change() - If Not Cfg.DeclMode Then PnStartStop.Enabled = ChBStartStop.Checked - End Sub - - 'LAC changed - Private Sub CbLookAhead_CheckedChanged(sender As Object, e As EventArgs) _ - Handles CbLookAhead.CheckedChanged - Change() - End Sub - - 'EcoRoll / Overspeed changed - Private Sub RdOff_CheckedChanged(sender As Object, e As EventArgs) _ - Handles RdOff.CheckedChanged, RdOverspeed.CheckedChanged, RdEcoRoll.CheckedChanged - Dim EcoR As Boolean - Dim Ovr As Boolean - - Change() - - EcoR = RdEcoRoll.Checked - Ovr = RdOverspeed.Checked - - TbOverspeed.Enabled = Ovr Or EcoR - Label13.Enabled = Ovr Or EcoR - Label14.Enabled = Ovr Or EcoR - - TbUnderSpeed.Enabled = EcoR - Label22.Enabled = EcoR - Label20.Enabled = EcoR - - TbVmin.Enabled = Ovr Or EcoR - Label23.Enabled = Ovr Or EcoR - Label21.Enabled = Ovr Or EcoR - End Sub - -#End Region - - Public Sub UpdatePic() - Dim VEH0 As New cVEH - Dim i As Integer - Dim pmax As Single - - Dim f As cFile_V3 - Dim lM As List(Of Single) - Dim lup As List(Of Single) - Dim ldown As List(Of Single) - Dim line As String() - - - Dim HDVclass As String - 'Dim m0 As - - Dim s As Series - Dim a As ChartArea - Dim img As Image - - Dim EngOK = False - - TbHVCclass.Text = "" - TbVehCat.Text = "" - TbMass.Text = "" - TbAxleConf.Text = "" - TbEngTxt.Text = "" - TbGbxTxt.Text = "" - PicVehicle.Image = Nothing - PicBox.Image = Nothing - - - VEH0.FilePath = fFileRepl(TbVEH.Text, fPATH(VECTOfile)) - If VEH0.ReadFile(False) Then - Dim maxMass = (VEH0.MassMax * 1000).SI(Of Kilogram)() 'CSng(fTextboxToNumString(TbMassMass.Text)) - - Dim s0 As Segment = Nothing - Try - s0 = DeclarationData.Segments.Lookup(VEH0.VehCat, VEH0.AxleConf, maxMass, 0.SI(Of Kilogram), True) - Catch - End Try - If Not s0 Is Nothing Then - HDVclass = s0.VehicleClass.GetClassNumber() - - If Cfg.DeclMode Then - LvCycles.Items.Clear() - For Each m0 In s0.Missions - LvCycles.Items.Add(m0.MissionType.ToString()) - Next - End If - - Else - HDVclass = "-" - End If - - PicVehicle.Image = ConvPicPath(HDVclass, False) 'Image.FromFile(cDeclaration.ConvPicPath(HDVclass, False)) - - TbHVCclass.Text = "HDV Class " & HDVclass - TbVehCat.Text = VEH0.VehCat.GetCategoryName() 'ConvVehCat(VEH0.VehCat, True) - TbMass.Text = VEH0.MassMax & " t" - TbAxleConf.Text = VEH0.AxleConf.GetName() 'ConvAxleConf(VEH0.AxleConf) - - End If - - - Dim OkCount = 0 - - Dim ENG0 = New cENG - ENG0.FilePath = fFileRepl(TbENG.Text, fPATH(VECTOfile)) - - 'Create plot - Dim MyChart = New Chart - MyChart.Width = PicBox.Width - MyChart.Height = PicBox.Height - - a = New ChartArea - - Dim FLD0 = New cFLD - - If ENG0.ReadFile(False) Then - - n_idle = ENG0.Nidle - FLDfile = ENG0.PathFLD - - EngOK = True - FLD0.FilePath = ENG0.PathFLD - - If FLD0.ReadFile(False, False) Then - - s = New Series - s.Points.DataBindXY(FLD0.LnU, FLD0.LTq) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.DarkBlue - s.Name = "Full load" - MyChart.Series.Add(s) - - s = New Series - s.Points.DataBindXY(FLD0.LnU, FLD0.LTqDrag) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.Blue - s.Name = "Motoring" - MyChart.Series.Add(s) - - OkCount += 1 - - pmax = FLD0.Pfull(FLD0.fnUrated) - - End If - - TbEngTxt.Text = (ENG0.Displ / 1000).ToString("0.0") & " l " & pmax.ToString("#") & " kW " & ENG0.ModelName - - - Dim MAP0 = New cMAP - MAP0.FilePath = ENG0.PathMAP - - If MAP0.ReadFile(False) Then - - s = New Series - s.Points.DataBindXY(MAP0.nU, MAP0.Tq) - s.ChartType = SeriesChartType.Point - s.MarkerSize = 3 - s.Color = Color.Red - s.Name = "Map" - MyChart.Series.Add(s) - - OkCount += 1 - - End If - - End If - - Dim GBX0 = New cGBX - GBX0.FilePath = fFileRepl(TbGBX.Text, fPATH(VECTOfile)) - - If GBX0.ReadFile(False) Then - - TbGbxTxt.Text = GBX0.GearCount & "-Speed " & GBX0.gs_Type.ShortName() & " " & GBX0.ModelName - - If Cfg.DeclMode Then - - If EngOK Then - - For i = 1 To GBX0.GearCount - - FLD0.FilePath = ENG0.PathFLD - - If FLD0.ReadFile(True, False) Then - - If FLD0.Init(ENG0.Nidle) Then - - 'Dim engine As CombustionEngineData = ConvertToEngineData(FLD0, F_VECTO.n_idle) - 'Dim shiftLines As ShiftPolygon = DeclarationData.Gearbox.ComputeShiftPolygon(Gear - 1, - ' engine.FullLoadCurve, gears, - ' engine, - ' Double.Parse(LvGears.Items(0).SubItems(F_GBX.GearboxTbl.Ratio).Text, - ' CultureInfo.InvariantCulture), - ' (.rdyn / 1000.0).SI(Of Meter)) - - 's = New Series - 's.Points.DataBindXY(shiftLines.Upshift.Select(Function(pt) pt.AngularSpeed.Value() / Constants.RPMToRad).ToList(), - ' shiftLines.Upshift.Select(Function(pt) pt.Torque.Value()).ToList()) - 's.ChartType = SeriesChartType.FastLine - 's.BorderWidth = 2 - 's.Color = Color.DarkRed - 's.Name = "Upshift curve (" & i & ")" - 'MyChart.Series.Add(s) - - 's = New Series - 's.Points.DataBindXY( - ' shiftLines.Downshift.Select(Function(pt) pt.AngularSpeed.Value() / Constants.RPMToRad).ToList(), - ' shiftLines.Downshift.Select(Function(pt) pt.Torque.Value()).ToList()) - 's.ChartType = SeriesChartType.FastLine - 's.BorderWidth = 2 - 's.Color = Color.DarkRed - 's.Name = "Downshift curve (" & i & ")" - 'MyChart.Series.Add(s) - End If - - - OkCount += 1 - - pmax = FLD0.Pfull(FLD0.fnUrated) - - End If - - Next - - End If - - Else - - f = New cFile_V3 - For i = 1 To GBX0.GearCount - - lM = New List(Of Single) - lup = New List(Of Single) - ldown = New List(Of Single) - - If f.OpenRead(GBX0.gsFile(i)) Then - - f.ReadLine() - - Try - - Do While Not f.EndOfFile - line = f.ReadLine - lM.Add(CSng(line(0))) - lup.Add(CSng(line(1))) - ldown.Add(CSng(line(2))) - Loop - - s = New Series - s.Points.DataBindXY(lup, lM) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.DarkRed - s.Name = "Upshift curve" - ' MyChart.Series.Add(s) 'MQ 2016-06-20: do not plot shift lines in engine dialog - - s = New Series - s.Points.DataBindXY(ldown, lM) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.DarkRed - s.Name = "Downshift curve" - 'MyChart.Series.Add(s) 'MQ 2016-06-20:do not plot shift lines in engine dialog - - OkCount += 1 - - f.Close() - - Catch ex As Exception - f.Close() - End Try - - End If - - Next - - End If - - End If - - If OkCount > 0 Then - - a.Name = "main" - - a.AxisX.Title = "engine speed [1/min]" - a.AxisX.TitleFont = New Font("Helvetica", 10) - a.AxisX.LabelStyle.Font = New Font("Helvetica", 8) - a.AxisX.LabelAutoFitStyle = LabelAutoFitStyles.None - a.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dot - - a.AxisY.Title = "engine torque [Nm]" - a.AxisY.TitleFont = New Font("Helvetica", 10) - a.AxisY.LabelStyle.Font = New Font("Helvetica", 8) - a.AxisY.LabelAutoFitStyle = LabelAutoFitStyles.None - a.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dot - - a.AxisX.Minimum = 300 - a.BorderDashStyle = ChartDashStyle.Solid - a.BorderWidth = 1 - - a.BackColor = Color.GhostWhite - - MyChart.ChartAreas.Add(a) - - MyChart.Update() - - img = New Bitmap(MyChart.Width, MyChart.Height, PixelFormat.Format32bppArgb) - MyChart.DrawToBitmap(img, New Rectangle(0, 0, PicBox.Width, PicBox.Height)) - - PicBox.Image = img - - - End If - End Sub - - -#Region "Open File Context Menu" - - Private CmFiles As String() - - Private Sub OpenFiles(ParamArray files() As String) - If files.Length = 0 Then Exit Sub - - CmFiles = files - OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName - CmOpenFile.Show(Windows.Forms.Cursor.Position) - End Sub - - Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles OpenWithToolStripMenuItem.Click - If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!") - End Sub - - Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles ShowInFolderToolStripMenuItem.Click - If File.Exists(CmFiles(0)) Then - Try - Process.Start("explorer", "/select,""" & CmFiles(0) & "") - Catch ex As Exception - MsgBox("Failed to open file!") - End Try - Else - MsgBox("File not found!") - End If - End Sub - -#End Region - - - 'AA-TB - Private Sub picAuxInfo_MouseEnter(sender As Object, e As EventArgs) Handles picAuxInfo.MouseEnter - - - If cboAdvancedAuxiliaries.SelectedIndex = -1 Then Exit Sub - - 'Get tooltip - Dim item As cAdvancedAuxiliary - - item = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary) - - If item.AuxiliaryVersion = "CLASSIC" Then - - ToolTip1.ToolTipTitle = "Classic Vecto Auxiliaries" - ToolTip1.SetToolTip(picAuxInfo, "Uses original basic auxiliaries calculation") - - Else - - ToolTip1.ToolTipTitle = "Advanced Auxiliary Information" - ToolTip1.SetToolTip(picAuxInfo, item.AuxiliaryName & " : Version=" & item.AuxiliaryVersion) - - End If - End Sub - - 'AA-TB - Private Sub btnBrowseAAUXFile_Click(sender As Object, e As EventArgs) Handles btnBrowseAAUXFile.Click - - If String.IsNullOrEmpty(VECTOfile) Then - MessageBox.Show( - "Please complete and save a valid new .vecto file before adding/configuring advanced bus auxiliaries.") - Return - End If - - Dim aauxFileValidated As Boolean = False - Dim fbAux As New cFileBrowser(True, False) - Dim message As String = String.Empty - Dim absoluteAuxPath As String - Dim assembly As cAdvancedAuxiliary - - 'If Classic is selected, then bail - If cboAdvancedAuxiliaries.SelectedIndex = 0 Then Return - - 'Get Absolute Path for AAUX FILE. - absoluteAuxPath = ResolveAAUXFilePath(fPATH(VECTOfile), txtAdvancedAuxiliaryFile.Text) - - 'Set Extensions - fbAux.Extensions = New String() {"AAUX"} - - Try - - assembly = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary) - - Dim validAAUXFile As Boolean = ValidateAAUXFile(absoluteAuxPath, assembly.AssemblyName, - assembly.AuxiliaryVersion, message) - Dim fileExists As Boolean = File.Exists(absoluteAuxPath) - - If fileExists AndAlso validAAUXFile Then - ConfigureAdvancedAuxiliaries(assembly.AssemblyName, assembly.AuxiliaryVersion, - txtAdvancedAuxiliaryFile.Text, VECTOfile) - Else - - Dim needToFindOrCreateFile As Boolean = True - - While needToFindOrCreateFile - - 'Find / Create file and configure. - If fbAux.CustomDialog(absoluteAuxPath, False, False, tFbExtMode.ForceExt, False, String.Empty) Then - txtAdvancedAuxiliaryFile.Text = fFileWoDir(fbAux.Files(0), fPATH(VECTOfile)) - assembly = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary) - - If _ - File.Exists(ResolveAAUXFilePath(fPATH(VECTOfile), txtAdvancedAuxiliaryFile.Text)) OrElse - MsgBox("Do you want to create a new .AAUX file?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then - needToFindOrCreateFile = False - ConfigureAdvancedAuxiliaries(assembly.AssemblyName, assembly.AuxiliaryVersion, - txtAdvancedAuxiliaryFile.Text, VECTOfile) - End If - Else - needToFindOrCreateFile = False - End If - - End While - - End If - - Catch ex As Exception - MessageBox.Show("There was an error configuring your Advanced Auxiliary File") - End Try - End Sub - - 'AA-TB - Private Sub cboAdvancedAuxiliaries_SelectedIndexChanged(sender As Object, e As EventArgs) _ - Handles cboAdvancedAuxiliaries.SelectedIndexChanged - - 'Enable or otherwise the text box and browser button associated with Advanced Axuiliaries - If cboAdvancedAuxiliaries.SelectedIndex = 0 Then - - btnBrowseAAUXFile.Enabled = False - txtAdvancedAuxiliaryFile.Enabled = False - - Else - - btnBrowseAAUXFile.Enabled = True - txtAdvancedAuxiliaryFile.Enabled = True - - End If - End Sub - - - 'AA-TB - Private Sub btnAAUXOpen_Click(sender As Object, e As EventArgs) Handles btnAAUXOpen.Click - - OpenFiles(fFileRepl(txtAdvancedAuxiliaryFile.Text, fPATH(VECTOfile))) - End Sub - - Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnDfTargetSpeed.Click - If fbDfTargetSpeed.OpenDialog(fFileRepl(tbLacDfTargetSpeedFile.Text, fPATH(VECTOfile))) Then _ - tbLacDfTargetSpeedFile.Text = fFileWoDir(fbDfTargetSpeed.Files(0), fPATH(VECTOfile)) - End Sub -End Class - - +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Option Infer On + +Imports System.Collections.Generic +Imports System.Drawing.Imaging +Imports System.IO +Imports System.Linq +Imports System.Text.RegularExpressions +Imports System.Windows.Forms.DataVisualization.Charting +Imports TUGraz.VECTO.Input_Files +Imports TUGraz.VectoCommon.Models +Imports TUGraz.VectoCommon.Utils +Imports TUGraz.VectoCore.Models.Declaration + +''' <summary> +''' Job Editor. Create/Edit VECTO job files (.vecto) +''' </summary> +''' <remarks></remarks> +Public Class VectoJobForm + Public VECTOfile As String + Private Changed As Boolean = False + + Private pgDriver As TabPage + + Private pgDriverON As Boolean = True + + Private AuxDlog As VehicleAuxiliariesDialog + + Public n_idle As Single + Public FLDfile As String + + 'AA-TB + 'Populate Advanced Auxiliaries + Private Sub PopulateAdvancedAuxiliaries() + 'Scan the program directory for DLL's which are AdvancedAuxiliaries and display + Dim aList As List(Of cAdvancedAuxiliary) = DiscoverAdvancedAuxiliaries() + + cboAdvancedAuxiliaries.DataSource = aList + cboAdvancedAuxiliaries.DisplayMember = "AuxiliaryName" + End Sub + + + 'Initialise form + Private Sub F02_GEN_Load(sender As Object, e As EventArgs) Handles Me.Load + Dim x As Int16 + + n_idle = -1 + FLDfile = "" + + AuxDlog = New VehicleAuxiliariesDialog + + pgDriver = TabPgDriver + + For x = 0 To TabControl1.TabCount - 1 + TabControl1.TabPages(x).Show() + Next + + LvAux.Columns(2).Width = -2 + + 'Declaration Mode + If Cfg.DeclMode Then + LvAux.Columns(2).Text = "Technology" + Else + LvAux.Columns(2).Text = "Input File" + End If + + CbEngOnly.Enabled = Not Cfg.DeclMode + GrCycles.Enabled = Not Cfg.DeclMode + GrVACC.Enabled = Not Cfg.DeclMode + PnStartStop.Enabled = Not Cfg.DeclMode + RdOff.Enabled = Not Cfg.DeclMode + GrLAC.Enabled = Not Cfg.DeclMode + ButAuxAdd.Enabled = Not Cfg.DeclMode + ButAuxRem.Enabled = Not Cfg.DeclMode + PnEcoRoll.Enabled = Not Cfg.DeclMode + + Changed = False + 'AA-TB + PopulateAdvancedAuxiliaries() + + 'Attempt to select that found in Config + End Sub + + 'Close - Check for unsaved changes + Private Sub F02_GEN_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then + e.Cancel = ChangeCheckCancel() + End If + End Sub + + 'Set generic values for Declaration mode + Private Sub DeclInit() + + If Not Cfg.DeclMode Then Exit Sub + + LvCycles.Items.Clear() + CbEngOnly.Checked = False + TbDesMaxFile.Text = "" + If Not RdEcoRoll.Checked Then RdOverspeed.Checked = True + CbLookAhead.Checked = True + + TbSSspeed.Text = DeclarationData.Driver.StartStop.MaxSpeed.AsKmph() 'cDeclaration.SSspeed + TbSStime.Text = DeclarationData.Driver.StartStop.MinTime.Value() 'cDeclaration.SStime + TbSSdelay.Text = DeclarationData.Driver.StartStop.Delay.Value() ' cDeclaration.SSdelay + + tbLacPreviewFactor.Text = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor + tbLacDfTargetSpeedFile.Text = "" + tbLacDfVelocityDropFile.Text = "" + + TbOverspeed.Text = DeclarationData.Driver.OverSpeedEcoRoll.OverSpeed.AsKmph() 'cDeclaration.Overspeed + TbUnderSpeed.Text = DeclarationData.Driver.OverSpeedEcoRoll.UnderSpeed.AsKmph() ' cDeclaration.Underspeed + TbVmin.Text = DeclarationData.Driver.OverSpeedEcoRoll.MinSpeed.AsKmph() 'cDeclaration.ECvmin + + If _ + LvAux.Items.Count <> 5 OrElse + (LvAux.Items(0).Text <> sKey.AUX.Fan OrElse LvAux.Items(1).Text <> sKey.AUX.SteerPump OrElse + LvAux.Items(2).Text <> sKey.AUX.HVAC OrElse LvAux.Items(3).Text <> sKey.AUX.ElecSys OrElse + LvAux.Items(4).Text <> sKey.AUX.PneumSys) Then + LvAux.Items.Clear() + + + LvAux.Items.Add(GetTechListForAux(sKey.AUX.Fan, "Fan", DeclarationData.Fan)) + + LvAux.Items.Add(GetTechListForAux(sKey.AUX.SteerPump, "Steering pump", DeclarationData.SteeringPump)) + + LvAux.Items.Add(GetTechListForAux(sKey.AUX.HVAC, "HVAC", DeclarationData.HeatingVentilationAirConditioning)) + + LvAux.Items.Add(GetTechListForAux(sKey.AUX.ElecSys, "Electric System", DeclarationData.ElectricSystem)) + + LvAux.Items.Add(GetTechListForAux(sKey.AUX.PneumSys, "Pneymatic System", DeclarationData.PneumaticSystem)) + + End If + End Sub + + Protected Function GetTechListForAux(key As String, nameStr As String, aux As IDeclarationAuxiliaryTable) As ListViewItem + Dim LV0 As ListViewItem + + LV0 = New ListViewItem(key) + LV0.SubItems.Add(nameStr) + Dim auxtech As String() = aux.GetTechnologies() + If auxtech.Count > 1 Then + LV0.SubItems.Add("") + Else + LV0.SubItems.Add(auxtech(0)) + End If + Return LV0 + End Function + + + 'Show/Hide "Driver Assist" Tab + Private Sub SetDrivertab(onOff As Boolean) + If onOff Then + If Not pgDriverON Then + pgDriverON = True + TabControl1.TabPages.Insert(1, pgDriver) + End If + Else + If pgDriverON Then + pgDriverON = False + TabControl1.Controls.Remove(pgDriver) + End If + End If + End Sub + + +#Region "Browse Buttons" + + Private Sub ButtonVEH_Click(sender As Object, e As EventArgs) Handles ButtonVEH.Click + If VehicleFileBrowser.OpenDialog(fFileRepl(TbVEH.Text, fPATH(VECTOfile))) Then + TbVEH.Text = fFileWoDir(VehicleFileBrowser.Files(0), fPATH(VECTOfile)) + End If + End Sub + + Private Sub ButtonMAP_Click(sender As Object, e As EventArgs) Handles ButtonMAP.Click + If EngineFileBrowser.OpenDialog(fFileRepl(TbENG.Text, fPATH(VECTOfile))) Then + TbENG.Text = fFileWoDir(EngineFileBrowser.Files(0), fPATH(VECTOfile)) + End If + End Sub + + Private Sub ButtonGBX_Click(sender As Object, e As EventArgs) Handles ButtonGBX.Click + If GearboxFileBrowser.OpenDialog(fFileRepl(TbGBX.Text, fPATH(VECTOfile))) Then + TbGBX.Text = fFileWoDir(GearboxFileBrowser.Files(0), fPATH(VECTOfile)) + End If + End Sub + + Private Sub BtDesMaxBr_Click_1(sender As Object, e As EventArgs) Handles BtDesMaxBr.Click + If DriverAccelerationFileBrowser.OpenDialog(fFileRepl(TbDesMaxFile.Text, fPATH(VECTOfile))) Then + TbDesMaxFile.Text = fFileWoDir(DriverAccelerationFileBrowser.Files(0), fPATH(VECTOfile)) + End If + End Sub + + Private Sub BtAccOpen_Click(sender As Object, e As EventArgs) Handles BtAccOpen.Click + OpenFiles(fFileRepl(TbDesMaxFile.Text, fPATH(VECTOfile))) + End Sub + +#End Region + +#Region "Open Buttons" + + 'Open Vehicle Editor + Private Sub ButOpenVEH_Click(sender As Object, e As EventArgs) Handles ButOpenVEH.Click + Dim f As String + f = fFileRepl(TbVEH.Text, fPATH(VECTOfile)) + + 'Thus Veh-file is returned + VehicleForm.JobDir = fPATH(VECTOfile) + VehicleForm.AutoSendTo = True + + If Not Trim(f) = "" Then + If Not File.Exists(f) Then + MsgBox("File not found!") + Exit Sub + End If + End If + + If Not VehicleForm.Visible Then + VehicleForm.Show() + Else + If VehicleForm.WindowState = FormWindowState.Minimized Then VehicleForm.WindowState = FormWindowState.Normal + VehicleForm.BringToFront() + End If + + If Not Trim(f) = "" Then VehicleForm.OpenVehicle(f) + End Sub + + 'Open Engine Editor + Private Sub ButOpenENG_Click(sender As Object, e As EventArgs) Handles ButOpenENG.Click + Dim f As String + f = fFileRepl(TbENG.Text, fPATH(VECTOfile)) + + 'Thus Veh-file is returned + EngineForm.JobDir = fPATH(VECTOfile) + EngineForm.AutoSendTo = True + + If Not Trim(f) = "" Then + If Not File.Exists(f) Then + MsgBox("File not found!") + Exit Sub + End If + End If + + If Not EngineForm.Visible Then + EngineForm.Show() + Else + If EngineForm.WindowState = FormWindowState.Minimized Then EngineForm.WindowState = FormWindowState.Normal + EngineForm.BringToFront() + End If + + If Not Trim(f) = "" Then EngineForm.OpenEngineFile(f) + End Sub + + 'Open Gearbox Editor + Private Sub ButOpenGBX_Click(sender As Object, e As EventArgs) Handles ButOpenGBX.Click + Dim f As String + f = fFileRepl(TbGBX.Text, fPATH(VECTOfile)) + + 'Thus Veh-file is returned + GearboxForm.JobDir = fPATH(VECTOfile) + GearboxForm.AutoSendTo = True + + If Not Trim(f) = "" Then + If Not File.Exists(f) Then + MsgBox("File not found!") + Exit Sub + End If + End If + + If Not GearboxForm.Visible Then + GearboxForm.Show() + Else + If GearboxForm.WindowState = FormWindowState.Minimized Then GearboxForm.WindowState = FormWindowState.Normal + GearboxForm.BringToFront() + End If + + If Not Trim(f) = "" Then GearboxForm.openGBX(f) + End Sub + +#End Region + +#Region "Toolbar" + + 'New + Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click + VECTOnew() + End Sub + + 'Open + Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click + If JobfileFileBrowser.OpenDialog(VECTOfile, False, "vecto") Then VECTOload2Form(JobfileFileBrowser.Files(0)) + End Sub + + 'Save + Private Sub ToolStripBtSave_Click(sender As Object, e As EventArgs) Handles ToolStripBtSave.Click + Save() + End Sub + + 'Save As + Private Sub ToolStripBtSaveAs_Click(sender As Object, e As EventArgs) Handles ToolStripBtSaveAs.Click + If JobfileFileBrowser.SaveDialog(VECTOfile) Then Call VECTOsave(JobfileFileBrowser.Files(0)) + End Sub + + 'Send to Job file list in main form + Private Sub ToolStripBtSendTo_Click(sender As Object, e As EventArgs) Handles ToolStripBtSendTo.Click + If ChangeCheckCancel() Then Exit Sub + If VECTOfile = "" Then + MsgBox("File not found!" & ChrW(10) & ChrW(10) & "Save file and try again.") + Else + MainForm.AddToJobListView(VECTOfile) + End If + End Sub + + 'Help + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + If File.Exists(MyAppPath & "User Manual\help.html") Then + Dim BrowserRegistryString As String = + My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString + Dim DefaultBrowserPath As String = + Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString + Process.Start(DefaultBrowserPath, + String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#job-editor")) + Else + MsgBox("User Manual not found!", MsgBoxStyle.Critical) + End If + End Sub + + +#End Region + + 'Save ("Save" or "Save As" when new file) + Private Function Save() As Boolean + If VECTOfile = "" Then + If JobfileFileBrowser.SaveDialog("") Then + VECTOfile = JobfileFileBrowser.Files(0) + Else + Return False + End If + End If + Return VECTOsave(VECTOfile) + End Function + + 'Open file + Public Sub VECTOload2Form(file As String) + If ChangeCheckCancel() Then Exit Sub + + VECTOnew() + + 'Read GEN + Dim VEC0 = New VectoJob + VEC0.FilePath = file + Try + If Not VEC0.ReadFile() Then + MsgBox("Failed to load " & fFILE(file, True) & "!") + Exit Sub + End If + Catch ex As Exception + MsgBox("Failed to load " & fFILE(file, True) & "!") + Exit Sub + End Try + + If Cfg.DeclMode <> VEC0.SavedInDeclMode Then + Select Case WrongMode() + Case 1 + Close() + MainForm.RbDecl.Checked = Not MainForm.RbDecl.Checked + MainForm.OpenVectoFile(file) + Case -1 + Exit Sub + Case Else '0 + 'Continue... + End Select + End If + + + 'Update Form + + 'Files ----------------------------- + TbVEH.Text = VEC0.PathVeh(True) + TbENG.Text = VEC0.PathEng(True) + TbGBX.Text = VEC0.PathGbx(True) + + 'Start/Stop + ChBStartStop.Checked = VEC0.StartStop + TbSSspeed.Text = VEC0.StStV.ToString() + TbSStime.Text = VEC0.StStT.ToString() + TbSSdelay.Text = VEC0.StStDelay.ToString() + + 'VACC + TbDesMaxFile.Text = VEC0.DesMaxFile(True) + + + 'AA-TB + 'Try and Select any previously selected Auxiliary Type + For Each item As cAdvancedAuxiliary In cboAdvancedAuxiliaries.Items + If item.AssemblyName = VEC0.AuxiliaryAssembly AndAlso VEC0.AuxiliaryVersion = item.AuxiliaryVersion Then + cboAdvancedAuxiliaries.SelectedItem = item + Exit For + End If + Next + 'AA-TB + 'Assign any previously saved Axiliary FilePath + txtAdvancedAuxiliaryFile.Text = VEC0.AdvancedAuxiliaryFilePath + + + LvAux.Items.Clear() + For Each AuxEntryKV In VEC0.AuxPaths + Dim lv0 = New ListViewItem + lv0.SubItems(0).Text = AuxEntryKV.Key + lv0.SubItems.Add(AuxEntryKV.Value.Type) + If Cfg.DeclMode Then + lv0.SubItems.Add(AuxEntryKV.Value.TechStr) + Else + lv0.SubItems.Add(AuxEntryKV.Value.Path.OriginalPath) + End If + LvAux.Items.Add(lv0) + Next + + For Each sb In VEC0.CycleFiles + Dim lv0 = New ListViewItem + lv0.Text = sb.OriginalPath + LvCycles.Items.Add(lv0) + Next + + CbEngOnly.Checked = VEC0.EngOnly + + If VEC0.EcoRollOn Then + RdEcoRoll.Checked = True + ElseIf VEC0.OverSpeedOn Then + RdOverspeed.Checked = True + Else + RdOff.Checked = True + End If + TbOverspeed.Text = CStr(VEC0.OverSpeed) + TbUnderSpeed.Text = CStr(VEC0.UnderSpeed) + TbVmin.Text = CStr(VEC0.VMin) + CbLookAhead.Checked = VEC0.LookAheadOn + 'TbAlookahead.Text = CStr(VEC0.ALookahead) + 'TbVminLA.Text = CStr(VEC0.VMinLa) + tbLacPreviewFactor.Text = CStr(VEC0.LacPreviewFactor) + tbDfCoastingOffset.Text = CStr(VEC0.LacDfOffset) + tbDfCoastingScale.Text = CStr(VEC0.LacDfScale) + + tbLacDfTargetSpeedFile.Text = VEC0.LacDfTargetSpeedFile + tbLacDfVelocityDropFile.Text = VEC0.LacDfVelocityDropFile + + '------------------------------------------------------------- + + DeclInit() + + + EngineForm.AutoSendTo = False + GearboxForm.AutoSendTo = False + VehicleForm.AutoSendTo = False + + + VECTOfile = file + + Dim x As Short = Len(file) + While Mid(file, x, 1) <> "\" And x > 0 + x = x - 1 + End While + Text = Mid(file, x + 1, Len(file) - x) + Changed = False + ToolStripStatusLabelGEN.Text = "" 'file & " opened." + + UpdatePic() + + '------------------------------------------------------------- + End Sub + + 'Save file + Private Function VECTOsave(file As String) As Boolean + Dim message As String = String.Empty + + 'AA-TB + 'Validation of Auxiliary Types/Advanced Auxiliaries + 'if not classic, check the file is valid, if not fail the operation and alert user. + If cboAdvancedAuxiliaries.SelectedIndex > 0 Then + + 'resolve absolute path for auxiliary file. + Dim absoluteAAUxFile = ResolveAAUXFilePath(fPATH(VECTOfile), txtAdvancedAuxiliaryFile.Text) + + Dim aaAssemblyName = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary).AssemblyName + Dim aaAssemblyVersion = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary).AuxiliaryVersion + + + If Not ValidateAAUXFile(absoluteAAUxFile, aaAssemblyName, aaAssemblyVersion, message) Then + MessageBox.Show( + String.Format("You have selected an advanced auxiliary *Auxiliary Type*, but the file specified is invalid :{0}", + message)) + Return False + End If + + End If + + + Dim vec0 = New VectoJob + vec0.FilePath = file + + 'Files ------------------------------------------------- ----------------- + + vec0.PathVeh = TbVEH.Text + vec0.PathEng = TbENG.Text + + For Each lv0 As ListViewItem In LvCycles.Items + Dim sb = New SubPath + sb.Init(fPATH(file), lv0.Text) + vec0.CycleFiles.Add(sb) + Next + + vec0.PathGbx = TbGBX.Text + + + 'Start/Stop + vec0.StartStop = ChBStartStop.Checked + vec0.StStV = CSng(fTextboxToNumString(TbSSspeed.Text)) + vec0.StStT = CSng(fTextboxToNumString(TbSStime.Text)) + vec0.StStDelay = CInt(fTextboxToNumString(TbSSdelay.Text)) + + 'a_DesMax + vec0.DesMaxFile = TbDesMaxFile.Text + + 'AA-TB + vec0.AuxiliaryAssembly = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary).AssemblyName + vec0.AuxiliaryVersion = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary).AuxiliaryVersion + vec0.AdvancedAuxiliaryFilePath = txtAdvancedAuxiliaryFile.Text + + For Each lv0 As ListViewItem In LvAux.Items + Dim auxEntry = New VectoJob.AuxEntry + + If Cfg.DeclMode Then + auxEntry.TechStr = lv0.SubItems(2).Text + Else + auxEntry.Path.Init(fPATH(file), lv0.SubItems(2).Text) + End If + + auxEntry.Type = lv0.SubItems(1).Text + vec0.AuxPaths.Add(lv0.SubItems(0).Text, auxEntry) + Next + + vec0.EngOnly = CbEngOnly.Checked + + vec0.EcoRollOn = RdEcoRoll.Checked + vec0.OverSpeedOn = RdOverspeed.Checked + vec0.OverSpeed = CSng(fTextboxToNumString(TbOverspeed.Text)) + vec0.UnderSpeed = CSng(fTextboxToNumString(TbUnderSpeed.Text)) + vec0.VMin = CSng(fTextboxToNumString(TbVmin.Text)) + vec0.LookAheadOn = CbLookAhead.Checked + 'vec0.ALookahead = CSng(fTextboxToNumString(TbAlookahead.Text)) + 'vec0.VMinLa = CSng(fTextboxToNumString(TbVminLA.Text)) + + vec0.LacPreviewFactor = CSng(fTextboxToNumString(tbLacPreviewFactor.Text)) + vec0.LacDfOffset = CSng(fTextboxToNumString(tbDfCoastingOffset.Text)) + vec0.LacDfScale = CSng(fTextboxToNumString(tbDfCoastingScale.Text)) + vec0.LacDfTargetSpeedFile = tbLacDfTargetSpeedFile.Text + vec0.LacDfVelocityDropFile = tbLacDfVelocityDropFile.Text + '------------------------------------------------------------ + + 'SAVE + If Not vec0.SaveFile Then + MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) + Return False + End If + + VECTOfile = file + + file = fFILE(VECTOfile, True) + + Text = file + ToolStripStatusLabelGEN.Text = "" + + MainForm.AddToJobListView(VECTOfile) + + Changed = False + + Return True + End Function + + 'New file + Public Sub VECTOnew() + + If ChangeCheckCancel() Then Exit Sub + + n_idle = -1 + FLDfile = "" + + 'Files + TbVEH.Text = "" + TbENG.Text = "" + LvCycles.Items.Clear() + TbGBX.Text = "" + TbDesMaxFile.Text = "" + + 'Start/Stop + TbSSspeed.Text = "5" + TbSStime.Text = "5" + ChBStartStop.Checked = False + + LvAux.Items.Clear() + + CbEngOnly.Checked = False + + RdOff.Checked = True + CbLookAhead.Checked = True + 'TbAlookahead.Text = "-0.5" + TbOverspeed.Text = "" + TbUnderSpeed.Text = "" + TbVmin.Text = "" + 'TbVminLA.Text = "50" + tbLacPreviewFactor.Text = "10" + tbDfCoastingOffset.Text = "2.5" + tbDfCoastingScale.Text = "1.5" + tbLacDfTargetSpeedFile.Text = "" + tbLacDfVelocityDropFile.Text = "" + + '--------------------------------------------------- + + DeclInit() + + EngineForm.AutoSendTo = False + + VECTOfile = "" + Text = "Job Editor" + ToolStripStatusLabelGEN.Text = "" + Changed = False + UpdatePic() + End Sub + + +#Region "Track changes" + +#Region "'Change' Events" + + Private Sub TextBoxVEH_TextChanged(sender As Object, e As EventArgs) _ + Handles TbVEH.TextChanged + UpdatePic() + Change() + End Sub + + Private Sub TextBoxMAP_TextChanged(sender As Object, e As EventArgs) _ + Handles TbENG.TextChanged + UpdatePic() + Change() + End Sub + + Private Sub TextBoxFLD_TextChanged(sender As Object, e As EventArgs) _ + Handles TbGBX.TextChanged + UpdatePic() + Change() + End Sub + + Private Sub TbDesMaxFile_TextChanged_1(sender As Object, e As EventArgs) Handles TbDesMaxFile.TextChanged + Change() + End Sub + + + Private Sub TBSSspeed_TextChanged(sender As Object, e As EventArgs) Handles TbSSspeed.TextChanged + Change() + End Sub + + Private Sub TBSStime_TextChanged(sender As Object, e As EventArgs) _ + Handles TbSStime.TextChanged, TbSSdelay.TextChanged + Change() + End Sub + + Private Sub TbOverspeed_TextChanged(sender As Object, e As EventArgs) Handles TbOverspeed.TextChanged + Change() + End Sub + + Private Sub TbUnderSpeed_TextChanged(sender As Object, e As EventArgs) Handles TbUnderSpeed.TextChanged + Change() + End Sub + + Private Sub TbVmin_TextChanged(sender As Object, e As EventArgs) _ + Handles TbVmin.TextChanged + Change() + End Sub + + Private Sub LvCycles_AfterLabelEdit(sender As Object, e As LabelEditEventArgs) _ + Handles LvCycles.AfterLabelEdit + Change() + End Sub + + +#End Region + + Private Sub Change() + If Not Changed Then + ToolStripStatusLabelGEN.Text = "Unsaved changes in current file" + Changed = True + End If + End Sub + + ' "Save changes? "... Returns True if User aborts + Private Function ChangeCheckCancel() As Boolean + + If Changed Then + + Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel) + Case MsgBoxResult.Yes + Return Not Save() + Case MsgBoxResult.Cancel + Return True + Case Else 'MsgBoxResult.No + Changed = False + Return False + End Select + + Else + + Return False + + End If + End Function + +#End Region + +#Region "Aux Listview" + + Private Sub ButAuxAdd_Click(sender As Object, e As EventArgs) Handles ButAuxAdd.Click + Dim ID As String + + AuxDlog.VehPath = fPATH(VECTOfile) + AuxDlog.TbPath.Text = "" + AuxDlog.CbType.SelectedIndex = -1 + AuxDlog.CbType.Text = "" + AuxDlog.TbID.Text = "" '!!! Set Type before ID, because changing the type will overwrite the id !!! + +lbDlog: + If AuxDlog.ShowDialog = DialogResult.OK Then + + ID = UCase(Trim(AuxDlog.TbID.Text)) + + Dim lv0 As ListViewItem + For Each lv0 In LvAux.Items + If lv0.SubItems(0).Text = ID Then + MsgBox("ID '" & ID & "' already defined!", MsgBoxStyle.Critical) + AuxDlog.TbID.SelectAll() + AuxDlog.TbID.Focus() + GoTo lbDlog + End If + Next + + lv0 = New ListViewItem + lv0.SubItems(0).Text = UCase(Trim(AuxDlog.TbID.Text)) + lv0.SubItems.Add(Trim(AuxDlog.CbType.Text)) + lv0.SubItems.Add(Trim(AuxDlog.TbPath.Text)) + LvAux.Items.Add(lv0) + Change() + End If + End Sub + + Private Sub ButAuxRem_Click(sender As Object, e As EventArgs) Handles ButAuxRem.Click + RemoveAuxItem() + End Sub + + Private Sub LvAux_DoubleClick(sender As Object, e As EventArgs) Handles LvAux.DoubleClick + EditAuxItem() + End Sub + + Private Sub LvAux_KeyDown(sender As Object, e As KeyEventArgs) Handles LvAux.KeyDown + Select Case e.KeyCode + Case Keys.Delete, Keys.Back + If Not Cfg.DeclMode Then RemoveAuxItem() + Case Keys.Enter + EditAuxItem() + End Select + End Sub + + Private Sub EditAuxItem() + If LvAux.SelectedItems.Count = 0 Then + Exit Sub + End If + + Dim selItem = LvAux.SelectedItems(0) + + AuxDlog.VehPath = fPATH(VECTOfile) + AuxDlog.CbType.SelectedIndex = -1 + AuxDlog.CbType.Text = selItem.SubItems(1).Text + AuxDlog.TbID.Text = selItem.SubItems(0).Text 'After Type-set! + + If Cfg.DeclMode Then + AuxDlog.CbTech.Text = selItem.SubItems(2).Text + AuxDlog.TbPath.Text = "" + Else + AuxDlog.CbTech.SelectedIndex = -1 + AuxDlog.TbPath.Text = selItem.SubItems(2).Text + End If + + If AuxDlog.ShowDialog = DialogResult.OK Then + selItem.SubItems(0).Text = UCase(Trim(AuxDlog.TbID.Text)) + selItem.SubItems(1).Text = Trim(AuxDlog.CbType.Text) + + If Cfg.DeclMode Then + selItem.SubItems(2).Text = Trim(AuxDlog.CbTech.Text) + Else + selItem.SubItems(2).Text = Trim(AuxDlog.TbPath.Text) + End If + + Change() + End If + End Sub + + Private Sub RemoveAuxItem() + Dim i As Integer + + If LvAux.SelectedItems.Count = 0 Then + If LvAux.Items.Count = 0 Then + Exit Sub + Else + LvAux.Items(LvAux.Items.Count - 1).Selected = True + End If + End If + + i = LvAux.SelectedItems(0).Index + + LvAux.SelectedItems(0).Remove() + + If LvAux.Items.Count > 0 Then + If i < LvAux.Items.Count Then + LvAux.Items(i).Selected = True + Else + LvAux.Items(LvAux.Items.Count - 1).Selected = True + End If + LvAux.Focus() + End If + + Change() + End Sub + +#End Region + + 'OK (Save & Close) + Private Sub ButSave_Click(sender As Object, e As EventArgs) Handles ButOK.Click + If Not Save() Then Exit Sub + Close() + End Sub + + 'Cancel + Private Sub ButCancel_Click(sender As Object, e As EventArgs) Handles ButCancel.Click + Close() + End Sub + +#Region "Cycle list" + + Private Sub LvCycles_DoubleClick(sender As Object, e As EventArgs) Handles LvCycles.DoubleClick + If LvCycles.SelectedItems.Count > 0 Then _ + OpenFiles(fFileRepl(LvCycles.SelectedItems(0).SubItems(0).Text, fPATH(VECTOfile))) + End Sub + + Private Sub LvCycles_KeyDown(sender As Object, e As KeyEventArgs) Handles LvCycles.KeyDown + Select Case e.KeyCode + Case Keys.Delete, Keys.Back + RemoveCycle() + Case Keys.Enter + If LvCycles.SelectedItems.Count > 0 Then LvCycles.SelectedItems(0).BeginEdit() + End Select + End Sub + + Private Sub BtDRIadd_Click(sender As Object, e As EventArgs) Handles BtDRIadd.Click + Dim genDir As String = fPATH(VECTOfile) + + If DrivingCycleFileBrowser.OpenDialog("", True) Then + For Each s In DrivingCycleFileBrowser.Files + LvCycles.Items.Add(fFileWoDir(s, genDir)) + Next + Change() + End If + End Sub + + Private Sub BtDRIrem_Click(sender As Object, e As EventArgs) Handles BtDRIrem.Click + RemoveCycle() + End Sub + + Private Sub RemoveCycle() + Dim i As Integer + + If LvCycles.SelectedItems.Count = 0 Then + If LvCycles.Items.Count = 0 Then + Exit Sub + Else + LvCycles.Items(LvCycles.Items.Count - 1).Selected = True + End If + End If + + i = LvCycles.SelectedItems(0).Index + + LvCycles.SelectedItems(0).Remove() + + If LvCycles.Items.Count > 0 Then + If i < LvCycles.Items.Count Then + LvCycles.Items(i).Selected = True + Else + LvCycles.Items(LvCycles.Items.Count - 1).Selected = True + End If + + LvCycles.Focus() + End If + + Change() + End Sub + +#End Region + +#Region "Enable/Disable GUI controls" + + 'Engine only mode changed + Private Sub CbEngOnly_CheckedChanged(sender As Object, e As EventArgs) Handles CbEngOnly.CheckedChanged + CheckEngOnly() + Change() + End Sub + + Private Sub CheckEngOnly() + Dim OnOff As Boolean + + OnOff = Not CbEngOnly.Checked + + SetDrivertab(OnOff) + + ButOpenVEH.Enabled = OnOff + TbVEH.Enabled = OnOff + ButtonVEH.Enabled = OnOff + ButOpenGBX.Enabled = OnOff + TbGBX.Enabled = OnOff + ButtonGBX.Enabled = OnOff + GrAux.Enabled = OnOff + End Sub + + 'Start/Stop changed + Private Sub ChBStartStop_CheckedChanged_1(sender As Object, e As EventArgs) _ + Handles ChBStartStop.CheckedChanged + Change() + If Not Cfg.DeclMode Then PnStartStop.Enabled = ChBStartStop.Checked + End Sub + + 'LAC changed + Private Sub CbLookAhead_CheckedChanged(sender As Object, e As EventArgs) _ + Handles CbLookAhead.CheckedChanged + Change() + End Sub + + 'EcoRoll / Overspeed changed + Private Sub RdOff_CheckedChanged(sender As Object, e As EventArgs) _ + Handles RdOff.CheckedChanged, RdOverspeed.CheckedChanged, RdEcoRoll.CheckedChanged + Dim EcoR As Boolean + Dim Ovr As Boolean + + Change() + + EcoR = RdEcoRoll.Checked + Ovr = RdOverspeed.Checked + + TbOverspeed.Enabled = Ovr Or EcoR + Label13.Enabled = Ovr Or EcoR + Label14.Enabled = Ovr Or EcoR + + TbUnderSpeed.Enabled = EcoR + Label22.Enabled = EcoR + Label20.Enabled = EcoR + + TbVmin.Enabled = Ovr Or EcoR + Label23.Enabled = Ovr Or EcoR + Label21.Enabled = Ovr Or EcoR + End Sub + +#End Region + + Public Sub UpdatePic() + Dim VEH0 As New Vehicle + Dim i As Integer + Dim pmax As Single + + Dim f As CsvFile + Dim lM As List(Of Single) + Dim lup As List(Of Single) + Dim ldown As List(Of Single) + Dim line As String() + + + Dim HDVclass As String + 'Dim m0 As + + Dim s As Series + Dim a As ChartArea + Dim img As Image + + Dim EngOK = False + + TbHVCclass.Text = "" + TbVehCat.Text = "" + TbMass.Text = "" + TbAxleConf.Text = "" + TbEngTxt.Text = "" + TbGbxTxt.Text = "" + PicVehicle.Image = Nothing + PicBox.Image = Nothing + + + VEH0.FilePath = fFileRepl(TbVEH.Text, fPATH(VECTOfile)) + If VEH0.ReadFile(False) Then + Dim maxMass = (VEH0.MassMax * 1000).SI(Of Kilogram)() 'CSng(fTextboxToNumString(TbMassMass.Text)) + + Dim s0 As Segment = Nothing + Try + s0 = DeclarationData.Segments.Lookup(VEH0.VehCat, VEH0.AxleConf, maxMass, 0.SI(Of Kilogram), True) + Catch + End Try + If Not s0 Is Nothing Then + HDVclass = s0.VehicleClass.GetClassNumber() + + If Cfg.DeclMode Then + LvCycles.Items.Clear() + For Each m0 In s0.Missions + LvCycles.Items.Add(m0.MissionType.ToString()) + Next + End If + + Else + HDVclass = "-" + End If + + PicVehicle.Image = ConvPicPath(HDVclass, False) 'Image.FromFile(cDeclaration.ConvPicPath(HDVclass, False)) + + TbHVCclass.Text = "HDV Class " & HDVclass + TbVehCat.Text = VEH0.VehCat.GetCategoryName() 'ConvVehCat(VEH0.VehCat, True) + TbMass.Text = VEH0.MassMax & " t" + TbAxleConf.Text = VEH0.AxleConf.GetName() 'ConvAxleConf(VEH0.AxleConf) + + End If + + + Dim OkCount = 0 + + Dim ENG0 = New Engine + ENG0.FilePath = fFileRepl(TbENG.Text, fPATH(VECTOfile)) + + 'Create plot + Dim MyChart = New Chart + MyChart.Width = PicBox.Width + MyChart.Height = PicBox.Height + + a = New ChartArea + + Dim FLD0 = New EngineFullLoadCurve + + If ENG0.ReadFile(False) Then + + n_idle = ENG0.Nidle + FLDfile = ENG0.PathFLD + + EngOK = True + FLD0.FilePath = ENG0.PathFLD + + If FLD0.ReadFile(False, False) Then + + s = New Series + s.Points.DataBindXY(FLD0.LnU, FLD0.LTq) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.DarkBlue + s.Name = "Full load" + MyChart.Series.Add(s) + + s = New Series + s.Points.DataBindXY(FLD0.LnU, FLD0.LTqDrag) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.Blue + s.Name = "Motoring" + MyChart.Series.Add(s) + + OkCount += 1 + + pmax = FLD0.Pfull(FLD0.fnUrated) + + End If + + TbEngTxt.Text = (ENG0.Displ / 1000).ToString("0.0") & " l " & pmax.ToString("#") & " kW " & ENG0.ModelName + + + Dim MAP0 = New FuelconsumptionMap + MAP0.FilePath = ENG0.PathMAP + + If MAP0.ReadFile(False) Then + + s = New Series + s.Points.DataBindXY(MAP0.nU, MAP0.Tq) + s.ChartType = SeriesChartType.Point + s.MarkerSize = 3 + s.Color = Color.Red + s.Name = "Map" + MyChart.Series.Add(s) + + OkCount += 1 + + End If + + End If + + Dim GBX0 = New Gearbox + GBX0.FilePath = fFileRepl(TbGBX.Text, fPATH(VECTOfile)) + + If GBX0.ReadFile(False) Then + + TbGbxTxt.Text = GBX0.GearCount & "-Speed " & GBX0.Type.ShortName() & " " & GBX0.ModelName + + If Cfg.DeclMode Then + + If EngOK Then + + For i = 1 To GBX0.GearCount + + FLD0.FilePath = ENG0.PathFLD + + If FLD0.ReadFile(True, False) Then + + If FLD0.Init(ENG0.Nidle) Then + + 'Dim engine As CombustionEngineData = ConvertToEngineData(FLD0, F_VECTO.n_idle) + 'Dim shiftLines As ShiftPolygon = DeclarationData.Gearbox.ComputeShiftPolygon(Gear - 1, + ' engine.FullLoadCurve, gears, + ' engine, + ' Double.Parse(LvGears.Items(0).SubItems(F_GBX.GearboxTbl.Ratio).Text, + ' CultureInfo.InvariantCulture), + ' (.rdyn / 1000.0).SI(Of Meter)) + + 's = New Series + 's.Points.DataBindXY(shiftLines.Upshift.Select(Function(pt) pt.AngularSpeed.Value() / Constants.RPMToRad).ToList(), + ' shiftLines.Upshift.Select(Function(pt) pt.Torque.Value()).ToList()) + 's.ChartType = SeriesChartType.FastLine + 's.BorderWidth = 2 + 's.Color = Color.DarkRed + 's.Name = "Upshift curve (" & i & ")" + 'MyChart.Series.Add(s) + + 's = New Series + 's.Points.DataBindXY( + ' shiftLines.Downshift.Select(Function(pt) pt.AngularSpeed.Value() / Constants.RPMToRad).ToList(), + ' shiftLines.Downshift.Select(Function(pt) pt.Torque.Value()).ToList()) + 's.ChartType = SeriesChartType.FastLine + 's.BorderWidth = 2 + 's.Color = Color.DarkRed + 's.Name = "Downshift curve (" & i & ")" + 'MyChart.Series.Add(s) + End If + + + OkCount += 1 + + pmax = FLD0.Pfull(FLD0.fnUrated) + + End If + + Next + + End If + + Else + + f = New CsvFile + For i = 1 To GBX0.GearCount + + lM = New List(Of Single) + lup = New List(Of Single) + ldown = New List(Of Single) + + If f.OpenRead(GBX0.gsFile(i)) Then + + f.ReadLine() + + Try + + Do While Not f.EndOfFile + line = f.ReadLine + lM.Add(CSng(line(0))) + lup.Add(CSng(line(1))) + ldown.Add(CSng(line(2))) + Loop + + s = New Series + s.Points.DataBindXY(lup, lM) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.DarkRed + s.Name = "Upshift curve" + ' MyChart.Series.Add(s) 'MQ 2016-06-20: do not plot shift lines in engine dialog + + s = New Series + s.Points.DataBindXY(ldown, lM) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.DarkRed + s.Name = "Downshift curve" + 'MyChart.Series.Add(s) 'MQ 2016-06-20:do not plot shift lines in engine dialog + + OkCount += 1 + + f.Close() + + Catch ex As Exception + f.Close() + End Try + + End If + + Next + + End If + + End If + + If OkCount > 0 Then + + a.Name = "main" + + a.AxisX.Title = "engine speed [1/min]" + a.AxisX.TitleFont = New Font("Helvetica", 10) + a.AxisX.LabelStyle.Font = New Font("Helvetica", 8) + a.AxisX.LabelAutoFitStyle = LabelAutoFitStyles.None + a.AxisX.MajorGrid.LineDashStyle = ChartDashStyle.Dot + + a.AxisY.Title = "engine torque [Nm]" + a.AxisY.TitleFont = New Font("Helvetica", 10) + a.AxisY.LabelStyle.Font = New Font("Helvetica", 8) + a.AxisY.LabelAutoFitStyle = LabelAutoFitStyles.None + a.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dot + + a.AxisX.Minimum = 300 + a.BorderDashStyle = ChartDashStyle.Solid + a.BorderWidth = 1 + + a.BackColor = Color.GhostWhite + + MyChart.ChartAreas.Add(a) + + MyChart.Update() + + img = New Bitmap(MyChart.Width, MyChart.Height, PixelFormat.Format32bppArgb) + MyChart.DrawToBitmap(img, New Rectangle(0, 0, PicBox.Width, PicBox.Height)) + + PicBox.Image = img + + + End If + End Sub + + +#Region "Open File Context Menu" + + Private CmFiles As String() + + Private Sub OpenFiles(ParamArray files() As String) + If files.Length = 0 Then Exit Sub + + CmFiles = files + OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName + CmOpenFile.Show(Windows.Forms.Cursor.Position) + End Sub + + Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles OpenWithToolStripMenuItem.Click + If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!") + End Sub + + Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles ShowInFolderToolStripMenuItem.Click + If File.Exists(CmFiles(0)) Then + Try + Process.Start("explorer", "/select,""" & CmFiles(0) & "") + Catch ex As Exception + MsgBox("Failed to open file!") + End Try + Else + MsgBox("File not found!") + End If + End Sub + +#End Region + + + 'AA-TB + Private Sub picAuxInfo_MouseEnter(sender As Object, e As EventArgs) Handles picAuxInfo.MouseEnter + + + If cboAdvancedAuxiliaries.SelectedIndex = -1 Then Exit Sub + + 'Get tooltip + Dim item As cAdvancedAuxiliary + + item = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary) + + If item.AuxiliaryVersion = "CLASSIC" Then + + ToolTip1.ToolTipTitle = "Classic Vecto Auxiliaries" + ToolTip1.SetToolTip(picAuxInfo, "Uses original basic auxiliaries calculation") + + Else + + ToolTip1.ToolTipTitle = "Advanced Auxiliary Information" + ToolTip1.SetToolTip(picAuxInfo, item.AuxiliaryName & " : Version=" & item.AuxiliaryVersion) + + End If + End Sub + + 'AA-TB + Private Sub btnBrowseAAUXFile_Click(sender As Object, e As EventArgs) Handles btnBrowseAAUXFile.Click + + If String.IsNullOrEmpty(VECTOfile) Then + MessageBox.Show( + "Please complete and save a valid new .vecto file before adding/configuring advanced bus auxiliaries.") + Return + End If + + Dim aauxFileValidated As Boolean = False + Dim fbAux As New FileBrowser(True, False) + Dim message As String = String.Empty + Dim absoluteAuxPath As String + Dim assembly As cAdvancedAuxiliary + + 'If Classic is selected, then bail + If cboAdvancedAuxiliaries.SelectedIndex = 0 Then Return + + 'Get Absolute Path for AAUX FILE. + absoluteAuxPath = ResolveAAUXFilePath(fPATH(VECTOfile), txtAdvancedAuxiliaryFile.Text) + + 'Set Extensions + fbAux.Extensions = New String() {"AAUX"} + + Try + + assembly = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary) + + Dim validAAUXFile As Boolean = ValidateAAUXFile(absoluteAuxPath, assembly.AssemblyName, + assembly.AuxiliaryVersion, message) + Dim fileExists As Boolean = File.Exists(absoluteAuxPath) + + If fileExists AndAlso validAAUXFile Then + ConfigureAdvancedAuxiliaries(assembly.AssemblyName, assembly.AuxiliaryVersion, + txtAdvancedAuxiliaryFile.Text, VECTOfile) + Else + + Dim needToFindOrCreateFile As Boolean = True + + While needToFindOrCreateFile + + 'Find / Create file and configure. + If fbAux.CustomDialog(absoluteAuxPath, False, False, tFbExtMode.ForceExt, False, String.Empty) Then + txtAdvancedAuxiliaryFile.Text = fFileWoDir(fbAux.Files(0), fPATH(VECTOfile)) + assembly = DirectCast(cboAdvancedAuxiliaries.SelectedItem, cAdvancedAuxiliary) + + If _ + File.Exists(ResolveAAUXFilePath(fPATH(VECTOfile), txtAdvancedAuxiliaryFile.Text)) OrElse + MsgBox("Do you want to create a new .AAUX file?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then + needToFindOrCreateFile = False + ConfigureAdvancedAuxiliaries(assembly.AssemblyName, assembly.AuxiliaryVersion, + txtAdvancedAuxiliaryFile.Text, VECTOfile) + End If + Else + needToFindOrCreateFile = False + End If + + End While + + End If + + Catch ex As Exception + MessageBox.Show("There was an error configuring your Advanced Auxiliary File") + End Try + End Sub + + 'AA-TB + Private Sub cboAdvancedAuxiliaries_SelectedIndexChanged(sender As Object, e As EventArgs) _ + Handles cboAdvancedAuxiliaries.SelectedIndexChanged + + 'Enable or otherwise the text box and browser button associated with Advanced Axuiliaries + If cboAdvancedAuxiliaries.SelectedIndex = 0 Then + + btnBrowseAAUXFile.Enabled = False + txtAdvancedAuxiliaryFile.Enabled = False + + Else + + btnBrowseAAUXFile.Enabled = True + txtAdvancedAuxiliaryFile.Enabled = True + + End If + End Sub + + + 'AA-TB + Private Sub btnAAUXOpen_Click(sender As Object, e As EventArgs) Handles btnAAUXOpen.Click + + OpenFiles(fFileRepl(txtAdvancedAuxiliaryFile.Text, fPATH(VECTOfile))) + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnDfTargetSpeed.Click + If DriverDecisionFactorTargetSpeedFileBrowser.OpenDialog(fFileRepl(tbLacDfTargetSpeedFile.Text, fPATH(VECTOfile))) Then _ + tbLacDfTargetSpeedFile.Text = fFileWoDir(DriverDecisionFactorTargetSpeedFileBrowser.Files(0), fPATH(VECTOfile)) + End Sub +End Class + + diff --git a/VECTO/GUI/F_VEH_AuxDlog.Designer.vb b/VECTO/GUI/VehicleAuxiliariesDialog.Designer.vb similarity index 98% rename from VECTO/GUI/F_VEH_AuxDlog.Designer.vb rename to VECTO/GUI/VehicleAuxiliariesDialog.Designer.vb index b017cd6cd871685aead4cbd43830dc1d2df8e4a8..11ae33217fcf1e69e35eca648de6061d7e404fd1 100644 --- a/VECTO/GUI/F_VEH_AuxDlog.Designer.vb +++ b/VECTO/GUI/VehicleAuxiliariesDialog.Designer.vb @@ -13,7 +13,7 @@ Imports Microsoft.VisualBasic.CompilerServices Imports TUGraz.VECTO.My.Resources <DesignerGenerated()> _ -Partial Class F_VEH_AuxDlog +Partial Class VehicleAuxiliariesDialog Inherits Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. @@ -213,7 +213,7 @@ Partial Class F_VEH_AuxDlog Me.FormBorderStyle = FormBorderStyle.FixedDialog Me.MaximizeBox = False Me.MinimizeBox = False - Me.Name = "F_VEH_AuxDlog" + Me.Name = "VehicleAuxiliariesDialog" Me.ShowInTaskbar = False Me.StartPosition = FormStartPosition.CenterParent Me.Text = "Auxiliary" diff --git a/VECTO/GUI/F_VEH_AuxDlog.resx b/VECTO/GUI/VehicleAuxiliariesDialog.resx similarity index 100% rename from VECTO/GUI/F_VEH_AuxDlog.resx rename to VECTO/GUI/VehicleAuxiliariesDialog.resx diff --git a/VECTO/GUI/F_VEH_AuxDlog.vb b/VECTO/GUI/VehicleAuxiliariesDialog.vb similarity index 95% rename from VECTO/GUI/F_VEH_AuxDlog.vb rename to VECTO/GUI/VehicleAuxiliariesDialog.vb index 44d9659ea414dcb99ee9cb001fb76ffdc718598b..9377923544dd3d20d00e203cfef71ff118a55438 100644 --- a/VECTO/GUI/F_VEH_AuxDlog.vb +++ b/VECTO/GUI/VehicleAuxiliariesDialog.vb @@ -17,7 +17,7 @@ Imports TUGraz.VectoCore.Models.Declaration ''' <summary> ''' Aux Config Editor (Job Editor sub-dialog) ''' </summary> -Public Class F_VEH_AuxDlog +Public Class VehicleAuxiliariesDialog Public VehPath As String = "" Public Sub New() @@ -94,7 +94,7 @@ Public Class F_VEH_AuxDlog 'Browse for .vaux files Private Sub BtBrowse_Click(sender As Object, e As EventArgs) Handles BtBrowse.Click - If fbAUX.OpenDialog(fFileRepl(TbPath.Text, VehPath)) Then TbPath.Text = fFileWoDir(fbAUX.Files(0), VehPath) + If AuxFileBrowser.OpenDialog(fFileRepl(TbPath.Text, VehPath)) Then TbPath.Text = fFileWoDir(AuxFileBrowser.Files(0), VehPath) End Sub 'Update ID when Aux Type was changed diff --git a/VECTO/GUI/F_VEH_Axle.Designer.vb b/VECTO/GUI/VehicleAxleDialog.Designer.vb similarity index 99% rename from VECTO/GUI/F_VEH_Axle.Designer.vb rename to VECTO/GUI/VehicleAxleDialog.Designer.vb index 9e3467ae73549510cfc1ec9e64b556b9410ba288..8516f0a9709fa225a8c295847fffb3acc752a7b5 100644 --- a/VECTO/GUI/F_VEH_Axle.Designer.vb +++ b/VECTO/GUI/VehicleAxleDialog.Designer.vb @@ -12,7 +12,7 @@ Imports System.ComponentModel Imports Microsoft.VisualBasic.CompilerServices <DesignerGenerated()> _ -Partial Class F_VEH_Axle +Partial Class VehicleAxleDialog Inherits Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. @@ -276,7 +276,7 @@ Partial Class F_VEH_Axle Me.FormBorderStyle = FormBorderStyle.FixedDialog Me.MaximizeBox = False Me.MinimizeBox = False - Me.Name = "F_VEH_Axle" + Me.Name = "VehicleAxleDialog" Me.ShowInTaskbar = False Me.StartPosition = FormStartPosition.CenterParent Me.Text = "Axle configuration" diff --git a/VECTO/GUI/F_VEH_Axle.resx b/VECTO/GUI/VehicleAxleDialog.resx similarity index 100% rename from VECTO/GUI/F_VEH_Axle.resx rename to VECTO/GUI/VehicleAxleDialog.resx diff --git a/VECTO/GUI/F_VEH_Axle.vb b/VECTO/GUI/VehicleAxleDialog.vb similarity index 98% rename from VECTO/GUI/F_VEH_Axle.vb rename to VECTO/GUI/VehicleAxleDialog.vb index e8626c4a610da9ef1e8d959b07874e85c164cb73..43a6468b5273d0f3d11592c440f5e1f35695bb7f 100644 --- a/VECTO/GUI/F_VEH_Axle.vb +++ b/VECTO/GUI/VehicleAxleDialog.vb @@ -18,7 +18,7 @@ Imports TUGraz.VectoCore.Models.Declaration ''' <summary> ''' Axle Config Editor (Vehicle Editor sub-dialog) ''' </summary> -Public Class F_VEH_Axle +Public Class VehicleAxleDialog Public Sub New() InitializeComponent() diff --git a/VECTO/GUI/F_VEH.Designer.vb b/VECTO/GUI/VehicleForm.Designer.vb similarity index 96% rename from VECTO/GUI/F_VEH.Designer.vb rename to VECTO/GUI/VehicleForm.Designer.vb index 5277f4332fd53d90a91b1e6d0f58b0e6f740e663..1544567384e8dcdd355359a0bf6b23146d61e3e7 100644 --- a/VECTO/GUI/F_VEH.Designer.vb +++ b/VECTO/GUI/VehicleForm.Designer.vb @@ -1,1085 +1,1085 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Imports System.ComponentModel -Imports System.Linq -Imports Microsoft.VisualBasic.CompilerServices -Imports TUGraz.VectoCommon.Models - -<DesignerGenerated()> _ -Partial Class F_VEH - Inherits Form - - 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - <DebuggerNonUserCode()> _ - Protected Overrides Sub Dispose(ByVal disposing As Boolean) - Try - If disposing AndAlso components IsNot Nothing Then - components.Dispose() - End If - Finally - MyBase.Dispose(disposing) - End Try - End Sub - - 'Wird vom Windows Form-Designer benötigt. - Private components As IContainer - - 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. - 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. - 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. - <DebuggerStepThrough()> _ - Private Sub InitializeComponent() - Me.components = New Container() - Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(F_VEH)) - Me.Label1 = New Label() - Me.TbMass = New TextBox() - Me.Label2 = New Label() - Me.TbLoad = New TextBox() - Me.Label3 = New Label() - Me.TBcdA = New TextBox() - Me.Label13 = New Label() - Me.TBrdyn = New TextBox() - Me.ButOK = New Button() - Me.ButCancel = New Button() - Me.Label14 = New Label() - Me.Label31 = New Label() - Me.Label35 = New Label() - Me.CbCdMode = New ComboBox() - Me.TbCdFile = New TextBox() - Me.BtCdFileBrowse = New Button() - Me.GroupBox6 = New GroupBox() - Me.BtCdFileOpen = New Button() - Me.LbCdMode = New Label() - Me.ToolStrip1 = New ToolStrip() - Me.ToolStripBtNew = New ToolStripButton() - Me.ToolStripBtOpen = New ToolStripButton() - Me.ToolStripBtSave = New ToolStripButton() - Me.ToolStripBtSaveAs = New ToolStripButton() - Me.ToolStripSeparator3 = New ToolStripSeparator() - Me.ToolStripBtSendTo = New ToolStripButton() - Me.ToolStripSeparator1 = New ToolStripSeparator() - Me.ToolStripButton1 = New ToolStripButton() - Me.GroupBox7 = New GroupBox() - Me.PnRt = New Panel() - Me.Label15 = New Label() - Me.BtRtBrowse = New Button() - Me.TbRtPath = New TextBox() - Me.Label45 = New Label() - Me.LbRtRatio = New Label() - Me.TbRtRatio = New TextBox() - Me.CbRtType = New ComboBox() - Me.Label46 = New Label() - Me.Label50 = New Label() - Me.TbMassExtra = New TextBox() - Me.GroupBox8 = New GroupBox() - Me.PnWheelDiam = New Panel() - Me.Label6 = New Label() - Me.ButAxlRem = New Button() - Me.LvRRC = New ListView() - Me.ColumnHeader7 = CType(New ColumnHeader(), ColumnHeader) - Me.ColumnHeader8 = CType(New ColumnHeader(), ColumnHeader) - Me.ColumnHeader2 = CType(New ColumnHeader(), ColumnHeader) - Me.ColumnHeader9 = CType(New ColumnHeader(), ColumnHeader) - Me.ColumnHeader1 = CType(New ColumnHeader(), ColumnHeader) - Me.ColumnHeader3 = CType(New ColumnHeader(), ColumnHeader) - Me.ColumnHeader4 = CType(New ColumnHeader(), ColumnHeader) - Me.ButAxlAdd = New Button() - Me.CbAxleConfig = New ComboBox() - Me.CbCat = New ComboBox() - Me.Label5 = New Label() - Me.Label9 = New Label() - Me.TbMassMass = New TextBox() - Me.StatusStrip1 = New StatusStrip() - Me.LbStatus = New ToolStripStatusLabel() - Me.TbHDVclass = New TextBox() - Me.Label11 = New Label() - Me.TbLoadingMax = New TextBox() - Me.Label22 = New Label() - Me.GroupBox1 = New GroupBox() - Me.PnLoad = New Panel() - Me.GrAirRes = New GroupBox() - Me.PnCdATrTr = New Panel() - Me.Label38 = New Label() - Me.PictureBox1 = New PictureBox() - Me.CmOpenFile = New ContextMenuStrip(Me.components) - Me.OpenWithToolStripMenuItem = New ToolStripMenuItem() - Me.ShowInFolderToolStripMenuItem = New ToolStripMenuItem() - Me.PnAll = New Panel() - Me.GroupBox2 = New GroupBox() - Me.pnAngularGearFields = New Panel() - Me.Label4 = New Label() - Me.Label12 = New Label() - Me.Label10 = New Label() - Me.tbAngularGearRatio = New TextBox() - Me.btAngularGearLossMapBrowse = New Button() - Me.tbAngularGearLossMapPath = New TextBox() - Me.cbAngularGearType = New ComboBox() - Me.PicVehicle = New PictureBox() - Me.Label8 = New Label() - Me.ToolTip1 = New ToolTip(Me.components) - Me.GroupBox3 = New GroupBox() - Me.GroupBox6.SuspendLayout() - Me.ToolStrip1.SuspendLayout() - Me.GroupBox7.SuspendLayout() - Me.PnRt.SuspendLayout() - Me.GroupBox8.SuspendLayout() - Me.PnWheelDiam.SuspendLayout() - Me.StatusStrip1.SuspendLayout() - Me.GroupBox1.SuspendLayout() - Me.PnLoad.SuspendLayout() - Me.GrAirRes.SuspendLayout() - Me.PnCdATrTr.SuspendLayout() - CType(Me.PictureBox1, ISupportInitialize).BeginInit() - Me.CmOpenFile.SuspendLayout() - Me.PnAll.SuspendLayout() - Me.GroupBox2.SuspendLayout() - Me.pnAngularGearFields.SuspendLayout() - CType(Me.PicVehicle, ISupportInitialize).BeginInit() - Me.GroupBox3.SuspendLayout() - Me.SuspendLayout() - ' - 'Label1 - ' - Me.Label1.AutoSize = True - Me.Label1.Location = New Point(62, 22) - Me.Label1.Name = "Label1" - Me.Label1.Size = New Size(104, 13) - Me.Label1.TabIndex = 0 - Me.Label1.Text = "Curb Weight Vehicle" - ' - 'TbMass - ' - Me.TbMass.Location = New Point(172, 19) - Me.TbMass.Name = "TbMass" - Me.TbMass.Size = New Size(57, 20) - Me.TbMass.TabIndex = 0 - ' - 'Label2 - ' - Me.Label2.AutoSize = True - Me.Label2.Location = New Point(115, 31) - Me.Label2.Name = "Label2" - Me.Label2.Size = New Size(45, 13) - Me.Label2.TabIndex = 2 - Me.Label2.Text = "Loading" - ' - 'TbLoad - ' - Me.TbLoad.Location = New Point(166, 28) - Me.TbLoad.Name = "TbLoad" - Me.TbLoad.Size = New Size(57, 20) - Me.TbLoad.TabIndex = 1 - ' - 'Label3 - ' - Me.Label3.AutoSize = True - Me.Label3.Location = New Point(3, 6) - Me.Label3.Name = "Label3" - Me.Label3.Size = New Size(37, 13) - Me.Label3.TabIndex = 8 - Me.Label3.Text = "cd x A" - ' - 'TBcdA - ' - Me.TBcdA.Location = New Point(46, 3) - Me.TBcdA.Name = "TBcdA" - Me.TBcdA.Size = New Size(57, 20) - Me.TBcdA.TabIndex = 0 - ' - 'Label13 - ' - Me.Label13.AutoSize = True - Me.Label13.Location = New Point(3, 7) - Me.Label13.Name = "Label13" - Me.Label13.Size = New Size(40, 13) - Me.Label13.TabIndex = 6 - Me.Label13.Text = "Radius" - ' - 'TBrdyn - ' - Me.TBrdyn.Location = New Point(46, 4) - Me.TBrdyn.Name = "TBrdyn" - Me.TBrdyn.Size = New Size(57, 20) - Me.TBrdyn.TabIndex = 0 - ' - 'ButOK - ' - Me.ButOK.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) - Me.ButOK.Location = New Point(421, 661) - Me.ButOK.Name = "ButOK" - Me.ButOK.Size = New Size(75, 23) - Me.ButOK.TabIndex = 5 - Me.ButOK.Text = "Save" - Me.ButOK.UseVisualStyleBackColor = True - ' - 'ButCancel - ' - Me.ButCancel.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) - Me.ButCancel.DialogResult = DialogResult.Cancel - Me.ButCancel.Location = New Point(502, 661) - Me.ButCancel.Name = "ButCancel" - Me.ButCancel.Size = New Size(75, 23) - Me.ButCancel.TabIndex = 6 - Me.ButCancel.Text = "Cancel" - Me.ButCancel.UseVisualStyleBackColor = True - ' - 'Label14 - ' - Me.Label14.AutoSize = True - Me.Label14.Location = New Point(231, 22) - Me.Label14.Name = "Label14" - Me.Label14.Size = New Size(25, 13) - Me.Label14.TabIndex = 24 - Me.Label14.Text = "[kg]" - ' - 'Label31 - ' - Me.Label31.AutoSize = True - Me.Label31.Location = New Point(225, 31) - Me.Label31.Name = "Label31" - Me.Label31.Size = New Size(25, 13) - Me.Label31.TabIndex = 24 - Me.Label31.Text = "[kg]" - ' - 'Label35 - ' - Me.Label35.AutoSize = True - Me.Label35.Location = New Point(105, 7) - Me.Label35.Name = "Label35" - Me.Label35.Size = New Size(29, 13) - Me.Label35.TabIndex = 24 - Me.Label35.Text = "[mm]" - ' - 'CbCdMode - ' - Me.CbCdMode.DropDownStyle = ComboBoxStyle.DropDownList - Me.CbCdMode.FormattingEnabled = True - Me.CbCdMode.Location = New Point(6, 19) - Me.CbCdMode.Name = "CbCdMode" - Me.CbCdMode.Size = New Size(207, 21) - Me.CbCdMode.TabIndex = 0 - ' - 'TbCdFile - ' - Me.TbCdFile.Anchor = CType((((AnchorStyles.Top Or AnchorStyles.Bottom) _ - Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.TbCdFile.Enabled = False - Me.TbCdFile.Location = New Point(6, 46) - Me.TbCdFile.Name = "TbCdFile" - Me.TbCdFile.Size = New Size(504, 20) - Me.TbCdFile.TabIndex = 1 - ' - 'BtCdFileBrowse - ' - Me.BtCdFileBrowse.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) - Me.BtCdFileBrowse.Enabled = False - Me.BtCdFileBrowse.Image = My.Resources.Resources.Open_icon - Me.BtCdFileBrowse.Location = New Point(510, 43) - Me.BtCdFileBrowse.Name = "BtCdFileBrowse" - Me.BtCdFileBrowse.Size = New Size(24, 24) - Me.BtCdFileBrowse.TabIndex = 2 - Me.BtCdFileBrowse.UseVisualStyleBackColor = True - ' - 'GroupBox6 - ' - Me.GroupBox6.Controls.Add(Me.BtCdFileOpen) - Me.GroupBox6.Controls.Add(Me.LbCdMode) - Me.GroupBox6.Controls.Add(Me.CbCdMode) - Me.GroupBox6.Controls.Add(Me.BtCdFileBrowse) - Me.GroupBox6.Controls.Add(Me.TbCdFile) - Me.GroupBox6.Location = New Point(6, 407) - Me.GroupBox6.Name = "GroupBox6" - Me.GroupBox6.Size = New Size(562, 74) - Me.GroupBox6.TabIndex = 5 - Me.GroupBox6.TabStop = False - Me.GroupBox6.Text = "Cross Wind Correction" - ' - 'BtCdFileOpen - ' - Me.BtCdFileOpen.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) - Me.BtCdFileOpen.Enabled = False - Me.BtCdFileOpen.Image = My.Resources.Resources.application_export_icon_small - Me.BtCdFileOpen.Location = New Point(533, 43) - Me.BtCdFileOpen.Name = "BtCdFileOpen" - Me.BtCdFileOpen.Size = New Size(24, 24) - Me.BtCdFileOpen.TabIndex = 3 - Me.BtCdFileOpen.TabStop = False - Me.BtCdFileOpen.UseVisualStyleBackColor = True - ' - 'LbCdMode - ' - Me.LbCdMode.AutoSize = True - Me.LbCdMode.Location = New Point(219, 22) - Me.LbCdMode.Name = "LbCdMode" - Me.LbCdMode.Size = New Size(59, 13) - Me.LbCdMode.TabIndex = 28 - Me.LbCdMode.Text = "LbCdMode" - ' - 'ToolStrip1 - ' - Me.ToolStrip1.GripStyle = ToolStripGripStyle.Hidden - Me.ToolStrip1.Items.AddRange(New ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator3, Me.ToolStripBtSendTo, Me.ToolStripSeparator1, Me.ToolStripButton1}) - Me.ToolStrip1.Location = New Point(0, 0) - Me.ToolStrip1.Name = "ToolStrip1" - Me.ToolStrip1.Size = New Size(589, 25) - Me.ToolStrip1.TabIndex = 29 - Me.ToolStrip1.Text = "ToolStrip1" - ' - 'ToolStripBtNew - ' - Me.ToolStripBtNew.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtNew.Image = My.Resources.Resources.blue_document_icon - Me.ToolStripBtNew.ImageTransparentColor = Color.Magenta - Me.ToolStripBtNew.Name = "ToolStripBtNew" - Me.ToolStripBtNew.Size = New Size(23, 22) - Me.ToolStripBtNew.Text = "ToolStripButton1" - Me.ToolStripBtNew.ToolTipText = "New" - ' - 'ToolStripBtOpen - ' - Me.ToolStripBtOpen.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtOpen.Image = My.Resources.Resources.Open_icon - Me.ToolStripBtOpen.ImageTransparentColor = Color.Magenta - Me.ToolStripBtOpen.Name = "ToolStripBtOpen" - Me.ToolStripBtOpen.Size = New Size(23, 22) - Me.ToolStripBtOpen.Text = "ToolStripButton1" - Me.ToolStripBtOpen.ToolTipText = "Open..." - ' - 'ToolStripBtSave - ' - Me.ToolStripBtSave.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtSave.Image = My.Resources.Resources.Actions_document_save_icon - Me.ToolStripBtSave.ImageTransparentColor = Color.Magenta - Me.ToolStripBtSave.Name = "ToolStripBtSave" - Me.ToolStripBtSave.Size = New Size(23, 22) - Me.ToolStripBtSave.Text = "ToolStripButton1" - Me.ToolStripBtSave.ToolTipText = "Save" - ' - 'ToolStripBtSaveAs - ' - Me.ToolStripBtSaveAs.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtSaveAs.Image = My.Resources.Resources.Actions_document_save_as_icon - Me.ToolStripBtSaveAs.ImageTransparentColor = Color.Magenta - Me.ToolStripBtSaveAs.Name = "ToolStripBtSaveAs" - Me.ToolStripBtSaveAs.Size = New Size(23, 22) - Me.ToolStripBtSaveAs.Text = "ToolStripButton1" - Me.ToolStripBtSaveAs.ToolTipText = "Save As..." - ' - 'ToolStripSeparator3 - ' - Me.ToolStripSeparator3.Name = "ToolStripSeparator3" - Me.ToolStripSeparator3.Size = New Size(6, 25) - ' - 'ToolStripBtSendTo - ' - Me.ToolStripBtSendTo.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripBtSendTo.Image = My.Resources.Resources.export_icon - Me.ToolStripBtSendTo.ImageTransparentColor = Color.Magenta - Me.ToolStripBtSendTo.Name = "ToolStripBtSendTo" - Me.ToolStripBtSendTo.Size = New Size(23, 22) - Me.ToolStripBtSendTo.Text = "Send to Job Editor" - Me.ToolStripBtSendTo.ToolTipText = "Send to Job Editor" - ' - 'ToolStripSeparator1 - ' - Me.ToolStripSeparator1.Name = "ToolStripSeparator1" - Me.ToolStripSeparator1.Size = New Size(6, 25) - ' - 'ToolStripButton1 - ' - Me.ToolStripButton1.DisplayStyle = ToolStripItemDisplayStyle.Image - Me.ToolStripButton1.Image = My.Resources.Resources.Help_icon - Me.ToolStripButton1.ImageTransparentColor = Color.Magenta - Me.ToolStripButton1.Name = "ToolStripButton1" - Me.ToolStripButton1.Size = New Size(23, 22) - Me.ToolStripButton1.Text = "Help" - ' - 'GroupBox7 - ' - Me.GroupBox7.Controls.Add(Me.PnRt) - Me.GroupBox7.Controls.Add(Me.CbRtType) - Me.GroupBox7.Location = New Point(6, 290) - Me.GroupBox7.Name = "GroupBox7" - Me.GroupBox7.Size = New Size(278, 111) - Me.GroupBox7.TabIndex = 3 - Me.GroupBox7.TabStop = False - Me.GroupBox7.Text = "Retarder Losses" - ' - 'PnRt - ' - Me.PnRt.Controls.Add(Me.Label15) - Me.PnRt.Controls.Add(Me.BtRtBrowse) - Me.PnRt.Controls.Add(Me.TbRtPath) - Me.PnRt.Controls.Add(Me.Label45) - Me.PnRt.Controls.Add(Me.LbRtRatio) - Me.PnRt.Controls.Add(Me.TbRtRatio) - Me.PnRt.Location = New Point(3, 42) - Me.PnRt.Name = "PnRt" - Me.PnRt.Size = New Size(272, 63) - Me.PnRt.TabIndex = 1 - ' - 'Label15 - ' - Me.Label15.Location = New Point(6, 23) - Me.Label15.Name = "Label15" - Me.Label15.Size = New Size(201, 16) - Me.Label15.TabIndex = 15 - Me.Label15.Text = "Retarder Loss Map" - Me.Label15.TextAlign = ContentAlignment.BottomLeft - ' - 'BtRtBrowse - ' - Me.BtRtBrowse.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) - Me.BtRtBrowse.Image = My.Resources.Resources.Open_icon - Me.BtRtBrowse.Location = New Point(245, 39) - Me.BtRtBrowse.Name = "BtRtBrowse" - Me.BtRtBrowse.Size = New Size(24, 24) - Me.BtRtBrowse.TabIndex = 14 - Me.BtRtBrowse.UseVisualStyleBackColor = True - ' - 'TbRtPath - ' - Me.TbRtPath.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) - Me.TbRtPath.Location = New Point(6, 41) - Me.TbRtPath.Name = "TbRtPath" - Me.TbRtPath.Size = New Size(239, 20) - Me.TbRtPath.TabIndex = 13 - ' - 'Label45 - ' - Me.Label45.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.Label45.AutoSize = True - Me.Label45.Location = New Point(251, 4) - Me.Label45.Name = "Label45" - Me.Label45.Size = New Size(16, 13) - Me.Label45.TabIndex = 10 - Me.Label45.Text = "[-]" - ' - 'LbRtRatio - ' - Me.LbRtRatio.Location = New Point(19, 4) - Me.LbRtRatio.Name = "LbRtRatio" - Me.LbRtRatio.Size = New Size(167, 17) - Me.LbRtRatio.TabIndex = 5 - Me.LbRtRatio.Text = "Ratio" - Me.LbRtRatio.TextAlign = ContentAlignment.TopRight - ' - 'TbRtRatio - ' - Me.TbRtRatio.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.TbRtRatio.Location = New Point(193, 2) - Me.TbRtRatio.Name = "TbRtRatio" - Me.TbRtRatio.Size = New Size(56, 20) - Me.TbRtRatio.TabIndex = 0 - ' - 'CbRtType - ' - Me.CbRtType.DropDownStyle = ComboBoxStyle.DropDownList - Me.CbRtType.FormattingEnabled = True - - Me.CbRtType.Location = New Point(6, 19) - Me.CbRtType.Name = "CbRtType" - Me.CbRtType.Size = New Size(266, 21) - Me.CbRtType.TabIndex = 0 - ' - 'Label46 - ' - Me.Label46.AutoSize = True - Me.Label46.Location = New Point(6, 5) - Me.Label46.Name = "Label46" - Me.Label46.Size = New Size(154, 13) - Me.Label46.TabIndex = 31 - Me.Label46.Text = "Curb Weight Extra Trailer/Body" - ' - 'Label50 - ' - Me.Label50.AutoSize = True - Me.Label50.Location = New Point(225, 5) - Me.Label50.Name = "Label50" - Me.Label50.Size = New Size(25, 13) - Me.Label50.TabIndex = 24 - Me.Label50.Text = "[kg]" - ' - 'TbMassExtra - ' - Me.TbMassExtra.Location = New Point(166, 2) - Me.TbMassExtra.Name = "TbMassExtra" - Me.TbMassExtra.Size = New Size(57, 20) - Me.TbMassExtra.TabIndex = 0 - ' - 'GroupBox8 - ' - Me.GroupBox8.Controls.Add(Me.Label6) - Me.GroupBox8.Controls.Add(Me.ButAxlRem) - Me.GroupBox8.Controls.Add(Me.LvRRC) - Me.GroupBox8.Controls.Add(Me.ButAxlAdd) - Me.GroupBox8.Location = New Point(6, 133) - Me.GroupBox8.Name = "GroupBox8" - Me.GroupBox8.Size = New Size(562, 151) - Me.GroupBox8.TabIndex = 2 - Me.GroupBox8.TabStop = False - Me.GroupBox8.Text = "Axles / Wheels" - ' - 'PnWheelDiam - ' - Me.PnWheelDiam.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.PnWheelDiam.Controls.Add(Me.Label13) - Me.PnWheelDiam.Controls.Add(Me.TBrdyn) - Me.PnWheelDiam.Controls.Add(Me.Label35) - Me.PnWheelDiam.Location = New Point(3, 16) - Me.PnWheelDiam.Name = "PnWheelDiam" - Me.PnWheelDiam.Size = New Size(228, 34) - Me.PnWheelDiam.TabIndex = 5 - ' - 'Label6 - ' - Me.Label6.AutoSize = True - Me.Label6.Location = New Point(450, 121) - Me.Label6.Name = "Label6" - Me.Label6.Size = New Size(106, 13) - Me.Label6.TabIndex = 3 - Me.Label6.Text = "(Double-Click to Edit)" - ' - 'ButAxlRem - ' - Me.ButAxlRem.Image = My.Resources.Resources.minus_circle_icon - Me.ButAxlRem.Location = New Point(29, 122) - Me.ButAxlRem.Name = "ButAxlRem" - Me.ButAxlRem.Size = New Size(24, 24) - Me.ButAxlRem.TabIndex = 2 - Me.ButAxlRem.UseVisualStyleBackColor = True - ' - 'LvRRC - ' - Me.LvRRC.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ - Or AnchorStyles.Right), AnchorStyles) - Me.LvRRC.Columns.AddRange(New ColumnHeader() {Me.ColumnHeader7, Me.ColumnHeader8, Me.ColumnHeader2, Me.ColumnHeader9, Me.ColumnHeader1, Me.ColumnHeader3, Me.ColumnHeader4}) - Me.LvRRC.FullRowSelect = True - Me.LvRRC.GridLines = True - Me.LvRRC.HideSelection = False - Me.LvRRC.Location = New Point(6, 19) - Me.LvRRC.MultiSelect = False - Me.LvRRC.Name = "LvRRC" - Me.LvRRC.Size = New Size(550, 102) - Me.LvRRC.TabIndex = 0 - Me.LvRRC.TabStop = False - Me.LvRRC.UseCompatibleStateImageBehavior = False - Me.LvRRC.View = View.Details - ' - 'ColumnHeader7 - ' - Me.ColumnHeader7.Text = "#" - Me.ColumnHeader7.Width = 22 - ' - 'ColumnHeader8 - ' - Me.ColumnHeader8.Text = "Rel. load" - Me.ColumnHeader8.Width = 62 - ' - 'ColumnHeader2 - ' - Me.ColumnHeader2.Text = "Twin T." - Me.ColumnHeader2.Width = 51 - ' - 'ColumnHeader9 - ' - Me.ColumnHeader9.Text = "RRC" - Me.ColumnHeader9.Width = 59 - ' - 'ColumnHeader1 - ' - Me.ColumnHeader1.Text = "Fz ISO" - Me.ColumnHeader1.Width = 55 - ' - 'ColumnHeader3 - ' - Me.ColumnHeader3.Text = "Wheels" - Me.ColumnHeader3.Width = 181 - ' - 'ColumnHeader4 - ' - Me.ColumnHeader4.Text = "Inertia" - ' - 'ButAxlAdd - ' - Me.ButAxlAdd.Image = My.Resources.Resources.plus_circle_icon - Me.ButAxlAdd.Location = New Point(5, 122) - Me.ButAxlAdd.Name = "ButAxlAdd" - Me.ButAxlAdd.Size = New Size(24, 24) - Me.ButAxlAdd.TabIndex = 1 - Me.ButAxlAdd.UseVisualStyleBackColor = True - ' - 'CbAxleConfig - ' - Me.CbAxleConfig.DropDownStyle = ComboBoxStyle.DropDownList - Me.CbAxleConfig.FormattingEnabled = True - - Me.CbAxleConfig.Location = New Point(153, 80) - Me.CbAxleConfig.Name = "CbAxleConfig" - Me.CbAxleConfig.Size = New Size(60, 21) - Me.CbAxleConfig.TabIndex = 1 - ' - 'CbCat - ' - Me.CbCat.DropDownStyle = ComboBoxStyle.DropDownList - Me.CbCat.FormattingEnabled = True - - Me.CbCat.Location = New Point(12, 80) - Me.CbCat.Name = "CbCat" - Me.CbCat.Size = New Size(135, 21) - Me.CbCat.TabIndex = 0 - ' - 'Label5 - ' - Me.Label5.AutoSize = True - Me.Label5.Location = New Point(13, 110) - Me.Label5.Name = "Label5" - Me.Label5.Size = New Size(134, 13) - Me.Label5.TabIndex = 2 - Me.Label5.Text = "Gross Vehicle Mass Rating" - ' - 'Label9 - ' - Me.Label9.AutoSize = True - Me.Label9.Location = New Point(197, 110) - Me.Label9.Name = "Label9" - Me.Label9.Size = New Size(16, 13) - Me.Label9.TabIndex = 3 - Me.Label9.Text = "[t]" - Me.Label9.TextAlign = ContentAlignment.MiddleLeft - ' - 'TbMassMass - ' - Me.TbMassMass.Location = New Point(153, 107) - Me.TbMassMass.Name = "TbMassMass" - Me.TbMassMass.Size = New Size(42, 20) - Me.TbMassMass.TabIndex = 2 - ' - 'StatusStrip1 - ' - Me.StatusStrip1.Items.AddRange(New ToolStripItem() {Me.LbStatus}) - Me.StatusStrip1.Location = New Point(0, 687) - Me.StatusStrip1.Name = "StatusStrip1" - Me.StatusStrip1.Size = New Size(589, 22) - Me.StatusStrip1.SizingGrip = False - Me.StatusStrip1.TabIndex = 36 - Me.StatusStrip1.Text = "StatusStrip1" - ' - 'LbStatus - ' - Me.LbStatus.Name = "LbStatus" - Me.LbStatus.Size = New Size(39, 17) - Me.LbStatus.Text = "Status" - ' - 'TbHDVclass - ' - Me.TbHDVclass.Location = New Point(153, 133) - Me.TbHDVclass.Name = "TbHDVclass" - Me.TbHDVclass.ReadOnly = True - Me.TbHDVclass.Size = New Size(42, 20) - Me.TbHDVclass.TabIndex = 3 - Me.TbHDVclass.TabStop = False - Me.TbHDVclass.TextAlign = HorizontalAlignment.Center - ' - 'Label11 - ' - Me.Label11.AutoSize = True - Me.Label11.Location = New Point(89, 57) - Me.Label11.Name = "Label11" - Me.Label11.Size = New Size(71, 13) - Me.Label11.TabIndex = 31 - Me.Label11.Text = "Max. Loading" - ' - 'TbLoadingMax - ' - Me.TbLoadingMax.Location = New Point(166, 54) - Me.TbLoadingMax.Name = "TbLoadingMax" - Me.TbLoadingMax.ReadOnly = True - Me.TbLoadingMax.Size = New Size(57, 20) - Me.TbLoadingMax.TabIndex = 2 - Me.TbLoadingMax.TabStop = False - ' - 'Label22 - ' - Me.Label22.AutoSize = True - Me.Label22.Location = New Point(225, 57) - Me.Label22.Name = "Label22" - Me.Label22.Size = New Size(25, 13) - Me.Label22.TabIndex = 24 - Me.Label22.Text = "[kg]" - ' - 'GroupBox1 - ' - Me.GroupBox1.Controls.Add(Me.PnLoad) - Me.GroupBox1.Controls.Add(Me.TbMass) - Me.GroupBox1.Controls.Add(Me.Label1) - Me.GroupBox1.Controls.Add(Me.Label14) - Me.GroupBox1.Location = New Point(6, 3) - Me.GroupBox1.Name = "GroupBox1" - Me.GroupBox1.Size = New Size(278, 124) - Me.GroupBox1.TabIndex = 0 - Me.GroupBox1.TabStop = False - Me.GroupBox1.Text = "Weight / Loading" - ' - 'PnLoad - ' - Me.PnLoad.Controls.Add(Me.Label2) - Me.PnLoad.Controls.Add(Me.Label31) - Me.PnLoad.Controls.Add(Me.TbLoad) - Me.PnLoad.Controls.Add(Me.TbMassExtra) - Me.PnLoad.Controls.Add(Me.TbLoadingMax) - Me.PnLoad.Controls.Add(Me.Label50) - Me.PnLoad.Controls.Add(Me.Label46) - Me.PnLoad.Controls.Add(Me.Label22) - Me.PnLoad.Controls.Add(Me.Label11) - Me.PnLoad.Location = New Point(6, 43) - Me.PnLoad.Name = "PnLoad" - Me.PnLoad.Size = New Size(256, 75) - Me.PnLoad.TabIndex = 1 - ' - 'GrAirRes - ' - Me.GrAirRes.Controls.Add(Me.PnCdATrTr) - Me.GrAirRes.Location = New Point(290, 3) - Me.GrAirRes.Name = "GrAirRes" - Me.GrAirRes.Size = New Size(278, 48) - Me.GrAirRes.TabIndex = 1 - Me.GrAirRes.TabStop = False - Me.GrAirRes.Text = "Air Resistance" - ' - 'PnCdATrTr - ' - Me.PnCdATrTr.Controls.Add(Me.TBcdA) - Me.PnCdATrTr.Controls.Add(Me.Label38) - Me.PnCdATrTr.Controls.Add(Me.Label3) - Me.PnCdATrTr.Dock = DockStyle.Fill - Me.PnCdATrTr.Location = New Point(3, 16) - Me.PnCdATrTr.Name = "PnCdATrTr" - Me.PnCdATrTr.Size = New Size(272, 29) - Me.PnCdATrTr.TabIndex = 0 - ' - 'Label38 - ' - Me.Label38.AutoSize = True - Me.Label38.Location = New Point(105, 6) - Me.Label38.Name = "Label38" - Me.Label38.Size = New Size(24, 13) - Me.Label38.TabIndex = 24 - Me.Label38.Text = "[m²]" - ' - 'PictureBox1 - ' - Me.PictureBox1.BackColor = Color.White - Me.PictureBox1.Image = My.Resources.Resources.VECTO_VEH - Me.PictureBox1.Location = New Point(12, 28) - Me.PictureBox1.Name = "PictureBox1" - Me.PictureBox1.Size = New Size(569, 40) - Me.PictureBox1.TabIndex = 37 - Me.PictureBox1.TabStop = False - ' - 'CmOpenFile - ' - Me.CmOpenFile.Items.AddRange(New ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.ShowInFolderToolStripMenuItem}) - Me.CmOpenFile.Name = "CmOpenFile" - Me.CmOpenFile.Size = New Size(153, 48) - ' - 'OpenWithToolStripMenuItem - ' - Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" - Me.OpenWithToolStripMenuItem.Size = New Size(152, 22) - Me.OpenWithToolStripMenuItem.Text = "Open with ..." - ' - 'ShowInFolderToolStripMenuItem - ' - Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" - Me.ShowInFolderToolStripMenuItem.Size = New Size(152, 22) - Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" - ' - 'PnAll - ' - Me.PnAll.Controls.Add(Me.GroupBox3) - Me.PnAll.Controls.Add(Me.GroupBox2) - Me.PnAll.Controls.Add(Me.GrAirRes) - Me.PnAll.Controls.Add(Me.GroupBox1) - Me.PnAll.Controls.Add(Me.GroupBox8) - Me.PnAll.Controls.Add(Me.GroupBox7) - Me.PnAll.Controls.Add(Me.GroupBox6) - Me.PnAll.Location = New Point(6, 172) - Me.PnAll.Name = "PnAll" - Me.PnAll.Size = New Size(575, 485) - Me.PnAll.TabIndex = 4 - ' - 'GroupBox2 - ' - Me.GroupBox2.Controls.Add(Me.pnAngularGearFields) - Me.GroupBox2.Controls.Add(Me.cbAngularGearType) - Me.GroupBox2.Location = New Point(290, 290) - Me.GroupBox2.Name = "GroupBox2" - Me.GroupBox2.Size = New Size(278, 111) - Me.GroupBox2.TabIndex = 4 - Me.GroupBox2.TabStop = False - Me.GroupBox2.Text = "Angular Gear" - ' - 'pnAngularGearFields - ' - Me.pnAngularGearFields.Controls.Add(Me.Label4) - Me.pnAngularGearFields.Controls.Add(Me.Label12) - Me.pnAngularGearFields.Controls.Add(Me.Label10) - Me.pnAngularGearFields.Controls.Add(Me.tbAngularGearRatio) - Me.pnAngularGearFields.Controls.Add(Me.btAngularGearLossMapBrowse) - Me.pnAngularGearFields.Controls.Add(Me.tbAngularGearLossMapPath) - Me.pnAngularGearFields.Location = New Point(3, 42) - Me.pnAngularGearFields.Name = "pnAngularGearFields" - Me.pnAngularGearFields.Size = New Size(272, 63) - Me.pnAngularGearFields.TabIndex = 6 - ' - 'Label4 - ' - Me.Label4.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.Label4.AutoSize = True - Me.Label4.Location = New Point(251, 4) - Me.Label4.Name = "Label4" - Me.Label4.Size = New Size(16, 13) - Me.Label4.TabIndex = 16 - Me.Label4.Text = "[-]" - ' - 'Label12 - ' - Me.Label12.Location = New Point(6, 24) - Me.Label12.Name = "Label12" - Me.Label12.Size = New Size(263, 16) - Me.Label12.TabIndex = 17 - Me.Label12.Text = "Transmission Loss Map or Efficiency Value [0..1]" - Me.Label12.TextAlign = ContentAlignment.BottomLeft - ' - 'Label10 - ' - Me.Label10.Location = New Point(144, 4) - Me.Label10.Name = "Label10" - Me.Label10.Size = New Size(44, 18) - Me.Label10.TabIndex = 15 - Me.Label10.Text = "Ratio" - Me.Label10.TextAlign = ContentAlignment.TopRight - ' - 'tbAngularGearRatio - ' - Me.tbAngularGearRatio.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) - Me.tbAngularGearRatio.Location = New Point(193, 2) - Me.tbAngularGearRatio.Name = "tbAngularGearRatio" - Me.tbAngularGearRatio.Size = New Size(56, 20) - Me.tbAngularGearRatio.TabIndex = 12 - ' - 'btAngularGearLossMapBrowse - ' - Me.btAngularGearLossMapBrowse.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) - Me.btAngularGearLossMapBrowse.Image = My.Resources.Resources.Open_icon - Me.btAngularGearLossMapBrowse.Location = New Point(244, 39) - Me.btAngularGearLossMapBrowse.Name = "btAngularGearLossMapBrowse" - Me.btAngularGearLossMapBrowse.Size = New Size(24, 24) - Me.btAngularGearLossMapBrowse.TabIndex = 14 - Me.btAngularGearLossMapBrowse.UseVisualStyleBackColor = True - ' - 'tbAngularGearLossMapPath - ' - Me.tbAngularGearLossMapPath.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) - Me.tbAngularGearLossMapPath.Location = New Point(6, 41) - Me.tbAngularGearLossMapPath.Name = "tbAngularGearLossMapPath" - Me.tbAngularGearLossMapPath.Size = New Size(238, 20) - Me.tbAngularGearLossMapPath.TabIndex = 13 - ' - 'cbAngularGearType - ' - Me.cbAngularGearType.DropDownStyle = ComboBoxStyle.DropDownList - Me.cbAngularGearType.FormattingEnabled = True - - Me.cbAngularGearType.Location = New Point(6, 19) - Me.cbAngularGearType.Name = "cbAngularGearType" - Me.cbAngularGearType.Size = New Size(266, 21) - Me.cbAngularGearType.TabIndex = 0 - ' - 'PicVehicle - ' - Me.PicVehicle.BackColor = Color.LightGray - Me.PicVehicle.Location = New Point(281, 74) - Me.PicVehicle.Name = "PicVehicle" - Me.PicVehicle.Size = New Size(300, 88) - Me.PicVehicle.SizeMode = PictureBoxSizeMode.StretchImage - Me.PicVehicle.TabIndex = 39 - Me.PicVehicle.TabStop = False - ' - 'Label8 - ' - Me.Label8.AutoSize = True - Me.Label8.Location = New Point(89, 136) - Me.Label8.Name = "Label8" - Me.Label8.Size = New Size(58, 13) - Me.Label8.TabIndex = 10 - Me.Label8.Text = "HDV Class" - ' - 'GroupBox3 - ' - Me.GroupBox3.Controls.Add(Me.PnWheelDiam) - Me.GroupBox3.Location = New Point(290, 54) - Me.GroupBox3.Name = "GroupBox3" - Me.GroupBox3.Size = New Size(278, 73) - Me.GroupBox3.TabIndex = 6 - Me.GroupBox3.TabStop = False - Me.GroupBox3.Text = "Dynamic Tire Radius" - ' - 'F_VEH - ' - Me.AcceptButton = Me.ButOK - Me.AutoScaleDimensions = New SizeF(6.0!, 13.0!) - Me.AutoScaleMode = AutoScaleMode.Font - Me.CancelButton = Me.ButCancel - Me.ClientSize = New Size(589, 709) - Me.Controls.Add(Me.Label8) - Me.Controls.Add(Me.TbHDVclass) - Me.Controls.Add(Me.PicVehicle) - Me.Controls.Add(Me.PnAll) - Me.Controls.Add(Me.PictureBox1) - Me.Controls.Add(Me.Label9) - Me.Controls.Add(Me.StatusStrip1) - Me.Controls.Add(Me.CbAxleConfig) - Me.Controls.Add(Me.TbMassMass) - Me.Controls.Add(Me.CbCat) - Me.Controls.Add(Me.Label5) - Me.Controls.Add(Me.ToolStrip1) - Me.Controls.Add(Me.ButCancel) - Me.Controls.Add(Me.ButOK) - Me.FormBorderStyle = FormBorderStyle.FixedSingle - Me.Icon = CType(resources.GetObject("$this.Icon"), Icon) - Me.MaximizeBox = False - Me.Name = "F_VEH" - Me.StartPosition = FormStartPosition.CenterParent - Me.Text = "F05_VEH" - Me.GroupBox6.ResumeLayout(False) - Me.GroupBox6.PerformLayout() - Me.ToolStrip1.ResumeLayout(False) - Me.ToolStrip1.PerformLayout() - Me.GroupBox7.ResumeLayout(False) - Me.PnRt.ResumeLayout(False) - Me.PnRt.PerformLayout() - Me.GroupBox8.ResumeLayout(False) - Me.GroupBox8.PerformLayout() - Me.PnWheelDiam.ResumeLayout(False) - Me.PnWheelDiam.PerformLayout() - Me.StatusStrip1.ResumeLayout(False) - Me.StatusStrip1.PerformLayout() - Me.GroupBox1.ResumeLayout(False) - Me.GroupBox1.PerformLayout() - Me.PnLoad.ResumeLayout(False) - Me.PnLoad.PerformLayout() - Me.GrAirRes.ResumeLayout(False) - Me.PnCdATrTr.ResumeLayout(False) - Me.PnCdATrTr.PerformLayout() - CType(Me.PictureBox1, ISupportInitialize).EndInit() - Me.CmOpenFile.ResumeLayout(False) - Me.PnAll.ResumeLayout(False) - Me.GroupBox2.ResumeLayout(False) - Me.pnAngularGearFields.ResumeLayout(False) - Me.pnAngularGearFields.PerformLayout() - CType(Me.PicVehicle, ISupportInitialize).EndInit() - Me.GroupBox3.ResumeLayout(False) - Me.ResumeLayout(False) - Me.PerformLayout() - - End Sub - Friend WithEvents Label1 As Label - Friend WithEvents TbMass As TextBox - Friend WithEvents Label2 As Label - Friend WithEvents TbLoad As TextBox - Friend WithEvents Label3 As Label - Friend WithEvents TBcdA As TextBox - Friend WithEvents Label13 As Label - Friend WithEvents TBrdyn As TextBox - Friend WithEvents ButOK As Button - Friend WithEvents ButCancel As Button - Friend WithEvents Label14 As Label - Friend WithEvents Label31 As Label - Friend WithEvents Label35 As Label - Friend WithEvents CbCdMode As ComboBox - Friend WithEvents TbCdFile As TextBox - Friend WithEvents BtCdFileBrowse As Button - Friend WithEvents GroupBox6 As GroupBox - Friend WithEvents LbCdMode As Label - Friend WithEvents ToolStrip1 As ToolStrip - Friend WithEvents ToolStripBtNew As ToolStripButton - Friend WithEvents ToolStripBtOpen As ToolStripButton - Friend WithEvents ToolStripBtSave As ToolStripButton - Friend WithEvents ToolStripBtSaveAs As ToolStripButton - Friend WithEvents ToolStripSeparator3 As ToolStripSeparator - Friend WithEvents ToolStripBtSendTo As ToolStripButton - Friend WithEvents GroupBox7 As GroupBox - Friend WithEvents LbRtRatio As Label - Friend WithEvents TbRtRatio As TextBox - Friend WithEvents CbRtType As ComboBox - Friend WithEvents Label45 As Label - Friend WithEvents PnRt As Panel - Friend WithEvents Label46 As Label - Friend WithEvents Label50 As Label - Friend WithEvents TbMassExtra As TextBox - Friend WithEvents GroupBox8 As GroupBox - Friend WithEvents ButAxlRem As Button - Friend WithEvents LvRRC As ListView - Friend WithEvents ColumnHeader7 As ColumnHeader - Friend WithEvents ColumnHeader8 As ColumnHeader - Friend WithEvents ButAxlAdd As Button - Friend WithEvents CbCat As ComboBox - Friend WithEvents Label5 As Label - Friend WithEvents Label9 As Label - Friend WithEvents TbMassMass As TextBox - Friend WithEvents ColumnHeader9 As ColumnHeader - Friend WithEvents StatusStrip1 As StatusStrip - Friend WithEvents LbStatus As ToolStripStatusLabel - Friend WithEvents CbAxleConfig As ComboBox - Friend WithEvents TbHDVclass As TextBox - Friend WithEvents Label11 As Label - Friend WithEvents TbLoadingMax As TextBox - Friend WithEvents Label22 As Label - Friend WithEvents GroupBox1 As GroupBox - Friend WithEvents GrAirRes As GroupBox - Friend WithEvents PictureBox1 As PictureBox - Friend WithEvents ToolStripSeparator1 As ToolStripSeparator - Friend WithEvents ToolStripButton1 As ToolStripButton - Friend WithEvents CmOpenFile As ContextMenuStrip - Friend WithEvents OpenWithToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ShowInFolderToolStripMenuItem As ToolStripMenuItem - Friend WithEvents BtCdFileOpen As Button - Friend WithEvents ColumnHeader1 As ColumnHeader - Friend WithEvents ColumnHeader2 As ColumnHeader - Friend WithEvents PnLoad As Panel - Friend WithEvents PnAll As Panel - Friend WithEvents Label6 As Label - Friend WithEvents ColumnHeader3 As ColumnHeader - Friend WithEvents ColumnHeader4 As ColumnHeader - Friend WithEvents PnWheelDiam As Panel - Friend WithEvents PicVehicle As PictureBox - Friend WithEvents Label8 As Label - Friend WithEvents PnCdATrTr As Panel - Friend WithEvents Label38 As Label - Friend WithEvents GroupBox2 As GroupBox - Friend WithEvents cbAngularGearType As ComboBox - Friend WithEvents Label15 As Label - Friend WithEvents BtRtBrowse As Button - Friend WithEvents TbRtPath As TextBox - Friend WithEvents pnAngularGearFields As Panel - Friend WithEvents Label4 As Label - Friend WithEvents Label12 As Label - Friend WithEvents Label10 As Label - Friend WithEvents tbAngularGearRatio As TextBox - Friend WithEvents btAngularGearLossMapBrowse As Button - Friend WithEvents tbAngularGearLossMapPath As TextBox - Friend WithEvents ToolTip1 As ToolTip - Friend WithEvents GroupBox3 As GroupBox -End Class +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.ComponentModel +Imports System.Linq +Imports Microsoft.VisualBasic.CompilerServices +Imports TUGraz.VectoCommon.Models + +<DesignerGenerated()> _ +Partial Class VehicleForm + Inherits Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + <DebuggerNonUserCode()> _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + <DebuggerStepThrough()> _ + Private Sub InitializeComponent() + Me.components = New Container() + Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(VehicleForm)) + Me.Label1 = New Label() + Me.TbMass = New TextBox() + Me.Label2 = New Label() + Me.TbLoad = New TextBox() + Me.Label3 = New Label() + Me.TBcdA = New TextBox() + Me.Label13 = New Label() + Me.TBrdyn = New TextBox() + Me.ButOK = New Button() + Me.ButCancel = New Button() + Me.Label14 = New Label() + Me.Label31 = New Label() + Me.Label35 = New Label() + Me.CbCdMode = New ComboBox() + Me.TbCdFile = New TextBox() + Me.BtCdFileBrowse = New Button() + Me.GroupBox6 = New GroupBox() + Me.BtCdFileOpen = New Button() + Me.LbCdMode = New Label() + Me.ToolStrip1 = New ToolStrip() + Me.ToolStripBtNew = New ToolStripButton() + Me.ToolStripBtOpen = New ToolStripButton() + Me.ToolStripBtSave = New ToolStripButton() + Me.ToolStripBtSaveAs = New ToolStripButton() + Me.ToolStripSeparator3 = New ToolStripSeparator() + Me.ToolStripBtSendTo = New ToolStripButton() + Me.ToolStripSeparator1 = New ToolStripSeparator() + Me.ToolStripButton1 = New ToolStripButton() + Me.GroupBox7 = New GroupBox() + Me.PnRt = New Panel() + Me.Label15 = New Label() + Me.BtRtBrowse = New Button() + Me.TbRtPath = New TextBox() + Me.Label45 = New Label() + Me.LbRtRatio = New Label() + Me.TbRtRatio = New TextBox() + Me.CbRtType = New ComboBox() + Me.Label46 = New Label() + Me.Label50 = New Label() + Me.TbMassExtra = New TextBox() + Me.GroupBox8 = New GroupBox() + Me.PnWheelDiam = New Panel() + Me.Label6 = New Label() + Me.ButAxlRem = New Button() + Me.LvRRC = New ListView() + Me.ColumnHeader7 = CType(New ColumnHeader(), ColumnHeader) + Me.ColumnHeader8 = CType(New ColumnHeader(), ColumnHeader) + Me.ColumnHeader2 = CType(New ColumnHeader(), ColumnHeader) + Me.ColumnHeader9 = CType(New ColumnHeader(), ColumnHeader) + Me.ColumnHeader1 = CType(New ColumnHeader(), ColumnHeader) + Me.ColumnHeader3 = CType(New ColumnHeader(), ColumnHeader) + Me.ColumnHeader4 = CType(New ColumnHeader(), ColumnHeader) + Me.ButAxlAdd = New Button() + Me.CbAxleConfig = New ComboBox() + Me.CbCat = New ComboBox() + Me.Label5 = New Label() + Me.Label9 = New Label() + Me.TbMassMass = New TextBox() + Me.StatusStrip1 = New StatusStrip() + Me.LbStatus = New ToolStripStatusLabel() + Me.TbHDVclass = New TextBox() + Me.Label11 = New Label() + Me.TbLoadingMax = New TextBox() + Me.Label22 = New Label() + Me.GroupBox1 = New GroupBox() + Me.PnLoad = New Panel() + Me.GrAirRes = New GroupBox() + Me.PnCdATrTr = New Panel() + Me.Label38 = New Label() + Me.PictureBox1 = New PictureBox() + Me.CmOpenFile = New ContextMenuStrip(Me.components) + Me.OpenWithToolStripMenuItem = New ToolStripMenuItem() + Me.ShowInFolderToolStripMenuItem = New ToolStripMenuItem() + Me.PnAll = New Panel() + Me.GroupBox2 = New GroupBox() + Me.pnAngularGearFields = New Panel() + Me.Label4 = New Label() + Me.Label12 = New Label() + Me.Label10 = New Label() + Me.tbAngularGearRatio = New TextBox() + Me.btAngularGearLossMapBrowse = New Button() + Me.tbAngularGearLossMapPath = New TextBox() + Me.cbAngularGearType = New ComboBox() + Me.PicVehicle = New PictureBox() + Me.Label8 = New Label() + Me.ToolTip1 = New ToolTip(Me.components) + Me.GroupBox3 = New GroupBox() + Me.GroupBox6.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.GroupBox7.SuspendLayout() + Me.PnRt.SuspendLayout() + Me.GroupBox8.SuspendLayout() + Me.PnWheelDiam.SuspendLayout() + Me.StatusStrip1.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.PnLoad.SuspendLayout() + Me.GrAirRes.SuspendLayout() + Me.PnCdATrTr.SuspendLayout() + CType(Me.PictureBox1, ISupportInitialize).BeginInit() + Me.CmOpenFile.SuspendLayout() + Me.PnAll.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.pnAngularGearFields.SuspendLayout() + CType(Me.PicVehicle, ISupportInitialize).BeginInit() + Me.GroupBox3.SuspendLayout() + Me.SuspendLayout() + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New Point(62, 22) + Me.Label1.Name = "Label1" + Me.Label1.Size = New Size(104, 13) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "Curb Weight Vehicle" + ' + 'TbMass + ' + Me.TbMass.Location = New Point(172, 19) + Me.TbMass.Name = "TbMass" + Me.TbMass.Size = New Size(57, 20) + Me.TbMass.TabIndex = 0 + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New Point(115, 31) + Me.Label2.Name = "Label2" + Me.Label2.Size = New Size(45, 13) + Me.Label2.TabIndex = 2 + Me.Label2.Text = "Loading" + ' + 'TbLoad + ' + Me.TbLoad.Location = New Point(166, 28) + Me.TbLoad.Name = "TbLoad" + Me.TbLoad.Size = New Size(57, 20) + Me.TbLoad.TabIndex = 1 + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New Point(3, 6) + Me.Label3.Name = "Label3" + Me.Label3.Size = New Size(37, 13) + Me.Label3.TabIndex = 8 + Me.Label3.Text = "cd x A" + ' + 'TBcdA + ' + Me.TBcdA.Location = New Point(46, 3) + Me.TBcdA.Name = "TBcdA" + Me.TBcdA.Size = New Size(57, 20) + Me.TBcdA.TabIndex = 0 + ' + 'Label13 + ' + Me.Label13.AutoSize = True + Me.Label13.Location = New Point(3, 7) + Me.Label13.Name = "Label13" + Me.Label13.Size = New Size(40, 13) + Me.Label13.TabIndex = 6 + Me.Label13.Text = "Radius" + ' + 'TBrdyn + ' + Me.TBrdyn.Location = New Point(46, 4) + Me.TBrdyn.Name = "TBrdyn" + Me.TBrdyn.Size = New Size(57, 20) + Me.TBrdyn.TabIndex = 0 + ' + 'ButOK + ' + Me.ButOK.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) + Me.ButOK.Location = New Point(421, 661) + Me.ButOK.Name = "ButOK" + Me.ButOK.Size = New Size(75, 23) + Me.ButOK.TabIndex = 5 + Me.ButOK.Text = "Save" + Me.ButOK.UseVisualStyleBackColor = True + ' + 'ButCancel + ' + Me.ButCancel.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) + Me.ButCancel.DialogResult = DialogResult.Cancel + Me.ButCancel.Location = New Point(502, 661) + Me.ButCancel.Name = "ButCancel" + Me.ButCancel.Size = New Size(75, 23) + Me.ButCancel.TabIndex = 6 + Me.ButCancel.Text = "Cancel" + Me.ButCancel.UseVisualStyleBackColor = True + ' + 'Label14 + ' + Me.Label14.AutoSize = True + Me.Label14.Location = New Point(231, 22) + Me.Label14.Name = "Label14" + Me.Label14.Size = New Size(25, 13) + Me.Label14.TabIndex = 24 + Me.Label14.Text = "[kg]" + ' + 'Label31 + ' + Me.Label31.AutoSize = True + Me.Label31.Location = New Point(225, 31) + Me.Label31.Name = "Label31" + Me.Label31.Size = New Size(25, 13) + Me.Label31.TabIndex = 24 + Me.Label31.Text = "[kg]" + ' + 'Label35 + ' + Me.Label35.AutoSize = True + Me.Label35.Location = New Point(105, 7) + Me.Label35.Name = "Label35" + Me.Label35.Size = New Size(29, 13) + Me.Label35.TabIndex = 24 + Me.Label35.Text = "[mm]" + ' + 'CbCdMode + ' + Me.CbCdMode.DropDownStyle = ComboBoxStyle.DropDownList + Me.CbCdMode.FormattingEnabled = True + Me.CbCdMode.Location = New Point(6, 19) + Me.CbCdMode.Name = "CbCdMode" + Me.CbCdMode.Size = New Size(207, 21) + Me.CbCdMode.TabIndex = 0 + ' + 'TbCdFile + ' + Me.TbCdFile.Anchor = CType((((AnchorStyles.Top Or AnchorStyles.Bottom) _ + Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.TbCdFile.Enabled = False + Me.TbCdFile.Location = New Point(6, 46) + Me.TbCdFile.Name = "TbCdFile" + Me.TbCdFile.Size = New Size(504, 20) + Me.TbCdFile.TabIndex = 1 + ' + 'BtCdFileBrowse + ' + Me.BtCdFileBrowse.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) + Me.BtCdFileBrowse.Enabled = False + Me.BtCdFileBrowse.Image = My.Resources.Resources.Open_icon + Me.BtCdFileBrowse.Location = New Point(510, 43) + Me.BtCdFileBrowse.Name = "BtCdFileBrowse" + Me.BtCdFileBrowse.Size = New Size(24, 24) + Me.BtCdFileBrowse.TabIndex = 2 + Me.BtCdFileBrowse.UseVisualStyleBackColor = True + ' + 'GroupBox6 + ' + Me.GroupBox6.Controls.Add(Me.BtCdFileOpen) + Me.GroupBox6.Controls.Add(Me.LbCdMode) + Me.GroupBox6.Controls.Add(Me.CbCdMode) + Me.GroupBox6.Controls.Add(Me.BtCdFileBrowse) + Me.GroupBox6.Controls.Add(Me.TbCdFile) + Me.GroupBox6.Location = New Point(6, 407) + Me.GroupBox6.Name = "GroupBox6" + Me.GroupBox6.Size = New Size(562, 74) + Me.GroupBox6.TabIndex = 5 + Me.GroupBox6.TabStop = False + Me.GroupBox6.Text = "Cross Wind Correction" + ' + 'BtCdFileOpen + ' + Me.BtCdFileOpen.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Right), AnchorStyles) + Me.BtCdFileOpen.Enabled = False + Me.BtCdFileOpen.Image = My.Resources.Resources.application_export_icon_small + Me.BtCdFileOpen.Location = New Point(533, 43) + Me.BtCdFileOpen.Name = "BtCdFileOpen" + Me.BtCdFileOpen.Size = New Size(24, 24) + Me.BtCdFileOpen.TabIndex = 3 + Me.BtCdFileOpen.TabStop = False + Me.BtCdFileOpen.UseVisualStyleBackColor = True + ' + 'LbCdMode + ' + Me.LbCdMode.AutoSize = True + Me.LbCdMode.Location = New Point(219, 22) + Me.LbCdMode.Name = "LbCdMode" + Me.LbCdMode.Size = New Size(59, 13) + Me.LbCdMode.TabIndex = 28 + Me.LbCdMode.Text = "LbCdMode" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.GripStyle = ToolStripGripStyle.Hidden + Me.ToolStrip1.Items.AddRange(New ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator3, Me.ToolStripBtSendTo, Me.ToolStripSeparator1, Me.ToolStripButton1}) + Me.ToolStrip1.Location = New Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New Size(589, 25) + Me.ToolStrip1.TabIndex = 29 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'ToolStripBtNew + ' + Me.ToolStripBtNew.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtNew.Image = My.Resources.Resources.blue_document_icon + Me.ToolStripBtNew.ImageTransparentColor = Color.Magenta + Me.ToolStripBtNew.Name = "ToolStripBtNew" + Me.ToolStripBtNew.Size = New Size(23, 22) + Me.ToolStripBtNew.Text = "ToolStripButton1" + Me.ToolStripBtNew.ToolTipText = "New" + ' + 'ToolStripBtOpen + ' + Me.ToolStripBtOpen.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtOpen.Image = My.Resources.Resources.Open_icon + Me.ToolStripBtOpen.ImageTransparentColor = Color.Magenta + Me.ToolStripBtOpen.Name = "ToolStripBtOpen" + Me.ToolStripBtOpen.Size = New Size(23, 22) + Me.ToolStripBtOpen.Text = "ToolStripButton1" + Me.ToolStripBtOpen.ToolTipText = "Open..." + ' + 'ToolStripBtSave + ' + Me.ToolStripBtSave.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtSave.Image = My.Resources.Resources.Actions_document_save_icon + Me.ToolStripBtSave.ImageTransparentColor = Color.Magenta + Me.ToolStripBtSave.Name = "ToolStripBtSave" + Me.ToolStripBtSave.Size = New Size(23, 22) + Me.ToolStripBtSave.Text = "ToolStripButton1" + Me.ToolStripBtSave.ToolTipText = "Save" + ' + 'ToolStripBtSaveAs + ' + Me.ToolStripBtSaveAs.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtSaveAs.Image = My.Resources.Resources.Actions_document_save_as_icon + Me.ToolStripBtSaveAs.ImageTransparentColor = Color.Magenta + Me.ToolStripBtSaveAs.Name = "ToolStripBtSaveAs" + Me.ToolStripBtSaveAs.Size = New Size(23, 22) + Me.ToolStripBtSaveAs.Text = "ToolStripButton1" + Me.ToolStripBtSaveAs.ToolTipText = "Save As..." + ' + 'ToolStripSeparator3 + ' + Me.ToolStripSeparator3.Name = "ToolStripSeparator3" + Me.ToolStripSeparator3.Size = New Size(6, 25) + ' + 'ToolStripBtSendTo + ' + Me.ToolStripBtSendTo.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripBtSendTo.Image = My.Resources.Resources.export_icon + Me.ToolStripBtSendTo.ImageTransparentColor = Color.Magenta + Me.ToolStripBtSendTo.Name = "ToolStripBtSendTo" + Me.ToolStripBtSendTo.Size = New Size(23, 22) + Me.ToolStripBtSendTo.Text = "Send to Job Editor" + Me.ToolStripBtSendTo.ToolTipText = "Send to Job Editor" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New Size(6, 25) + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = My.Resources.Resources.Help_icon + Me.ToolStripButton1.ImageTransparentColor = Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New Size(23, 22) + Me.ToolStripButton1.Text = "Help" + ' + 'GroupBox7 + ' + Me.GroupBox7.Controls.Add(Me.PnRt) + Me.GroupBox7.Controls.Add(Me.CbRtType) + Me.GroupBox7.Location = New Point(6, 290) + Me.GroupBox7.Name = "GroupBox7" + Me.GroupBox7.Size = New Size(278, 111) + Me.GroupBox7.TabIndex = 3 + Me.GroupBox7.TabStop = False + Me.GroupBox7.Text = "Retarder Losses" + ' + 'PnRt + ' + Me.PnRt.Controls.Add(Me.Label15) + Me.PnRt.Controls.Add(Me.BtRtBrowse) + Me.PnRt.Controls.Add(Me.TbRtPath) + Me.PnRt.Controls.Add(Me.Label45) + Me.PnRt.Controls.Add(Me.LbRtRatio) + Me.PnRt.Controls.Add(Me.TbRtRatio) + Me.PnRt.Location = New Point(3, 42) + Me.PnRt.Name = "PnRt" + Me.PnRt.Size = New Size(272, 63) + Me.PnRt.TabIndex = 1 + ' + 'Label15 + ' + Me.Label15.Location = New Point(6, 23) + Me.Label15.Name = "Label15" + Me.Label15.Size = New Size(201, 16) + Me.Label15.TabIndex = 15 + Me.Label15.Text = "Retarder Loss Map" + Me.Label15.TextAlign = ContentAlignment.BottomLeft + ' + 'BtRtBrowse + ' + Me.BtRtBrowse.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) + Me.BtRtBrowse.Image = My.Resources.Resources.Open_icon + Me.BtRtBrowse.Location = New Point(245, 39) + Me.BtRtBrowse.Name = "BtRtBrowse" + Me.BtRtBrowse.Size = New Size(24, 24) + Me.BtRtBrowse.TabIndex = 14 + Me.BtRtBrowse.UseVisualStyleBackColor = True + ' + 'TbRtPath + ' + Me.TbRtPath.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) + Me.TbRtPath.Location = New Point(6, 41) + Me.TbRtPath.Name = "TbRtPath" + Me.TbRtPath.Size = New Size(239, 20) + Me.TbRtPath.TabIndex = 13 + ' + 'Label45 + ' + Me.Label45.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.Label45.AutoSize = True + Me.Label45.Location = New Point(251, 4) + Me.Label45.Name = "Label45" + Me.Label45.Size = New Size(16, 13) + Me.Label45.TabIndex = 10 + Me.Label45.Text = "[-]" + ' + 'LbRtRatio + ' + Me.LbRtRatio.Location = New Point(19, 4) + Me.LbRtRatio.Name = "LbRtRatio" + Me.LbRtRatio.Size = New Size(167, 17) + Me.LbRtRatio.TabIndex = 5 + Me.LbRtRatio.Text = "Ratio" + Me.LbRtRatio.TextAlign = ContentAlignment.TopRight + ' + 'TbRtRatio + ' + Me.TbRtRatio.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.TbRtRatio.Location = New Point(193, 2) + Me.TbRtRatio.Name = "TbRtRatio" + Me.TbRtRatio.Size = New Size(56, 20) + Me.TbRtRatio.TabIndex = 0 + ' + 'CbRtType + ' + Me.CbRtType.DropDownStyle = ComboBoxStyle.DropDownList + Me.CbRtType.FormattingEnabled = True + + Me.CbRtType.Location = New Point(6, 19) + Me.CbRtType.Name = "CbRtType" + Me.CbRtType.Size = New Size(266, 21) + Me.CbRtType.TabIndex = 0 + ' + 'Label46 + ' + Me.Label46.AutoSize = True + Me.Label46.Location = New Point(6, 5) + Me.Label46.Name = "Label46" + Me.Label46.Size = New Size(154, 13) + Me.Label46.TabIndex = 31 + Me.Label46.Text = "Curb Weight Extra Trailer/Body" + ' + 'Label50 + ' + Me.Label50.AutoSize = True + Me.Label50.Location = New Point(225, 5) + Me.Label50.Name = "Label50" + Me.Label50.Size = New Size(25, 13) + Me.Label50.TabIndex = 24 + Me.Label50.Text = "[kg]" + ' + 'TbMassExtra + ' + Me.TbMassExtra.Location = New Point(166, 2) + Me.TbMassExtra.Name = "TbMassExtra" + Me.TbMassExtra.Size = New Size(57, 20) + Me.TbMassExtra.TabIndex = 0 + ' + 'GroupBox8 + ' + Me.GroupBox8.Controls.Add(Me.Label6) + Me.GroupBox8.Controls.Add(Me.ButAxlRem) + Me.GroupBox8.Controls.Add(Me.LvRRC) + Me.GroupBox8.Controls.Add(Me.ButAxlAdd) + Me.GroupBox8.Location = New Point(6, 133) + Me.GroupBox8.Name = "GroupBox8" + Me.GroupBox8.Size = New Size(562, 151) + Me.GroupBox8.TabIndex = 2 + Me.GroupBox8.TabStop = False + Me.GroupBox8.Text = "Axles / Wheels" + ' + 'PnWheelDiam + ' + Me.PnWheelDiam.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.PnWheelDiam.Controls.Add(Me.Label13) + Me.PnWheelDiam.Controls.Add(Me.TBrdyn) + Me.PnWheelDiam.Controls.Add(Me.Label35) + Me.PnWheelDiam.Location = New Point(3, 16) + Me.PnWheelDiam.Name = "PnWheelDiam" + Me.PnWheelDiam.Size = New Size(228, 34) + Me.PnWheelDiam.TabIndex = 5 + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New Point(450, 121) + Me.Label6.Name = "Label6" + Me.Label6.Size = New Size(106, 13) + Me.Label6.TabIndex = 3 + Me.Label6.Text = "(Double-Click to Edit)" + ' + 'ButAxlRem + ' + Me.ButAxlRem.Image = My.Resources.Resources.minus_circle_icon + Me.ButAxlRem.Location = New Point(29, 122) + Me.ButAxlRem.Name = "ButAxlRem" + Me.ButAxlRem.Size = New Size(24, 24) + Me.ButAxlRem.TabIndex = 2 + Me.ButAxlRem.UseVisualStyleBackColor = True + ' + 'LvRRC + ' + Me.LvRRC.Anchor = CType(((AnchorStyles.Top Or AnchorStyles.Left) _ + Or AnchorStyles.Right), AnchorStyles) + Me.LvRRC.Columns.AddRange(New ColumnHeader() {Me.ColumnHeader7, Me.ColumnHeader8, Me.ColumnHeader2, Me.ColumnHeader9, Me.ColumnHeader1, Me.ColumnHeader3, Me.ColumnHeader4}) + Me.LvRRC.FullRowSelect = True + Me.LvRRC.GridLines = True + Me.LvRRC.HideSelection = False + Me.LvRRC.Location = New Point(6, 19) + Me.LvRRC.MultiSelect = False + Me.LvRRC.Name = "LvRRC" + Me.LvRRC.Size = New Size(550, 102) + Me.LvRRC.TabIndex = 0 + Me.LvRRC.TabStop = False + Me.LvRRC.UseCompatibleStateImageBehavior = False + Me.LvRRC.View = View.Details + ' + 'ColumnHeader7 + ' + Me.ColumnHeader7.Text = "#" + Me.ColumnHeader7.Width = 22 + ' + 'ColumnHeader8 + ' + Me.ColumnHeader8.Text = "Rel. load" + Me.ColumnHeader8.Width = 62 + ' + 'ColumnHeader2 + ' + Me.ColumnHeader2.Text = "Twin T." + Me.ColumnHeader2.Width = 51 + ' + 'ColumnHeader9 + ' + Me.ColumnHeader9.Text = "RRC" + Me.ColumnHeader9.Width = 59 + ' + 'ColumnHeader1 + ' + Me.ColumnHeader1.Text = "Fz ISO" + Me.ColumnHeader1.Width = 55 + ' + 'ColumnHeader3 + ' + Me.ColumnHeader3.Text = "Wheels" + Me.ColumnHeader3.Width = 181 + ' + 'ColumnHeader4 + ' + Me.ColumnHeader4.Text = "Inertia" + ' + 'ButAxlAdd + ' + Me.ButAxlAdd.Image = My.Resources.Resources.plus_circle_icon + Me.ButAxlAdd.Location = New Point(5, 122) + Me.ButAxlAdd.Name = "ButAxlAdd" + Me.ButAxlAdd.Size = New Size(24, 24) + Me.ButAxlAdd.TabIndex = 1 + Me.ButAxlAdd.UseVisualStyleBackColor = True + ' + 'CbAxleConfig + ' + Me.CbAxleConfig.DropDownStyle = ComboBoxStyle.DropDownList + Me.CbAxleConfig.FormattingEnabled = True + + Me.CbAxleConfig.Location = New Point(153, 80) + Me.CbAxleConfig.Name = "CbAxleConfig" + Me.CbAxleConfig.Size = New Size(60, 21) + Me.CbAxleConfig.TabIndex = 1 + ' + 'CbCat + ' + Me.CbCat.DropDownStyle = ComboBoxStyle.DropDownList + Me.CbCat.FormattingEnabled = True + + Me.CbCat.Location = New Point(12, 80) + Me.CbCat.Name = "CbCat" + Me.CbCat.Size = New Size(135, 21) + Me.CbCat.TabIndex = 0 + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New Point(13, 110) + Me.Label5.Name = "Label5" + Me.Label5.Size = New Size(134, 13) + Me.Label5.TabIndex = 2 + Me.Label5.Text = "Gross Vehicle Mass Rating" + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New Point(197, 110) + Me.Label9.Name = "Label9" + Me.Label9.Size = New Size(16, 13) + Me.Label9.TabIndex = 3 + Me.Label9.Text = "[t]" + Me.Label9.TextAlign = ContentAlignment.MiddleLeft + ' + 'TbMassMass + ' + Me.TbMassMass.Location = New Point(153, 107) + Me.TbMassMass.Name = "TbMassMass" + Me.TbMassMass.Size = New Size(42, 20) + Me.TbMassMass.TabIndex = 2 + ' + 'StatusStrip1 + ' + Me.StatusStrip1.Items.AddRange(New ToolStripItem() {Me.LbStatus}) + Me.StatusStrip1.Location = New Point(0, 687) + Me.StatusStrip1.Name = "StatusStrip1" + Me.StatusStrip1.Size = New Size(589, 22) + Me.StatusStrip1.SizingGrip = False + Me.StatusStrip1.TabIndex = 36 + Me.StatusStrip1.Text = "StatusStrip1" + ' + 'LbStatus + ' + Me.LbStatus.Name = "LbStatus" + Me.LbStatus.Size = New Size(39, 17) + Me.LbStatus.Text = "Status" + ' + 'TbHDVclass + ' + Me.TbHDVclass.Location = New Point(153, 133) + Me.TbHDVclass.Name = "TbHDVclass" + Me.TbHDVclass.ReadOnly = True + Me.TbHDVclass.Size = New Size(42, 20) + Me.TbHDVclass.TabIndex = 3 + Me.TbHDVclass.TabStop = False + Me.TbHDVclass.TextAlign = HorizontalAlignment.Center + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New Point(89, 57) + Me.Label11.Name = "Label11" + Me.Label11.Size = New Size(71, 13) + Me.Label11.TabIndex = 31 + Me.Label11.Text = "Max. Loading" + ' + 'TbLoadingMax + ' + Me.TbLoadingMax.Location = New Point(166, 54) + Me.TbLoadingMax.Name = "TbLoadingMax" + Me.TbLoadingMax.ReadOnly = True + Me.TbLoadingMax.Size = New Size(57, 20) + Me.TbLoadingMax.TabIndex = 2 + Me.TbLoadingMax.TabStop = False + ' + 'Label22 + ' + Me.Label22.AutoSize = True + Me.Label22.Location = New Point(225, 57) + Me.Label22.Name = "Label22" + Me.Label22.Size = New Size(25, 13) + Me.Label22.TabIndex = 24 + Me.Label22.Text = "[kg]" + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.PnLoad) + Me.GroupBox1.Controls.Add(Me.TbMass) + Me.GroupBox1.Controls.Add(Me.Label1) + Me.GroupBox1.Controls.Add(Me.Label14) + Me.GroupBox1.Location = New Point(6, 3) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New Size(278, 124) + Me.GroupBox1.TabIndex = 0 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Weight / Loading" + ' + 'PnLoad + ' + Me.PnLoad.Controls.Add(Me.Label2) + Me.PnLoad.Controls.Add(Me.Label31) + Me.PnLoad.Controls.Add(Me.TbLoad) + Me.PnLoad.Controls.Add(Me.TbMassExtra) + Me.PnLoad.Controls.Add(Me.TbLoadingMax) + Me.PnLoad.Controls.Add(Me.Label50) + Me.PnLoad.Controls.Add(Me.Label46) + Me.PnLoad.Controls.Add(Me.Label22) + Me.PnLoad.Controls.Add(Me.Label11) + Me.PnLoad.Location = New Point(6, 43) + Me.PnLoad.Name = "PnLoad" + Me.PnLoad.Size = New Size(256, 75) + Me.PnLoad.TabIndex = 1 + ' + 'GrAirRes + ' + Me.GrAirRes.Controls.Add(Me.PnCdATrTr) + Me.GrAirRes.Location = New Point(290, 3) + Me.GrAirRes.Name = "GrAirRes" + Me.GrAirRes.Size = New Size(278, 48) + Me.GrAirRes.TabIndex = 1 + Me.GrAirRes.TabStop = False + Me.GrAirRes.Text = "Air Resistance" + ' + 'PnCdATrTr + ' + Me.PnCdATrTr.Controls.Add(Me.TBcdA) + Me.PnCdATrTr.Controls.Add(Me.Label38) + Me.PnCdATrTr.Controls.Add(Me.Label3) + Me.PnCdATrTr.Dock = DockStyle.Fill + Me.PnCdATrTr.Location = New Point(3, 16) + Me.PnCdATrTr.Name = "PnCdATrTr" + Me.PnCdATrTr.Size = New Size(272, 29) + Me.PnCdATrTr.TabIndex = 0 + ' + 'Label38 + ' + Me.Label38.AutoSize = True + Me.Label38.Location = New Point(105, 6) + Me.Label38.Name = "Label38" + Me.Label38.Size = New Size(24, 13) + Me.Label38.TabIndex = 24 + Me.Label38.Text = "[m²]" + ' + 'PictureBox1 + ' + Me.PictureBox1.BackColor = Color.White + Me.PictureBox1.Image = My.Resources.Resources.VECTO_VEH + Me.PictureBox1.Location = New Point(12, 28) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New Size(569, 40) + Me.PictureBox1.TabIndex = 37 + Me.PictureBox1.TabStop = False + ' + 'CmOpenFile + ' + Me.CmOpenFile.Items.AddRange(New ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.ShowInFolderToolStripMenuItem}) + Me.CmOpenFile.Name = "CmOpenFile" + Me.CmOpenFile.Size = New Size(153, 48) + ' + 'OpenWithToolStripMenuItem + ' + Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" + Me.OpenWithToolStripMenuItem.Size = New Size(152, 22) + Me.OpenWithToolStripMenuItem.Text = "Open with ..." + ' + 'ShowInFolderToolStripMenuItem + ' + Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" + Me.ShowInFolderToolStripMenuItem.Size = New Size(152, 22) + Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" + ' + 'PnAll + ' + Me.PnAll.Controls.Add(Me.GroupBox3) + Me.PnAll.Controls.Add(Me.GroupBox2) + Me.PnAll.Controls.Add(Me.GrAirRes) + Me.PnAll.Controls.Add(Me.GroupBox1) + Me.PnAll.Controls.Add(Me.GroupBox8) + Me.PnAll.Controls.Add(Me.GroupBox7) + Me.PnAll.Controls.Add(Me.GroupBox6) + Me.PnAll.Location = New Point(6, 172) + Me.PnAll.Name = "PnAll" + Me.PnAll.Size = New Size(575, 485) + Me.PnAll.TabIndex = 4 + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.pnAngularGearFields) + Me.GroupBox2.Controls.Add(Me.cbAngularGearType) + Me.GroupBox2.Location = New Point(290, 290) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New Size(278, 111) + Me.GroupBox2.TabIndex = 4 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Angular Gear" + ' + 'pnAngularGearFields + ' + Me.pnAngularGearFields.Controls.Add(Me.Label4) + Me.pnAngularGearFields.Controls.Add(Me.Label12) + Me.pnAngularGearFields.Controls.Add(Me.Label10) + Me.pnAngularGearFields.Controls.Add(Me.tbAngularGearRatio) + Me.pnAngularGearFields.Controls.Add(Me.btAngularGearLossMapBrowse) + Me.pnAngularGearFields.Controls.Add(Me.tbAngularGearLossMapPath) + Me.pnAngularGearFields.Location = New Point(3, 42) + Me.pnAngularGearFields.Name = "pnAngularGearFields" + Me.pnAngularGearFields.Size = New Size(272, 63) + Me.pnAngularGearFields.TabIndex = 6 + ' + 'Label4 + ' + Me.Label4.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.Label4.AutoSize = True + Me.Label4.Location = New Point(251, 4) + Me.Label4.Name = "Label4" + Me.Label4.Size = New Size(16, 13) + Me.Label4.TabIndex = 16 + Me.Label4.Text = "[-]" + ' + 'Label12 + ' + Me.Label12.Location = New Point(6, 24) + Me.Label12.Name = "Label12" + Me.Label12.Size = New Size(263, 16) + Me.Label12.TabIndex = 17 + Me.Label12.Text = "Transmission Loss Map or Efficiency Value [0..1]" + Me.Label12.TextAlign = ContentAlignment.BottomLeft + ' + 'Label10 + ' + Me.Label10.Location = New Point(144, 4) + Me.Label10.Name = "Label10" + Me.Label10.Size = New Size(44, 18) + Me.Label10.TabIndex = 15 + Me.Label10.Text = "Ratio" + Me.Label10.TextAlign = ContentAlignment.TopRight + ' + 'tbAngularGearRatio + ' + Me.tbAngularGearRatio.Anchor = CType((AnchorStyles.Top Or AnchorStyles.Right), AnchorStyles) + Me.tbAngularGearRatio.Location = New Point(193, 2) + Me.tbAngularGearRatio.Name = "tbAngularGearRatio" + Me.tbAngularGearRatio.Size = New Size(56, 20) + Me.tbAngularGearRatio.TabIndex = 12 + ' + 'btAngularGearLossMapBrowse + ' + Me.btAngularGearLossMapBrowse.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) + Me.btAngularGearLossMapBrowse.Image = My.Resources.Resources.Open_icon + Me.btAngularGearLossMapBrowse.Location = New Point(244, 39) + Me.btAngularGearLossMapBrowse.Name = "btAngularGearLossMapBrowse" + Me.btAngularGearLossMapBrowse.Size = New Size(24, 24) + Me.btAngularGearLossMapBrowse.TabIndex = 14 + Me.btAngularGearLossMapBrowse.UseVisualStyleBackColor = True + ' + 'tbAngularGearLossMapPath + ' + Me.tbAngularGearLossMapPath.Anchor = CType((AnchorStyles.Bottom Or AnchorStyles.Left), AnchorStyles) + Me.tbAngularGearLossMapPath.Location = New Point(6, 41) + Me.tbAngularGearLossMapPath.Name = "tbAngularGearLossMapPath" + Me.tbAngularGearLossMapPath.Size = New Size(238, 20) + Me.tbAngularGearLossMapPath.TabIndex = 13 + ' + 'cbAngularGearType + ' + Me.cbAngularGearType.DropDownStyle = ComboBoxStyle.DropDownList + Me.cbAngularGearType.FormattingEnabled = True + + Me.cbAngularGearType.Location = New Point(6, 19) + Me.cbAngularGearType.Name = "cbAngularGearType" + Me.cbAngularGearType.Size = New Size(266, 21) + Me.cbAngularGearType.TabIndex = 0 + ' + 'PicVehicle + ' + Me.PicVehicle.BackColor = Color.LightGray + Me.PicVehicle.Location = New Point(281, 74) + Me.PicVehicle.Name = "PicVehicle" + Me.PicVehicle.Size = New Size(300, 88) + Me.PicVehicle.SizeMode = PictureBoxSizeMode.StretchImage + Me.PicVehicle.TabIndex = 39 + Me.PicVehicle.TabStop = False + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New Point(89, 136) + Me.Label8.Name = "Label8" + Me.Label8.Size = New Size(58, 13) + Me.Label8.TabIndex = 10 + Me.Label8.Text = "HDV Class" + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.PnWheelDiam) + Me.GroupBox3.Location = New Point(290, 54) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New Size(278, 73) + Me.GroupBox3.TabIndex = 6 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Dynamic Tire Radius" + ' + 'F_VEH + ' + Me.AcceptButton = Me.ButOK + Me.AutoScaleDimensions = New SizeF(6.0!, 13.0!) + Me.AutoScaleMode = AutoScaleMode.Font + Me.CancelButton = Me.ButCancel + Me.ClientSize = New Size(589, 709) + Me.Controls.Add(Me.Label8) + Me.Controls.Add(Me.TbHDVclass) + Me.Controls.Add(Me.PicVehicle) + Me.Controls.Add(Me.PnAll) + Me.Controls.Add(Me.PictureBox1) + Me.Controls.Add(Me.Label9) + Me.Controls.Add(Me.StatusStrip1) + Me.Controls.Add(Me.CbAxleConfig) + Me.Controls.Add(Me.TbMassMass) + Me.Controls.Add(Me.CbCat) + Me.Controls.Add(Me.Label5) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.ButCancel) + Me.Controls.Add(Me.ButOK) + Me.FormBorderStyle = FormBorderStyle.FixedSingle + Me.Icon = CType(resources.GetObject("$this.Icon"), Icon) + Me.MaximizeBox = False + Me.Name = "VehicleForm" + Me.StartPosition = FormStartPosition.CenterParent + Me.Text = "F05_VEH" + Me.GroupBox6.ResumeLayout(False) + Me.GroupBox6.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.GroupBox7.ResumeLayout(False) + Me.PnRt.ResumeLayout(False) + Me.PnRt.PerformLayout() + Me.GroupBox8.ResumeLayout(False) + Me.GroupBox8.PerformLayout() + Me.PnWheelDiam.ResumeLayout(False) + Me.PnWheelDiam.PerformLayout() + Me.StatusStrip1.ResumeLayout(False) + Me.StatusStrip1.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.PnLoad.ResumeLayout(False) + Me.PnLoad.PerformLayout() + Me.GrAirRes.ResumeLayout(False) + Me.PnCdATrTr.ResumeLayout(False) + Me.PnCdATrTr.PerformLayout() + CType(Me.PictureBox1, ISupportInitialize).EndInit() + Me.CmOpenFile.ResumeLayout(False) + Me.PnAll.ResumeLayout(False) + Me.GroupBox2.ResumeLayout(False) + Me.pnAngularGearFields.ResumeLayout(False) + Me.pnAngularGearFields.PerformLayout() + CType(Me.PicVehicle, ISupportInitialize).EndInit() + Me.GroupBox3.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents Label1 As Label + Friend WithEvents TbMass As TextBox + Friend WithEvents Label2 As Label + Friend WithEvents TbLoad As TextBox + Friend WithEvents Label3 As Label + Friend WithEvents TBcdA As TextBox + Friend WithEvents Label13 As Label + Friend WithEvents TBrdyn As TextBox + Friend WithEvents ButOK As Button + Friend WithEvents ButCancel As Button + Friend WithEvents Label14 As Label + Friend WithEvents Label31 As Label + Friend WithEvents Label35 As Label + Friend WithEvents CbCdMode As ComboBox + Friend WithEvents TbCdFile As TextBox + Friend WithEvents BtCdFileBrowse As Button + Friend WithEvents GroupBox6 As GroupBox + Friend WithEvents LbCdMode As Label + Friend WithEvents ToolStrip1 As ToolStrip + Friend WithEvents ToolStripBtNew As ToolStripButton + Friend WithEvents ToolStripBtOpen As ToolStripButton + Friend WithEvents ToolStripBtSave As ToolStripButton + Friend WithEvents ToolStripBtSaveAs As ToolStripButton + Friend WithEvents ToolStripSeparator3 As ToolStripSeparator + Friend WithEvents ToolStripBtSendTo As ToolStripButton + Friend WithEvents GroupBox7 As GroupBox + Friend WithEvents LbRtRatio As Label + Friend WithEvents TbRtRatio As TextBox + Friend WithEvents CbRtType As ComboBox + Friend WithEvents Label45 As Label + Friend WithEvents PnRt As Panel + Friend WithEvents Label46 As Label + Friend WithEvents Label50 As Label + Friend WithEvents TbMassExtra As TextBox + Friend WithEvents GroupBox8 As GroupBox + Friend WithEvents ButAxlRem As Button + Friend WithEvents LvRRC As ListView + Friend WithEvents ColumnHeader7 As ColumnHeader + Friend WithEvents ColumnHeader8 As ColumnHeader + Friend WithEvents ButAxlAdd As Button + Friend WithEvents CbCat As ComboBox + Friend WithEvents Label5 As Label + Friend WithEvents Label9 As Label + Friend WithEvents TbMassMass As TextBox + Friend WithEvents ColumnHeader9 As ColumnHeader + Friend WithEvents StatusStrip1 As StatusStrip + Friend WithEvents LbStatus As ToolStripStatusLabel + Friend WithEvents CbAxleConfig As ComboBox + Friend WithEvents TbHDVclass As TextBox + Friend WithEvents Label11 As Label + Friend WithEvents TbLoadingMax As TextBox + Friend WithEvents Label22 As Label + Friend WithEvents GroupBox1 As GroupBox + Friend WithEvents GrAirRes As GroupBox + Friend WithEvents PictureBox1 As PictureBox + Friend WithEvents ToolStripSeparator1 As ToolStripSeparator + Friend WithEvents ToolStripButton1 As ToolStripButton + Friend WithEvents CmOpenFile As ContextMenuStrip + Friend WithEvents OpenWithToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ShowInFolderToolStripMenuItem As ToolStripMenuItem + Friend WithEvents BtCdFileOpen As Button + Friend WithEvents ColumnHeader1 As ColumnHeader + Friend WithEvents ColumnHeader2 As ColumnHeader + Friend WithEvents PnLoad As Panel + Friend WithEvents PnAll As Panel + Friend WithEvents Label6 As Label + Friend WithEvents ColumnHeader3 As ColumnHeader + Friend WithEvents ColumnHeader4 As ColumnHeader + Friend WithEvents PnWheelDiam As Panel + Friend WithEvents PicVehicle As PictureBox + Friend WithEvents Label8 As Label + Friend WithEvents PnCdATrTr As Panel + Friend WithEvents Label38 As Label + Friend WithEvents GroupBox2 As GroupBox + Friend WithEvents cbAngularGearType As ComboBox + Friend WithEvents Label15 As Label + Friend WithEvents BtRtBrowse As Button + Friend WithEvents TbRtPath As TextBox + Friend WithEvents pnAngularGearFields As Panel + Friend WithEvents Label4 As Label + Friend WithEvents Label12 As Label + Friend WithEvents Label10 As Label + Friend WithEvents tbAngularGearRatio As TextBox + Friend WithEvents btAngularGearLossMapBrowse As Button + Friend WithEvents tbAngularGearLossMapPath As TextBox + Friend WithEvents ToolTip1 As ToolTip + Friend WithEvents GroupBox3 As GroupBox +End Class diff --git a/VECTO/GUI/F_VEH.resx b/VECTO/GUI/VehicleForm.resx similarity index 100% rename from VECTO/GUI/F_VEH.resx rename to VECTO/GUI/VehicleForm.resx diff --git a/VECTO/GUI/F_VEH.vb b/VECTO/GUI/VehicleForm.vb similarity index 91% rename from VECTO/GUI/F_VEH.vb rename to VECTO/GUI/VehicleForm.vb index 18ac97f02344041dac47ed6b1b9ff1eea7de0f83..870ded15c8dc7ff4cde99bc69ba9d3ce086e1d2e 100644 --- a/VECTO/GUI/F_VEH.vb +++ b/VECTO/GUI/VehicleForm.vb @@ -1,790 +1,790 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Option Infer On - -Imports System.IO -Imports System.Linq -Imports System.Text.RegularExpressions -Imports TUGraz.VectoCommon.Models -Imports TUGraz.VectoCommon.Utils -Imports TUGraz.VectoCore.Models.Declaration - -''' <summary> -''' Vehicle Editor. -''' </summary> -Public Class F_VEH - Private _axlDlog As F_VEH_Axle - Private _hdVclass As String - Private _vehFile As String - Private _changed As Boolean = False - Private _cmFiles As String() - - Public AutoSendTo As Boolean = False - Public JobDir As String = "" - - 'Close - Check for unsaved changes - Private Sub F_VEH_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing - If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then - e.Cancel = ChangeCheckCancel() - End If - End Sub - - 'Initialise form - Private Sub F05_VEH_Load(sender As Object, e As EventArgs) Handles MyBase.Load - TbLoadingMax.Text = "-" - PnLoad.Enabled = Not Cfg.DeclMode - ButAxlAdd.Enabled = Not Cfg.DeclMode - ButAxlRem.Enabled = Not Cfg.DeclMode - CbCdMode.Enabled = Not Cfg.DeclMode - PnWheelDiam.Enabled = Not Cfg.DeclMode - - CbCdMode.ValueMember = "Value" - CbCdMode.DisplayMember = "Label" - CbCdMode.DataSource = [Enum].GetValues(GetType(CrossWindCorrectionMode)) _ - .Cast(Of CrossWindCorrectionMode) _ - .Select(Function(mode) New With {Key .Value = mode, .Label = mode.GetLabel()}).ToList() - - CbRtType.ValueMember = "Value" - CbRtType.DisplayMember = "Label" - CbRtType.DataSource = [Enum].GetValues(GetType(RetarderType)) _ - .Cast(Of RetarderType) _ - .Select(Function(type) New With {Key .Value = type, .Label = type.GetLabel()}).ToList() - - CbAxleConfig.ValueMember = "Value" - CbAxleConfig.DisplayMember = "Label" - CbAxleConfig.DataSource = [Enum].GetValues(GetType(AxleConfiguration)) _ - .Cast(Of AxleConfiguration) _ - .Select(Function(category) New With {Key .Value = category, .Label = category.GetName()}).ToList() - - CbCat.ValueMember = "Value" - CbCat.DisplayMember = "Label" - CbCat.DataSource = [Enum].GetValues(GetType(VehicleCategory)) _ - .Cast(Of VehicleCategory) _ - .Select(Function(category) New With {Key .Value = category, .label = category.GetLabel()}).ToList() - - cbAngularGearType.ValueMember = "Value" - cbAngularGearType.DisplayMember = "Label" - cbAngularGearType.DataSource = [Enum].GetValues(GetType(AngularGearType)) _ - .Cast(Of AngularGearType).Select(Function(type) New With {Key .Value = type, .Label = type.GetLabel()}).ToList() - _axlDlog = New F_VEH_Axle - - _changed = False - - NewVehicle() - End Sub - - 'Set HDVclasss - Private Sub SetHdVclass() - If String.IsNullOrEmpty(TbMassMass.Text) Then - TbHDVclass.Text = "-" - Exit Sub - End If - Dim vehC = CbCat.SelectedValue - Dim axlC = CbAxleConfig.SelectedValue - Dim maxMass = (TbMassMass.Text.ToDouble() * 1000).SI(Of Kilogram)() - - _hdVclass = "-" - Dim s0 As Segment = Nothing - Try - s0 = DeclarationData.Segments.Lookup(vehC, axlC, maxMass, 0.SI(Of Kilogram), True) - - Catch - ' no segment found - ignore - End Try - If Not s0 Is Nothing Then - _hdVclass = s0.VehicleClass - End If - - - TbHDVclass.Text = _hdVclass - PicVehicle.Image = ConvPicPath(_hdVclass, False) - End Sub - - - 'Set generic values for Declaration mode - Private Sub DeclInit() - If Not Cfg.DeclMode Then Exit Sub - - If String.IsNullOrEmpty(TbMassMass.Text) Then - TbHDVclass.Text = "-" - Exit Sub - End If - Dim vehC = CbCat.SelectedValue - Dim axlC = CbAxleConfig.SelectedValue - Dim maxMass = (TbMassMass.Text.ToDouble() * 1000).SI(Of Kilogram)() - - Dim s0 As Segment = Nothing - Try - s0 = DeclarationData.Segments.Lookup(vehC, axlC, maxMass, 0.SI(Of Kilogram), True) - Catch - ' no segment found - ignore - End Try - If Not s0 Is Nothing Then - _hdVclass = s0.VehicleClass - Dim axleCount As Short = s0.Missions(0).AxleWeightDistribution.Count() - Dim i0 = LvRRC.Items.Count - - If axleCount > i0 Then - For i = 1 To axleCount - LvRRC.Items.Count - Dim lvi = New ListViewItem - lvi.SubItems(0).Text = (i + i0).ToString - lvi.SubItems.Add("-") - lvi.SubItems.Add("no") - lvi.SubItems.Add("") - lvi.SubItems.Add("") - lvi.SubItems.Add("-") - lvi.SubItems.Add("-") - LvRRC.Items.Add(lvi) - Next - - ElseIf axleCount < LvRRC.Items.Count Then - For i = axleCount To LvRRC.Items.Count - 1 - LvRRC.Items.RemoveAt(LvRRC.Items.Count - 1) - Next - End If - - PnAll.Enabled = True - - Else - PnAll.Enabled = False - _hdVclass = "-" - End If - - TbMassExtra.Text = "-" - TbLoad.Text = "-" - CbCdMode.SelectedValue = CrossWindCorrectionMode.DeclarationModeCorrection - TbCdFile.Text = "" - - Dim rdyn As Single - rdyn = -1 - - If rdyn < 0 Then - TBrdyn.Text = "-" - Else - TBrdyn.Text = rdyn - End If - End Sub - - -#Region "Toolbar" - - 'New - Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click - NewVehicle() - End Sub - - 'Open - Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click - If fbVEH.OpenDialog(_vehFile) Then OpenVehicle(fbVEH.Files(0)) - End Sub - - 'Save - Private Sub ToolStripBtSave_Click(sender As Object, e As EventArgs) Handles ToolStripBtSave.Click - SaveOrSaveAs(False) - End Sub - - 'Save As - Private Sub ToolStripBtSaveAs_Click(sender As Object, e As EventArgs) Handles ToolStripBtSaveAs.Click - SaveOrSaveAs(True) - End Sub - - 'Send to VECTO Editor - Private Sub ToolStripBtSendTo_Click(sender As Object, e As EventArgs) Handles ToolStripBtSendTo.Click - - If ChangeCheckCancel() Then Exit Sub - - If _vehFile = "" Then - If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then - If Not SaveOrSaveAs(True) Then Exit Sub - Else - Exit Sub - End If - End If - - - If Not F_VECTO.Visible Then - JobDir = "" - F_VECTO.Show() - F_VECTO.VECTOnew() - Else - F_VECTO.WindowState = FormWindowState.Normal - End If - - F_VECTO.TbVEH.Text = fFileWoDir(_vehFile, JobDir) - End Sub - - 'Help - Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click - If File.Exists(MyAppPath & "User Manual\help.html") Then - Dim registryString = My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString - Dim defaultBrowserPath = Regex.Match(registryString, "(\"".*?\"")").Captures(0).ToString - Process.Start(defaultBrowserPath, String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#vehicle-editor")) - Else - MsgBox("User Manual not found!", MsgBoxStyle.Critical) - End If - End Sub - -#End Region - - 'Save and Close - Private Sub ButOK_Click(sender As Object, e As EventArgs) Handles ButOK.Click - If SaveOrSaveAs(False) Then Close() - End Sub - - 'Cancel - Private Sub ButCancel_Click(sender As Object, e As EventArgs) Handles ButCancel.Click - Close() - End Sub - - 'Save or Save As function = true if file is saved - Private Function SaveOrSaveAs(saveAs As Boolean) As Boolean - If _vehFile = "" Or saveAs Then - If fbVEH.SaveDialog(_vehFile) Then - _vehFile = fbVEH.Files(0) - Else - Return False - End If - End If - Return SaveVehicle(_vehFile) - End Function - - 'New VEH - Private Sub NewVehicle() - If ChangeCheckCancel() Then Exit Sub - - TbMass.Text = "" - TbLoad.Text = "" - TBrdyn.Text = "" - TBcdA.Text = "" - - CbCdMode.SelectedIndex = 0 - TbCdFile.Text = "" - - CbRtType.SelectedIndex = 0 - TbRtRatio.Text = "" - TbRtPath.Text = "" - - CbRtType.SelectedIndex = 0 - TbRtRatio.Text = "" - TbRtPath.Text = "" - - CbCat.SelectedIndex = 0 - - LvRRC.Items.Clear() - - TbMassMass.Text = "" - TbMassExtra.Text = "" - CbAxleConfig.SelectedIndex = 0 - - DeclInit() - - _vehFile = "" - Text = "VEH Editor" - LbStatus.Text = "" - - _changed = False - End Sub - - 'Open VEH - Sub OpenVehicle(file As String) - Dim inertia As Single - - If ChangeCheckCancel() Then Exit Sub - - Dim veh = New cVEH - veh.FilePath = file - - If Not veh.ReadFile Then - MsgBox("Cannot read " & file & "!") - Exit Sub - End If - - If Cfg.DeclMode <> veh.SavedInDeclMode Then - Select Case WrongMode() - Case 1 - Close() - F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked - F_MAINForm.OpenVectoFile(file) - Case -1 - Exit Sub - End Select - End If - - TbMass.Text = veh.Mass - TbMassExtra.Text = veh.MassExtra - TbLoad.Text = veh.Loading - TBrdyn.Text = veh.rdyn - - CbCdMode.SelectedValue = veh.CdMode - TbCdFile.Text = veh.CdFile.OriginalPath - - CbRtType.SelectedValue = veh.RtType - TbRtRatio.Text = veh.RtRatio - TbRtPath.Text = veh.RtFile.OriginalPath - - cbAngularGearType.SelectedValue = veh.AngularGearType - tbAngularGearRatio.Text = veh.AngularGearRatio - tbAngularGearLossMapPath.Text = veh.AngularGearLossMapFile.OriginalPath - - CbCat.SelectedValue = veh.VehCat - - - LvRRC.Items.Clear() - Dim i = 0 - For Each a0 In veh.Axles - i += 1 - Dim lvi = New ListViewItem - lvi.SubItems(0).Text = i.ToString - - If Cfg.DeclMode Then - lvi.SubItems.Add("-") - Else - lvi.SubItems.Add(a0.Share) - End If - - If a0.TwinTire Then - lvi.SubItems.Add("yes") - Else - lvi.SubItems.Add("no") - End If - lvi.SubItems.Add(a0.RRC) - lvi.SubItems.Add(a0.FzISO) - lvi.SubItems.Add(a0.Wheels) - - If Cfg.DeclMode Then - inertia = DeclarationData.Wheels.Lookup(a0.Wheels).Inertia.Value() - If inertia < 0 Then - lvi.SubItems.Add("-") - Else - lvi.SubItems.Add(inertia) - End If - Else - lvi.SubItems.Add(a0.Inertia) - End If - - LvRRC.Items.Add(lvi) - Next - - TbMassMass.Text = veh.MassMax - TbMassExtra.Text = veh.MassExtra - - CbAxleConfig.SelectedValue = veh.AxleConf - - TBcdA.Text = veh.CdA0 - - DeclInit() - - fbVEH.UpdateHistory(file) - Text = fFILE(file, True) - LbStatus.Text = "" - _vehFile = file - Activate() - - _changed = False - End Sub - - 'Save VEH - Private Function SaveVehicle(file As String) As Boolean - - Dim veh = New cVEH - veh.FilePath = file - - veh.Mass = CSng(fTextboxToNumString(TbMass.Text)) - veh.MassExtra = CSng(fTextboxToNumString(TbMassExtra.Text)) - veh.Loading = CSng(fTextboxToNumString(TbLoad.Text)) - - veh.CdA0 = CSng(fTextboxToNumString(TBcdA.Text)) - - veh.rdyn = CSng(fTextboxToNumString(TBrdyn.Text)) - veh.CdMode = CbCdMode.SelectedValue - veh.CdFile.Init(fPATH(file), TbCdFile.Text) - veh.RtType = CbRtType.SelectedValue - veh.RtRatio = CSng(fTextboxToNumString(TbRtRatio.Text)) - veh.RtFile.Init(fPATH(file), TbRtPath.Text) - - veh.AngularGearType = cbAngularGearType.SelectedValue - veh.AngularGearRatio = CSng(fTextboxToNumString(tbAngularGearRatio.Text)) - veh.AngularGearLossMapFile.Init(fPATH(file), tbAngularGearLossMapPath.Text) - - veh.VehCat = CbCat.SelectedValue 'CType(CbCat.SelectedIndex, tVehCat) - - Dim axleShareCheck As Double - For Each LV0 In LvRRC.Items - Dim a0 = New cVEH.cAxle - a0.Share = fTextboxToNumString(LV0.SubItems(1).Text) - axleShareCheck += a0.Share - a0.TwinTire = (LV0.SubItems(2).Text = "yes") - a0.RRC = fTextboxToNumString(LV0.SubItems(3).Text) - a0.FzISO = fTextboxToNumString(LV0.SubItems(4).Text) - a0.Wheels = LV0.SubItems(5).Text - a0.Inertia = fTextboxToNumString(LV0.SubItems(6).Text) - veh.Axles.Add(a0) - Next - - If Not Cfg.DeclMode AndAlso Math.Abs(axleShareCheck - 1) > 0.000001 Then - MsgBox("Relative axle loads must sum up to 1.0. Current value: " & axleShareCheck, MsgBoxStyle.Critical) - Return False - End If - - veh.MassMax = CSng(fTextboxToNumString(TbMassMass.Text)) - veh.MassExtra = CSng(fTextboxToNumString(TbMassExtra.Text)) - veh.AxleConf = CbAxleConfig.SelectedValue - - - '--------------------------------------------------------------------------------- - If Not veh.SaveFile Then - MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) - Return False - End If - - If AutoSendTo Then - If F_VECTO.Visible Then - If UCase(fFileRepl(F_VECTO.TbVEH.Text, JobDir)) <> UCase(file) Then F_VECTO.TbVEH.Text = fFileWoDir(file, JobDir) - F_VECTO.UpdatePic() - End If - End If - - fbVEH.UpdateHistory(file) - Text = fFILE(file, True) - LbStatus.Text = "" - - _changed = False - - Return True - End Function - -#Region "Cd" - - 'Cd Mode Change - Private Sub CbCdMode_SelectedIndexChanged(sender As Object, e As EventArgs) _ - Handles CbCdMode.SelectedIndexChanged - Dim bEnabled As Boolean - - Select Case CType(CbCdMode.SelectedValue, CrossWindCorrectionMode) - - Case CrossWindCorrectionMode.VAirBetaLookupTable - bEnabled = True - LbCdMode.Text = "Input file: Yaw Angle [°], Cd Scaling Factor [-]" - - Case CrossWindCorrectionMode.SpeedDependentCorrectionFactor - bEnabled = True - LbCdMode.Text = "Input file: Vehicle Speed [km/h], Cd Scaling Factor [-]" _ - 'TODO: MQ 20160901: check if scaling factor or absolue value! - - Case Else ' tCdMode.ConstCd0, tCdMode.CdOfVdecl - bEnabled = False - LbCdMode.Text = "" - - End Select - - If Not Cfg.DeclMode Then - TbCdFile.Enabled = bEnabled - BtCdFileBrowse.Enabled = bEnabled - BtCdFileOpen.Enabled = bEnabled - End If - - Change() - End Sub - - 'Cd File Browse - Private Sub BtCdFileBrowse_Click(sender As Object, e As EventArgs) Handles BtCdFileBrowse.Click - Dim ex As String - - If CbCdMode.SelectedIndex = 1 Then - ex = "vcdv" - Else - ex = "vcdb" - End If - - If fbCDx.OpenDialog(fFileRepl(TbCdFile.Text, fPATH(_vehFile)), False, ex) Then _ - TbCdFile.Text = fFileWoDir(fbCDx.Files(0), fPATH(_vehFile)) - End Sub - - 'Open Cd File - Private Sub BtCdFileOpen_Click(sender As Object, e As EventArgs) Handles BtCdFileOpen.Click - OpenFiles(fFileRepl(TbCdFile.Text, fPATH(_vehFile))) - End Sub - -#End Region - -#Region "Retarder" - - 'Rt Type Change - Private Sub CbRtType_SelectedIndexChanged(sender As Object, e As EventArgs) _ - Handles CbRtType.SelectedIndexChanged - Select Case CbRtType.SelectedIndex - Case 1 'Primary - LbRtRatio.Text = "Ratio to engine speed" - PnRt.Enabled = True - Case 2 'Secondary - LbRtRatio.Text = "Ratio to cardan shaft speed" - TbRtPath.Enabled = True - BtRtBrowse.Enabled = True - PnRt.Enabled = True - Case Else '0 None - LbRtRatio.Text = "Ratio" - PnRt.Enabled = False - End Select - - Change() - End Sub - - 'Rt File Browse - Private Sub BtRtBrowse_Click(sender As Object, e As EventArgs) Handles BtRtBrowse.Click - If fbRLM.OpenDialog(fFileRepl(TbRtPath.Text, fPATH(_vehFile))) Then _ - TbRtPath.Text = fFileWoDir(fbRLM.Files(0), fPATH(_vehFile)) - End Sub - -#End Region - -#Region "Track changes" - - Private Sub Change() - If Not _changed Then - LbStatus.Text = "Unsaved changes in current file" - _changed = True - End If - End Sub - - ' "Save changes? "... Returns True if user aborts - Private Function ChangeCheckCancel() As Boolean - - If _changed Then - Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel) - Case MsgBoxResult.Yes - Return Not SaveOrSaveAs(False) - Case MsgBoxResult.Cancel - Return True - Case Else 'MsgBoxResult.No - _changed = False - Return False - End Select - - Else - - Return False - - End If - End Function - - Private Sub TBmass_TextChanged(sender As Object, e As EventArgs) Handles TbMass.TextChanged - SetMaxLoad() - Change() - End Sub - - Private Sub TBcw_TextChanged(sender As Object, e As EventArgs) _ - Handles TbLoad.TextChanged, TBrdyn.TextChanged, TBcdA.TextChanged, TbCdFile.TextChanged, TbRtRatio.TextChanged, - cbAngularGearType.SelectedIndexChanged, TbRtPath.TextChanged, tbAngularGearLossMapPath.TextChanged, - tbAngularGearRatio.TextChanged - Change() - End Sub - - Private Sub CbCat_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CbCat.SelectedIndexChanged - Change() - SetHdVclass() - DeclInit() - End Sub - - Private Sub TbMassTrailer_TextChanged(sender As Object, e As EventArgs) Handles TbMassExtra.TextChanged - SetMaxLoad() - Change() - End Sub - - Private Sub TbMassMax_TextChanged(sender As Object, e As EventArgs) Handles TbMassMass.TextChanged - SetMaxLoad() - Change() - SetHdVclass() - DeclInit() - End Sub - - Private Sub CbAxleConfig_SelectedIndexChanged(sender As Object, e As EventArgs) _ - Handles CbAxleConfig.SelectedIndexChanged - Change() - SetHdVclass() - DeclInit() - End Sub - -#End Region - - 'Update maximum load when truck/trailer mass was changed - Private Sub SetMaxLoad() - If Not Cfg.DeclMode Then - If IsNumeric(TbMass.Text) And IsNumeric(TbMassExtra.Text) And IsNumeric(TbMassMass.Text) Then - TbLoadingMax.Text = CStr(CSng(TbMassMass.Text) * 1000 - CSng(TbMass.Text) - CSng(TbMassExtra.Text)) - Else - TbLoadingMax.Text = "" - End If - End If - End Sub - -#Region "Axle Configuration" - - Private Sub ButAxlAdd_Click(sender As Object, e As EventArgs) Handles ButAxlAdd.Click - Dim lv0 As ListViewItem - - _axlDlog.Clear() - - If _axlDlog.ShowDialog = DialogResult.OK Then - lv0 = New ListViewItem - - lv0.SubItems(0).Text = LvRRC.Items.Count + 1 - lv0.SubItems.Add(Trim(_axlDlog.TbAxleShare.Text)) - If _axlDlog.CbTwinT.Checked Then - lv0.SubItems.Add("yes") - Else - lv0.SubItems.Add("no") - End If - lv0.SubItems.Add(Trim(_axlDlog.TbRRC.Text)) - lv0.SubItems.Add(Trim(_axlDlog.TbFzISO.Text)) - lv0.SubItems.Add(Trim(_axlDlog.CbWheels.Text)) - lv0.SubItems.Add(Trim(_axlDlog.TbI_wheels.Text)) - - LvRRC.Items.Add(lv0) - - Change() - DeclInit() - - End If - End Sub - - Private Sub ButAxlRem_Click(sender As Object, e As EventArgs) Handles ButAxlRem.Click - RemoveAxleItem() - End Sub - - Private Sub LvAxle_DoubleClick(sender As Object, e As EventArgs) Handles LvRRC.DoubleClick - EditAxleItem() - End Sub - - Private Sub LvAxle_KeyDown(sender As Object, e As KeyEventArgs) Handles LvRRC.KeyDown - Select Case e.KeyCode - Case Keys.Delete, Keys.Back - If Not Cfg.DeclMode Then RemoveAxleItem() - Case Keys.Enter - EditAxleItem() - End Select - End Sub - - Private Sub RemoveAxleItem() - Dim lv0 As ListViewItem - Dim i As Integer - - If LvRRC.SelectedItems.Count = 0 Then - If LvRRC.Items.Count = 0 Then - Exit Sub - Else - LvRRC.Items(LvRRC.Items.Count - 1).Selected = True - End If - End If - - LvRRC.SelectedItems(0).Remove() - - If LvRRC.Items.Count > 0 Then - - i = 0 - For Each lv0 In LvRRC.Items - i += 1 - lv0.SubItems(0).Text = i.ToString - Next - - LvRRC.Items(LvRRC.Items.Count - 1).Selected = True - LvRRC.Focus() - End If - - Change() - End Sub - - Private Sub EditAxleItem() - If LvRRC.SelectedItems.Count = 0 Then Exit Sub - - Dim lv0 = LvRRC.SelectedItems(0) - - _axlDlog.TbAxleShare.Text = lv0.SubItems(1).Text - _axlDlog.CbTwinT.Checked = (lv0.SubItems(2).Text = "yes") - _axlDlog.TbRRC.Text = lv0.SubItems(3).Text - _axlDlog.TbFzISO.Text = lv0.SubItems(4).Text - _axlDlog.TbI_wheels.Text = lv0.SubItems(6).Text - _axlDlog.CbWheels.Text = lv0.SubItems(5).Text - - If _axlDlog.ShowDialog = DialogResult.OK Then - lv0.SubItems(1).Text = _axlDlog.TbAxleShare.Text - If _axlDlog.CbTwinT.Checked Then - lv0.SubItems(2).Text = "yes" - Else - lv0.SubItems(2).Text = "no" - End If - lv0.SubItems(3).Text = _axlDlog.TbRRC.Text - lv0.SubItems(4).Text = _axlDlog.TbFzISO.Text - lv0.SubItems(5).Text = _axlDlog.CbWheels.Text - lv0.SubItems(6).Text = _axlDlog.TbI_wheels.Text - - Change() - DeclInit() - End If - End Sub - -#End Region - -#Region "Open File Context Menu" - - - Private Sub OpenFiles(ParamArray files() As String) - If files.Length = 0 Then Exit Sub - - _cmFiles = files - OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName - CmOpenFile.Show(Cursor.Position) - End Sub - - Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles OpenWithToolStripMenuItem.Click - If Not FileOpenAlt(_cmFiles(0)) Then MsgBox("Failed to open file!") - End Sub - - Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _ - Handles ShowInFolderToolStripMenuItem.Click - If File.Exists(_cmFiles(0)) Then - Try - Process.Start("explorer", "/select,""" & _cmFiles(0) & "") - Catch ex As Exception - MsgBox("Failed to open file!") - End Try - Else - MsgBox("File not found!") - End If - End Sub - -#End Region - - -#Region "Angular Gear" - - Private Sub cbAngularGearType_SelectedIndexChanged(sender As Object, e As EventArgs) _ - Handles cbAngularGearType.SelectedIndexChanged - Select Case CType(cbAngularGearType.SelectedValue, AngularGearType) - Case AngularGearType.SeparateAngularGear - pnAngularGearFields.Enabled = True - tbAngularGearRatio.Text = "1.0" - Case Else 'Losses included in Transmission, None - tbAngularGearRatio.Text = "" - tbAngularGearLossMapPath.Text = "" - pnAngularGearFields.Enabled = False - End Select - Change() - End Sub - - Private Sub btAngularGearLossMapBrowse_Click(sender As Object, e As EventArgs) Handles btAngularGearLossMapBrowse.Click - If fbTLM.OpenDialog(fFileRepl(TbRtPath.Text, fPATH(_vehFile))) Then _ - tbAngularGearLossMapPath.Text = fFileWoDir(fbTLM.Files(0), fPATH(_vehFile)) - End Sub - -#End Region -End Class - +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Option Infer On + +Imports System.IO +Imports System.Linq +Imports System.Text.RegularExpressions +Imports TUGraz.VectoCommon.Models +Imports TUGraz.VectoCommon.Utils +Imports TUGraz.VectoCore.Models.Declaration + +''' <summary> +''' Vehicle Editor. +''' </summary> +Public Class VehicleForm + Private _axlDlog As VehicleAxleDialog + Private _hdVclass As String + Private _vehFile As String + Private _changed As Boolean = False + Private _cmFiles As String() + + Public AutoSendTo As Boolean = False + Public JobDir As String = "" + + 'Close - Check for unsaved changes + Private Sub F_VEH_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then + e.Cancel = ChangeCheckCancel() + End If + End Sub + + 'Initialise form + Private Sub F05_VEH_Load(sender As Object, e As EventArgs) Handles MyBase.Load + TbLoadingMax.Text = "-" + PnLoad.Enabled = Not Cfg.DeclMode + ButAxlAdd.Enabled = Not Cfg.DeclMode + ButAxlRem.Enabled = Not Cfg.DeclMode + CbCdMode.Enabled = Not Cfg.DeclMode + PnWheelDiam.Enabled = Not Cfg.DeclMode + + CbCdMode.ValueMember = "Value" + CbCdMode.DisplayMember = "Label" + CbCdMode.DataSource = [Enum].GetValues(GetType(CrossWindCorrectionMode)) _ + .Cast(Of CrossWindCorrectionMode) _ + .Select(Function(mode) New With {Key .Value = mode, .Label = mode.GetLabel()}).ToList() + + CbRtType.ValueMember = "Value" + CbRtType.DisplayMember = "Label" + CbRtType.DataSource = [Enum].GetValues(GetType(RetarderType)) _ + .Cast(Of RetarderType) _ + .Select(Function(type) New With {Key .Value = type, .Label = type.GetLabel()}).ToList() + + CbAxleConfig.ValueMember = "Value" + CbAxleConfig.DisplayMember = "Label" + CbAxleConfig.DataSource = [Enum].GetValues(GetType(AxleConfiguration)) _ + .Cast(Of AxleConfiguration) _ + .Select(Function(category) New With {Key .Value = category, .Label = category.GetName()}).ToList() + + CbCat.ValueMember = "Value" + CbCat.DisplayMember = "Label" + CbCat.DataSource = [Enum].GetValues(GetType(VehicleCategory)) _ + .Cast(Of VehicleCategory) _ + .Select(Function(category) New With {Key .Value = category, .label = category.GetLabel()}).ToList() + + cbAngularGearType.ValueMember = "Value" + cbAngularGearType.DisplayMember = "Label" + cbAngularGearType.DataSource = [Enum].GetValues(GetType(AngularGearType)) _ + .Cast(Of AngularGearType).Select(Function(type) New With {Key .Value = type, .Label = type.GetLabel()}).ToList() + _axlDlog = New VehicleAxleDialog + + _changed = False + + NewVehicle() + End Sub + + 'Set HDVclasss + Private Sub SetHdVclass() + If String.IsNullOrEmpty(TbMassMass.Text) Then + TbHDVclass.Text = "-" + Exit Sub + End If + Dim vehC = CbCat.SelectedValue + Dim axlC = CbAxleConfig.SelectedValue + Dim maxMass = (TbMassMass.Text.ToDouble() * 1000).SI(Of Kilogram)() + + _hdVclass = "-" + Dim s0 As Segment = Nothing + Try + s0 = DeclarationData.Segments.Lookup(vehC, axlC, maxMass, 0.SI(Of Kilogram), True) + + Catch + ' no segment found - ignore + End Try + If Not s0 Is Nothing Then + _hdVclass = s0.VehicleClass + End If + + + TbHDVclass.Text = _hdVclass + PicVehicle.Image = ConvPicPath(_hdVclass, False) + End Sub + + + 'Set generic values for Declaration mode + Private Sub DeclInit() + If Not Cfg.DeclMode Then Exit Sub + + If String.IsNullOrEmpty(TbMassMass.Text) Then + TbHDVclass.Text = "-" + Exit Sub + End If + Dim vehC = CbCat.SelectedValue + Dim axlC = CbAxleConfig.SelectedValue + Dim maxMass = (TbMassMass.Text.ToDouble() * 1000).SI(Of Kilogram)() + + Dim s0 As Segment = Nothing + Try + s0 = DeclarationData.Segments.Lookup(vehC, axlC, maxMass, 0.SI(Of Kilogram), True) + Catch + ' no segment found - ignore + End Try + If Not s0 Is Nothing Then + _hdVclass = s0.VehicleClass + Dim axleCount As Short = s0.Missions(0).AxleWeightDistribution.Count() + Dim i0 = LvRRC.Items.Count + + If axleCount > i0 Then + For i = 1 To axleCount - LvRRC.Items.Count + Dim lvi = New ListViewItem + lvi.SubItems(0).Text = (i + i0).ToString + lvi.SubItems.Add("-") + lvi.SubItems.Add("no") + lvi.SubItems.Add("") + lvi.SubItems.Add("") + lvi.SubItems.Add("-") + lvi.SubItems.Add("-") + LvRRC.Items.Add(lvi) + Next + + ElseIf axleCount < LvRRC.Items.Count Then + For i = axleCount To LvRRC.Items.Count - 1 + LvRRC.Items.RemoveAt(LvRRC.Items.Count - 1) + Next + End If + + PnAll.Enabled = True + + Else + PnAll.Enabled = False + _hdVclass = "-" + End If + + TbMassExtra.Text = "-" + TbLoad.Text = "-" + CbCdMode.SelectedValue = CrossWindCorrectionMode.DeclarationModeCorrection + TbCdFile.Text = "" + + Dim rdyn As Single + rdyn = -1 + + If rdyn < 0 Then + TBrdyn.Text = "-" + Else + TBrdyn.Text = rdyn + End If + End Sub + + +#Region "Toolbar" + + 'New + Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click + NewVehicle() + End Sub + + 'Open + Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click + If VehicleFileBrowser.OpenDialog(_vehFile) Then OpenVehicle(VehicleFileBrowser.Files(0)) + End Sub + + 'Save + Private Sub ToolStripBtSave_Click(sender As Object, e As EventArgs) Handles ToolStripBtSave.Click + SaveOrSaveAs(False) + End Sub + + 'Save As + Private Sub ToolStripBtSaveAs_Click(sender As Object, e As EventArgs) Handles ToolStripBtSaveAs.Click + SaveOrSaveAs(True) + End Sub + + 'Send to VECTO Editor + Private Sub ToolStripBtSendTo_Click(sender As Object, e As EventArgs) Handles ToolStripBtSendTo.Click + + If ChangeCheckCancel() Then Exit Sub + + If _vehFile = "" Then + If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then + If Not SaveOrSaveAs(True) Then Exit Sub + Else + Exit Sub + End If + End If + + + If Not VectoJobForm.Visible Then + JobDir = "" + VectoJobForm.Show() + VectoJobForm.VECTOnew() + Else + VectoJobForm.WindowState = FormWindowState.Normal + End If + + VectoJobForm.TbVEH.Text = fFileWoDir(_vehFile, JobDir) + End Sub + + 'Help + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + If File.Exists(MyAppPath & "User Manual\help.html") Then + Dim registryString = My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString + Dim defaultBrowserPath = Regex.Match(registryString, "(\"".*?\"")").Captures(0).ToString + Process.Start(defaultBrowserPath, String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#vehicle-editor")) + Else + MsgBox("User Manual not found!", MsgBoxStyle.Critical) + End If + End Sub + +#End Region + + 'Save and Close + Private Sub ButOK_Click(sender As Object, e As EventArgs) Handles ButOK.Click + If SaveOrSaveAs(False) Then Close() + End Sub + + 'Cancel + Private Sub ButCancel_Click(sender As Object, e As EventArgs) Handles ButCancel.Click + Close() + End Sub + + 'Save or Save As function = true if file is saved + Private Function SaveOrSaveAs(saveAs As Boolean) As Boolean + If _vehFile = "" Or saveAs Then + If VehicleFileBrowser.SaveDialog(_vehFile) Then + _vehFile = VehicleFileBrowser.Files(0) + Else + Return False + End If + End If + Return SaveVehicle(_vehFile) + End Function + + 'New VEH + Private Sub NewVehicle() + If ChangeCheckCancel() Then Exit Sub + + TbMass.Text = "" + TbLoad.Text = "" + TBrdyn.Text = "" + TBcdA.Text = "" + + CbCdMode.SelectedIndex = 0 + TbCdFile.Text = "" + + CbRtType.SelectedIndex = 0 + TbRtRatio.Text = "" + TbRtPath.Text = "" + + CbRtType.SelectedIndex = 0 + TbRtRatio.Text = "" + TbRtPath.Text = "" + + CbCat.SelectedIndex = 0 + + LvRRC.Items.Clear() + + TbMassMass.Text = "" + TbMassExtra.Text = "" + CbAxleConfig.SelectedIndex = 0 + + DeclInit() + + _vehFile = "" + Text = "VEH Editor" + LbStatus.Text = "" + + _changed = False + End Sub + + 'Open VEH + Sub OpenVehicle(file As String) + Dim inertia As Single + + If ChangeCheckCancel() Then Exit Sub + + Dim veh = New Vehicle + veh.FilePath = file + + If Not veh.ReadFile Then + MsgBox("Cannot read " & file & "!") + Exit Sub + End If + + If Cfg.DeclMode <> veh.SavedInDeclMode Then + Select Case WrongMode() + Case 1 + Close() + MainForm.RbDecl.Checked = Not MainForm.RbDecl.Checked + MainForm.OpenVectoFile(file) + Case -1 + Exit Sub + End Select + End If + + TbMass.Text = veh.Mass + TbMassExtra.Text = veh.MassExtra + TbLoad.Text = veh.Loading + TBrdyn.Text = veh.rdyn + + CbCdMode.SelectedValue = veh.CdMode + TbCdFile.Text = veh.CdFile.OriginalPath + + CbRtType.SelectedValue = veh.RtType + TbRtRatio.Text = veh.RtRatio + TbRtPath.Text = veh.RtFile.OriginalPath + + cbAngularGearType.SelectedValue = veh.AngularGearType + tbAngularGearRatio.Text = veh.AngularGearRatio + tbAngularGearLossMapPath.Text = veh.AngularGearLossMapFile.OriginalPath + + CbCat.SelectedValue = veh.VehCat + + + LvRRC.Items.Clear() + Dim i = 0 + For Each a0 In veh.Axles + i += 1 + Dim lvi = New ListViewItem + lvi.SubItems(0).Text = i.ToString + + If Cfg.DeclMode Then + lvi.SubItems.Add("-") + Else + lvi.SubItems.Add(a0.Share) + End If + + If a0.TwinTire Then + lvi.SubItems.Add("yes") + Else + lvi.SubItems.Add("no") + End If + lvi.SubItems.Add(a0.RRC) + lvi.SubItems.Add(a0.FzISO) + lvi.SubItems.Add(a0.Wheels) + + If Cfg.DeclMode Then + inertia = DeclarationData.Wheels.Lookup(a0.Wheels).Inertia.Value() + If inertia < 0 Then + lvi.SubItems.Add("-") + Else + lvi.SubItems.Add(inertia) + End If + Else + lvi.SubItems.Add(a0.Inertia) + End If + + LvRRC.Items.Add(lvi) + Next + + TbMassMass.Text = veh.MassMax + TbMassExtra.Text = veh.MassExtra + + CbAxleConfig.SelectedValue = veh.AxleConf + + TBcdA.Text = veh.CdA0 + + DeclInit() + + VehicleFileBrowser.UpdateHistory(file) + Text = fFILE(file, True) + LbStatus.Text = "" + _vehFile = file + Activate() + + _changed = False + End Sub + + 'Save VEH + Private Function SaveVehicle(file As String) As Boolean + + Dim veh = New Vehicle + veh.FilePath = file + + veh.Mass = CSng(fTextboxToNumString(TbMass.Text)) + veh.MassExtra = CSng(fTextboxToNumString(TbMassExtra.Text)) + veh.Loading = CSng(fTextboxToNumString(TbLoad.Text)) + + veh.CdA0 = CSng(fTextboxToNumString(TBcdA.Text)) + + veh.rdyn = CSng(fTextboxToNumString(TBrdyn.Text)) + veh.CdMode = CbCdMode.SelectedValue + veh.CdFile.Init(fPATH(file), TbCdFile.Text) + veh.RtType = CbRtType.SelectedValue + veh.RtRatio = CSng(fTextboxToNumString(TbRtRatio.Text)) + veh.RtFile.Init(fPATH(file), TbRtPath.Text) + + veh.AngularGearType = cbAngularGearType.SelectedValue + veh.AngularGearRatio = CSng(fTextboxToNumString(tbAngularGearRatio.Text)) + veh.AngularGearLossMapFile.Init(fPATH(file), tbAngularGearLossMapPath.Text) + + veh.VehCat = CbCat.SelectedValue 'CType(CbCat.SelectedIndex, tVehCat) + + Dim axleShareCheck As Double + For Each LV0 In LvRRC.Items + Dim a0 = New Vehicle.Axle + a0.Share = fTextboxToNumString(LV0.SubItems(1).Text) + axleShareCheck += a0.Share + a0.TwinTire = (LV0.SubItems(2).Text = "yes") + a0.RRC = fTextboxToNumString(LV0.SubItems(3).Text) + a0.FzISO = fTextboxToNumString(LV0.SubItems(4).Text) + a0.Wheels = LV0.SubItems(5).Text + a0.Inertia = fTextboxToNumString(LV0.SubItems(6).Text) + veh.Axles.Add(a0) + Next + + If Not Cfg.DeclMode AndAlso Math.Abs(axleShareCheck - 1) > 0.000001 Then + MsgBox("Relative axle loads must sum up to 1.0. Current value: " & axleShareCheck, MsgBoxStyle.Critical) + Return False + End If + + veh.MassMax = CSng(fTextboxToNumString(TbMassMass.Text)) + veh.MassExtra = CSng(fTextboxToNumString(TbMassExtra.Text)) + veh.AxleConf = CbAxleConfig.SelectedValue + + + '--------------------------------------------------------------------------------- + If Not veh.SaveFile Then + MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) + Return False + End If + + If AutoSendTo Then + If VectoJobForm.Visible Then + If UCase(fFileRepl(VectoJobForm.TbVEH.Text, JobDir)) <> UCase(file) Then VectoJobForm.TbVEH.Text = fFileWoDir(file, JobDir) + VectoJobForm.UpdatePic() + End If + End If + + VehicleFileBrowser.UpdateHistory(file) + Text = fFILE(file, True) + LbStatus.Text = "" + + _changed = False + + Return True + End Function + +#Region "Cd" + + 'Cd Mode Change + Private Sub CbCdMode_SelectedIndexChanged(sender As Object, e As EventArgs) _ + Handles CbCdMode.SelectedIndexChanged + Dim bEnabled As Boolean + + Select Case CType(CbCdMode.SelectedValue, CrossWindCorrectionMode) + + Case CrossWindCorrectionMode.VAirBetaLookupTable + bEnabled = True + LbCdMode.Text = "Input file: Yaw Angle [°], Cd Scaling Factor [-]" + + Case CrossWindCorrectionMode.SpeedDependentCorrectionFactor + bEnabled = True + LbCdMode.Text = "Input file: Vehicle Speed [km/h], Cd Scaling Factor [-]" _ + 'TODO: MQ 20160901: check if scaling factor or absolue value! + + Case Else ' tCdMode.ConstCd0, tCdMode.CdOfVdecl + bEnabled = False + LbCdMode.Text = "" + + End Select + + If Not Cfg.DeclMode Then + TbCdFile.Enabled = bEnabled + BtCdFileBrowse.Enabled = bEnabled + BtCdFileOpen.Enabled = bEnabled + End If + + Change() + End Sub + + 'Cd File Browse + Private Sub BtCdFileBrowse_Click(sender As Object, e As EventArgs) Handles BtCdFileBrowse.Click + Dim ex As String + + If CbCdMode.SelectedIndex = 1 Then + ex = "vcdv" + Else + ex = "vcdb" + End If + + If fbCDx.OpenDialog(fFileRepl(TbCdFile.Text, fPATH(_vehFile)), False, ex) Then _ + TbCdFile.Text = fFileWoDir(fbCDx.Files(0), fPATH(_vehFile)) + End Sub + + 'Open Cd File + Private Sub BtCdFileOpen_Click(sender As Object, e As EventArgs) Handles BtCdFileOpen.Click + OpenFiles(fFileRepl(TbCdFile.Text, fPATH(_vehFile))) + End Sub + +#End Region + +#Region "Retarder" + + 'Rt Type Change + Private Sub CbRtType_SelectedIndexChanged(sender As Object, e As EventArgs) _ + Handles CbRtType.SelectedIndexChanged + Select Case CbRtType.SelectedIndex + Case 1 'Primary + LbRtRatio.Text = "Ratio to engine speed" + PnRt.Enabled = True + Case 2 'Secondary + LbRtRatio.Text = "Ratio to cardan shaft speed" + TbRtPath.Enabled = True + BtRtBrowse.Enabled = True + PnRt.Enabled = True + Case Else '0 None + LbRtRatio.Text = "Ratio" + PnRt.Enabled = False + End Select + + Change() + End Sub + + 'Rt File Browse + Private Sub BtRtBrowse_Click(sender As Object, e As EventArgs) Handles BtRtBrowse.Click + If RetarderLossMapFileBrowser.OpenDialog(fFileRepl(TbRtPath.Text, fPATH(_vehFile))) Then _ + TbRtPath.Text = fFileWoDir(RetarderLossMapFileBrowser.Files(0), fPATH(_vehFile)) + End Sub + +#End Region + +#Region "Track changes" + + Private Sub Change() + If Not _changed Then + LbStatus.Text = "Unsaved changes in current file" + _changed = True + End If + End Sub + + ' "Save changes? "... Returns True if user aborts + Private Function ChangeCheckCancel() As Boolean + + If _changed Then + Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel) + Case MsgBoxResult.Yes + Return Not SaveOrSaveAs(False) + Case MsgBoxResult.Cancel + Return True + Case Else 'MsgBoxResult.No + _changed = False + Return False + End Select + + Else + + Return False + + End If + End Function + + Private Sub TBmass_TextChanged(sender As Object, e As EventArgs) Handles TbMass.TextChanged + SetMaxLoad() + Change() + End Sub + + Private Sub TBcw_TextChanged(sender As Object, e As EventArgs) _ + Handles TbLoad.TextChanged, TBrdyn.TextChanged, TBcdA.TextChanged, TbCdFile.TextChanged, TbRtRatio.TextChanged, + cbAngularGearType.SelectedIndexChanged, TbRtPath.TextChanged, tbAngularGearLossMapPath.TextChanged, + tbAngularGearRatio.TextChanged + Change() + End Sub + + Private Sub CbCat_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CbCat.SelectedIndexChanged + Change() + SetHdVclass() + DeclInit() + End Sub + + Private Sub TbMassTrailer_TextChanged(sender As Object, e As EventArgs) Handles TbMassExtra.TextChanged + SetMaxLoad() + Change() + End Sub + + Private Sub TbMassMax_TextChanged(sender As Object, e As EventArgs) Handles TbMassMass.TextChanged + SetMaxLoad() + Change() + SetHdVclass() + DeclInit() + End Sub + + Private Sub CbAxleConfig_SelectedIndexChanged(sender As Object, e As EventArgs) _ + Handles CbAxleConfig.SelectedIndexChanged + Change() + SetHdVclass() + DeclInit() + End Sub + +#End Region + + 'Update maximum load when truck/trailer mass was changed + Private Sub SetMaxLoad() + If Not Cfg.DeclMode Then + If IsNumeric(TbMass.Text) And IsNumeric(TbMassExtra.Text) And IsNumeric(TbMassMass.Text) Then + TbLoadingMax.Text = CStr(CSng(TbMassMass.Text) * 1000 - CSng(TbMass.Text) - CSng(TbMassExtra.Text)) + Else + TbLoadingMax.Text = "" + End If + End If + End Sub + +#Region "Axle Configuration" + + Private Sub ButAxlAdd_Click(sender As Object, e As EventArgs) Handles ButAxlAdd.Click + Dim lv0 As ListViewItem + + _axlDlog.Clear() + + If _axlDlog.ShowDialog = DialogResult.OK Then + lv0 = New ListViewItem + + lv0.SubItems(0).Text = LvRRC.Items.Count + 1 + lv0.SubItems.Add(Trim(_axlDlog.TbAxleShare.Text)) + If _axlDlog.CbTwinT.Checked Then + lv0.SubItems.Add("yes") + Else + lv0.SubItems.Add("no") + End If + lv0.SubItems.Add(Trim(_axlDlog.TbRRC.Text)) + lv0.SubItems.Add(Trim(_axlDlog.TbFzISO.Text)) + lv0.SubItems.Add(Trim(_axlDlog.CbWheels.Text)) + lv0.SubItems.Add(Trim(_axlDlog.TbI_wheels.Text)) + + LvRRC.Items.Add(lv0) + + Change() + DeclInit() + + End If + End Sub + + Private Sub ButAxlRem_Click(sender As Object, e As EventArgs) Handles ButAxlRem.Click + RemoveAxleItem() + End Sub + + Private Sub LvAxle_DoubleClick(sender As Object, e As EventArgs) Handles LvRRC.DoubleClick + EditAxleItem() + End Sub + + Private Sub LvAxle_KeyDown(sender As Object, e As KeyEventArgs) Handles LvRRC.KeyDown + Select Case e.KeyCode + Case Keys.Delete, Keys.Back + If Not Cfg.DeclMode Then RemoveAxleItem() + Case Keys.Enter + EditAxleItem() + End Select + End Sub + + Private Sub RemoveAxleItem() + Dim lv0 As ListViewItem + Dim i As Integer + + If LvRRC.SelectedItems.Count = 0 Then + If LvRRC.Items.Count = 0 Then + Exit Sub + Else + LvRRC.Items(LvRRC.Items.Count - 1).Selected = True + End If + End If + + LvRRC.SelectedItems(0).Remove() + + If LvRRC.Items.Count > 0 Then + + i = 0 + For Each lv0 In LvRRC.Items + i += 1 + lv0.SubItems(0).Text = i.ToString + Next + + LvRRC.Items(LvRRC.Items.Count - 1).Selected = True + LvRRC.Focus() + End If + + Change() + End Sub + + Private Sub EditAxleItem() + If LvRRC.SelectedItems.Count = 0 Then Exit Sub + + Dim lv0 = LvRRC.SelectedItems(0) + + _axlDlog.TbAxleShare.Text = lv0.SubItems(1).Text + _axlDlog.CbTwinT.Checked = (lv0.SubItems(2).Text = "yes") + _axlDlog.TbRRC.Text = lv0.SubItems(3).Text + _axlDlog.TbFzISO.Text = lv0.SubItems(4).Text + _axlDlog.TbI_wheels.Text = lv0.SubItems(6).Text + _axlDlog.CbWheels.Text = lv0.SubItems(5).Text + + If _axlDlog.ShowDialog = DialogResult.OK Then + lv0.SubItems(1).Text = _axlDlog.TbAxleShare.Text + If _axlDlog.CbTwinT.Checked Then + lv0.SubItems(2).Text = "yes" + Else + lv0.SubItems(2).Text = "no" + End If + lv0.SubItems(3).Text = _axlDlog.TbRRC.Text + lv0.SubItems(4).Text = _axlDlog.TbFzISO.Text + lv0.SubItems(5).Text = _axlDlog.CbWheels.Text + lv0.SubItems(6).Text = _axlDlog.TbI_wheels.Text + + Change() + DeclInit() + End If + End Sub + +#End Region + +#Region "Open File Context Menu" + + + Private Sub OpenFiles(ParamArray files() As String) + If files.Length = 0 Then Exit Sub + + _cmFiles = files + OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName + CmOpenFile.Show(Cursor.Position) + End Sub + + Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles OpenWithToolStripMenuItem.Click + If Not FileOpenAlt(_cmFiles(0)) Then MsgBox("Failed to open file!") + End Sub + + Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _ + Handles ShowInFolderToolStripMenuItem.Click + If File.Exists(_cmFiles(0)) Then + Try + Process.Start("explorer", "/select,""" & _cmFiles(0) & "") + Catch ex As Exception + MsgBox("Failed to open file!") + End Try + Else + MsgBox("File not found!") + End If + End Sub + +#End Region + + +#Region "Angular Gear" + + Private Sub cbAngularGearType_SelectedIndexChanged(sender As Object, e As EventArgs) _ + Handles cbAngularGearType.SelectedIndexChanged + Select Case CType(cbAngularGearType.SelectedValue, AngularGearType) + Case AngularGearType.SeparateAngularGear + pnAngularGearFields.Enabled = True + tbAngularGearRatio.Text = "1.0" + Case Else 'Losses included in Transmission, None + tbAngularGearRatio.Text = "" + tbAngularGearLossMapPath.Text = "" + pnAngularGearFields.Enabled = False + End Select + Change() + End Sub + + Private Sub btAngularGearLossMapBrowse_Click(sender As Object, e As EventArgs) Handles btAngularGearLossMapBrowse.Click + If TransmissionLossMapFileBrowser.OpenDialog(fFileRepl(TbRtPath.Text, fPATH(_vehFile))) Then _ + tbAngularGearLossMapPath.Text = fFileWoDir(TransmissionLossMapFileBrowser.Files(0), fPATH(_vehFile)) + End Sub + +#End Region +End Class + diff --git a/VECTO/GUI/F_Welcome.Designer.vb b/VECTO/GUI/WelcomeDialog.Designer.vb similarity index 98% rename from VECTO/GUI/F_Welcome.Designer.vb rename to VECTO/GUI/WelcomeDialog.Designer.vb index 3daaeef2bb5c7dcaef15013b9cda53ba4b7db63a..3ab236ad0073ef95346a8e60b9151d312b422690 100644 --- a/VECTO/GUI/F_Welcome.Designer.vb +++ b/VECTO/GUI/WelcomeDialog.Designer.vb @@ -13,7 +13,7 @@ Imports Microsoft.VisualBasic.CompilerServices <DesignerGenerated()> _ -Partial Class F_Welcome +Partial Class WelcomeDialog Inherits Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. @@ -93,7 +93,7 @@ Partial Class F_Welcome Me.FormBorderStyle = FormBorderStyle.FixedDialog Me.MaximizeBox = False Me.MinimizeBox = False - Me.Name = "F_Welcome" + Me.Name = "WelcomeDialog" Me.ShowInTaskbar = False Me.StartPosition = FormStartPosition.CenterParent Me.Text = "F_Welcome" diff --git a/VECTO/GUI/F_Welcome.resx b/VECTO/GUI/WelcomeDialog.resx similarity index 100% rename from VECTO/GUI/F_Welcome.resx rename to VECTO/GUI/WelcomeDialog.resx diff --git a/VECTO/GUI/F_Welcome.vb b/VECTO/GUI/WelcomeDialog.vb similarity index 95% rename from VECTO/GUI/F_Welcome.vb rename to VECTO/GUI/WelcomeDialog.vb index 0a775f793b9294ed357e5c83dea1899afab177ee..3cdcf0eec880dc3cc963adcfc65a0c836808b7a2 100644 --- a/VECTO/GUI/F_Welcome.vb +++ b/VECTO/GUI/WelcomeDialog.vb @@ -1,46 +1,46 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Imports System.IO - -''' <summary> -''' Welcome screen. Shows only on the first time application start -''' </summary> -''' <remarks></remarks> -Public Class F_Welcome - 'Close - Private Sub Cancel_Button_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Cancel_Button.Click - DialogResult = DialogResult.Cancel - Close() - End Sub - - 'Init - Private Sub F_Welcome_Load(sender As Object, e As EventArgs) Handles Me.Load - Text = "VECTO " & VECTOvers & " / VectoCore " & COREvers - End Sub - - 'Open Release Notes - Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click - If File.Exists(MyAppPath & "User Manual\Release Notes.pdf") Then - Process.Start(MyAppPath & "User Manual\Release Notes.pdf") - Else - MsgBox("Release Notes not found!", MsgBoxStyle.Critical) - End If - End Sub - - 'Open Quick Start Guide - Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click - If File.Exists(MyAppPath & "User Manual\help.html") Then - Process.Start(MyAppPath & "User Manual\help.html") - Else - MsgBox("User manual not found!", MsgBoxStyle.Critical) - End If - End Sub -End Class +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.IO + +''' <summary> +''' Welcome screen. Shows only on the first time application start +''' </summary> +''' <remarks></remarks> +Public Class WelcomeDialog + 'Close + Private Sub Cancel_Button_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Cancel_Button.Click + DialogResult = DialogResult.Cancel + Close() + End Sub + + 'Init + Private Sub F_Welcome_Load(sender As Object, e As EventArgs) Handles Me.Load + Text = "VECTO " & VECTOvers & " / VectoCore " & COREvers + End Sub + + 'Open Release Notes + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + If File.Exists(MyAppPath & "User Manual\Release Notes.pdf") Then + Process.Start(MyAppPath & "User Manual\Release Notes.pdf") + Else + MsgBox("Release Notes not found!", MsgBoxStyle.Critical) + End If + End Sub + + 'Open Quick Start Guide + Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click + If File.Exists(MyAppPath & "User Manual\help.html") Then + Process.Start(MyAppPath & "User Manual\help.html") + Else + MsgBox("User manual not found!", MsgBoxStyle.Critical) + End If + End Sub +End Class diff --git a/VECTO/Input Files/cENG.vb b/VECTO/Input Files/Engine.vb similarity index 92% rename from VECTO/Input Files/cENG.vb rename to VECTO/Input Files/Engine.vb index 5a3bdb4493a487302223efd33c497d8a90741ca2..4f3f60a48506e310b144f0bb0dd4fb2bb01d8d44 100644 --- a/VECTO/Input Files/cENG.vb +++ b/VECTO/Input Files/Engine.vb @@ -1,289 +1,289 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Imports System.Collections.Generic -Imports System.IO -Imports TUGraz.VECTO.Input_Files - -''' <summary> -''' Engine input file -''' </summary> -''' <remarks></remarks> -Public Class cENG - ''' <summary> - ''' Current format version - ''' </summary> - ''' <remarks></remarks> - Private Const FormatVersion As Short = 3 - - ''' <summary> - ''' Format version of input file. Defined in ReadFile. - ''' </summary> - ''' <remarks></remarks> - Private FileVersion As Short - - ''' <summary> - ''' Engine description (model, type, etc.). Saved in input file. - ''' </summary> - ''' <remarks></remarks> - Public ModelName As String - - ''' <summary> - ''' Engine displacement [ccm]. Saved in input file. - ''' </summary> - ''' <remarks></remarks> - Public Displ As Single - - ''' <summary> - ''' Idling speed [1/min]. Saved in input file. - ''' </summary> - ''' <remarks></remarks> - Public Nidle As Single - - ''' <summary> - ''' Rotational inertia including flywheel [kgm²]. Saved in input file. Overwritten by generic value in Declaration mode. - ''' </summary> - ''' <remarks></remarks> - Public I_mot As Single - - ''' <summary> - ''' List of full load/motoring curve files (.vfld) - ''' </summary> - ''' <remarks></remarks> - Public fFLD As cSubPath - - ''' <summary> - ''' Path to fuel consumption map - ''' </summary> - ''' <remarks></remarks> - Private fMAP As cSubPath - - ''' <summary> - ''' Directory of engine file. Defined in FilePath property (Set) - ''' </summary> - ''' <remarks></remarks> - Private MyPath As String - - ''' <summary> - ''' Full file path. Needs to be defined via FilePath property before calling ReadFile or SaveFile. - ''' </summary> - ''' <remarks></remarks> - Private sFilePath As String - - - ''' <summary> - ''' WHTC Urban test results. Saved in input file. - ''' </summary> - ''' <remarks></remarks> - Public WHTCurban As Single - - ''' <summary> - ''' WHTC Rural test results. Saved in input file. - ''' </summary> - ''' <remarks></remarks> - Public WHTCrural As Single - - ''' <summary> - ''' WHTC Motorway test results. Saved in input file. - ''' </summary> - ''' <remarks></remarks> - Public WHTCmw As Single - - - - Public SavedInDeclMode As Boolean - - - ''' <summary> - ''' New instance. Initialise - ''' </summary> - ''' <remarks></remarks> - Public Sub New() - MyPath = "" - sFilePath = "" - fMAP = New cSubPath - fFLD = New cSubPath - SetDefault() - End Sub - - ''' <summary> - ''' Set default values - ''' </summary> - ''' <remarks></remarks> - Private Sub SetDefault() - ModelName = "Undefined" - Displ = 0 - Nidle = 0 - I_mot = 0 - - - fMAP.Clear() - fFLD.Clear() - - WHTCurban = 0 - WHTCrural = 0 - WHTCmw = 0 - - SavedInDeclMode = False - End Sub - - ''' <summary> - ''' Save file. <see cref="P:VECTO.cENG.FilePath" /> must be set before calling. - ''' </summary> - ''' <returns>True if successful.</returns> - ''' <remarks></remarks> - Public Function SaveFile() As Boolean - Dim JSON As New JSON - Dim dic As Dictionary(Of String, Object) - - 'Header - dic = New Dictionary(Of String, Object) - dic.Add("CreatedBy", Lic.LicString & " (" & Lic.GUID & ")") - dic.Add("Date", Now.ToUniversalTime().ToString("o")) - dic.Add("AppVersion", VECTOvers) - dic.Add("FileVersion", FormatVersion) - JSON.Content.Add("Header", dic) - - 'Body - dic = New Dictionary(Of String, Object) - - dic.Add("SavedInDeclMode", Cfg.DeclMode) - SavedInDeclMode = Cfg.DeclMode - - dic.Add("ModelName", ModelName) - - dic.Add("Displacement", Displ) - dic.Add("IdlingSpeed", Nidle) - dic.Add("Inertia", I_mot) - - dic.Add("FullLoadCurve", fFLD.PathOrDummy) - - dic.Add("FuelMap", fMAP.PathOrDummy) - - dic.Add("WHTC-Urban", WHTCurban) - dic.Add("WHTC-Rural", WHTCrural) - dic.Add("WHTC-Motorway", WHTCmw) - - - JSON.Content.Add("Body", dic) - - - Return JSON.WriteFile(sFilePath) - End Function - - ''' <summary> - ''' Read file. <see cref="P:VECTO.cENG.FilePath" /> must be set before calling. - ''' </summary> - ''' <returns>True if successful.</returns> - ''' <remarks></remarks> - Public Function ReadFile(Optional ByVal ShowMsg As Boolean = True) As Boolean - Dim MsgSrc As String - Dim JSON As New JSON - - MsgSrc = "ENG/ReadFile" - - SetDefault() - - - If Not JSON.ReadFile(sFilePath) Then Return False - - Try - - FileVersion = JSON.Content("Header")("FileVersion") - - If FileVersion > 1 Then - SavedInDeclMode = JSON.Content("Body")("SavedInDeclMode") - Else - SavedInDeclMode = Cfg.DeclMode - End If - - ModelName = JSON.Content("Body")("ModelName") - - Displ = JSON.Content("Body")("Displacement") - Nidle = JSON.Content("Body")("IdlingSpeed") - I_mot = JSON.Content("Body")("Inertia") - - If FileVersion < 3 Then - fFLD.Init(MyPath, JSON.Content("Body")("FullLoadCurves")(0)("Path")) - Else - fFLD.Init(MyPath, JSON.Content("Body")("FullLoadCurve")) - End If - - fMAP.Init(MyPath, JSON.Content("Body")("FuelMap")) - - If FileVersion > 2 AndAlso Not JSON.Content("Body")("WHTC-Urban") Is Nothing Then - WHTCurban = CSng(JSON.Content("Body")("WHTC-Urban")) - WHTCrural = CSng(JSON.Content("Body")("WHTC-Rural")) - WHTCmw = CSng(JSON.Content("Body")("WHTC-Motorway")) - End If - - Catch ex As Exception - If ShowMsg Then WorkerMsg(tMsgID.Err, "Failed to read VECTO file! " & ex.Message, MsgSrc) - Return False - End Try - - Return True - End Function - - - ''' <summary> - ''' Get or set Filepath before calling <see cref="M:VECTO.cENG.ReadFile" /> or <see cref="M:VECTO.cENG.SaveFile" /> - ''' </summary> - ''' <value></value> - ''' <returns>Full filepath</returns> - ''' <remarks></remarks> - Public Property FilePath() As String - Get - Return sFilePath - End Get - Set(ByVal value As String) - sFilePath = value - If sFilePath = "" Then - MyPath = "" - Else - MyPath = Path.GetDirectoryName(sFilePath) & "\" - End If - End Set - End Property - - - Public Property PathFLD(Optional ByVal Original As Boolean = False) As String - Get - If Original Then - Return fFLD.OriginalPath - Else - Return fFLD.FullPath - End If - End Get - Set(ByVal value As String) - fFLD.Init(MyPath, value) - End Set - End Property - - ''' <summary> - ''' Get or set file path (cSubPath) to FC map (.vmap) - ''' </summary> - ''' <param name="Original">True= (relative) file path as saved in file; False= full file path</param> - ''' <value></value> - ''' <returns>Relative or absolute file path to FC map</returns> - ''' <remarks></remarks> - Public Property PathMAP(Optional ByVal Original As Boolean = False) As String - Get - If Original Then - Return fMAP.OriginalPath - Else - Return fMAP.FullPath - End If - End Get - Set(ByVal value As String) - fMAP.Init(MyPath, value) - End Set - End Property -End Class +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.Collections.Generic +Imports System.IO +Imports TUGraz.VECTO.Input_Files + +''' <summary> +''' Engine input file +''' </summary> +''' <remarks></remarks> +Public Class Engine + ''' <summary> + ''' Current format version + ''' </summary> + ''' <remarks></remarks> + Private Const FormatVersion As Short = 3 + + ''' <summary> + ''' Format version of input file. Defined in ReadFile. + ''' </summary> + ''' <remarks></remarks> + Private FileVersion As Short + + ''' <summary> + ''' Engine description (model, type, etc.). Saved in input file. + ''' </summary> + ''' <remarks></remarks> + Public ModelName As String + + ''' <summary> + ''' Engine displacement [ccm]. Saved in input file. + ''' </summary> + ''' <remarks></remarks> + Public Displ As Single + + ''' <summary> + ''' Idling speed [1/min]. Saved in input file. + ''' </summary> + ''' <remarks></remarks> + Public Nidle As Single + + ''' <summary> + ''' Rotational inertia including flywheel [kgm²]. Saved in input file. Overwritten by generic value in Declaration mode. + ''' </summary> + ''' <remarks></remarks> + Public I_mot As Single + + ''' <summary> + ''' List of full load/motoring curve files (.vfld) + ''' </summary> + ''' <remarks></remarks> + Public ReadOnly fFLD As SubPath + + ''' <summary> + ''' Path to fuel consumption map + ''' </summary> + ''' <remarks></remarks> + Private ReadOnly fMAP As SubPath + + ''' <summary> + ''' Directory of engine file. Defined in FilePath property (Set) + ''' </summary> + ''' <remarks></remarks> + Private MyPath As String + + ''' <summary> + ''' Full file path. Needs to be defined via FilePath property before calling ReadFile or SaveFile. + ''' </summary> + ''' <remarks></remarks> + Private sFilePath As String + + + ''' <summary> + ''' WHTC Urban test results. Saved in input file. + ''' </summary> + ''' <remarks></remarks> + Public WHTCurban As Single + + ''' <summary> + ''' WHTC Rural test results. Saved in input file. + ''' </summary> + ''' <remarks></remarks> + Public WHTCrural As Single + + ''' <summary> + ''' WHTC Motorway test results. Saved in input file. + ''' </summary> + ''' <remarks></remarks> + Public WHTCmw As Single + + + + Public SavedInDeclMode As Boolean + + + ''' <summary> + ''' New instance. Initialise + ''' </summary> + ''' <remarks></remarks> + Public Sub New() + MyPath = "" + sFilePath = "" + fMAP = New SubPath + fFLD = New SubPath + SetDefault() + End Sub + + ''' <summary> + ''' Set default values + ''' </summary> + ''' <remarks></remarks> + Private Sub SetDefault() + ModelName = "Undefined" + Displ = 0 + Nidle = 0 + I_mot = 0 + + + fMAP.Clear() + fFLD.Clear() + + WHTCurban = 0 + WHTCrural = 0 + WHTCmw = 0 + + SavedInDeclMode = False + End Sub + + ''' <summary> + ''' Save file. <see cref="P:VECTO.cENG.FilePath" /> must be set before calling. + ''' </summary> + ''' <returns>True if successful.</returns> + ''' <remarks></remarks> + Public Function SaveFile() As Boolean + Dim JSON As New JSONParser + Dim dic As Dictionary(Of String, Object) + + 'Header + dic = New Dictionary(Of String, Object) + dic.Add("CreatedBy", Lic.LicString & " (" & Lic.GUID & ")") + dic.Add("Date", Now.ToUniversalTime().ToString("o")) + dic.Add("AppVersion", VECTOvers) + dic.Add("FileVersion", FormatVersion) + JSON.Content.Add("Header", dic) + + 'Body + dic = New Dictionary(Of String, Object) + + dic.Add("SavedInDeclMode", Cfg.DeclMode) + SavedInDeclMode = Cfg.DeclMode + + dic.Add("ModelName", ModelName) + + dic.Add("Displacement", Displ) + dic.Add("IdlingSpeed", Nidle) + dic.Add("Inertia", I_mot) + + dic.Add("FullLoadCurve", fFLD.PathOrDummy) + + dic.Add("FuelMap", fMAP.PathOrDummy) + + dic.Add("WHTC-Urban", WHTCurban) + dic.Add("WHTC-Rural", WHTCrural) + dic.Add("WHTC-Motorway", WHTCmw) + + + JSON.Content.Add("Body", dic) + + + Return JSON.WriteFile(sFilePath) + End Function + + ''' <summary> + ''' Read file. <see cref="P:VECTO.cENG.FilePath" /> must be set before calling. + ''' </summary> + ''' <returns>True if successful.</returns> + ''' <remarks></remarks> + Public Function ReadFile(Optional ByVal ShowMsg As Boolean = True) As Boolean + Dim MsgSrc As String + Dim JSON As New JSONParser + + MsgSrc = "ENG/ReadFile" + + SetDefault() + + + If Not JSON.ReadFile(sFilePath) Then Return False + + Try + + FileVersion = JSON.Content("Header")("FileVersion") + + If FileVersion > 1 Then + SavedInDeclMode = JSON.Content("Body")("SavedInDeclMode") + Else + SavedInDeclMode = Cfg.DeclMode + End If + + ModelName = JSON.Content("Body")("ModelName") + + Displ = JSON.Content("Body")("Displacement") + Nidle = JSON.Content("Body")("IdlingSpeed") + I_mot = JSON.Content("Body")("Inertia") + + If FileVersion < 3 Then + fFLD.Init(MyPath, JSON.Content("Body")("FullLoadCurves")(0)("Path")) + Else + fFLD.Init(MyPath, JSON.Content("Body")("FullLoadCurve")) + End If + + fMAP.Init(MyPath, JSON.Content("Body")("FuelMap")) + + If FileVersion > 2 AndAlso Not JSON.Content("Body")("WHTC-Urban") Is Nothing Then + WHTCurban = CSng(JSON.Content("Body")("WHTC-Urban")) + WHTCrural = CSng(JSON.Content("Body")("WHTC-Rural")) + WHTCmw = CSng(JSON.Content("Body")("WHTC-Motorway")) + End If + + Catch ex As Exception + If ShowMsg Then WorkerMsg(MessageType.Err, "Failed to read VECTO file! " & ex.Message, MsgSrc) + Return False + End Try + + Return True + End Function + + + ''' <summary> + ''' Get or set Filepath before calling <see cref="M:VECTO.cENG.ReadFile" /> or <see cref="M:VECTO.cENG.SaveFile" /> + ''' </summary> + ''' <value></value> + ''' <returns>Full filepath</returns> + ''' <remarks></remarks> + Public Property FilePath() As String + Get + Return sFilePath + End Get + Set(ByVal value As String) + sFilePath = value + If sFilePath = "" Then + MyPath = "" + Else + MyPath = Path.GetDirectoryName(sFilePath) & "\" + End If + End Set + End Property + + + Public Property PathFLD(Optional ByVal Original As Boolean = False) As String + Get + If Original Then + Return fFLD.OriginalPath + Else + Return fFLD.FullPath + End If + End Get + Set(ByVal value As String) + fFLD.Init(MyPath, value) + End Set + End Property + + ''' <summary> + ''' Get or set file path (cSubPath) to FC map (.vmap) + ''' </summary> + ''' <param name="Original">True= (relative) file path as saved in file; False= full file path</param> + ''' <value></value> + ''' <returns>Relative or absolute file path to FC map</returns> + ''' <remarks></remarks> + Public Property PathMAP(Optional ByVal Original As Boolean = False) As String + Get + If Original Then + Return fMAP.OriginalPath + Else + Return fMAP.FullPath + End If + End Get + Set(ByVal value As String) + fMAP.Init(MyPath, value) + End Set + End Property +End Class diff --git a/VECTO/Input Files/cFLD.vb b/VECTO/Input Files/EngineFullLoadCurve.vb similarity index 88% rename from VECTO/Input Files/cFLD.vb rename to VECTO/Input Files/EngineFullLoadCurve.vb index 1f5ed9738297a93ea398c7c9053ad06d4c06057f..e5ed5ff910716cb30531b3cce53d3518899efa59 100644 --- a/VECTO/Input Files/cFLD.vb +++ b/VECTO/Input Files/EngineFullLoadCurve.vb @@ -1,510 +1,510 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Imports System.Collections.Generic - -''' <summary> -''' Full load/motoring curve input file -''' </summary> -''' <remarks></remarks> -Public Class cFLD - ''' <summary> - ''' Full file path. Needs to be defined via FilePath property before calling ReadFile or SaveFile. - ''' </summary> - ''' <remarks></remarks> - Private sFilePath As String - - ''' <summary> - ''' List of full load torque values [Nm] - ''' </summary> - ''' <remarks></remarks> - Public LTq As List(Of Single) - - ''' <summary> - ''' List of motoring torque values [Nm] - ''' </summary> - ''' <remarks></remarks> - Public LTqDrag As List(Of Single) - - ''' <summary> - ''' List of engine speed values [1/min] - ''' </summary> - ''' <remarks></remarks> - Public LnU As List(Of Single) - - ''' <summary> - ''' List of PT1 values [s] - ''' </summary> - ''' <remarks></remarks> - Private LPT1 As List(Of Single) - - ''' <summary> - ''' Last index of lists (items count - 1) - ''' </summary> - ''' <remarks></remarks> - Private iDim As Integer - - ''' <summary> - ''' Nlo [1/min]. Lowest enging speed with 55% of max. power. Defined in Init. - ''' </summary> - ''' <remarks></remarks> - Public Nlo As Single - - ''' <summary> - ''' Nhi [1/min]. Highest engine speed with 70% of max. power. Defined in Init. - ''' </summary> - ''' <remarks></remarks> - Public Nhi As Single - - ''' <summary> - ''' Npref [1/min]. Speed at 51% torque/speed-integral between idling and N95h. Defined in Init. - ''' </summary> - ''' <remarks></remarks> - Public Npref As Single - - ''' <summary> - ''' N95h [1/min]. Highest engine speed with 95% of max. power. Defined in Init. - ''' </summary> - ''' <remarks></remarks> - Public N95h As Single - - ''' <summary> - ''' N80h [1/min]. Highest engine speed with 80% of max. power. Defined in Init. - ''' </summary> - ''' <remarks></remarks> - Public N80h As Single - - ''' <summary> - ''' Read file. FilePath must be set before calling. - ''' </summary> - ''' <returns>True if successful.</returns> - ''' <remarks></remarks> - Public Function ReadFile(ByVal TqOnly As Boolean, Optional ByVal ShowMsg As Boolean = True) As Boolean - Dim file As cFile_V3 - Dim line As String() - Dim PT1set As Boolean - Dim FirstLine As Boolean - Dim nU As Double - Dim MsgSrc As String - - MsgSrc = "Main/ReadInp/FLD" - - 'Reset - LTq = Nothing - LTqDrag = Nothing - LnU = Nothing - LPT1 = Nothing - iDim = -1 - - 'Stop if there's no file - If sFilePath = "" OrElse Not IO.File.Exists(sFilePath) Then - If ShowMsg Then WorkerMsg(tMsgID.Err, "FLD file '" & sFilePath & "' not found!", MsgSrc) - Return False - End If - - 'Open file - file = New cFile_V3 - If Not file.OpenRead(sFilePath) Then - If ShowMsg Then WorkerMsg(tMsgID.Err, "Failed to open file (" & sFilePath & ") !", MsgSrc) - - Return False - End If - - 'Skip Header - file.ReadLine() - - 'Initialize Lists - LTq = New List(Of Single) - LTqDrag = New List(Of Single) - LnU = New List(Of Single) - LPT1 = New List(Of Single) - - FirstLine = True - Try - - Do While Not file.EndOfFile - - 'Read Line - line = file.ReadLine - - 'VECTO: M => Pe - nU = CDbl(line(0)) - - LnU.Add(nU) - LTq.Add(CDbl(line(1))) - - If TqOnly Then - LTqDrag.Add(0) - Else - LTqDrag.Add(CDbl(line(2))) - End If - - If FirstLine Then - PT1set = (Not TqOnly) AndAlso (UBound(line) > 2) - FirstLine = False - End If - - 'If PT1 not defined, use default value (0) - If PT1set Then - LPT1.Add(CSng(line(3))) - Else - LPT1.Add(0) - End If - - 'Line-counter up (was reset in ResetMe) - iDim += 1 - - - Loop - - Catch ex As Exception - - If ShowMsg Then _ - WorkerMsg(tMsgID.Err, "Error during file read! Line number: " & iDim + 1 & " (" & sFilePath & ")", MsgSrc, sFilePath) - GoTo lbEr - - End Try - - - 'Close file - file.Close() - - Return True - - - 'ERROR-label for clean Abort -lbEr: - file.Close() - - - Return False - End Function - - ''' <summary> - ''' Returns stationary full load power [kW] at given engine speed. - ''' </summary> - ''' <param name="nU">engine speed [1/min]</param> - ''' <returns>stationary full load power [kW]</returns> - ''' <remarks></remarks> - Public Function Pfull(ByVal nU As Single) As Single - Dim i As Int32 - - 'Extrapolation for x < x(1) - If LnU(0) >= nU Then - 'If LnU(0) > nU Then MODdata.ModErrors.FLDextrapol = "n= " & nU & " [1/min]" - i = 1 - GoTo lbInt - End If - - i = 0 - Do While LnU(i) < nU And i < iDim - i += 1 - Loop - - 'Extrapolation for x > x(imax) - If LnU(i) < nU Then - 'MODdata.ModErrors.FLDextrapol = "n= " & nU & " [1/min]" - End If - -lbInt: - 'Interpolation - Return nMtoPe(nU, (nU - LnU(i - 1)) * (LTq(i) - LTq(i - 1)) / (LnU(i) - LnU(i - 1)) + LTq(i - 1)) - End Function - - ''' <summary> - ''' Returns stationary full load torque [Nm] at given engine speed. - ''' </summary> - ''' <param name="nU">engine speed [1/min]</param> - ''' <returns>stationary full load torque [Nm]</returns> - ''' <remarks></remarks> - Public Function Tq(ByVal nU As Single) As Single - Dim i As Int32 - - 'Extrapolation for x < x(1) - If LnU(0) >= nU Then - 'If LnU(0) > nU Then MODdata.ModErrors.FLDextrapol = "n= " & nU & " [1/min]" - i = 1 - GoTo lbInt - End If - - i = 0 - Do While LnU(i) < nU And i < iDim - i += 1 - Loop - - 'Extrapolation for x > x(imax) - If LnU(i) < nU Then - 'MODdata.ModErrors.FLDextrapol = "n= " & nU & " [1/min]" - End If - -lbInt: - 'Interpolation - Return (nU - LnU(i - 1)) * (LTq(i) - LTq(i - 1)) / (LnU(i) - LnU(i - 1)) + LTq(i - 1) - End Function - - ''' <summary> - ''' Calculates and returns Npref [1/min]. Speed at 51% torque/speed-integral between idling and N95h. Defined in Init. - ''' </summary> - ''' <returns>Npref [1/min]</returns> - ''' <remarks></remarks> - Public Function fNpref(ByVal Nidle As Single) As Single - Dim i As Integer - Dim Amax As Single - Dim N95h As Single - Dim n As Single - Dim T0 As Single - Dim dn As Single - Dim A As Single - Dim k As Single - - - dn = 0.001 - - N95h = fnUofPfull(0.95 * Pfull(fnUrated), False) - - If N95h < 0 Then Return -1 - - Amax = Area(Nidle, N95h) - - For i = 0 To iDim - 1 - - If Area(Nidle, LnU(i + 1)) > 0.51 * Amax Then - - n = LnU(i) - T0 = LTq(i) - A = Area(Nidle, n) - - k = (LTq(i + 1) - LTq(i)) / (LnU(i + 1) - LnU(i)) - - Do While A < 0.51 * Amax - n += dn - A += dn * (2 * T0 + k * dn) / 2 - Loop - - Exit For - - End If - - Next - - Return n - End Function - - ''' <summary> - ''' Calculates torque/speed-integral between two engine speed limits. Used for Npref. - ''' </summary> - ''' <param name="nFrom">lower engine speed limit [1/min]</param> - ''' <param name="nTo">upper engine speed limit [1/min]</param> - ''' <returns>torque/speed-integral between nFrom and nTo [Nm/min]</returns> - ''' <remarks></remarks> - Private Function Area(ByVal nFrom As Single, ByVal nTo As Single) As Single - Dim A As Single - Dim i As Integer - - - A = 0 - For i = 1 To iDim - - If LnU(i - 1) >= nTo Then Exit For - - If LnU(i - 1) >= nFrom Then - - - If LnU(i) <= nTo Then - - 'Add full segment - A += (LnU(i) - LnU(i - 1)) * (LTq(i) + LTq(i - 1)) / 2 - - Else - - 'Add segment till nTo - A += (nTo - LnU(i - 1)) * (Tq(nTo) + LTq(i - 1)) / 2 - - End If - - Else - - If LnU(i) > nFrom Then - - 'Add segment starting from nFrom - A += (LnU(i) - nFrom) * (LTq(i) + Tq(nFrom)) / 2 - - End If - - End If - - Next - - Return A - End Function - - ''' <summary> - ''' Calculates and returns engine speed at maximum power [1/min]. - ''' </summary> - ''' <returns>engine speed at maximum power [1/min]</returns> - ''' <remarks></remarks> - Public Function fnUrated() As Single - Dim PeMax As Single - Dim nU As Single - Dim nUmax As Single - Dim nUrated As Single - Dim dnU As Single - Dim P As Single - - dnU = 1 - PeMax = 0 - nU = LnU(0) - nUmax = LnU(iDim) - nUrated = nU - - Do - P = nMtoPe(nU, Tq(nU)) - If P > PeMax Then - PeMax = P - nUrated = nU - End If - nU += dnU - Loop Until nU > nUmax - - Return nUrated - End Function - - ''' <summary> - ''' Calculates and returns lowest or highest engine speed at given full load power [1/min]. - ''' </summary> - ''' <param name="PeTarget">full load power [kW]</param> - ''' <param name="FromLeft">True= lowest engine speed; False= highest engine speed</param> - ''' <returns>lowest or highest engine speed at given full load power [1/min]</returns> - ''' <remarks></remarks> - Public Function fnUofPfull(ByVal PeTarget As Single, ByVal FromLeft As Boolean) As Single - Dim Pe As Single - Dim LastPe As Single - Dim nU As Single - Dim nUmin As Single - Dim nUmax As Single - Dim nUtarget As Single - Dim dnU As Single - - dnU = 1 - nUmin = LnU(0) - nUmax = LnU(iDim) - - If FromLeft Then - - nU = nUmin - LastPe = nMtoPe(nU, Tq(nU)) - nUtarget = nU - - If LastPe > PeTarget Then Return -1 - - Do - Pe = nMtoPe(nU, Tq(nU)) - - If Pe > PeTarget Then - If Math.Abs(LastPe - PeTarget) < Math.Abs(Pe - PeTarget) Then - Return nU - dnU - Else - Return nU - End If - End If - - LastPe = Pe - nU += dnU - Loop Until nU > nUmax - - Else - - nU = nUmax - LastPe = nMtoPe(nU, Tq(nU)) - nUtarget = nU - - If LastPe > PeTarget Then Return -1 - - Do - Pe = nMtoPe(nU, Tq(nU)) - - If Pe > PeTarget Then - If Math.Abs(LastPe - PeTarget) < Math.Abs(Pe - PeTarget) Then - Return nU + dnU - Else - Return nU - End If - End If - - LastPe = Pe - nU -= dnU - Loop Until nU < nUmin - - End If - - Return nUtarget - End Function - - Public Function Init(ByVal Nidle As Single) As Boolean - Dim Pmax As Single - Dim MsgSrc As String - - MsgSrc = "Main/ReadInp/Eng.Init" - - Pmax = Pfull(fnUrated) - - Nlo = fnUofPfull(0.55 * Pmax, True) - - If Nlo < 0 Then - WorkerMsg(tMsgID.Err, "Failed to calculate Nlo! Expand full load curve!", MsgSrc) - Return False - End If - - N95h = fnUofPfull(0.95 * Pmax, False) - - If N95h < 0 Then - WorkerMsg(tMsgID.Err, "Failed to calculate N95h! Expand full load curve!", MsgSrc) - Return False - End If - - N80h = fnUofPfull(0.8 * Pmax, False) - - If N80h < 0 Then - WorkerMsg(tMsgID.Err, "Failed to calculate N80h! Expand full load curve!", MsgSrc) - Return False - End If - - Npref = fNpref(Nidle) - - If Npref < 0 Then - WorkerMsg(tMsgID.Err, "Failed to calculate Npref! Expand full load curve!", MsgSrc) - Return False - End If - - Nhi = fnUofPfull(0.7 * Pmax, False) - - If Nhi < 0 Then - WorkerMsg(tMsgID.Err, "Failed to calculate Nhi! Expand full load curve!", MsgSrc) - Return False - End If - - Return True - End Function - - ''' <summary> - ''' Get or set Filepath before calling ReadFile - ''' </summary> - ''' <value></value> - ''' <returns>Full filepath</returns> - ''' <remarks></remarks> - Public Property FilePath() As String - Get - Return sFilePath - End Get - Set(ByVal value As String) - sFilePath = value - End Set - End Property -End Class +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.Collections.Generic + +''' <summary> +''' Full load/motoring curve input file +''' </summary> +''' <remarks></remarks> +Public Class EngineFullLoadCurve + ''' <summary> + ''' Full file path. Needs to be defined via FilePath property before calling ReadFile or SaveFile. + ''' </summary> + ''' <remarks></remarks> + Private sFilePath As String + + ''' <summary> + ''' List of full load torque values [Nm] + ''' </summary> + ''' <remarks></remarks> + Public LTq As List(Of Single) + + ''' <summary> + ''' List of motoring torque values [Nm] + ''' </summary> + ''' <remarks></remarks> + Public LTqDrag As List(Of Single) + + ''' <summary> + ''' List of engine speed values [1/min] + ''' </summary> + ''' <remarks></remarks> + Public LnU As List(Of Single) + + ''' <summary> + ''' List of PT1 values [s] + ''' </summary> + ''' <remarks></remarks> + Private LPT1 As List(Of Single) + + ''' <summary> + ''' Last index of lists (items count - 1) + ''' </summary> + ''' <remarks></remarks> + Private iDim As Integer + + ''' <summary> + ''' Nlo [1/min]. Lowest enging speed with 55% of max. power. Defined in Init. + ''' </summary> + ''' <remarks></remarks> + Public Nlo As Single + + ''' <summary> + ''' Nhi [1/min]. Highest engine speed with 70% of max. power. Defined in Init. + ''' </summary> + ''' <remarks></remarks> + Public Nhi As Single + + ''' <summary> + ''' Npref [1/min]. Speed at 51% torque/speed-integral between idling and N95h. Defined in Init. + ''' </summary> + ''' <remarks></remarks> + Public Npref As Single + + ''' <summary> + ''' N95h [1/min]. Highest engine speed with 95% of max. power. Defined in Init. + ''' </summary> + ''' <remarks></remarks> + Public N95h As Single + + ''' <summary> + ''' N80h [1/min]. Highest engine speed with 80% of max. power. Defined in Init. + ''' </summary> + ''' <remarks></remarks> + Public N80h As Single + + ''' <summary> + ''' Read file. FilePath must be set before calling. + ''' </summary> + ''' <returns>True if successful.</returns> + ''' <remarks></remarks> + Public Function ReadFile(ByVal TqOnly As Boolean, Optional ByVal ShowMsg As Boolean = True) As Boolean + Dim file As CsvFile + Dim line As String() + Dim PT1set As Boolean + Dim FirstLine As Boolean + Dim nU As Double + Dim MsgSrc As String + + MsgSrc = "Main/ReadInp/FLD" + + 'Reset + LTq = Nothing + LTqDrag = Nothing + LnU = Nothing + LPT1 = Nothing + iDim = -1 + + 'Stop if there's no file + If sFilePath = "" OrElse Not IO.File.Exists(sFilePath) Then + If ShowMsg Then WorkerMsg(MessageType.Err, "FLD file '" & sFilePath & "' not found!", MsgSrc) + Return False + End If + + 'Open file + file = New CsvFile + If Not file.OpenRead(sFilePath) Then + If ShowMsg Then WorkerMsg(MessageType.Err, "Failed to open file (" & sFilePath & ") !", MsgSrc) + + Return False + End If + + 'Skip Header + file.ReadLine() + + 'Initialize Lists + LTq = New List(Of Single) + LTqDrag = New List(Of Single) + LnU = New List(Of Single) + LPT1 = New List(Of Single) + + FirstLine = True + Try + + Do While Not file.EndOfFile + + 'Read Line + line = file.ReadLine + + 'VECTO: M => Pe + nU = CDbl(line(0)) + + LnU.Add(nU) + LTq.Add(CDbl(line(1))) + + If TqOnly Then + LTqDrag.Add(0) + Else + LTqDrag.Add(CDbl(line(2))) + End If + + If FirstLine Then + PT1set = (Not TqOnly) AndAlso (UBound(line) > 2) + FirstLine = False + End If + + 'If PT1 not defined, use default value (0) + If PT1set Then + LPT1.Add(CSng(line(3))) + Else + LPT1.Add(0) + End If + + 'Line-counter up (was reset in ResetMe) + iDim += 1 + + + Loop + + Catch ex As Exception + + If ShowMsg Then _ + WorkerMsg(MessageType.Err, "Error during file read! Line number: " & iDim + 1 & " (" & sFilePath & ")", MsgSrc, sFilePath) + GoTo lbEr + + End Try + + + 'Close file + file.Close() + + Return True + + + 'ERROR-label for clean Abort +lbEr: + file.Close() + + + Return False + End Function + + ''' <summary> + ''' Returns stationary full load power [kW] at given engine speed. + ''' </summary> + ''' <param name="nU">engine speed [1/min]</param> + ''' <returns>stationary full load power [kW]</returns> + ''' <remarks></remarks> + Public Function Pfull(ByVal nU As Single) As Single + Dim i As Int32 + + 'Extrapolation for x < x(1) + If LnU(0) >= nU Then + 'If LnU(0) > nU Then MODdata.ModErrors.FLDextrapol = "n= " & nU & " [1/min]" + i = 1 + GoTo lbInt + End If + + i = 0 + Do While LnU(i) < nU And i < iDim + i += 1 + Loop + + 'Extrapolation for x > x(imax) + If LnU(i) < nU Then + 'MODdata.ModErrors.FLDextrapol = "n= " & nU & " [1/min]" + End If + +lbInt: + 'Interpolation + Return nMtoPe(nU, (nU - LnU(i - 1)) * (LTq(i) - LTq(i - 1)) / (LnU(i) - LnU(i - 1)) + LTq(i - 1)) + End Function + + ''' <summary> + ''' Returns stationary full load torque [Nm] at given engine speed. + ''' </summary> + ''' <param name="nU">engine speed [1/min]</param> + ''' <returns>stationary full load torque [Nm]</returns> + ''' <remarks></remarks> + Public Function Tq(ByVal nU As Single) As Single + Dim i As Int32 + + 'Extrapolation for x < x(1) + If LnU(0) >= nU Then + 'If LnU(0) > nU Then MODdata.ModErrors.FLDextrapol = "n= " & nU & " [1/min]" + i = 1 + GoTo lbInt + End If + + i = 0 + Do While LnU(i) < nU And i < iDim + i += 1 + Loop + + 'Extrapolation for x > x(imax) + If LnU(i) < nU Then + 'MODdata.ModErrors.FLDextrapol = "n= " & nU & " [1/min]" + End If + +lbInt: + 'Interpolation + Return (nU - LnU(i - 1)) * (LTq(i) - LTq(i - 1)) / (LnU(i) - LnU(i - 1)) + LTq(i - 1) + End Function + + ''' <summary> + ''' Calculates and returns Npref [1/min]. Speed at 51% torque/speed-integral between idling and N95h. Defined in Init. + ''' </summary> + ''' <returns>Npref [1/min]</returns> + ''' <remarks></remarks> + Public Function fNpref(ByVal Nidle As Single) As Single + Dim i As Integer + Dim Amax As Single + Dim N95h As Single + Dim n As Single + Dim T0 As Single + Dim dn As Single + Dim A As Single + Dim k As Single + + + dn = 0.001 + + N95h = fnUofPfull(0.95 * Pfull(fnUrated), False) + + If N95h < 0 Then Return -1 + + Amax = Area(Nidle, N95h) + + For i = 0 To iDim - 1 + + If Area(Nidle, LnU(i + 1)) > 0.51 * Amax Then + + n = LnU(i) + T0 = LTq(i) + A = Area(Nidle, n) + + k = (LTq(i + 1) - LTq(i)) / (LnU(i + 1) - LnU(i)) + + Do While A < 0.51 * Amax + n += dn + A += dn * (2 * T0 + k * dn) / 2 + Loop + + Exit For + + End If + + Next + + Return n + End Function + + ''' <summary> + ''' Calculates torque/speed-integral between two engine speed limits. Used for Npref. + ''' </summary> + ''' <param name="nFrom">lower engine speed limit [1/min]</param> + ''' <param name="nTo">upper engine speed limit [1/min]</param> + ''' <returns>torque/speed-integral between nFrom and nTo [Nm/min]</returns> + ''' <remarks></remarks> + Private Function Area(ByVal nFrom As Single, ByVal nTo As Single) As Single + Dim A As Single + Dim i As Integer + + + A = 0 + For i = 1 To iDim + + If LnU(i - 1) >= nTo Then Exit For + + If LnU(i - 1) >= nFrom Then + + + If LnU(i) <= nTo Then + + 'Add full segment + A += (LnU(i) - LnU(i - 1)) * (LTq(i) + LTq(i - 1)) / 2 + + Else + + 'Add segment till nTo + A += (nTo - LnU(i - 1)) * (Tq(nTo) + LTq(i - 1)) / 2 + + End If + + Else + + If LnU(i) > nFrom Then + + 'Add segment starting from nFrom + A += (LnU(i) - nFrom) * (LTq(i) + Tq(nFrom)) / 2 + + End If + + End If + + Next + + Return A + End Function + + ''' <summary> + ''' Calculates and returns engine speed at maximum power [1/min]. + ''' </summary> + ''' <returns>engine speed at maximum power [1/min]</returns> + ''' <remarks></remarks> + Public Function fnUrated() As Single + Dim PeMax As Single + Dim nU As Single + Dim nUmax As Single + Dim nUrated As Single + Dim dnU As Single + Dim P As Single + + dnU = 1 + PeMax = 0 + nU = LnU(0) + nUmax = LnU(iDim) + nUrated = nU + + Do + P = nMtoPe(nU, Tq(nU)) + If P > PeMax Then + PeMax = P + nUrated = nU + End If + nU += dnU + Loop Until nU > nUmax + + Return nUrated + End Function + + ''' <summary> + ''' Calculates and returns lowest or highest engine speed at given full load power [1/min]. + ''' </summary> + ''' <param name="PeTarget">full load power [kW]</param> + ''' <param name="FromLeft">True= lowest engine speed; False= highest engine speed</param> + ''' <returns>lowest or highest engine speed at given full load power [1/min]</returns> + ''' <remarks></remarks> + Public Function fnUofPfull(ByVal PeTarget As Single, ByVal FromLeft As Boolean) As Single + Dim Pe As Single + Dim LastPe As Single + Dim nU As Single + Dim nUmin As Single + Dim nUmax As Single + Dim nUtarget As Single + Dim dnU As Single + + dnU = 1 + nUmin = LnU(0) + nUmax = LnU(iDim) + + If FromLeft Then + + nU = nUmin + LastPe = nMtoPe(nU, Tq(nU)) + nUtarget = nU + + If LastPe > PeTarget Then Return -1 + + Do + Pe = nMtoPe(nU, Tq(nU)) + + If Pe > PeTarget Then + If Math.Abs(LastPe - PeTarget) < Math.Abs(Pe - PeTarget) Then + Return nU - dnU + Else + Return nU + End If + End If + + LastPe = Pe + nU += dnU + Loop Until nU > nUmax + + Else + + nU = nUmax + LastPe = nMtoPe(nU, Tq(nU)) + nUtarget = nU + + If LastPe > PeTarget Then Return -1 + + Do + Pe = nMtoPe(nU, Tq(nU)) + + If Pe > PeTarget Then + If Math.Abs(LastPe - PeTarget) < Math.Abs(Pe - PeTarget) Then + Return nU + dnU + Else + Return nU + End If + End If + + LastPe = Pe + nU -= dnU + Loop Until nU < nUmin + + End If + + Return nUtarget + End Function + + Public Function Init(ByVal Nidle As Single) As Boolean + Dim Pmax As Single + Dim MsgSrc As String + + MsgSrc = "Main/ReadInp/Eng.Init" + + Pmax = Pfull(fnUrated) + + Nlo = fnUofPfull(0.55 * Pmax, True) + + If Nlo < 0 Then + WorkerMsg(MessageType.Err, "Failed to calculate Nlo! Expand full load curve!", MsgSrc) + Return False + End If + + N95h = fnUofPfull(0.95 * Pmax, False) + + If N95h < 0 Then + WorkerMsg(MessageType.Err, "Failed to calculate N95h! Expand full load curve!", MsgSrc) + Return False + End If + + N80h = fnUofPfull(0.8 * Pmax, False) + + If N80h < 0 Then + WorkerMsg(MessageType.Err, "Failed to calculate N80h! Expand full load curve!", MsgSrc) + Return False + End If + + Npref = fNpref(Nidle) + + If Npref < 0 Then + WorkerMsg(MessageType.Err, "Failed to calculate Npref! Expand full load curve!", MsgSrc) + Return False + End If + + Nhi = fnUofPfull(0.7 * Pmax, False) + + If Nhi < 0 Then + WorkerMsg(MessageType.Err, "Failed to calculate Nhi! Expand full load curve!", MsgSrc) + Return False + End If + + Return True + End Function + + ''' <summary> + ''' Get or set Filepath before calling ReadFile + ''' </summary> + ''' <value></value> + ''' <returns>Full filepath</returns> + ''' <remarks></remarks> + Public Property FilePath() As String + Get + Return sFilePath + End Get + Set(ByVal value As String) + sFilePath = value + End Set + End Property +End Class diff --git a/VECTO/Input Files/cMAP.vb b/VECTO/Input Files/FuelconsumptionMap.vb similarity index 59% rename from VECTO/Input Files/cMAP.vb rename to VECTO/Input Files/FuelconsumptionMap.vb index 0f8494554d40a919950db7b254545af53f3098de..2b1e55b2fc807bb8cbac798c8b7608c82f671044 100644 --- a/VECTO/Input Files/cMAP.vb +++ b/VECTO/Input Files/FuelconsumptionMap.vb @@ -10,25 +10,23 @@ ' See the LICENSE.txt for the specific language governing permissions and limitations. Imports System.Collections.Generic -Public Class cMAP +Public Class FuelconsumptionMap 'Implements IFuelConsumptionMap - Private LnU As List(Of Single) - Private LTq As List(Of Single) - Private lFC As List(Of Single) + Private _angularSpeedList As List(Of Single) + Private _torqueList As List(Of Single) + Private _fuelconsumptionList As List(Of Single) - Private sFilePath As String - Private iMapDim As Integer + Private _filePath As String Private Sub ResetMe() - lFC = Nothing - LTq = Nothing - LnU = Nothing - iMapDim = -1 + _fuelconsumptionList = Nothing + _torqueList = Nothing + _angularSpeedList = Nothing End Sub Public Function ReadFile(Optional ByVal ShowMsg As Boolean = True) As Boolean - Dim file As cFile_V3 + Dim file As CsvFile Dim line As String() Dim nU As Double Dim MsgSrc As String @@ -40,16 +38,16 @@ Public Class cMAP ResetMe() 'Stop if there's no file - If sFilePath = "" OrElse Not IO.File.Exists(sFilePath) Then - If ShowMsg Then WorkerMsg(tMsgID.Err, "Map file not found! (" & sFilePath & ")", MsgSrc) + If _filePath = "" OrElse Not IO.File.Exists(_filePath) Then + If ShowMsg Then WorkerMsg(MessageType.Err, "Map file not found! (" & _filePath & ")", MsgSrc) Return False End If 'Open file - file = New cFile_V3 - If Not file.OpenRead(sFilePath) Then + file = New CsvFile + If Not file.OpenRead(_filePath) Then - If ShowMsg Then WorkerMsg(tMsgID.Err, "Failed to open file (" & sFilePath & ") !", MsgSrc) + If ShowMsg Then WorkerMsg(MessageType.Err, "Failed to open file (" & _filePath & ") !", MsgSrc) Return False End If @@ -57,9 +55,11 @@ Public Class cMAP file.ReadLine() 'Initi Lists (before version check so ReadOldFormat works) - lFC = New List(Of Single) - LTq = New List(Of Single) - LnU = New List(Of Single) + _fuelconsumptionList = New List(Of Single) + _torqueList = New List(Of Single) + _angularSpeedList = New List(Of Single) + + Dim lineCount As Integer = -1 Try Do While Not file.EndOfFile @@ -68,33 +68,33 @@ Public Class cMAP line = file.ReadLine 'Line counter up (was reset in ResetMe) - iMapDim += 1 + lineCount += 1 'Revolutions nU = CDbl(line(0)) - LnU.Add(nU) + _angularSpeedList.Add(nU) 'Power - LTq.Add(line(1)) + _torqueList.Add(line(1)) 'FC 'Check sign If CSng(line(2)) < 0 Then file.Close() - If ShowMsg Then WorkerMsg(tMsgID.Err, "FC < 0 in map at " & nU & " [1/min], " & line(1) & " [Nm]", MsgSrc) + If ShowMsg Then WorkerMsg(MessageType.Err, "FC < 0 in map at " & nU & " [1/min], " & line(1) & " [Nm]", MsgSrc) Return False End If - lFC.Add(CSng(line(2))) + _fuelconsumptionList.Add(CSng(line(2))) Loop Catch ex As Exception If ShowMsg Then _ - WorkerMsg(tMsgID.Err, "Error during file read! Line number " & iMapDim + 1 & " (" & sFilePath & ")", MsgSrc, - sFilePath) + WorkerMsg(MessageType.Err, "Error during file read! Line number " & lineCount + 1 & " (" & _filePath & ")", MsgSrc, + _filePath) GoTo lbEr End Try @@ -119,22 +119,22 @@ lbEr: Public Property FilePath() As String Get - Return sFilePath + Return _filePath End Get Set(ByVal value As String) - sFilePath = value + _filePath = value End Set End Property Public ReadOnly Property Tq As List(Of Single) Get - Return LTq + Return _torqueList End Get End Property Public ReadOnly Property nU As List(Of Single) Get - Return LnU + Return _angularSpeedList End Get End Property diff --git a/VECTO/Input Files/cGBX.vb b/VECTO/Input Files/Gearbox.vb similarity index 61% rename from VECTO/Input Files/cGBX.vb rename to VECTO/Input Files/Gearbox.vb index 609dbf4a1dcf0df3985f43e572e99c3bda2b82c9..3f8bfd83ddcbe72786647dd6799db50e719b166e 100644 --- a/VECTO/Input Files/cGBX.vb +++ b/VECTO/Input Files/Gearbox.vb @@ -1,331 +1,331 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Imports System.Collections.Generic -Imports System.IO -Imports TUGraz.VECTO.Input_Files -Imports TUGraz.VectoCommon.Models -Imports TUGraz.VectoCommon.Utils - -Public Class cGBX - Private Const FormatVersion As Short = 6 - Private FileVersion As Short - - Private MyPath As String - Private sFilePath As String - - Public ModelName As String - Public GbxInertia As Single - Public TracIntrSi As Single - - Public Igetr As List(Of Single) - Public GetrMaps As List(Of cSubPath) - 'Public IsTCgear As List(Of Boolean) - - 'Gear shift polygons - Public gs_files As List(Of cSubPath) - - Public MaxTorque As List(Of String) - - Public gs_TorqueResv As Single - Public gs_SkipGears As Boolean - Public gs_ShiftTime As Integer - Public gs_TorqueResvStart As Single - Public gs_StartSpeed As Single - Public gs_StartAcc As Single - Public gs_ShiftInside As Boolean - - Public gs_Type As GearboxType - - 'Torque Converter Input - Public TCon As Boolean - Public TCrefrpm As Single - Private TC_file As New cSubPath - Public TCinertia As Single - - - Public SavedInDeclMode As Boolean - Public UpshiftMinAcceleration As Single - Public DownshiftAfterUpshift As Single - Public UpshiftAfterDownshift As Single - Public TCshiftFile As String - - - Public Sub New() - MyPath = "" - sFilePath = "" - SetDefault() - End Sub - - Private Sub SetDefault() - - ModelName = "" - GbxInertia = 0 - TracIntrSi = 0 - - Igetr = New List(Of Single) - GetrMaps = New List(Of cSubPath) - gs_files = New List(Of cSubPath) - MaxTorque = New List(Of String) - - gs_TorqueResv = 0 - gs_SkipGears = False - gs_ShiftTime = 0 - gs_TorqueResvStart = 0 - gs_StartSpeed = 0 - gs_StartAcc = 0 - gs_ShiftInside = False - - gs_Type = GearboxType.MT - - TCon = False - TCrefrpm = 0 - TC_file.Clear() - - TCinertia = 0 - - SavedInDeclMode = False - End Sub - - Public Function SaveFile() As Boolean - Dim i As Integer - Dim JSON As New JSON - Dim dic As Dictionary(Of String, Object) - Dim dic0 As Dictionary(Of String, Object) - Dim ls As List(Of Object) - - 'Header - dic = New Dictionary(Of String, Object) - dic.Add("CreatedBy", Lic.LicString & " (" & Lic.GUID & ")") - dic.Add("Date", Now.ToUniversalTime().ToString("o")) - dic.Add("AppVersion", VECTOvers) - dic.Add("FileVersion", FormatVersion) - JSON.Content.Add("Header", dic) - - 'Body - dic = New Dictionary(Of String, Object) - - dic.Add("SavedInDeclMode", Cfg.DeclMode) - SavedInDeclMode = Cfg.DeclMode - - dic.Add("ModelName", ModelName) - - dic.Add("Inertia", GbxInertia) - dic.Add("TracInt", TracIntrSi) - - ls = New List(Of Object) - For i = 0 To Igetr.Count - 1 - dic0 = New Dictionary(Of String, Object) - dic0.Add("Ratio", Igetr(i)) - If IsNumeric(GetrMap(i, True)) Then - dic0.Add("Efficiency", GetrMaps(i).PathOrDummy) - Else - dic0.Add("LossMap", GetrMaps(i).PathOrDummy) - End If - If i > 0 Then - dic0.Add("ShiftPolygon", gs_files(i).PathOrDummy) - dic0.Add("MaxTorque", MaxTorque(i)) - End If - - ls.Add(dic0) - Next - dic.Add("Gears", ls) - - dic.Add("TqReserve", gs_TorqueResv) - dic.Add("SkipGears", gs_SkipGears) - dic.Add("ShiftTime", gs_ShiftTime) - dic.Add("EaryShiftUp", gs_ShiftInside) - - dic.Add("StartTqReserve", gs_TorqueResvStart) - dic.Add("StartSpeed", gs_StartSpeed) - dic.Add("StartAcc", gs_StartAcc) - - dic.Add("GearboxType", gs_Type) - - dic0 = New Dictionary(Of String, Object) - dic0.Add("Enabled", TCon) - dic0.Add("File", TC_file.PathOrDummy) - dic0.Add("RefRPM", TCrefrpm) - dic0.Add("Inertia", TCinertia) - dic0.Add("ShiftPolygon", TCshiftFile) - dic.Add("TorqueConverter", dic0) - - - dic.Add("DownshiftAferUpshiftDelay", DownshiftAfterUpshift) - dic.Add("UpshiftAfterDownshiftDelay", UpshiftAfterDownshift) - dic.Add("UpshiftMinAcceleration", UpshiftMinAcceleration) - - JSON.Content.Add("Body", dic) - - Return JSON.WriteFile(sFilePath) - End Function - - Public Function ReadFile(Optional ByVal ShowMsg As Boolean = True) As Boolean - Dim i As Integer - Dim MsgSrc As String - Dim JSON As New JSON - Dim dic As Object - - MsgSrc = "GBX/ReadFile" - - SetDefault() - - If Not JSON.ReadFile(sFilePath) Then Return False - - Try - - FileVersion = JSON.Content("Header")("FileVersion") - - If FileVersion > 3 Then - SavedInDeclMode = JSON.Content("Body")("SavedInDeclMode") - Else - SavedInDeclMode = Cfg.DeclMode - End If - - ModelName = JSON.Content("Body")("ModelName") - GbxInertia = JSON.Content("Body")("Inertia") - TracIntrSi = JSON.Content("Body")("TracInt") - - i = -1 - For Each dic In JSON.Content("Body")("Gears") - i += 1 - - Igetr.Add(dic("Ratio")) - GetrMaps.Add(New cSubPath) - - If dic("Efficiency") Is Nothing Then - GetrMaps(i).Init(MyPath, dic("LossMap")) - Else - GetrMaps(i).Init(MyPath, dic("Efficiency")) - End If - - MaxTorque.Add(dic("MaxTorque")) - gs_files.Add(New cSubPath) - - If i = 0 Then - gs_files(i).Init(MyPath, sKey.NoFile) - Else - If FileVersion < 2 Then - gs_files(i).Init(MyPath, JSON.Content("Body")("ShiftPolygons")) - Else - gs_files(i).Init(MyPath, dic("ShiftPolygon")) - End If - End If - - Next - - gs_TorqueResv = JSON.Content("Body")("TqReserve") - gs_SkipGears = JSON.Content("Body")("SkipGears") - gs_ShiftTime = JSON.Content("Body")("ShiftTime") - gs_TorqueResvStart = JSON.Content("Body")("StartTqReserve") - gs_StartSpeed = JSON.Content("Body")("StartSpeed") - gs_StartAcc = JSON.Content("Body")("StartAcc") - gs_ShiftInside = JSON.Content("Body")("EaryShiftUp") - - gs_Type = JSON.Content("Body")("GearboxType").ToString.ParseEnum(Of GearboxType)() - - If JSON.Content("Body")("UpshiftMinAcceleration") Is Nothing Then - UpshiftMinAcceleration = 0.1 - Else - UpshiftMinAcceleration = JSON.Content("Body")("UpshiftMinAcceleration") - End If - If JSON.Content("Body")("DownshiftAferUpshiftDelay") Is Nothing Then - DownshiftAfterUpshift = 10 - Else - DownshiftAfterUpshift = JSON.Content("Body")("DownshiftAferUpshiftDelay") - End If - - If JSON.Content("Body")("UpshiftAfterDownshiftDelay") Is Nothing Then - UpshiftAfterDownshift = 10 - Else - UpshiftAfterDownshift = JSON.Content("Body")("UpshiftAfterDownshiftDelay") - End If - - - If JSON.Content("Body")("TorqueConverter") Is Nothing Then - TCon = False - Else - TCon = JSON.Content("Body")("TorqueConverter")("Enabled") - TC_file.Init(MyPath, JSON.Content("Body")("TorqueConverter")("File")) - TCrefrpm = JSON.Content("Body")("TorqueConverter")("RefRPM") - If FileVersion > 2 Then - TCinertia = JSON.Content("Body")("TorqueConverter")("Inertia") - End If - If FileVersion > 5 Then - TCshiftFile = JSON.Content("Body")("TorqueConverter")("ShiftPolygon") - End If - End If - Catch ex As Exception - If ShowMsg Then WorkerMsg(tMsgID.Err, "Failed to read VECTO file! " & ex.Message, MsgSrc) - Return False - End Try - - Return True - End Function - - - Public Function GearCount() As Integer - Return Igetr.Count - 1 - End Function - - - Public Property FilePath() As String - Get - Return sFilePath - End Get - Set(ByVal value As String) - sFilePath = value - If sFilePath = "" Then - MyPath = "" - Else - MyPath = Path.GetDirectoryName(sFilePath) & "\" - End If - End Set - End Property - - Public Property GetrMap(ByVal x As Short, Optional ByVal Original As Boolean = False) As String - Get - If Original Then - Return GetrMaps(x).OriginalPath - Else - Return GetrMaps(x).FullPath - End If - End Get - Set(ByVal value As String) - GetrMaps(x).Init(MyPath, value) - End Set - End Property - - Public Property gsFile(ByVal x As Short, Optional ByVal Original As Boolean = False) As String - Get - If Original Then - Return gs_files(x).OriginalPath - Else - Return gs_files(x).FullPath - End If - End Get - Set(value As String) - gs_files(x).Init(MyPath, value) - End Set - End Property - - Public Property TCfile(Optional ByVal Original As Boolean = False) As String - Get - If Original Then - Return TC_file.OriginalPath - Else - Return TC_file.FullPath - End If - End Get - Set(value As String) - TC_file.Init(MyPath, value) - End Set - End Property -End Class +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.Collections.Generic +Imports System.IO +Imports TUGraz.VECTO.Input_Files +Imports TUGraz.VectoCommon.Models +Imports TUGraz.VectoCommon.Utils + +Public Class Gearbox + Private Const FormatVersion As Short = 6 + Private _fileVersion As Short + + Private _myPath As String + Private _filePath As String + + Public ModelName As String + Public GbxInertia As Single + Public TracIntrSi As Single + + Public Igetr As List(Of Single) + Public GetrMaps As List(Of SubPath) + 'Public IsTCgear As List(Of Boolean) + + 'Gear shift polygons + Public gs_files As List(Of SubPath) + + Public MaxTorque As List(Of String) + + Public TorqueResv As Single + Public SkipGears As Boolean + Public ShiftTime As Integer + Public TorqueResvStart As Single + Public StartSpeed As Single + Public StartAcc As Single + Public ShiftInside As Boolean + + Public Type As GearboxType + + 'Torque Converter Input + Public TorqueConverterEnabled As Boolean + Public TorqueConverterReferenceRpm As Single + Private ReadOnly TorqueConverterFile As New SubPath + Public TorqueConverterInertia As Single + + + Public SavedInDeclMode As Boolean + Public UpshiftMinAcceleration As Single + Public DownshiftAfterUpshift As Single + Public UpshiftAfterDownshift As Single + Public TCshiftFile As String + + + Public Sub New() + _myPath = "" + _filePath = "" + SetDefault() + End Sub + + Private Sub SetDefault() + + ModelName = "" + GbxInertia = 0 + TracIntrSi = 0 + + Igetr = New List(Of Single) + GetrMaps = New List(Of SubPath) + gs_files = New List(Of SubPath) + MaxTorque = New List(Of String) + + TorqueResv = 0 + SkipGears = False + ShiftTime = 0 + TorqueResvStart = 0 + StartSpeed = 0 + StartAcc = 0 + ShiftInside = False + + Type = GearboxType.MT + + TorqueConverterEnabled = False + TorqueConverterReferenceRpm = 0 + TorqueConverterFile.Clear() + + TorqueConverterInertia = 0 + + SavedInDeclMode = False + End Sub + + Public Function SaveFile() As Boolean + Dim i As Integer + Dim JSON As New JSONParser + Dim dic As Dictionary(Of String, Object) + Dim dic0 As Dictionary(Of String, Object) + Dim ls As List(Of Object) + + 'Header + dic = New Dictionary(Of String, Object) + dic.Add("CreatedBy", Lic.LicString & " (" & Lic.GUID & ")") + dic.Add("Date", Now.ToUniversalTime().ToString("o")) + dic.Add("AppVersion", VECTOvers) + dic.Add("FileVersion", FormatVersion) + JSON.Content.Add("Header", dic) + + 'Body + dic = New Dictionary(Of String, Object) + + dic.Add("SavedInDeclMode", Cfg.DeclMode) + SavedInDeclMode = Cfg.DeclMode + + dic.Add("ModelName", ModelName) + + dic.Add("Inertia", GbxInertia) + dic.Add("TracInt", TracIntrSi) + + ls = New List(Of Object) + For i = 0 To Igetr.Count - 1 + dic0 = New Dictionary(Of String, Object) + dic0.Add("Ratio", Igetr(i)) + If IsNumeric(GetrMap(i, True)) Then + dic0.Add("Efficiency", GetrMaps(i).PathOrDummy) + Else + dic0.Add("LossMap", GetrMaps(i).PathOrDummy) + End If + If i > 0 Then + dic0.Add("ShiftPolygon", gs_files(i).PathOrDummy) + dic0.Add("MaxTorque", MaxTorque(i)) + End If + + ls.Add(dic0) + Next + dic.Add("Gears", ls) + + dic.Add("TqReserve", TorqueResv) + dic.Add("SkipGears", SkipGears) + dic.Add("ShiftTime", ShiftTime) + dic.Add("EaryShiftUp", ShiftInside) + + dic.Add("StartTqReserve", TorqueResvStart) + dic.Add("StartSpeed", StartSpeed) + dic.Add("StartAcc", StartAcc) + + dic.Add("GearboxType", Type) + + dic0 = New Dictionary(Of String, Object) + dic0.Add("Enabled", TorqueConverterEnabled) + dic0.Add("File", TorqueConverterFile.PathOrDummy) + dic0.Add("RefRPM", TorqueConverterReferenceRpm) + dic0.Add("Inertia", TorqueConverterInertia) + dic0.Add("ShiftPolygon", TCshiftFile) + dic.Add("TorqueConverter", dic0) + + + dic.Add("DownshiftAferUpshiftDelay", DownshiftAfterUpshift) + dic.Add("UpshiftAfterDownshiftDelay", UpshiftAfterDownshift) + dic.Add("UpshiftMinAcceleration", UpshiftMinAcceleration) + + JSON.Content.Add("Body", dic) + + Return JSON.WriteFile(_filePath) + End Function + + Public Function ReadFile(Optional ByVal ShowMsg As Boolean = True) As Boolean + Dim i As Integer + Dim MsgSrc As String + Dim JSON As New JSONParser + Dim dic As Object + + MsgSrc = "GBX/ReadFile" + + SetDefault() + + If Not JSON.ReadFile(_filePath) Then Return False + + Try + + _fileVersion = JSON.Content("Header")("FileVersion") + + If _fileVersion > 3 Then + SavedInDeclMode = JSON.Content("Body")("SavedInDeclMode") + Else + SavedInDeclMode = Cfg.DeclMode + End If + + ModelName = JSON.Content("Body")("ModelName") + GbxInertia = JSON.Content("Body")("Inertia") + TracIntrSi = JSON.Content("Body")("TracInt") + + i = -1 + For Each dic In JSON.Content("Body")("Gears") + i += 1 + + Igetr.Add(dic("Ratio")) + GetrMaps.Add(New SubPath) + + If dic("Efficiency") Is Nothing Then + GetrMaps(i).Init(_myPath, dic("LossMap")) + Else + GetrMaps(i).Init(_myPath, dic("Efficiency")) + End If + + MaxTorque.Add(dic("MaxTorque")) + gs_files.Add(New SubPath) + + If i = 0 Then + gs_files(i).Init(_myPath, sKey.NoFile) + Else + If _fileVersion < 2 Then + gs_files(i).Init(_myPath, JSON.Content("Body")("ShiftPolygons")) + Else + gs_files(i).Init(_myPath, dic("ShiftPolygon")) + End If + End If + + Next + + TorqueResv = JSON.Content("Body")("TqReserve") + SkipGears = JSON.Content("Body")("SkipGears") + ShiftTime = JSON.Content("Body")("ShiftTime") + TorqueResvStart = JSON.Content("Body")("StartTqReserve") + StartSpeed = JSON.Content("Body")("StartSpeed") + StartAcc = JSON.Content("Body")("StartAcc") + ShiftInside = JSON.Content("Body")("EaryShiftUp") + + Type = JSON.Content("Body")("GearboxType").ToString.ParseEnum(Of GearboxType)() + + If JSON.Content("Body")("UpshiftMinAcceleration") Is Nothing Then + UpshiftMinAcceleration = 0.1 + Else + UpshiftMinAcceleration = JSON.Content("Body")("UpshiftMinAcceleration") + End If + If JSON.Content("Body")("DownshiftAferUpshiftDelay") Is Nothing Then + DownshiftAfterUpshift = 10 + Else + DownshiftAfterUpshift = JSON.Content("Body")("DownshiftAferUpshiftDelay") + End If + + If JSON.Content("Body")("UpshiftAfterDownshiftDelay") Is Nothing Then + UpshiftAfterDownshift = 10 + Else + UpshiftAfterDownshift = JSON.Content("Body")("UpshiftAfterDownshiftDelay") + End If + + + If JSON.Content("Body")("TorqueConverter") Is Nothing Then + TorqueConverterEnabled = False + Else + TorqueConverterEnabled = JSON.Content("Body")("TorqueConverter")("Enabled") + TorqueConverterFile.Init(_myPath, JSON.Content("Body")("TorqueConverter")("File")) + TorqueConverterReferenceRpm = JSON.Content("Body")("TorqueConverter")("RefRPM") + If _fileVersion > 2 Then + TorqueConverterInertia = JSON.Content("Body")("TorqueConverter")("Inertia") + End If + If _fileVersion > 5 Then + TCshiftFile = JSON.Content("Body")("TorqueConverter")("ShiftPolygon") + End If + End If + Catch ex As Exception + If ShowMsg Then WorkerMsg(MessageType.Err, "Failed to read VECTO file! " & ex.Message, MsgSrc) + Return False + End Try + + Return True + End Function + + + Public Function GearCount() As Integer + Return Igetr.Count - 1 + End Function + + + Public Property FilePath() As String + Get + Return _filePath + End Get + Set(ByVal value As String) + _filePath = value + If _filePath = "" Then + _myPath = "" + Else + _myPath = Path.GetDirectoryName(_filePath) & "\" + End If + End Set + End Property + + Public Property GetrMap(ByVal x As Short, Optional ByVal Original As Boolean = False) As String + Get + If Original Then + Return GetrMaps(x).OriginalPath + Else + Return GetrMaps(x).FullPath + End If + End Get + Set(ByVal value As String) + GetrMaps(x).Init(_myPath, value) + End Set + End Property + + Public Property gsFile(ByVal x As Short, Optional ByVal Original As Boolean = False) As String + Get + If Original Then + Return gs_files(x).OriginalPath + Else + Return gs_files(x).FullPath + End If + End Get + Set(value As String) + gs_files(x).Init(_myPath, value) + End Set + End Property + + Public Property TCfile(Optional ByVal Original As Boolean = False) As String + Get + If Original Then + Return TorqueConverterFile.OriginalPath + Else + Return TorqueConverterFile.FullPath + End If + End Get + Set(value As String) + TorqueConverterFile.Init(_myPath, value) + End Set + End Property +End Class diff --git a/VECTO/Input Files/cSubPath.vb b/VECTO/Input Files/SubPath.vb similarity index 63% rename from VECTO/Input Files/cSubPath.vb rename to VECTO/Input Files/SubPath.vb index aac138b4e214b8e67f6be8abca403a21493e5430..011151ed1664eb1de9d91eb406f55e209ead9d2c 100644 --- a/VECTO/Input Files/cSubPath.vb +++ b/VECTO/Input Files/SubPath.vb @@ -1,81 +1,74 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Namespace Input_Files - - Public Class cSubPath - - Private sFullPath As String - Private sOglPath As String - Private bDefined As Boolean - - Public Sub New() - bDefined = False - End Sub - - Public Sub Init(ByVal ParentDir As String, ByVal Path As String) - If fFileOrNot(Path) = "" Then - bDefined = False - Else - bDefined = True - sOglPath = Path - sFullPath = fFileRepl(Path, ParentDir) - End If - End Sub - - Private Function fFileOrNot(ByVal f As String) As String - If Trim(UCase(f)) = sKey.NoFile Then - Return "" - Else - Return f - End If - End Function - - - Public Sub Clear() - bDefined = False - End Sub - - Public ReadOnly Property FullPath() As String - Get - If bDefined Then - Return sFullPath - Else - Return "" - End If - End Get - End Property - - Public ReadOnly Property OriginalPath() As String - Get - If bDefined Then - Return sOglPath - Else - Return "" - End If - End Get - End Property - - Public ReadOnly Property PathOrDummy() As String - Get - If bDefined Then - Return sOglPath - Else - Return sKey.NoFile - End If - End Get - End Property - - - - - - End Class -End NameSpace \ No newline at end of file +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Namespace Input_Files + Public Class SubPath + Private _fullPath As String + Private _originalPath As String + Private _valid As Boolean + + Public Sub New() + _valid = False + End Sub + + Public Sub Init(parentDir As String, path As String) + If CheckFilenameGiven(path) = "" Then + _valid = False + Else + _valid = True + _originalPath = path + _fullPath = fFileRepl(path, parentDir) + End If + End Sub + + Private Function CheckFilenameGiven(f As String) As String + If Trim(UCase(f)) = sKey.NoFile Then + Return "" + Else + Return f + End If + End Function + + + Public Sub Clear() + _valid = False + End Sub + + Public ReadOnly Property FullPath() As String + Get + If _valid Then + Return _fullPath + Else + Return "" + End If + End Get + End Property + + Public ReadOnly Property OriginalPath() As String + Get + If _valid Then + Return _originalPath + Else + Return "" + End If + End Get + End Property + + Public ReadOnly Property PathOrDummy() As String + Get + If _valid Then + Return _originalPath + Else + Return sKey.NoFile + End If + End Get + End Property + End Class +End Namespace \ No newline at end of file diff --git a/VECTO/Input Files/cVECTO.vb b/VECTO/Input Files/VectoJob.vb similarity index 89% rename from VECTO/Input Files/cVECTO.vb rename to VECTO/Input Files/VectoJob.vb index beff758414d3c5c636680d5f8b2ec085bf9aa297..bac43a76bbd47b97698c55e5f4f40bf016bb3c0a 100644 --- a/VECTO/Input Files/cVECTO.vb +++ b/VECTO/Input Files/VectoJob.vb @@ -17,7 +17,7 @@ Imports System.Linq Imports Newtonsoft.Json.Linq Imports TUGraz.VECTO.Input_Files -Public Class cVECTO +Public Class VectoJob Private Const FormatVersion As Short = 3 'AA-TB @@ -30,21 +30,21 @@ Public Class cVECTO Private _myPath As String 'Input parameters - Private ReadOnly _stPathVeh As cSubPath - Private ReadOnly _stPathEng As cSubPath - Private ReadOnly _stPathGbx As cSubPath + Private ReadOnly _stPathVeh As SubPath + Private ReadOnly _stPathEng As SubPath + Private ReadOnly _stPathGbx As SubPath Private _boStartStop As Boolean Private _siStStV As Single Private _siStStT As Single Public StStDelay As Integer - Private ReadOnly _driverAccelerationFile As cSubPath + Private ReadOnly _driverAccelerationFile As SubPath Public ReadOnly AuxPaths As Dictionary(Of String, AuxEntry) 'Alle Nebenverbraucher die in der Veh-Datei UND im Zyklus definiert sind - Public ReadOnly CycleFiles As List(Of cSubPath) + Public ReadOnly CycleFiles As List(Of SubPath) Public EngOnly As Boolean @@ -59,11 +59,11 @@ Public Class cVECTO Public Class AuxEntry Public Type As String - Public ReadOnly Path As cSubPath + Public ReadOnly Path As SubPath Public TechStr As String = "" Public Sub New() - Path = New cSubPath + Path = New SubPath End Sub End Class @@ -72,19 +72,19 @@ Public Class cVECTO _myPath = "" _sFilePath = "" - _stPathVeh = New cSubPath - _stPathEng = New cSubPath - _stPathGbx = New cSubPath + _stPathVeh = New SubPath + _stPathEng = New SubPath + _stPathGbx = New SubPath - _driverAccelerationFile = New cSubPath + _driverAccelerationFile = New SubPath AuxPaths = New Dictionary(Of String, AuxEntry) - CycleFiles = New List(Of cSubPath) + CycleFiles = New List(Of SubPath) End Sub Public Function SaveFile() As Boolean - Dim json As New JSON + Dim json As New JSONParser 'Header json.Content.Add("Header", New Dictionary(Of String, Object) From { @@ -162,7 +162,7 @@ Public Class cVECTO SetDefault() - Dim json As New JSON + Dim json As New JSONParser If Not json.ReadFile(_sFilePath) Then Return False Try @@ -186,7 +186,7 @@ Public Class cVECTO If Not body("Cycles") Is Nothing Then For Each str As String In body("Cycles") - Dim subPath = New cSubPath + Dim subPath = New SubPath subPath.Init(_myPath, str) CycleFiles.Add(subPath) Next @@ -212,7 +212,7 @@ Public Class cVECTO Dim auxId As String = UCase(Trim(dic("ID").ToString)) If AuxPaths.ContainsKey(auxId) Then - WorkerMsg(tMsgID.Err, "Multiple definitions of the same auxiliary type (" & auxId & ")!", msgSrc) + WorkerMsg(MessageType.Err, "Multiple definitions of the same auxiliary type (" & auxId & ")!", msgSrc) Return False End If @@ -233,7 +233,7 @@ Public Class cVECTO If (auxId = sKey.AUX.HVAC) Then If Not String.IsNullOrWhiteSpace(auxEntry.TechStr) Then auxEntry.TechStr = "" - WorkerMsg(tMsgID.Normal, "Aux: Automatically Upgraded HVAC to new format.", msgSrc) + WorkerMsg(MessageType.Normal, "Aux: Automatically Upgraded HVAC to new format.", msgSrc) End If End If @@ -252,7 +252,7 @@ Public Class cVECTO Else auxEntry.TechStr = "Standard technology - LED headlights, all" End If - WorkerMsg(tMsgID.Normal, "Aux: Automatically Upgraded Electric System to new format: '" + auxEntry.TechStr + "'", + WorkerMsg(MessageType.Normal, "Aux: Automatically Upgraded Electric System to new format: '" + auxEntry.TechStr + "'", msgSrc) End If End If @@ -260,10 +260,10 @@ Public Class cVECTO If auxId = sKey.AUX.SteerPump Then Select Case auxEntry.TechStr Case "Variable displacement" - WorkerMsg(tMsgID.Warn, "Aux: Steering Pump Technology not automatically convertible. Please set new value.", + WorkerMsg(MessageType.Warn, "Aux: Steering Pump Technology not automatically convertible. Please set new value.", msgSrc) Case "Hydraulic supported by electric" - WorkerMsg(tMsgID.Warn, "Aux: Steering Pump Technology not automatically convertible. Please set new value.", + WorkerMsg(MessageType.Warn, "Aux: Steering Pump Technology not automatically convertible. Please set new value.", msgSrc) End Select End If @@ -281,7 +281,7 @@ Public Class cVECTO If fileVersion = 2 AndAlso auxId = sKey.AUX.PneumSys Then auxEntry.TechStr = "" - WorkerMsg(tMsgID.Warn, "Aux: Pneumatic System must be updated. Please set new value.", + WorkerMsg(MessageType.Warn, "Aux: Pneumatic System must be updated. Please set new value.", msgSrc) End If @@ -335,7 +335,7 @@ Public Class cVECTO EcoRollOn = False Case Else - WorkerMsg(tMsgID.Err, "Value '" & dic("Mode").ToString() & "' is not valid for OverSpeedEcoRoll/Mode!", msgSrc) + WorkerMsg(MessageType.Err, "Value '" & dic("Mode").ToString() & "' is not valid for OverSpeedEcoRoll/Mode!", msgSrc) Return False End Select @@ -350,7 +350,7 @@ Public Class cVECTO Catch ex As Exception - WorkerMsg(tMsgID.Err, "Failed to read VECTO file! " & ex.Message, msgSrc) + WorkerMsg(MessageType.Err, "Failed to read VECTO file! " & ex.Message, msgSrc) Return False End Try diff --git a/VECTO/Input Files/cVEH.vb b/VECTO/Input Files/Vehicle.vb similarity index 89% rename from VECTO/Input Files/cVEH.vb rename to VECTO/Input Files/Vehicle.vb index f406bd478e997e28f22a4750686098ea3220f4df..236bf0dd6b5ccd5b614772be5541cc2a7dbe4886 100644 --- a/VECTO/Input Files/cVEH.vb +++ b/VECTO/Input Files/Vehicle.vb @@ -1,286 +1,286 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Option Infer On - -Imports System.Collections.Generic -Imports System.IO -Imports System.Linq -Imports TUGraz.VECTO.Input_Files -Imports TUGraz.VectoCommon.Models -Imports TUGraz.VectoCommon.Utils - - -Public Class cVEH - 'V2 MassMax is now saved in [t] instead of [kg] - Private Const FormatVersion As Short = 7 - Private FileVersion As Short - - Private sFilePath As String - Private MyPath As String - - Public Mass As Single - Public Loading As Single - - Public CdA0 As Single - - Public CdMode As CrossWindCorrectionMode - Public CdFile As cSubPath - Private CdX As List(Of Single) - Private CdY As List(Of Single) - - - Public RtType As RetarderType 'tRtType '0=None, 1=Primary, 2=Secondary - Public RtRatio As Single = 0 - Public RtFile As cSubPath - Private RtnU As List(Of Single) - Private RtM As List(Of Single) - - Public rdyn As Single - Public Axles As List(Of cAxle) - - - Public VehCat As VehicleCategory - Public MassExtra As Single - Public MassMax As Single - Public AxleConf As AxleConfiguration - - Public SavedInDeclMode As Boolean - Public AngularGearType As AngularGearType '0=None, 1=Separate, 2=Included - Public AngularGearRatio As Single - Public AngularGearLossMapFile As cSubPath - - - Public Class cAxle - Public RRC As Single - Public Share As Single - Public TwinTire As Boolean - Public FzISO As Single - Public Wheels As String - Public Inertia As Single - End Class - - - Public Sub New() - MyPath = "" - sFilePath = "" - CdFile = New cSubPath - CdX = New List(Of Single) - CdY = New List(Of Single) - RtFile = New cSubPath - AngularGearLossMapFile = New cSubPath() - RtnU = New List(Of Single) - RtM = New List(Of Single) - Axles = New List(Of cAxle) - SetDefault() - End Sub - - Private Sub SetDefault() - Mass = 0 - MassExtra = 0 - Loading = 0 - CdA0 = 0 - ' CdA0Act = CdA0 - ' CdA02 = 0 - CdFile.Clear() - CdMode = CrossWindCorrectionMode.NoCorrection - CdX.Clear() - CdY.Clear() - - rdyn = 0 - - RtType = RetarderType.None - RtRatio = 1 - RtnU.Clear() - RtM.Clear() - RtFile.Clear() - AngularGearLossMapFile.Clear() - - AngularGearType = AngularGearType.None - AngularGearLossMapFile.Clear() - AngularGearRatio = 1 - - Axles.Clear() - VehCat = VehicleCategory.RigidTruck 'tVehCat.Undef - MassMax = 0 - AxleConf = AxleConfiguration.AxleConfig_4x2 'tAxleConf.Undef - - SavedInDeclMode = False - End Sub - - Public Function ReadFile(Optional showMsg As Boolean = True) As Boolean - Const msgSrc = "VEH/ReadFile" - SetDefault() - - Dim json As New JSON - If Not json.ReadFile(sFilePath) Then Return False - - Try - Dim header = json.Content("Header") - Dim body = json.Content("Body") - - FileVersion = header("FileVersion") - If FileVersion > 4 Then - SavedInDeclMode = body("SavedInDeclMode") - Else - SavedInDeclMode = Cfg.DeclMode - End If - - Mass = body("CurbWeight") - MassExtra = body("CurbWeightExtra") - Loading = body("Loading") - VehCat = body("VehCat").ToString.ParseEnum(Of VehicleCategory)() 'ConvVehCat(body("VehCat").ToString) - AxleConf = AxleConfigurationHelper.Parse(body("AxleConfig")("Type").ToString) - If FileVersion < 2 Then - 'convert kg to ton - MassMax /= 1000 - Else - MassMax = body("MassMax") - End If - - If FileVersion < 7 Then - 'calc CdA from Cd and area value - CdA0 = CSng(body("Cd")) * CSng(body("CrossSecArea")) - Else - CdA0 = body("CdA") - End If - - 'CdA02 = CdA0 - - CdMode = CrossWindCorrectionModeHelper.Parse(body("CdCorrMode").ToString) - If Not body("CdCorrFile") Is Nothing Then - CdFile.Init(MyPath, body("CdCorrFile")) - End If - - If body("Retarder") Is Nothing Then - RtType = RetarderType.None - Else - RtType = RetarderTypeHelper.Parse(body("Retarder")("Type").ToString) - If Not body("Retarder")("Ratio") Is Nothing Then - RtRatio = body("Retarder")("Ratio") - End If - If Not body("Retarder")("File") Is Nothing Then - RtFile.Init(MyPath, body("Retarder")("File")) - End If - End If - - If body("AngularGear") Is Nothing Then - AngularGearType = AngularGearType.None - Else - AngularGearType = body("AngularGear")("Type").ToString.ParseEnum(Of AngularGearType)() - If Not body("AngularGear")("Ratio") Is Nothing Then - AngularGearRatio = body("AngularGear")("Ratio") - End If - If Not body("AngularGear")("LossMap") Is Nothing Then - AngularGearLossMapFile.Init(MyPath, body("AngularGear")("LossMap")) - End If - End If - - Dim inertiaTemp As Single - If FileVersion < 3 Then - inertiaTemp = body("WheelsInertia") - rdyn = 1000 * body("WheelsDiaEff") / 2 - Else - rdyn = body("rdyn") - End If - - Dim axleCount = body("AxleConfig")("Axles").Count() - For Each axleEntry In body("AxleConfig")("Axles") - Dim axle = New cAxle With { - .Share = CSng(axleEntry("AxleWeightShare")), - .TwinTire = CBool(axleEntry("TwinTyres")), - .RRC = CSng(axleEntry("RRCISO")), - .FzISO = CSng(axleEntry("FzISO"))} - - If FileVersion < 3 Then - axle.Wheels = "-" - axle.Inertia = inertiaTemp / (IIf(axle.TwinTire, 4, 2) * axleCount) - Else - axle.Wheels = CStr(axleEntry("Wheels")).Replace("R ", "R") - axle.Inertia = CSng(axleEntry("Inertia")) - End If - Axles.Add(axle) - Next - - Catch ex As Exception - If showMsg Then WorkerMsg(tMsgID.Err, "Failed to read Vehicle file! " & ex.Message, msgSrc) - Return False - End Try - - Return True - End Function - - Public Function SaveFile() As Boolean - SavedInDeclMode = Cfg.DeclMode - - Dim json As New JSON - 'Header - json.Content.Add("Header", New Dictionary(Of String, Object) From { - {"CreatedBy", Lic.LicString & " (" & Lic.GUID & ")"}, - {"Date", Now.ToUniversalTime().ToString("o")}, - {"AppVersion", VECTOvers}, - {"FileVersion", FormatVersion}}) - - 'Body - Dim dic As Dictionary(Of String, Object) - dic = New Dictionary(Of String, Object) From { - {"SavedInDeclMode", Cfg.DeclMode}, - {"VehCat", VehCat.ToString()}, - {"CurbWeight", Mass}, - {"CurbWeightExtra", MassExtra}, - {"Loading", Loading}, - {"MassMax", MassMax}, - {"CdA", CdA0}, - {"rdyn", rdyn}, - {"CdCorrMode", CdMode.GetName()}, - {"CdCorrFile", CdFile.PathOrDummy}, - {"Retarder", New Dictionary(Of String, Object) From { - {"Type", RtType.GetName()}, - {"Ratio", RtRatio}, - {"File", RtFile.PathOrDummy}}}, - {"AngularGear", New Dictionary(Of String, Object) From { - {"Type", AngularGearType.ToString()}, - {"Ratio", AngularGearRatio}, - {"LossMap", AngularGearLossMapFile.PathOrDummy}}}, - {"AxleConfig", New Dictionary(Of String, Object) From { - {"Type", AxleConf.GetName()}, - {"Axles", (From axle In Axles Select New Dictionary(Of String, Object) From { - {"Inertia", axle.Inertia}, - {"Wheels", axle.Wheels}, - {"AxleWeightShare", axle.Share}, - {"TwinTyres", axle.TwinTire}, - {"RRCISO", axle.RRC}, - {"FzISO", axle.FzISO}})}}} - } - - json.Content.Add("Body", dic) - Return json.WriteFile(sFilePath) - End Function - - -#Region "Properties" - - - Public Property FilePath() As String - Get - Return sFilePath - End Get - Set(value As String) - sFilePath = value - If sFilePath = "" Then - MyPath = "" - Else - MyPath = Path.GetDirectoryName(sFilePath) & "\" - End If - End Set - End Property - -#End Region +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Option Infer On + +Imports System.Collections.Generic +Imports System.IO +Imports System.Linq +Imports TUGraz.VECTO.Input_Files +Imports TUGraz.VectoCommon.Models +Imports TUGraz.VectoCommon.Utils + + +Public Class Vehicle + 'V2 MassMax is now saved in [t] instead of [kg] + Private Const FormatVersion As Short = 7 + Private FileVersion As Short + + Private sFilePath As String + Private MyPath As String + + Public Mass As Single + Public Loading As Single + + Public CdA0 As Single + + Public CdMode As CrossWindCorrectionMode + Public ReadOnly CdFile As SubPath + Private ReadOnly CdX As List(Of Single) + Private ReadOnly CdY As List(Of Single) + + + Public RtType As RetarderType 'tRtType '0=None, 1=Primary, 2=Secondary + Public RtRatio As Single = 0 + Public ReadOnly RtFile As SubPath + Private ReadOnly RtnU As List(Of Single) + Private ReadOnly RtM As List(Of Single) + + Public rdyn As Single + Public ReadOnly Axles As List(Of Axle) + + + Public VehCat As VehicleCategory + Public MassExtra As Single + Public MassMax As Single + Public AxleConf As AxleConfiguration + + Public SavedInDeclMode As Boolean + Public AngularGearType As AngularGearType '0=None, 1=Separate, 2=Included + Public AngularGearRatio As Single + Public ReadOnly AngularGearLossMapFile As SubPath + + + Public Class Axle + Public RRC As Single + Public Share As Single + Public TwinTire As Boolean + Public FzISO As Single + Public Wheels As String + Public Inertia As Single + End Class + + + Public Sub New() + MyPath = "" + sFilePath = "" + CdFile = New SubPath + CdX = New List(Of Single) + CdY = New List(Of Single) + RtFile = New SubPath + AngularGearLossMapFile = New SubPath() + RtnU = New List(Of Single) + RtM = New List(Of Single) + Axles = New List(Of Axle) + SetDefault() + End Sub + + Private Sub SetDefault() + Mass = 0 + MassExtra = 0 + Loading = 0 + CdA0 = 0 + ' CdA0Act = CdA0 + ' CdA02 = 0 + CdFile.Clear() + CdMode = CrossWindCorrectionMode.NoCorrection + CdX.Clear() + CdY.Clear() + + rdyn = 0 + + RtType = RetarderType.None + RtRatio = 1 + RtnU.Clear() + RtM.Clear() + RtFile.Clear() + AngularGearLossMapFile.Clear() + + AngularGearType = AngularGearType.None + AngularGearLossMapFile.Clear() + AngularGearRatio = 1 + + Axles.Clear() + VehCat = VehicleCategory.RigidTruck 'tVehCat.Undef + MassMax = 0 + AxleConf = AxleConfiguration.AxleConfig_4x2 'tAxleConf.Undef + + SavedInDeclMode = False + End Sub + + Public Function ReadFile(Optional showMsg As Boolean = True) As Boolean + Const msgSrc = "VEH/ReadFile" + SetDefault() + + Dim json As New JSONParser + If Not json.ReadFile(sFilePath) Then Return False + + Try + Dim header = json.Content("Header") + Dim body = json.Content("Body") + + FileVersion = header("FileVersion") + If FileVersion > 4 Then + SavedInDeclMode = body("SavedInDeclMode") + Else + SavedInDeclMode = Cfg.DeclMode + End If + + Mass = body("CurbWeight") + MassExtra = body("CurbWeightExtra") + Loading = body("Loading") + VehCat = body("VehCat").ToString.ParseEnum(Of VehicleCategory)() 'ConvVehCat(body("VehCat").ToString) + AxleConf = AxleConfigurationHelper.Parse(body("AxleConfig")("Type").ToString) + If FileVersion < 2 Then + 'convert kg to ton + MassMax /= 1000 + Else + MassMax = body("MassMax") + End If + + If FileVersion < 7 Then + 'calc CdA from Cd and area value + CdA0 = CSng(body("Cd")) * CSng(body("CrossSecArea")) + Else + CdA0 = body("CdA") + End If + + 'CdA02 = CdA0 + + CdMode = CrossWindCorrectionModeHelper.Parse(body("CdCorrMode").ToString) + If Not body("CdCorrFile") Is Nothing Then + CdFile.Init(MyPath, body("CdCorrFile")) + End If + + If body("Retarder") Is Nothing Then + RtType = RetarderType.None + Else + RtType = RetarderTypeHelper.Parse(body("Retarder")("Type").ToString) + If Not body("Retarder")("Ratio") Is Nothing Then + RtRatio = body("Retarder")("Ratio") + End If + If Not body("Retarder")("File") Is Nothing Then + RtFile.Init(MyPath, body("Retarder")("File")) + End If + End If + + If body("AngularGear") Is Nothing Then + AngularGearType = AngularGearType.None + Else + AngularGearType = body("AngularGear")("Type").ToString.ParseEnum(Of AngularGearType)() + If Not body("AngularGear")("Ratio") Is Nothing Then + AngularGearRatio = body("AngularGear")("Ratio") + End If + If Not body("AngularGear")("LossMap") Is Nothing Then + AngularGearLossMapFile.Init(MyPath, body("AngularGear")("LossMap")) + End If + End If + + Dim inertiaTemp As Single + If FileVersion < 3 Then + inertiaTemp = body("WheelsInertia") + rdyn = 1000 * body("WheelsDiaEff") / 2 + Else + rdyn = body("rdyn") + End If + + Dim axleCount = body("AxleConfig")("Axles").Count() + For Each axleEntry In body("AxleConfig")("Axles") + Dim axle = New Axle With { + .Share = CSng(axleEntry("AxleWeightShare")), + .TwinTire = CBool(axleEntry("TwinTyres")), + .RRC = CSng(axleEntry("RRCISO")), + .FzISO = CSng(axleEntry("FzISO"))} + + If FileVersion < 3 Then + axle.Wheels = "-" + axle.Inertia = inertiaTemp / (IIf(axle.TwinTire, 4, 2) * axleCount) + Else + axle.Wheels = CStr(axleEntry("Wheels")).Replace("R ", "R") + axle.Inertia = CSng(axleEntry("Inertia")) + End If + Axles.Add(axle) + Next + + Catch ex As Exception + If showMsg Then WorkerMsg(MessageType.Err, "Failed to read Vehicle file! " & ex.Message, msgSrc) + Return False + End Try + + Return True + End Function + + Public Function SaveFile() As Boolean + SavedInDeclMode = Cfg.DeclMode + + Dim json As New JSONParser + 'Header + json.Content.Add("Header", New Dictionary(Of String, Object) From { + {"CreatedBy", Lic.LicString & " (" & Lic.GUID & ")"}, + {"Date", Now.ToUniversalTime().ToString("o")}, + {"AppVersion", VECTOvers}, + {"FileVersion", FormatVersion}}) + + 'Body + Dim dic As Dictionary(Of String, Object) + dic = New Dictionary(Of String, Object) From { + {"SavedInDeclMode", Cfg.DeclMode}, + {"VehCat", VehCat.ToString()}, + {"CurbWeight", Mass}, + {"CurbWeightExtra", MassExtra}, + {"Loading", Loading}, + {"MassMax", MassMax}, + {"CdA", CdA0}, + {"rdyn", rdyn}, + {"CdCorrMode", CdMode.GetName()}, + {"CdCorrFile", CdFile.PathOrDummy}, + {"Retarder", New Dictionary(Of String, Object) From { + {"Type", RtType.GetName()}, + {"Ratio", RtRatio}, + {"File", RtFile.PathOrDummy}}}, + {"AngularGear", New Dictionary(Of String, Object) From { + {"Type", AngularGearType.ToString()}, + {"Ratio", AngularGearRatio}, + {"LossMap", AngularGearLossMapFile.PathOrDummy}}}, + {"AxleConfig", New Dictionary(Of String, Object) From { + {"Type", AxleConf.GetName()}, + {"Axles", (From axle In Axles Select New Dictionary(Of String, Object) From { + {"Inertia", axle.Inertia}, + {"Wheels", axle.Wheels}, + {"AxleWeightShare", axle.Share}, + {"TwinTyres", axle.TwinTire}, + {"RRCISO", axle.RRC}, + {"FzISO", axle.FzISO}})}}} + } + + json.Content.Add("Body", dic) + Return json.WriteFile(sFilePath) + End Function + + +#Region "Properties" + + + Public Property FilePath() As String + Get + Return sFilePath + End Get + Set(value As String) + sFilePath = value + If sFilePath = "" Then + MyPath = "" + Else + MyPath = Path.GetDirectoryName(sFilePath) & "\" + End If + End Set + End Property + +#End Region End Class \ No newline at end of file diff --git a/VECTO/cJSONparser.vb b/VECTO/JSONparser.vb similarity index 98% rename from VECTO/cJSONparser.vb rename to VECTO/JSONparser.vb index fd1e8a46eec420a179d9776a1c4673577020a003..8a4cbcf7972a17e5af2c96cfac13cd12ff8824d6 100644 --- a/VECTO/cJSONparser.vb +++ b/VECTO/JSONparser.vb @@ -17,7 +17,7 @@ Imports Newtonsoft.Json ''' uses JSON.NET http://json.codeplex.com/ ''' </summary> ''' <remarks></remarks> -Public Class JSON +Public Class JSONParser Public Content As Dictionary(Of String, Object) Public Sub New() diff --git a/VECTO/M_MAIN.vb b/VECTO/MainModule.vb similarity index 90% rename from VECTO/M_MAIN.vb rename to VECTO/MainModule.vb index 853a8c4dec43da615a843bf74174612083e453ca..7ffac9567ecb55b109190e9b04a4efcf6a8afa10 100644 --- a/VECTO/M_MAIN.vb +++ b/VECTO/MainModule.vb @@ -1,65 +1,65 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Imports System.Collections.Generic -Imports TUGraz.VectoCommon.Utils -Imports TUGraz.VectoCore.Models.SimulationComponent.Data -Imports TUGraz.VectoCore.Models.SimulationComponent.Data.Engine - -''' <summary> -''' Main calculation routines. -''' </summary> -''' <remarks></remarks> -Module M_MAIN - Public JobFileList As List(Of String) - - Public Function ConvertToEngineData(fld As cFLD, nIdle As Single) As CombustionEngineData - - Dim retVal As CombustionEngineData = New CombustionEngineData() - retVal.FullLoadCurve = New EngineFullLoadCurve() - retVal.FullLoadCurve.FullLoadEntries = New List(Of FullLoadCurve.FullLoadCurveEntry) - For i As Integer = 0 To fld.LnU.Count - 1 - retVal.FullLoadCurve.FullLoadEntries.Add( - New FullLoadCurve.FullLoadCurveEntry() _ - With {.EngineSpeed = CType(fld.LnU(i), Double).RPMtoRad(), - .TorqueFullLoad = CType(fld.LTq(i), Double).SI(Of NewtonMeter)(), - .TorqueDrag = CType(fld.LTqDrag(i), Double).SI(Of NewtonMeter)()}) - Next - - retVal.IdleSpeed = CType(nIdle, Double).RPMtoRad() - Return retVal - End Function - - Public Function ConvPicPath(hdVclass As String, isLongHaul As Boolean) As Bitmap - Dim longHaulFlag As String = "" - If isLongHaul Then - longHaulFlag = "t" - End If - - Select Case hdVclass - Case 1, 2, 3 - Return My.Resources._4x2r ' resourcePath & "4x2r.png" - Case 4 - If isLongHaul Then Return My.Resources._4x2rt - - Return My.Resources._4x2r 'resourcePath & "4x2r" & longHaulFlag & ".png" - Case 5 - Return My.Resources._4x2tt ' resourcePath & "4x2tt.png" - Case 9 - If isLongHaul Then Return My.Resources._6x2rt - Return My.Resources._6x2r ' resourcePath & "6x2r" & longHaulFlag & ".png" - Case 10 - Return My.Resources._6x2tt ' resourcePath & "6x2tt.png" - Case Else - Return My.Resources.Undef ' resourcePath & "Undef.png" - End Select - End Function - -End Module +' Copyright 2014 European Union. +' Licensed under the EUPL (the 'Licence'); +' +' * You may not use this work except in compliance with the Licence. +' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +' * Unless required by applicable law or agreed to in writing, +' software distributed under the Licence is distributed on an "AS IS" basis, +' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +' +' See the LICENSE.txt for the specific language governing permissions and limitations. +Imports System.Collections.Generic +Imports TUGraz.VectoCommon.Utils +Imports TUGraz.VectoCore.Models.SimulationComponent.Data +Imports TUGraz.VectoCore.Models.SimulationComponent.Data.Engine + +''' <summary> +''' Main calculation routines. +''' </summary> +''' <remarks></remarks> +Module MainModule + Public JobFileList As List(Of String) + + Public Function ConvertToEngineData(fld As EngineFullLoadCurve, nIdle As Single) As CombustionEngineData + + Dim retVal As CombustionEngineData = New CombustionEngineData() + retVal.FullLoadCurve = New TUGraz.VectoCore.Models.SimulationComponent.Data.Engine.EngineFullLoadCurve() + retVal.FullLoadCurve.FullLoadEntries = New List(Of FullLoadCurve.FullLoadCurveEntry) + For i As Integer = 0 To fld.LnU.Count - 1 + retVal.FullLoadCurve.FullLoadEntries.Add( + New FullLoadCurve.FullLoadCurveEntry() _ + With {.EngineSpeed = CType(fld.LnU(i), Double).RPMtoRad(), + .TorqueFullLoad = CType(fld.LTq(i), Double).SI(Of NewtonMeter)(), + .TorqueDrag = CType(fld.LTqDrag(i), Double).SI(Of NewtonMeter)()}) + Next + + retVal.IdleSpeed = CType(nIdle, Double).RPMtoRad() + Return retVal + End Function + + Public Function ConvPicPath(hdVclass As String, isLongHaul As Boolean) As Bitmap + Dim longHaulFlag As String = "" + If isLongHaul Then + longHaulFlag = "t" + End If + + Select Case hdVclass + Case 1, 2, 3 + Return My.Resources._4x2r ' resourcePath & "4x2r.png" + Case 4 + If isLongHaul Then Return My.Resources._4x2rt + + Return My.Resources._4x2r 'resourcePath & "4x2r" & longHaulFlag & ".png" + Case 5 + Return My.Resources._4x2tt ' resourcePath & "4x2tt.png" + Case 9 + If isLongHaul Then Return My.Resources._6x2rt + Return My.Resources._6x2r ' resourcePath & "6x2r" & longHaulFlag & ".png" + Case 10 + Return My.Resources._6x2tt ' resourcePath & "6x2tt.png" + Case Else + Return My.Resources.Undef ' resourcePath & "Undef.png" + End Select + End Function + +End Module diff --git a/VECTO/My Project/Application.Designer.vb b/VECTO/My Project/Application.Designer.vb index c29e79c746fa68df6568206697233065bc74e72c..3c1840c9e0765fd66ad2e9b46d570cb2ec5903d9 100644 --- a/VECTO/My Project/Application.Designer.vb +++ b/VECTO/My Project/Application.Designer.vb @@ -33,7 +33,7 @@ Namespace My <DebuggerStepThrough()> _ Protected Overrides Sub OnCreateMainForm() - Me.MainForm = VECTO.F_MAINForm + Me.MainForm = VECTO.MainForm End Sub End Class End Namespace diff --git a/VECTO/Resources/4x2r.png b/VECTO/Resources/4x2r.png new file mode 100644 index 0000000000000000000000000000000000000000..9e9743755e507850624ac7d2868b96bfc2d1a412 Binary files /dev/null and b/VECTO/Resources/4x2r.png differ diff --git a/VECTO/Resources/4x2rt.png b/VECTO/Resources/4x2rt.png new file mode 100644 index 0000000000000000000000000000000000000000..6aeb34d129142c4a2b55f7250e34a521b96d873d Binary files /dev/null and b/VECTO/Resources/4x2rt.png differ diff --git a/VECTO/Resources/4x2tt.png b/VECTO/Resources/4x2tt.png new file mode 100644 index 0000000000000000000000000000000000000000..6e1b64fa88c12d870aab871bcb700bc150cd5864 Binary files /dev/null and b/VECTO/Resources/4x2tt.png differ diff --git a/VECTO/Resources/6x2r.png b/VECTO/Resources/6x2r.png new file mode 100644 index 0000000000000000000000000000000000000000..290259e37a61c522ea7fe4bb018015dc69a55dbf Binary files /dev/null and b/VECTO/Resources/6x2r.png differ diff --git a/VECTO/Resources/6x2rt.png b/VECTO/Resources/6x2rt.png new file mode 100644 index 0000000000000000000000000000000000000000..b078dbaf65a61c3922321209b7271f3d046ec427 Binary files /dev/null and b/VECTO/Resources/6x2rt.png differ diff --git a/VECTO/Resources/6x2tt.png b/VECTO/Resources/6x2tt.png new file mode 100644 index 0000000000000000000000000000000000000000..d752ac94daf159eb6f33dc612f3b9a8f57cdb23a Binary files /dev/null and b/VECTO/Resources/6x2tt.png differ diff --git a/VECTO/Resources/Undef.png b/VECTO/Resources/Undef.png new file mode 100644 index 0000000000000000000000000000000000000000..7357fd75808d2e83fa30dee4a767ccfad443f416 Binary files /dev/null and b/VECTO/Resources/Undef.png differ diff --git a/VECTO/VECTO.vbproj b/VECTO/VECTO.vbproj index 03fb546e15ebd0f06a642e3717caaf1fd3878325..c9790df3f53d871c97db9cb35c247ce3ea9615c8 100644 --- a/VECTO/VECTO.vbproj +++ b/VECTO/VECTO.vbproj @@ -155,127 +155,127 @@ </ItemGroup> <ItemGroup> <Compile Include="ApplicationEvents.vb" /> - <Compile Include="cJSONparser.vb" /> - <Compile Include="GUI\F_FileSign.Designer.vb"> - <DependentUpon>F_FileSign.vb</DependentUpon> + <Compile Include="JSONparser.vb" /> + <Compile Include="GUI\FileSignDialog.Designer.vb"> + <DependentUpon>FileSignDialog.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_FileSign.vb"> + <Compile Include="GUI\FileSignDialog.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="GUI\F_Graph.Designer.vb"> - <DependentUpon>F_Graph.vb</DependentUpon> + <Compile Include="GUI\GraphForm.Designer.vb"> + <DependentUpon>GraphForm.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_Graph.vb"> + <Compile Include="GUI\GraphForm.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="GUI\F_Graph_ChEdit.Designer.vb"> - <DependentUpon>F_Graph_ChEdit.vb</DependentUpon> + <Compile Include="GUI\GraphEditChannelDialog.Designer.vb"> + <DependentUpon>GraphEditChannelDialog.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_Graph_ChEdit.vb"> + <Compile Include="GUI\GraphEditChannelDialog.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="GUI\F_JIRA.Designer.vb"> - <DependentUpon>F_JIRA.vb</DependentUpon> + <Compile Include="GUI\JiraDialog.Designer.vb"> + <DependentUpon>JiraDialog.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_JIRA.vb"> + <Compile Include="GUI\JiraDialog.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="GUI\F_Welcome.Designer.vb"> - <DependentUpon>F_Welcome.vb</DependentUpon> + <Compile Include="GUI\WelcomeDialog.Designer.vb"> + <DependentUpon>WelcomeDialog.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_Welcome.vb"> + <Compile Include="GUI\WelcomeDialog.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="GUI\F_ENG.Designer.vb"> - <DependentUpon>F_ENG.vb</DependentUpon> + <Compile Include="GUI\EngineForm.Designer.vb"> + <DependentUpon>EngineForm.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_ENG.vb"> + <Compile Include="GUI\EngineForm.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="GUI\F_GBX.Designer.vb"> - <DependentUpon>F_GBX.vb</DependentUpon> + <Compile Include="GUI\GearboxForm.Designer.vb"> + <DependentUpon>GearboxForm.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_GBX.vb"> + <Compile Include="GUI\GearboxForm.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="GUI\F_VEH_AuxDlog.Designer.vb"> - <DependentUpon>F_VEH_AuxDlog.vb</DependentUpon> + <Compile Include="GUI\VehicleAuxiliariesDialog.Designer.vb"> + <DependentUpon>VehicleAuxiliariesDialog.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_VEH_AuxDlog.vb"> + <Compile Include="GUI\VehicleAuxiliariesDialog.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="GUI\F_VEH_Axle.Designer.vb"> - <DependentUpon>F_VEH_Axle.vb</DependentUpon> + <Compile Include="GUI\VehicleAxleDialog.Designer.vb"> + <DependentUpon>VehicleAxleDialog.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_VEH_Axle.vb"> + <Compile Include="GUI\VehicleAxleDialog.vb"> <SubType>Form</SubType> </Compile> <Compile Include="Input Files\cAdvancedAuxiliary.vb" /> - <Compile Include="Input Files\cENG.vb" /> - <Compile Include="Input Files\cGBX.vb" /> + <Compile Include="Input Files\Engine.vb" /> + <Compile Include="Input Files\Gearbox.vb" /> <Compile Include="Configuration.vb" /> - <Compile Include="File Browser\cFileBrowser.vb" /> - <Compile Include="mAAUX_Global.vb" /> - <Compile Include="File Browser\FB_Dialog.designer.vb"> - <DependentUpon>FB_Dialog.vb</DependentUpon> + <Compile Include="File Browser\FileBrowser.vb" /> + <Compile Include="AdvancedAuxiliariesModule.vb" /> + <Compile Include="File Browser\FileBrowserDialog.designer.vb"> + <DependentUpon>FileBrowserDialog.vb</DependentUpon> </Compile> - <Compile Include="File Browser\FB_Dialog.vb"> + <Compile Include="File Browser\FileBrowserDialog.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="File Browser\FB_FavDlog.designer.vb"> - <DependentUpon>FB_FavDlog.vb</DependentUpon> + <Compile Include="File Browser\FileBrowserFavoritesDialog.designer.vb"> + <DependentUpon>FileBrowserFavoritesDialog.vb</DependentUpon> </Compile> - <Compile Include="File Browser\FB_FavDlog.vb"> + <Compile Include="File Browser\FileBrowserFavoritesDialog.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="Input Files\cFLD.vb" /> - <Compile Include="Input Files\cMAP.vb" /> - <Compile Include="Input Files\cVECTO.vb" /> - <Compile Include="Input Files\cVEH.vb" /> + <Compile Include="Input Files\EngineFullLoadCurve.vb" /> + <Compile Include="Input Files\FuelconsumptionMap.vb" /> + <Compile Include="Input Files\VectoJob.vb" /> + <Compile Include="Input Files\Vehicle.vb" /> <Compile Include="GUI\GearboxGearDialog.Designer.vb"> <DependentUpon>GearboxGearDialog.vb</DependentUpon> </Compile> <Compile Include="GUI\GearboxGearDialog.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="Input Files\cSubPath.vb" /> - <Compile Include="GUI\F_VECTO.Designer.vb"> - <DependentUpon>F_VECTO.vb</DependentUpon> + <Compile Include="Input Files\SubPath.vb" /> + <Compile Include="GUI\VectoJobForm.Designer.vb"> + <DependentUpon>VectoJobForm.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_VECTO.vb"> + <Compile Include="GUI\VectoJobForm.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="cFile V3.vb" /> + <Compile Include="CsvFile.vb" /> <Compile Include="VECTO_Global.vb" /> <Compile Include="VECTO_Types.vb" /> <Compile Include="GUI\GUI_Subs.vb" /> - <Compile Include="GUI\F_VEH.Designer.vb"> - <DependentUpon>F_VEH.vb</DependentUpon> + <Compile Include="GUI\VehicleForm.Designer.vb"> + <DependentUpon>VehicleForm.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_VEH.vb"> + <Compile Include="GUI\VehicleForm.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="GUI\F_Settings.Designer.vb"> - <DependentUpon>F_Settings.vb</DependentUpon> + <Compile Include="GUI\Settings.Designer.vb"> + <DependentUpon>Settings.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_Settings.vb"> + <Compile Include="GUI\Settings.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="GUI\F_AboutBox.Designer.vb"> - <DependentUpon>F_AboutBox.vb</DependentUpon> + <Compile Include="GUI\AboutBox.Designer.vb"> + <DependentUpon>AboutBox.vb</DependentUpon> </Compile> - <Compile Include="GUI\F_AboutBox.vb"> + <Compile Include="GUI\AboutBox.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="M_MAIN.vb" /> - <Compile Include="GUI\F_MAINForm.vb"> + <Compile Include="MainModule.vb" /> + <Compile Include="GUI\MainForm.vb"> <SubType>Form</SubType> </Compile> - <Compile Include="GUI\F_MAINForm.Designer.vb"> - <DependentUpon>F_MAINForm.vb</DependentUpon> + <Compile Include="GUI\MainForm.Designer.vb"> + <DependentUpon>MainForm.vb</DependentUpon> <SubType>Form</SubType> </Compile> - <Compile Include="File Browser\FB_Global.vb" /> + <Compile Include="File Browser\FileBrowserModule.vb" /> <Compile Include="My Project\AssemblyInfo.vb" /> <Compile Include="My Project\Application.Designer.vb"> <AutoGen>True</AutoGen> @@ -293,59 +293,59 @@ </Compile> </ItemGroup> <ItemGroup> - <EmbeddedResource Include="File Browser\FB_Dialog.resx"> - <DependentUpon>FB_Dialog.vb</DependentUpon> + <EmbeddedResource Include="File Browser\FileBrowserDialog.resx"> + <DependentUpon>FileBrowserDialog.vb</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> - <EmbeddedResource Include="File Browser\FB_FavDlog.resx"> - <DependentUpon>FB_FavDlog.vb</DependentUpon> + <EmbeddedResource Include="File Browser\FileBrowserFavoritesDialog.resx"> + <DependentUpon>FileBrowserFavoritesDialog.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_FileSign.resx"> - <DependentUpon>F_FileSign.vb</DependentUpon> + <EmbeddedResource Include="GUI\FileSignDialog.resx"> + <DependentUpon>FileSignDialog.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_Graph.resx"> - <DependentUpon>F_Graph.vb</DependentUpon> + <EmbeddedResource Include="GUI\GraphForm.resx"> + <DependentUpon>GraphForm.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_Graph_ChEdit.resx"> - <DependentUpon>F_Graph_ChEdit.vb</DependentUpon> + <EmbeddedResource Include="GUI\GraphEditChannelDialog.resx"> + <DependentUpon>GraphEditChannelDialog.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_JIRA.resx"> - <DependentUpon>F_JIRA.vb</DependentUpon> + <EmbeddedResource Include="GUI\JiraDialog.resx"> + <DependentUpon>JiraDialog.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_Welcome.resx"> - <DependentUpon>F_Welcome.vb</DependentUpon> + <EmbeddedResource Include="GUI\WelcomeDialog.resx"> + <DependentUpon>WelcomeDialog.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_ENG.resx"> - <DependentUpon>F_ENG.vb</DependentUpon> + <EmbeddedResource Include="GUI\EngineForm.resx"> + <DependentUpon>EngineForm.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_GBX.resx"> - <DependentUpon>F_GBX.vb</DependentUpon> + <EmbeddedResource Include="GUI\GearboxForm.resx"> + <DependentUpon>GearboxForm.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_MAINForm.resx"> + <EmbeddedResource Include="GUI\MainForm.resx"> <SubType>Designer</SubType> - <DependentUpon>F_MAINForm.vb</DependentUpon> + <DependentUpon>MainForm.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_VECTO.resx"> + <EmbeddedResource Include="GUI\VectoJobForm.resx"> <SubType>Designer</SubType> - <DependentUpon>F_VECTO.vb</DependentUpon> + <DependentUpon>VectoJobForm.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_VEH.resx"> + <EmbeddedResource Include="GUI\VehicleForm.resx"> <SubType>Designer</SubType> - <DependentUpon>F_VEH.vb</DependentUpon> + <DependentUpon>VehicleForm.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_Settings.resx"> + <EmbeddedResource Include="GUI\Settings.resx"> <SubType>Designer</SubType> - <DependentUpon>F_Settings.vb</DependentUpon> + <DependentUpon>Settings.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_AboutBox.resx"> + <EmbeddedResource Include="GUI\AboutBox.resx"> <SubType>Designer</SubType> - <DependentUpon>F_AboutBox.vb</DependentUpon> + <DependentUpon>AboutBox.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_VEH_AuxDlog.resx"> - <DependentUpon>F_VEH_AuxDlog.vb</DependentUpon> + <EmbeddedResource Include="GUI\VehicleAuxiliariesDialog.resx"> + <DependentUpon>VehicleAuxiliariesDialog.vb</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="GUI\F_VEH_Axle.resx"> - <DependentUpon>F_VEH_Axle.vb</DependentUpon> + <EmbeddedResource Include="GUI\VehicleAxleDialog.resx"> + <DependentUpon>VehicleAxleDialog.vb</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="GUI\GearboxGearDialog.resx"> <DependentUpon>GearboxGearDialog.vb</DependentUpon> diff --git a/VECTO/VECTO_Global.vb b/VECTO/VECTO_Global.vb index 9176b3729f0cdbdabf136b0cc0faa940fd864f69..a31ae060a2ae38cbab9f97e177c12d9d508a8830 100644 --- a/VECTO/VECTO_Global.vb +++ b/VECTO/VECTO_Global.vb @@ -32,14 +32,14 @@ Public Module VECTO_Global Public sKey As csKey - Public FileFormat As Encoding = Encoding.UTF8 + Public ReadOnly FileFormat As Encoding = Encoding.UTF8 Public Lic As cLicense 'Public VSUM As cVSUM 'Public DEV As cDEV - Public ProgBarCtrl As cProgBarCtrl + Public ProgBarCtrl As ProgressbarControl ''' <summary> ''' Converts engine speed and torque to power. @@ -60,8 +60,8 @@ Public Module VECTO_Global Try LOGstream = My.Computer.FileSystem.OpenTextFileWriter(MyAppPath & "LOG.txt", True, FileFormat) LOGstream.AutoFlush = True - WriteToLog(tMsgID.Normal, "Starting Session " & Now) - WriteToLog(tMsgID.Normal, "VECTO " & VECTOvers) + WriteToLog(MessageType.Normal, "Starting Session " & Now) + WriteToLog(MessageType.Normal, "VECTO " & VECTOvers) Catch ex As Exception Return False End Try @@ -82,7 +82,7 @@ Public Module VECTO_Global 'If Log too large: Delete If logfDetail.Length / (2 ^ 20) > Cfg.LogSize Then - WriteToLog(tMsgID.Normal, "Starting new logfile") + WriteToLog(MessageType.Normal, "Starting new logfile") LOGstream.Close() BackUpError = False @@ -97,9 +97,9 @@ Public Module VECTO_Global If Not StartLog() Then Return False If BackUpError Then - WriteToLog(tMsgID.Err, "Failed to backup logfile! (" & MyAppPath & "LOG_backup.txt)") + WriteToLog(MessageType.Err, "Failed to backup logfile! (" & MyAppPath & "LOG_backup.txt)") Else - WriteToLog(tMsgID.Normal, "Logfile restarted. Old log saved to LOG_backup.txt") + WriteToLog(MessageType.Normal, "Logfile restarted. Old log saved to LOG_backup.txt") End If End If @@ -111,7 +111,7 @@ Public Module VECTO_Global Public Function CloseLog() As Boolean Try - WriteToLog(tMsgID.Normal, "Closing Session " & Now) + WriteToLog(MessageType.Normal, "Closing Session " & Now) LOGstream.Close() Catch ex As Exception Return False @@ -121,13 +121,13 @@ Public Module VECTO_Global End Function - Public Function WriteToLog(MsgType As tMsgID, Msg As String) As Boolean + Public Function WriteToLog(MsgType As MessageType, Msg As String) As Boolean Dim MsgTypeStr As String Select Case MsgType - Case tMsgID.Err + Case MessageType.Err MsgTypeStr = "Error" - Case tMsgID.Warn + Case MessageType.Warn MsgTypeStr = "Warning" Case Else MsgTypeStr = "-" @@ -252,7 +252,7 @@ End Module Public Class csKey - Public AUX As csKeyAux + Public ReadOnly AUX As csKeyAux Public HomePath As String = "<HOME>" Public JobPath As String = "<JOBPATH>" diff --git a/VECTO/VECTO_Types.vb b/VECTO/VECTO_Types.vb index 8025a593dc9bc06c1f2df8320f8a433c38b4d744..7ad9b0e277c4b943d8a8c56cf6404f69119de8ac 100644 --- a/VECTO/VECTO_Types.vb +++ b/VECTO/VECTO_Types.vb @@ -30,28 +30,9 @@ Public Enum tWorkMsgType Abort End Enum -Public Enum tMsgID +Public Enum MessageType 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 - - - +End Enum \ No newline at end of file diff --git a/VECTO/cFile V3.vb b/VECTO/cFile V3.vb deleted file mode 100644 index 69eb390df0dbec28c175c65d15ad7f2f1379ff59..0000000000000000000000000000000000000000 --- a/VECTO/cFile V3.vb +++ /dev/null @@ -1,151 +0,0 @@ -' Copyright 2014 European Union. -' Licensed under the EUPL (the 'Licence'); -' -' * You may not use this work except in compliance with the Licence. -' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -' * Unless required by applicable law or agreed to in writing, -' software distributed under the Licence is distributed on an "AS IS" basis, -' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -' -' See the LICENSE.txt for the specific language governing permissions and limitations. -Imports System.IO -Imports System.Text -Imports Microsoft.VisualBasic.FileIO - -Public Class cFile_V3 - - Private TxtFldParser As TextFieldParser - Private StrWrter As StreamWriter - Private Mode As FileMode - Private Path As String - Private Sepp As String - Private SkipCom As Boolean - Private StopE As Boolean - Private FileOpen As Boolean - Private PreLine As String() - Private FileEnd As Boolean - - Public Sub New() - Reset() - End Sub - - Private Sub Reset() - FileOpen = False - Mode = FileMode.Undefined - PreLine = Nothing - FileEnd = False - End Sub - - Public Function OpenRead(ByVal FileName As String, Optional ByVal Separator As String = ",", Optional ByVal SkipComment As Boolean = True, Optional ByVal StopAtE As Boolean = False) As Boolean - Reset() - StopE = StopAtE - Path = FileName - Sepp = Separator - SkipCom = SkipComment - If Not (Mode = FileMode.Undefined) Then Return False - If Not File.Exists(Path) Then Return False - Mode = FileMode.Read - Try - TxtFldParser = New TextFieldParser(Path, Encoding.Default) - FileOpen = True - Catch ex As Exception - Return False - End Try - TxtFldParser.TextFieldType = FieldType.Delimited - TxtFldParser.Delimiters = New String() {Sepp} - - 'If TxtFldParser.EndOfData Then Return False - - ReadLine() - Return True - End Function - - Public Function ReadLine() As String() - Dim line As String() - Dim line0 As String - - line = PreLine - -lb10: - If TxtFldParser.EndOfData Then - - FileEnd = True - - Else - - PreLine = TxtFldParser.ReadFields - line0 = UCase(Trim(PreLine(0))) - - If SkipCom Then - If Left(line0, 1) = "#" Then GoTo lb10 - End If - - If StopE Then FileEnd = (line0 = "E") - - End If - - Return line - - End Function - - Public Sub Close() - Select Case Mode - Case FileMode.Read - If FileOpen Then TxtFldParser.Close() - TxtFldParser = Nothing - Case FileMode.Write - If FileOpen Then StrWrter.Close() - StrWrter = Nothing - End Select - Reset() - End Sub - - Public ReadOnly Property EndOfFile() As Boolean - Get - Return FileEnd - End Get - End Property - - Public Function OpenWrite(ByVal FileName As String, Optional ByVal Separator As String = ",", Optional ByVal AutoFlush As Boolean = False, Optional ByVal Append As Boolean = False) As Boolean - Reset() - Path = FileName - Sepp = Separator - If Not (Mode = FileMode.Undefined) Then Return False - Mode = FileMode.Write - Try - StrWrter = My.Computer.FileSystem.OpenTextFileWriter(Path, Append, FileFormat) - FileOpen = True - Catch ex As Exception - Return False - End Try - StrWrter.AutoFlush = AutoFlush - Return True - End Function - - Public Sub WriteLine(ByVal ParamArray x() As Object) - Dim St As String - Dim StB As New StringBuilder - Dim Skip As Boolean - Skip = True - For Each St In x - If Skip Then - StB.Append(St) - Skip = False - Else - StB.Append(Sepp & St) - End If - Next - StrWrter.WriteLine(StB.ToString) - - End Sub - Public Sub WriteLine(ByVal x As String) - StrWrter.WriteLine(x) - End Sub - - Private Enum FileMode - Undefined - Read - Write - End Enum - -End Class