Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 7325f76f authored by Harald MARTINI's avatar Harald MARTINI
Browse files

Fixed synchronization issue in outputviewmodel, added textwrapping to status bar

parent a599215c
No related branches found
No related tags found
No related merge requests found
......@@ -159,7 +159,7 @@ namespace VECTO3GUI2020.ViewModel.Implementation
cancellationTokenSource = new CancellationTokenSource();
SimulationRunning = true;
await Task.Run(() => RunSimulationAsync(cancellationTokenSource.Token,
new Progress<MessageEntry>((message) => { _outputViewModel.Messages.Add(message); }),
new Progress<MessageEntry>((message) => { _outputViewModel.AddMessage(message); }),
new Progress<int>((i) => _outputViewModel.Progress = i),
new Progress<string>((msg) => _outputViewModel.StatusMessage = msg)));
SimulationRunning = false;
......@@ -369,6 +369,8 @@ namespace VECTO3GUI2020.ViewModel.Implementation
var duration = start.Elapsed.TotalSeconds;
jobProgress.Select(x => x.Value.Progress);
progress.Report(Convert.ToInt32(sumProgress * 100 / jobProgress.Count));
status.Report(string.Format(
"Duration: {0:F1}s, Current Progress: {1:P} ({2})", duration, sumProgress / jobProgress.Count,
......@@ -444,6 +446,9 @@ namespace VECTO3GUI2020.ViewModel.Implementation
Type = MessageType.StatusMessage,
Message = string.Format("Simulation finished in {0:F1}s", start.Elapsed.TotalSeconds)
});
status.Report($"Simulation finished in {start.Elapsed.TotalSeconds} s");
}
private void PrintRuns(Dictionary<int, JobContainer.ProgressEntry> progress, Dictionary<int, FileOutputWriter> fileWriters, IProgress<MessageEntry> outputMessages)
{
......@@ -510,7 +515,7 @@ namespace VECTO3GUI2020.ViewModel.Implementation
get
{
return _cancelSimulationCommand ?? new RelayCommand(() => {
_outputViewModel.Messages.Add(new MessageEntry() {
_outputViewModel.AddMessage(new MessageEntry() {
Message="Canceling Simulation",
Type=MessageType.StatusMessage,
});
......
......@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Windows.Data;
using Microsoft.WindowsAPICodePack.Shell.Interop;
using VECTO3GUI2020.ViewModel.Implementation;
using VECTO3GUI2020.ViewModel.Implementation.Common;
using VECTO3GUI2020.ViewModel.Interfaces;
......@@ -22,6 +23,13 @@ namespace VECTO3GUI2020.ViewModel
get { return _messages; }
}
public void AddMessage(MessageEntry messageEntry)
{
lock (_messageLock) {
Messages.Add(messageEntry);
}
}
public int Progress
{
get => _progress;
......@@ -43,9 +51,10 @@ namespace VECTO3GUI2020.ViewModel
public interface IOutputViewModel : IMainViewModel
{
ObservableCollection<MessageEntry> Messages { get; }
//ObservableCollection<MessageEntry> Messages { get; }
int Progress { get; set; }
string StatusMessage { get; set; }
void AddMessage(MessageEntry messageEntry);
}
}
\ No newline at end of file
......@@ -14,14 +14,14 @@
Minimum="0"
Maximum="100"
Value="{Binding Progress}"/>
<StatusBar DockPanel.Dock="Bottom" Height="30">
<TextBlock Text="{Binding StatusMessage}"/>
<StatusBar DockPanel.Dock="Bottom" MinHeight="30">
<TextBlock Text="{Binding StatusMessage}" TextWrapping="Wrap"/>
</StatusBar>
<DataGrid
VerticalAlignment="Stretch"
VerticalScrollBarVisibility="Auto"
DockPanel.Dock="Top"
ItemsSource="{Binding Messages}"
ItemsSource="{Binding Messages, IsAsync=True}"
BorderThickness="1"
CanUserAddRows="False"
AutoGenerateColumns="False"
......
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<tns:VectoInputDeclaration schemaVersion="2.8" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD//DEV/VectoDeclarationJob.xsd">
<v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType">
<Manufacturer>Some Manufacturer</Manufacturer>
<ManufacturerAddress>Infinite Loop 1</ManufacturerAddress>
<VIN>VEH-1234567890</VIN>
<Date>2020-01-09T11:00:00Z</Date>
<Model>Sample Bus Model</Model>
<LegislativeCategory>M3</LegislativeCategory>
<CorrectedActualMass>10680</CorrectedActualMass>
<TechnicalPermissibleMaximumLadenMass>18000</TechnicalPermissibleMaximumLadenMass>
<AirdragModifiedMultistage>true</AirdragModifiedMultistage>
<NgTankSystem>Compressed</NgTankSystem>
<ClassBus>II</ClassBus>
<NumberPassengerSeatsLowerDeck>86</NumberPassengerSeatsLowerDeck>
<NumberPassengersStandingLowerDeck>0</NumberPassengersStandingLowerDeck>
<NumberPassengerSeatsUpperDeck>0</NumberPassengerSeatsUpperDeck>
<NumberPassengersStandingUpperDeck>0</NumberPassengersStandingUpperDeck>
<BodyworkCode>CE</BodyworkCode>
<LowEntry>true</LowEntry>
<HeightIntegratedBody>3000</HeightIntegratedBody>
<VehicleLength>10633</VehicleLength>
<VehicleWidth>2550</VehicleWidth>
<EntranceHeight>270</EntranceHeight>
<DoorDriveTechnology>pneumatic</DoorDriveTechnology>
<VehicleDeclarationType>final</VehicleDeclarationType>
<Components xsi:type="CompletedVehicleComponentsDeclarationType">
<AirDrag>
<Data id="CabinX23h" xsi:type="AirDragDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
<Manufacturer>Generic Manufacturer</Manufacturer>
<Model>Generic Model</Model>
<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
<Date>2017-03-24T15:00:00Z</Date>
<AppVersion>Vecto AirDrag x.y</AppVersion>
<CdxA_0>4.90</CdxA_0>
<TransferredCdxA>4.90</TransferredCdxA>
<DeclaredCdxA>4.90</DeclaredCdxA>
</Data>
<v2.0:Signature>
<di:Reference URI="#CabinX23h">
<di:Transforms>
<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</di:Transforms>
<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue>
</di:Reference>
</v2.0:Signature>
</AirDrag>
<Auxiliaries>
<Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType">
<ElectricSystem>
<LEDLights>
<Interiorlights>true</Interiorlights>
<Dayrunninglights>true</Dayrunninglights>
<Positionlights>true</Positionlights>
<Brakelights>true</Brakelights>
<Headlights>true</Headlights>
</LEDLights>
</ElectricSystem>
<HVAC>
<SystemConfiguration>6</SystemConfiguration>
<HeatPumpTypeDriverCompartment>none</HeatPumpTypeDriverCompartment>
<HeatPumpModeDriverCompartment>N.A.</HeatPumpModeDriverCompartment>
<HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment>
<HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment>
<AuxiliaryHeaterPower>15000</AuxiliaryHeaterPower>
<DoubleGlazing>true</DoubleGlazing>
<AdjustableAuxiliaryHeater>false</AdjustableAuxiliaryHeater>
<SeparateAirDistributionDucts>false</SeparateAirDistributionDucts>
</HVAC>
</Data>
</Auxiliaries>
</Components>
</v2.0:Vehicle>
</tns:VectoInputDeclaration>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment