From 7dd31146f16bac831c2e460a3791ecc323a66553 Mon Sep 17 00:00:00 2001 From: Michael Krisper <michael.krisper@tugraz.at> Date: Tue, 3 Nov 2015 15:07:29 +0100 Subject: [PATCH] added json.net 7.0.1, added actual calls to VectoCore V3.0 --- VECTO/GUI/F_MAINForm.vb | 161 ++++++++++++++++++---------------------- VECTO/VECTO.vbproj | 12 ++- VECTO/app.config | 19 +++-- VECTO/packages.config | 4 + 4 files changed, 99 insertions(+), 97 deletions(-) create mode 100644 VECTO/packages.config diff --git a/VECTO/GUI/F_MAINForm.vb b/VECTO/GUI/F_MAINForm.vb index 07a496cb52..42dfec6422 100644 --- a/VECTO/GUI/F_MAINForm.vb +++ b/VECTO/GUI/F_MAINForm.vb @@ -11,8 +11,14 @@ Imports System.Collections.Generic Imports System.ComponentModel +Imports System.IO Imports System.Linq Imports System.Threading +Imports TUGraz.VectoCore.Models.Simulation.Data +Imports TUGraz.VectoCore.Models.Simulation.Impl +Imports TUGraz.VectoCore +Imports TUGraz.VectoCore.Configuration +Imports TUGraz.VectoCore.Models.Simulation ''' <summary> ''' Main application form. Loads at application start. Closing form ends application. @@ -519,86 +525,6 @@ Imports System.Threading DeclOnOff() End Sub - Private Sub VectoWorkerV3_OnRunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) - Dim Result As tCalcResult - - 'Progbar reset - ToolStripProgBarOverall.Visible = False - ToolStripProgBarOverall.Style = ProgressBarStyle.Continuous - ToolStripProgBarOverall.Value = 0 - ProgSecStop() - - LvGEN.SelectedIndices.Clear() - - Result = e.Result - - 'ShutDown when Unexpected Error - If e.Error IsNot Nothing Then - MsgBox("An Unexpected Error occurred!" & ChrW(10) & ChrW(10) & - e.Error.Message.ToString, MsgBoxStyle.Critical, "Unexpected Error") - LogFile.WriteToLog(tMsgID.Err, ">>>Unexpected Error:" & e.Error.ToString()) - End If - - 'Options enable / GUI reset - LockGUI(False) - Button2.Text = "START V3" - Button2.Image = My.Resources.Play_icon - Status(LastModeName & " Mode") - - 'SLEEP reactivate - AllowSleepON() - End Sub - - Private Sub VectoWorkerV3_OnProgressChanged(sender As Object, e As ProgressChangedEventArgs) - Dim progress As cWorkProg - progress = e.UserState - - Select Case progress.Target - Case tWorkMsgType.StatusListBox - MSGtoForm(e.UserState.ID, e.UserState.Msg, progress.Source, progress.Link) - - Case tWorkMsgType.ProgBars - ToolStripProgBarOverall.Value = e.ProgressPercentage - ProgSecStart() - - Case tWorkMsgType.InitProgBar - ToolStripProgBarOverall.Style = ProgressBarStyle.Continuous - - Case Else ' tWorkMsgType.Abort - Button2.Enabled = False - Button2.Text = "Aborting..." - Button2.Image = My.Resources.Play_icon_gray - VECTOworkerV3.CancelAsync() - End Select - End Sub - - Private Sub VectoWorkerV3_OnDoWork(sender As Object, e As DoWorkEventArgs) - AllowSleepOFF() - Dim WorkProg As New cWorkProg(tWorkMsgType.StatusListBox) - WorkProg.ID = tMsgID.Normal - WorkProg.Msg = "Test 0%" - WorkProg.Source = "VectoWorkerV3_OnDoWork" - WorkProg.Link = "" - VECTOworkerV3.ReportProgress(0, WorkProg) - Thread.Sleep(1000) - - WorkProg.ID = tMsgID.Normal - WorkProg.Msg = "Test 50%" - WorkProg.Source = "VectoWorkerV3_OnDoWork" - WorkProg.Link = "" - VECTOworkerV3.ReportProgress(50, WorkProg) - Thread.Sleep(1000) - - WorkProg.ID = tMsgID.Normal - WorkProg.Msg = "Test 100%" - WorkProg.Source = "VectoWorkerV3_OnDoWork" - WorkProg.Link = "" - VECTOworkerV3.ReportProgress(100, WorkProg) - Thread.Sleep(1000) - - e.Result = True - End Sub - 'Declaration mode GUI settings Private Sub DeclOnOff() @@ -1584,16 +1510,15 @@ Imports System.Threading LvGEN.SelectedItems.Clear() - Status("Launching VECTO V3...") - - JobFileList.Clear() - JobFileList.AddRange(From listViewItem In LvGEN.CheckedItems Select fFileRepl(listViewItem.SubItems(0).Text)) - - If JobFileList.Count = 0 Then + If LvGEN.CheckedItems.Count = 0 Then GUImsg(tMsgID.Err, "No job file selected!") Exit Sub End If + Status("Launching VECTO V3...") + JobFileList.Clear() + JobFileList.AddRange(From listViewItem In LvGEN.CheckedItems Select fFileRepl(listViewItem.SubItems(0).Text)) + SetOptions() Cfg.ConfigSAVE() ClearMSG() @@ -1604,12 +1529,9 @@ Imports System.Threading Button2.Image = My.Resources.Stop_icon ToolStripProgBarOverall.Value = 0 - ToolStripProgBarOverall.Style = ProgressBarStyle.Marquee + ToolStripProgBarOverall.Style = ProgressBarStyle.Continuous ToolStripProgBarOverall.Visible = True - ProgBarCtrl.ProgJobInt = 0 - ProgSecStart() - VECTOworkerV3.RunWorkerAsync() Else Button2.Enabled = False @@ -1619,6 +1541,65 @@ Imports System.Threading End If End Sub + Private Sub VectoWorkerV3_OnDoWork(sender As BackgroundWorker, e As DoWorkEventArgs) + AllowSleepOFF() + Dim prog As New cWorkProg(tWorkMsgType.StatusListBox) + + Dim sumFileName As String = Path.GetFileNameWithoutExtension(JobFileList(0) + Constants.FileExtensions.SumFile) + Dim sumWriter As SummaryFileWriter = New SummaryFileWriter(sumFileName) + Dim jobContainer As JobContainer = New JobContainer(sumWriter) + + For Each jobFile As String In JobFileList + Dim runsFactory As SimulatorFactory = New SimulatorFactory(SimulatorFactory.FactoryMode.DeclarationMode, jobFile) + jobContainer.AddRuns(runsFactory) + Next + + jobContainer.Execute() + + While Not jobContainer.AllCompleted + Dim progress As Dictionary(Of String, Double) = jobContainer.GetProgress() + + Dim NumLines As Integer = progress.Count + Dim sumProgress As Double = progress.Sum(Function(pair) pair.Value) + + ToolStripProgBarOverall.Value = Int(sumProgress/NumLines)*100 + Thread.Sleep(250) + End While + End Sub + + Private Sub VectoWorkerV3_OnProgressChanged(sender As Object, e As ProgressChangedEventArgs) + End Sub + + Private Sub VectoWorkerV3_OnRunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) + Dim Result As tCalcResult + + 'Progbar reset + ToolStripProgBarOverall.Visible = False + ToolStripProgBarOverall.Style = ProgressBarStyle.Continuous + ToolStripProgBarOverall.Value = 0 + ProgSecStop() + + LvGEN.SelectedIndices.Clear() + + Result = e.Result + + 'ShutDown when Unexpected Error + If e.Error IsNot Nothing Then + MsgBox("An Unexpected Error occurred!" & ChrW(10) & ChrW(10) & + e.Error.Message.ToString, MsgBoxStyle.Critical, "Unexpected Error") + LogFile.WriteToLog(tMsgID.Err, ">>>Unexpected Error:" & e.Error.ToString()) + End If + + 'Options enable / GUI reset + LockGUI(False) + Button2.Text = "START V3" + Button2.Image = My.Resources.Play_icon + Status(LastModeName & " Mode") + + 'SLEEP reactivate + AllowSleepON() + End Sub + 'Mode Change (STANDARD/BATCH) Private Sub CbBatch_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CbBatch.CheckedChanged ModeUpdate() diff --git a/VECTO/VECTO.vbproj b/VECTO/VECTO.vbproj index 550ea9bba7..bf5ab389b9 100644 --- a/VECTO/VECTO.vbproj +++ b/VECTO/VECTO.vbproj @@ -89,8 +89,9 @@ <Reference Include="itextsharp"> <HintPath>..\Third Party Libraries\itextsharp\itextsharp.dll</HintPath> </Reference> - <Reference Include="Newtonsoft.Json"> - <HintPath>..\Third Party Libraries\JSON.Net\Bin\Net40\Newtonsoft.Json.dll</HintPath> + <Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> </Reference> <Reference Include="System" /> <Reference Include="System.Data" /> @@ -363,6 +364,7 @@ </None> </ItemGroup> <ItemGroup> + <None Include="packages.config" /> <None Include="Resources\TUG-About.png" /> <None Include="Resources\VECTO-About.png" /> <None Include="Resources\VECTO-VEH.png" /> @@ -440,6 +442,12 @@ <ItemGroup> <WCFMetadata Include="Service References\" /> </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\VectoCore\VectoCore.csproj"> + <Project>{CD36938A-ADD9-4C65-96DA-B397CDEEA90A}</Project> + <Name>VectoCore</Name> + </ProjectReference> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. diff --git a/VECTO/app.config b/VECTO/app.config index bc998e0459..1c0d3993da 100644 --- a/VECTO/app.config +++ b/VECTO/app.config @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> </configSections> @@ -7,19 +7,28 @@ <!-- Dieser Abschnitt definiert die Protokollierungskonfiguration für My.Application.Log --> <source name="DefaultSource" switchName="DefaultSwitch"> <listeners> - <add name="FileLog"/> + <add name="FileLog" /> <!-- Auskommentierung des nachfolgenden Abschnitts aufheben, um in das Anwendungsereignisprotokoll zu schreiben --> <!--<add name="EventLog"/>--> </listeners> </source> </sources> <switches> - <add name="DefaultSwitch" value="Information"/> + <add name="DefaultSwitch" value="Information" /> </switches> <sharedListeners> - <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/> + <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter" /> <!-- Auskommentierung des nachfolgenden Abschnitts aufheben und APPLICATION_NAME durch den Namen der Anwendung ersetzen, um in das Anwendungsereignisprotokoll zu schreiben --> <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> --> </sharedListeners> </system.diagnostics> -<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration> +<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /></startup> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration> diff --git a/VECTO/packages.config b/VECTO/packages.config new file mode 100644 index 0000000000..505e58836b --- /dev/null +++ b/VECTO/packages.config @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" /> +</packages> \ No newline at end of file -- GitLab