diff --git a/VECTO/GUI/MainForm.Designer.vb b/VECTO/GUI/MainForm.Designer.vb index 90fcaa0b417dc4a18bd3aa11eef5da2ed696d05c..f54f39410299855ae930bd0845515da33be21d1f 100644 --- a/VECTO/GUI/MainForm.Designer.vb +++ b/VECTO/GUI/MainForm.Designer.vb @@ -35,834 +35,834 @@ Partial Class MainForm '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.btnImportXML = New System.Windows.Forms.Button() - Me.btnExportXML = New System.Windows.Forms.Button() - 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.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.GroupBox3 = New System.Windows.Forms.GroupBox() - Me.cbActVmod = New System.Windows.Forms.CheckBox() - Me.cbValidateRunData = New System.Windows.Forms.CheckBox() - 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.ShowInFolderMenuItem = New System.Windows.Forms.ToolStripMenuItem() - 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.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.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.EPTPJobEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.StatusBAR.SuspendLayout() - Me.TabControl1.SuspendLayout() - Me.TabPageGEN.SuspendLayout() - CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() - Me.TabPgOptions.SuspendLayout() - Me.PanelOptAllg.SuspendLayout() - Me.GroupBox3.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.btnImportXML) - Me.TabPageGEN.Controls.Add(Me.btnExportXML) - 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.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 - ' - 'btnImportXML - ' - Me.btnImportXML.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.btnImportXML.Location = New System.Drawing.Point(460, 267) - Me.btnImportXML.Name = "btnImportXML" - Me.btnImportXML.Size = New System.Drawing.Size(115, 30) - Me.btnImportXML.TabIndex = 23 - Me.btnImportXML.Text = "Import from XML" - Me.btnImportXML.UseVisualStyleBackColor = True - Me.btnImportXML.Visible = False - ' - 'btnExportXML - ' - Me.btnExportXML.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.btnExportXML.Enabled = False - Me.btnExportXML.Location = New System.Drawing.Point(344, 267) - Me.btnExportXML.Name = "btnExportXML" - Me.btnExportXML.Size = New System.Drawing.Size(115, 30) - Me.btnExportXML.TabIndex = 22 - Me.btnExportXML.Text = "Export as XML" - Me.btnExportXML.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 - ' - '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.GroupBox3) - 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 - ' - 'GroupBox3 - ' - Me.GroupBox3.Controls.Add(Me.cbActVmod) - Me.GroupBox3.Controls.Add(Me.cbValidateRunData) - Me.GroupBox3.Location = New System.Drawing.Point(3, 177) - Me.GroupBox3.Name = "GroupBox3" - Me.GroupBox3.Size = New System.Drawing.Size(173, 110) - Me.GroupBox3.TabIndex = 18 - Me.GroupBox3.TabStop = False - Me.GroupBox3.Text = "Misc" - ' - 'cbActVmod - ' - Me.cbActVmod.Location = New System.Drawing.Point(6, 41) - Me.cbActVmod.Name = "cbActVmod" - Me.cbActVmod.Size = New System.Drawing.Size(161, 63) - Me.cbActVmod.TabIndex = 18 - Me.cbActVmod.Text = "Output values in vmod at beginning and end of simulation interval (EXPERT!)" - Me.cbActVmod.UseVisualStyleBackColor = True - ' - 'cbValidateRunData - ' - Me.cbValidateRunData.AutoSize = True - Me.cbValidateRunData.Checked = True - Me.cbValidateRunData.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbValidateRunData.Location = New System.Drawing.Point(6, 19) - Me.cbValidateRunData.Name = "cbValidateRunData" - Me.cbValidateRunData.Size = New System.Drawing.Size(90, 17) - Me.cbValidateRunData.TabIndex = 17 - Me.cbValidateRunData.Text = "Validate Data" - Me.cbValidateRunData.UseVisualStyleBackColor = True - ' - 'GroupBox2 - ' - Me.GroupBox2.Controls.Add(Me.ChBoxModOut) - Me.GroupBox2.Controls.Add(Me.ChBoxMod1Hz) - Me.GroupBox2.Location = New System.Drawing.Point(3, 82) - Me.GroupBox2.Name = "GroupBox2" - Me.GroupBox2.Size = New System.Drawing.Size(173, 89) - Me.GroupBox2.TabIndex = 16 - Me.GroupBox2.TabStop = False - Me.GroupBox2.Text = "Output" - ' - '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.ShowInFolderMenuItem, Me.SaveListToolStripMenuItem, Me.LoadListToolStripMenuItem, Me.LoadDefaultListToolStripMenuItem, Me.ClearListToolStripMenuItem}) - Me.ConMenFilelist.Name = "ConMenFilelist" - Me.ConMenFilelist.ShowImageMargin = False - Me.ConMenFilelist.Size = New System.Drawing.Size(151, 114) - ' - 'ShowInFolderMenuItem - ' - Me.ShowInFolderMenuItem.Name = "ShowInFolderMenuItem" - Me.ShowInFolderMenuItem.Size = New System.Drawing.Size(150, 22) - Me.ShowInFolderMenuItem.Text = "Show in Folder" - ' - 'SaveListToolStripMenuItem - ' - Me.SaveListToolStripMenuItem.Name = "SaveListToolStripMenuItem" - Me.SaveListToolStripMenuItem.Size = New System.Drawing.Size(150, 22) - Me.SaveListToolStripMenuItem.Text = "Save List..." - ' - 'LoadListToolStripMenuItem - ' - Me.LoadListToolStripMenuItem.Name = "LoadListToolStripMenuItem" - Me.LoadListToolStripMenuItem.Size = New System.Drawing.Size(150, 22) - Me.LoadListToolStripMenuItem.Text = "Load List..." - ' - 'LoadDefaultListToolStripMenuItem - ' - Me.LoadDefaultListToolStripMenuItem.Name = "LoadDefaultListToolStripMenuItem" - Me.LoadDefaultListToolStripMenuItem.Size = New System.Drawing.Size(150, 22) - Me.LoadDefaultListToolStripMenuItem.Text = "Load Autosave-List" - ' - 'ClearListToolStripMenuItem - ' - Me.ClearListToolStripMenuItem.Name = "ClearListToolStripMenuItem" - Me.ClearListToolStripMenuItem.Size = New System.Drawing.Size(150, 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.EPTPJobEditorToolStripMenuItem, Me.VEHEditorToolStripMenuItem, Me.EngineEditorToolStripMenuItem, Me.GearboxEditorToolStripMenuItem, Me.GraphToolStripMenuItem, Me.ToolStripSeparator6, 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(151, 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(151, 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(151, 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(151, 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(151, 22) - Me.GraphToolStripMenuItem.Text = "Graph" - ' - 'ToolStripSeparator6 - ' - Me.ToolStripSeparator6.Name = "ToolStripSeparator6" - Me.ToolStripSeparator6.Size = New System.Drawing.Size(148, 6) - ' - 'OpenLogToolStripMenuItem - ' - Me.OpenLogToolStripMenuItem.Name = "OpenLogToolStripMenuItem" - Me.OpenLogToolStripMenuItem.Size = New System.Drawing.Size(151, 22) - Me.OpenLogToolStripMenuItem.Text = "Open Log" - ' - 'SettingsToolStripMenuItem - ' - Me.SettingsToolStripMenuItem.Name = "SettingsToolStripMenuItem" - Me.SettingsToolStripMenuItem.Size = New System.Drawing.Size(151, 22) - Me.SettingsToolStripMenuItem.Text = "Settings" - ' - 'ToolStripDrDnBtInfo - ' - Me.ToolStripDrDnBtInfo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UserManualToolStripMenuItem, Me.UpdateNotesToolStripMenuItem, Me.ReportBugViaCITnetToolStripMenuItem, Me.ToolStripSeparator3, 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) - ' - '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.ShowImageMargin = False - Me.CmDEV.Size = New System.Drawing.Size(36, 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.ShowImageMargin = False - Me.CmOpenFile.Size = New System.Drawing.Size(174, 70) - ' - 'OpenWithToolStripMenuItem - ' - Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" - Me.OpenWithToolStripMenuItem.Size = New System.Drawing.Size(173, 22) - Me.OpenWithToolStripMenuItem.Text = "Open with ..." - ' - 'OpenInGraphWindowToolStripMenuItem - ' - Me.OpenInGraphWindowToolStripMenuItem.Name = "OpenInGraphWindowToolStripMenuItem" - Me.OpenInGraphWindowToolStripMenuItem.Size = New System.Drawing.Size(173, 22) - Me.OpenInGraphWindowToolStripMenuItem.Text = "Open in Graph Window" - ' - 'ShowInFolderToolStripMenuItem - ' - Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" - Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(173, 22) - Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" - ' - 'EPTPJobEditorToolStripMenuItem - ' - Me.EPTPJobEditorToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO - Me.EPTPJobEditorToolStripMenuItem.Name = "EPTPJobEditorToolStripMenuItem" - Me.EPTPJobEditorToolStripMenuItem.Size = New System.Drawing.Size(156, 22) - Me.EPTPJobEditorToolStripMenuItem.Text = "EPTP Job Editor" - ' - 'MainForm - ' - Me.AcceptButton = Me.btStartV3 - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) - Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - 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.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen - 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.GroupBox3.ResumeLayout(False) - Me.GroupBox3.PerformLayout() - 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() + 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.btnImportXML = New System.Windows.Forms.Button() + Me.btnExportXML = New System.Windows.Forms.Button() + 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.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.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.cbActVmod = New System.Windows.Forms.CheckBox() + Me.cbValidateRunData = New System.Windows.Forms.CheckBox() + 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.ShowInFolderMenuItem = New System.Windows.Forms.ToolStripMenuItem() + 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.EPTPJobEditorToolStripMenuItem = 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.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.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.GroupBox3.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.btnImportXML) + Me.TabPageGEN.Controls.Add(Me.btnExportXML) + 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.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 + ' + 'btnImportXML + ' + Me.btnImportXML.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.btnImportXML.Location = New System.Drawing.Point(460, 267) + Me.btnImportXML.Name = "btnImportXML" + Me.btnImportXML.Size = New System.Drawing.Size(115, 30) + Me.btnImportXML.TabIndex = 23 + Me.btnImportXML.Text = "Import from XML" + Me.btnImportXML.UseVisualStyleBackColor = True + Me.btnImportXML.Visible = False + ' + 'btnExportXML + ' + Me.btnExportXML.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.btnExportXML.Enabled = False + Me.btnExportXML.Location = New System.Drawing.Point(344, 267) + Me.btnExportXML.Name = "btnExportXML" + Me.btnExportXML.Size = New System.Drawing.Size(115, 30) + Me.btnExportXML.TabIndex = 22 + Me.btnExportXML.Text = "Export as XML" + Me.btnExportXML.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 + ' + '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.GroupBox3) + 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 + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.cbActVmod) + Me.GroupBox3.Controls.Add(Me.cbValidateRunData) + Me.GroupBox3.Location = New System.Drawing.Point(3, 177) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(173, 110) + Me.GroupBox3.TabIndex = 18 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Misc" + ' + 'cbActVmod + ' + Me.cbActVmod.Location = New System.Drawing.Point(6, 41) + Me.cbActVmod.Name = "cbActVmod" + Me.cbActVmod.Size = New System.Drawing.Size(161, 63) + Me.cbActVmod.TabIndex = 18 + Me.cbActVmod.Text = "Output values in vmod at beginning and end of simulation interval (EXPERT!)" + Me.cbActVmod.UseVisualStyleBackColor = True + ' + 'cbValidateRunData + ' + Me.cbValidateRunData.AutoSize = True + Me.cbValidateRunData.Checked = True + Me.cbValidateRunData.CheckState = System.Windows.Forms.CheckState.Checked + Me.cbValidateRunData.Location = New System.Drawing.Point(6, 19) + Me.cbValidateRunData.Name = "cbValidateRunData" + Me.cbValidateRunData.Size = New System.Drawing.Size(90, 17) + Me.cbValidateRunData.TabIndex = 17 + Me.cbValidateRunData.Text = "Validate Data" + Me.cbValidateRunData.UseVisualStyleBackColor = True + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.ChBoxModOut) + Me.GroupBox2.Controls.Add(Me.ChBoxMod1Hz) + Me.GroupBox2.Location = New System.Drawing.Point(3, 82) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(173, 89) + Me.GroupBox2.TabIndex = 16 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Output" + ' + '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.ShowInFolderMenuItem, Me.SaveListToolStripMenuItem, Me.LoadListToolStripMenuItem, Me.LoadDefaultListToolStripMenuItem, Me.ClearListToolStripMenuItem}) + Me.ConMenFilelist.Name = "ConMenFilelist" + Me.ConMenFilelist.ShowImageMargin = False + Me.ConMenFilelist.Size = New System.Drawing.Size(151, 114) + ' + 'ShowInFolderMenuItem + ' + Me.ShowInFolderMenuItem.Name = "ShowInFolderMenuItem" + Me.ShowInFolderMenuItem.Size = New System.Drawing.Size(150, 22) + Me.ShowInFolderMenuItem.Text = "Show in Folder" + ' + 'SaveListToolStripMenuItem + ' + Me.SaveListToolStripMenuItem.Name = "SaveListToolStripMenuItem" + Me.SaveListToolStripMenuItem.Size = New System.Drawing.Size(150, 22) + Me.SaveListToolStripMenuItem.Text = "Save List..." + ' + 'LoadListToolStripMenuItem + ' + Me.LoadListToolStripMenuItem.Name = "LoadListToolStripMenuItem" + Me.LoadListToolStripMenuItem.Size = New System.Drawing.Size(150, 22) + Me.LoadListToolStripMenuItem.Text = "Load List..." + ' + 'LoadDefaultListToolStripMenuItem + ' + Me.LoadDefaultListToolStripMenuItem.Name = "LoadDefaultListToolStripMenuItem" + Me.LoadDefaultListToolStripMenuItem.Size = New System.Drawing.Size(150, 22) + Me.LoadDefaultListToolStripMenuItem.Text = "Load Autosave-List" + ' + 'ClearListToolStripMenuItem + ' + Me.ClearListToolStripMenuItem.Name = "ClearListToolStripMenuItem" + Me.ClearListToolStripMenuItem.Size = New System.Drawing.Size(150, 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.EPTPJobEditorToolStripMenuItem, Me.VEHEditorToolStripMenuItem, Me.EngineEditorToolStripMenuItem, Me.GearboxEditorToolStripMenuItem, Me.GraphToolStripMenuItem, Me.ToolStripSeparator6, 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(64, 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(156, 22) + Me.GENEditorToolStripMenuItem1.Text = "Job Editor" + ' + 'EPTPJobEditorToolStripMenuItem + ' + Me.EPTPJobEditorToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO + Me.EPTPJobEditorToolStripMenuItem.Name = "EPTPJobEditorToolStripMenuItem" + Me.EPTPJobEditorToolStripMenuItem.Size = New System.Drawing.Size(156, 22) + Me.EPTPJobEditorToolStripMenuItem.Text = "EPTP 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(156, 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(156, 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(156, 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(156, 22) + Me.GraphToolStripMenuItem.Text = "Graph" + ' + 'ToolStripSeparator6 + ' + Me.ToolStripSeparator6.Name = "ToolStripSeparator6" + Me.ToolStripSeparator6.Size = New System.Drawing.Size(153, 6) + ' + 'OpenLogToolStripMenuItem + ' + Me.OpenLogToolStripMenuItem.Name = "OpenLogToolStripMenuItem" + Me.OpenLogToolStripMenuItem.Size = New System.Drawing.Size(156, 22) + Me.OpenLogToolStripMenuItem.Text = "Open Log" + ' + 'SettingsToolStripMenuItem + ' + Me.SettingsToolStripMenuItem.Name = "SettingsToolStripMenuItem" + Me.SettingsToolStripMenuItem.Size = New System.Drawing.Size(156, 22) + Me.SettingsToolStripMenuItem.Text = "Settings" + ' + 'ToolStripDrDnBtInfo + ' + Me.ToolStripDrDnBtInfo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UserManualToolStripMenuItem, Me.UpdateNotesToolStripMenuItem, Me.ReportBugViaCITnetToolStripMenuItem, Me.ToolStripSeparator3, 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(221, 22) + Me.UserManualToolStripMenuItem.Text = "User Manual" + ' + 'UpdateNotesToolStripMenuItem + ' + Me.UpdateNotesToolStripMenuItem.Name = "UpdateNotesToolStripMenuItem" + Me.UpdateNotesToolStripMenuItem.Size = New System.Drawing.Size(221, 22) + Me.UpdateNotesToolStripMenuItem.Text = "Release Notes" + ' + 'ReportBugViaCITnetToolStripMenuItem + ' + Me.ReportBugViaCITnetToolStripMenuItem.Name = "ReportBugViaCITnetToolStripMenuItem" + Me.ReportBugViaCITnetToolStripMenuItem.Size = New System.Drawing.Size(221, 22) + Me.ReportBugViaCITnetToolStripMenuItem.Text = "Report Bug via CITnet / JIRA" + ' + 'ToolStripSeparator3 + ' + Me.ToolStripSeparator3.Name = "ToolStripSeparator3" + Me.ToolStripSeparator3.Size = New System.Drawing.Size(218, 6) + ' + 'AboutVECTOToolStripMenuItem1 + ' + Me.AboutVECTOToolStripMenuItem1.Name = "AboutVECTOToolStripMenuItem1" + Me.AboutVECTOToolStripMenuItem1.Size = New System.Drawing.Size(221, 22) + Me.AboutVECTOToolStripMenuItem1.Text = "About VECTO" + ' + 'CmDEV + ' + Me.CmDEV.Name = "CmDEV" + Me.CmDEV.ShowImageMargin = False + Me.CmDEV.Size = New System.Drawing.Size(36, 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.ShowImageMargin = False + Me.CmOpenFile.Size = New System.Drawing.Size(174, 70) + ' + 'OpenWithToolStripMenuItem + ' + Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" + Me.OpenWithToolStripMenuItem.Size = New System.Drawing.Size(173, 22) + Me.OpenWithToolStripMenuItem.Text = "Open with ..." + ' + 'OpenInGraphWindowToolStripMenuItem + ' + Me.OpenInGraphWindowToolStripMenuItem.Name = "OpenInGraphWindowToolStripMenuItem" + Me.OpenInGraphWindowToolStripMenuItem.Size = New System.Drawing.Size(173, 22) + Me.OpenInGraphWindowToolStripMenuItem.Text = "Open in Graph Window" + ' + 'ShowInFolderToolStripMenuItem + ' + Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" + Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(173, 22) + Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" + ' + 'MainForm + ' + Me.AcceptButton = Me.btStartV3 + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + 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.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + 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.GroupBox3.ResumeLayout(False) + Me.GroupBox3.PerformLayout() + 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 + End Sub + Friend WithEvents StatusBAR As StatusStrip Friend WithEvents ToolStripLbStatus As ToolStripStatusLabel Friend WithEvents TabControl1 As TabControl Friend WithEvents TabPageGEN As TabPage diff --git a/VECTO/GUI/MainForm.resx b/VECTO/GUI/MainForm.resx index 7a10cc6bc771ee05159f0a0d4132dbe37d358569..b00fb45de6f7935415bddf8185a50c0bcac9ba1c 100644 --- a/VECTO/GUI/MainForm.resx +++ b/VECTO/GUI/MainForm.resx @@ -126,83 +126,83 @@ <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> - 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 + 3oj+Bw6SK4zL+dWDAAAAAElFTkSuQmCC </value> </data> <metadata name="ConMenFilelist.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> @@ -223,9 +223,6 @@ <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="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>850, 12</value> - </metadata> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>49</value> </metadata> diff --git a/VECTO/GUI/VectoEPTPJobForm.Designer.vb b/VECTO/GUI/VectoEPTPJobForm.Designer.vb index 67673c6f89d86f1e56b573dbb020f9afa20967a7..4aa60fd6d31c560efcc32e31125a688a76fd18e4 100644 --- a/VECTO/GUI/VectoEPTPJobForm.Designer.vb +++ b/VECTO/GUI/VectoEPTPJobForm.Designer.vb @@ -25,566 +25,566 @@ Partial Class VectoEPTPJobForm '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(VectoEPTPJobForm)) - Me.GrCycles = New System.Windows.Forms.GroupBox() - Me.Label2 = New System.Windows.Forms.Label() - Me.LvCycles = New System.Windows.Forms.ListView() - Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader) - Me.BtDRIrem = New System.Windows.Forms.Button() - Me.BtDRIadd = New System.Windows.Forms.Button() - Me.GrAux = New System.Windows.Forms.GroupBox() - Me.LvAux = New System.Windows.Forms.ListView() - Me.ColumnHeader4 = 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.TbVEH = New System.Windows.Forms.TextBox() - Me.ButtonVEH = New System.Windows.Forms.Button() - Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() - Me.ToolStripStatusLabelGEN = New System.Windows.Forms.ToolStripStatusLabel() - Me.ButOK = New System.Windows.Forms.Button() - Me.ButCancel = New System.Windows.Forms.Button() - Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() - Me.ToolStripBtNew = New System.Windows.Forms.ToolStripButton() - Me.ToolStripBtOpen = New System.Windows.Forms.ToolStripButton() - Me.ToolStripBtSave = New System.Windows.Forms.ToolStripButton() - Me.ToolStripBtSaveAs = New System.Windows.Forms.ToolStripButton() - Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() - Me.ToolStripBtSendTo = New System.Windows.Forms.ToolStripButton() - Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() - Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() - Me.PictureBox1 = New System.Windows.Forms.PictureBox() - Me.CmOpenFile = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.OpenWithToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ShowInFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.PicVehicle = New System.Windows.Forms.PictureBox() - Me.PicBox = New System.Windows.Forms.PictureBox() - Me.TbEngTxt = New System.Windows.Forms.TextBox() - Me.TbVehCat = New System.Windows.Forms.TextBox() - Me.TbAxleConf = New System.Windows.Forms.TextBox() - Me.TbHVCclass = New System.Windows.Forms.TextBox() - Me.TbGbxTxt = New System.Windows.Forms.TextBox() - Me.TbMass = New System.Windows.Forms.TextBox() - Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) - Me.lblEngineCharacteristics = New System.Windows.Forms.Label() - Me.PictureBox2 = New System.Windows.Forms.PictureBox() - Me.GroupBox1 = New System.Windows.Forms.GroupBox() - Me.Label1 = New System.Windows.Forms.Label() - Me.tbC1 = New System.Windows.Forms.TextBox() - Me.tbC2 = New System.Windows.Forms.TextBox() - Me.Label3 = New System.Windows.Forms.Label() - Me.tbC3 = New System.Windows.Forms.TextBox() - Me.Label4 = New System.Windows.Forms.Label() - Me.Label5 = New System.Windows.Forms.Label() - Me.GrCycles.SuspendLayout() - Me.GrAux.SuspendLayout() - Me.StatusStrip1.SuspendLayout() - Me.ToolStrip1.SuspendLayout() - CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() - Me.CmOpenFile.SuspendLayout() - CType(Me.PicVehicle, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.PicBox, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit() - Me.GroupBox1.SuspendLayout() - Me.SuspendLayout() - ' - 'GrCycles - ' - Me.GrCycles.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.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 System.Drawing.Point(12, 260) - Me.GrCycles.Name = "GrCycles" - Me.GrCycles.Size = New System.Drawing.Size(515, 138) - Me.GrCycles.TabIndex = 10 - Me.GrCycles.TabStop = False - Me.GrCycles.Text = "Cycles" - ' - 'Label2 - ' - Me.Label2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.Label2.AutoSize = True - Me.Label2.Location = New System.Drawing.Point(391, 109) - Me.Label2.Name = "Label2" - Me.Label2.Size = New System.Drawing.Size(118, 13) - Me.Label2.TabIndex = 3 - Me.Label2.Text = "(Right-Click for Options)" - ' - 'LvCycles - ' - Me.LvCycles.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.LvCycles.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1}) - Me.LvCycles.FullRowSelect = True - Me.LvCycles.GridLines = True - Me.LvCycles.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None - Me.LvCycles.HideSelection = False - Me.LvCycles.LabelEdit = True - Me.LvCycles.Location = New System.Drawing.Point(6, 19) - Me.LvCycles.MultiSelect = False - Me.LvCycles.Name = "LvCycles" - Me.LvCycles.Size = New System.Drawing.Size(503, 89) - Me.LvCycles.TabIndex = 0 - Me.LvCycles.TabStop = False - Me.LvCycles.UseCompatibleStateImageBehavior = False - Me.LvCycles.View = System.Windows.Forms.View.Details - ' - 'ColumnHeader1 - ' - Me.ColumnHeader1.Text = "Cycle path" - Me.ColumnHeader1.Width = 470 - ' - 'BtDRIrem - ' - Me.BtDRIrem.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.BtDRIrem.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon - Me.BtDRIrem.Location = New System.Drawing.Point(29, 109) - Me.BtDRIrem.Name = "BtDRIrem" - Me.BtDRIrem.Size = New System.Drawing.Size(24, 24) - Me.BtDRIrem.TabIndex = 2 - Me.BtDRIrem.UseVisualStyleBackColor = True - ' - 'BtDRIadd - ' - Me.BtDRIadd.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.BtDRIadd.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon - Me.BtDRIadd.Location = New System.Drawing.Point(5, 109) - Me.BtDRIadd.Name = "BtDRIadd" - Me.BtDRIadd.Size = New System.Drawing.Size(24, 24) - Me.BtDRIadd.TabIndex = 1 - Me.BtDRIadd.UseVisualStyleBackColor = True - ' - 'GrAux - ' - Me.GrAux.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.GrAux.Controls.Add(Me.LvAux) - Me.GrAux.Location = New System.Drawing.Point(12, 114) - Me.GrAux.Name = "GrAux" - Me.GrAux.Size = New System.Drawing.Size(515, 140) - Me.GrAux.TabIndex = 9 - Me.GrAux.TabStop = False - Me.GrAux.Text = "Auxiliaries" - ' - 'LvAux - ' - Me.LvAux.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.LvAux.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader4, Me.ColumnHeader5, Me.ColumnHeader6}) - Me.LvAux.FullRowSelect = True - Me.LvAux.GridLines = True - Me.LvAux.HideSelection = False - Me.LvAux.Location = New System.Drawing.Point(4, 19) - Me.LvAux.MultiSelect = False - Me.LvAux.Name = "LvAux" - Me.LvAux.Size = New System.Drawing.Size(503, 115) - Me.LvAux.TabIndex = 0 - Me.LvAux.TabStop = False - Me.LvAux.UseCompatibleStateImageBehavior = False - Me.LvAux.View = System.Windows.Forms.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 - ' - 'TbVEH - ' - Me.TbVEH.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.TbVEH.Location = New System.Drawing.Point(90, 86) - Me.TbVEH.Name = "TbVEH" - Me.TbVEH.Size = New System.Drawing.Size(411, 20) - Me.TbVEH.TabIndex = 1 - ' - 'ButtonVEH - ' - Me.ButtonVEH.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ButtonVEH.Image = CType(resources.GetObject("ButtonVEH.Image"), System.Drawing.Image) - Me.ButtonVEH.Location = New System.Drawing.Point(502, 84) - Me.ButtonVEH.Name = "ButtonVEH" - Me.ButtonVEH.Size = New System.Drawing.Size(24, 24) - Me.ButtonVEH.TabIndex = 2 - Me.ButtonVEH.TabStop = False - Me.ButtonVEH.UseVisualStyleBackColor = True - ' - 'StatusStrip1 - ' - Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripStatusLabelGEN}) - Me.StatusStrip1.Location = New System.Drawing.Point(0, 554) - Me.StatusStrip1.Name = "StatusStrip1" - Me.StatusStrip1.Size = New System.Drawing.Size(944, 22) - Me.StatusStrip1.SizingGrip = False - Me.StatusStrip1.TabIndex = 6 - Me.StatusStrip1.Text = "StatusStrip1" - ' - 'ToolStripStatusLabelGEN - ' - Me.ToolStripStatusLabelGEN.Name = "ToolStripStatusLabelGEN" - Me.ToolStripStatusLabelGEN.Size = New System.Drawing.Size(121, 17) - Me.ToolStripStatusLabelGEN.Text = "ToolStripStatusLabel1" - ' - 'ButOK - ' - Me.ButOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ButOK.Location = New System.Drawing.Point(778, 527) - Me.ButOK.Name = "ButOK" - Me.ButOK.Size = New System.Drawing.Size(75, 23) - Me.ButOK.TabIndex = 0 - Me.ButOK.Text = "Save" - Me.ButOK.UseVisualStyleBackColor = True - ' - 'ButCancel - ' - Me.ButCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ButCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel - Me.ButCancel.Location = New System.Drawing.Point(859, 527) - Me.ButCancel.Name = "ButCancel" - Me.ButCancel.Size = New System.Drawing.Size(75, 23) - Me.ButCancel.TabIndex = 1 - Me.ButCancel.Text = "Cancel" - Me.ButCancel.UseVisualStyleBackColor = True - ' - 'ToolStrip1 - ' - Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden - Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator1, Me.ToolStripBtSendTo, Me.ToolStripSeparator2, Me.ToolStripButton1}) - Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) - Me.ToolStrip1.Name = "ToolStrip1" - Me.ToolStrip1.Size = New System.Drawing.Size(944, 25) - Me.ToolStrip1.TabIndex = 20 - 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 = "New" - Me.ToolStripBtNew.ToolTipText = "New" - ' - '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 = "Open" - Me.ToolStripBtOpen.ToolTipText = "Open..." - ' - 'ToolStripBtSave - ' - Me.ToolStripBtSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image - Me.ToolStripBtSave.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_document_save_icon - Me.ToolStripBtSave.ImageTransparentColor = System.Drawing.Color.Magenta - Me.ToolStripBtSave.Name = "ToolStripBtSave" - Me.ToolStripBtSave.Size = New System.Drawing.Size(23, 22) - Me.ToolStripBtSave.Text = "Save" - Me.ToolStripBtSave.ToolTipText = "Save" - ' - 'ToolStripBtSaveAs - ' - Me.ToolStripBtSaveAs.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image - Me.ToolStripBtSaveAs.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_document_save_as_icon - Me.ToolStripBtSaveAs.ImageTransparentColor = System.Drawing.Color.Magenta - Me.ToolStripBtSaveAs.Name = "ToolStripBtSaveAs" - Me.ToolStripBtSaveAs.Size = New System.Drawing.Size(23, 22) - Me.ToolStripBtSaveAs.Text = "Save As" - Me.ToolStripBtSaveAs.ToolTipText = "Save As..." - ' - 'ToolStripSeparator1 - ' - Me.ToolStripSeparator1.Name = "ToolStripSeparator1" - Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) - ' - 'ToolStripBtSendTo - ' - Me.ToolStripBtSendTo.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image - Me.ToolStripBtSendTo.Image = Global.TUGraz.VECTO.My.Resources.Resources.export_icon - Me.ToolStripBtSendTo.ImageTransparentColor = System.Drawing.Color.Magenta - Me.ToolStripBtSendTo.Name = "ToolStripBtSendTo" - Me.ToolStripBtSendTo.Size = New System.Drawing.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 System.Drawing.Size(6, 25) - ' - 'ToolStripButton1 - ' - Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image - Me.ToolStripButton1.Image = Global.TUGraz.VECTO.My.Resources.Resources.Help_icon - Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta - Me.ToolStripButton1.Name = "ToolStripButton1" - Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) - Me.ToolStripButton1.Text = "Help" - ' - 'PictureBox1 - ' - Me.PictureBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.PictureBox1.BackColor = System.Drawing.Color.White - Me.PictureBox1.Image = Global.TUGraz.VECTO.My.Resources.Resources.VECTO_VECTO - Me.PictureBox1.Location = New System.Drawing.Point(0, 28) - Me.PictureBox1.Name = "PictureBox1" - Me.PictureBox1.Size = New System.Drawing.Size(944, 40) - Me.PictureBox1.TabIndex = 21 - Me.PictureBox1.TabStop = False - ' - 'CmOpenFile - ' - Me.CmOpenFile.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.ShowInFolderToolStripMenuItem}) - Me.CmOpenFile.Name = "CmOpenFile" - Me.CmOpenFile.ShowImageMargin = False - Me.CmOpenFile.Size = New System.Drawing.Size(128, 48) - ' - 'OpenWithToolStripMenuItem - ' - Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" - Me.OpenWithToolStripMenuItem.Size = New System.Drawing.Size(127, 22) - Me.OpenWithToolStripMenuItem.Text = "Open with ..." - ' - 'ShowInFolderToolStripMenuItem - ' - Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" - Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(127, 22) - Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" - ' - 'PicVehicle - ' - Me.PicVehicle.BackColor = System.Drawing.Color.LightGray - Me.PicVehicle.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.PicVehicle.Location = New System.Drawing.Point(542, 80) - Me.PicVehicle.Name = "PicVehicle" - Me.PicVehicle.Size = New System.Drawing.Size(300, 88) - Me.PicVehicle.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage - Me.PicVehicle.TabIndex = 36 - Me.PicVehicle.TabStop = False - ' - 'PicBox - ' - Me.PicBox.BackColor = System.Drawing.Color.LightGray - Me.PicBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.PicBox.Location = New System.Drawing.Point(542, 219) - Me.PicBox.Name = "PicBox" - Me.PicBox.Size = New System.Drawing.Size(390, 296) - Me.PicBox.TabIndex = 36 - Me.PicBox.TabStop = False - ' - 'TbEngTxt - ' - Me.TbEngTxt.Location = New System.Drawing.Point(542, 171) - Me.TbEngTxt.Name = "TbEngTxt" - Me.TbEngTxt.ReadOnly = True - Me.TbEngTxt.Size = New System.Drawing.Size(390, 20) - Me.TbEngTxt.TabIndex = 6 - ' - 'TbVehCat - ' - Me.TbVehCat.Location = New System.Drawing.Point(848, 84) - Me.TbVehCat.Name = "TbVehCat" - Me.TbVehCat.ReadOnly = True - Me.TbVehCat.Size = New System.Drawing.Size(87, 20) - Me.TbVehCat.TabIndex = 2 - ' - 'TbAxleConf - ' - Me.TbAxleConf.Location = New System.Drawing.Point(904, 113) - Me.TbAxleConf.Name = "TbAxleConf" - Me.TbAxleConf.ReadOnly = True - Me.TbAxleConf.Size = New System.Drawing.Size(31, 20) - Me.TbAxleConf.TabIndex = 4 - ' - 'TbHVCclass - ' - Me.TbHVCclass.Location = New System.Drawing.Point(848, 142) - Me.TbHVCclass.Name = "TbHVCclass" - Me.TbHVCclass.ReadOnly = True - Me.TbHVCclass.Size = New System.Drawing.Size(87, 20) - Me.TbHVCclass.TabIndex = 5 - ' - 'TbGbxTxt - ' - Me.TbGbxTxt.Location = New System.Drawing.Point(542, 194) - Me.TbGbxTxt.Name = "TbGbxTxt" - Me.TbGbxTxt.ReadOnly = True - Me.TbGbxTxt.Size = New System.Drawing.Size(390, 20) - Me.TbGbxTxt.TabIndex = 7 - ' - 'TbMass - ' - Me.TbMass.Location = New System.Drawing.Point(848, 113) - Me.TbMass.Name = "TbMass" - Me.TbMass.ReadOnly = True - Me.TbMass.Size = New System.Drawing.Size(50, 20) - Me.TbMass.TabIndex = 3 - ' - 'lblEngineCharacteristics - ' - Me.lblEngineCharacteristics.AutoSize = True - Me.lblEngineCharacteristics.Location = New System.Drawing.Point(542, 518) - Me.lblEngineCharacteristics.Name = "lblEngineCharacteristics" - Me.lblEngineCharacteristics.Size = New System.Drawing.Size(0, 13) - Me.lblEngineCharacteristics.TabIndex = 37 - ' - 'PictureBox2 - ' - Me.PictureBox2.Image = CType(resources.GetObject("PictureBox2.Image"), System.Drawing.Image) - Me.PictureBox2.InitialImage = CType(resources.GetObject("PictureBox2.InitialImage"), System.Drawing.Image) - Me.PictureBox2.Location = New System.Drawing.Point(7, 19) - Me.PictureBox2.Name = "PictureBox2" - Me.PictureBox2.Size = New System.Drawing.Size(277, 108) - Me.PictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom - Me.PictureBox2.TabIndex = 38 - Me.PictureBox2.TabStop = False - ' - 'GroupBox1 - ' - Me.GroupBox1.Controls.Add(Me.tbC3) - Me.GroupBox1.Controls.Add(Me.Label4) - Me.GroupBox1.Controls.Add(Me.tbC2) - Me.GroupBox1.Controls.Add(Me.Label3) - Me.GroupBox1.Controls.Add(Me.tbC1) - Me.GroupBox1.Controls.Add(Me.Label1) - Me.GroupBox1.Controls.Add(Me.PictureBox2) - Me.GroupBox1.Location = New System.Drawing.Point(11, 404) - Me.GroupBox1.Name = "GroupBox1" - Me.GroupBox1.Size = New System.Drawing.Size(515, 135) - Me.GroupBox1.TabIndex = 39 - Me.GroupBox1.TabStop = False - Me.GroupBox1.Text = "Fan Power" - ' - 'Label1 - ' - Me.Label1.AutoSize = True - Me.Label1.Location = New System.Drawing.Point(316, 28) - Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(23, 13) - Me.Label1.TabIndex = 39 - Me.Label1.Text = "C1:" - ' - 'tbC1 - ' - Me.tbC1.Location = New System.Drawing.Point(363, 25) - Me.tbC1.Name = "tbC1" - Me.tbC1.Size = New System.Drawing.Size(100, 20) - Me.tbC1.TabIndex = 40 - ' - 'tbC2 - ' - Me.tbC2.Location = New System.Drawing.Point(363, 51) - Me.tbC2.Name = "tbC2" - Me.tbC2.Size = New System.Drawing.Size(100, 20) - Me.tbC2.TabIndex = 42 - ' - 'Label3 - ' - Me.Label3.AutoSize = True - Me.Label3.Location = New System.Drawing.Point(316, 54) - Me.Label3.Name = "Label3" - Me.Label3.Size = New System.Drawing.Size(23, 13) - Me.Label3.TabIndex = 41 - Me.Label3.Text = "C2:" - ' - 'tbC3 - ' - Me.tbC3.Location = New System.Drawing.Point(363, 77) - Me.tbC3.Name = "tbC3" - Me.tbC3.Size = New System.Drawing.Size(100, 20) - Me.tbC3.TabIndex = 44 - ' - 'Label4 - ' - Me.Label4.AutoSize = True - Me.Label4.Location = New System.Drawing.Point(316, 80) - Me.Label4.Name = "Label4" - Me.Label4.Size = New System.Drawing.Size(23, 13) - Me.Label4.TabIndex = 43 - Me.Label4.Text = "C3:" - ' - 'Label5 - ' - Me.Label5.AutoSize = True - Me.Label5.Location = New System.Drawing.Point(15, 89) - Me.Label5.Name = "Label5" - Me.Label5.Size = New System.Drawing.Size(70, 13) - Me.Label5.TabIndex = 40 - Me.Label5.Text = "Vehicle XML:" - ' - 'VectoEPTPJobForm - ' - Me.AcceptButton = Me.ButOK - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) - Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.CancelButton = Me.ButCancel - Me.ClientSize = New System.Drawing.Size(944, 576) - Me.Controls.Add(Me.Label5) - Me.Controls.Add(Me.GroupBox1) - Me.Controls.Add(Me.GrAux) - Me.Controls.Add(Me.GrCycles) - Me.Controls.Add(Me.lblEngineCharacteristics) - Me.Controls.Add(Me.TbHVCclass) - Me.Controls.Add(Me.TbMass) - Me.Controls.Add(Me.TbVEH) - Me.Controls.Add(Me.TbAxleConf) - Me.Controls.Add(Me.TbVehCat) - Me.Controls.Add(Me.TbGbxTxt) - Me.Controls.Add(Me.TbEngTxt) - Me.Controls.Add(Me.ButtonVEH) - Me.Controls.Add(Me.PicBox) - Me.Controls.Add(Me.PicVehicle) - Me.Controls.Add(Me.PictureBox1) - Me.Controls.Add(Me.ToolStrip1) - Me.Controls.Add(Me.ButCancel) - Me.Controls.Add(Me.ButOK) - Me.Controls.Add(Me.StatusStrip1) - Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle - Me.Icon = CType(resources.GetObject("$this.Icon"),System.Drawing.Icon) - Me.MaximizeBox = false - Me.Name = "VectoEPTPJobForm" - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen - Me.Text = "Job Editor" - Me.GrCycles.ResumeLayout(false) - Me.GrCycles.PerformLayout - Me.GrAux.ResumeLayout(false) - Me.StatusStrip1.ResumeLayout(false) - Me.StatusStrip1.PerformLayout - Me.ToolStrip1.ResumeLayout(false) - Me.ToolStrip1.PerformLayout - CType(Me.PictureBox1,System.ComponentModel.ISupportInitialize).EndInit - Me.CmOpenFile.ResumeLayout(false) - CType(Me.PicVehicle,System.ComponentModel.ISupportInitialize).EndInit - CType(Me.PicBox,System.ComponentModel.ISupportInitialize).EndInit - CType(Me.PictureBox2,System.ComponentModel.ISupportInitialize).EndInit - Me.GroupBox1.ResumeLayout(false) - Me.GroupBox1.PerformLayout - Me.ResumeLayout(false) - Me.PerformLayout + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(VectoEPTPJobForm)) + Me.GrCycles = New System.Windows.Forms.GroupBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.LvCycles = New System.Windows.Forms.ListView() + Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) + Me.BtDRIrem = New System.Windows.Forms.Button() + Me.BtDRIadd = New System.Windows.Forms.Button() + Me.GrAux = New System.Windows.Forms.GroupBox() + Me.LvAux = New System.Windows.Forms.ListView() + Me.ColumnHeader4 = 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.TbVEH = New System.Windows.Forms.TextBox() + Me.ButtonVEH = New System.Windows.Forms.Button() + Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() + Me.ToolStripStatusLabelGEN = New System.Windows.Forms.ToolStripStatusLabel() + Me.ButOK = New System.Windows.Forms.Button() + Me.ButCancel = New System.Windows.Forms.Button() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.ToolStripBtNew = New System.Windows.Forms.ToolStripButton() + Me.ToolStripBtOpen = New System.Windows.Forms.ToolStripButton() + Me.ToolStripBtSave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripBtSaveAs = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripBtSendTo = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.PictureBox1 = New System.Windows.Forms.PictureBox() + Me.CmOpenFile = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.OpenWithToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ShowInFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.PicVehicle = New System.Windows.Forms.PictureBox() + Me.PicBox = New System.Windows.Forms.PictureBox() + Me.TbEngTxt = New System.Windows.Forms.TextBox() + Me.TbVehCat = New System.Windows.Forms.TextBox() + Me.TbAxleConf = New System.Windows.Forms.TextBox() + Me.TbHVCclass = New System.Windows.Forms.TextBox() + Me.TbGbxTxt = New System.Windows.Forms.TextBox() + Me.TbMass = New System.Windows.Forms.TextBox() + Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) + Me.lblEngineCharacteristics = New System.Windows.Forms.Label() + Me.PictureBox2 = New System.Windows.Forms.PictureBox() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.tbC3 = New System.Windows.Forms.TextBox() + Me.Label4 = New System.Windows.Forms.Label() + Me.tbC2 = New System.Windows.Forms.TextBox() + Me.Label3 = New System.Windows.Forms.Label() + Me.tbC1 = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label5 = New System.Windows.Forms.Label() + Me.GrCycles.SuspendLayout() + Me.GrAux.SuspendLayout() + Me.StatusStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.CmOpenFile.SuspendLayout() + CType(Me.PicVehicle, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.PicBox, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.GroupBox1.SuspendLayout() + Me.SuspendLayout() + ' + 'GrCycles + ' + Me.GrCycles.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.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 System.Drawing.Point(12, 260) + Me.GrCycles.Name = "GrCycles" + Me.GrCycles.Size = New System.Drawing.Size(515, 138) + Me.GrCycles.TabIndex = 10 + Me.GrCycles.TabStop = False + Me.GrCycles.Text = "Cycles" + ' + 'Label2 + ' + Me.Label2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(391, 109) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(118, 13) + Me.Label2.TabIndex = 3 + Me.Label2.Text = "(Right-Click for Options)" + ' + 'LvCycles + ' + Me.LvCycles.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.LvCycles.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1}) + Me.LvCycles.FullRowSelect = True + Me.LvCycles.GridLines = True + Me.LvCycles.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None + Me.LvCycles.HideSelection = False + Me.LvCycles.LabelEdit = True + Me.LvCycles.Location = New System.Drawing.Point(6, 19) + Me.LvCycles.MultiSelect = False + Me.LvCycles.Name = "LvCycles" + Me.LvCycles.Size = New System.Drawing.Size(503, 89) + Me.LvCycles.TabIndex = 0 + Me.LvCycles.TabStop = False + Me.LvCycles.UseCompatibleStateImageBehavior = False + Me.LvCycles.View = System.Windows.Forms.View.Details + ' + 'ColumnHeader1 + ' + Me.ColumnHeader1.Text = "Cycle path" + Me.ColumnHeader1.Width = 470 + ' + 'BtDRIrem + ' + Me.BtDRIrem.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.BtDRIrem.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon + Me.BtDRIrem.Location = New System.Drawing.Point(29, 109) + Me.BtDRIrem.Name = "BtDRIrem" + Me.BtDRIrem.Size = New System.Drawing.Size(24, 24) + Me.BtDRIrem.TabIndex = 2 + Me.BtDRIrem.UseVisualStyleBackColor = True + ' + 'BtDRIadd + ' + Me.BtDRIadd.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.BtDRIadd.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon + Me.BtDRIadd.Location = New System.Drawing.Point(5, 109) + Me.BtDRIadd.Name = "BtDRIadd" + Me.BtDRIadd.Size = New System.Drawing.Size(24, 24) + Me.BtDRIadd.TabIndex = 1 + Me.BtDRIadd.UseVisualStyleBackColor = True + ' + 'GrAux + ' + Me.GrAux.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.GrAux.Controls.Add(Me.LvAux) + Me.GrAux.Location = New System.Drawing.Point(12, 114) + Me.GrAux.Name = "GrAux" + Me.GrAux.Size = New System.Drawing.Size(515, 140) + Me.GrAux.TabIndex = 9 + Me.GrAux.TabStop = False + Me.GrAux.Text = "Auxiliaries" + ' + 'LvAux + ' + Me.LvAux.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.LvAux.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader4, Me.ColumnHeader5, Me.ColumnHeader6}) + Me.LvAux.FullRowSelect = True + Me.LvAux.GridLines = True + Me.LvAux.HideSelection = False + Me.LvAux.Location = New System.Drawing.Point(4, 19) + Me.LvAux.MultiSelect = False + Me.LvAux.Name = "LvAux" + Me.LvAux.Size = New System.Drawing.Size(503, 115) + Me.LvAux.TabIndex = 0 + Me.LvAux.TabStop = False + Me.LvAux.UseCompatibleStateImageBehavior = False + Me.LvAux.View = System.Windows.Forms.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 + ' + 'TbVEH + ' + Me.TbVEH.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.TbVEH.Location = New System.Drawing.Point(90, 86) + Me.TbVEH.Name = "TbVEH" + Me.TbVEH.Size = New System.Drawing.Size(411, 20) + Me.TbVEH.TabIndex = 1 + ' + 'ButtonVEH + ' + Me.ButtonVEH.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.ButtonVEH.Image = CType(resources.GetObject("ButtonVEH.Image"), System.Drawing.Image) + Me.ButtonVEH.Location = New System.Drawing.Point(502, 84) + Me.ButtonVEH.Name = "ButtonVEH" + Me.ButtonVEH.Size = New System.Drawing.Size(24, 24) + Me.ButtonVEH.TabIndex = 2 + Me.ButtonVEH.TabStop = False + Me.ButtonVEH.UseVisualStyleBackColor = True + ' + 'StatusStrip1 + ' + Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripStatusLabelGEN}) + Me.StatusStrip1.Location = New System.Drawing.Point(0, 568) + Me.StatusStrip1.Name = "StatusStrip1" + Me.StatusStrip1.Size = New System.Drawing.Size(944, 22) + Me.StatusStrip1.SizingGrip = False + Me.StatusStrip1.TabIndex = 6 + Me.StatusStrip1.Text = "StatusStrip1" + ' + 'ToolStripStatusLabelGEN + ' + Me.ToolStripStatusLabelGEN.Name = "ToolStripStatusLabelGEN" + Me.ToolStripStatusLabelGEN.Size = New System.Drawing.Size(120, 17) + Me.ToolStripStatusLabelGEN.Text = "ToolStripStatusLabel1" + ' + 'ButOK + ' + Me.ButOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.ButOK.Location = New System.Drawing.Point(778, 541) + Me.ButOK.Name = "ButOK" + Me.ButOK.Size = New System.Drawing.Size(75, 23) + Me.ButOK.TabIndex = 0 + Me.ButOK.Text = "Save" + Me.ButOK.UseVisualStyleBackColor = True + ' + 'ButCancel + ' + Me.ButCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.ButCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.ButCancel.Location = New System.Drawing.Point(859, 541) + Me.ButCancel.Name = "ButCancel" + Me.ButCancel.Size = New System.Drawing.Size(75, 23) + Me.ButCancel.TabIndex = 1 + Me.ButCancel.Text = "Cancel" + Me.ButCancel.UseVisualStyleBackColor = True + ' + 'ToolStrip1 + ' + Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator1, Me.ToolStripBtSendTo, Me.ToolStripSeparator2, Me.ToolStripButton1}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(944, 25) + Me.ToolStrip1.TabIndex = 20 + 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 = "New" + Me.ToolStripBtNew.ToolTipText = "New" + ' + '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 = "Open" + Me.ToolStripBtOpen.ToolTipText = "Open..." + ' + 'ToolStripBtSave + ' + Me.ToolStripBtSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripBtSave.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_document_save_icon + Me.ToolStripBtSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripBtSave.Name = "ToolStripBtSave" + Me.ToolStripBtSave.Size = New System.Drawing.Size(23, 22) + Me.ToolStripBtSave.Text = "Save" + Me.ToolStripBtSave.ToolTipText = "Save" + ' + 'ToolStripBtSaveAs + ' + Me.ToolStripBtSaveAs.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripBtSaveAs.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_document_save_as_icon + Me.ToolStripBtSaveAs.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripBtSaveAs.Name = "ToolStripBtSaveAs" + Me.ToolStripBtSaveAs.Size = New System.Drawing.Size(23, 22) + Me.ToolStripBtSaveAs.Text = "Save As" + Me.ToolStripBtSaveAs.ToolTipText = "Save As..." + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripBtSendTo + ' + Me.ToolStripBtSendTo.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripBtSendTo.Image = Global.TUGraz.VECTO.My.Resources.Resources.export_icon + Me.ToolStripBtSendTo.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripBtSendTo.Name = "ToolStripBtSendTo" + Me.ToolStripBtSendTo.Size = New System.Drawing.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 System.Drawing.Size(6, 25) + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = Global.TUGraz.VECTO.My.Resources.Resources.Help_icon + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "Help" + ' + 'PictureBox1 + ' + Me.PictureBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.PictureBox1.BackColor = System.Drawing.Color.White + Me.PictureBox1.Image = Global.TUGraz.VECTO.My.Resources.Resources.VECTO_VECTO + Me.PictureBox1.Location = New System.Drawing.Point(0, 28) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New System.Drawing.Size(944, 40) + Me.PictureBox1.TabIndex = 21 + Me.PictureBox1.TabStop = False + ' + 'CmOpenFile + ' + Me.CmOpenFile.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.ShowInFolderToolStripMenuItem}) + Me.CmOpenFile.Name = "CmOpenFile" + Me.CmOpenFile.ShowImageMargin = False + Me.CmOpenFile.Size = New System.Drawing.Size(128, 48) + ' + 'OpenWithToolStripMenuItem + ' + Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem" + Me.OpenWithToolStripMenuItem.Size = New System.Drawing.Size(127, 22) + Me.OpenWithToolStripMenuItem.Text = "Open with ..." + ' + 'ShowInFolderToolStripMenuItem + ' + Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem" + Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(127, 22) + Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" + ' + 'PicVehicle + ' + Me.PicVehicle.BackColor = System.Drawing.Color.LightGray + Me.PicVehicle.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.PicVehicle.Location = New System.Drawing.Point(542, 80) + Me.PicVehicle.Name = "PicVehicle" + Me.PicVehicle.Size = New System.Drawing.Size(300, 88) + Me.PicVehicle.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage + Me.PicVehicle.TabIndex = 36 + Me.PicVehicle.TabStop = False + ' + 'PicBox + ' + Me.PicBox.BackColor = System.Drawing.Color.LightGray + Me.PicBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.PicBox.Location = New System.Drawing.Point(542, 219) + Me.PicBox.Name = "PicBox" + Me.PicBox.Size = New System.Drawing.Size(390, 296) + Me.PicBox.TabIndex = 36 + Me.PicBox.TabStop = False + ' + 'TbEngTxt + ' + Me.TbEngTxt.Location = New System.Drawing.Point(542, 171) + Me.TbEngTxt.Name = "TbEngTxt" + Me.TbEngTxt.ReadOnly = True + Me.TbEngTxt.Size = New System.Drawing.Size(390, 20) + Me.TbEngTxt.TabIndex = 6 + ' + 'TbVehCat + ' + Me.TbVehCat.Location = New System.Drawing.Point(848, 84) + Me.TbVehCat.Name = "TbVehCat" + Me.TbVehCat.ReadOnly = True + Me.TbVehCat.Size = New System.Drawing.Size(87, 20) + Me.TbVehCat.TabIndex = 2 + ' + 'TbAxleConf + ' + Me.TbAxleConf.Location = New System.Drawing.Point(904, 113) + Me.TbAxleConf.Name = "TbAxleConf" + Me.TbAxleConf.ReadOnly = True + Me.TbAxleConf.Size = New System.Drawing.Size(31, 20) + Me.TbAxleConf.TabIndex = 4 + ' + 'TbHVCclass + ' + Me.TbHVCclass.Location = New System.Drawing.Point(848, 142) + Me.TbHVCclass.Name = "TbHVCclass" + Me.TbHVCclass.ReadOnly = True + Me.TbHVCclass.Size = New System.Drawing.Size(87, 20) + Me.TbHVCclass.TabIndex = 5 + ' + 'TbGbxTxt + ' + Me.TbGbxTxt.Location = New System.Drawing.Point(542, 194) + Me.TbGbxTxt.Name = "TbGbxTxt" + Me.TbGbxTxt.ReadOnly = True + Me.TbGbxTxt.Size = New System.Drawing.Size(390, 20) + Me.TbGbxTxt.TabIndex = 7 + ' + 'TbMass + ' + Me.TbMass.Location = New System.Drawing.Point(848, 113) + Me.TbMass.Name = "TbMass" + Me.TbMass.ReadOnly = True + Me.TbMass.Size = New System.Drawing.Size(50, 20) + Me.TbMass.TabIndex = 3 + ' + 'lblEngineCharacteristics + ' + Me.lblEngineCharacteristics.AutoSize = True + Me.lblEngineCharacteristics.Location = New System.Drawing.Point(542, 518) + Me.lblEngineCharacteristics.Name = "lblEngineCharacteristics" + Me.lblEngineCharacteristics.Size = New System.Drawing.Size(0, 13) + Me.lblEngineCharacteristics.TabIndex = 37 + ' + 'PictureBox2 + ' + Me.PictureBox2.Image = CType(resources.GetObject("PictureBox2.Image"), System.Drawing.Image) + Me.PictureBox2.InitialImage = CType(resources.GetObject("PictureBox2.InitialImage"), System.Drawing.Image) + Me.PictureBox2.Location = New System.Drawing.Point(7, 19) + Me.PictureBox2.Name = "PictureBox2" + Me.PictureBox2.Size = New System.Drawing.Size(277, 108) + Me.PictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom + Me.PictureBox2.TabIndex = 38 + Me.PictureBox2.TabStop = False + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.tbC3) + Me.GroupBox1.Controls.Add(Me.Label4) + Me.GroupBox1.Controls.Add(Me.tbC2) + Me.GroupBox1.Controls.Add(Me.Label3) + Me.GroupBox1.Controls.Add(Me.tbC1) + Me.GroupBox1.Controls.Add(Me.Label1) + Me.GroupBox1.Controls.Add(Me.PictureBox2) + Me.GroupBox1.Location = New System.Drawing.Point(11, 404) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(515, 135) + Me.GroupBox1.TabIndex = 39 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Fan Power" + ' + 'tbC3 + ' + Me.tbC3.Location = New System.Drawing.Point(363, 77) + Me.tbC3.Name = "tbC3" + Me.tbC3.Size = New System.Drawing.Size(100, 20) + Me.tbC3.TabIndex = 44 + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(316, 80) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(23, 13) + Me.Label4.TabIndex = 43 + Me.Label4.Text = "C3:" + ' + 'tbC2 + ' + Me.tbC2.Location = New System.Drawing.Point(363, 51) + Me.tbC2.Name = "tbC2" + Me.tbC2.Size = New System.Drawing.Size(100, 20) + Me.tbC2.TabIndex = 42 + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(316, 54) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(23, 13) + Me.Label3.TabIndex = 41 + Me.Label3.Text = "C2:" + ' + 'tbC1 + ' + Me.tbC1.Location = New System.Drawing.Point(363, 25) + Me.tbC1.Name = "tbC1" + Me.tbC1.Size = New System.Drawing.Size(100, 20) + Me.tbC1.TabIndex = 40 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(316, 28) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(23, 13) + Me.Label1.TabIndex = 39 + Me.Label1.Text = "C1:" + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(15, 89) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(70, 13) + Me.Label5.TabIndex = 40 + Me.Label5.Text = "Vehicle XML:" + ' + 'VectoEPTPJobForm + ' + Me.AcceptButton = Me.ButOK + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.ButCancel + Me.ClientSize = New System.Drawing.Size(944, 590) + Me.Controls.Add(Me.Label5) + Me.Controls.Add(Me.GroupBox1) + Me.Controls.Add(Me.GrAux) + Me.Controls.Add(Me.GrCycles) + Me.Controls.Add(Me.lblEngineCharacteristics) + Me.Controls.Add(Me.TbHVCclass) + Me.Controls.Add(Me.TbMass) + Me.Controls.Add(Me.TbVEH) + Me.Controls.Add(Me.TbAxleConf) + Me.Controls.Add(Me.TbVehCat) + Me.Controls.Add(Me.TbGbxTxt) + Me.Controls.Add(Me.TbEngTxt) + Me.Controls.Add(Me.ButtonVEH) + Me.Controls.Add(Me.PicBox) + Me.Controls.Add(Me.PicVehicle) + Me.Controls.Add(Me.PictureBox1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.ButCancel) + Me.Controls.Add(Me.ButOK) + Me.Controls.Add(Me.StatusStrip1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MaximizeBox = False + Me.Name = "VectoEPTPJobForm" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Job Editor" + Me.GrCycles.ResumeLayout(False) + Me.GrCycles.PerformLayout() + Me.GrAux.ResumeLayout(False) + Me.StatusStrip1.ResumeLayout(False) + Me.StatusStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + Me.CmOpenFile.ResumeLayout(False) + CType(Me.PicVehicle, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.PicBox, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).EndInit() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() -End Sub + End Sub Friend WithEvents StatusStrip1 As StatusStrip Friend WithEvents ButtonVEH As Button Friend WithEvents ToolStripStatusLabelGEN As ToolStripStatusLabel diff --git a/VECTO/GUI/VectoEPTPJobForm.resx b/VECTO/GUI/VectoEPTPJobForm.resx index 0a0d0dea6bd749f7c29cb28b49365fe5adf215cb..391e34605b0b0f20b59e976681ea3a5208ca4cce 100644 --- a/VECTO/GUI/VectoEPTPJobForm.resx +++ b/VECTO/GUI/VectoEPTPJobForm.resx @@ -120,20 +120,20 @@ <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <data name="ButtonVEH.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> - 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 </value> </data> <metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> @@ -150,410 +150,410 @@ </metadata> <data name="PictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> - 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 </value> </data> <data name="PictureBox2.InitialImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> - 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 </value> </data> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> diff --git a/VECTO/GUI/VectoEPTPJobForm.vb b/VECTO/GUI/VectoEPTPJobForm.vb index fc6e84a975977697c13d9fc0cdd75218180ff89c..6f1995750497aa20a1b27eb0360e25a19853c0f4 100644 --- a/VECTO/GUI/VectoEPTPJobForm.vb +++ b/VECTO/GUI/VectoEPTPJobForm.vb @@ -17,11 +17,13 @@ Imports System.Linq Imports System.Runtime.CompilerServices Imports System.Text.RegularExpressions Imports System.Windows.Forms.DataVisualization.Charting +Imports System.Xml Imports TUGraz.VECTO.Input_Files Imports TUGraz.VectoCommon.InputData Imports TUGraz.VectoCommon.Models Imports TUGraz.VectoCommon.Utils Imports TUGraz.VectoCore.InputData.FileIO.JSON +Imports TUGraz.VectoCore.InputData.FileIO.XML.Declaration Imports TUGraz.VectoCore.InputData.Reader Imports TUGraz.VectoCore.Models.Declaration Imports TUGraz.VectoCore.Models.SimulationComponent.Data @@ -33,567 +35,594 @@ Imports TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox ''' </summary> ''' <remarks></remarks> Public Class VectoEPTPJobForm - Public VectoFile As String - Private _changed As Boolean = False + Public VectoFile As String + Private _changed As Boolean = False - Private _pgDriver As TabPage + Private _pgDriver As TabPage - Private _pgDriverOn As Boolean = True + Private _pgDriverOn As Boolean = True - Private _auxDialog As VehicleAuxiliariesDialog + Private _auxDialog As VehicleAuxiliariesDialog - Enum AuxViewColumns - AuxID = 0 - AuxType = 1 - AuxInputOrTech = 2 - End Enum + Enum AuxViewColumns + AuxID = 0 + AuxType = 1 + AuxInputOrTech = 2 + End Enum - 'Initialise form - Private Sub F02_GEN_Load(sender As Object, e As EventArgs) Handles Me.Load - - _auxDialog = New VehicleAuxiliariesDialog + 'Initialise form + Private Sub F02_GEN_Load(sender As Object, e As EventArgs) Handles Me.Load + _auxDialog = New VehicleAuxiliariesDialog - LvAux.Columns(AuxViewColumns.AuxInputOrTech).Width = -2 - LvAux.Columns(AuxViewColumns.AuxInputOrTech).Text = "Technology" + LvAux.Columns(AuxViewColumns.AuxInputOrTech).Width = -2 - GrCycles.Enabled = True + LvAux.Columns(AuxViewColumns.AuxInputOrTech).Text = "Technology" - _changed = False - End Sub + GrCycles.Enabled = True - '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 + _changed = False + 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 - -#Region "Browse Buttons" - - Private Sub ButtonVEH_Click(sender As Object, e As EventArgs) Handles ButtonVEH.Click - If VehicleXMLFileBrowser.OpenDialog(FileRepl(TbVEH.Text, GetPath(VectoFile))) Then - TbVEH.Text = GetFilenameWithoutDirectory(VehicleXMLFileBrowser.Files(0), GetPath(VectoFile)) - End If - 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 - Try - VECTOload2Form(JobfileFileBrowser.Files(0)) - Catch ex As Exception - MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error loading Vecto Job File") - End Try - - End If - 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 +#Region "Browse Buttons" - 'Help - Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click - If File.Exists(MyAppPath & "User Manual\help.html") Then - Dim defaultBrowserPath As String = BrowserUtils.GetDefaultBrowserPath() - Process.Start(defaultBrowserPath, - String.Format("""file://{0}{1}""", MyAppPath, "User Manual\help.html#job-editor")) - Else - MsgBox("User Manual not found!", MsgBoxStyle.Critical) - End If - End Sub + Private Sub ButtonVEH_Click(sender As Object, e As EventArgs) Handles ButtonVEH.Click + If VehicleXMLFileBrowser.OpenDialog(FileRepl(TbVEH.Text, GetPath(VectoFile))) Then + TbVEH.Text = GetFilenameWithoutDirectory(VehicleXMLFileBrowser.Files(0), GetPath(VectoFile)) + 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 - Try - Return VECTOsave(VectoFile) - Catch ex As Exception - MsgBox("Error when saving file" + Environment.NewLine + ex.Message) - Return False - End Try - End Function - 'Open file - Public Sub VECTOload2Form(file As String) +#Region "Toolbar" - If ChangeCheckCancel() Then Exit Sub + '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 + Try + VECTOload2Form(JobfileFileBrowser.Files(0)) + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error loading Vecto Job File") + End Try + + End If + 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 defaultBrowserPath As String = BrowserUtils.GetDefaultBrowserPath() + Process.Start(defaultBrowserPath, + String.Format("""file://{0}{1}""", MyAppPath, "User Manual\help.html#job-editor")) + Else + MsgBox("User Manual not found!", MsgBoxStyle.Critical) + End If + End Sub - VectoNew() - 'Read GEN - Dim vectoJob As IEngineeringJobInputData = Nothing - Dim inputData As IEngineeringInputDataProvider = Nothing - Try - inputData = TryCast(JSONInputDataFactory.ReadComponentData(file), - IEngineeringInputDataProvider) - vectoJob = inputData.JobInputData() - Catch ex As Exception - MsgBox("Failed to read Job-File" + Environment.NewLine + ex.Message) - Return - End Try - - - If Cfg.DeclMode <> vectoJob.SavedInDeclarationMode 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 +#End Region - VectoFile = file - _basePath = Path.GetDirectoryName(file) - 'Update Form + '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 + Try + Return VECTOsave(VectoFile) + Catch ex As Exception + MsgBox("Error when saving file" + Environment.NewLine + ex.Message) + Return False + End Try + End Function + + 'Open file + Public Sub VECTOload2Form(file As String) + + If ChangeCheckCancel() Then Exit Sub + + VectoNew() + + 'Read GEN + Dim vectoJob As IEPTPJobInputData = Nothing + Dim inputData As IEPTPInputDataProvider = Nothing + Try + inputData = TryCast(JSONInputDataFactory.ReadComponentData(file), + IEPTPInputDataProvider) + vectoJob = inputData.JobInputData() + Catch ex As Exception + MsgBox("Failed to read Job-File" + Environment.NewLine + ex.Message) + Return + End Try + + + If Cfg.DeclMode <> vectoJob.SavedInDeclarationMode 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 + + VectoFile = file + _basePath = Path.GetDirectoryName(file) + 'Update Form + + + 'Files ----------------------------- + TbVEH.Text = GetRelativePath(inputData.JobInputData.Vehicle.Source, _basePath) + + Dim auxInput As IAuxiliariesDeclarationInputData = inputData.JobInputData.Vehicle.AuxiliaryInputData() + + PopulateAuxiliaryList(auxInput) + + Dim coefficients As Double() = vectoJob.FanPowerCoefficents.ToArray() + If (coefficients.Length >= 1) Then + tbC1.Text = coefficients(0).ToGUIFormat() + End If + If (coefficients.Length >= 2) Then + tbC2.Text = coefficients(1).ToGUIFormat() + End If + If (coefficients.Length >= 3) Then + tbC3.Text = coefficients(2).ToGUIFormat() + End If + Try + Dim sb As ICycleData + For Each sb In vectoJob.Cycles + Dim lv0 As ListViewItem = New ListViewItem + lv0.Text = GetRelativePath(sb.CycleData.Source, Path.GetDirectoryName(Path.GetFullPath(file))) 'sb.Name + LvCycles.Items.Add(lv0) + Next + Catch ex As Exception + End Try + + VehicleForm.AutoSendTo = False + + + Dim x As Integer = 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 + + Private Sub PopulateAuxiliaryList(auxInput As IAuxiliariesDeclarationInputData) + + LvAux.Items.Clear() + Dim entry As IAuxiliaryDeclarationInputData + For Each entry In auxInput.Auxiliaries + 'If entry.AuxiliaryType = AuxiliaryDemandType.Constant Then Continue For + Try + LvAux.Items.Add(CreateAuxListEntry(AuxiliaryTypeHelper.GetAuxKey(entry.Type), + AuxiliaryTypeHelper.ToString(entry.Type), String.Join("; ", entry.Technology))) + Catch ex As Exception + End Try + Next + End Sub - - 'Files ----------------------------- - TbVEH.Text = GetRelativePath(inputData.JobInputData.Vehicle.Source, _basePath) + Private Function CreateAuxListEntry(auxKey As String, type As String, technology As String) As ListViewItem + Dim lv0 As ListViewItem = New ListViewItem + lv0.SubItems(AuxViewColumns.AuxID).Text = auxKey + lv0.SubItems.Add(type) + lv0.SubItems.Add(technology) + Return lv0 + End Function - 'Start/Stop - Dim driver As IDriverEngineeringInputData = inputData.DriverInputData + 'Save file + Private Function VECTOsave(file As String) As Boolean + Dim message As String = String.Empty - Dim declarationInput As IDeclarationInputDataProvider = CType(inputData, IDeclarationInputDataProvider) - Dim auxInput As IAuxiliariesDeclarationInputData = declarationInput.JobInputData.Vehicle.AuxiliaryInputData() - LvAux.Items.Clear() - Dim entry As IAuxiliaryDeclarationInputData - For Each entry In auxInput.Auxiliaries - 'If entry.AuxiliaryType = AuxiliaryDemandType.Constant Then Continue For - Try - LvAux.Items.Add(CreateAuxListEntry(AuxiliaryTypeHelper.GetAuxKey(entry.Type), - AuxiliaryTypeHelper.ToString(entry.Type), String.Join("; ", entry.Technology))) - Catch ex As Exception - End Try - Next + Dim vectoJob As VectoEPTPJob = New VectoEPTPJob + vectoJob.FilePath = file - Try - Dim sb As ICycleData - For Each sb In vectoJob.Cycles - Dim lv0 As ListViewItem = New ListViewItem - lv0.Text = GetRelativePath(sb.CycleData.Source, Path.GetDirectoryName(Path.GetFullPath(file))) 'sb.Name - LvCycles.Items.Add(lv0) - Next - Catch ex As Exception - End Try + 'Files ------------------------------------------------- ----------------- - VehicleForm.AutoSendTo = False + vectoJob.PathVeh = TbVEH.Text + For Each lv0 As ListViewItem In LvCycles.Items + Dim sb As SubPath = New SubPath + sb.Init(GetPath(file), lv0.Text) + vectoJob.CycleFiles.Add(sb) + Next - Dim x As Integer = 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." + vectoJob.FanCoefficients = New Double() { + tbC1.Text.ToDouble(0), + tbC2.Text.ToDouble(0), + tbC3.Text.ToDouble(0) + } - UpdatePic() + 'SAVE + If Not vectoJob.SaveFile Then + MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) + Return False + End If - '------------------------------------------------------------- - End Sub + VectoFile = file - Private Function CreateAuxListEntry(auxKey As String, type As String, technology As String) As ListViewItem - Dim lv0 As ListViewItem = New ListViewItem - lv0.SubItems(AuxViewColumns.AuxID).Text = auxKey - lv0.SubItems.Add(type) - lv0.SubItems.Add(technology) - Return lv0 - End Function - - - 'Save file - Private Function VECTOsave(file As String) As Boolean - Dim message As String = String.Empty - - - Dim vectoJob As VectoEPTPJob = New VectoEPTPJob - vectoJob.FilePath = file - - 'Files ------------------------------------------------- ----------------- - - vectoJob.PathVeh = TbVEH.Text - - For Each lv0 As ListViewItem In LvCycles.Items - Dim sb As SubPath = New SubPath - sb.Init(GetPath(file), lv0.Text) - vectoJob.CycleFiles.Add(sb) - Next - - - 'SAVE - If Not vectoJob.SaveFile Then - MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) - Return False - End If + file = GetFilenameWithoutPath(VectoFile, True) - VectoFile = file + Text = file + ToolStripStatusLabelGEN.Text = "" - file = GetFilenameWithoutPath(VectoFile, True) + MainForm.AddToJobListView(VectoFile) - Text = file - ToolStripStatusLabelGEN.Text = "" + _changed = False - MainForm.AddToJobListView(VectoFile) + Return True + End Function - _changed = False + 'New file + Public Sub VectoNew() - Return True - End Function + If ChangeCheckCancel() Then Exit Sub - 'New file - Public Sub VectoNew() + 'Files + TbVEH.Text = "" + LvCycles.Items.Clear() - If ChangeCheckCancel() Then Exit Sub - 'Files - TbVEH.Text = "" - LvCycles.Items.Clear() - + LvAux.Items.Clear() - LvAux.Items.Clear() + EngineForm.AutoSendTo = False - EngineForm.AutoSendTo = False - - VectoFile = "" - Text = "Job Editor" - ToolStripStatusLabelGEN.Text = "" - _changed = False - UpdatePic() - End Sub + 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 TextBoxVEH_TextChanged(sender As Object, e As EventArgs) _ + Handles TbVEH.TextChanged + UpdateAuxList() + UpdatePic() + Change() + End Sub - - Private Sub LvCycles_AfterLabelEdit(sender As Object, e As LabelEditEventArgs) _ - Handles LvCycles.AfterLabelEdit - Change() - End Sub + Private Sub UpdateAuxList() + Dim vehicleFile As String = + If(Not String.IsNullOrWhiteSpace(VectoFile), Path.Combine(Path.GetDirectoryName(VectoFile), TbVEH.Text), TbVEH.Text) + If File.Exists(vehicleFile) Then + Try + Dim inputData As XMLDeclarationInputDataProvider = New XMLDeclarationInputDataProvider(XmlReader.Create(vehicleFile), True) + Dim auxInput As IAuxiliariesDeclarationInputData = inputData.JobInputData.Vehicle.AuxiliaryInputData() + PopulateAuxiliaryList(auxInput) + Catch + End Try + End If + 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 + Private Sub LvCycles_AfterLabelEdit(sender As Object, e As LabelEditEventArgs) _ + Handles LvCycles.AfterLabelEdit + Change() + End Sub - 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 + Private Sub Change() + If Not _changed Then + ToolStripStatusLabelGEN.Text = "Unsaved changes in current file" + _changed = True + End If + End Sub - '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 + ' "Save changes? "... Returns True if User aborts + Private Function ChangeCheckCancel() As Boolean -#Region "Cycle list" + If _changed Then - 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 + 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 - Private Sub BtDRIadd_Click(sender As Object, e As EventArgs) Handles BtDRIadd.Click - Dim genDir As String = GetPath(VectoFile) + Else - If DrivingCycleFileBrowser.OpenDialog("", True) Then - Dim s As String - For Each s In DrivingCycleFileBrowser.Files - LvCycles.Items.Add(GetFilenameWithoutDirectory(s, genDir)) - Next - Change() - End If - End Sub + Return False - Private Sub BtDRIrem_Click(sender As Object, e As EventArgs) Handles BtDRIrem.Click - RemoveCycle() - End Sub + End If + End Function - Private Sub RemoveCycle() - Dim i As Integer +#End Region - 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 + '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 - LvCycles.SelectedItems(0).Remove() + 'Cancel + Private Sub ButCancel_Click(sender As Object, e As EventArgs) Handles ButCancel.Click + Close() + End Sub - 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 +#Region "Cycle list" - Change() - 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 = GetPath(VectoFile) + + If DrivingCycleFileBrowser.OpenDialog("", True) Then + Dim s As String + For Each s In DrivingCycleFileBrowser.Files + LvCycles.Items.Add(GetFilenameWithoutDirectory(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 - Public Sub UpdatePic() - - - TbHVCclass.Text = "" - TbVehCat.Text = "" - TbMass.Text = "" - TbAxleConf.Text = "" - TbEngTxt.Text = "" - TbGbxTxt.Text = "" - PicVehicle.Image = Nothing - PicBox.Image = Nothing - - Try - UpdateVehiclePic() - - Dim chart As Chart = Nothing - UpdateEnginePic(chart) + Public Sub UpdatePic() - UpdateGearboxPic(chart) + TbHVCclass.Text = "" + TbVehCat.Text = "" + TbMass.Text = "" + TbAxleConf.Text = "" + TbEngTxt.Text = "" + TbGbxTxt.Text = "" + PicVehicle.Image = Nothing + PicBox.Image = Nothing - If chart Is Nothing Then Return + Try + UpdateVehiclePic() - Dim chartArea As ChartArea = New ChartArea() - chartArea.Name = "main" + Dim chart As Chart = Nothing + UpdateEnginePic(chart) - chartArea.AxisX.Title = "engine speed [1/min]" - 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 - chartArea.AxisY.Title = "engine torque [Nm]" - chartArea.AxisY.TitleFont = New Font("Helvetica", 10) - chartArea.AxisY.LabelStyle.Font = New Font("Helvetica", 8) - chartArea.AxisY.LabelAutoFitStyle = LabelAutoFitStyles.None - chartArea.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dot + UpdateGearboxPic(chart) - chartArea.AxisX.Minimum = 300 - chartArea.BorderDashStyle = ChartDashStyle.Solid - chartArea.BorderWidth = 1 + If chart Is Nothing Then Return - chartArea.BackColor = Color.GhostWhite + Dim chartArea As ChartArea = New ChartArea() + chartArea.Name = "main" - chart.ChartAreas.Add(chartArea) - chart.Update() + chartArea.AxisX.Title = "engine speed [1/min]" + 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 - Dim img As Bitmap = New Bitmap(chart.Width, chart.Height, PixelFormat.Format32bppArgb) - chart.DrawToBitmap(img, New Rectangle(0, 0, PicBox.Width, PicBox.Height)) - - PicBox.Image = img - Catch - End Try - End Sub + chartArea.AxisY.Title = "engine torque [Nm]" + chartArea.AxisY.TitleFont = New Font("Helvetica", 10) + chartArea.AxisY.LabelStyle.Font = New Font("Helvetica", 8) + chartArea.AxisY.LabelAutoFitStyle = LabelAutoFitStyles.None + chartArea.AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dot - Private Sub UpdateGearboxPic(ByRef chartArea As Chart) - - Dim gearbox As IGearboxEngineeringInputData = Nothing - Dim vehicleFile As String = - If(Not String.IsNullOrWhiteSpace(VectoFile), Path.Combine(Path.GetDirectoryName(VectoFile), TbVEH.Text), TbVEH.Text) - If File.Exists(vehicleFile) Then - Try - Dim inputData As IEngineeringInputDataProvider = TryCast(JSONInputDataFactory.ReadComponentData(vehicleFile), - IEngineeringInputDataProvider) - gearbox = inputData.JobInputData.Vehicle.GearboxInputData - Catch - End Try - End If + chartArea.AxisX.Minimum = 300 + chartArea.BorderDashStyle = ChartDashStyle.Solid + chartArea.BorderWidth = 1 - If gearbox Is Nothing Then Return + chartArea.BackColor = Color.GhostWhite - TbGbxTxt.Text = String.Format("{0}-Speed {1} {2}", gearbox.Gears.Count, gearbox.Type.ShortName(), gearbox.Model) + chart.ChartAreas.Add(chartArea) + chart.Update() - End Sub + Dim img As Bitmap = New Bitmap(chart.Width, chart.Height, PixelFormat.Format32bppArgb) + chart.DrawToBitmap(img, New Rectangle(0, 0, PicBox.Width, PicBox.Height)) - Private Sub UpdateEnginePic(ByRef chart As Chart) - Dim s As Series - Dim pmax As Double + PicBox.Image = img + Catch + End Try + End Sub - Dim engine As IEngineEngineeringInputData = Nothing - lblEngineCharacteristics.Text = "" - Dim vehicleFile As String = - If(Not String.IsNullOrWhiteSpace(VectoFile), Path.Combine(Path.GetDirectoryName(VectoFile), TbVEH.Text), TbVEH.Text) - If File.Exists(vehicleFile) Then - Try - Dim inputData As IEngineeringInputDataProvider = TryCast(JSONInputDataFactory.ReadComponentData(vehicleFile), - IEngineeringInputDataProvider) - engine = inputData.JobInputData.Vehicle.EngineInputData - Catch - Return - End Try - End If + Private Sub UpdateGearboxPic(ByRef chartArea As Chart) - 'engine.FilePath = fFileRepl(TbENG.Text, GetPath(VECTOfile)) + Dim gearbox As IGearboxDeclarationInputData = Nothing + Dim vehicleFile As String = + If(Not String.IsNullOrWhiteSpace(VectoFile), Path.Combine(Path.GetDirectoryName(VectoFile), TbVEH.Text), TbVEH.Text) + If File.Exists(vehicleFile) Then + Try + Dim inputData As XMLDeclarationInputDataProvider = New XMLDeclarationInputDataProvider(XmlReader.Create(vehicleFile), True) + gearbox = inputData.JobInputData.Vehicle.GearboxInputData + Catch + End Try + End If - 'Create plot - chart = New Chart - chart.Width = PicBox.Width - chart.Height = PicBox.Height + If gearbox Is Nothing Then Return + TbGbxTxt.Text = String.Format("{0}-Speed {1} {2}", gearbox.Gears.Count, gearbox.Type.ShortName(), gearbox.Model) - 'Dim FLD0 As EngineFullLoadCurve = New EngineFullLoadCurve + End Sub - If engine Is Nothing Then Return + Private Sub UpdateEnginePic(ByRef chart As Chart) + Dim s As Series + Dim pmax As Double + Dim engine As IEngineDeclarationInputData = Nothing + lblEngineCharacteristics.Text = "" + Dim vehicleFile As String = + If(Not String.IsNullOrWhiteSpace(VectoFile), Path.Combine(Path.GetDirectoryName(VectoFile), TbVEH.Text), TbVEH.Text) + If File.Exists(vehicleFile) Then + Try + Dim inputData As XMLDeclarationInputDataProvider = New XMLDeclarationInputDataProvider(XmlReader.Create(vehicleFile), True) + engine = inputData.JobInputData.Vehicle.EngineInputData + Catch + Return + End Try + End If - engine.IdleSpeed.Value() + 'engine.FilePath = fFileRepl(TbENG.Text, GetPath(VECTOfile)) - Dim fullLoadCurve As EngineFullLoadCurve = FullLoadCurveReader.Create(engine.FullLoadCurve) + 'Create plot + chart = New Chart + chart.Width = PicBox.Width + chart.Height = PicBox.Height - s = New Series - s.Points.DataBindXY(fullLoadCurve.FullLoadEntries.Select(Function(x) x.EngineSpeed.AsRPM).ToArray(), - fullLoadCurve.FullLoadEntries.Select(Function(x) x.TorqueFullLoad.Value()).ToArray()) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.DarkBlue - s.Name = "Full load" - chart.Series.Add(s) - s = New Series - s.Points.DataBindXY(fullLoadCurve.FullLoadEntries.Select(Function(x) x.EngineSpeed.AsRPM).ToArray(), - fullLoadCurve.FullLoadEntries.Select(Function(x) x.TorqueDrag.Value()).ToArray()) - s.ChartType = SeriesChartType.FastLine - s.BorderWidth = 2 - s.Color = Color.Blue - s.Name = "Motoring" - chart.Series.Add(s) + 'Dim FLD0 As EngineFullLoadCurve = New EngineFullLoadCurve - pmax = fullLoadCurve.MaxPower.Value() / 1000 'FLD0.Pfull(FLD0.EngineRatedSpeed) + If engine Is Nothing Then Return - TbEngTxt.Text = String.Format("{0} l {1} kw {2}", (engine.Displacement.Value() * 1000).ToString("0.0"), - pmax.ToString("#"), engine.Model) + engine.IdleSpeed.Value() - Dim fuelConsumptionMap As FuelConsumptionMap = FuelConsumptionMapReader.Create(engine.FuelConsumptionMap) + Dim fullLoadCurve As EngineFullLoadCurve = FullLoadCurveReader.Create(engine.FullLoadCurve) - s = New Series - s.Points.DataBindXY(fuelConsumptionMap.Entries.Select(Function(x) x.EngineSpeed.AsRPM).ToArray(), - fuelConsumptionMap.Entries.Select(Function(x) x.Torque.Value()).ToArray()) - s.ChartType = SeriesChartType.Point - s.MarkerSize = 3 - s.Color = Color.Red - s.Name = "Map" - chart.Series.Add(s) + s = New Series + s.Points.DataBindXY(fullLoadCurve.FullLoadEntries.Select(Function(x) x.EngineSpeed.AsRPM).ToArray(), + fullLoadCurve.FullLoadEntries.Select(Function(x) x.TorqueFullLoad.Value()).ToArray()) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.DarkBlue + s.Name = "Full load" + chart.Series.Add(s) - Dim engineCharacteristics As String = - String.Format("Max. Torque: {0:F0} Nm; Max. Power: {1:F1} kW; n_rated: {2:F0} rpm; n_95h: {3:F0} rpm", - fullLoadCurve.MaxTorque.Value(), fullLoadCurve.MaxPower.Value() / 1000, fullLoadCurve.RatedSpeed.AsRPM, - fullLoadCurve.N95hSpeed.AsRPM) - lblEngineCharacteristics.Text = engineCharacteristics - End Sub + s = New Series + s.Points.DataBindXY(fullLoadCurve.FullLoadEntries.Select(Function(x) x.EngineSpeed.AsRPM).ToArray(), + fullLoadCurve.FullLoadEntries.Select(Function(x) x.TorqueDrag.Value()).ToArray()) + s.ChartType = SeriesChartType.FastLine + s.BorderWidth = 2 + s.Color = Color.Blue + s.Name = "Motoring" + chart.Series.Add(s) + + pmax = fullLoadCurve.MaxPower.Value() / 1000 'FLD0.Pfull(FLD0.EngineRatedSpeed) + + + TbEngTxt.Text = String.Format("{0} l {1} kw {2}", (engine.Displacement.Value() * 1000).ToString("0.0"), + pmax.ToString("#"), engine.Model) - Private Sub UpdateVehiclePic() - Dim HDVclass As String + Dim fuelConsumptionMap As FuelConsumptionMap = FuelConsumptionMapReader.Create(engine.FuelConsumptionMap) + + s = New Series + s.Points.DataBindXY(fuelConsumptionMap.Entries.Select(Function(x) x.EngineSpeed.AsRPM).ToArray(), + fuelConsumptionMap.Entries.Select(Function(x) x.Torque.Value()).ToArray()) + s.ChartType = SeriesChartType.Point + s.MarkerSize = 3 + s.Color = Color.Red + s.Name = "Map" + chart.Series.Add(s) - Dim vehicle As IVehicleEngineeringInputData = Nothing + Dim engineCharacteristics As String = + String.Format("Max. Torque: {0:F0} Nm; Max. Power: {1:F1} kW; n_rated: {2:F0} rpm; n_95h: {3:F0} rpm", + fullLoadCurve.MaxTorque.Value(), fullLoadCurve.MaxPower.Value() / 1000, fullLoadCurve.RatedSpeed.AsRPM, + fullLoadCurve.N95hSpeed.AsRPM) + lblEngineCharacteristics.Text = engineCharacteristics + End Sub + + Private Sub UpdateVehiclePic() + Dim HDVclass As String + + Dim vehicle As IVehicleDeclarationInputData = Nothing - Dim vehicleFile As String = - If(Not String.IsNullOrWhiteSpace(VectoFile), Path.Combine(Path.GetDirectoryName(VectoFile), TbVEH.Text), TbVEH.Text) - If File.Exists(vehicleFile) Then - Try - Dim inputData As IEngineeringInputDataProvider = TryCast(JSONInputDataFactory.ReadComponentData(vehicleFile), - IEngineeringInputDataProvider) - vehicle = inputData.JobInputData.Vehicle + Dim vehicleFile As String = + If(Not String.IsNullOrWhiteSpace(VectoFile), Path.Combine(Path.GetDirectoryName(VectoFile), TbVEH.Text), TbVEH.Text) + If File.Exists(vehicleFile) Then + Try + Dim inputData As XMLDeclarationInputDataProvider = New XMLDeclarationInputDataProvider(XmlReader.Create(vehicleFile), True) + vehicle = inputData.JobInputData.Vehicle Catch End Try End If diff --git a/VECTO/Input Files/VectoEPTPJob.vb b/VECTO/Input Files/VectoEPTPJob.vb index 94f1e7d4173076a287b988db27bc7d5dcc299cfe..8611f5bfb483db7b04a1696ea1a6c6d4fc23c789 100644 --- a/VECTO/Input Files/VectoEPTPJob.vb +++ b/VECTO/Input Files/VectoEPTPJob.vb @@ -15,23 +15,25 @@ Imports TUGraz.VectoCore.InputData.Impl Imports TUGraz.VectoCore.Models.Declaration Imports TUGraz.VectoCore.Utils -<CustomValidation(GetType(VectoJob), "ValidateJob")> +<CustomValidation(GetType(VectoEPTPJob), "ValidateJob")> Public Class VectoEPTPJob Implements IEPTPInputDataProvider, IEPTPJobInputData Private _sFilePath As String Private _myPath As String - Private ReadOnly _vehicleFile As SubPath + Private ReadOnly _vehicleFile As SubPath - Public ReadOnly CycleFiles As List(Of SubPath) + Public ReadOnly CycleFiles As List(Of SubPath) + Public FanCoefficients As Double() - Public Sub New() - CycleFiles = New List(Of SubPath) - End Sub + Public Sub New() + CycleFiles = New List(Of SubPath) + _vehicleFile = New SubPath + End Sub - Public Property FilePath As String + Public Property FilePath As String Get Return _sFilePath End Get @@ -94,15 +96,16 @@ Public Class VectoEPTPJob Private Shared Function ValidateVehicleJob(vectoJob As VectoEPTPJob, mode As ExecutionMode) As ValidationResult + ' TODO!! - End Function + End Function Public ReadOnly Property Vehicle As IVehicleDeclarationInputData Implements IEPTPJobInputData.Vehicle Get If Not File.Exists(_vehicleFile.FullPath) Then Return Nothing - 'Return New JSONComponentInputData(_vehicleFile.FullPath).JobInputData.Vehicle - Return New XMLDeclarationInputDataProvider(XmlReader.Create(_vehicleFile.FullPath), True).JobInputData.Vehicle - End Get + 'Return New JSONComponentInputData(_vehicleFile.FullPath).JobInputData.Vehicle + Return New XMLDeclarationInputDataProvider(_vehicleFile.FullPath, True).JobInputData.Vehicle + End Get End Property Public ReadOnly Property Cycles As IList(Of ICycleData) Implements IEPTPJobInputData.Cycles @@ -134,15 +137,21 @@ Public Class VectoEPTPJob End Get End Property - Public ReadOnly Property FanPowerCoefficents As IEnumerable(Of Double) Implements IEPTPJobInputData.FanPowerCoefficents - Get - Return New Double() {0, 0, 0} - End Get - End Property - - Public ReadOnly Property JobInputData As IEPTPJobInputData Implements IEPTPInputDataProvider.JobInputData - Get - Return Me - End Get - End Property + Public ReadOnly Property FanPowerCoefficents As IEnumerable(Of Double) Implements IEPTPJobInputData.FanPowerCoefficents + Get + Return FanCoefficients + End Get + End Property + + Public ReadOnly Property SavedInDeclarationMode As Boolean Implements IEPTPJobInputData.SavedInDeclarationMode + Get + Return False + End Get + End Property + + Public ReadOnly Property JobInputData As IEPTPJobInputData Implements IEPTPInputDataProvider.JobInputData + Get + Return Me + End Get + End Property End Class diff --git a/VECTO/Input Files/VectoJob.vb b/VECTO/Input Files/VectoJob.vb index 271e2854394e786232ec0db8ee97debbb4d31111..ed64feae2d54fa9c41ef727a3929487c5c4d2170 100644 --- a/VECTO/Input Files/VectoJob.vb +++ b/VECTO/Input Files/VectoJob.vb @@ -15,11 +15,8 @@ Imports System.Collections.Generic Imports System.ComponentModel.DataAnnotations Imports System.IO Imports System.Linq -Imports System.Runtime.InteropServices -Imports System.Runtime.Remoting.Messaging Imports System.Text Imports System.Xml.Linq -Imports Newtonsoft.Json.Linq Imports TUGraz.VECTO.Input_Files Imports TUGraz.VectoCommon.Exceptions Imports TUGraz.VectoCommon.InputData @@ -323,11 +320,6 @@ Public Class VectoJob Dim jobData As VectoRunData - 'vectoJob._vehicleInputData = New JSONComponentInputData(vectoJob._vehicleFile.FullPath) - 'vectoJob._engineInputData = New JSONComponentInputData(vectoJob._engineFile.FullPath) - 'vectoJob._gearboxInputData = New JSONComponentInputData(vectoJob._gearboxFile.FullPath) - - Dim result As IList(Of ValidationResult) = New List(Of ValidationResult) Dim vehicleInputData As IVehicleEngineeringInputData = vectoJob.JobInputData.Vehicle @@ -421,146 +413,6 @@ Public Class VectoJob End Get End Property - 'Public ReadOnly Property IDeclarationInputDataProvider_VehicleInputData As IVehicleDeclarationInputData _ - ' Implements IDeclarationInputDataProvider.VehicleInputData - ' Get - ' If Not File.Exists(_vehicleFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_vehicleFile.FullPath).VehicleInputData - ' End Get - 'End Property - - 'Public ReadOnly Property VehicleInputData As IVehicleEngineeringInputData _ - ' Implements IEngineeringInputDataProvider.VehicleInputData - ' Get - ' If Not File.Exists(_vehicleFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_vehicleFile.FullPath).VehicleInputData - ' End Get - 'End Property - - 'Public ReadOnly Property IDeclarationInputDataProvider_AirdragInputData As IAirdragDeclarationInputData _ - ' Implements IVehicleDeclarationInputData.AirdragInputData - ' Get - ' Return AirdragInputData - ' End Get - 'End Property - - 'Public ReadOnly Property AirdragInputData As IAirdragEngineeringInputData _ - ' Implements IVehicleEngineeringInputData.AirdragInputData - ' Get - ' If Not File.Exists(_vehicleFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_vehicleFile.FullPath).JobInputData.Vehicle.AirdragInputData - ' End Get - 'End Property - - 'Public ReadOnly Property IDeclarationInputDataProvider_GearboxInputData As IGearboxDeclarationInputData _ - ' Implements IVehicleDeclarationInputData.GearboxInputData - ' Get - ' If Not File.Exists(_gearboxFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_gearboxFile.FullPath).JobInputData.Vehicle.GearboxInputData - ' End Get - 'End Property - - 'Public ReadOnly Property GearboxInputData As IGearboxEngineeringInputData _ - ' Implements IVehicleEngineeringInputData.GearboxInputData - ' Get - ' If Not File.Exists(_gearboxFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_gearboxFile.FullPath).JobInputData.Vehicle.GearboxInputData - ' End Get - 'End Property - - 'Public ReadOnly Property IDeclarationInputDataProvider_TorqueConverterInputData As ITorqueConverterDeclarationInputData _ - ' Implements IVehicleDeclarationInputData.TorqueConverterInputData - ' Get - ' If Not File.Exists(_gearboxFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_gearboxFile.FullPath).JobInputData.Vehicle.TorqueConverterInputData - ' End Get - 'End Property - - 'Public ReadOnly Property TorqueConverterInputData As ITorqueConverterEngineeringInputData _ - ' Implements IVehicleEngineeringInputData.TorqueConverterInputData - ' Get - ' If Not File.Exists(_gearboxFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_gearboxFile.FullPath).JobInputData.Vehicle.TorqueConverterInputData - ' End Get - 'End Property - - 'Public ReadOnly Property IDeclarationInputDataProvider_AxleGearInputData As IAxleGearInputData _ - ' Implements IVehicleDeclarationInputData.AxleGearInputData - ' Get - ' If Not File.Exists(_gearboxFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_gearboxFile.FullPath).JobInputData.Vehicle.AxleGearInputData - ' End Get - 'End Property - - 'Public ReadOnly Property AxleGearInputData As IAxleGearInputData _ - ' Implements IVehicleEngineeringInputData.AxleGearInputData - ' Get - ' If Not File.Exists(_gearboxFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_gearboxFile.FullPath).JobInputData.Vehicle.AxleGearInputData - ' End Get - 'End Property - - 'Public ReadOnly Property DeclarationInputDataProviderAngledriveInputData As IAngledriveInputData _ - ' Implements IVehicleDeclarationInputData.AngledriveInputData - ' Get - ' If Not File.Exists(_vehicleFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_vehicleFile.FullPath).JobInputData.Vehicle.AngledriveInputData - ' End Get - 'End Property - - 'Public ReadOnly Property AngledriveInputData As IAngledriveInputData _ - ' Implements IVehicleEngineeringInputData.AngledriveInputData - ' Get - ' If Not File.Exists(_vehicleFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_vehicleFile.FullPath).JobInputData.Vehicle.AngledriveInputData - ' End Get - 'End Property - - 'Public ReadOnly Property IDeclarationInputDataProvider_EngineInputData As IEngineDeclarationInputData _ - ' Implements IVehicleDeclarationInputData.EngineInputData - ' Get - ' If Not File.Exists(_engineFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_engineFile.FullPath).JobInputData.Vehicle.EngineInputData - ' End Get - 'End Property - - 'Public ReadOnly Property EngineInputData As IEngineEngineeringInputData _ - ' Implements IVehicleEngineeringInputData.EngineInputData - ' Get - ' If Not File.Exists(_engineFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_engineFile.FullPath).JobInputData.Vehicle.EngineInputData - ' End Get - 'End Property - - 'Public Function AuxiliaryInputData() As IAuxiliariesEngineeringInputData _ - ' Implements IVehicleEngineeringInputData.AuxiliaryInputData - - ' Return Me - 'End Function - - 'Public Function IDeclarationInputDataProvider_AuxiliaryInputData() As IAuxiliariesDeclarationInputData _ - ' Implements IVehicleDeclarationInputData.AuxiliaryInputData - - ' Return Me - 'End Function - - 'Public ReadOnly Property IDeclarationInputDataProvider_RetarderInputData As IRetarderInputData _ - ' Implements IVehicleDeclarationInputData.RetarderInputData - ' Get - ' If Not File.Exists(_vehicleFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_vehicleFile.FullPath).JobInputData.Vehicle.RetarderInputData - ' End Get - 'End Property - - 'Public ReadOnly Property RetarderInputData As IRetarderInputData _ - ' Implements IVehicleEngineeringInputData.RetarderInputData - ' Get - ' If Not File.Exists(_vehicleFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_vehicleFile.FullPath).JobInputData.Vehicle.RetarderInputData - ' End Get - 'End Property - - Public ReadOnly Property DriverInputData As IDriverEngineeringInputData _ Implements IEngineeringInputDataProvider.DriverInputData Get @@ -568,22 +420,6 @@ Public Class VectoJob End Get End Property - 'Public ReadOnly Property IDeclarationInputDataProvider_PTOTransmissionInputData As IPTOTransmissionInputData _ - ' Implements IVehicleDeclarationInputData.PTOTransmissionInputData - ' Get - ' If Not File.Exists(_vehicleFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_vehicleFile.FullPath).JobInputData.Vehicle.PTOTransmissionInputData - ' End Get - 'End Property - - 'Public ReadOnly Property PTOTransmissionInputData As IPTOTransmissionInputData _ - ' Implements IVehicleEngineeringInputData.PTOTransmissionInputData - ' Get - ' If Not File.Exists(_vehicleFile.FullPath) Then Return Nothing - ' Return New JSONComponentInputData(_vehicleFile.FullPath).JobInputData.Vehicle.PTOTransmissionInputData - ' End Get - 'End Property - Public ReadOnly Property XMLHash As XElement Implements IDeclarationInputDataProvider.XMLHash Get Return Nothing diff --git a/VECTO/OutputData/JSONFileWriter.vb b/VECTO/OutputData/JSONFileWriter.vb index 0ff39920c209f0fc8fdc1d16542661cd901f511e..4e277f47ba6df56c6f548bee5444050d89ccd31d 100644 --- a/VECTO/OutputData/JSONFileWriter.vb +++ b/VECTO/OutputData/JSONFileWriter.vb @@ -359,12 +359,14 @@ Public Class JSONFileWriter 'Body Dim body As Dictionary(Of String, Object) = New Dictionary(Of String, Object) - Dim job As IEPTPJobInputData = input.JobInputData - body.Add("DeclarationVehicle", job.Vehicle.Source) - body.Add("FanPowerCoefficients", job.FanPowerCoefficents) - body.Add("Cycles", job.Cycles) - - WriteFile(header, body, filename) + Dim job As IEPTPJobInputData = input.JobInputData + body.Add("SavedInDeclMode", False) + body.Add("DeclarationVehicle", GetRelativePath(job.Vehicle.Source, Path.GetDirectoryName(filename))) + body.Add("FanPowerCoefficients", job.FanPowerCoefficents) + body.Add("Cycles", + job.Cycles.Select(Function(x) GetRelativePath(x.CycleData.Source, Path.GetDirectoryName(filename))).ToArray()) + + WriteFile(header, body, filename) End Sub Public Sub ExportJob(input As IEngineeringInputDataProvider, filename As String, separateFiles As Boolean) _ diff --git a/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs b/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs index 8bab9043efb58bad5ca01ac80a0a6c26e13abb4f..54c88176291d34798b43d75c45749cec2c630ee7 100644 --- a/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs +++ b/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs @@ -62,5 +62,6 @@ namespace TUGraz.VectoCommon.InputData IList<ICycleData> Cycles { get; } IEnumerable<double> FanPowerCoefficents { get; } - } + bool SavedInDeclarationMode { get; } + } } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs index f50231f228b62cd01348a250258eba31d7b14acd..cbe40440f2769c29bf688c8dd035bd1f2846373a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs @@ -34,6 +34,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using System.Xml; using System.Xml.Linq; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; @@ -41,6 +42,7 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; +using TUGraz.VectoCore.InputData.FileIO.XML.Declaration; using TUGraz.VectoCore.InputData.Impl; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.SimulationComponent.Data; @@ -48,85 +50,84 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.JSON { - public abstract class JSONFile : LoggingObject - { - public const string MissingFileSuffix = " -- (MISSING!)"; - - private readonly string _sourceFile; - - protected readonly JObject Body; - - protected JSONFile(JObject data, string filename, bool tolerateMissing = false) - { - //var header = (JObject)data.GetEx(JsonKeys.JsonHeader); - Body = (JObject)data.GetEx(JsonKeys.JsonBody); - _sourceFile = Path.GetFullPath(filename); - TolerateMissing = tolerateMissing; - } - - protected bool TolerateMissing { get; set; } - - public DataSourceType SourceType - { - get { return DataSourceType.JSONFile; } - } - - public string Source - { - get { return _sourceFile; } - } - - public bool SavedInDeclarationMode - { - get { return Body.GetEx(JsonKeys.SavedInDeclMode).Value<bool>(); } - } - - internal string BasePath - { - get { return Path.GetDirectoryName(_sourceFile); } - } - - protected TableData ReadTableData(string filename, string tableType, bool required = true) - { - if (!EmptyOrInvalidFileName(filename) && File.Exists(Path.Combine(BasePath, filename))) { - try { - return VectoCSVFile.Read(Path.Combine(BasePath, filename), true); - } catch (Exception e) { - Log.Warn("Failed to read file {0} {1}", Path.Combine(BasePath, filename), tableType); - throw new VectoException("Failed to read file for {0}: {1}", e, tableType, filename); - } - } - if (required) { - throw new VectoException("Invalid filename for {0}: {1}", tableType, filename); - } - return null; - } - - internal static bool EmptyOrInvalidFileName(string filename) - { - return filename == null || !filename.Any() || - filename.Equals("<NOFILE>", StringComparison.InvariantCultureIgnoreCase) - || filename.Equals("-"); - } - - public static JObject GetDummyJSONStructure() - { - return JObject.FromObject(new Dictionary<string, object>() { - { JsonKeys.JsonHeader, new object() }, - { JsonKeys.JsonBody, new object() } - }); - } - } - - /// <summary> - /// Class for reading json data of vecto-job-file. - /// Fileformat: .vecto - /// </summary> - public class JSONInputDataV2 : JSONFile, IEngineeringInputDataProvider, IDeclarationInputDataProvider, - IEngineeringJobInputData, IDriverEngineeringInputData, IAuxiliariesEngineeringInputData, - IAuxiliariesDeclarationInputData, IJSONVehicleComponents - { + public abstract class JSONFile : LoggingObject + { + public const string MissingFileSuffix = " -- (MISSING!)"; + private readonly string _sourceFile; + + protected readonly JObject Body; + + protected JSONFile(JObject data, string filename, bool tolerateMissing = false) + { + //var header = (JObject)data.GetEx(JsonKeys.JsonHeader); + Body = (JObject)data.GetEx(JsonKeys.JsonBody); + _sourceFile = Path.GetFullPath(filename); + TolerateMissing = tolerateMissing; + } + + protected bool TolerateMissing { get; set; } + + public DataSourceType SourceType + { + get { return DataSourceType.JSONFile; } + } + + public string Source + { + get { return _sourceFile; } + } + + public bool SavedInDeclarationMode + { + get { return Body.GetEx(JsonKeys.SavedInDeclMode).Value<bool>(); } + } + + internal string BasePath + { + get { return Path.GetDirectoryName(_sourceFile); } + } + + protected TableData ReadTableData(string filename, string tableType, bool required = true) + { + if (!EmptyOrInvalidFileName(filename) && File.Exists(Path.Combine(BasePath, filename))) { + try { + return VectoCSVFile.Read(Path.Combine(BasePath, filename), true); + } catch (Exception e) { + Log.Warn("Failed to read file {0} {1}", Path.Combine(BasePath, filename), tableType); + throw new VectoException("Failed to read file for {0}: {1}", e, tableType, filename); + } + } + if (required) { + throw new VectoException("Invalid filename for {0}: {1}", tableType, filename); + } + return null; + } + + internal static bool EmptyOrInvalidFileName(string filename) + { + return filename == null || !filename.Any() || + filename.Equals("<NOFILE>", StringComparison.InvariantCultureIgnoreCase) + || filename.Equals("-"); + } + + public static JObject GetDummyJSONStructure() + { + return JObject.FromObject(new Dictionary<string, object>() { + { JsonKeys.JsonHeader, new object() }, + { JsonKeys.JsonBody, new object() } + }); + } + } + + /// <summary> + /// Class for reading json data of vecto-job-file. + /// Fileformat: .vecto + /// </summary> + public class JSONInputDataV2 : JSONFile, IEngineeringInputDataProvider, IDeclarationInputDataProvider, + IEngineeringJobInputData, IDriverEngineeringInputData, IAuxiliariesEngineeringInputData, + IAuxiliariesDeclarationInputData, IJSONVehicleComponents + { public JSONInputDataV2(JObject data, string filename, bool tolerateMissing = false) : base(data, filename, tolerateMissing) { @@ -134,8 +135,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON Engine = ReadEngine(); - if (Body.GetEx(JsonKeys.Job_EngineOnlyMode).Value<bool>()) - { + if (Body.GetEx(JsonKeys.Job_EngineOnlyMode).Value<bool>()) { return; } @@ -147,14 +147,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } public IGearboxEngineeringInputData Gearbox { get; internal set; } - public IAxleGearInputData AxleGear { get; internal set; } - public ITorqueConverterEngineeringInputData TorqueConverter { get; internal set; } - public IEngineEngineeringInputData Engine { get; internal set; } + public IAxleGearInputData AxleGear { get; internal set; } + public ITorqueConverterEngineeringInputData TorqueConverter { get; internal set; } + public IEngineEngineeringInputData Engine { get; internal set; } protected readonly IVehicleEngineeringInputData VehicleData; - private readonly string _jobname; + private readonly string _jobname; public IAuxiliariesEngineeringInputData EngineeringAuxiliaries @@ -168,431 +168,507 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } private IVehicleEngineeringInputData ReadVehicle() - { - try { - var vehicleFile = Body.GetEx(JsonKeys.Vehicle_VehicleFile).Value<string>(); - return JSONInputDataFactory.ReadJsonVehicle( - Path.Combine(BasePath, vehicleFile), this); - } catch (Exception e) { - if (!TolerateMissing) { - throw new VectoException("JobFile: Failed to read Vehicle file '{0}': {1}", e, Body[JsonKeys.Vehicle_VehicleFile], - e.Message); - } - return new JSONVehicleDataV7(GetDummyJSONStructure(), - Path.Combine(BasePath, Body.GetEx(JsonKeys.Vehicle_VehicleFile).Value<string>()) + MissingFileSuffix, this); - } - } - - private IGearboxEngineeringInputData ReadGearbox() - { - try { - var gearboxFile = Body.GetEx(JsonKeys.Vehicle_GearboxFile).Value<string>(); - - return JSONInputDataFactory.ReadGearbox(Path.Combine(BasePath, gearboxFile)); - } catch (Exception e) { - if (!TolerateMissing) { - throw new VectoException("JobFile: Failed to read Gearbox file '{0}': {1}", e, Body[JsonKeys.Vehicle_GearboxFile], - e.Message); - } - return new JSONGearboxDataV6(GetDummyJSONStructure(), - Path.Combine(BasePath, Body.GetEx(JsonKeys.Vehicle_GearboxFile).Value<string>()) + MissingFileSuffix); - } - } - - private IEngineEngineeringInputData ReadEngine() - { - try { - return JSONInputDataFactory.ReadEngine( - Path.Combine(BasePath, Body.GetEx(JsonKeys.Vehicle_EngineFile).Value<string>())); - } catch (Exception e) { - if (!TolerateMissing) { - throw new VectoException("JobFile: Failed to read Engine file '{0}': {1}", e, Body[JsonKeys.Vehicle_EngineFile], - e.Message); - } - - return - new JSONEngineDataV3(GetDummyJSONStructure(), - Path.Combine(BasePath, Body.GetEx(JsonKeys.Vehicle_EngineFile).Value<string>()) + MissingFileSuffix); - } - } - - #region IInputDataProvider - - IVehicleDeclarationInputData IDeclarationJobInputData.Vehicle - { - get { return VehicleInputData; } - } - - public virtual IEngineeringJobInputData JobInputData - { - get { return this; } - } - - public XElement XMLHash - { - get { return new XElement(XMLNames.DI_Signature); } - } - - IDeclarationJobInputData IDeclarationInputDataProvider.JobInputData - { - get { return this; } - } - - public virtual IVehicleEngineeringInputData VehicleInputData - { - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", - "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")] - get { - if (VehicleData == null) { - throw new InvalidFileFormatException("VehicleData not found "); - } - return VehicleData; - } - } - - public virtual IEngineEngineeringInputData EngineOnly - { - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", - "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")] - get { - if (Engine == null) { - throw new InvalidFileFormatException("EngineData not found"); - } - return Engine; - } - } - - IDriverEngineeringInputData IEngineeringInputDataProvider.DriverInputData - { - get { return this; } - } - - #endregion - - #region IJobInputData - - public virtual IVehicleEngineeringInputData Vehicle - { - get { return VehicleData; } - } - - public virtual IList<ICycleData> Cycles - { - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", - "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")] - get { - var retVal = new List<ICycleData>(); - if (Body[JsonKeys.Job_Cycles] == null) { - return retVal; - } - foreach (var cycle in Body.GetEx(JsonKeys.Job_Cycles)) { - //.Select(cycle => - var cycleFile = Path.Combine(BasePath, cycle.Value<string>()); - TableData cycleData; - if (File.Exists(cycleFile)) { - cycleData = VectoCSVFile.Read(cycleFile); - } else { - try { - var resourceName = DeclarationData.DeclarationDataResourcePrefix + ".MissionCycles." + - cycle.Value<string>() + Constants.FileExtensions.CycleFile; - cycleData = VectoCSVFile.ReadStream(RessourceHelper.ReadStream(resourceName), source: resourceName); - } catch (Exception e) { - Log.Debug("Driving Cycle could not be read: " + cycleFile); - if (!TolerateMissing) { - throw new VectoException("Driving Cycle could not be read: " + cycleFile, e); - } - cycleData = new TableData(cycleFile + MissingFileSuffix, DataSourceType.Missing); - } - } - retVal.Add(new CycleInputData() { - Name = Path.GetFileNameWithoutExtension(cycle.Value<string>()), - CycleData = cycleData - }); - } - return retVal; - } - } - - public virtual bool EngineOnlyMode - { - get { return Body.GetEx(JsonKeys.Job_EngineOnlyMode).Value<bool>(); } - } - - public virtual string JobName - { - get { return _jobname; } - } - - #endregion - - #region DriverInputData - - public virtual ILookaheadCoastingInputData Lookahead - { - get { - if (Body[JsonKeys.DriverData_LookaheadCoasting] == null) { - return null; - } - - var lac = Body.GetEx(JsonKeys.DriverData_LookaheadCoasting); - var distanceScalingFactor = lac["PreviewDistanceFactor"] != null - ? lac.GetEx<double>("PreviewDistanceFactor") - : DeclarationData.Driver.LookAhead.LookAheadDistanceFactor; - var lacDfOffset = lac["DF_offset"] != null - ? lac.GetEx<double>("DF_offset") - : DeclarationData.Driver.LookAhead.DecisionFactorCoastingOffset; - var lacDfScaling = lac["DF_scaling"] != null - ? lac.GetEx<double>("DF_scaling") - : DeclarationData.Driver.LookAhead.DecisionFactorCoastingScaling; - var speedDependentLookup = GetSpeedDependentLookupTable(lac); - var velocityDropLookup = GetVelocityDropLookupTable(lac); - var minSpeed = lac["MinSpeed"] != null - ? lac.GetEx<double>(JsonKeys.DriverData_Lookahead_MinSpeed).KMPHtoMeterPerSecond() - : DeclarationData.Driver.LookAhead.MinimumSpeed; - return new LookAheadCoastingInputData() { - Enabled = lac.GetEx<bool>(JsonKeys.DriverData_Lookahead_Enabled), - //Deceleration = lac.GetEx<double>(JsonKeys.DriverData_Lookahead_Deceleration).SI<MeterPerSquareSecond>(), - MinSpeed = minSpeed, - LookaheadDistanceFactor = distanceScalingFactor, - CoastingDecisionFactorOffset = lacDfOffset, - CoastingDecisionFactorScaling = lacDfScaling, - CoastingDecisionFactorTargetSpeedLookup = speedDependentLookup, - CoastingDecisionFactorVelocityDropLookup = velocityDropLookup - }; - } - } - - private TableData GetVelocityDropLookupTable(JToken lac) - { - if (lac["Df_velocityDropLookup"] == null || string.IsNullOrWhiteSpace(lac["Df_velocityDropLookup"].Value<string>())) { - return null; - } - try { - return ReadTableData(lac.GetEx<string>("Df_velocityDropLookup"), - "Lookahead Coasting Decisionfactor - Velocity drop"); - } catch (Exception) { - if (TolerateMissing) { - return - new TableData(Path.Combine(BasePath, lac["Df_velocityDropLookup"].Value<string>()) + MissingFileSuffix, - DataSourceType.Missing); - } - } - return null; - } - - private TableData GetSpeedDependentLookupTable(JToken lac) - { - if (lac["DF_targetSpeedLookup"] == null || string.IsNullOrWhiteSpace(lac["DF_targetSpeedLookup"].Value<string>())) { - return null; - } - try { - return ReadTableData(lac.GetEx<string>("DF_targetSpeedLookup"), - "Lookahead Coasting Decisionfactor - Target speed"); - } catch (Exception) { - if (TolerateMissing) { - return - new TableData(Path.Combine(BasePath, lac["DF_targetSpeedLookup"].Value<string>()) + MissingFileSuffix, - DataSourceType.Missing); - } - } - return null; - } - - public virtual IOverSpeedEcoRollEngineeringInputData OverSpeedEcoRoll - { - get { - var overspeed = Body.GetEx(JsonKeys.DriverData_OverspeedEcoRoll); - return new OverSpeedEcoRollInputData() { - Mode = DriverData.ParseDriverMode(overspeed.GetEx<string>(JsonKeys.DriverData_OverspeedEcoRoll_Mode)), - MinSpeed = overspeed.GetEx<double>(JsonKeys.DriverData_OverspeedEcoRoll_MinSpeed).KMPHtoMeterPerSecond(), - OverSpeed = overspeed.GetEx<double>(JsonKeys.DriverData_OverspeedEcoRoll_OverSpeed).KMPHtoMeterPerSecond(), - UnderSpeed = - overspeed.GetEx<double>(JsonKeys.DriverData_OverspeedEcoRoll_UnderSpeed).KMPHtoMeterPerSecond() - }; - } - } - - public virtual TableData AccelerationCurve - { - [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", - "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")] - get { - var acceleration = Body[JsonKeys.DriverData_AccelerationCurve]; - if (acceleration == null || EmptyOrInvalidFileName(acceleration.Value<string>())) { - return null; - // throw new VectoException("AccelerationCurve (VACC) required"); - } - try { - return ReadTableData(acceleration.Value<string>(), "DriverAccelerationCurve"); - } catch (VectoException e) { - Log.Warn("Could not find file for acceleration curve. Trying lookup in declaration data."); - try { - var resourceName = DeclarationData.DeclarationDataResourcePrefix + ".VACC." + - acceleration.Value<string>() + - Constants.FileExtensions.DriverAccelerationCurve; - return VectoCSVFile.ReadStream(RessourceHelper.ReadStream(resourceName), source: resourceName); - } catch (Exception) { - if (!TolerateMissing) { - throw new VectoException("Failed to read Driver Acceleration Curve: " + e.Message, e); - } - return new TableData(Path.Combine(BasePath, acceleration.Value<string>()) + MissingFileSuffix, - DataSourceType.Missing); - } - } - } - } - - #endregion - - #region IAuxiliariesEngineeringInputData - - IList<IAuxiliaryEngineeringInputData> IAuxiliariesEngineeringInputData.Auxiliaries - { - get { return AuxData().Cast<IAuxiliaryEngineeringInputData>().ToList(); } - } - - IList<IAuxiliaryDeclarationInputData> IAuxiliariesDeclarationInputData.Auxiliaries - { - get { return AuxData().Cast<IAuxiliaryDeclarationInputData>().ToList(); } - } - - protected virtual IList<AuxiliaryDataInputData> AuxData() - { - var retVal = new List<AuxiliaryDataInputData>(); - foreach (var aux in Body["Aux"] ?? Enumerable.Empty<JToken>()) { - var type = AuxiliaryTypeHelper.Parse(aux.GetEx<string>("Type")); - - var auxData = new AuxiliaryDataInputData { - ID = aux.GetEx<string>("ID"), - Type = type, - Technology = new List<string>(), - }; - var tech = aux.GetEx<string>("Technology"); - - if (auxData.Type == AuxiliaryType.ElectricSystem) { - if (aux["TechList"] == null || aux["TechList"].Any()) { - auxData.Technology.Add("Standard technology"); - } else { - auxData.Technology.Add("Standard technology - LED headlights, all"); - } - } - - if (auxData.Type == AuxiliaryType.SteeringPump) { - auxData.Technology.Add(tech); - } - - if (auxData.Type == AuxiliaryType.Fan) { - auxData.Technology.Add(MapLegacyFanTechnologies(tech)); - } - - var auxFile = aux["Path"]; - retVal.Add(auxData); - - if (auxFile == null || EmptyOrInvalidFileName(auxFile.Value<string>())) { - continue; - } - - AuxiliaryFileHelper.FillAuxiliaryDataInputData(auxData, Path.Combine(BasePath, auxFile.Value<string>())); - } - return retVal; - } - - private static string MapLegacyFanTechnologies(string tech) - { - string newTech; - switch (tech) { - case "Crankshaft mounted - Electronically controlled visco clutch (Default)": - newTech = "Crankshaft mounted - Electronically controlled visco clutch"; - break; - case "Crankshaft mounted - On/Off clutch": - newTech = "Crankshaft mounted - On/off clutch"; - break; - case "Belt driven or driven via transm. - On/Off clutch": - newTech = "Belt driven or driven via transm. - On/off clutch"; - break; - default: - newTech = tech; - break; - } - return newTech; - } - - #endregion - - #region AdvancedAuxiliaries - - public AuxiliaryModel AuxiliaryAssembly - { - get { - return AuxiliaryModelHelper.Parse(Body["AuxiliaryAssembly"] == null ? "" : Body["AuxiliaryAssembly"].ToString()); - } - } - - public string AuxiliaryVersion - { - get { return Body["AuxiliaryVersion"] != null ? Body["AuxiliaryVersion"].Value<string>() : "<CLASSIC>"; } - } - - public string AdvancedAuxiliaryFilePath - { - get { - return Body["AdvancedAuxiliaryFilePath"] != null - ? Path.Combine(Path.GetFullPath(BasePath), Body["AdvancedAuxiliaryFilePath"].Value<string>()) - : ""; - } - } - - #endregion - } - - public class JSONInputDataV3 : JSONInputDataV2 - { - public JSONInputDataV3(JObject data, string filename, bool tolerateMissing = false) - : base(data, filename, tolerateMissing) {} - - protected override IList<AuxiliaryDataInputData> AuxData() - { - var retVal = new List<AuxiliaryDataInputData>(); - if (Body["Padd"] != null) { - retVal.Add(new AuxiliaryDataInputData() { - ID = "ConstantAux", - AuxiliaryType = AuxiliaryDemandType.Constant, - ConstantPowerDemand = Body.GetEx<double>("Padd").SI<Watt>() - }); - } - foreach (var aux in Body["Aux"] ?? Enumerable.Empty<JToken>()) { - try { - aux.GetEx("Technology").ToObject<List<string>>(); - } catch (Exception) { - throw new VectoException( - "Aux: Technology for aux '{0}' list could not be read. Maybe it is a single string instead of a list of strings?", - aux.GetEx<string>("ID")); - } - - var type = AuxiliaryTypeHelper.Parse(aux.GetEx<string>("Type")); - - var auxData = new AuxiliaryDataInputData { - ID = aux.GetEx<string>("ID"), - Type = type, - Technology = aux.GetEx("Technology").ToObject<List<string>>() - }; - - var auxFile = aux["Path"]; - retVal.Add(auxData); - - if (auxFile == null || EmptyOrInvalidFileName(auxFile.Value<string>())) { - continue; - } - AuxiliaryFileHelper.FillAuxiliaryDataInputData(auxData, Path.Combine(BasePath, auxFile.Value<string>())); - } - return retVal; - } - } - - - public class JSONInputDataV4 : JSONInputDataV3 - { - public JSONInputDataV4(JObject data, string filename, bool tolerateMissing = false) - : base(data, filename, tolerateMissing) {} - } -} + { + try { + var vehicleFile = Body.GetEx(JsonKeys.Vehicle_VehicleFile).Value<string>(); + return JSONInputDataFactory.ReadJsonVehicle( + Path.Combine(BasePath, vehicleFile), this); + } catch (Exception e) { + if (!TolerateMissing) { + throw new VectoException("JobFile: Failed to read Vehicle file '{0}': {1}", e, + Body[JsonKeys.Vehicle_VehicleFile], + e.Message); + } + return new JSONVehicleDataV7(GetDummyJSONStructure(), + Path.Combine(BasePath, Body.GetEx(JsonKeys.Vehicle_VehicleFile).Value<string>()) + + MissingFileSuffix, this); + } + } + + private IGearboxEngineeringInputData ReadGearbox() + { + try { + var gearboxFile = Body.GetEx(JsonKeys.Vehicle_GearboxFile).Value<string>(); + + return JSONInputDataFactory.ReadGearbox(Path.Combine(BasePath, gearboxFile)); + } catch (Exception e) { + if (!TolerateMissing) { + throw new VectoException("JobFile: Failed to read Gearbox file '{0}': {1}", e, + Body[JsonKeys.Vehicle_GearboxFile], + e.Message); + } + return new JSONGearboxDataV6(GetDummyJSONStructure(), + Path.Combine(BasePath, Body.GetEx(JsonKeys.Vehicle_GearboxFile).Value<string>()) + + MissingFileSuffix); + } + } + + private IEngineEngineeringInputData ReadEngine() + { + try { + return JSONInputDataFactory.ReadEngine( + Path.Combine(BasePath, Body.GetEx(JsonKeys.Vehicle_EngineFile).Value<string>())); + } catch (Exception e) { + if (!TolerateMissing) { + throw new VectoException("JobFile: Failed to read Engine file '{0}': {1}", e, + Body[JsonKeys.Vehicle_EngineFile], + e.Message); + } + + return + new JSONEngineDataV3(GetDummyJSONStructure(), + Path.Combine(BasePath, Body.GetEx(JsonKeys.Vehicle_EngineFile).Value<string>()) + + MissingFileSuffix); + } + } + + #region IInputDataProvider + + IVehicleDeclarationInputData IDeclarationJobInputData.Vehicle + { + get { return VehicleInputData; } + } + + public virtual IEngineeringJobInputData JobInputData + { + get { return this; } + } + + public XElement XMLHash + { + get { return new XElement(XMLNames.DI_Signature); } + } + + IDeclarationJobInputData IDeclarationInputDataProvider.JobInputData + { + get { return this; } + } + + public virtual IVehicleEngineeringInputData VehicleInputData + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", + "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")] + get + { + if (VehicleData == null) { + throw new InvalidFileFormatException("VehicleData not found "); + } + return VehicleData; + } + } + + public virtual IEngineEngineeringInputData EngineOnly + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", + "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")] + get + { + if (Engine == null) { + throw new InvalidFileFormatException("EngineData not found"); + } + return Engine; + } + } + + IDriverEngineeringInputData IEngineeringInputDataProvider.DriverInputData + { + get { return this; } + } + + #endregion + + #region IJobInputData + + public virtual IVehicleEngineeringInputData Vehicle + { + get { return VehicleData; } + } + + public virtual IList<ICycleData> Cycles + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", + "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")] + get + { + var retVal = new List<ICycleData>(); + if (Body[JsonKeys.Job_Cycles] == null) { + return retVal; + } + foreach (var cycle in Body.GetEx(JsonKeys.Job_Cycles)) { + //.Select(cycle => + var cycleFile = Path.Combine(BasePath, cycle.Value<string>()); + TableData cycleData; + if (File.Exists(cycleFile)) { + cycleData = VectoCSVFile.Read(cycleFile); + } else { + try { + var resourceName = DeclarationData.DeclarationDataResourcePrefix + ".MissionCycles." + + cycle.Value<string>() + Constants.FileExtensions.CycleFile; + cycleData = VectoCSVFile.ReadStream(RessourceHelper.ReadStream(resourceName), + source: resourceName); + } catch (Exception e) { + Log.Debug("Driving Cycle could not be read: " + cycleFile); + if (!TolerateMissing) { + throw new VectoException("Driving Cycle could not be read: " + cycleFile, e); + } + cycleData = new TableData(cycleFile + MissingFileSuffix, DataSourceType.Missing); + } + } + retVal.Add(new CycleInputData() { + Name = Path.GetFileNameWithoutExtension(cycle.Value<string>()), + CycleData = cycleData + }); + } + return retVal; + } + } + + public virtual bool EngineOnlyMode + { + get { return Body.GetEx(JsonKeys.Job_EngineOnlyMode).Value<bool>(); } + } + + public virtual string JobName + { + get { return _jobname; } + } + + #endregion + + #region DriverInputData + + public virtual ILookaheadCoastingInputData Lookahead + { + get + { + if (Body[JsonKeys.DriverData_LookaheadCoasting] == null) { + return null; + } + + var lac = Body.GetEx(JsonKeys.DriverData_LookaheadCoasting); + var distanceScalingFactor = lac["PreviewDistanceFactor"] != null + ? lac.GetEx<double>("PreviewDistanceFactor") + : DeclarationData.Driver.LookAhead.LookAheadDistanceFactor; + var lacDfOffset = lac["DF_offset"] != null + ? lac.GetEx<double>("DF_offset") + : DeclarationData.Driver.LookAhead.DecisionFactorCoastingOffset; + var lacDfScaling = lac["DF_scaling"] != null + ? lac.GetEx<double>("DF_scaling") + : DeclarationData.Driver.LookAhead.DecisionFactorCoastingScaling; + var speedDependentLookup = GetSpeedDependentLookupTable(lac); + var velocityDropLookup = GetVelocityDropLookupTable(lac); + var minSpeed = lac["MinSpeed"] != null + ? lac.GetEx<double>(JsonKeys.DriverData_Lookahead_MinSpeed).KMPHtoMeterPerSecond() + : DeclarationData.Driver.LookAhead.MinimumSpeed; + return new LookAheadCoastingInputData() { + Enabled = lac.GetEx<bool>(JsonKeys.DriverData_Lookahead_Enabled), + //Deceleration = lac.GetEx<double>(JsonKeys.DriverData_Lookahead_Deceleration).SI<MeterPerSquareSecond>(), + MinSpeed = minSpeed, + LookaheadDistanceFactor = distanceScalingFactor, + CoastingDecisionFactorOffset = lacDfOffset, + CoastingDecisionFactorScaling = lacDfScaling, + CoastingDecisionFactorTargetSpeedLookup = speedDependentLookup, + CoastingDecisionFactorVelocityDropLookup = velocityDropLookup + }; + } + } + + private TableData GetVelocityDropLookupTable(JToken lac) + { + if (lac["Df_velocityDropLookup"] == null || + string.IsNullOrWhiteSpace(lac["Df_velocityDropLookup"].Value<string>())) { + return null; + } + try { + return ReadTableData(lac.GetEx<string>("Df_velocityDropLookup"), + "Lookahead Coasting Decisionfactor - Velocity drop"); + } catch (Exception) { + if (TolerateMissing) { + return + new TableData( + Path.Combine(BasePath, lac["Df_velocityDropLookup"].Value<string>()) + MissingFileSuffix, + DataSourceType.Missing); + } + } + return null; + } + + private TableData GetSpeedDependentLookupTable(JToken lac) + { + if (lac["DF_targetSpeedLookup"] == null || + string.IsNullOrWhiteSpace(lac["DF_targetSpeedLookup"].Value<string>())) { + return null; + } + try { + return ReadTableData(lac.GetEx<string>("DF_targetSpeedLookup"), + "Lookahead Coasting Decisionfactor - Target speed"); + } catch (Exception) { + if (TolerateMissing) { + return + new TableData( + Path.Combine(BasePath, lac["DF_targetSpeedLookup"].Value<string>()) + MissingFileSuffix, + DataSourceType.Missing); + } + } + return null; + } + + public virtual IOverSpeedEcoRollEngineeringInputData OverSpeedEcoRoll + { + get + { + var overspeed = Body.GetEx(JsonKeys.DriverData_OverspeedEcoRoll); + return new OverSpeedEcoRollInputData() { + Mode = DriverData.ParseDriverMode( + overspeed.GetEx<string>(JsonKeys.DriverData_OverspeedEcoRoll_Mode)), + MinSpeed = overspeed.GetEx<double>(JsonKeys.DriverData_OverspeedEcoRoll_MinSpeed) + .KMPHtoMeterPerSecond(), + OverSpeed = overspeed.GetEx<double>(JsonKeys.DriverData_OverspeedEcoRoll_OverSpeed) + .KMPHtoMeterPerSecond(), + UnderSpeed = + overspeed.GetEx<double>(JsonKeys.DriverData_OverspeedEcoRoll_UnderSpeed).KMPHtoMeterPerSecond() + }; + } + } + + public virtual TableData AccelerationCurve + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", + "CA1065:DoNotRaiseExceptionsInUnexpectedLocations")] + get + { + var acceleration = Body[JsonKeys.DriverData_AccelerationCurve]; + if (acceleration == null || EmptyOrInvalidFileName(acceleration.Value<string>())) { + return null; + // throw new VectoException("AccelerationCurve (VACC) required"); + } + try { + return ReadTableData(acceleration.Value<string>(), "DriverAccelerationCurve"); + } catch (VectoException e) { + Log.Warn("Could not find file for acceleration curve. Trying lookup in declaration data."); + try { + var resourceName = DeclarationData.DeclarationDataResourcePrefix + ".VACC." + + acceleration.Value<string>() + + Constants.FileExtensions.DriverAccelerationCurve; + return VectoCSVFile.ReadStream(RessourceHelper.ReadStream(resourceName), source: resourceName); + } catch (Exception) { + if (!TolerateMissing) { + throw new VectoException("Failed to read Driver Acceleration Curve: " + e.Message, e); + } + return new TableData(Path.Combine(BasePath, acceleration.Value<string>()) + MissingFileSuffix, + DataSourceType.Missing); + } + } + } + } + + #endregion + + #region IAuxiliariesEngineeringInputData + + IList<IAuxiliaryEngineeringInputData> IAuxiliariesEngineeringInputData.Auxiliaries + { + get { return AuxData().Cast<IAuxiliaryEngineeringInputData>().ToList(); } + } + + IList<IAuxiliaryDeclarationInputData> IAuxiliariesDeclarationInputData.Auxiliaries + { + get { return AuxData().Cast<IAuxiliaryDeclarationInputData>().ToList(); } + } + + protected virtual IList<AuxiliaryDataInputData> AuxData() + { + var retVal = new List<AuxiliaryDataInputData>(); + foreach (var aux in Body["Aux"] ?? Enumerable.Empty<JToken>()) { + var type = AuxiliaryTypeHelper.Parse(aux.GetEx<string>("Type")); + + var auxData = new AuxiliaryDataInputData { + ID = aux.GetEx<string>("ID"), + Type = type, + Technology = new List<string>(), + }; + var tech = aux.GetEx<string>("Technology"); + + if (auxData.Type == AuxiliaryType.ElectricSystem) { + if (aux["TechList"] == null || aux["TechList"].Any()) { + auxData.Technology.Add("Standard technology"); + } else { + auxData.Technology.Add("Standard technology - LED headlights, all"); + } + } + + if (auxData.Type == AuxiliaryType.SteeringPump) { + auxData.Technology.Add(tech); + } + + if (auxData.Type == AuxiliaryType.Fan) { + auxData.Technology.Add(MapLegacyFanTechnologies(tech)); + } + + var auxFile = aux["Path"]; + retVal.Add(auxData); + + if (auxFile == null || EmptyOrInvalidFileName(auxFile.Value<string>())) { + continue; + } + + AuxiliaryFileHelper.FillAuxiliaryDataInputData(auxData, + Path.Combine(BasePath, auxFile.Value<string>())); + } + return retVal; + } + + private static string MapLegacyFanTechnologies(string tech) + { + string newTech; + switch (tech) { + case "Crankshaft mounted - Electronically controlled visco clutch (Default)": + newTech = "Crankshaft mounted - Electronically controlled visco clutch"; + break; + case "Crankshaft mounted - On/Off clutch": + newTech = "Crankshaft mounted - On/off clutch"; + break; + case "Belt driven or driven via transm. - On/Off clutch": + newTech = "Belt driven or driven via transm. - On/off clutch"; + break; + default: + newTech = tech; + break; + } + return newTech; + } + + #endregion + + #region AdvancedAuxiliaries + + public AuxiliaryModel AuxiliaryAssembly + { + get + { + return AuxiliaryModelHelper.Parse(Body["AuxiliaryAssembly"] == null + ? "" + : Body["AuxiliaryAssembly"].ToString()); + } + } + + public string AuxiliaryVersion + { + get { return Body["AuxiliaryVersion"] != null ? Body["AuxiliaryVersion"].Value<string>() : "<CLASSIC>"; } + } + + public string AdvancedAuxiliaryFilePath + { + get + { + return Body["AdvancedAuxiliaryFilePath"] != null + ? Path.Combine(Path.GetFullPath(BasePath), Body["AdvancedAuxiliaryFilePath"].Value<string>()) + : ""; + } + } + + #endregion + } + + public class JSONInputDataV3 : JSONInputDataV2 + { + public JSONInputDataV3(JObject data, string filename, bool tolerateMissing = false) + : base(data, filename, tolerateMissing) { } + + protected override IList<AuxiliaryDataInputData> AuxData() + { + var retVal = new List<AuxiliaryDataInputData>(); + if (Body["Padd"] != null) { + retVal.Add(new AuxiliaryDataInputData() { + ID = "ConstantAux", + AuxiliaryType = AuxiliaryDemandType.Constant, + ConstantPowerDemand = Body.GetEx<double>("Padd").SI<Watt>() + }); + } + foreach (var aux in Body["Aux"] ?? Enumerable.Empty<JToken>()) { + try { + aux.GetEx("Technology").ToObject<List<string>>(); + } catch (Exception) { + throw new VectoException( + "Aux: Technology for aux '{0}' list could not be read. Maybe it is a single string instead of a list of strings?", + aux.GetEx<string>("ID")); + } + + var type = AuxiliaryTypeHelper.Parse(aux.GetEx<string>("Type")); + + var auxData = new AuxiliaryDataInputData { + ID = aux.GetEx<string>("ID"), + Type = type, + Technology = aux.GetEx("Technology").ToObject<List<string>>() + }; + + var auxFile = aux["Path"]; + retVal.Add(auxData); + + if (auxFile == null || EmptyOrInvalidFileName(auxFile.Value<string>())) { + continue; + } + AuxiliaryFileHelper.FillAuxiliaryDataInputData(auxData, + Path.Combine(BasePath, auxFile.Value<string>())); + } + return retVal; + } + } + + + public class JSONInputDataV4 : JSONInputDataV3 + { + public JSONInputDataV4(JObject data, string filename, bool tolerateMissing = false) + : base(data, filename, tolerateMissing) { } + } + + public class JSONEPTPInputDataV4 : JSONFile, IEPTPInputDataProvider, IEPTPJobInputData + { + public JSONEPTPInputDataV4(JObject data, string filename, bool tolerateMissing = false) : base(data, filename, + tolerateMissing) { } + + public IEPTPJobInputData JobInputData + { + get { return this; } + } + + public IVehicleDeclarationInputData Vehicle + { + get + { + return new XMLDeclarationInputDataProvider(Path.Combine(Path.GetFullPath(BasePath), Body["DeclarationVehicle"].Value<string>()), + true).JobInputData.Vehicle; + } + } + + public IList<ICycleData> Cycles + { + get + { + var retVal = new List<ICycleData>(); + if (Body[JsonKeys.Job_Cycles] == null) { + return retVal; + } + foreach (var cycle in Body.GetEx(JsonKeys.Job_Cycles)) { + var cycleFile = Path.Combine(BasePath, cycle.Value<string>()); + if (File.Exists(cycleFile)) { + var cycleData = VectoCSVFile.Read(cycleFile); + retVal.Add(new CycleInputData() { + Name = Path.GetFileNameWithoutExtension(cycle.Value<string>()), + CycleData = cycleData + }); + } + } + return retVal; + } + } + + public IEnumerable<double> FanPowerCoefficents + { + get + { + return Body.GetEx("FanPowerCoefficients").Select(entry => entry.ToString().ToDouble()).ToList(); + } + } + } +} \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs index 4741c7fd594c3756bacb6a50a0a174ada5fef68b..4091fafada15d000620ea33ea013250e764a7678 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputDataFactory.cs @@ -71,6 +71,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON case 3: return new JSONInputDataV3(json, filename, tolerateMissing); case 4: + if (json["Body"]["DeclarationVehicle"] != null) { + return new JSONEPTPInputDataV4(json, filename, tolerateMissing); + } return new JSONInputDataV4(json, filename, tolerateMissing); default: throw new VectoException("Job-File: Unsupported FileVersion. Got: {0} ", version); diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/AbstractDeclarationXMLComponentDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/AbstractDeclarationXMLComponentDataProvider.cs index 915c604e57fb1127bae0d6c2e65058e7c94ce4d6..09dd2e462eadbae8a5d552b5bbbe2eaf18e5eeee 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/AbstractDeclarationXMLComponentDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/AbstractDeclarationXMLComponentDataProvider.cs @@ -67,15 +67,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration Helper.AddNamespaces(Manager); SourceType = DataSourceType.Embedded; - Source = ""; - + VehiclePath = Helper.QueryAbs( Helper.NSPrefix(XMLNames.VectoInputDeclaration, Constants.XML.RootNSPrefix), XMLNames.Component_Vehicle ); } - public string Source { get; protected set; } + public string Source { get { return InputData.Source; } } public DataSourceType SourceType { get; protected set; } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationInputDataProvider.cs index ce93e7c08d4189255c1bea920b82f347765f3e2d..6e8b95b5732bfe188958eaafcd9e76b963b388e1 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationInputDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/XMLDeclarationInputDataProvider.cs @@ -47,8 +47,20 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration private readonly XMLDeclarationJobInputDataProvider _xmlJobData; - public XMLDeclarationInputDataProvider(XmlReader inputData, bool verifyXml) - { + + public XMLDeclarationInputDataProvider(string filename, bool verifyXml) : + this(XmlReader.Create(filename), filename, verifyXml) + { + } + + public XMLDeclarationInputDataProvider(XmlReader inputData, bool verifyXml) : this(inputData, "", verifyXml) + { + + } + + protected XMLDeclarationInputDataProvider(XmlReader inputData, string source, bool verifyXml) + { + Source = source; if (verifyXml) { var settings = new XmlReaderSettings { ValidationType = ValidationType.Schema, @@ -61,21 +73,19 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration inputData = XmlReader.Create(inputData, settings); } - //Document = new XPathDocument(inputData); - + var xmldoc = new XmlDocument(); xmldoc.Load(inputData); var h = VectoHash.Load(xmldoc); XMLHash = h.ComputeXmlHash(); - Document = new XPathDocument(new XmlNodeReader(xmldoc)); - - //CheckInputDocument(); - + _xmlJobData = new XMLDeclarationJobInputDataProvider(this); } - private static void ValidationCallBack(object sender, ValidationEventArgs args) + public string Source { get; protected set; } + + private static void ValidationCallBack(object sender, ValidationEventArgs args) { if (args.Severity == XmlSeverityType.Error) { throw new VectoException("Validation error: {0}" + Environment.NewLine + diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/AbstractEngineeringXMLComponentDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/AbstractEngineeringXMLComponentDataProvider.cs index 3c91f09a198339d28523e4b04bbba671b8c54302..68cbf355d3996fdbf13dd3fd0c1b09e41e2b88b7 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/AbstractEngineeringXMLComponentDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/AbstractEngineeringXMLComponentDataProvider.cs @@ -29,103 +29,103 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System.IO; -using System.Xml; -using System.Xml.XPath; -using TUGraz.VectoCommon.Exceptions; -using TUGraz.VectoCommon.InputData; -using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Resources; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration; -using TUGraz.VectoCore.Utils; - -namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering -{ - public class AbstractEngineeringXMLComponentDataProvider : AbstractDeclarationXMLComponentDataProvider - { - protected new readonly XMLEngineeringInputDataProvider InputData; - - protected readonly string FSBasePath; - - - protected readonly XPathDocument XMLDocument; - - protected AbstractEngineeringXMLComponentDataProvider( - XMLEngineeringInputDataProvider xmlEngineeringJobInputDataProvider, - XPathDocument document, string xmlBasePath, string fsBasePath) - { - XMLDocument = document; - XBasePath = xmlBasePath; - FSBasePath = fsBasePath; - InputData = xmlEngineeringJobInputDataProvider; - Navigator = document.CreateNavigator(); - Manager = new XmlNamespaceManager(Navigator.NameTable ?? new NameTable()); - Helper = new XPathHelper(ExecutionMode.Engineering); - Helper.AddNamespaces(Manager); - - Source = fsBasePath; - SourceType = DataSourceType.Embedded; - } - - - public override bool SavedInDeclarationMode - { - get { return false; } - } - - public override string Manufacturer - { - get { return GetElementValue(XMLNames.Component_Manufacturer); } - } - - public override string Model - { - get { return GetElementValue(XMLNames.Component_Model); } - } - - - public override string Date - { - get { return GetElementValue(XMLNames.Component_Date); } - } - - public override string DigestValue - { - get { return ""; } - } - - public override string CertificationNumber - { - get { return "N.A."; } - } - - public override CertificationMethod CertificationMethod - { - get { return CertificationMethod.NotCertified; } - } - - - protected TableData ReadCSVResourceFile(string relPath) - { - if (!ElementExists(Helper.Query(relPath, ExtCsvResourceTag))) { - throw new VectoException("Failed to read {0} resource", relPath); - } - var file = - GetAttributeValue( - Helper.Query(relPath, ExtCsvResourceTag), XMLNames.ExtResource_File_Attr); - var fullFilename = Path.Combine(FSBasePath ?? "", file); - if (file == null || !File.Exists(fullFilename)) { - throw new VectoException("{1} file not found: {0}", file, relPath); - } - return VectoCSVFile.Read(fullFilename); - } - - protected string ExtCsvResourceTag - { - get { - return Helper.Query(Helper.QueryConstraint(XMLNames.ExternalResource, XMLNames.ExtResource_Type_Attr, - XMLNames.ExtResource_Type_Value_CSV)); - } - } - } +using System.IO; +using System.Xml; +using System.Xml.XPath; +using TUGraz.VectoCommon.Exceptions; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Resources; +using TUGraz.VectoCore.InputData.FileIO.XML.Declaration; +using TUGraz.VectoCore.Utils; + +namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering +{ + public class AbstractEngineeringXMLComponentDataProvider : AbstractDeclarationXMLComponentDataProvider + { + protected new readonly XMLEngineeringInputDataProvider InputData; + + protected readonly string FSBasePath; + + + protected readonly XPathDocument XMLDocument; + + protected AbstractEngineeringXMLComponentDataProvider( + XMLEngineeringInputDataProvider xmlEngineeringJobInputDataProvider, + XPathDocument document, string xmlBasePath, string fsBasePath) + { + XMLDocument = document; + XBasePath = xmlBasePath; + FSBasePath = fsBasePath; + InputData = xmlEngineeringJobInputDataProvider; + Navigator = document.CreateNavigator(); + Manager = new XmlNamespaceManager(Navigator.NameTable ?? new NameTable()); + Helper = new XPathHelper(ExecutionMode.Engineering); + Helper.AddNamespaces(Manager); + + SourceType = DataSourceType.Embedded; + } + + public new string Source { get { return FSBasePath; } } + + public override bool SavedInDeclarationMode + { + get { return false; } + } + + public override string Manufacturer + { + get { return GetElementValue(XMLNames.Component_Manufacturer); } + } + + public override string Model + { + get { return GetElementValue(XMLNames.Component_Model); } + } + + + public override string Date + { + get { return GetElementValue(XMLNames.Component_Date); } + } + + public override string DigestValue + { + get { return ""; } + } + + public override string CertificationNumber + { + get { return "N.A."; } + } + + public override CertificationMethod CertificationMethod + { + get { return CertificationMethod.NotCertified; } + } + + + protected TableData ReadCSVResourceFile(string relPath) + { + if (!ElementExists(Helper.Query(relPath, ExtCsvResourceTag))) { + throw new VectoException("Failed to read {0} resource", relPath); + } + var file = + GetAttributeValue( + Helper.Query(relPath, ExtCsvResourceTag), XMLNames.ExtResource_File_Attr); + var fullFilename = Path.Combine(FSBasePath ?? "", file); + if (file == null || !File.Exists(fullFilename)) { + throw new VectoException("{1} file not found: {0}", file, relPath); + } + return VectoCSVFile.Read(fullFilename); + } + + protected string ExtCsvResourceTag + { + get { + return Helper.Query(Helper.QueryConstraint(XMLNames.ExternalResource, XMLNames.ExtResource_Type_Attr, + XMLNames.ExtResource_Type_Value_CSV)); + } + } + } } \ No newline at end of file