init
This commit is contained in:
@@ -0,0 +1 @@
|
||||
12
|
||||
@@ -0,0 +1 @@
|
||||
12
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,125 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace DTS.Slice.PedestrianAndHeadReports
|
||||
{
|
||||
public class LWRLegTRLReport : ReportBase
|
||||
{
|
||||
public LWRLegTRLReport(PedestrianAndHeadTest parent) : base(parent) { }
|
||||
|
||||
public override ReportTypes GetReportType()
|
||||
{
|
||||
return ReportTypes.LWRLegTRL;
|
||||
}
|
||||
|
||||
public const string AccelerationChannelId = "LWRLEGTRL_ACCEL";
|
||||
public const string BendingChannelId = "LWRLEGTRL_BENDANGLE";
|
||||
public const string ShearingChannelId = "LWRLEGTRL_SHEARING";
|
||||
public const string BendingDisplacementId = "LWRLEGTRL_BENDDISPLACEMENT";
|
||||
public const string ShearingDisplacementId = "LWRLEGTRL_SHEARDISPLACEMENT";
|
||||
|
||||
protected override void InitializeGraphs()
|
||||
{
|
||||
base.InitializeGraphs();
|
||||
AddGraph(new ReportGraph(KnownGraphs.LWR_LEG_TRL_Acceleration.ToString(), "Acceleration", new MeasurementUnit[] {
|
||||
MeasurementUnitList.GetMeasurementUnit("m/sec^2"), MeasurementUnitList.GetMeasurementUnit("G") },
|
||||
new GraphChannel[] { new GraphChannel(AccelerationChannelId, "加速度", "ACC") }, Properties.Settings.Default.PROTECTIONREPORT_LWRTRLAccelThreshold));
|
||||
AddGraph(new ReportGraph(KnownGraphs.LWR_LEG_TRL_BendingAngle.ToString(), "Bending angle", new MeasurementUnit[] {
|
||||
MeasurementUnitList.GetMeasurementUnit("deg") },
|
||||
new GraphChannel[] { new GraphChannel(BendingChannelId, "曲げ角度", "BEND") }, Properties.Settings.Default.PROTECTIONREPORT_LWRTRLBendingThreshold));
|
||||
AddGraph(new ReportGraph(KnownGraphs.LWR_LEG_TRL_ShearAngle.ToString(), "Shear displacement", new MeasurementUnit[] {
|
||||
MeasurementUnitList.GetMeasurementUnit("deg") },
|
||||
new GraphChannel[] { new GraphChannel(ShearingChannelId, "剪断変位", "SHEAR") }, Properties.Settings.Default.PROTECTIONREPORT_LWRTRLShearThreshold));
|
||||
AddGraph(new ReportGraph(KnownGraphs.LWR_LEG_TRL_BendingDisplacement.ToString(), "Bending Displacement", new MeasurementUnit[] {
|
||||
MeasurementUnitList.GetMeasurementUnit("mm") },
|
||||
new GraphChannel[] { new BendingDisplacement(BendingDisplacementId, "Bending Displacement", "---") }, Properties.Settings.Default.PROTECTIONREPORT_LWRTRLBendingThreshold));
|
||||
AddGraph(new ReportGraph(KnownGraphs.LWR_LEG_TRL_ShearDisplacement.ToString(), "Shear Displacement", new MeasurementUnit[] {
|
||||
MeasurementUnitList.GetMeasurementUnit("mm") },
|
||||
new GraphChannel[] { new ShearingDisplacement(ShearingDisplacementId, "Shear Displacement", "---") }, Properties.Settings.Default.PROTECTIONREPORT_LWRTRLShearThreshold));
|
||||
}
|
||||
|
||||
protected override void InitializeProperties()
|
||||
{
|
||||
base.InitializeProperties();
|
||||
SetPossibleValues(PedestrianAndHeadTest.Fields.ImpactorType.ToString(), new string[] { "E-PLI" });
|
||||
SetValue(PedestrianAndHeadTest.Fields.FrequencyClass.ToString(), (new SensorDB.FilterClass(DTS.SensorDB.FilterClass.FilterClassType.CFC180)).ToString());
|
||||
}
|
||||
private double DegreeToRadian(double angle)
|
||||
{
|
||||
return Math.PI * angle / 180.0;
|
||||
}
|
||||
private double RadianToDegree(double radian)
|
||||
{
|
||||
return radian*(180D/Math.PI);
|
||||
}
|
||||
|
||||
public override void DrawGraph(KnownGraphs graph, C1.Win.C1Chart.C1Chart chart)
|
||||
{
|
||||
switch (graph)
|
||||
{
|
||||
case KnownGraphs.LWR_LEG_TRL_BendingAngle:
|
||||
{
|
||||
var channelX = GetChannel(KnownGraphs.LWR_LEG_TRL_BendingAngle, BendingChannelId);
|
||||
|
||||
if (null == channelX || null == channelX.Channel) { return; }
|
||||
try
|
||||
{
|
||||
var x = new DTS.Calculations.ChannelData("deg");
|
||||
x.FilteredEU = channelX.Channel.DataEu.ToArray();
|
||||
|
||||
List<double> yValues = new List<double>();
|
||||
for (int i = 0; i < x.FilteredEU.Length; i++)
|
||||
{
|
||||
double c = x.FilteredEU[i];
|
||||
|
||||
yValues.Add(c + RadianToDegree(System.Math.Asin((59.5D / 43.5D) * System.Math.Sin(DegreeToRadian(c)))));
|
||||
}
|
||||
DTS.Slice.Control.Event.Module.Channel.CalculatedChannel cc = new DTS.Slice.Control.Event.Module.Channel.CalculatedChannel(
|
||||
"Bending Displacement", DTS.Slice.Control.Event.Module.Channel.CalculatedChannel.XUnits.msec,
|
||||
"mm", new double[0], yValues.ToArray(), DTS.Slice.Control.Event.Module.Channel.CalculatedChannel.Operation.ImportedCSV,
|
||||
0, channelX.Channel.ParentModule);
|
||||
ReviewTestChannel rtc = new ReviewTestChannel(cc, channelX.ParentTest);
|
||||
var g = GetGraph(ReportBase.KnownGraphs.LWR_LEG_TRL_BendingDisplacement.ToString());
|
||||
g.SetReviewTestChannel(BendingDisplacementId, rtc);
|
||||
}
|
||||
catch (System.Exception) { }
|
||||
base.DrawGraph(graph, chart);
|
||||
}
|
||||
break;
|
||||
case KnownGraphs.LWR_LEG_TRL_ShearAngle:
|
||||
{
|
||||
var channelX = GetChannel(KnownGraphs.LWR_LEG_TRL_ShearAngle, ShearingChannelId);
|
||||
|
||||
if (null == channelX || null == channelX.Channel) { return; }
|
||||
try
|
||||
{
|
||||
var x = new DTS.Calculations.ChannelData("deg");
|
||||
x.FilteredEU = channelX.Channel.DataEu.ToArray();
|
||||
|
||||
List<double> yValues = new List<double>();
|
||||
for (int i = 0; i < x.FilteredEU.Length; i++)
|
||||
{
|
||||
double c = x.FilteredEU[i];
|
||||
yValues.Add(27.5D * System.Math.Sin(DegreeToRadian(c)));
|
||||
}
|
||||
DTS.Slice.Control.Event.Module.Channel.CalculatedChannel cc = new DTS.Slice.Control.Event.Module.Channel.CalculatedChannel(
|
||||
"Shearing Displacement", DTS.Slice.Control.Event.Module.Channel.CalculatedChannel.XUnits.msec,
|
||||
"mm", new double[0], yValues.ToArray(), DTS.Slice.Control.Event.Module.Channel.CalculatedChannel.Operation.ImportedCSV,
|
||||
0, channelX.Channel.ParentModule);
|
||||
ReviewTestChannel rtc = new ReviewTestChannel(cc, channelX.ParentTest);
|
||||
var g = GetGraph(ReportBase.KnownGraphs.LWR_LEG_TRL_ShearDisplacement.ToString());
|
||||
g.SetReviewTestChannel(ShearingDisplacementId, rtc);
|
||||
}
|
||||
catch (System.Exception) { }
|
||||
base.DrawGraph(graph, chart);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
base.DrawGraph(graph, chart);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,207 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{465B0757-0B8F-4AFB-A8A2-DD3EC2F99A69}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>PedestrianAndHeadReports</RootNamespace>
|
||||
<AssemblyName>PedestrianAndHeadReports</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
<SccProjectName>
|
||||
</SccProjectName>
|
||||
<SccLocalPath>
|
||||
</SccLocalPath>
|
||||
<SccAuxPath>
|
||||
</SccAuxPath>
|
||||
<SccProvider>
|
||||
</SccProvider>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files (x86)\Open XML SDK\V2.5\lib\DocumentFormat.OpenXml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Expression.Interactions, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\Common\DTS.Common\lib\PrismLibrary\Microsoft.Expression.Interactions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Practices.Prism">
|
||||
<HintPath>..\..\..\..\Common\DTS.Common\lib\PrismLibrary\Microsoft.Practices.Prism.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Practices.Prism.Interactivity">
|
||||
<HintPath>..\..\..\..\Common\DTS.Common\lib\PrismLibrary\Microsoft.Practices.Prism.Interactivity.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Practices.Prism.UnityExtensions">
|
||||
<HintPath>..\..\..\..\Common\DTS.Common\lib\PrismLibrary\Microsoft.Practices.Prism.UnityExtensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Practices.ServiceLocation">
|
||||
<HintPath>..\..\..\..\Common\DTS.Common\lib\PrismLibrary\Microsoft.Practices.ServiceLocation.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Practices.Unity, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\Common\DTS.Common\lib\PrismLibrary\Microsoft.Practices.Unity.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Practices.Unity.Interception">
|
||||
<HintPath>..\..\..\..\Common\DTS.Common\lib\PrismLibrary\Microsoft.Practices.Unity.Interception.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.Composition" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\Common\DTS.Common\lib\System.Windows.Interactivity.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xaml" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="Xceed.Wpf.Toolkit">
|
||||
<HintPath>..\..\..\..\Common\DTS.Common\lib\Xceed.Wpf.Toolkit\Xceed.Wpf.Toolkit.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Classes\Constants.cs" />
|
||||
<Compile Include="Classes\ExportBase.cs" />
|
||||
<Compile Include="Classes\FLEXCalExport.cs" />
|
||||
<Compile Include="Classes\FlexExport.cs" />
|
||||
<Compile Include="Classes\HeadExport.cs" />
|
||||
<Compile Include="Classes\TRLExport.cs" />
|
||||
<Compile Include="Classes\URLLegExport.cs" />
|
||||
<Compile Include="PedestrianAndHeadReportsModule.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Resources\StringResources.Designer.cs">
|
||||
<DependentUpon>StringResources.resx</DependentUpon>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<Compile Include="Resources\TranslateExtension.cs" />
|
||||
<Compile Include="ViewModel\TRLReportViewModel.cs" />
|
||||
<Compile Include="ViewModel\HeadReportViewModel.cs" />
|
||||
<Compile Include="View\TRLReportInputView.xaml.cs">
|
||||
<DependentUpon>TRLReportInputView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\TRLReportOutputView.xaml.cs">
|
||||
<DependentUpon>TRLReportOutputView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\HeadReportOutputView.xaml.cs">
|
||||
<DependentUpon>HeadReportOutputView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View\HeadReportInputView.xaml.cs">
|
||||
<DependentUpon>HeadReportInputView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\..\Common\DTS.Common.DAS.Concepts\DTS.Common.DAS.Concepts.csproj">
|
||||
<Project>{ae3987f7-c4c6-40fb-a353-1a2dadef7a9a}</Project>
|
||||
<Name>DTS.Common.DAS.Concepts</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Common\DTS.Common.SerializationPlus\DTS.Common.SerializationPlus.csproj">
|
||||
<Project>{b9d1ac5b-7a6f-4b14-9ff8-3a1fc03519e2}</Project>
|
||||
<Name>DTS.Common.SerializationPlus</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Common\DTS.Common.Serialization\DTS.Common.Serialization.csproj">
|
||||
<Project>{b7d50b14-fa61-4fe4-bff7-b257902b55b0}</Project>
|
||||
<Name>DTS.Common.Serialization</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Common\DTS.Common.Utilities\DTS.Common.Utilities.csproj">
|
||||
<Project>{03eace47-ea59-44ac-b49d-956e4dc4d618}</Project>
|
||||
<Name>DTS.Common.Utilities</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Common\DTS.Common\DTS.Common.csproj">
|
||||
<Project>{114edc77-f3b5-4576-a91b-40818d503b55}</Project>
|
||||
<Name>DTS.Common</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\SensorDB\SensorDB.csproj">
|
||||
<Project>{444ef10c-046e-47ad-a9a5-17318d488723}</Project>
|
||||
<Name>SensorDB</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Page Include="View\TRLReportInputView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\TRLReportOutputView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\HeadReportOutputView.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="View\HeadReportInputView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\StringResources.de.resx" />
|
||||
<EmbeddedResource Include="Resources\StringResources.es.resx" />
|
||||
<EmbeddedResource Include="Resources\StringResources.fr.resx" />
|
||||
<EmbeddedResource Include="Resources\StringResources.ja.resx" />
|
||||
<EmbeddedResource Include="Resources\StringResources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>StringResources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resources\StringResources.ru.resx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>copy "$(TargetPath)" "$(SolutionDir)..\RunTimeModules\$(TargetFileName)"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<!-- 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.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -0,0 +1,15 @@
|
||||
using DTS.Common.Interface;
|
||||
|
||||
namespace PedestrianAndHeadReports
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for PowerAndBatteryView.xaml
|
||||
/// </summary>
|
||||
public partial class TRLReportOutputView : ITRLReportOutputView
|
||||
{
|
||||
public TRLReportOutputView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.Threading.Tasks;
|
||||
using DTS.Common.Events;
|
||||
using DTS.Common.Interface;
|
||||
using Microsoft.Practices.Prism.Commands;
|
||||
using Microsoft.Practices.Prism.Events;
|
||||
using Microsoft.Practices.Prism.Interactivity.InteractionRequest;
|
||||
using Microsoft.Practices.Prism.Regions;
|
||||
using Microsoft.Practices.Unity;
|
||||
using DTS.Common.Utils;
|
||||
using System.Text;
|
||||
// ReSharper disable CheckNamespace
|
||||
// ReSharper disable MemberCanBePrivate.Global
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace PedestrianAndHeadReports
|
||||
{
|
||||
/// <summary>
|
||||
/// this class handles DB import/export functionality
|
||||
/// (note that since a lot of of DataPRO objects still live in the datapro project it's functionality is limited to the xml string going back and forth right now)
|
||||
/// </summary>
|
||||
[Export(typeof(IHeadReportInputView))]
|
||||
[Export(typeof(IHeadReportOutputView))]
|
||||
[PartCreationPolicy(CreationPolicy.Shared)]
|
||||
public class HeadReportViewModel : IHeadReportViewModel
|
||||
{
|
||||
public IHeadReportInputView InputView { get; set; }
|
||||
public IHeadReportOutputView OutputView { get; set; }
|
||||
|
||||
private IEventAggregator _eventAggregator { get; set; }
|
||||
private IRegionManager _regionManager;
|
||||
private IUnityContainer UnityContainer { get; set; }
|
||||
|
||||
public InteractionRequest<Notification> NotificationRequest { get; private set; }
|
||||
public InteractionRequest<Confirmation> ConfirmationRequest { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new instance of the TechnologyDomainEditViewModel.
|
||||
/// </summary>
|
||||
/// <param name="inputView"></param>
|
||||
/// <param name="outputView"></param>
|
||||
/// <param name="regionManager">The logical placeholder defined within the application's UI (in the shell or within views) into which views are displayed.</param>
|
||||
/// <param name="eventAggregator">The EventAggregator which allows different components to publish/subscribe to events without being coupled to each other.</param>
|
||||
/// <param name="unityContainer">The unityContainer.</param>
|
||||
public HeadReportViewModel(IHeadReportInputView inputView, IHeadReportOutputView outputView, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer)
|
||||
{
|
||||
InputView = inputView;
|
||||
OutputView = outputView;
|
||||
inputView.DataContext = this;
|
||||
outputView.DataContext = this;
|
||||
|
||||
NotificationRequest = new InteractionRequest<Notification>();
|
||||
ConfirmationRequest = new InteractionRequest<Confirmation>();
|
||||
|
||||
_eventAggregator = eventAggregator;
|
||||
UnityContainer = unityContainer;
|
||||
_regionManager = regionManager;
|
||||
_eventAggregator.GetEvent<RaiseNotification>().Subscribe(OnRaiseNotification);
|
||||
_eventAggregator.GetEvent<BusyIndicatorChangeNotification>().Subscribe(OnBusyIndicatorNotification, ThreadOption.PublisherThread, true);
|
||||
}
|
||||
|
||||
#region Methods
|
||||
|
||||
public void Cleanup() { }
|
||||
public Task CleanupAsync() { return null; }
|
||||
public void Initialize() { }
|
||||
public void Initialize(object parameter) { }
|
||||
public void Initialize(object parameter, object model) { }
|
||||
public Task InitializeAsync() { return null; }
|
||||
public Task InitializeAsync(object parameter) { return null; }
|
||||
public void Activated() { }
|
||||
|
||||
/// <summary>
|
||||
/// Private Event handler for RaiseNotification event.
|
||||
/// </summary>
|
||||
private void OnBusyIndicatorNotification(bool eventArg) { IsBusy = eventArg; }
|
||||
|
||||
/// <summary>
|
||||
/// Private Event handler for RaiseNotification event.
|
||||
/// </summary>
|
||||
private void OnRaiseNotification(NotificationContentEventArgs eventArgsWithTitle)
|
||||
{
|
||||
// The NotificationRequest.Raise triggers the Invoke() method of the PopupWindowAction object to show the NotificationWindow window
|
||||
// Notification object expects a NotificationContentEventArgsWithoutTitle object and a Title string.
|
||||
var eventArgsWithoutTitle = new NotificationContentEventArgs(eventArgsWithTitle.Message,"", eventArgsWithTitle.Image, string.Empty);
|
||||
|
||||
NotificationRequest.Raise(new Notification { Content = eventArgsWithoutTitle, Title = eventArgsWithTitle.Title });
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
public bool IsDirty { get; private set; }
|
||||
private bool _isBusy = false;
|
||||
public bool IsBusy { get => _isBusy; set { _isBusy = value; OnPropertyChanged("IsBusy"); } }
|
||||
private bool _isMenuIncluded = false;
|
||||
public bool IsMenuIncluded { get => _isMenuIncluded; set { _isMenuIncluded = value; OnPropertyChanged("IsMenuIncluded"); } }
|
||||
private bool _isNavigationIncluded = false;
|
||||
public bool IsNavigationIncluded { get => _isNavigationIncluded; set { _isNavigationIncluded = value; OnPropertyChanged("IsNavigationIncluded"); } }
|
||||
/// <summary>
|
||||
/// Gets the HeaderInfo.
|
||||
/// </summary>
|
||||
public string HeaderInfo => "MainRegion";
|
||||
#endregion Properties
|
||||
|
||||
#region Commands
|
||||
/*/// <summary>
|
||||
/// browse to a file to import, should be xml, maybe needs a few other criteria
|
||||
/// </summary>
|
||||
private DelegateCommand _importBrowseCommand;
|
||||
public DelegateCommand ImportBrowseCommand { get { return _importBrowseCommand ?? ( _importBrowseCommand = new DelegateCommand(ImportBrowseMethod)); } }
|
||||
private void ImportBrowseMethod()
|
||||
{
|
||||
using (var dlg = new System.Windows.Forms.OpenFileDialog())
|
||||
{
|
||||
dlg.CheckFileExists = true;
|
||||
dlg.CheckPathExists = true;
|
||||
dlg.Filter = Resources.StringResources.ImportFileBrowse_Filter;
|
||||
dlg.FilterIndex = 0;
|
||||
|
||||
if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
ImportFileName = dlg.FileName;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
#endregion
|
||||
|
||||
#region properties
|
||||
|
||||
#endregion
|
||||
|
||||
///<summary>
|
||||
///Occurs when a property value changes.
|
||||
///</summary>
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
public void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.ComponentModel;
|
||||
using DTS.Slice.PedestrianAndHeadReports;
|
||||
|
||||
namespace DTS.Slice.Controls
|
||||
{
|
||||
public partial class PedestrianReportTab : C1.Win.C1Command.C1DockingTabPage, INotifyPropertyChanged
|
||||
{
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
protected bool SetProperty<T>(ref T storage, T value, String propertyName)
|
||||
{
|
||||
if (object.Equals(storage, value)) return false;
|
||||
|
||||
storage = value;
|
||||
this.OnPropertyChanged(propertyName);
|
||||
return true;
|
||||
}
|
||||
protected void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
var eventHandler = this.PropertyChanged;
|
||||
if (eventHandler != null)
|
||||
{
|
||||
eventHandler(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
|
||||
public PedestrianReportTab()
|
||||
{
|
||||
}
|
||||
private ReportBase _reportBase;
|
||||
public ReportBase ReportBase
|
||||
{
|
||||
get { return _reportBase; }
|
||||
set
|
||||
{
|
||||
if (null == value) { return; }
|
||||
if (null != _reportBase) { throw new NotSupportedException(); }
|
||||
SetProperty(ref _reportBase, value, "ReportBase");
|
||||
ReportBase.PropertyChanged += new PropertyChangedEventHandler(ReportBase_PropertyChanged);
|
||||
}
|
||||
}
|
||||
|
||||
void ReportBase_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
namespace PedestrianAndHeadReports.Classes
|
||||
{
|
||||
public class ConstantsAndEnums
|
||||
{
|
||||
public const string HEAD_X_ID = "X軸加速度";
|
||||
public const string HEAD_Y_ID = "Y軸加速度";
|
||||
public const string HEAD_Z_ID = "Z軸加速度";
|
||||
|
||||
public enum HeadImpactorTypes
|
||||
{
|
||||
ADULT,
|
||||
CHILD
|
||||
};
|
||||
|
||||
public enum TimeUnits
|
||||
{
|
||||
Seconds,
|
||||
MilliSeconds
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("PedestrianAndHeadReports")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("PedestrianAndHeadReportsModule")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2017")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("99a3fc18-ead0-4ead-bdee-777e0d286234")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,93 @@
|
||||
using System;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.Windows.Media.Imaging;
|
||||
using DTS.Common;
|
||||
using DTS.Common.Interface;
|
||||
using Microsoft.Practices.Prism.Modularity;
|
||||
using Microsoft.Practices.Unity;
|
||||
|
||||
namespace PedestrianAndHeadReports
|
||||
{
|
||||
[Export(typeof(IModule))]
|
||||
[Module(ModuleName = "PedestrianAndHeadReportsModule")]
|
||||
public class PedestrianAndHeadReportsModule : IModule
|
||||
{
|
||||
/// <summary>
|
||||
/// Injected unity container
|
||||
/// </summary>
|
||||
private readonly IUnityContainer _unityContainer;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="PedestrianAndHeadReportsModule"/> class.
|
||||
/// </summary>
|
||||
/// <param name="unityContainer">Obtained reference of the unity container by using dependency injection.</param>
|
||||
public PedestrianAndHeadReportsModule(IUnityContainer unityContainer)
|
||||
{
|
||||
_unityContainer = unityContainer;
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
// Register View & View-Model with Unity dependency injection container as a singleton.
|
||||
_unityContainer.RegisterType<IHeadReportInputView, HeadReportInputView>();
|
||||
_unityContainer.RegisterType<IHeadReportOutputView, HeadReportOutputView>();
|
||||
_unityContainer.RegisterType<IHeadReportViewModel, HeadReportViewModel>();
|
||||
_unityContainer.RegisterType<ITRLReportInputView, TRLReportInputView>();
|
||||
_unityContainer.RegisterType<ITRLReportOutputView, TRLReportOutputView>();
|
||||
_unityContainer.RegisterType<ITRLReportViewModel, TRLReportViewModel>();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Attribute class contains assembly image and name - used on the Main screen to display available components
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false)]
|
||||
public class PedestrianAndHeadReportsImageAttribute : ImageAttribute
|
||||
{
|
||||
private BitmapImage _img;
|
||||
|
||||
public PedestrianAndHeadReportsImageAttribute () : this(null) { }
|
||||
public override BitmapImage AssemblyImage
|
||||
{
|
||||
get { _img = AssemblyInfo.GetImage(AssemblyNames.DB.ToString()); return _img; }
|
||||
}
|
||||
public PedestrianAndHeadReportsImageAttribute(string s)
|
||||
{
|
||||
_img = AssemblyInfo.GetImage(AssemblyNames.DB.ToString());
|
||||
}
|
||||
|
||||
public override Type GetAttributeType()
|
||||
{
|
||||
return typeof(ImageAttribute);
|
||||
}
|
||||
public override BitmapImage GetAssemblyImage()
|
||||
{
|
||||
return AssemblyImage;
|
||||
}
|
||||
private string _name;
|
||||
public override string AssemblyName
|
||||
{
|
||||
get { _name = AssemblyNames.PowerAndBattery.ToString(); return _name; }
|
||||
}
|
||||
|
||||
public override string GetAssemblyName()
|
||||
{
|
||||
return AssemblyName;
|
||||
}
|
||||
private string _group;
|
||||
public override string AssemblyGroup
|
||||
{
|
||||
get { _group = eAssemblyGroups.Administrative.ToString(); return _group; }
|
||||
}
|
||||
|
||||
public override string GetAssemblyGroup()
|
||||
{
|
||||
return AssemblyGroup;
|
||||
}
|
||||
public override eAssemblyRegion GetAssemblyRegion()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public override eAssemblyRegion AssemblyRegion => throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,610 @@
|
||||
namespace DTS.Slice.Controls
|
||||
{
|
||||
partial class LWRLegFlex
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.label13 = new System.Windows.Forms.Label();
|
||||
this.label14 = new System.Windows.Forms.Label();
|
||||
this.label15 = new System.Windows.Forms.Label();
|
||||
this.label16 = new System.Windows.Forms.Label();
|
||||
this.label17 = new System.Windows.Forms.Label();
|
||||
this.label18 = new System.Windows.Forms.Label();
|
||||
this.label19 = new System.Windows.Forms.Label();
|
||||
this.label20 = new System.Windows.Forms.Label();
|
||||
this.label21 = new System.Windows.Forms.Label();
|
||||
this.label22 = new System.Windows.Forms.Label();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.textBox2 = new System.Windows.Forms.TextBox();
|
||||
this.textBox3 = new System.Windows.Forms.TextBox();
|
||||
this.textBox4 = new System.Windows.Forms.TextBox();
|
||||
this.textBox5 = new System.Windows.Forms.TextBox();
|
||||
this.textBox7 = new System.Windows.Forms.TextBox();
|
||||
this.textBox8 = new System.Windows.Forms.TextBox();
|
||||
this.textBox9 = new System.Windows.Forms.TextBox();
|
||||
this.ddlDummyType = new System.Windows.Forms.ComboBox();
|
||||
this.textBox10 = new System.Windows.Forms.TextBox();
|
||||
this.textBox11 = new System.Windows.Forms.TextBox();
|
||||
this.textBox12 = new System.Windows.Forms.TextBox();
|
||||
this.textBox13 = new System.Windows.Forms.TextBox();
|
||||
this.ddlAccelerationUnits = new System.Windows.Forms.ComboBox();
|
||||
this.ddlTime = new System.Windows.Forms.ComboBox();
|
||||
this.label23 = new System.Windows.Forms.Label();
|
||||
this.ddlMomentUnits = new System.Windows.Forms.ComboBox();
|
||||
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.Model = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.tableLayoutPanel2.SuspendLayout();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(3, 6);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(68, 13);
|
||||
this.label5.TabIndex = 0;
|
||||
this.label5.Text = "Test Number";
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(3, 32);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(54, 13);
|
||||
this.label9.TabIndex = 1;
|
||||
this.label9.Text = "Test Date";
|
||||
//
|
||||
// label10
|
||||
//
|
||||
this.label10.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Location = new System.Drawing.Point(3, 58);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(36, 13);
|
||||
this.label10.TabIndex = 2;
|
||||
this.label10.Text = "Model";
|
||||
//
|
||||
// label11
|
||||
//
|
||||
this.label11.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label11.AutoSize = true;
|
||||
this.label11.Location = new System.Drawing.Point(3, 84);
|
||||
this.label11.Name = "label11";
|
||||
this.label11.Size = new System.Drawing.Size(27, 13);
|
||||
this.label11.TabIndex = 3;
|
||||
this.label11.Text = "Trim";
|
||||
//
|
||||
// label12
|
||||
//
|
||||
this.label12.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label12.AutoSize = true;
|
||||
this.label12.Location = new System.Drawing.Point(3, 110);
|
||||
this.label12.Name = "label12";
|
||||
this.label12.Size = new System.Drawing.Size(67, 13);
|
||||
this.label12.TabIndex = 4;
|
||||
this.label12.Text = "Temperature";
|
||||
//
|
||||
// label13
|
||||
//
|
||||
this.label13.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label13.AutoSize = true;
|
||||
this.label13.Location = new System.Drawing.Point(3, 136);
|
||||
this.label13.Name = "label13";
|
||||
this.label13.Size = new System.Drawing.Size(81, 13);
|
||||
this.label13.TabIndex = 6;
|
||||
this.label13.Text = "Measured Point";
|
||||
//
|
||||
// label14
|
||||
//
|
||||
this.label14.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label14.AutoSize = true;
|
||||
this.label14.Location = new System.Drawing.Point(3, 162);
|
||||
this.label14.Name = "label14";
|
||||
this.label14.Size = new System.Drawing.Size(38, 13);
|
||||
this.label14.TabIndex = 7;
|
||||
this.label14.Text = "Speed";
|
||||
//
|
||||
// label15
|
||||
//
|
||||
this.label15.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label15.AutoSize = true;
|
||||
this.label15.Location = new System.Drawing.Point(3, 188);
|
||||
this.label15.Name = "label15";
|
||||
this.label15.Size = new System.Drawing.Size(56, 13);
|
||||
this.label15.TabIndex = 8;
|
||||
this.label15.Text = "Dummy ID";
|
||||
//
|
||||
// label16
|
||||
//
|
||||
this.label16.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label16.AutoSize = true;
|
||||
this.label16.Location = new System.Drawing.Point(3, 215);
|
||||
this.label16.Name = "label16";
|
||||
this.label16.Size = new System.Drawing.Size(69, 13);
|
||||
this.label16.TabIndex = 9;
|
||||
this.label16.Text = "Dummy Type";
|
||||
//
|
||||
// label17
|
||||
//
|
||||
this.label17.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label17.AutoSize = true;
|
||||
this.label17.Location = new System.Drawing.Point(3, 241);
|
||||
this.label17.Name = "label17";
|
||||
this.label17.Size = new System.Drawing.Size(35, 13);
|
||||
this.label17.TabIndex = 10;
|
||||
this.label17.Text = "Name";
|
||||
//
|
||||
// label18
|
||||
//
|
||||
this.label18.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label18.AutoSize = true;
|
||||
this.label18.Location = new System.Drawing.Point(3, 267);
|
||||
this.label18.Name = "label18";
|
||||
this.label18.Size = new System.Drawing.Size(60, 13);
|
||||
this.label18.TabIndex = 11;
|
||||
this.label18.Text = "Comment 1";
|
||||
//
|
||||
// label19
|
||||
//
|
||||
this.label19.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label19.AutoSize = true;
|
||||
this.label19.Location = new System.Drawing.Point(3, 293);
|
||||
this.label19.Name = "label19";
|
||||
this.label19.Size = new System.Drawing.Size(60, 13);
|
||||
this.label19.TabIndex = 12;
|
||||
this.label19.Text = "Comment 2";
|
||||
//
|
||||
// label20
|
||||
//
|
||||
this.label20.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label20.AutoSize = true;
|
||||
this.label20.Location = new System.Drawing.Point(3, 319);
|
||||
this.label20.Name = "label20";
|
||||
this.label20.Size = new System.Drawing.Size(29, 13);
|
||||
this.label20.TabIndex = 13;
|
||||
this.label20.Text = "Filter";
|
||||
//
|
||||
// label21
|
||||
//
|
||||
this.label21.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label21.AutoSize = true;
|
||||
this.label21.Location = new System.Drawing.Point(3, 346);
|
||||
this.label21.Name = "label21";
|
||||
this.label21.Size = new System.Drawing.Size(57, 13);
|
||||
this.label21.TabIndex = 14;
|
||||
this.label21.Text = "Tibia Units";
|
||||
//
|
||||
// label22
|
||||
//
|
||||
this.label22.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label22.AutoSize = true;
|
||||
this.label22.Location = new System.Drawing.Point(3, 403);
|
||||
this.label22.Name = "label22";
|
||||
this.label22.Size = new System.Drawing.Size(30, 13);
|
||||
this.label22.TabIndex = 15;
|
||||
this.label22.Text = "Time";
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox1.Location = new System.Drawing.Point(90, 3);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(497, 20);
|
||||
this.textBox1.TabIndex = 16;
|
||||
//
|
||||
// textBox2
|
||||
//
|
||||
this.textBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox2.Location = new System.Drawing.Point(90, 29);
|
||||
this.textBox2.Name = "textBox2";
|
||||
this.textBox2.Size = new System.Drawing.Size(497, 20);
|
||||
this.textBox2.TabIndex = 17;
|
||||
//
|
||||
// textBox3
|
||||
//
|
||||
this.textBox3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox3.Location = new System.Drawing.Point(90, 55);
|
||||
this.textBox3.Name = "textBox3";
|
||||
this.textBox3.Size = new System.Drawing.Size(497, 20);
|
||||
this.textBox3.TabIndex = 18;
|
||||
//
|
||||
// textBox4
|
||||
//
|
||||
this.textBox4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox4.Location = new System.Drawing.Point(90, 81);
|
||||
this.textBox4.Name = "textBox4";
|
||||
this.textBox4.Size = new System.Drawing.Size(497, 20);
|
||||
this.textBox4.TabIndex = 19;
|
||||
//
|
||||
// textBox5
|
||||
//
|
||||
this.textBox5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox5.Location = new System.Drawing.Point(90, 107);
|
||||
this.textBox5.Name = "textBox5";
|
||||
this.textBox5.Size = new System.Drawing.Size(497, 20);
|
||||
this.textBox5.TabIndex = 20;
|
||||
//
|
||||
// textBox7
|
||||
//
|
||||
this.textBox7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox7.Location = new System.Drawing.Point(90, 133);
|
||||
this.textBox7.Name = "textBox7";
|
||||
this.textBox7.Size = new System.Drawing.Size(497, 20);
|
||||
this.textBox7.TabIndex = 22;
|
||||
//
|
||||
// textBox8
|
||||
//
|
||||
this.textBox8.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox8.Location = new System.Drawing.Point(90, 159);
|
||||
this.textBox8.Name = "textBox8";
|
||||
this.textBox8.Size = new System.Drawing.Size(497, 20);
|
||||
this.textBox8.TabIndex = 23;
|
||||
//
|
||||
// textBox9
|
||||
//
|
||||
this.textBox9.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox9.Location = new System.Drawing.Point(90, 185);
|
||||
this.textBox9.Name = "textBox9";
|
||||
this.textBox9.Size = new System.Drawing.Size(497, 20);
|
||||
this.textBox9.TabIndex = 24;
|
||||
//
|
||||
// ddlDummyType
|
||||
//
|
||||
this.ddlDummyType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ddlDummyType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.ddlDummyType.FormattingEnabled = true;
|
||||
this.ddlDummyType.Items.AddRange(new object[] {
|
||||
"FLEX"});
|
||||
this.ddlDummyType.Location = new System.Drawing.Point(90, 211);
|
||||
this.ddlDummyType.Name = "ddlDummyType";
|
||||
this.ddlDummyType.Size = new System.Drawing.Size(497, 21);
|
||||
this.ddlDummyType.TabIndex = 25;
|
||||
//
|
||||
// textBox10
|
||||
//
|
||||
this.textBox10.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox10.Location = new System.Drawing.Point(90, 238);
|
||||
this.textBox10.Name = "textBox10";
|
||||
this.textBox10.Size = new System.Drawing.Size(497, 20);
|
||||
this.textBox10.TabIndex = 26;
|
||||
//
|
||||
// textBox11
|
||||
//
|
||||
this.textBox11.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox11.Location = new System.Drawing.Point(90, 264);
|
||||
this.textBox11.Name = "textBox11";
|
||||
this.textBox11.Size = new System.Drawing.Size(497, 20);
|
||||
this.textBox11.TabIndex = 27;
|
||||
//
|
||||
// textBox12
|
||||
//
|
||||
this.textBox12.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox12.Location = new System.Drawing.Point(90, 290);
|
||||
this.textBox12.Name = "textBox12";
|
||||
this.textBox12.Size = new System.Drawing.Size(497, 20);
|
||||
this.textBox12.TabIndex = 28;
|
||||
//
|
||||
// textBox13
|
||||
//
|
||||
this.textBox13.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox13.Enabled = false;
|
||||
this.textBox13.Location = new System.Drawing.Point(90, 316);
|
||||
this.textBox13.Name = "textBox13";
|
||||
this.textBox13.Size = new System.Drawing.Size(497, 20);
|
||||
this.textBox13.TabIndex = 29;
|
||||
this.textBox13.Text = "CFC 180";
|
||||
this.textBox13.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// ddlAccelerationUnits
|
||||
//
|
||||
this.ddlAccelerationUnits.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ddlAccelerationUnits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.ddlAccelerationUnits.FormattingEnabled = true;
|
||||
this.ddlAccelerationUnits.Items.AddRange(new object[] {
|
||||
"Nm"});
|
||||
this.ddlAccelerationUnits.Location = new System.Drawing.Point(90, 342);
|
||||
this.ddlAccelerationUnits.Name = "ddlAccelerationUnits";
|
||||
this.ddlAccelerationUnits.Size = new System.Drawing.Size(497, 21);
|
||||
this.ddlAccelerationUnits.TabIndex = 30;
|
||||
//
|
||||
// ddlTime
|
||||
//
|
||||
this.ddlTime.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ddlTime.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.ddlTime.FormattingEnabled = true;
|
||||
this.ddlTime.Items.AddRange(new object[] {
|
||||
"msec",
|
||||
"sec"});
|
||||
this.ddlTime.Location = new System.Drawing.Point(90, 399);
|
||||
this.ddlTime.Name = "ddlTime";
|
||||
this.ddlTime.Size = new System.Drawing.Size(497, 21);
|
||||
this.ddlTime.TabIndex = 31;
|
||||
//
|
||||
// label23
|
||||
//
|
||||
this.label23.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label23.AutoSize = true;
|
||||
this.label23.Location = new System.Drawing.Point(3, 373);
|
||||
this.label23.Name = "label23";
|
||||
this.label23.Size = new System.Drawing.Size(78, 13);
|
||||
this.label23.TabIndex = 32;
|
||||
this.label23.Text = "MCL/PCL/LCL";
|
||||
//
|
||||
// ddlMomentUnits
|
||||
//
|
||||
this.ddlMomentUnits.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ddlMomentUnits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.ddlMomentUnits.FormattingEnabled = true;
|
||||
this.ddlMomentUnits.Items.AddRange(new object[] {
|
||||
"mm"});
|
||||
this.ddlMomentUnits.Location = new System.Drawing.Point(90, 369);
|
||||
this.ddlMomentUnits.Name = "ddlMomentUnits";
|
||||
this.ddlMomentUnits.Size = new System.Drawing.Size(497, 21);
|
||||
this.ddlMomentUnits.TabIndex = 33;
|
||||
//
|
||||
// tableLayoutPanel2
|
||||
//
|
||||
this.tableLayoutPanel2.ColumnCount = 2;
|
||||
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel2.Controls.Add(this.label5, 0, 0);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label9, 0, 1);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label10, 0, 2);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label11, 0, 3);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label12, 0, 4);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label13, 0, 6);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label14, 0, 7);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label15, 0, 8);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label16, 0, 9);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label17, 0, 10);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label18, 0, 11);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label19, 0, 12);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label20, 0, 13);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label21, 0, 14);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label22, 0, 17);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox1, 1, 0);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox2, 1, 1);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox3, 1, 2);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox4, 1, 3);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox5, 1, 4);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox7, 1, 6);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox8, 1, 7);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox9, 1, 8);
|
||||
this.tableLayoutPanel2.Controls.Add(this.ddlDummyType, 1, 9);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox10, 1, 10);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox11, 1, 11);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox12, 1, 12);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox13, 1, 13);
|
||||
this.tableLayoutPanel2.Controls.Add(this.ddlAccelerationUnits, 1, 14);
|
||||
this.tableLayoutPanel2.Controls.Add(this.ddlTime, 1, 17);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label23, 0, 15);
|
||||
this.tableLayoutPanel2.Controls.Add(this.ddlMomentUnits, 1, 15);
|
||||
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
|
||||
this.tableLayoutPanel2.RowCount = 18;
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.Size = new System.Drawing.Size(590, 426);
|
||||
this.tableLayoutPanel2.TabIndex = 11;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(3, 69);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(27, 13);
|
||||
this.label3.TabIndex = 13;
|
||||
this.label3.Text = "Trim";
|
||||
//
|
||||
// Model
|
||||
//
|
||||
this.Model.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.Model.AutoSize = true;
|
||||
this.Model.Location = new System.Drawing.Point(3, 43);
|
||||
this.Model.Name = "Model";
|
||||
this.Model.Size = new System.Drawing.Size(36, 13);
|
||||
this.Model.TabIndex = 12;
|
||||
this.Model.Text = "Model";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(3, 95);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(67, 13);
|
||||
this.label4.TabIndex = 14;
|
||||
this.label4.Text = "Temperature";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(3, 17);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(54, 13);
|
||||
this.label2.TabIndex = 10;
|
||||
this.label2.Text = "Test Date";
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
this.tableLayoutPanel1.ColumnCount = 2;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 0);
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 1;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(200, 100);
|
||||
this.tableLayoutPanel1.TabIndex = 9;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(3, 43);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(68, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Test Number";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(3, 121);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(81, 13);
|
||||
this.label6.TabIndex = 15;
|
||||
this.label6.Text = "Measured Point";
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(3, 173);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(56, 13);
|
||||
this.label8.TabIndex = 17;
|
||||
this.label8.Text = "Dummy ID";
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(3, 147);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(38, 13);
|
||||
this.label7.TabIndex = 16;
|
||||
this.label7.Text = "Speed";
|
||||
//
|
||||
// LWRLegFlex
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.tableLayoutPanel2);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.Model);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Controls.Add(this.label6);
|
||||
this.Controls.Add(this.label8);
|
||||
this.Controls.Add(this.label7);
|
||||
this.Name = "LWRLegFlex";
|
||||
this.Size = new System.Drawing.Size(590, 426);
|
||||
this.tableLayoutPanel2.ResumeLayout(false);
|
||||
this.tableLayoutPanel2.PerformLayout();
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.Label label10;
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.Label label13;
|
||||
private System.Windows.Forms.Label label14;
|
||||
private System.Windows.Forms.Label label15;
|
||||
private System.Windows.Forms.Label label16;
|
||||
private System.Windows.Forms.Label label17;
|
||||
private System.Windows.Forms.Label label18;
|
||||
private System.Windows.Forms.Label label19;
|
||||
private System.Windows.Forms.Label label20;
|
||||
private System.Windows.Forms.Label label21;
|
||||
private System.Windows.Forms.Label label22;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.TextBox textBox2;
|
||||
private System.Windows.Forms.TextBox textBox3;
|
||||
private System.Windows.Forms.TextBox textBox4;
|
||||
private System.Windows.Forms.TextBox textBox5;
|
||||
private System.Windows.Forms.TextBox textBox7;
|
||||
private System.Windows.Forms.TextBox textBox8;
|
||||
private System.Windows.Forms.TextBox textBox9;
|
||||
private System.Windows.Forms.ComboBox ddlDummyType;
|
||||
private System.Windows.Forms.TextBox textBox10;
|
||||
private System.Windows.Forms.TextBox textBox11;
|
||||
private System.Windows.Forms.TextBox textBox12;
|
||||
private System.Windows.Forms.TextBox textBox13;
|
||||
private System.Windows.Forms.ComboBox ddlAccelerationUnits;
|
||||
private System.Windows.Forms.ComboBox ddlTime;
|
||||
private System.Windows.Forms.Label label23;
|
||||
private System.Windows.Forms.ComboBox ddlMomentUnits;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label Model;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.Label label7;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using DTS.Common.Interface;
|
||||
|
||||
namespace PedestrianAndHeadReports
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for PowerAndBatteryView.xaml
|
||||
/// </summary>
|
||||
public partial class HeadReportInputView : IHeadReportInputView
|
||||
{
|
||||
public HeadReportInputView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,452 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace DTS.Slice.PedestrianAndHeadReports
|
||||
{
|
||||
/// <summary>
|
||||
/// this is the base class for all pedestrian and head reports
|
||||
/// it contains all the common items between the reports
|
||||
/// </summary>
|
||||
public abstract class ReportBase : INotifyPropertyChanged
|
||||
{
|
||||
/// <summary>
|
||||
/// these functions make us WPF/dependency property friendly, and also
|
||||
/// adds a convenient way for us to notify consumers when a property has changed
|
||||
/// </summary>
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
protected bool SetProperty<T>(ref T storage, T value, String propertyName)
|
||||
{
|
||||
if (object.Equals(storage, value)) return false;
|
||||
|
||||
storage = value;
|
||||
this.OnPropertyChanged(propertyName);
|
||||
return true;
|
||||
}
|
||||
protected void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
var eventHandler = this.PropertyChanged;
|
||||
if (eventHandler != null)
|
||||
{
|
||||
eventHandler(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
public void SetField(KnownGraphs graph, string channelId, GraphChannel.Fields field, string value)
|
||||
{
|
||||
_graphs[graph.ToString()].GetGraphChannel(channelId).SetValue(field, value);
|
||||
|
||||
DrawGraph(graph);
|
||||
if (graph == KnownGraphs.HEAD_Acceleration)
|
||||
{
|
||||
DrawGraph(KnownGraphs.HEAD_ResultantAcceleration,
|
||||
GetGraph(KnownGraphs.HEAD_ResultantAcceleration.ToString()).Chart);
|
||||
}
|
||||
}
|
||||
public void SetField(KnownGraphs graph, ReportGraph.Fields field, string value)
|
||||
{
|
||||
_graphs[graph.ToString()].SetValue(field, value);
|
||||
}
|
||||
private Dictionary<string, ReportGraph> _graphs = new Dictionary<string, ReportGraph>();
|
||||
protected void AddGraph(ReportGraph graph) { _graphs.Add(graph.Id, graph); graph.PropertyChanged += new PropertyChangedEventHandler(graph_PropertyChanged); }
|
||||
protected ReportGraph GetGraph(string id) { return _graphs[id]; }
|
||||
public string GetValueTrunc2Places(KnownGraphs graph, string id, GraphChannel.Fields field)
|
||||
{
|
||||
return _graphs[graph.ToString()].GetValueTrunc2Places(id, field);
|
||||
}
|
||||
public string GetValue(KnownGraphs graph, string id, GraphChannel.Fields field)
|
||||
{
|
||||
return _graphs[graph.ToString()].GetValue(id, field);
|
||||
}
|
||||
protected void graph_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
ReportGraph graph = sender as ReportGraph;
|
||||
OnPropertyChanged("Graph-x-"+graph.Id + "-x-" + e.PropertyName);
|
||||
}
|
||||
public string GetValue(KnownGraphs graph, ReportGraph.Fields field)
|
||||
{
|
||||
return _graphs[graph.ToString()].GetValue(field);
|
||||
}
|
||||
public virtual void DrawGraph(KnownGraphs graph, C1.Win.C1Chart.C1Chart chart)
|
||||
{
|
||||
DrawGraph(graph.ToString(), chart);
|
||||
}
|
||||
public void DrawGraph(string id, C1.Win.C1Chart.C1Chart chart)
|
||||
{
|
||||
_graphs[id].Draw(chart);
|
||||
}
|
||||
protected void DrawGraph(KnownGraphs graph)
|
||||
{
|
||||
_graphs[graph.ToString()].Draw();
|
||||
}
|
||||
public double[] GetXPlot(KnownGraphs graph, string id)
|
||||
{
|
||||
return _graphs[graph.ToString()].GetXPlot(id);
|
||||
}
|
||||
public double[] GetYPlot(KnownGraphs graph, string id)
|
||||
{
|
||||
return _graphs[graph.ToString()].GetYPlot(id);
|
||||
}
|
||||
public enum KnownGraphs
|
||||
{
|
||||
LWR_LEG_TRL_Acceleration,
|
||||
LWR_LEG_TRL_BendingAngle,
|
||||
LWR_LEG_TRL_ShearAngle,
|
||||
HEAD_ResultantAcceleration,
|
||||
HEAD_Acceleration,
|
||||
HEAD_StrokeDisplacement,
|
||||
ARS_ARS,
|
||||
ARS_Acceleration,
|
||||
FLEX_TIBIA,
|
||||
FLEX_MCL,
|
||||
FLEX_ACLPCL,
|
||||
FLEX_LCL,
|
||||
FLEX_FEMUR,
|
||||
UPRLEG_Force,
|
||||
UPRLeg_Moment,
|
||||
FLEX_CALTibia1,
|
||||
FLEX_CALTibia2,
|
||||
FLEX_CALTibia3,
|
||||
FLEX_CALTibia4,
|
||||
FLEX_CALMCL,
|
||||
FLEX_CALACL,
|
||||
FLEX_CALPCL,
|
||||
LWR_LEG_TRL_BendingDisplacement,
|
||||
LWR_LEG_TRL_ShearDisplacement
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// we maintain a link to the owning test report
|
||||
/// we do this so we can get access to the Test property, which
|
||||
/// contains the information on what event we are actually operating on
|
||||
/// </summary>
|
||||
protected PedestrianAndHeadTest _testParent;
|
||||
public ReportBase(PedestrianAndHeadTest parent)
|
||||
{
|
||||
_testParent = parent;
|
||||
//mostly we just want to be notified if our parent changes tests ...
|
||||
_testParent.PropertyChanged += new PropertyChangedEventHandler(_testParent_PropertyChanged);
|
||||
InitializeProperties();
|
||||
InitializeGraphs();
|
||||
}
|
||||
/// <summary>
|
||||
/// this is function gets called whenever the parent pedestrian and head report changes tests.
|
||||
/// the default base class does nothing, but our descendants are free to do with it as they please
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected virtual void _testParent_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
switch (e.PropertyName)
|
||||
{
|
||||
case "Test":
|
||||
var enumerator = _graphs.GetEnumerator();
|
||||
while (enumerator.MoveNext())
|
||||
{
|
||||
enumerator.Current.Value.Clear(_testParent.Test);
|
||||
}
|
||||
enumerator = _graphs.GetEnumerator();
|
||||
while (enumerator.MoveNext())
|
||||
{
|
||||
enumerator.Current.Value.SetDefaults(_testParent.Test);
|
||||
enumerator.Current.Value.SetCFC(ChannelFilterClass, this);
|
||||
}
|
||||
if (null != _testParent.Test) { SetValue(PedestrianAndHeadTest.Fields.TestDate.ToString(), _testParent.Test.CreationTime.Ticks.ToString()); }
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// list of all properties for the report
|
||||
/// note it's private, so that it forces descendants through the accessor methods where we have more
|
||||
/// control
|
||||
/// </summary>
|
||||
private Dictionary<string, ReportProperty> _properties = new Dictionary<string, ReportProperty>();
|
||||
protected virtual void InitializeProperties()
|
||||
{
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.TestNumber.ToString(), "試験NO", null, typeof(string)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.TestDate.ToString(), "試験実施日", null, typeof(DateTime)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.CarName.ToString(), "車名", null, typeof(string)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.Model.ToString(), "型式", null, typeof(string)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.TestTemperature.ToString(), "試験温度", null, typeof(string)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.MeasurementPoint.ToString(), "測定点", null, typeof(string)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.CollisionSpeed.ToString(), "衝突速度", null, typeof(string)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.ImpactorId.ToString(), "インパクタID", null, typeof(string)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.ImpactorType.ToString(), "インパクタ種類", null, typeof(string)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.ImpactorWeight.ToString(), "インパクタ重量", null, typeof(string)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.StudyPersonnel.ToString(), "試験担当者", null, typeof(string)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.And1.ToString(), "予備1", null, typeof(string)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.And2.ToString(), "予備2", null, typeof(string)));
|
||||
|
||||
List<string> filters = new List<string>();
|
||||
SensorDB.FilterClass.FilterClassType[] filtertypes = Enum.GetValues(typeof(SensorDB.FilterClass.FilterClassType)).Cast<SensorDB.FilterClass.FilterClassType>().ToArray();
|
||||
foreach (var ft in filtertypes)
|
||||
{
|
||||
switch (ft)
|
||||
{
|
||||
case DTS.SensorDB.FilterClass.FilterClassType.AdHoc: break;
|
||||
default: filters.Add((new SensorDB.FilterClass(ft)).ToString()); break;
|
||||
}
|
||||
}
|
||||
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.FrequencyClass.ToString(), "周波数クラス", filters.ToArray(), typeof(string)));
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.TimeUnits.ToString(), "Time", new string[] { "s", "ms" }, typeof(string)));
|
||||
SetValue(PedestrianAndHeadTest.Fields.TimeUnits.ToString(), "s");
|
||||
}
|
||||
protected virtual void InitializeGraphs() { ;}
|
||||
/// <summary>
|
||||
/// sets a value for a property (and notifies any listeners of the change)
|
||||
/// </summary>
|
||||
/// <param name="field"></param>
|
||||
/// <param name="value"></param>
|
||||
public void SetValue(string field, string value)
|
||||
{
|
||||
if (_properties[field].Value == value) { return; }
|
||||
_properties[field].SetValue(value);
|
||||
switch (field)
|
||||
{
|
||||
case "TimeUnits":
|
||||
foreach (var g in _graphs) { g.Value.TimeUnits = value; }
|
||||
break;
|
||||
}
|
||||
OnPropertyChanged(field);
|
||||
}
|
||||
/// <summary>
|
||||
/// returns the value for a property
|
||||
/// </summary>
|
||||
/// <param name="field"></param>
|
||||
/// <returns></returns>
|
||||
public string GetValue(string field)
|
||||
{
|
||||
if (!_properties.ContainsKey(field) || string.IsNullOrEmpty(_properties[field].Value)) { return ""; }
|
||||
else { return _properties[field].Value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// returns all possible values for a property (or null if the user must manually enter a value)
|
||||
/// </summary>
|
||||
/// <param name="field"></param>
|
||||
/// <returns></returns>
|
||||
protected string[] GetPossibleValues(string field) { return _properties[field].GetAvailableValues(); }
|
||||
|
||||
/// <summary>
|
||||
/// sets the possible values for a property
|
||||
/// </summary>
|
||||
/// <param name="field"></param>
|
||||
/// <param name="values"></param>
|
||||
protected void SetPossibleValues(string field, string[] values)
|
||||
{
|
||||
_properties[field].SetAvailableValues(values);
|
||||
if (null != values && values.Length == 1)
|
||||
{
|
||||
_properties[field].SetValue(values[0]);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// adds a new property
|
||||
/// this enables descendants to have their own unique properties
|
||||
/// </summary>
|
||||
/// <param name="p"></param>
|
||||
protected void AddProperty(ReportProperty p) { _properties.Add(p.Id, p); }
|
||||
|
||||
/// <summary>
|
||||
/// the known report types, we can make this more generic in the future?
|
||||
/// maybe just a name?
|
||||
/// </summary>
|
||||
public enum ReportTypes
|
||||
{
|
||||
Head,
|
||||
UPRLeg,
|
||||
LWRLegTRL,
|
||||
LWRLegFlex,
|
||||
LWRLegARS
|
||||
}
|
||||
|
||||
public string GetName()
|
||||
{
|
||||
switch (GetReportType())
|
||||
{
|
||||
case ReportTypes.Head: return "HEAD";
|
||||
case ReportTypes.LWRLegARS: return "LWR LEG(ARS)";
|
||||
case ReportTypes.LWRLegFlex: return "LWR LEG(FLEX)";
|
||||
case ReportTypes.LWRLegTRL: return "LWR LEG(TRL)";
|
||||
case ReportTypes.UPRLeg: return "UPR LEG";
|
||||
}
|
||||
throw new Exception("uknown report type: " + GetReportType().ToString());
|
||||
}
|
||||
public abstract ReportTypes GetReportType();
|
||||
|
||||
/// <summary>
|
||||
/// indicates whether this report is currently in use in the
|
||||
/// pedestrian and head report (selected to export)
|
||||
/// </summary>
|
||||
protected bool _bInUse = false;
|
||||
public bool InUse
|
||||
{
|
||||
get { return _bInUse; }
|
||||
set { SetProperty(ref _bInUse, value, "InUse"); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// all these properties come directly from the Pedestrian and Head Safety report sample xlsx ..
|
||||
/// </summary>
|
||||
public string TestNumber
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.TestNumber.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.TestNumber.ToString(), value); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// this one is the only one that is a little tricky,
|
||||
/// we move to and from longs to avoid globalization issues ...
|
||||
/// </summary>
|
||||
public DateTime TestDate
|
||||
{
|
||||
get { return new DateTime(long.Parse(GetValue(PedestrianAndHeadTest.Fields.TestDate.ToString()))); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.TestDate.ToString(), value.Ticks.ToString()); }
|
||||
}
|
||||
public string CarName
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.CarName.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.CarName.ToString(), value); }
|
||||
}
|
||||
public string Model
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.Model.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.Model.ToString(), value); }
|
||||
}
|
||||
public string TestTemperature
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.TestTemperature.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.TestTemperature.ToString(), value); }
|
||||
}
|
||||
public string MeasurementPoint
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.MeasurementPoint.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.MeasurementPoint.ToString(), value); }
|
||||
}
|
||||
public string CollisionSpeed
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.CollisionSpeed.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.CollisionSpeed.ToString(), value); }
|
||||
}
|
||||
public string ImpactorID
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.ImpactorId.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.ImpactorId.ToString(), value); }
|
||||
}
|
||||
public string ImpactorType
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.ImpactorType.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.ImpactorType.ToString(), value); }
|
||||
}
|
||||
public string StudyPersonnel
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.StudyPersonnel.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.StudyPersonnel.ToString(), value); }
|
||||
}
|
||||
public string And1
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.And1.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.And1.ToString(), value); }
|
||||
}
|
||||
public string And2
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.And2.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.And2.ToString(), value); }
|
||||
}
|
||||
public string[] GetAvailableTimeUnits() { return _properties[PedestrianAndHeadTest.Fields.TimeUnits.ToString()].GetAvailableValues(); }
|
||||
public string TimeUnits
|
||||
{
|
||||
get { return _properties[PedestrianAndHeadTest.Fields.TimeUnits.ToString()].Value; }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.TimeUnits.ToString(), value); }
|
||||
}
|
||||
public string ImpactorWeight
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.ImpactorWeight.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.ImpactorWeight.ToString(), value); }
|
||||
}
|
||||
public virtual string ChannelFilterClass
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.FrequencyClass.ToString()); }
|
||||
set
|
||||
{
|
||||
SetValue(PedestrianAndHeadTest.Fields.FrequencyClass.ToString(), value);
|
||||
var e = _graphs.GetEnumerator();
|
||||
while (e.MoveNext()) { e.Current.Value.SetCFC(value,this); }
|
||||
}
|
||||
}
|
||||
|
||||
public string[] GetImpactorTypes()
|
||||
{
|
||||
return GetPossibleValues(PedestrianAndHeadTest.Fields.ImpactorType.ToString());
|
||||
}
|
||||
public string[] GetAvailableFilterTypes()
|
||||
{
|
||||
return GetPossibleValues(PedestrianAndHeadTest.Fields.FrequencyClass.ToString());
|
||||
}
|
||||
|
||||
public MeasurementUnit GetUnits(KnownGraphs graph)
|
||||
{
|
||||
return GetGraph(graph.ToString()).GetChannelUnit();
|
||||
}
|
||||
public void SetUnits(KnownGraphs graph, MeasurementUnit units)
|
||||
{
|
||||
GetGraph(graph.ToString()).SetChannelUnit(units);
|
||||
DrawGraph(graph, GetGraph(graph.ToString()).Chart);
|
||||
}
|
||||
public MeasurementUnit[] GetAvailableUnits(KnownGraphs graph)
|
||||
{
|
||||
return GetGraph(graph.ToString()).GetChannelUnits();
|
||||
}
|
||||
public ReviewTestChannel GetChannel(KnownGraphs graph, string id)
|
||||
{
|
||||
return GetGraph(graph.ToString()).GetReviewTestChannel(id);
|
||||
}
|
||||
public void SetChannel(KnownGraphs graph, string id, ReviewTestChannel channel)
|
||||
{
|
||||
GetGraph(graph.ToString()).SetReviewTestChannel(id, channel);
|
||||
GetGraph(graph.ToString()).SetCFC(ChannelFilterClass, this);
|
||||
}
|
||||
public ReviewTestChannel[] GetAvailableChannels(KnownGraphs graph, string id)
|
||||
{
|
||||
return GetGraph(graph.ToString()).GetAvailableChannels(id, _testParent.Test);
|
||||
}
|
||||
|
||||
public void ToStringOutput(ref System.Xml.XmlWriter xt)
|
||||
{
|
||||
xt.WriteStartElement("Report");
|
||||
//xt.WriteStartElement("ReportType");
|
||||
xt.WriteElementString("ReportType", GetReportType().ToString());
|
||||
xt.WriteElementString("InUse", InUse.ToString());
|
||||
var e = _properties.GetEnumerator();
|
||||
while (e.MoveNext())
|
||||
{
|
||||
try
|
||||
{
|
||||
PedestrianAndHeadTest.Fields field = (PedestrianAndHeadTest.Fields)Enum.Parse(typeof(PedestrianAndHeadTest.Fields), e.Current.Value.Id);
|
||||
switch (field)
|
||||
{
|
||||
case PedestrianAndHeadTest.Fields.TestNumber:
|
||||
continue;
|
||||
case PedestrianAndHeadTest.Fields.TestDate:
|
||||
continue;
|
||||
case PedestrianAndHeadTest.Fields.TestTemperature:
|
||||
continue;
|
||||
case PedestrianAndHeadTest.Fields.CollisionSpeed:
|
||||
continue;
|
||||
}
|
||||
}
|
||||
catch (System.Exception) { }
|
||||
xt.WriteElementString(e.Current.Value.Id, e.Current.Value.Value);
|
||||
}
|
||||
this.GetReportType();
|
||||
xt.WriteEndElement();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,387 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace PedestrianAndHeadReports.Resources {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class StringResources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal StringResources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PedestrianAndHeadReports.Resources.StringResources", typeof(StringResources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 加速度.
|
||||
/// </summary>
|
||||
internal static string Acceleration {
|
||||
get {
|
||||
return ResourceManager.GetString("Acceleration", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 曲げ角度.
|
||||
/// </summary>
|
||||
internal static string BendingAngle {
|
||||
get {
|
||||
return ResourceManager.GetString("BendingAngle", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 車名.
|
||||
/// </summary>
|
||||
internal static string CarName {
|
||||
get {
|
||||
return ResourceManager.GetString("CarName", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 周波数クラス.
|
||||
/// </summary>
|
||||
internal static string ChannelFrequencyClass {
|
||||
get {
|
||||
return ResourceManager.GetString("ChannelFrequencyClass", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Channels.
|
||||
/// </summary>
|
||||
internal static string Channels {
|
||||
get {
|
||||
return ResourceManager.GetString("Channels", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 衝突速度.
|
||||
/// </summary>
|
||||
internal static string CrashVelocity {
|
||||
get {
|
||||
return ResourceManager.GetString("CrashVelocity", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Displacement.
|
||||
/// </summary>
|
||||
internal static string Displacement {
|
||||
get {
|
||||
return ResourceManager.GetString("Displacement", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 評価部位.
|
||||
/// </summary>
|
||||
internal static string EvaluationSite {
|
||||
get {
|
||||
return ResourceManager.GetString("EvaluationSite", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 試験担当者.
|
||||
/// </summary>
|
||||
internal static string Examiner {
|
||||
get {
|
||||
return ResourceManager.GetString("Examiner", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to インパクタID.
|
||||
/// </summary>
|
||||
internal static string ImpactorID {
|
||||
get {
|
||||
return ResourceManager.GetString("ImpactorID", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to インパクタ種類.
|
||||
/// </summary>
|
||||
internal static string ImpactorType {
|
||||
get {
|
||||
return ResourceManager.GetString("ImpactorType", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to インパクタ重量.
|
||||
/// </summary>
|
||||
internal static string ImpactorWeight {
|
||||
get {
|
||||
return ResourceManager.GetString("ImpactorWeight", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 測定点.
|
||||
/// </summary>
|
||||
internal static string MeasurementPoint {
|
||||
get {
|
||||
return ResourceManager.GetString("MeasurementPoint", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Milliseconds.
|
||||
/// </summary>
|
||||
internal static string Milliseconds {
|
||||
get {
|
||||
return ResourceManager.GetString("Milliseconds", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 型式.
|
||||
/// </summary>
|
||||
internal static string Model {
|
||||
get {
|
||||
return ResourceManager.GetString("Model", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 予備1.
|
||||
/// </summary>
|
||||
internal static string Reserved1 {
|
||||
get {
|
||||
return ResourceManager.GetString("Reserved1", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 予備2.
|
||||
/// </summary>
|
||||
internal static string Reserved2 {
|
||||
get {
|
||||
return ResourceManager.GetString("Reserved2", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Seconds.
|
||||
/// </summary>
|
||||
internal static string Seconds {
|
||||
get {
|
||||
return ResourceManager.GetString("Seconds", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 選択自動表示項目.
|
||||
/// </summary>
|
||||
internal static string SelectionAutomaticDisplayItem {
|
||||
get {
|
||||
return ResourceManager.GetString("SelectionAutomaticDisplayItem", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 選択自動表示項目 周波数クラス.
|
||||
/// </summary>
|
||||
internal static string SelectionAutomaticDisplayItemCFC {
|
||||
get {
|
||||
return ResourceManager.GetString("SelectionAutomaticDisplayItemCFC", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 剪断変位.
|
||||
/// </summary>
|
||||
internal static string ShearAngle {
|
||||
get {
|
||||
return ResourceManager.GetString("ShearAngle", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 剪断変位.
|
||||
/// </summary>
|
||||
internal static string ShearDisplacement {
|
||||
get {
|
||||
return ResourceManager.GetString("ShearDisplacement", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Test information.
|
||||
/// </summary>
|
||||
internal static string Test_Info {
|
||||
get {
|
||||
return ResourceManager.GetString("Test_Info", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 試験分類(角度).
|
||||
/// </summary>
|
||||
internal static string TestClassificationAngle {
|
||||
get {
|
||||
return ResourceManager.GetString("TestClassificationAngle", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 検定内容.
|
||||
/// </summary>
|
||||
internal static string TestContents {
|
||||
get {
|
||||
return ResourceManager.GetString("TestContents", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 試験実施日.
|
||||
/// </summary>
|
||||
internal static string TestDate {
|
||||
get {
|
||||
return ResourceManager.GetString("TestDate", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 試験NO.
|
||||
/// </summary>
|
||||
internal static string TestNumber {
|
||||
get {
|
||||
return ResourceManager.GetString("TestNumber", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 試験温度.
|
||||
/// </summary>
|
||||
internal static string TestTemperature {
|
||||
get {
|
||||
return ResourceManager.GetString("TestTemperature", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Time.
|
||||
/// </summary>
|
||||
internal static string Time {
|
||||
get {
|
||||
return ResourceManager.GetString("Time", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Milliseconds.
|
||||
/// </summary>
|
||||
internal static string TimeUnit_MilliSeconds {
|
||||
get {
|
||||
return ResourceManager.GetString("TimeUnit_MilliSeconds", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Seconds.
|
||||
/// </summary>
|
||||
internal static string TimeUnit_Seconds {
|
||||
get {
|
||||
return ResourceManager.GetString("TimeUnit_Seconds", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to 種類.
|
||||
/// </summary>
|
||||
internal static string type {
|
||||
get {
|
||||
return ResourceManager.GetString("type", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Units.
|
||||
/// </summary>
|
||||
internal static string Units {
|
||||
get {
|
||||
return ResourceManager.GetString("Units", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to X.
|
||||
/// </summary>
|
||||
internal static string X {
|
||||
get {
|
||||
return ResourceManager.GetString("X", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Y.
|
||||
/// </summary>
|
||||
internal static string Y {
|
||||
get {
|
||||
return ResourceManager.GetString("Y", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Z.
|
||||
/// </summary>
|
||||
internal static string Z {
|
||||
get {
|
||||
return ResourceManager.GetString("Z", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DTS.Slice.Controls
|
||||
{
|
||||
public partial class LWRLegFlex : UserControl
|
||||
{
|
||||
public LWRLegFlex()
|
||||
{
|
||||
InitializeComponent();
|
||||
ddlAccelerationUnits.SelectedIndex = 0;
|
||||
ddlDummyType.SelectedIndex = 0;
|
||||
ddlMomentUnits.SelectedIndex = 0;
|
||||
ddlTime.SelectedIndex = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,29 @@
|
||||
<base:BaseView x:Class="PedestrianAndHeadReports.HeadReportOutputView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:root="clr-namespace:PedestrianAndHeadReports.Resources"
|
||||
xmlns:base="clr-namespace:DTS.Common.Base;assembly=DTS.Common"
|
||||
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
|
||||
<base:BaseView.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Themes/CommonStyles.xaml"/>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource PageContentTextStyle}" >
|
||||
<Setter Property="VerticalAlignment" Value="Top"/>
|
||||
<Setter Property="HorizontalAlignment" Value="Left"/>
|
||||
<Setter Property="Margin" Value="5" />
|
||||
</Style>
|
||||
<Style TargetType="TextBox">
|
||||
<Setter Property="Margin" Value="5" />
|
||||
</Style>
|
||||
<Style TargetType="Button">
|
||||
<Setter Property="Margin" Value="5" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
</base:BaseView.Resources>
|
||||
<Grid>
|
||||
|
||||
</Grid>
|
||||
</base:BaseView>
|
||||
@@ -0,0 +1,629 @@
|
||||
namespace DTS.Slice.Controls
|
||||
{
|
||||
partial class LWRLegPLI
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.Model = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.label13 = new System.Windows.Forms.Label();
|
||||
this.label14 = new System.Windows.Forms.Label();
|
||||
this.label15 = new System.Windows.Forms.Label();
|
||||
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.label16 = new System.Windows.Forms.Label();
|
||||
this.label17 = new System.Windows.Forms.Label();
|
||||
this.label18 = new System.Windows.Forms.Label();
|
||||
this.label19 = new System.Windows.Forms.Label();
|
||||
this.label20 = new System.Windows.Forms.Label();
|
||||
this.label21 = new System.Windows.Forms.Label();
|
||||
this.label22 = new System.Windows.Forms.Label();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.textBox2 = new System.Windows.Forms.TextBox();
|
||||
this.textBox3 = new System.Windows.Forms.TextBox();
|
||||
this.textBox4 = new System.Windows.Forms.TextBox();
|
||||
this.textBox5 = new System.Windows.Forms.TextBox();
|
||||
this.textBox7 = new System.Windows.Forms.TextBox();
|
||||
this.textBox8 = new System.Windows.Forms.TextBox();
|
||||
this.textBox9 = new System.Windows.Forms.TextBox();
|
||||
this.ddlDummyType = new System.Windows.Forms.ComboBox();
|
||||
this.textBox10 = new System.Windows.Forms.TextBox();
|
||||
this.textBox11 = new System.Windows.Forms.TextBox();
|
||||
this.textBox12 = new System.Windows.Forms.TextBox();
|
||||
this.textBox13 = new System.Windows.Forms.TextBox();
|
||||
this.ddlAccelerationUnits = new System.Windows.Forms.ComboBox();
|
||||
this.ddlTime = new System.Windows.Forms.ComboBox();
|
||||
this.label23 = new System.Windows.Forms.Label();
|
||||
this.ddlMomentUnits = new System.Windows.Forms.ComboBox();
|
||||
this.label24 = new System.Windows.Forms.Label();
|
||||
this.ddlShearDisp = new System.Windows.Forms.ComboBox();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.tableLayoutPanel2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(3, 43);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(68, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Test Number";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(3, 32);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(54, 13);
|
||||
this.label2.TabIndex = 1;
|
||||
this.label2.Text = "Test Date";
|
||||
//
|
||||
// Model
|
||||
//
|
||||
this.Model.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.Model.AutoSize = true;
|
||||
this.Model.Location = new System.Drawing.Point(3, 58);
|
||||
this.Model.Name = "Model";
|
||||
this.Model.Size = new System.Drawing.Size(36, 13);
|
||||
this.Model.TabIndex = 2;
|
||||
this.Model.Text = "Model";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(3, 84);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(27, 13);
|
||||
this.label3.TabIndex = 3;
|
||||
this.label3.Text = "Trim";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(3, 110);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(67, 13);
|
||||
this.label4.TabIndex = 4;
|
||||
this.label4.Text = "Temperature";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(3, 136);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(81, 13);
|
||||
this.label6.TabIndex = 6;
|
||||
this.label6.Text = "Measured Point";
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(3, 162);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(38, 13);
|
||||
this.label7.TabIndex = 7;
|
||||
this.label7.Text = "Speed";
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(3, 188);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(56, 13);
|
||||
this.label8.TabIndex = 8;
|
||||
this.label8.Text = "Dummy ID";
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
this.tableLayoutPanel1.ColumnCount = 2;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 0);
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 1;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(200, 100);
|
||||
this.tableLayoutPanel1.TabIndex = 0;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(3, 6);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(68, 13);
|
||||
this.label5.TabIndex = 0;
|
||||
this.label5.Text = "Test Number";
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(3, 32);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(54, 13);
|
||||
this.label9.TabIndex = 1;
|
||||
this.label9.Text = "Test Date";
|
||||
//
|
||||
// label10
|
||||
//
|
||||
this.label10.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Location = new System.Drawing.Point(3, 58);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(36, 13);
|
||||
this.label10.TabIndex = 2;
|
||||
this.label10.Text = "Model";
|
||||
//
|
||||
// label11
|
||||
//
|
||||
this.label11.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label11.AutoSize = true;
|
||||
this.label11.Location = new System.Drawing.Point(3, 84);
|
||||
this.label11.Name = "label11";
|
||||
this.label11.Size = new System.Drawing.Size(27, 13);
|
||||
this.label11.TabIndex = 3;
|
||||
this.label11.Text = "Trim";
|
||||
//
|
||||
// label12
|
||||
//
|
||||
this.label12.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label12.AutoSize = true;
|
||||
this.label12.Location = new System.Drawing.Point(3, 110);
|
||||
this.label12.Name = "label12";
|
||||
this.label12.Size = new System.Drawing.Size(67, 13);
|
||||
this.label12.TabIndex = 4;
|
||||
this.label12.Text = "Temperature";
|
||||
//
|
||||
// label13
|
||||
//
|
||||
this.label13.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label13.AutoSize = true;
|
||||
this.label13.Location = new System.Drawing.Point(3, 136);
|
||||
this.label13.Name = "label13";
|
||||
this.label13.Size = new System.Drawing.Size(81, 13);
|
||||
this.label13.TabIndex = 6;
|
||||
this.label13.Text = "Measured Point";
|
||||
//
|
||||
// label14
|
||||
//
|
||||
this.label14.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label14.AutoSize = true;
|
||||
this.label14.Location = new System.Drawing.Point(3, 162);
|
||||
this.label14.Name = "label14";
|
||||
this.label14.Size = new System.Drawing.Size(38, 13);
|
||||
this.label14.TabIndex = 7;
|
||||
this.label14.Text = "Speed";
|
||||
//
|
||||
// label15
|
||||
//
|
||||
this.label15.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label15.AutoSize = true;
|
||||
this.label15.Location = new System.Drawing.Point(3, 188);
|
||||
this.label15.Name = "label15";
|
||||
this.label15.Size = new System.Drawing.Size(56, 13);
|
||||
this.label15.TabIndex = 8;
|
||||
this.label15.Text = "Dummy ID";
|
||||
//
|
||||
// tableLayoutPanel2
|
||||
//
|
||||
this.tableLayoutPanel2.ColumnCount = 2;
|
||||
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel2.Controls.Add(this.label5, 0, 0);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label9, 0, 1);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label10, 0, 2);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label11, 0, 3);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label12, 0, 4);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label13, 0, 6);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label14, 0, 7);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label15, 0, 8);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label16, 0, 9);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label17, 0, 10);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label18, 0, 11);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label19, 0, 12);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label20, 0, 13);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label21, 0, 14);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label22, 0, 17);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox1, 1, 0);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox2, 1, 1);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox3, 1, 2);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox4, 1, 3);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox5, 1, 4);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox7, 1, 6);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox8, 1, 7);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox9, 1, 8);
|
||||
this.tableLayoutPanel2.Controls.Add(this.ddlDummyType, 1, 9);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox10, 1, 10);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox11, 1, 11);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox12, 1, 12);
|
||||
this.tableLayoutPanel2.Controls.Add(this.textBox13, 1, 13);
|
||||
this.tableLayoutPanel2.Controls.Add(this.ddlAccelerationUnits, 1, 14);
|
||||
this.tableLayoutPanel2.Controls.Add(this.ddlTime, 1, 17);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label23, 0, 15);
|
||||
this.tableLayoutPanel2.Controls.Add(this.ddlMomentUnits, 1, 15);
|
||||
this.tableLayoutPanel2.Controls.Add(this.label24, 0, 16);
|
||||
this.tableLayoutPanel2.Controls.Add(this.ddlShearDisp, 1, 16);
|
||||
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
|
||||
this.tableLayoutPanel2.RowCount = 18;
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel2.Size = new System.Drawing.Size(590, 456);
|
||||
this.tableLayoutPanel2.TabIndex = 2;
|
||||
//
|
||||
// label16
|
||||
//
|
||||
this.label16.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label16.AutoSize = true;
|
||||
this.label16.Location = new System.Drawing.Point(3, 215);
|
||||
this.label16.Name = "label16";
|
||||
this.label16.Size = new System.Drawing.Size(69, 13);
|
||||
this.label16.TabIndex = 9;
|
||||
this.label16.Text = "Dummy Type";
|
||||
//
|
||||
// label17
|
||||
//
|
||||
this.label17.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label17.AutoSize = true;
|
||||
this.label17.Location = new System.Drawing.Point(3, 241);
|
||||
this.label17.Name = "label17";
|
||||
this.label17.Size = new System.Drawing.Size(35, 13);
|
||||
this.label17.TabIndex = 10;
|
||||
this.label17.Text = "Name";
|
||||
//
|
||||
// label18
|
||||
//
|
||||
this.label18.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label18.AutoSize = true;
|
||||
this.label18.Location = new System.Drawing.Point(3, 267);
|
||||
this.label18.Name = "label18";
|
||||
this.label18.Size = new System.Drawing.Size(60, 13);
|
||||
this.label18.TabIndex = 11;
|
||||
this.label18.Text = "Comment 1";
|
||||
//
|
||||
// label19
|
||||
//
|
||||
this.label19.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label19.AutoSize = true;
|
||||
this.label19.Location = new System.Drawing.Point(3, 293);
|
||||
this.label19.Name = "label19";
|
||||
this.label19.Size = new System.Drawing.Size(60, 13);
|
||||
this.label19.TabIndex = 12;
|
||||
this.label19.Text = "Comment 2";
|
||||
//
|
||||
// label20
|
||||
//
|
||||
this.label20.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label20.AutoSize = true;
|
||||
this.label20.Location = new System.Drawing.Point(3, 319);
|
||||
this.label20.Name = "label20";
|
||||
this.label20.Size = new System.Drawing.Size(29, 13);
|
||||
this.label20.TabIndex = 13;
|
||||
this.label20.Text = "Filter";
|
||||
//
|
||||
// label21
|
||||
//
|
||||
this.label21.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label21.AutoSize = true;
|
||||
this.label21.Location = new System.Drawing.Point(3, 346);
|
||||
this.label21.Name = "label21";
|
||||
this.label21.Size = new System.Drawing.Size(93, 13);
|
||||
this.label21.TabIndex = 14;
|
||||
this.label21.Text = "Acceleration Units";
|
||||
//
|
||||
// label22
|
||||
//
|
||||
this.label22.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label22.AutoSize = true;
|
||||
this.label22.Location = new System.Drawing.Point(3, 431);
|
||||
this.label22.Name = "label22";
|
||||
this.label22.Size = new System.Drawing.Size(30, 13);
|
||||
this.label22.TabIndex = 15;
|
||||
this.label22.Text = "Time";
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox1.Location = new System.Drawing.Point(102, 3);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(485, 20);
|
||||
this.textBox1.TabIndex = 16;
|
||||
//
|
||||
// textBox2
|
||||
//
|
||||
this.textBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox2.Location = new System.Drawing.Point(102, 29);
|
||||
this.textBox2.Name = "textBox2";
|
||||
this.textBox2.Size = new System.Drawing.Size(485, 20);
|
||||
this.textBox2.TabIndex = 17;
|
||||
//
|
||||
// textBox3
|
||||
//
|
||||
this.textBox3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox3.Location = new System.Drawing.Point(102, 55);
|
||||
this.textBox3.Name = "textBox3";
|
||||
this.textBox3.Size = new System.Drawing.Size(485, 20);
|
||||
this.textBox3.TabIndex = 18;
|
||||
//
|
||||
// textBox4
|
||||
//
|
||||
this.textBox4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox4.Location = new System.Drawing.Point(102, 81);
|
||||
this.textBox4.Name = "textBox4";
|
||||
this.textBox4.Size = new System.Drawing.Size(485, 20);
|
||||
this.textBox4.TabIndex = 19;
|
||||
//
|
||||
// textBox5
|
||||
//
|
||||
this.textBox5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox5.Location = new System.Drawing.Point(102, 107);
|
||||
this.textBox5.Name = "textBox5";
|
||||
this.textBox5.Size = new System.Drawing.Size(485, 20);
|
||||
this.textBox5.TabIndex = 20;
|
||||
//
|
||||
// textBox7
|
||||
//
|
||||
this.textBox7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox7.Location = new System.Drawing.Point(102, 133);
|
||||
this.textBox7.Name = "textBox7";
|
||||
this.textBox7.Size = new System.Drawing.Size(485, 20);
|
||||
this.textBox7.TabIndex = 22;
|
||||
//
|
||||
// textBox8
|
||||
//
|
||||
this.textBox8.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox8.Location = new System.Drawing.Point(102, 159);
|
||||
this.textBox8.Name = "textBox8";
|
||||
this.textBox8.Size = new System.Drawing.Size(485, 20);
|
||||
this.textBox8.TabIndex = 23;
|
||||
//
|
||||
// textBox9
|
||||
//
|
||||
this.textBox9.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox9.Location = new System.Drawing.Point(102, 185);
|
||||
this.textBox9.Name = "textBox9";
|
||||
this.textBox9.Size = new System.Drawing.Size(485, 20);
|
||||
this.textBox9.TabIndex = 24;
|
||||
//
|
||||
// ddlDummyType
|
||||
//
|
||||
this.ddlDummyType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ddlDummyType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.ddlDummyType.FormattingEnabled = true;
|
||||
this.ddlDummyType.Items.AddRange(new object[] {
|
||||
"E-PLI"});
|
||||
this.ddlDummyType.Location = new System.Drawing.Point(102, 211);
|
||||
this.ddlDummyType.Name = "ddlDummyType";
|
||||
this.ddlDummyType.Size = new System.Drawing.Size(485, 21);
|
||||
this.ddlDummyType.TabIndex = 25;
|
||||
//
|
||||
// textBox10
|
||||
//
|
||||
this.textBox10.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox10.Location = new System.Drawing.Point(102, 238);
|
||||
this.textBox10.Name = "textBox10";
|
||||
this.textBox10.Size = new System.Drawing.Size(485, 20);
|
||||
this.textBox10.TabIndex = 26;
|
||||
//
|
||||
// textBox11
|
||||
//
|
||||
this.textBox11.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox11.Location = new System.Drawing.Point(102, 264);
|
||||
this.textBox11.Name = "textBox11";
|
||||
this.textBox11.Size = new System.Drawing.Size(485, 20);
|
||||
this.textBox11.TabIndex = 27;
|
||||
//
|
||||
// textBox12
|
||||
//
|
||||
this.textBox12.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox12.Location = new System.Drawing.Point(102, 290);
|
||||
this.textBox12.Name = "textBox12";
|
||||
this.textBox12.Size = new System.Drawing.Size(485, 20);
|
||||
this.textBox12.TabIndex = 28;
|
||||
//
|
||||
// textBox13
|
||||
//
|
||||
this.textBox13.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox13.Enabled = false;
|
||||
this.textBox13.Location = new System.Drawing.Point(102, 316);
|
||||
this.textBox13.Name = "textBox13";
|
||||
this.textBox13.Size = new System.Drawing.Size(485, 20);
|
||||
this.textBox13.TabIndex = 29;
|
||||
this.textBox13.Text = "CFC 180";
|
||||
this.textBox13.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// ddlAccelerationUnits
|
||||
//
|
||||
this.ddlAccelerationUnits.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ddlAccelerationUnits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.ddlAccelerationUnits.FormattingEnabled = true;
|
||||
this.ddlAccelerationUnits.Items.AddRange(new object[] {
|
||||
"m/sec^2",
|
||||
"G"});
|
||||
this.ddlAccelerationUnits.Location = new System.Drawing.Point(102, 342);
|
||||
this.ddlAccelerationUnits.Name = "ddlAccelerationUnits";
|
||||
this.ddlAccelerationUnits.Size = new System.Drawing.Size(485, 21);
|
||||
this.ddlAccelerationUnits.TabIndex = 30;
|
||||
//
|
||||
// ddlTime
|
||||
//
|
||||
this.ddlTime.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ddlTime.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.ddlTime.FormattingEnabled = true;
|
||||
this.ddlTime.Items.AddRange(new object[] {
|
||||
"msec",
|
||||
"sec"});
|
||||
this.ddlTime.Location = new System.Drawing.Point(102, 427);
|
||||
this.ddlTime.Name = "ddlTime";
|
||||
this.ddlTime.Size = new System.Drawing.Size(485, 21);
|
||||
this.ddlTime.TabIndex = 31;
|
||||
//
|
||||
// label23
|
||||
//
|
||||
this.label23.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label23.AutoSize = true;
|
||||
this.label23.Location = new System.Drawing.Point(3, 373);
|
||||
this.label23.Name = "label23";
|
||||
this.label23.Size = new System.Drawing.Size(87, 13);
|
||||
this.label23.TabIndex = 32;
|
||||
this.label23.Text = "Bending Moment";
|
||||
//
|
||||
// ddlMomentUnits
|
||||
//
|
||||
this.ddlMomentUnits.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ddlMomentUnits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.ddlMomentUnits.FormattingEnabled = true;
|
||||
this.ddlMomentUnits.Items.AddRange(new object[] {
|
||||
"Nm"});
|
||||
this.ddlMomentUnits.Location = new System.Drawing.Point(102, 369);
|
||||
this.ddlMomentUnits.Name = "ddlMomentUnits";
|
||||
this.ddlMomentUnits.Size = new System.Drawing.Size(485, 21);
|
||||
this.ddlMomentUnits.TabIndex = 33;
|
||||
//
|
||||
// label24
|
||||
//
|
||||
this.label24.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label24.AutoSize = true;
|
||||
this.label24.Location = new System.Drawing.Point(3, 400);
|
||||
this.label24.Name = "label24";
|
||||
this.label24.Size = new System.Drawing.Size(59, 13);
|
||||
this.label24.TabIndex = 34;
|
||||
this.label24.Text = "Shear Disp";
|
||||
//
|
||||
// ddlShearDisp
|
||||
//
|
||||
this.ddlShearDisp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ddlShearDisp.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.ddlShearDisp.FormattingEnabled = true;
|
||||
this.ddlShearDisp.Items.AddRange(new object[] {
|
||||
"mm"});
|
||||
this.ddlShearDisp.Location = new System.Drawing.Point(102, 396);
|
||||
this.ddlShearDisp.Name = "ddlShearDisp";
|
||||
this.ddlShearDisp.Size = new System.Drawing.Size(485, 21);
|
||||
this.ddlShearDisp.TabIndex = 35;
|
||||
//
|
||||
// LWRLegPLI
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.tableLayoutPanel2);
|
||||
this.Name = "LWRLegPLI";
|
||||
this.Size = new System.Drawing.Size(590, 456);
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
this.tableLayoutPanel2.ResumeLayout(false);
|
||||
this.tableLayoutPanel2.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label Model;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.Label label10;
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.Label label13;
|
||||
private System.Windows.Forms.Label label14;
|
||||
private System.Windows.Forms.Label label15;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
|
||||
private System.Windows.Forms.Label label16;
|
||||
private System.Windows.Forms.Label label17;
|
||||
private System.Windows.Forms.Label label18;
|
||||
private System.Windows.Forms.Label label19;
|
||||
private System.Windows.Forms.Label label20;
|
||||
private System.Windows.Forms.Label label21;
|
||||
private System.Windows.Forms.Label label22;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.TextBox textBox2;
|
||||
private System.Windows.Forms.TextBox textBox3;
|
||||
private System.Windows.Forms.TextBox textBox4;
|
||||
private System.Windows.Forms.TextBox textBox5;
|
||||
private System.Windows.Forms.TextBox textBox7;
|
||||
private System.Windows.Forms.TextBox textBox8;
|
||||
private System.Windows.Forms.TextBox textBox9;
|
||||
private System.Windows.Forms.ComboBox ddlDummyType;
|
||||
private System.Windows.Forms.TextBox textBox10;
|
||||
private System.Windows.Forms.TextBox textBox11;
|
||||
private System.Windows.Forms.TextBox textBox12;
|
||||
private System.Windows.Forms.TextBox textBox13;
|
||||
private System.Windows.Forms.ComboBox ddlAccelerationUnits;
|
||||
private System.Windows.Forms.ComboBox ddlTime;
|
||||
private System.Windows.Forms.Label label23;
|
||||
private System.Windows.Forms.ComboBox ddlMomentUnits;
|
||||
private System.Windows.Forms.Label label24;
|
||||
private System.Windows.Forms.ComboBox ddlShearDisp;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace DTS.Slice.PedestrianAndHeadReports
|
||||
{
|
||||
/// <summary>
|
||||
/// this is a helper class for internal information in the report
|
||||
/// mostly these are just filled in information by the end user before producing the report
|
||||
/// </summary>
|
||||
public class ReportProperty
|
||||
{
|
||||
/// <summary>
|
||||
/// id, should be unique, this way if the report is serialized as a setup we have a handy way of identifying properties and values ...
|
||||
/// in practice in the Pedestrian and Head report this is the Field enum, as all our properties are fields
|
||||
/// </summary>
|
||||
protected string _Id;
|
||||
public string Id { get { return _Id; } }
|
||||
|
||||
/// <summary>
|
||||
/// what to display the property as, if it's displayed
|
||||
/// </summary>
|
||||
private string _displayName;
|
||||
public string DisplayName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// property value
|
||||
/// </summary>
|
||||
private string _value;
|
||||
public string Value
|
||||
{
|
||||
get { return _value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// sets the value of the property
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
public void SetValue(string value)
|
||||
{
|
||||
_value = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// the possible values for the property.
|
||||
/// null if the value is enterred by end user, or a list of values if a drop down is used
|
||||
/// </summary>
|
||||
private string[] _possibleValues;
|
||||
|
||||
/// <summary>
|
||||
/// returns all the possible values for a property.
|
||||
/// null if value is enterred manually by enduser, or a list of strings if user selects from a list
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string[] GetAvailableValues() { return _possibleValues; }
|
||||
|
||||
/// <summary>
|
||||
/// sets the possible values for a property
|
||||
/// </summary>
|
||||
/// <param name="values"></param>
|
||||
public void SetAvailableValues(string[] values) { _possibleValues = values; }
|
||||
|
||||
/// <summary>
|
||||
/// constructs a report property with a given name, display, and values
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="displayname"></param>
|
||||
/// <param name="possibleValues"></param>
|
||||
/// <param name="propertyType"></param>
|
||||
public ReportProperty(string id, string displayname, string[] possibleValues, Type propertyType)
|
||||
{
|
||||
_Id = id;
|
||||
_possibleValues = possibleValues;
|
||||
_displayName = displayname;
|
||||
_type = propertyType;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// the System.Type of the property value
|
||||
/// the value must be serializable as string, but this indicates what the value actually is natively
|
||||
/// </summary>
|
||||
private Type _type;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.ComponentModel;
|
||||
using DTS.Slice.PedestrianAndHeadReports;
|
||||
|
||||
namespace DTS.Slice.Controls
|
||||
{
|
||||
public partial class PedestrianSetupTab : C1.Win.C1Command.C1DockingTabPage, INotifyPropertyChanged
|
||||
{
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
private LWRLegReportExport _UI;
|
||||
public LWRLegReportExport UI
|
||||
{
|
||||
get { return _UI; }
|
||||
set { _UI = value; }
|
||||
}
|
||||
|
||||
protected bool SetProperty<T>(ref T storage, T value, String propertyName)
|
||||
{
|
||||
if (object.Equals(storage, value)) return false;
|
||||
|
||||
storage = value;
|
||||
this.OnPropertyChanged(propertyName);
|
||||
return true;
|
||||
}
|
||||
protected void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
var eventHandler = this.PropertyChanged;
|
||||
if (eventHandler != null)
|
||||
{
|
||||
eventHandler(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
|
||||
public PedestrianSetupTab()
|
||||
{
|
||||
}
|
||||
private ReportBase _reportBase;
|
||||
public ReportBase ReportBase
|
||||
{
|
||||
get{ return _reportBase;}
|
||||
set
|
||||
{
|
||||
if (null == value) { return; }
|
||||
if (null != _reportBase) { throw new NotSupportedException(); }
|
||||
SetProperty(ref _reportBase, value, "ReportBase");
|
||||
ReportBase.PropertyChanged += new PropertyChangedEventHandler(ReportBase_PropertyChanged);
|
||||
}
|
||||
}
|
||||
|
||||
void ReportBase_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (null != UI) { UI.PropertyChanged(_reportBase.GetReportType(), e.PropertyName); }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<base:BaseView x:Class="PedestrianAndHeadReports.TRLReportOutputView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:root="clr-namespace:PedestrianAndHeadReports.Resources"
|
||||
xmlns:base="clr-namespace:DTS.Common.Base;assembly=DTS.Common"
|
||||
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
|
||||
<base:BaseView.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Themes/CommonStyles.xaml"/>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource PageContentTextStyle}" >
|
||||
<Setter Property="VerticalAlignment" Value="Top"/>
|
||||
<Setter Property="HorizontalAlignment" Value="Left"/>
|
||||
<Setter Property="Margin" Value="5" />
|
||||
</Style>
|
||||
<Style TargetType="TextBox">
|
||||
<Setter Property="Margin" Value="5" />
|
||||
</Style>
|
||||
<Style TargetType="Button">
|
||||
<Setter Property="Margin" Value="5" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
</base:BaseView.Resources>
|
||||
<Grid>
|
||||
|
||||
</Grid>
|
||||
</base:BaseView>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,228 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Acceleration" xml:space="preserve">
|
||||
<value>加速度</value>
|
||||
</data>
|
||||
<data name="CarName" xml:space="preserve">
|
||||
<value>車名</value>
|
||||
</data>
|
||||
<data name="ChannelFrequencyClass" xml:space="preserve">
|
||||
<value>周波数クラス</value>
|
||||
</data>
|
||||
<data name="Channels" xml:space="preserve">
|
||||
<value>Channels</value>
|
||||
</data>
|
||||
<data name="CrashVelocity" xml:space="preserve">
|
||||
<value>衝突速度</value>
|
||||
</data>
|
||||
<data name="Displacement" xml:space="preserve">
|
||||
<value>Displacement</value>
|
||||
</data>
|
||||
<data name="EvaluationSite" xml:space="preserve">
|
||||
<value>評価部位</value>
|
||||
</data>
|
||||
<data name="Examiner" xml:space="preserve">
|
||||
<value>試験担当者</value>
|
||||
</data>
|
||||
<data name="ImpactorID" xml:space="preserve">
|
||||
<value>インパクタID</value>
|
||||
</data>
|
||||
<data name="ImpactorType" xml:space="preserve">
|
||||
<value>インパクタ種類</value>
|
||||
</data>
|
||||
<data name="ImpactorWeight" xml:space="preserve">
|
||||
<value>インパクタ重量</value>
|
||||
</data>
|
||||
<data name="MeasurementPoint" xml:space="preserve">
|
||||
<value>測定点</value>
|
||||
</data>
|
||||
<data name="Milliseconds" xml:space="preserve">
|
||||
<value>Milliseconds</value>
|
||||
</data>
|
||||
<data name="Model" xml:space="preserve">
|
||||
<value>型式</value>
|
||||
</data>
|
||||
<data name="Reserved1" xml:space="preserve">
|
||||
<value>予備1</value>
|
||||
</data>
|
||||
<data name="Reserved2" xml:space="preserve">
|
||||
<value>予備2</value>
|
||||
</data>
|
||||
<data name="Seconds" xml:space="preserve">
|
||||
<value>Seconds</value>
|
||||
</data>
|
||||
<data name="SelectionAutomaticDisplayItem" xml:space="preserve">
|
||||
<value>選択自動表示項目</value>
|
||||
</data>
|
||||
<data name="SelectionAutomaticDisplayItemCFC" xml:space="preserve">
|
||||
<value>選択自動表示項目 周波数クラス</value>
|
||||
</data>
|
||||
<data name="TestClassificationAngle" xml:space="preserve">
|
||||
<value>試験分類(角度)</value>
|
||||
</data>
|
||||
<data name="TestDate" xml:space="preserve">
|
||||
<value>試験実施日</value>
|
||||
</data>
|
||||
<data name="TestNumber" xml:space="preserve">
|
||||
<value>試験NO</value>
|
||||
</data>
|
||||
<data name="TestTemperature" xml:space="preserve">
|
||||
<value>試験温度</value>
|
||||
</data>
|
||||
<data name="Test_Info" xml:space="preserve">
|
||||
<value>Test information</value>
|
||||
</data>
|
||||
<data name="Time" xml:space="preserve">
|
||||
<value>Time</value>
|
||||
</data>
|
||||
<data name="type" xml:space="preserve">
|
||||
<value>種類</value>
|
||||
</data>
|
||||
<data name="Units" xml:space="preserve">
|
||||
<value>Units</value>
|
||||
</data>
|
||||
<data name="X" xml:space="preserve">
|
||||
<value>X</value>
|
||||
</data>
|
||||
<data name="Y" xml:space="preserve">
|
||||
<value>Y</value>
|
||||
</data>
|
||||
<data name="Z" xml:space="preserve">
|
||||
<value>Z</value>
|
||||
</data>
|
||||
<data name="BendingAngle" xml:space="preserve">
|
||||
<value>曲げ角度</value>
|
||||
</data>
|
||||
<data name="ShearAngle" xml:space="preserve">
|
||||
<value>剪断変位</value>
|
||||
</data>
|
||||
<data name="ShearDisplacement" xml:space="preserve">
|
||||
<value>剪断変位</value>
|
||||
</data>
|
||||
<data name="TestContents" xml:space="preserve">
|
||||
<value>検定内容</value>
|
||||
</data>
|
||||
<data name="TimeUnit_MilliSeconds" xml:space="preserve">
|
||||
<value>Milliseconds</value>
|
||||
</data>
|
||||
<data name="TimeUnit_Seconds" xml:space="preserve">
|
||||
<value>Seconds</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -0,0 +1,46 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace DTS.Slice.PedestrianAndHeadReports
|
||||
{
|
||||
public class LWRLegARSReport : ReportBase
|
||||
{
|
||||
public LWRLegARSReport(PedestrianAndHeadTest parent) : base(parent) { }
|
||||
|
||||
public override ReportTypes GetReportType()
|
||||
{
|
||||
return ReportTypes.LWRLegARS;
|
||||
}
|
||||
public const string XAxialChannelId = "ARSXAxial";
|
||||
public const string YAxialChannelId = "ARSYAxial";
|
||||
public const string ZAxialChannelId = "ARSZAxial";
|
||||
public const string XAccelerationId = "ARSXAccel";
|
||||
protected override void InitializeGraphs()
|
||||
{
|
||||
base.InitializeGraphs();
|
||||
AddGraph(new ReportGraph(KnownGraphs.ARS_ARS.ToString(), "Angular rate sensor", new MeasurementUnit []
|
||||
{MeasurementUnitList.GetMeasurementUnit("deg/sec")}
|
||||
, new GraphChannel[]{
|
||||
new GraphChannel(XAxialChannelId, "X Axial", "ARSXAxial"),
|
||||
new GraphChannel(YAxialChannelId, "Y Axial", "ARSYAxial"),
|
||||
new GraphChannel(ZAxialChannelId, "Z Axial", "ARSZAxial")
|
||||
}, Properties.Settings.Default.PROTECTIONREPORT_ARSAxialThreshold));
|
||||
AddGraph(new ReportGraph(KnownGraphs.ARS_Acceleration.ToString(), "X Acceleration",
|
||||
new MeasurementUnit []
|
||||
{
|
||||
MeasurementUnitList.GetMeasurementUnit("G"), MeasurementUnitList.GetMeasurementUnit("m/sec^2")
|
||||
}, new GraphChannel[] {
|
||||
new GraphChannel(XAccelerationId, "acceleration", "ARSXAccel")
|
||||
}, Properties.Settings.Default.PROTECTIONREPORT_ARSACCELThreshold));
|
||||
}
|
||||
|
||||
protected override void InitializeProperties()
|
||||
{
|
||||
base.InitializeProperties();
|
||||
SetValue(PedestrianAndHeadTest.Fields.FrequencyClass.ToString(), (new SensorDB.FilterClass(DTS.SensorDB.FilterClass.FilterClassType.CFC180)).ToString());
|
||||
SetPossibleValues(PedestrianAndHeadTest.Fields.ImpactorType.ToString(), new string[] { "ARS" });
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace DTS.Slice.PedestrianAndHeadReports
|
||||
{
|
||||
public class LWRLegFlexReport : ReportBase
|
||||
{
|
||||
public LWRLegFlexReport(PedestrianAndHeadTest parent) : base(parent) { }
|
||||
public override ReportBase.ReportTypes GetReportType()
|
||||
{
|
||||
return ReportTypes.LWRLegFlex;
|
||||
}
|
||||
public const string FEMUR1_ID = "FLEX_FEMUR1";
|
||||
public const string FEMUR2_ID = "FLEX_FEMUR2";
|
||||
public const string FEMUR3_ID = "FLEX_FEMUR3";
|
||||
public const string LCL_ID = "FLEX_LCL";
|
||||
public const string MCL_ID = "FLEX_MCL";
|
||||
public const string ACL_ID = "FLEX_ACL";
|
||||
public const string PCL_ID = "FLEX_PCL";
|
||||
public const string TIBIA1_ID = "FLEX_TIBIA1";
|
||||
public const string TIBIA2_ID = "FLEX_TIBIA2";
|
||||
public const string TIBIA3_ID = "FLEX_TIBIA3";
|
||||
public const string TIBIA4_ID = "FLEX_TIBIA4";
|
||||
private string[] _calTypes = new string[] { "Penduram", "Inverse" };
|
||||
|
||||
public string TestType
|
||||
{
|
||||
get { return GetValue("FlexType"); }
|
||||
set { SetValue("FlexType", value); }
|
||||
}
|
||||
public string[] GetPossibleTestTypes()
|
||||
{
|
||||
return GetPossibleValues("FlexType");
|
||||
}
|
||||
protected override void InitializeGraphs()
|
||||
{
|
||||
base.InitializeGraphs();
|
||||
|
||||
AddGraph(new ReportGraph(KnownGraphs.FLEX_TIBIA.ToString(), "Tibia", new MeasurementUnit[] {
|
||||
MeasurementUnitList.GetMeasurementUnit("Nm") }, new GraphChannel[]{
|
||||
new GraphChannel(TIBIA1_ID, "Tibia-1", "TIBIA1"),
|
||||
new GraphChannel(TIBIA2_ID, "Tibia-2", "TIBIA2"),
|
||||
new GraphChannel(TIBIA3_ID, "Tibia-3", "TIBIA3"),
|
||||
new GraphChannel(TIBIA4_ID, "Tibia-4", "TIBIA4")
|
||||
},Properties.Settings.Default.PROTECTIONREPORT_FLEXTIBITHRESHOLD));
|
||||
AddGraph(new ReportGraph(KnownGraphs.FLEX_MCL.ToString(), "MCL", new MeasurementUnit[] { MeasurementUnitList.GetMeasurementUnit("mm") }, new GraphChannel[] {
|
||||
new GraphChannel(MCL_ID, "MCL(膝内側側副靱帯)", "MCL")
|
||||
}, Properties.Settings.Default.SAFETYREPORT_FLEXMCLThreshold));
|
||||
AddGraph(new ReportGraph(KnownGraphs.FLEX_ACLPCL.ToString(), "ACL PCL", new MeasurementUnit[] { MeasurementUnitList.GetMeasurementUnit("mm") }, new GraphChannel[] {
|
||||
new GraphChannel(ACL_ID, "ACL(後十字靱帯)", "ACL"),
|
||||
new GraphChannel(PCL_ID, "PCL(前十字靱帯)", "PCL")
|
||||
}, Properties.Settings.Default.PROTECTIONREPORT_FLEXACLPCLThreshold));
|
||||
AddGraph(new ReportGraph(KnownGraphs.FLEX_FEMUR.ToString(), "Femur", new MeasurementUnit[] { MeasurementUnitList.GetMeasurementUnit("Nm") }, new GraphChannel[]{
|
||||
new GraphChannel(FEMUR1_ID, "Femur-1", "FEMUR1"),
|
||||
new GraphChannel(FEMUR2_ID, "Femur-2", "FEMUR2"),
|
||||
new GraphChannel(FEMUR3_ID, "Femur-3", "FEMUR3")
|
||||
}, Properties.Settings.Default.PROTECTIONREPORT_FLEXFEMURThreshold));
|
||||
AddGraph(new ReportGraph(KnownGraphs.FLEX_LCL.ToString(), "LCL", new MeasurementUnit[] { MeasurementUnitList.GetMeasurementUnit("mm") }, new GraphChannel[] {
|
||||
new GraphChannel(LCL_ID, "LCL", "LCL")
|
||||
}, Properties.Settings.Default.PROTECTIONREPORT_FLEXLCLThreshold));
|
||||
|
||||
AddGraph(new ReportGraph(KnownGraphs.FLEX_CALTibia1.ToString(), "Tibia1(Cal)", new MeasurementUnit[] { MeasurementUnitList.GetMeasurementUnit("Nm") }, new GraphChannel[]{
|
||||
new GraphChannel(TIBIA1_ID, "Tibia-1", "TIBIA1")}, ""));
|
||||
AddGraph(new ReportGraph(KnownGraphs.FLEX_CALTibia2.ToString(), "Tibia2(Cal)", new MeasurementUnit[] { MeasurementUnitList.GetMeasurementUnit("Nm") }, new GraphChannel[]{
|
||||
new GraphChannel(TIBIA2_ID, "Tibia-2", "TIBIA2")}, ""));
|
||||
AddGraph(new ReportGraph(KnownGraphs.FLEX_CALTibia3.ToString(), "Tibia3(Cal)", new MeasurementUnit[] { MeasurementUnitList.GetMeasurementUnit("Nm") }, new GraphChannel[]{
|
||||
new GraphChannel(TIBIA3_ID, "Tibia-3", "TIBIA3")}, ""));
|
||||
AddGraph(new ReportGraph(KnownGraphs.FLEX_CALTibia4.ToString(), "Tibia4(Cal)", new MeasurementUnit[] { MeasurementUnitList.GetMeasurementUnit("Nm") }, new GraphChannel[]{
|
||||
new GraphChannel(TIBIA4_ID, "Tibia-4", "TIBIA4")}, ""));
|
||||
|
||||
AddGraph(new ReportGraph(KnownGraphs.FLEX_CALACL.ToString(), "ACL(Cal)", new MeasurementUnit[] { MeasurementUnitList.GetMeasurementUnit("mm") }, new GraphChannel[] {
|
||||
new GraphChannel(ACL_ID, "ACL", "ACL")}, ""));
|
||||
AddGraph(new ReportGraph(KnownGraphs.FLEX_CALMCL.ToString(), "MCL(Cal)", new MeasurementUnit[] { MeasurementUnitList.GetMeasurementUnit("mm") }, new GraphChannel[] {
|
||||
new GraphChannel(MCL_ID, "MCL", "MCL")}, ""));
|
||||
AddGraph(new ReportGraph(KnownGraphs.FLEX_CALPCL.ToString(), "PCL(Cal)", new MeasurementUnit[] { MeasurementUnitList.GetMeasurementUnit("mm") }, new GraphChannel[] {
|
||||
new GraphChannel(PCL_ID, "PCL", "PCL")}, ""));
|
||||
}
|
||||
/*private string _impactorWeight;
|
||||
public string ImpactorWeight
|
||||
{
|
||||
get { return _impactorWeight; }
|
||||
set { SetProperty(ref _impactorWeight, value, "ImpactorWeight"); }
|
||||
}*/
|
||||
protected override void InitializeProperties()
|
||||
{
|
||||
base.InitializeProperties();
|
||||
SetPossibleValues(PedestrianAndHeadTest.Fields.ImpactorType.ToString(), new string[] { "FLEX" });
|
||||
SetValue(PedestrianAndHeadTest.Fields.FrequencyClass.ToString(), (new SensorDB.FilterClass(DTS.SensorDB.FilterClass.FilterClassType.CFC180)).ToString());
|
||||
AddProperty(new ReportProperty("FlexType", "FlexType", _calTypes, typeof(string)));
|
||||
//AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.ImpactorWeight.ToString(), PedestrianAndHeadTest.Fields.ImpactorWeight.ToString(), null, typeof(string)));
|
||||
TestType = _calTypes[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,379 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace DTS.Slice.PedestrianAndHeadReports
|
||||
{
|
||||
public class MeasurementUnit
|
||||
{
|
||||
private string _mainDisplayUnit;
|
||||
public string MainDisplayUnit
|
||||
{
|
||||
get { return _mainDisplayUnit; }
|
||||
set { _mainDisplayUnit = value; }
|
||||
}
|
||||
|
||||
private string[] _alternateDisplayUnits;
|
||||
public string[] AlternateDisplayUnits
|
||||
{
|
||||
get { return _alternateDisplayUnits; }
|
||||
set { _alternateDisplayUnits = value; }
|
||||
}
|
||||
|
||||
private string _dimension = "00";
|
||||
public string Dimension
|
||||
{
|
||||
get { return _dimension; }
|
||||
set { _dimension = value; }
|
||||
}
|
||||
public MeasurementUnit(string mainUnit, string[] alternateUnits, MeasurementUnit.UnitConversion [] conversions, string dimension)
|
||||
{
|
||||
MainDisplayUnit = mainUnit;
|
||||
AlternateDisplayUnits = alternateUnits;
|
||||
UnitConversions = conversions;
|
||||
Dimension = dimension;
|
||||
}
|
||||
public MeasurementUnit(System.Xml.XmlElement node)
|
||||
{
|
||||
foreach (var childnode in node.ChildNodes)
|
||||
{
|
||||
System.Xml.XmlElement elem = childnode as System.Xml.XmlElement;
|
||||
if (null == elem) { continue; }
|
||||
try
|
||||
{
|
||||
switch (elem.Name)
|
||||
{
|
||||
case "MainDisplayUnit":
|
||||
MainDisplayUnit = elem.InnerText;
|
||||
break;
|
||||
case "AlternateDisplayUnits":
|
||||
{
|
||||
var nodes = elem.GetElementsByTagName("String");
|
||||
List<string> aunits = new List<string>();
|
||||
foreach (var node2 in nodes)
|
||||
{
|
||||
System.Xml.XmlElement element = node2 as System.Xml.XmlElement;
|
||||
if (null == element) { continue; }
|
||||
try
|
||||
{
|
||||
aunits.Add(element.InnerText);
|
||||
}
|
||||
catch (System.Exception) { }
|
||||
}
|
||||
AlternateDisplayUnits = aunits.ToArray();
|
||||
}
|
||||
break;
|
||||
case "Dimension":
|
||||
{
|
||||
Dimension = elem.InnerText;
|
||||
}
|
||||
break;
|
||||
case "UnitConversions":
|
||||
{
|
||||
var nodes = elem.GetElementsByTagName("UnitConversion");
|
||||
foreach (var node2 in nodes)
|
||||
{
|
||||
System.Xml.XmlElement element = node2 as System.Xml.XmlElement;
|
||||
if (null == element) { continue; }
|
||||
try
|
||||
{
|
||||
_unitConversions.Add(new UnitConversion(element));
|
||||
}
|
||||
catch (System.Exception) { }
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
System.Diagnostics.Trace.WriteLine("didn't handle " + elem.Name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
DTS.Utilities.Logging.APILogger.Log("Failed to parse xml", ex, elem.Name, elem.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
public bool UnitMatches(string unit)
|
||||
{
|
||||
unit = unit.Trim().ToLower();
|
||||
if (MainDisplayUnit.ToLower() == unit) { return true; }
|
||||
foreach (string aunit in AlternateDisplayUnits)
|
||||
{
|
||||
if (aunit.ToLower() == unit) { return true; }
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public double GetScalerConversion(string newUnit)
|
||||
{
|
||||
if (UnitMatches(newUnit)) { return 1D; }
|
||||
foreach (var uc in UnitConversions)
|
||||
{
|
||||
if (uc.UnitMatches(newUnit)) { return uc.Scaler; }
|
||||
}
|
||||
throw new InvalidCastException(string.Format("No conversion available from {0} to {1}", newUnit, MainDisplayUnit));
|
||||
}
|
||||
public double GetScalerConversionFrom(string oldUnit)
|
||||
{
|
||||
if (UnitMatches(oldUnit)) { return 1D; }
|
||||
foreach (var uc in UnitConversions)
|
||||
{
|
||||
if (uc.UnitMatches(oldUnit)) { return 1D / uc.Scaler; }
|
||||
}
|
||||
throw new InvalidCastException(string.Format("No conversion available from {0} to {1}", oldUnit, MainDisplayUnit));
|
||||
}
|
||||
private List<UnitConversion> _unitConversions = new List<UnitConversion>();
|
||||
public UnitConversion[] UnitConversions { get { return _unitConversions.ToArray(); } set { _unitConversions = new List<UnitConversion>(value); } }
|
||||
public class UnitConversion
|
||||
{
|
||||
private string _unit;
|
||||
public string Unit { get { return _unit; } set { _unit = value; } }
|
||||
|
||||
private double _scaler;
|
||||
public double Scaler { get { return _scaler; } set { _scaler = value; } }
|
||||
|
||||
public bool UnitMatches(string unit)
|
||||
{
|
||||
return (Unit.ToLower() == unit.Trim().ToLower());
|
||||
}
|
||||
public void WriteToXML(System.Xml.XmlWriter writer)
|
||||
{
|
||||
writer.WriteStartElement("UnitConversion");
|
||||
DTS.DASLib.Service.XMLHelper.PutString(writer, "Unit", Unit);
|
||||
DTS.DASLib.Service.XMLHelper.PutDouble(writer, "Scaler", Scaler);
|
||||
writer.WriteEndElement();
|
||||
}
|
||||
public UnitConversion(string unit, double scaler) { Unit = unit; Scaler = scaler; }
|
||||
public UnitConversion(System.Xml.XmlElement node)
|
||||
{
|
||||
foreach (var childnode in node.ChildNodes)
|
||||
{
|
||||
System.Xml.XmlElement elem = childnode as System.Xml.XmlElement;
|
||||
if (null == elem) { continue; }
|
||||
try
|
||||
{
|
||||
switch (elem.Name)
|
||||
{
|
||||
case "Unit":
|
||||
Unit = elem.InnerText;
|
||||
break;
|
||||
case "Scaler":
|
||||
Scaler = double.Parse(elem.InnerText);
|
||||
break;
|
||||
default:
|
||||
System.Diagnostics.Trace.WriteLine("didn't handle " + elem.Name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
DTS.Utilities.Logging.APILogger.Log("Failed to parse xml", ex, elem.Name, elem.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void WriteToXML(System.Xml.XmlWriter writer)
|
||||
{
|
||||
writer.WriteStartElement("MeasurementUnit");
|
||||
DTS.DASLib.Service.XMLHelper.PutString(writer, "MainDisplayUnit", MainDisplayUnit);
|
||||
DTS.DASLib.Service.XMLHelper.PutString(writer, "Dimension", Dimension);
|
||||
|
||||
writer.WriteStartElement("AlternateDisplayUnits");
|
||||
foreach (var unit in AlternateDisplayUnits)
|
||||
{
|
||||
writer.WriteStartElement("String");
|
||||
writer.WriteValue(unit);
|
||||
writer.WriteEndElement();
|
||||
}
|
||||
writer.WriteEndElement();
|
||||
//DTS.DASLib.Service.XMLHelper.PutString(writer, "AlternateDisplayUnits", string.Join("×", AlternateDisplayUnits));
|
||||
writer.WriteStartElement("UnitConversions");
|
||||
foreach (var uc in UnitConversions) { uc.WriteToXML(writer); }
|
||||
writer.WriteEndElement();
|
||||
writer.WriteEndElement();
|
||||
}
|
||||
public override string ToString()
|
||||
{
|
||||
return MainDisplayUnit;
|
||||
}
|
||||
}
|
||||
public class MeasurementUnitList
|
||||
{
|
||||
private static MeasurementUnitList _instance;
|
||||
private static object MyLock = new object();
|
||||
|
||||
private Dictionary<string, MeasurementUnit> _units = new Dictionary<string, MeasurementUnit>();
|
||||
private MeasurementUnit [] GetAllUnits(){ return _units.Values.ToArray();}
|
||||
|
||||
public static MeasurementUnit[] GetAllMeasurementUnits()
|
||||
{
|
||||
lock (MyLock)
|
||||
{
|
||||
if (null == _instance) { _instance = new MeasurementUnitList(); }
|
||||
return _instance.GetAllUnits();
|
||||
}
|
||||
}
|
||||
|
||||
public static MeasurementUnit GetMeasurementUnit(string key)
|
||||
{
|
||||
lock (MyLock)
|
||||
{
|
||||
if (null == _instance) { _instance = new MeasurementUnitList(); }
|
||||
var units = from u in _instance.GetAllUnits() where u.UnitMatches(key) select u;
|
||||
if (units.Count() > 0) { return units.First(); }
|
||||
else
|
||||
{
|
||||
_instance._units.Add(key, new MeasurementUnit(key, new string[] { key }, new MeasurementUnit.UnitConversion[0], "00"));
|
||||
return _instance._units[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
private MeasurementUnitList()
|
||||
{
|
||||
LoadAllMeasurementUnits();
|
||||
}
|
||||
public void SaveToXML()
|
||||
{
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
System.Xml.XmlWriterSettings settings = new System.Xml.XmlWriterSettings();
|
||||
settings.OmitXmlDeclaration = false;
|
||||
settings.Indent = true;
|
||||
using (System.Xml.XmlWriter xmlWriter = System.Xml.XmlTextWriter.Create(sb, settings))
|
||||
{
|
||||
xmlWriter.WriteStartDocument(true);
|
||||
xmlWriter.WriteStartElement("MeasurementUnits");
|
||||
var e1 = _units.GetEnumerator();
|
||||
while (e1.MoveNext())
|
||||
{
|
||||
e1.Current.Value.WriteToXML(xmlWriter);
|
||||
}
|
||||
xmlWriter.WriteEndElement();
|
||||
xmlWriter.WriteEndDocument();
|
||||
xmlWriter.Flush();
|
||||
}
|
||||
System.IO.File.WriteAllText(FILE_NAME, sb.ToString());
|
||||
}
|
||||
private void CreateDefaultMeasurementUnitsFile()
|
||||
{
|
||||
MeasurementUnit mu = new MeasurementUnit("G", new string[] { "G" }, new MeasurementUnit.UnitConversion[] {
|
||||
new MeasurementUnit.UnitConversion("m/sec^2", 9.80665D), new MeasurementUnit.UnitConversion("ft/s^2", 32.17405D)}, "AC");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("m/sec^2", new string[] { "m/sec^2", "m/s^2", "m/sec2", "m/s2" }, new MeasurementUnit.UnitConversion[] {
|
||||
new MeasurementUnit.UnitConversion("G", .101971621), new MeasurementUnit.UnitConversion("ft/s^2", 3.28084D),
|
||||
new MeasurementUnit.UnitConversion("cm/s^2", 100D)}, "AC");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("deg", new string[] { "deg", "degree", "degrees" }, new MeasurementUnit.UnitConversion[0], "AN");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("Nm", new string[] { "Nm", "N -m", "N-m" }, new MeasurementUnit.UnitConversion[0], "DC");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("mm", new string[] { "mm", "M-m", "M -m" }, new MeasurementUnit.UnitConversion[0], "DC");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("deg/sec", new string[] { "deg/sec", "degrees/sec", "d/sec", "deg/s" }, new MeasurementUnit.UnitConversion[0], "AA");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("kN", new string[] { "kn", "K-n", "k -n", "kilonewton" }, new MeasurementUnit.UnitConversion[]{
|
||||
new MeasurementUnit.UnitConversion("N", 1000)
|
||||
}, "FO");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("N", new string[] { "n", "newton" }, new MeasurementUnit.UnitConversion[]{
|
||||
new MeasurementUnit.UnitConversion("kN", .001D)
|
||||
}, "FO");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("ft/s^2", new string[] { "ft/s2", "ft/s^2", "ft/sec^2" }, new MeasurementUnit.UnitConversion[] {
|
||||
new MeasurementUnit.UnitConversion("cm/s^2", 30.48D), new MeasurementUnit.UnitConversion("m/sec^2", .3048D)}, "AC");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("cm/s^2", new string[] { "cm/s^2", "cm/s2", "cm/sec^2" }, new MeasurementUnit.UnitConversion[]{
|
||||
new MeasurementUnit.UnitConversion("ft/s^2", .032808D), new MeasurementUnit.UnitConversion("m/sec^2", .01D)
|
||||
}, "AC");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("Ampere", new string[] { "Amp", "Amper", "Amps" }, new MeasurementUnit.UnitConversion[] {
|
||||
new MeasurementUnit.UnitConversion("mAmp", 1000D)
|
||||
}, "CU");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("mAmp", new string[] { "mAmp", "m Amp", "milliampere", "milliamp" }, new MeasurementUnit.UnitConversion[]{
|
||||
new MeasurementUnit.UnitConversion("Ampere", .001D)}, "CU");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("Hz", new string[] { "hertz", "cycle/sec", "cyc/s" }, new MeasurementUnit.UnitConversion[] {
|
||||
new MeasurementUnit.UnitConversion("kHz", .001D)}, "FR");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("kHz", new string[] { "kHertz", "kilohertz" }, new MeasurementUnit.UnitConversion[] {
|
||||
new MeasurementUnit.UnitConversion("Hz", 1000D)}, "FR");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("m", new string[] { "m", "Meter" }, new MeasurementUnit.UnitConversion[] {
|
||||
new MeasurementUnit.UnitConversion("mm", 100D)},"DC");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("V", new string[] { "volt", "VO" }, new MeasurementUnit.UnitConversion[] {
|
||||
new MeasurementUnit.UnitConversion("mV", 100D)}, "VO");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("mV", new string[] { "mv", "millivolt", "mVolt" }, new MeasurementUnit.UnitConversion[]{
|
||||
new MeasurementUnit.UnitConversion("V", .001D)}, "VO");
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
|
||||
mu = new MeasurementUnit("degC", new string[] { "C", "degC", "Celsius" }, new MeasurementUnit.UnitConversion[0], "??");
|
||||
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit)) { _units.Add(mu.MainDisplayUnit, mu); }
|
||||
SaveToXML();
|
||||
}
|
||||
private void LoadAllMeasurementUnits()
|
||||
{
|
||||
if (!System.IO.File.Exists(FILE_NAME))
|
||||
{
|
||||
CreateDefaultMeasurementUnitsFile();
|
||||
}
|
||||
else
|
||||
{
|
||||
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
|
||||
string xml = System.IO.File.ReadAllText(FILE_NAME);
|
||||
doc.LoadXml(xml);
|
||||
var nodes = doc.GetElementsByTagName("MeasurementUnits");
|
||||
foreach (var node in nodes)
|
||||
{
|
||||
System.Xml.XmlElement element = node as System.Xml.XmlElement;
|
||||
if (null == element) { continue; }
|
||||
foreach (var childNode in element.GetElementsByTagName("MeasurementUnit"))
|
||||
{
|
||||
System.Xml.XmlElement elem = childNode as System.Xml.XmlElement;
|
||||
if (null == elem) { continue; }
|
||||
LoadMeasurementUnit(elem);
|
||||
}
|
||||
}
|
||||
CreateDefaultMeasurementUnitsFile();
|
||||
}
|
||||
}
|
||||
private const string FILE_NAME = "MeasurementUnits.xml";
|
||||
private void LoadMeasurementUnit(System.Xml.XmlElement node)
|
||||
{
|
||||
try
|
||||
{
|
||||
MeasurementUnit mu = new MeasurementUnit(node);
|
||||
if (!_units.ContainsKey(mu.MainDisplayUnit))
|
||||
{
|
||||
_units.Add(mu.MainDisplayUnit, mu);
|
||||
}
|
||||
else
|
||||
{
|
||||
_units[mu.MainDisplayUnit] = mu;
|
||||
}
|
||||
}
|
||||
catch (System.Exception ex) { DTS.Utilities.Logging.APILogger.Log("failed to get node from measurement unit db, ", ex); }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
using DocumentFormat.OpenXml.Packaging;
|
||||
using Ap = DocumentFormat.OpenXml.ExtendedProperties;
|
||||
using Vt = DocumentFormat.OpenXml.VariantTypes;
|
||||
using DocumentFormat.OpenXml;
|
||||
using DocumentFormat.OpenXml.Spreadsheet;
|
||||
using Xdr = DocumentFormat.OpenXml.Drawing.Spreadsheet;
|
||||
using A = DocumentFormat.OpenXml.Drawing;
|
||||
using C = DocumentFormat.OpenXml.Drawing.Charts;
|
||||
using System.Linq;
|
||||
|
||||
|
||||
namespace ExcelExport
|
||||
{
|
||||
public class ExportBase
|
||||
{
|
||||
private System.Collections.Generic.Dictionary<string, string> _cellLookup = new System.Collections.Generic.Dictionary<string, string>();
|
||||
protected string GetCell(string key)
|
||||
{
|
||||
if (_cellLookup.ContainsKey(key)) { return _cellLookup[key]; }
|
||||
System.Diagnostics.Trace.WriteLine("missing key " + key);
|
||||
throw new System.NotImplementedException(key);
|
||||
}
|
||||
protected void AddCollectionReference(string key, string reference)
|
||||
{
|
||||
if (!_cellLookup.ContainsKey(key)) { _cellLookup.Add(key, reference); }
|
||||
}
|
||||
|
||||
protected CalculationChain _calculationChain1 = new CalculationChain();
|
||||
protected void InsertCalculation(string cellReference, int sheetid, bool newLevel)
|
||||
{
|
||||
_calculationChain1.Append(new CalculationCell()
|
||||
{
|
||||
CellReference = cellReference,
|
||||
SheetId = sheetid,
|
||||
NewLevel = newLevel
|
||||
});
|
||||
}
|
||||
|
||||
private System.Collections.Generic.Dictionary<string, int> _items = new System.Collections.Generic.Dictionary<string, int>();
|
||||
protected SharedStringTablePart _sharedStringTablePart;
|
||||
protected int InsertSharedStringItem(string text)
|
||||
{
|
||||
if (string.IsNullOrEmpty(text)) { text = ""; }
|
||||
if (_items.ContainsKey(text)) { return _items[text]; }
|
||||
// The text does not exist in the part. Create the SharedStringItem and return its index.
|
||||
_sharedStringTablePart.SharedStringTable.AppendChild(new SharedStringItem(new DocumentFormat.OpenXml.Spreadsheet.Text(text)));
|
||||
_sharedStringTablePart.SharedStringTable.Save();
|
||||
_items.Add(text, _items.Keys.Count);
|
||||
return (_items.Keys.Count - 1);
|
||||
}
|
||||
|
||||
protected Cell CreateTextCell(string reference, string value)
|
||||
{
|
||||
Cell c = new Cell() { CellReference = reference, DataType = CellValues.SharedString };
|
||||
CellValue cv = new CellValue() { Text = InsertSharedStringItem(value).ToString() };
|
||||
c.Append(cv);
|
||||
return c;
|
||||
}
|
||||
protected Cell CreateNumericCell(string column, double[] data, int index)
|
||||
{
|
||||
Cell c = new Cell() { CellReference = string.Format("{0}{1}", column, 2 + index) };
|
||||
if (index < data.Length)
|
||||
{
|
||||
CellValue cv = new CellValue() { Text = data[index].ToString() };
|
||||
c.Append(cv);
|
||||
}
|
||||
return c;
|
||||
}
|
||||
protected Cell CreateNumericCell(string reference, uint style, double value)
|
||||
{
|
||||
Cell c = new Cell() { CellReference = reference, StyleIndex = (UInt32Value)style };
|
||||
c.Append(new CellValue() { Text = value.ToString() });
|
||||
return c;
|
||||
}
|
||||
protected Cell CreateStylizedTextCell(string reference, UInt32Value style, string text)
|
||||
{
|
||||
Cell c = new Cell() { CellReference = reference, StyleIndex = style, DataType = CellValues.SharedString };
|
||||
CellValue cv = new CellValue() { Text = InsertSharedStringItem(text).ToString() };
|
||||
c.Append(cv);
|
||||
|
||||
return c;
|
||||
}
|
||||
protected Cell CreateStylizedTextCell(string reference, UInt32Value style, string text, string key)
|
||||
{
|
||||
if (string.IsNullOrEmpty(text)) { text = ""; }
|
||||
Cell c = new Cell() { CellReference = reference, StyleIndex = style, DataType = CellValues.String };
|
||||
CellValue cv = new CellValue() { Text = text };
|
||||
InsertCalculation(reference, 2, true);
|
||||
c.Append(new CellFormula() { Text = string.Format("\'Top page\'!{0}", GetCell(key)) });
|
||||
c.Append(cv);
|
||||
|
||||
return c;
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,118 @@
|
||||
<base:BaseView x:Class="PedestrianAndHeadReports.TRLReportInputView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:root="clr-namespace:PedestrianAndHeadReports.Resources"
|
||||
xmlns:base="clr-namespace:DTS.Common.Base;assembly=DTS.Common"
|
||||
xmlns:xceed="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
|
||||
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
|
||||
<base:BaseView.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Themes/CommonStyles.xaml"/>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource PageContentTextStyle}" >
|
||||
<Setter Property="VerticalAlignment" Value="Top"/>
|
||||
<Setter Property="HorizontalAlignment" Value="Left"/>
|
||||
<Setter Property="Margin" Value="5" />
|
||||
</Style>
|
||||
<Style TargetType="TextBox">
|
||||
<Setter Property="Margin" Value="5" />
|
||||
</Style>
|
||||
<Style TargetType="Button">
|
||||
<Setter Property="Margin" Value="5" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
</base:BaseView.Resources>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" MinWidth="200" />
|
||||
<ColumnDefinition Width="Auto" MinWidth="350" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Grid.Row="0" Grid.ColumnSpan="2" Text="{root:TranslateExtension Test_Info}" FontSize="20"/>
|
||||
<TextBlock Grid.Row="1" Text="{root:TranslateExtension TestNumber}" />
|
||||
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding TestNumber, FallbackValue='Test number'}" />
|
||||
<TextBlock Grid.Row="2" Text="{root:TranslateExtension TestDate}" />
|
||||
<xceed:DateTimePicker Grid.Row="2" Grid.Column="1" Text="{Binding DateTimeText}"/>
|
||||
<TextBlock Grid.Row="3" Text="{root:TranslateExtension CarName}" />
|
||||
<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding CarName, FallbackValue='Car name'}" />
|
||||
<TextBlock Grid.Row="4" Grid.Column="0" Text="{root:Translate Model}" />
|
||||
<TextBox Grid.Row="4" Grid.Column="1" Text="{Binding Model, FallbackValue='Model'}" />
|
||||
<TextBlock Grid.Row="5" Grid.Column="0" Text="{root:Translate TestTemperature}" />
|
||||
<TextBox Grid.Row="5" Grid.Column="1" Text="{Binding TestTemperature, FallbackValue='Temperature'}" />
|
||||
<TextBlock Grid.Row="7" Grid.Column="0" Text="{root:TranslateExtension MeasurementPoint}" />
|
||||
<TextBox Grid.Row="7" Grid.Column="1" Text="{Binding MeasurementPoint}" />
|
||||
<TextBlock Grid.Row="8" Grid.Column="0" Text="{root:TranslateExtension CrashVelocity}" />
|
||||
<TextBox Grid.Row="8" Grid.Column="1" Text="{Binding CrashVelocity, FallbackValue='Crash velocity'}" />
|
||||
<TextBlock Grid.Row="9" Grid.Column="0" Text="{root:TranslateExtension ImpactorID}" />
|
||||
<TextBox Grid.Row="9" Grid.Column="1" Text="{Binding ImpactorID, FallbackValue='Impactor Id'}" />
|
||||
<TextBlock Grid.Row="10" Grid.Column="0" Text="{root:TranslateExtension ImpactorType}" />
|
||||
<ComboBox Grid.Row="10" Grid.Column="1" ItemsSource="{Binding AvailableImpactorTypes,FallbackValue='TEST'}" SelectedItem="{Binding SelectedImpactor}" />
|
||||
<TextBlock Grid.Row="11" Grid.Column="0" Text="{root:TranslateExtension ImpactorWeight}" />
|
||||
<TextBox Grid.Row="11" Grid.Column="1" Text="{Binding ImpactorWeight, FallbackValue='Impactor weight'}" />
|
||||
<TextBlock Grid.Row="12" Grid.Column="0" Text="{root:TranslateExtension Examiner}" />
|
||||
<TextBox Grid.Row="12" Grid.Column="1" Text="{Binding Examiner, FallbackValue='Examiner'}" />
|
||||
<TextBlock Grid.Row="13" Grid.Column="0" Text="{root:TranslateExtension Reserved1}" />
|
||||
<TextBox Grid.Row="13" Grid.Column="1" Text="{Binding Reserved1, FallbackValue='Reserved 1'}" />
|
||||
<TextBlock Grid.Row="14" Grid.Column="0" Text="{root:TranslateExtension Reserved2}" />
|
||||
<TextBox Grid.Row="14" Grid.Column="1" Text="{Binding Reserved2, FallbackValue='Reserved 2'}" />
|
||||
<TextBlock Grid.Row="15" Grid.Column="0" Text="{root:TranslateExtension ChannelFrequencyClass}" />
|
||||
<ComboBox Grid.Row="15" Grid.Column="1" ItemsSource="{Binding AvailableCFCs,FallbackValue='Test'}" SelectedItem="{Binding SelectedCFC}" />
|
||||
<TextBlock Grid.Row="16" Grid.ColumnSpan="2" Text="{root:TranslateExtension Units}" FontSize="20" />
|
||||
<TextBlock Grid.Row="17" Grid.Column="0" Text="{root:TranslateExtension Acceleration}" />
|
||||
<ComboBox Grid.Row="17" Grid.Column="1" ItemsSource="{Binding AvailableAccelerationUnits}" SelectedItem="{Binding SelectedAccelerationUnit}" />
|
||||
<!--<TextBlock Grid.Row="18" Grid.Column="0" Text="{root:TranslateExtension BendingAngle}" />
|
||||
<ComboBox Grid.Row="18" Grid.Column="1" ItemsSource="{Binding AvailableBendingAngleUnits}" SelectedItem="{Binding SelectedBendingAngleUnit}" />
|
||||
<TextBlock Grid.Row="19" Grid.Column="0" Text="{root:TranslateExtension ShearAngle}" />
|
||||
<ComboBox Grid.Row="19" Grid.Column="1" ItemsSource="{Binding AvailableShearAngleUnits}" SelectedItem="{Binding SelectedShearAngleUnit}" />-->
|
||||
<TextBlock Grid.Row="20" Grid.Column="0" Text="{root:TranslateExtension Time}" />
|
||||
<ComboBox Grid.Row="20" Grid.Column="1" ItemsSource="{Binding AvailableTimeUnits}" SelectedItem="{Binding SelectedTimeUnits}" />
|
||||
<TextBlock Grid.Row="21" Grid.ColumnSpan="2" Text="{root:TranslateExtension Channels}" FontSize="20" />
|
||||
<TextBlock Grid.Row="22" Grid.Column="0" Text="{root:TranslateExtension Acceleration}" />
|
||||
<ComboBox Grid.Row="22" Grid.Column="1" ItemsSource="{Binding AccelerationChannels}" SelectedItem="{Binding SelectedAccelerationChannel}" />
|
||||
<TextBlock Grid.Row="23" Grid.Column="0" Text="{root:TranslateExtension BendingAngle}" />
|
||||
<ComboBox Grid.Row="23" Grid.Column="1" ItemsSource="{Binding AvailableBendingChannels}" SelectedItem="{Binding SelectedBendingChannel}" />
|
||||
<TextBlock Grid.Row="24" Grid.Column="0" Text="{root:TranslateExtension ShearDisplacement}" />
|
||||
<ComboBox Grid.Row="24" Grid.Column="1" ItemsSource="{Binding AvailableShearChannels}" SelectedItem="{Binding SelectedShearChannel}" />
|
||||
|
||||
<!--<TextBlock Text="{root:Translate ImportView_File}" />
|
||||
<TextBox Width="200" Text="{Binding ImportFileName}" />
|
||||
<Button Content="{root:Translate ImportView_Browse}">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="Click">
|
||||
<i:InvokeCommandAction Command="{Binding ImportBrowseCommand}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
</Button>
|
||||
-->
|
||||
|
||||
</Grid>
|
||||
</base:BaseView>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,119 @@
|
||||
<base:BaseView x:Class="PedestrianAndHeadReports.HeadReportInputView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:root="clr-namespace:PedestrianAndHeadReports.Resources"
|
||||
xmlns:base="clr-namespace:DTS.Common.Base;assembly=DTS.Common"
|
||||
xmlns:xceed="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
|
||||
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
|
||||
<base:BaseView.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="pack://application:,,,/DTS.Common;component/Themes/CommonStyles.xaml"/>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<Style TargetType="TextBlock" BasedOn="{StaticResource PageContentTextStyle}" >
|
||||
<Setter Property="VerticalAlignment" Value="Top"/>
|
||||
<Setter Property="HorizontalAlignment" Value="Left"/>
|
||||
<Setter Property="Margin" Value="5" />
|
||||
</Style>
|
||||
<Style TargetType="TextBox">
|
||||
<Setter Property="Margin" Value="5" />
|
||||
</Style>
|
||||
<Style TargetType="Button">
|
||||
<Setter Property="Margin" Value="5" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
</base:BaseView.Resources>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" MinWidth="200" />
|
||||
<ColumnDefinition Width="Auto" MinWidth="350" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Grid.Row="0" Grid.ColumnSpan="2" Text="{root:TranslateExtension Test_Info}" FontSize="20"/>
|
||||
<TextBlock Grid.Row="1" Text="{root:TranslateExtension TestNumber}" />
|
||||
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding TestNumber, FallbackValue='Test number'}" />
|
||||
<TextBlock Grid.Row="2" Text="{root:TranslateExtension TestDate}" />
|
||||
<xceed:DateTimePicker Grid.Row="2" Grid.Column="1" />
|
||||
<TextBlock Grid.Row="3" Text="{root:TranslateExtension CarName}" />
|
||||
<TextBox Grid.Row="3" Grid.Column="1" Text="{Binding CarName, FallbackValue='Car name'}" />
|
||||
<TextBlock Grid.Row="4" Grid.Column="0" Text="{root:Translate Model}" />
|
||||
<TextBox Grid.Row="4" Grid.Column="1" Text="{Binding Model, FallbackValue='Model'}" />
|
||||
<TextBlock Grid.Row="5" Grid.Column="0" Text="{root:Translate TestTemperature}" />
|
||||
<TextBox Grid.Row="5" Grid.Column="1" Text="{Binding TestTemperature, FallbackValue='Temperature'}" />
|
||||
<TextBlock Grid.Row="6" Grid.Column="0" Text="{root:Translate TestClassificationAngle}" />
|
||||
<TextBox Grid.Row="6" Grid.Column="1" Text="{Binding TestClassificationAngle, FallbackValue='Classification angle'}" />
|
||||
<TextBlock Grid.Row="7" Grid.Column="0" Text="{root:TranslateExtension MeasurementPoint}" />
|
||||
<TextBox Grid.Row="7" Grid.Column="1" Text="{Binding MeasurementPoint}" />
|
||||
<TextBlock Grid.Row="8" Grid.Column="0" Text="{root:TranslateExtension CrashVelocity}" />
|
||||
<TextBox Grid.Row="8" Grid.Column="1" Text="{Binding CrashVelocity, FallbackValue='Crash velocity'}" />
|
||||
<TextBlock Grid.Row="9" Grid.Column="0" Text="{root:TranslateExtension ImpactorID}" />
|
||||
<TextBox Grid.Row="9" Grid.Column="1" Text="{Binding ImpactorID, FallbackValue='Impactor Id'}" />
|
||||
<TextBlock Grid.Row="10" Grid.Column="0" Text="{root:TranslateExtension ImpactorType}" />
|
||||
<ComboBox Grid.Row="10" Grid.Column="1" ItemsSource="{Binding AvailableImpactorTypes,FallbackValue='TEST'}" SelectedItem="{Binding SelectedImpactor}" />
|
||||
<TextBlock Grid.Row="11" Grid.Column="0" Text="{root:TranslateExtension ImpactorWeight}" />
|
||||
<TextBox Grid.Row="11" Grid.Column="1" Text="{Binding ImpactorWeight, FallbackValue='Impactor weight'}" />
|
||||
<TextBlock Grid.Row="12" Grid.Column="0" Text="{root:TranslateExtension Examiner}" />
|
||||
<TextBox Grid.Row="12" Grid.Column="1" Text="{Binding Examiner, FallbackValue='Examiner'}" />
|
||||
<TextBlock Grid.Row="13" Grid.Column="0" Text="{root:TranslateExtension Reserved1}" />
|
||||
<TextBox Grid.Row="13" Grid.Column="1" Text="{Binding Reserved1, FallbackValue='Reserved 1'}" />
|
||||
<TextBlock Grid.Row="14" Grid.Column="0" Text="{root:TranslateExtension Reserved2}" />
|
||||
<TextBox Grid.Row="14" Grid.Column="1" Text="{Binding Reserved2, FallbackValue='Reserved 2'}" />
|
||||
<TextBlock Grid.Row="15" Grid.Column="0" Text="{root:TranslateExtension SelectionAutomaticDisplayItemCFC}" />
|
||||
<ComboBox Grid.Row="15" Grid.Column="1" ItemsSource="{Binding AvailableCFCs,FallbackValue='Test'}" SelectedItem="{Binding SelectedCFC}" />
|
||||
<TextBlock Grid.Row="16" Grid.ColumnSpan="2" Text="{root:TranslateExtension Units}" FontSize="20" />
|
||||
<TextBlock Grid.Row="17" Grid.Column="0" Text="{root:TranslateExtension Acceleration}" />
|
||||
<ComboBox Grid.Row="17" Grid.Column="1" ItemsSource="{Binding AvailableAccelerationUnits}" SelectedItem="{Binding SelectedAccelerationUnit}" />
|
||||
<TextBlock Grid.Row="18" Grid.Column="0" Text="{root:TranslateExtension Displacement}" />
|
||||
<ComboBox Grid.Row="18" Grid.Column="1" ItemsSource="{Binding AvailableDisplacementUnits}" SelectedItem="{Binding SelectedDisplacementUnit}" />
|
||||
<TextBlock Grid.Row="19" Grid.Column="0" Text="{root:TranslateExtension Time}" />
|
||||
<ComboBox Grid.Row="19" Grid.Column="1" ItemsSource="{Binding AvailableTimeUnits}" SelectedItem="{Binding SelectedTimeUnits}" />
|
||||
<TextBlock Grid.Row="20" Grid.ColumnSpan="2" Text="{root:TranslateExtension Channels}" FontSize="20" />
|
||||
<TextBlock Grid.Row="21" Grid.Column="0" Text="{root:TranslateExtension X}" />
|
||||
<ComboBox Grid.Row="21" Grid.Column="1" ItemsSource="{Binding AvailableXChannels}" SelectedItem="{Binding SelectedXChannel}" />
|
||||
<TextBlock Grid.Row="22" Grid.Column="0" Text="{root:TranslateExtension Y}" />
|
||||
<ComboBox Grid.Row="22" Grid.Column="1" ItemsSource="{Binding AvailableYChannels}" SelectedItem="{Binding SelectedYChannel}" />
|
||||
<TextBlock Grid.Row="23" Grid.Column="0" Text="{root:TranslateExtension Z}" />
|
||||
<ComboBox Grid.Row="23" Grid.Column="1" ItemsSource="{Binding AvailableZChannels}" SelectedItem="{Binding SelectedZChannel}" />
|
||||
<TextBlock Grid.Row="24" Grid.Column="0" Text="{root:TranslateExtension Displacement}" />
|
||||
<ComboBox Grid.Row="24" Grid.Column="1" ItemsSource="{Binding AvailableDispacementChannels}" SelectedItem="{Binding SelectedDisplacementChannel}" />
|
||||
<!--<TextBlock Text="{root:Translate ImportView_File}" />
|
||||
<TextBox Width="200" Text="{Binding ImportFileName}" />
|
||||
<Button Content="{root:Translate ImportView_Browse}">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="Click">
|
||||
<i:InvokeCommandAction Command="{Binding ImportBrowseCommand}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
</Button>
|
||||
-->
|
||||
|
||||
</Grid>
|
||||
</base:BaseView>
|
||||
@@ -0,0 +1,340 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.Composition;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using DTS.Common.Events;
|
||||
using DTS.Common.Interface;
|
||||
using Microsoft.Practices.Prism.Events;
|
||||
using Microsoft.Practices.Prism.Interactivity.InteractionRequest;
|
||||
using Microsoft.Practices.Prism.Regions;
|
||||
using Microsoft.Practices.Unity;
|
||||
using PedestrianAndHeadReports.Classes;
|
||||
using System.Collections.Generic;
|
||||
using DTS.Slice.Control;
|
||||
|
||||
|
||||
// ReSharper disable CheckNamespace
|
||||
// ReSharper disable MemberCanBePrivate.Global
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace PedestrianAndHeadReports
|
||||
{
|
||||
/// <summary>
|
||||
/// this class handles DB import/export functionality
|
||||
/// (note that since a lot of of DataPRO objects still live in the datapro project it's functionality is limited to the xml string going back and forth right now)
|
||||
/// </summary>
|
||||
[Export(typeof(ITRLReportInputView))]
|
||||
[Export(typeof(ITRLReportOutputView))]
|
||||
[PartCreationPolicy(CreationPolicy.Shared)]
|
||||
public class TRLReportViewModel : ITRLReportViewModel
|
||||
{
|
||||
public ITRLReportInputView InputView { get; set; }
|
||||
public ITRLReportOutputView OutputView { get; set; }
|
||||
|
||||
private IEventAggregator _eventAggregator { get; set; }
|
||||
private IRegionManager _regionManager;
|
||||
private IUnityContainer UnityContainer { get; set; }
|
||||
|
||||
public InteractionRequest<Notification> NotificationRequest { get; private set; }
|
||||
public InteractionRequest<Confirmation> ConfirmationRequest { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new instance of the TechnologyDomainEditViewModel.
|
||||
/// </summary>
|
||||
/// <param name="inputView"></param>
|
||||
/// <param name="outputView"></param>
|
||||
/// <param name="regionManager">The logical placeholder defined within the application's UI (in the shell or within views) into which views are displayed.</param>
|
||||
/// <param name="eventAggregator">The EventAggregator which allows different components to publish/subscribe to events without being coupled to each other.</param>
|
||||
/// <param name="unityContainer">The unityContainer.</param>
|
||||
public TRLReportViewModel(ITRLReportInputView inputView, ITRLReportOutputView outputView,
|
||||
IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer, DTS.Serialization.Test test)
|
||||
{
|
||||
Test = test;
|
||||
AvailableTimeUnits = new[] {ConstantsAndEnums.TimeUnits.Seconds, ConstantsAndEnums.TimeUnits.MilliSeconds};
|
||||
SelectedTimeUnits = ConstantsAndEnums.TimeUnits.Seconds;
|
||||
|
||||
AvailableAccelerationUnits = new[]
|
||||
{
|
||||
DTS.SensorDB.MeasurementUnitList.GetMeasurementUnit("m/sec^2"),
|
||||
DTS.SensorDB.MeasurementUnitList.GetMeasurementUnit("g")
|
||||
};
|
||||
SelectedAccelerationUnit = AvailableAccelerationUnits[0];
|
||||
|
||||
PopulateChannels();
|
||||
|
||||
InputView = inputView;
|
||||
OutputView = outputView;
|
||||
inputView.DataContext = this;
|
||||
outputView.DataContext = this;
|
||||
|
||||
NotificationRequest = new InteractionRequest<Notification>();
|
||||
ConfirmationRequest = new InteractionRequest<Confirmation>();
|
||||
|
||||
_eventAggregator = eventAggregator;
|
||||
UnityContainer = unityContainer;
|
||||
_regionManager = regionManager;
|
||||
_eventAggregator.GetEvent<RaiseNotification>().Subscribe(OnRaiseNotification);
|
||||
_eventAggregator.GetEvent<BusyIndicatorChangeNotification>()
|
||||
.Subscribe(OnBusyIndicatorNotification, ThreadOption.PublisherThread, true);
|
||||
}
|
||||
|
||||
#region Methods
|
||||
|
||||
private void PopulateChannels()
|
||||
{
|
||||
var accelerationChannels = new List<Event.Module.AnalogInputChannel>();
|
||||
var bendChannels = new List<Event.Module.AnalogInputChannel>();
|
||||
var sheerChannels = new List<Event.Module.AnalogInputChannel>();
|
||||
|
||||
var unitBending = DTS.SensorDB.MeasurementUnitList.GetMeasurementUnit("deg");
|
||||
var unitSheering = DTS.SensorDB.MeasurementUnitList.GetMeasurementUnit("deg");
|
||||
foreach (var ch in Test.Channels)
|
||||
{
|
||||
if (!(ch.emc is Event.Module.AnalogInputChannel emc)) { continue; }
|
||||
|
||||
accelerationChannels.AddRange(from unit in AvailableAccelerationUnits
|
||||
where unit.UnitMatches(emc.EngineeringUnits) select emc);
|
||||
|
||||
if (unitBending.UnitMatches(emc.EngineeringUnits))
|
||||
{
|
||||
bendChannels.Add(emc);
|
||||
}
|
||||
if (unitSheering.UnitMatches(emc.EngineeringUnits))
|
||||
{
|
||||
sheerChannels.Add(emc);
|
||||
}
|
||||
}
|
||||
AccelerationChannels = accelerationChannels.ToArray();
|
||||
AvailableBendingChannels = bendChannels.ToArray();
|
||||
AvailableShearChannels = sheerChannels.ToArray();
|
||||
}
|
||||
|
||||
|
||||
public void Cleanup()
|
||||
{
|
||||
}
|
||||
|
||||
public Task CleanupAsync()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
}
|
||||
|
||||
public void Initialize(object parameter)
|
||||
{
|
||||
}
|
||||
|
||||
public void Initialize(object parameter, object model)
|
||||
{
|
||||
}
|
||||
|
||||
public Task InitializeAsync()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public Task InitializeAsync(object parameter)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public void Activated()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Private Event handler for RaiseNotification event.
|
||||
/// </summary>
|
||||
private void OnBusyIndicatorNotification(bool eventArg)
|
||||
{
|
||||
IsBusy = eventArg;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Private Event handler for RaiseNotification event.
|
||||
/// </summary>
|
||||
private void OnRaiseNotification(NotificationContentEventArgs eventArgsWithTitle)
|
||||
{
|
||||
// The NotificationRequest.Raise triggers the Invoke() method of the PopupWindowAction object to show the NotificationWindow window
|
||||
// Notification object expects a NotificationContentEventArgsWithoutTitle object and a Title string.
|
||||
var eventArgsWithoutTitle = new NotificationContentEventArgs(eventArgsWithTitle.Message, "",
|
||||
eventArgsWithTitle.Image, string.Empty);
|
||||
|
||||
NotificationRequest.Raise(new Notification
|
||||
{
|
||||
Content = eventArgsWithoutTitle,
|
||||
Title = eventArgsWithTitle.Title
|
||||
});
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
|
||||
public bool IsDirty { get; private set; }
|
||||
private bool _isBusy = false;
|
||||
|
||||
public bool IsBusy
|
||||
{
|
||||
get => _isBusy;
|
||||
set
|
||||
{
|
||||
_isBusy = value;
|
||||
OnPropertyChanged("IsBusy");
|
||||
}
|
||||
}
|
||||
|
||||
private bool _isMenuIncluded = false;
|
||||
|
||||
public bool IsMenuIncluded
|
||||
{
|
||||
get => _isMenuIncluded;
|
||||
set
|
||||
{
|
||||
_isMenuIncluded = value;
|
||||
OnPropertyChanged("IsMenuIncluded");
|
||||
}
|
||||
}
|
||||
|
||||
private bool _isNavigationIncluded = false;
|
||||
|
||||
public bool IsNavigationIncluded
|
||||
{
|
||||
get => _isNavigationIncluded;
|
||||
set
|
||||
{
|
||||
_isNavigationIncluded = value;
|
||||
OnPropertyChanged("IsNavigationIncluded");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the HeaderInfo.
|
||||
/// </summary>
|
||||
public string HeaderInfo => "MainRegion";
|
||||
|
||||
#endregion Properties
|
||||
|
||||
#region Commands
|
||||
|
||||
/*/// <summary>
|
||||
/// browse to a file to import, should be xml, maybe needs a few other criteria
|
||||
/// </summary>
|
||||
private DelegateCommand _importBrowseCommand;
|
||||
public DelegateCommand ImportBrowseCommand { get { return _importBrowseCommand ?? ( _importBrowseCommand = new DelegateCommand(ImportBrowseMethod)); } }
|
||||
private void ImportBrowseMethod()
|
||||
{
|
||||
using (var dlg = new System.Windows.Forms.OpenFileDialog())
|
||||
{
|
||||
dlg.CheckFileExists = true;
|
||||
dlg.CheckPathExists = true;
|
||||
dlg.Filter = Resources.StringResources.ImportFileBrowse_Filter;
|
||||
dlg.FilterIndex = 0;
|
||||
|
||||
if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
ImportFileName = dlg.FileName;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
#endregion
|
||||
|
||||
#region properties
|
||||
|
||||
public DTS.Serialization.Test Test { get; set; }
|
||||
|
||||
public enum Tags
|
||||
{
|
||||
TestNumber,
|
||||
DateTimeText,
|
||||
CarName,
|
||||
Model,
|
||||
TestTemperature,
|
||||
MeasurementPoint,
|
||||
CrashVelocity,
|
||||
ImpactorID,
|
||||
AvailableImpactorTypes,
|
||||
SelectedImpactor,
|
||||
ImpactorWeight,
|
||||
Examiner,
|
||||
Reserved1,
|
||||
Reserved2,
|
||||
AvailableCFCs,
|
||||
SelectedCFC,
|
||||
AvailableAccelerationUnits,
|
||||
SelectedAccelerationUnit,
|
||||
AvailableBendingAngleUnits,
|
||||
SelectedBendingAngleUnit,
|
||||
AvailableShearAngleUnits,
|
||||
SelectedShearAngleUnit,
|
||||
AvailableTimeUnits,
|
||||
SelectedTimeUnits,
|
||||
AccelerationChannels,
|
||||
SelectedAccelerationChannel,
|
||||
AvailableBendingChannels,
|
||||
SelectedBendingChannel,
|
||||
AvailableShearChannels,
|
||||
SelectedShearChannel
|
||||
}
|
||||
|
||||
public string TestNumber { get; set; }
|
||||
|
||||
private DateTime _dateTime = DateTime.Now;
|
||||
|
||||
public string DateTimeText
|
||||
{
|
||||
get => _dateTime.ToString(System.Globalization.CultureInfo.CurrentCulture);
|
||||
set => _dateTime = DateTime.Parse(value);
|
||||
}
|
||||
|
||||
public string CarName { get; set; }
|
||||
public string Model { get; set; }
|
||||
public string TestTemperature { get; set; }
|
||||
public string MeasurementPoint { get; set; }
|
||||
public string CrashVelocity { get; set; }
|
||||
public string ImpactorID { get; set; }
|
||||
|
||||
public string[] AvailableImpactorTypes => throw new NotImplementedException();
|
||||
public string SelectedImpactor{get;set;}
|
||||
|
||||
public string ImpactorWeight{get;set;}
|
||||
public string Examiner{get;set;}
|
||||
public string Reserved1{get;set;}
|
||||
public string Reserved2{get;set;}
|
||||
|
||||
public DTS.SensorDB.FilterClass[] AvailableCFCs => throw new NotImplementedException();
|
||||
public DTS.SensorDB.FilterClass SelectedCFC{get;set;}
|
||||
|
||||
public DTS.SensorDB.MeasurementUnit[] AvailableAccelerationUnits { get; set; }
|
||||
public DTS.SensorDB.MeasurementUnit SelectedAccelerationUnit { get; set; }
|
||||
|
||||
public ConstantsAndEnums.TimeUnits[] AvailableTimeUnits { get; set; }
|
||||
|
||||
public ConstantsAndEnums.TimeUnits SelectedTimeUnits{get;set;}
|
||||
|
||||
public Event.Module.AnalogInputChannel[] AccelerationChannels { get; set; }
|
||||
public Event.Module.Channel SelectedAccelerationChannel{get;set;}
|
||||
|
||||
public Event.Module.AnalogInputChannel[] AvailableBendingChannels { get; set; }
|
||||
public Event.Module.Channel SelectedBendingChannel { get; set; }
|
||||
|
||||
|
||||
public Event.Module.AnalogInputChannel[] AvailableShearChannels { get; set; }
|
||||
public Event.Module.Channel SelectedShearChannel { get; set; }
|
||||
#endregion
|
||||
|
||||
///<summary>
|
||||
///Occurs when a property value changes.
|
||||
///</summary>
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
public void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Windows.Markup;
|
||||
|
||||
namespace PedestrianAndHeadReports.Resources
|
||||
{
|
||||
[MarkupExtensionReturnType(typeof(string))]
|
||||
public class TranslateExtension : MarkupExtension
|
||||
{
|
||||
private readonly string _key;
|
||||
public TranslateExtension(string key) { _key = key; }
|
||||
|
||||
private const string NotFound = "#stringnotfound#";
|
||||
|
||||
public override object ProvideValue(IServiceProvider serviceProvider)
|
||||
{
|
||||
if (string.IsNullOrEmpty(_key)) { return NotFound; }
|
||||
return StringResources.ResourceManager.GetString(_key) ?? NotFound + " " + _key;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,159 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="c1ChartTRLAcceleration.PropBag" xml:space="preserve">
|
||||
<value><?xml version="1.0"?><Chart2DPropBag Version="2.0.20131.23121"><StyleCollection><NamedStyle Name="Area" ParentName="Area.default" StyleData="BackColor=Window;Border=Solid,ControlDark,1;Rounding=10 10 10 10;" /><NamedStyle Name="LabelStyleDefault.default" ParentName="Control" StyleData="BackColor=Transparent;Border=None,Transparent,1;" /><NamedStyle Name="Control" ParentName="Control.default" StyleData="BackColor=239, 246, 253;Border=Solid,ControlDark,1;" /><NamedStyle Name="AxisY2" ParentName="Area" StyleData="AlignHorz=Far;AlignVert=Center;Rotation=Rotate90;" /><NamedStyle Name="Header" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Footer" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Area.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;" /><NamedStyle Name="AxisY" ParentName="Area" StyleData="AlignHorz=Near;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate270;" /><NamedStyle Name="AxisX" ParentName="Area" StyleData="AlignHorz=Center;AlignVert=Bottom;ForeColor=ControlDarkDark;Rotation=Rotate0;" /><NamedStyle Name="Legend" ParentName="Legend.default" /><NamedStyle Name="LabelStyleDefault" ParentName="LabelStyleDefault.default" /><NamedStyle Name="PlotArea" ParentName="Area" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Legend.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;Wrap=False;" /><NamedStyle Name="Control.default" ParentName="" StyleData="BackColor=Control;Border=None,Transparent,1;ForeColor=ControlText;" /></StyleCollection><ChartGroupsCollection><ChartGroup Name="Group1" Use3D="False"><DataSerializer DefaultSet="True"><DataSeriesCollection><DataSeriesSerializer><LineStyle Color="LightPink" /><SymbolStyle Color="LightPink" OutlineColor="DeepPink" Shape="Box" /><SeriesLabel>series 0</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightBlue" /><SymbolStyle Color="LightBlue" OutlineColor="DarkBlue" Shape="Dot" /><SeriesLabel>series 1</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightGreen" /><SymbolStyle Color="LightGreen" OutlineColor="DarkGreen" Shape="Tri" /><SeriesLabel>series 2</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="Orchid" /><SymbolStyle Color="Orchid" OutlineColor="DarkOrchid" Shape="Diamond" /><SeriesLabel>series 3</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer></DataSeriesCollection><Highlight /></DataSerializer></ChartGroup><ChartGroup Name="Group2"><DataSerializer><Highlight /></DataSerializer></ChartGroup></ChartGroupsCollection><Header Compass="North" Visible="False" /><Footer Compass="South" Visible="False" /><Legend Compass="East" Visible="False" /><ChartArea LocationDefault="-1, -1" SizeDefault="-1, -1" PlotLocation="-1, -1" PlotSize="-1, -1"><Margin /></ChartArea><Axes><Axis Max="1" Min="0" UnitMajor="0.1" UnitMinor="0.05" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="South"><Text>Axis X</Text><GridMajor Visible="True" Spacing="0.1" /></Axis><Axis Max="1" Min="0" UnitMajor="0.2" UnitMinor="0.1" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="West"><GridMajor Visible="True" Spacing="0.2" /></Axis><Axis Max="0" Min="0" UnitMajor="0" UnitMinor="0" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="East" /></Axes><AutoLabelArrangement /><VisualEffectsData>45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group0=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group1=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1</VisualEffectsData></Chart2DPropBag></value>
|
||||
</data>
|
||||
<data name="c1ChartTRLBending.PropBag" xml:space="preserve">
|
||||
<value><?xml version="1.0"?><Chart2DPropBag Version="2.0.20131.23121"><StyleCollection><NamedStyle Name="Area" ParentName="Area.default" StyleData="BackColor=Window;Border=Solid,ControlDark,1;Rounding=10 10 10 10;" /><NamedStyle Name="LabelStyleDefault.default" ParentName="Control" StyleData="BackColor=Transparent;Border=None,Transparent,1;" /><NamedStyle Name="Control" ParentName="Control.default" StyleData="BackColor=239, 246, 253;Border=Solid,ControlDark,1;" /><NamedStyle Name="AxisY2" ParentName="Area" StyleData="AlignHorz=Far;AlignVert=Center;Rotation=Rotate90;" /><NamedStyle Name="Header" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Footer" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Area.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;" /><NamedStyle Name="AxisY" ParentName="Area" StyleData="AlignHorz=Near;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate270;" /><NamedStyle Name="AxisX" ParentName="Area" StyleData="AlignHorz=Center;AlignVert=Bottom;ForeColor=ControlDarkDark;Rotation=Rotate0;" /><NamedStyle Name="Legend" ParentName="Legend.default" /><NamedStyle Name="LabelStyleDefault" ParentName="LabelStyleDefault.default" /><NamedStyle Name="PlotArea" ParentName="Area" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Legend.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;Wrap=False;" /><NamedStyle Name="Control.default" ParentName="" StyleData="BackColor=Control;Border=None,Transparent,1;ForeColor=ControlText;" /></StyleCollection><ChartGroupsCollection><ChartGroup Name="Group1" Use3D="False"><DataSerializer DefaultSet="True"><DataSeriesCollection><DataSeriesSerializer><LineStyle Color="LightPink" /><SymbolStyle Color="LightPink" OutlineColor="DeepPink" Shape="Box" /><SeriesLabel>series 0</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightBlue" /><SymbolStyle Color="LightBlue" OutlineColor="DarkBlue" Shape="Dot" /><SeriesLabel>series 1</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightGreen" /><SymbolStyle Color="LightGreen" OutlineColor="DarkGreen" Shape="Tri" /><SeriesLabel>series 2</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="Orchid" /><SymbolStyle Color="Orchid" OutlineColor="DarkOrchid" Shape="Diamond" /><SeriesLabel>series 3</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer></DataSeriesCollection><Highlight /></DataSerializer></ChartGroup><ChartGroup Name="Group2"><DataSerializer><Highlight /></DataSerializer></ChartGroup></ChartGroupsCollection><Header Compass="North" Visible="False" /><Footer Compass="South" Visible="False" /><Legend Compass="East" Visible="False" /><ChartArea LocationDefault="-1, -1" SizeDefault="-1, -1" PlotLocation="-1, -1" PlotSize="-1, -1"><Margin /></ChartArea><Axes><Axis Max="1" Min="0" UnitMajor="0.1" UnitMinor="0.05" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="South"><Text>Axis X</Text><GridMajor Visible="True" Spacing="0.1" /></Axis><Axis Max="1" Min="0" UnitMajor="0.2" UnitMinor="0.1" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="West"><GridMajor Visible="True" Spacing="0.2" /></Axis><Axis Max="0" Min="0" UnitMajor="0" UnitMinor="0" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="East" /></Axes><AutoLabelArrangement /><VisualEffectsData>45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group0=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group1=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1</VisualEffectsData></Chart2DPropBag></value>
|
||||
</data>
|
||||
<data name="c1ChartTRLShear.PropBag" xml:space="preserve">
|
||||
<value><?xml version="1.0"?><Chart2DPropBag Version="2.0.20131.23121"><StyleCollection><NamedStyle Name="Area" ParentName="Area.default" StyleData="BackColor=Window;Border=Solid,ControlDark,1;Rounding=10 10 10 10;" /><NamedStyle Name="LabelStyleDefault.default" ParentName="Control" StyleData="BackColor=Transparent;Border=None,Transparent,1;" /><NamedStyle Name="Control" ParentName="Control.default" StyleData="BackColor=239, 246, 253;Border=Solid,ControlDark,1;" /><NamedStyle Name="AxisY2" ParentName="Area" StyleData="AlignHorz=Far;AlignVert=Center;Rotation=Rotate90;" /><NamedStyle Name="Header" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Footer" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Area.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;" /><NamedStyle Name="AxisY" ParentName="Area" StyleData="AlignHorz=Near;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate270;" /><NamedStyle Name="AxisX" ParentName="Area" StyleData="AlignHorz=Center;AlignVert=Bottom;ForeColor=ControlDarkDark;Rotation=Rotate0;" /><NamedStyle Name="Legend" ParentName="Legend.default" /><NamedStyle Name="LabelStyleDefault" ParentName="LabelStyleDefault.default" /><NamedStyle Name="PlotArea" ParentName="Area" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Legend.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;Wrap=False;" /><NamedStyle Name="Control.default" ParentName="" StyleData="BackColor=Control;Border=None,Transparent,1;ForeColor=ControlText;" /></StyleCollection><ChartGroupsCollection><ChartGroup Name="Group1" Use3D="False"><DataSerializer DefaultSet="True"><DataSeriesCollection><DataSeriesSerializer><LineStyle Color="LightPink" /><SymbolStyle Color="LightPink" OutlineColor="DeepPink" Shape="Box" /><SeriesLabel>series 0</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightBlue" /><SymbolStyle Color="LightBlue" OutlineColor="DarkBlue" Shape="Dot" /><SeriesLabel>series 1</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightGreen" /><SymbolStyle Color="LightGreen" OutlineColor="DarkGreen" Shape="Tri" /><SeriesLabel>series 2</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="Orchid" /><SymbolStyle Color="Orchid" OutlineColor="DarkOrchid" Shape="Diamond" /><SeriesLabel>series 3</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer></DataSeriesCollection><Highlight /></DataSerializer></ChartGroup><ChartGroup Name="Group2"><DataSerializer><Highlight /></DataSerializer></ChartGroup></ChartGroupsCollection><Header Compass="North" Visible="False" /><Footer Compass="South" Visible="False" /><Legend Compass="East" Visible="False" /><ChartArea LocationDefault="-1, -1" SizeDefault="-1, -1" PlotLocation="-1, -1" PlotSize="-1, -1"><Margin /></ChartArea><Axes><Axis Max="1" Min="0" UnitMajor="0.1" UnitMinor="0.05" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="South"><Text>Axis X</Text><GridMajor Visible="True" Spacing="0.1" /></Axis><Axis Max="1" Min="0" UnitMajor="0.2" UnitMinor="0.1" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="West"><GridMajor Visible="True" Spacing="0.2" /></Axis><Axis Max="0" Min="0" UnitMajor="0" UnitMinor="0" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="East" /></Axes><AutoLabelArrangement /><VisualEffectsData>45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group0=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group1=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1</VisualEffectsData></Chart2DPropBag></value>
|
||||
</data>
|
||||
<data name="c1ChartBend.PropBag" xml:space="preserve">
|
||||
<value><?xml version="1.0"?><Chart2DPropBag Version="2.0.20131.23121"><StyleCollection><NamedStyle Name="Area" ParentName="Area.default" StyleData="BackColor=Window;Border=Solid,ControlDark,1;Rounding=10 10 10 10;" /><NamedStyle Name="LabelStyleDefault.default" ParentName="Control" StyleData="BackColor=Transparent;Border=None,Transparent,1;" /><NamedStyle Name="Control" ParentName="Control.default" StyleData="BackColor=239, 246, 253;Border=Solid,ControlDark,1;" /><NamedStyle Name="AxisY2" ParentName="Area" StyleData="AlignHorz=Far;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate90;" /><NamedStyle Name="Header" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Footer" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Area.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;" /><NamedStyle Name="AxisY" ParentName="Area" StyleData="AlignHorz=Near;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate270;" /><NamedStyle Name="AxisX" ParentName="Area" StyleData="AlignHorz=Center;AlignVert=Bottom;ForeColor=ControlDarkDark;Rotation=Rotate0;" /><NamedStyle Name="Legend" ParentName="Legend.default" /><NamedStyle Name="LabelStyleDefault" ParentName="LabelStyleDefault.default" /><NamedStyle Name="PlotArea" ParentName="Area" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Legend.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;Wrap=False;" /><NamedStyle Name="Control.default" ParentName="" StyleData="BackColor=Control;Border=None,Transparent,1;ForeColor=ControlText;" /></StyleCollection><ChartGroupsCollection><ChartGroup Name="Group1"><DataSerializer DefaultSet="True"><DataSeriesCollection><DataSeriesSerializer><LineStyle Color="LightPink" /><SymbolStyle Color="LightPink" OutlineColor="DeepPink" Shape="Box" /><SeriesLabel>series 0</SeriesLabel><X>1;2;3;4;5</X><Y>20;22;19;24;25</Y><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightBlue" /><SymbolStyle Color="LightBlue" OutlineColor="DarkBlue" Shape="Dot" /><SeriesLabel>series 1</SeriesLabel><X>1;2;3;4;5</X><Y>8;12;10;12;15</Y><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightGreen" /><SymbolStyle Color="LightGreen" OutlineColor="DarkGreen" Shape="Tri" /><SeriesLabel>series 2</SeriesLabel><X>1;2;3;4;5</X><Y>10;16;17;15;23</Y><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="Orchid" /><SymbolStyle Color="Orchid" OutlineColor="DarkOrchid" Shape="Diamond" /><SeriesLabel>series 3</SeriesLabel><X>1;2;3;4;5</X><Y>16;19;15;22;18</Y><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer></DataSeriesCollection><Highlight /></DataSerializer></ChartGroup><ChartGroup Name="Group2"><DataSerializer><Highlight /></DataSerializer></ChartGroup></ChartGroupsCollection><Header Compass="North" Visible="False" /><Footer Compass="South" Visible="False" /><Legend Compass="East" Visible="False" /><ChartArea LocationDefault="-1, -1" SizeDefault="-1, -1" PlotLocation="-1, -1" PlotSize="-1, -1"><Margin /></ChartArea><Axes><Axis Max="8" Min="0" UnitMajor="4" UnitMinor="2" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="South"><Text>Axis X</Text><GridMajor Visible="True" Spacing="4" /></Axis><Axis Max="34" Min="0" UnitMajor="17" UnitMinor="8.5" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="West"><Text>Axis Y</Text><GridMajor Visible="True" Spacing="17" /></Axis><Axis Max="0" Min="0" UnitMajor="0" UnitMinor="0" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="East"><Text>Axis Y2</Text></Axis></Axes><AutoLabelArrangement /><VisualEffectsData>45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group0=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group1=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1</VisualEffectsData></Chart2DPropBag></value>
|
||||
</data>
|
||||
<data name="c1ChartShear.PropBag" xml:space="preserve">
|
||||
<value><?xml version="1.0"?><Chart2DPropBag Version="2.0.20131.23121"><StyleCollection><NamedStyle Name="Area" ParentName="Area.default" StyleData="BackColor=Window;Border=Solid,ControlDark,1;Rounding=10 10 10 10;" /><NamedStyle Name="LabelStyleDefault.default" ParentName="Control" StyleData="BackColor=Transparent;Border=None,Transparent,1;" /><NamedStyle Name="Control" ParentName="Control.default" StyleData="BackColor=239, 246, 253;Border=Solid,ControlDark,1;" /><NamedStyle Name="AxisY2" ParentName="Area" StyleData="AlignHorz=Far;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate90;" /><NamedStyle Name="Header" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Footer" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Area.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;" /><NamedStyle Name="AxisY" ParentName="Area" StyleData="AlignHorz=Near;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate270;" /><NamedStyle Name="AxisX" ParentName="Area" StyleData="AlignHorz=Center;AlignVert=Bottom;ForeColor=ControlDarkDark;Rotation=Rotate0;" /><NamedStyle Name="Legend" ParentName="Legend.default" /><NamedStyle Name="LabelStyleDefault" ParentName="LabelStyleDefault.default" /><NamedStyle Name="PlotArea" ParentName="Area" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Legend.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;Wrap=False;" /><NamedStyle Name="Control.default" ParentName="" StyleData="BackColor=Control;Border=None,Transparent,1;ForeColor=ControlText;" /></StyleCollection><ChartGroupsCollection><ChartGroup Name="Group1"><DataSerializer DefaultSet="True"><DataSeriesCollection><DataSeriesSerializer><LineStyle Color="LightPink" /><SymbolStyle Color="LightPink" OutlineColor="DeepPink" Shape="Box" /><SeriesLabel>series 0</SeriesLabel><X>1;2;3;4;5</X><Y>20;22;19;24;25</Y><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightBlue" /><SymbolStyle Color="LightBlue" OutlineColor="DarkBlue" Shape="Dot" /><SeriesLabel>series 1</SeriesLabel><X>1;2;3;4;5</X><Y>8;12;10;12;15</Y><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightGreen" /><SymbolStyle Color="LightGreen" OutlineColor="DarkGreen" Shape="Tri" /><SeriesLabel>series 2</SeriesLabel><X>1;2;3;4;5</X><Y>10;16;17;15;23</Y><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="Orchid" /><SymbolStyle Color="Orchid" OutlineColor="DarkOrchid" Shape="Diamond" /><SeriesLabel>series 3</SeriesLabel><X>1;2;3;4;5</X><Y>16;19;15;22;18</Y><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer></DataSeriesCollection><Highlight /></DataSerializer></ChartGroup><ChartGroup Name="Group2"><DataSerializer><Highlight /></DataSerializer></ChartGroup></ChartGroupsCollection><Header Compass="North" Visible="False" /><Footer Compass="South" Visible="False" /><Legend Compass="East" Visible="False" /><ChartArea LocationDefault="-1, -1" SizeDefault="-1, -1" PlotLocation="-1, -1" PlotSize="-1, -1"><Margin /></ChartArea><Axes><Axis Max="8" Min="0" UnitMajor="4" UnitMinor="2" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="South"><Text>Axis X</Text><GridMajor Visible="True" Spacing="4" /></Axis><Axis Max="34" Min="0" UnitMajor="17" UnitMinor="8.5" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="West"><Text>Axis Y</Text><GridMajor Visible="True" Spacing="17" /></Axis><Axis Max="0" Min="0" UnitMajor="0" UnitMinor="0" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="East"><Text>Axis Y2</Text></Axis></Axes><AutoLabelArrangement /><VisualEffectsData>45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group0=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group1=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1</VisualEffectsData></Chart2DPropBag></value>
|
||||
</data>
|
||||
<data name="c1ChartFLEXTibia1.PropBag" xml:space="preserve">
|
||||
<value><?xml version="1.0"?><Chart2DPropBag Version="2.0.20131.23121"><StyleCollection><NamedStyle Name="Area" ParentName="Area.default" StyleData="BackColor=Window;Border=Solid,ControlDark,1;Rounding=10 10 10 10;" /><NamedStyle Name="LabelStyleDefault.default" ParentName="Control" StyleData="BackColor=Transparent;Border=None,Transparent,1;" /><NamedStyle Name="Control" ParentName="Control.default" StyleData="BackColor=239, 246, 253;Border=Solid,ControlDark,1;" /><NamedStyle Name="AxisY2" ParentName="Area" StyleData="AlignHorz=Far;AlignVert=Center;Rotation=Rotate90;" /><NamedStyle Name="Header" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Footer" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Area.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;" /><NamedStyle Name="AxisY" ParentName="Area" StyleData="AlignHorz=Near;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate270;" /><NamedStyle Name="AxisX" ParentName="Area" StyleData="AlignHorz=Center;AlignVert=Bottom;ForeColor=ControlDarkDark;Rotation=Rotate0;" /><NamedStyle Name="Legend" ParentName="Legend.default" /><NamedStyle Name="LabelStyleDefault" ParentName="LabelStyleDefault.default" /><NamedStyle Name="PlotArea" ParentName="Area" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Legend.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;Wrap=False;" /><NamedStyle Name="Control.default" ParentName="" StyleData="BackColor=Control;Border=None,Transparent,1;ForeColor=ControlText;" /></StyleCollection><ChartGroupsCollection><ChartGroup Name="Group1" Use3D="False"><DataSerializer DefaultSet="True"><DataSeriesCollection><DataSeriesSerializer><LineStyle Color="LightPink" /><SymbolStyle Color="LightPink" OutlineColor="DeepPink" Shape="Box" /><SeriesLabel>series 0</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightBlue" /><SymbolStyle Color="LightBlue" OutlineColor="DarkBlue" Shape="Dot" /><SeriesLabel>series 1</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightGreen" /><SymbolStyle Color="LightGreen" OutlineColor="DarkGreen" Shape="Tri" /><SeriesLabel>series 2</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="Orchid" /><SymbolStyle Color="Orchid" OutlineColor="DarkOrchid" Shape="Diamond" /><SeriesLabel>series 3</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer></DataSeriesCollection><Highlight /></DataSerializer></ChartGroup><ChartGroup Name="Group2"><DataSerializer><Highlight /></DataSerializer></ChartGroup></ChartGroupsCollection><Header Compass="North" Visible="False" /><Footer Compass="South" Visible="False" /><Legend Compass="East" Visible="False" /><ChartArea LocationDefault="-1, -1" SizeDefault="-1, -1" PlotLocation="-1, -1" PlotSize="-1, -1"><Margin /></ChartArea><Axes><Axis Max="1" Min="0" UnitMajor="0.1" UnitMinor="0.05" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="South"><Text>Axis X</Text><GridMajor Visible="True" Spacing="0.1" /></Axis><Axis Max="1" Min="0" UnitMajor="0.2" UnitMinor="0.1" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="West"><GridMajor Visible="True" Spacing="0.2" /></Axis><Axis Max="0" Min="0" UnitMajor="0" UnitMinor="0" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="East" /></Axes><AutoLabelArrangement /><VisualEffectsData>45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group0=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group1=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1</VisualEffectsData></Chart2DPropBag></value>
|
||||
</data>
|
||||
<data name="c1ChartFLEXTibia2.PropBag" xml:space="preserve">
|
||||
<value><?xml version="1.0"?><Chart2DPropBag Version="2.0.20131.23121"><StyleCollection><NamedStyle Name="Area" ParentName="Area.default" StyleData="BackColor=Window;Border=Solid,ControlDark,1;Rounding=10 10 10 10;" /><NamedStyle Name="LabelStyleDefault.default" ParentName="Control" StyleData="BackColor=Transparent;Border=None,Transparent,1;" /><NamedStyle Name="Control" ParentName="Control.default" StyleData="BackColor=239, 246, 253;Border=Solid,ControlDark,1;" /><NamedStyle Name="AxisY2" ParentName="Area" StyleData="AlignHorz=Far;AlignVert=Center;Rotation=Rotate90;" /><NamedStyle Name="Header" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Footer" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Area.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;" /><NamedStyle Name="AxisY" ParentName="Area" StyleData="AlignHorz=Near;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate270;" /><NamedStyle Name="AxisX" ParentName="Area" StyleData="AlignHorz=Center;AlignVert=Bottom;ForeColor=ControlDarkDark;Rotation=Rotate0;" /><NamedStyle Name="Legend" ParentName="Legend.default" /><NamedStyle Name="LabelStyleDefault" ParentName="LabelStyleDefault.default" /><NamedStyle Name="PlotArea" ParentName="Area" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Legend.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;Wrap=False;" /><NamedStyle Name="Control.default" ParentName="" StyleData="BackColor=Control;Border=None,Transparent,1;ForeColor=ControlText;" /></StyleCollection><ChartGroupsCollection><ChartGroup Name="Group1" Use3D="False"><DataSerializer DefaultSet="True"><DataSeriesCollection><DataSeriesSerializer><LineStyle Color="LightPink" /><SymbolStyle Color="LightPink" OutlineColor="DeepPink" Shape="Box" /><SeriesLabel>series 0</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightBlue" /><SymbolStyle Color="LightBlue" OutlineColor="DarkBlue" Shape="Dot" /><SeriesLabel>series 1</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightGreen" /><SymbolStyle Color="LightGreen" OutlineColor="DarkGreen" Shape="Tri" /><SeriesLabel>series 2</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="Orchid" /><SymbolStyle Color="Orchid" OutlineColor="DarkOrchid" Shape="Diamond" /><SeriesLabel>series 3</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer></DataSeriesCollection><Highlight /></DataSerializer></ChartGroup><ChartGroup Name="Group2"><DataSerializer><Highlight /></DataSerializer></ChartGroup></ChartGroupsCollection><Header Compass="North" Visible="False" /><Footer Compass="South" Visible="False" /><Legend Compass="East" Visible="False" /><ChartArea LocationDefault="-1, -1" SizeDefault="-1, -1" PlotLocation="-1, -1" PlotSize="-1, -1"><Margin /></ChartArea><Axes><Axis Max="1" Min="0" UnitMajor="0.1" UnitMinor="0.05" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="South"><Text>Axis X</Text><GridMajor Visible="True" Spacing="0.1" /></Axis><Axis Max="1" Min="0" UnitMajor="0.2" UnitMinor="0.1" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="West"><GridMajor Visible="True" Spacing="0.2" /></Axis><Axis Max="0" Min="0" UnitMajor="0" UnitMinor="0" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="East" /></Axes><AutoLabelArrangement /><VisualEffectsData>45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group0=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group1=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1</VisualEffectsData></Chart2DPropBag></value>
|
||||
</data>
|
||||
<data name="c1ChartFLEXTibia3.PropBag" xml:space="preserve">
|
||||
<value><?xml version="1.0"?><Chart2DPropBag Version="2.0.20131.23121"><StyleCollection><NamedStyle Name="Area" ParentName="Area.default" StyleData="BackColor=Window;Border=Solid,ControlDark,1;Rounding=10 10 10 10;" /><NamedStyle Name="LabelStyleDefault.default" ParentName="Control" StyleData="BackColor=Transparent;Border=None,Transparent,1;" /><NamedStyle Name="Control" ParentName="Control.default" StyleData="BackColor=239, 246, 253;Border=Solid,ControlDark,1;" /><NamedStyle Name="AxisY2" ParentName="Area" StyleData="AlignHorz=Far;AlignVert=Center;Rotation=Rotate90;" /><NamedStyle Name="Header" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Footer" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Area.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;" /><NamedStyle Name="AxisY" ParentName="Area" StyleData="AlignHorz=Near;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate270;" /><NamedStyle Name="AxisX" ParentName="Area" StyleData="AlignHorz=Center;AlignVert=Bottom;ForeColor=ControlDarkDark;Rotation=Rotate0;" /><NamedStyle Name="Legend" ParentName="Legend.default" /><NamedStyle Name="LabelStyleDefault" ParentName="LabelStyleDefault.default" /><NamedStyle Name="PlotArea" ParentName="Area" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Legend.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;Wrap=False;" /><NamedStyle Name="Control.default" ParentName="" StyleData="BackColor=Control;Border=None,Transparent,1;ForeColor=ControlText;" /></StyleCollection><ChartGroupsCollection><ChartGroup Name="Group1" Use3D="False"><DataSerializer DefaultSet="True"><DataSeriesCollection><DataSeriesSerializer><LineStyle Color="LightPink" /><SymbolStyle Color="LightPink" OutlineColor="DeepPink" Shape="Box" /><SeriesLabel>series 0</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightBlue" /><SymbolStyle Color="LightBlue" OutlineColor="DarkBlue" Shape="Dot" /><SeriesLabel>series 1</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightGreen" /><SymbolStyle Color="LightGreen" OutlineColor="DarkGreen" Shape="Tri" /><SeriesLabel>series 2</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="Orchid" /><SymbolStyle Color="Orchid" OutlineColor="DarkOrchid" Shape="Diamond" /><SeriesLabel>series 3</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer></DataSeriesCollection><Highlight /></DataSerializer></ChartGroup><ChartGroup Name="Group2"><DataSerializer><Highlight /></DataSerializer></ChartGroup></ChartGroupsCollection><Header Compass="North" Visible="False" /><Footer Compass="South" Visible="False" /><Legend Compass="East" Visible="False" /><ChartArea LocationDefault="-1, -1" SizeDefault="-1, -1" PlotLocation="-1, -1" PlotSize="-1, -1"><Margin /></ChartArea><Axes><Axis Max="1" Min="0" UnitMajor="0.1" UnitMinor="0.05" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="South"><Text>Axis X</Text><GridMajor Visible="True" Spacing="0.1" /></Axis><Axis Max="1" Min="0" UnitMajor="0.2" UnitMinor="0.1" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="West"><GridMajor Visible="True" Spacing="0.2" /></Axis><Axis Max="0" Min="0" UnitMajor="0" UnitMinor="0" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="East" /></Axes><AutoLabelArrangement /><VisualEffectsData>45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group0=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group1=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1</VisualEffectsData></Chart2DPropBag></value>
|
||||
</data>
|
||||
<data name="c1ChartFLEXTibia4.PropBag" xml:space="preserve">
|
||||
<value><?xml version="1.0"?><Chart2DPropBag Version="2.0.20131.23121"><StyleCollection><NamedStyle Name="Area" ParentName="Area.default" StyleData="BackColor=Window;Border=Solid,ControlDark,1;Rounding=10 10 10 10;" /><NamedStyle Name="LabelStyleDefault.default" ParentName="Control" StyleData="BackColor=Transparent;Border=None,Transparent,1;" /><NamedStyle Name="Control" ParentName="Control.default" StyleData="BackColor=239, 246, 253;Border=Solid,ControlDark,1;" /><NamedStyle Name="AxisY2" ParentName="Area" StyleData="AlignHorz=Far;AlignVert=Center;Rotation=Rotate90;" /><NamedStyle Name="Header" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Footer" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Area.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;" /><NamedStyle Name="AxisY" ParentName="Area" StyleData="AlignHorz=Near;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate270;" /><NamedStyle Name="AxisX" ParentName="Area" StyleData="AlignHorz=Center;AlignVert=Bottom;ForeColor=ControlDarkDark;Rotation=Rotate0;" /><NamedStyle Name="Legend" ParentName="Legend.default" /><NamedStyle Name="LabelStyleDefault" ParentName="LabelStyleDefault.default" /><NamedStyle Name="PlotArea" ParentName="Area" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Legend.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;Wrap=False;" /><NamedStyle Name="Control.default" ParentName="" StyleData="BackColor=Control;Border=None,Transparent,1;ForeColor=ControlText;" /></StyleCollection><ChartGroupsCollection><ChartGroup Name="Group1" Use3D="False"><DataSerializer DefaultSet="True"><DataSeriesCollection><DataSeriesSerializer><LineStyle Color="LightPink" /><SymbolStyle Color="LightPink" OutlineColor="DeepPink" Shape="Box" /><SeriesLabel>series 0</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightBlue" /><SymbolStyle Color="LightBlue" OutlineColor="DarkBlue" Shape="Dot" /><SeriesLabel>series 1</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightGreen" /><SymbolStyle Color="LightGreen" OutlineColor="DarkGreen" Shape="Tri" /><SeriesLabel>series 2</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="Orchid" /><SymbolStyle Color="Orchid" OutlineColor="DarkOrchid" Shape="Diamond" /><SeriesLabel>series 3</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer></DataSeriesCollection><Highlight /></DataSerializer></ChartGroup><ChartGroup Name="Group2"><DataSerializer><Highlight /></DataSerializer></ChartGroup></ChartGroupsCollection><Header Compass="North" Visible="False" /><Footer Compass="South" Visible="False" /><Legend Compass="East" Visible="False" /><ChartArea LocationDefault="-1, -1" SizeDefault="-1, -1" PlotLocation="-1, -1" PlotSize="-1, -1"><Margin /></ChartArea><Axes><Axis Max="1" Min="0" UnitMajor="0.1" UnitMinor="0.05" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="South"><Text>Axis X</Text><GridMajor Visible="True" Spacing="0.1" /></Axis><Axis Max="1" Min="0" UnitMajor="0.2" UnitMinor="0.1" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="West"><GridMajor Visible="True" Spacing="0.2" /></Axis><Axis Max="0" Min="0" UnitMajor="0" UnitMinor="0" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="East" /></Axes><AutoLabelArrangement /><VisualEffectsData>45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group0=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group1=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1</VisualEffectsData></Chart2DPropBag></value>
|
||||
</data>
|
||||
<data name="c1ChartFLEXMCL.PropBag" xml:space="preserve">
|
||||
<value><?xml version="1.0"?><Chart2DPropBag Version="2.0.20131.23121"><StyleCollection><NamedStyle Name="Area" ParentName="Area.default" StyleData="BackColor=Window;Border=Solid,ControlDark,1;Rounding=10 10 10 10;" /><NamedStyle Name="LabelStyleDefault.default" ParentName="Control" StyleData="BackColor=Transparent;Border=None,Transparent,1;" /><NamedStyle Name="Control" ParentName="Control.default" StyleData="BackColor=239, 246, 253;Border=Solid,ControlDark,1;" /><NamedStyle Name="AxisY2" ParentName="Area" StyleData="AlignHorz=Far;AlignVert=Center;Rotation=Rotate90;" /><NamedStyle Name="Header" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Footer" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Area.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;" /><NamedStyle Name="AxisY" ParentName="Area" StyleData="AlignHorz=Near;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate270;" /><NamedStyle Name="AxisX" ParentName="Area" StyleData="AlignHorz=Center;AlignVert=Bottom;ForeColor=ControlDarkDark;Rotation=Rotate0;" /><NamedStyle Name="Legend" ParentName="Legend.default" /><NamedStyle Name="LabelStyleDefault" ParentName="LabelStyleDefault.default" /><NamedStyle Name="PlotArea" ParentName="Area" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Legend.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;Wrap=False;" /><NamedStyle Name="Control.default" ParentName="" StyleData="BackColor=Control;Border=None,Transparent,1;ForeColor=ControlText;" /></StyleCollection><ChartGroupsCollection><ChartGroup Name="Group1" Use3D="False"><DataSerializer DefaultSet="True"><DataSeriesCollection><DataSeriesSerializer><LineStyle Color="LightPink" /><SymbolStyle Color="LightPink" OutlineColor="DeepPink" Shape="Box" /><SeriesLabel>series 0</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightBlue" /><SymbolStyle Color="LightBlue" OutlineColor="DarkBlue" Shape="Dot" /><SeriesLabel>series 1</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightGreen" /><SymbolStyle Color="LightGreen" OutlineColor="DarkGreen" Shape="Tri" /><SeriesLabel>series 2</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="Orchid" /><SymbolStyle Color="Orchid" OutlineColor="DarkOrchid" Shape="Diamond" /><SeriesLabel>series 3</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer></DataSeriesCollection><Highlight /></DataSerializer></ChartGroup><ChartGroup Name="Group2"><DataSerializer><Highlight /></DataSerializer></ChartGroup></ChartGroupsCollection><Header Compass="North" Visible="False" /><Footer Compass="South" Visible="False" /><Legend Compass="East" Visible="False" /><ChartArea LocationDefault="-1, -1" SizeDefault="-1, -1" PlotLocation="-1, -1" PlotSize="-1, -1"><Margin /></ChartArea><Axes><Axis Max="1" Min="0" UnitMajor="0.1" UnitMinor="0.05" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="South"><Text>Axis X</Text><GridMajor Visible="True" Spacing="0.1" /></Axis><Axis Max="1" Min="0" UnitMajor="0.2" UnitMinor="0.1" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="West"><GridMajor Visible="True" Spacing="0.2" /></Axis><Axis Max="0" Min="0" UnitMajor="0" UnitMinor="0" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="East" /></Axes><AutoLabelArrangement /><VisualEffectsData>45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group0=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group1=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1</VisualEffectsData></Chart2DPropBag></value>
|
||||
</data>
|
||||
<data name="c1ChartFLEXACL.PropBag" xml:space="preserve">
|
||||
<value><?xml version="1.0"?><Chart2DPropBag Version="2.0.20131.23121"><StyleCollection><NamedStyle Name="Area" ParentName="Area.default" StyleData="BackColor=Window;Border=Solid,ControlDark,1;Rounding=10 10 10 10;" /><NamedStyle Name="LabelStyleDefault.default" ParentName="Control" StyleData="BackColor=Transparent;Border=None,Transparent,1;" /><NamedStyle Name="Control" ParentName="Control.default" StyleData="BackColor=239, 246, 253;Border=Solid,ControlDark,1;" /><NamedStyle Name="AxisY2" ParentName="Area" StyleData="AlignHorz=Far;AlignVert=Center;Rotation=Rotate90;" /><NamedStyle Name="Header" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Footer" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Area.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;" /><NamedStyle Name="AxisY" ParentName="Area" StyleData="AlignHorz=Near;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate270;" /><NamedStyle Name="AxisX" ParentName="Area" StyleData="AlignHorz=Center;AlignVert=Bottom;ForeColor=ControlDarkDark;Rotation=Rotate0;" /><NamedStyle Name="Legend" ParentName="Legend.default" /><NamedStyle Name="LabelStyleDefault" ParentName="LabelStyleDefault.default" /><NamedStyle Name="PlotArea" ParentName="Area" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Legend.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;Wrap=False;" /><NamedStyle Name="Control.default" ParentName="" StyleData="BackColor=Control;Border=None,Transparent,1;ForeColor=ControlText;" /></StyleCollection><ChartGroupsCollection><ChartGroup Name="Group1" Use3D="False"><DataSerializer DefaultSet="True"><DataSeriesCollection><DataSeriesSerializer><LineStyle Color="LightPink" /><SymbolStyle Color="LightPink" OutlineColor="DeepPink" Shape="Box" /><SeriesLabel>series 0</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightBlue" /><SymbolStyle Color="LightBlue" OutlineColor="DarkBlue" Shape="Dot" /><SeriesLabel>series 1</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightGreen" /><SymbolStyle Color="LightGreen" OutlineColor="DarkGreen" Shape="Tri" /><SeriesLabel>series 2</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="Orchid" /><SymbolStyle Color="Orchid" OutlineColor="DarkOrchid" Shape="Diamond" /><SeriesLabel>series 3</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer></DataSeriesCollection><Highlight /></DataSerializer></ChartGroup><ChartGroup Name="Group2"><DataSerializer><Highlight /></DataSerializer></ChartGroup></ChartGroupsCollection><Header Compass="North" Visible="False" /><Footer Compass="South" Visible="False" /><Legend Compass="East" Visible="False" /><ChartArea LocationDefault="-1, -1" SizeDefault="-1, -1" PlotLocation="-1, -1" PlotSize="-1, -1"><Margin /></ChartArea><Axes><Axis Max="1" Min="0" UnitMajor="0.1" UnitMinor="0.05" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="South"><Text>Axis X</Text><GridMajor Visible="True" Spacing="0.1" /></Axis><Axis Max="1" Min="0" UnitMajor="0.2" UnitMinor="0.1" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="West"><GridMajor Visible="True" Spacing="0.2" /></Axis><Axis Max="0" Min="0" UnitMajor="0" UnitMinor="0" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="East" /></Axes><AutoLabelArrangement /><VisualEffectsData>45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group0=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group1=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1</VisualEffectsData></Chart2DPropBag></value>
|
||||
</data>
|
||||
<data name="c1ChartFLEXPCL.PropBag" xml:space="preserve">
|
||||
<value><?xml version="1.0"?><Chart2DPropBag Version="2.0.20131.23121"><StyleCollection><NamedStyle Name="Area" ParentName="Area.default" StyleData="BackColor=Window;Border=Solid,ControlDark,1;Rounding=10 10 10 10;" /><NamedStyle Name="LabelStyleDefault.default" ParentName="Control" StyleData="BackColor=Transparent;Border=None,Transparent,1;" /><NamedStyle Name="Control" ParentName="Control.default" StyleData="BackColor=239, 246, 253;Border=Solid,ControlDark,1;" /><NamedStyle Name="AxisY2" ParentName="Area" StyleData="AlignHorz=Far;AlignVert=Center;Rotation=Rotate90;" /><NamedStyle Name="Header" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Footer" ParentName="Control" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Area.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;" /><NamedStyle Name="AxisY" ParentName="Area" StyleData="AlignHorz=Near;AlignVert=Center;ForeColor=ControlDarkDark;Rotation=Rotate270;" /><NamedStyle Name="AxisX" ParentName="Area" StyleData="AlignHorz=Center;AlignVert=Bottom;ForeColor=ControlDarkDark;Rotation=Rotate0;" /><NamedStyle Name="Legend" ParentName="Legend.default" /><NamedStyle Name="LabelStyleDefault" ParentName="LabelStyleDefault.default" /><NamedStyle Name="PlotArea" ParentName="Area" StyleData="Border=None,Transparent,1;" /><NamedStyle Name="Legend.default" ParentName="Control" StyleData="AlignVert=Top;Border=None,Transparent,1;Wrap=False;" /><NamedStyle Name="Control.default" ParentName="" StyleData="BackColor=Control;Border=None,Transparent,1;ForeColor=ControlText;" /></StyleCollection><ChartGroupsCollection><ChartGroup Name="Group1" Use3D="False"><DataSerializer DefaultSet="True"><DataSeriesCollection><DataSeriesSerializer><LineStyle Color="LightPink" /><SymbolStyle Color="LightPink" OutlineColor="DeepPink" Shape="Box" /><SeriesLabel>series 0</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightBlue" /><SymbolStyle Color="LightBlue" OutlineColor="DarkBlue" Shape="Dot" /><SeriesLabel>series 1</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="LightGreen" /><SymbolStyle Color="LightGreen" OutlineColor="DarkGreen" Shape="Tri" /><SeriesLabel>series 2</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer><DataSeriesSerializer><LineStyle Color="Orchid" /><SymbolStyle Color="Orchid" OutlineColor="DarkOrchid" Shape="Diamond" /><SeriesLabel>series 3</SeriesLabel><DataTypes>Single;Single;Double;Double;Double</DataTypes><FillStyle /><Histogram /></DataSeriesSerializer></DataSeriesCollection><Highlight /></DataSerializer></ChartGroup><ChartGroup Name="Group2"><DataSerializer><Highlight /></DataSerializer></ChartGroup></ChartGroupsCollection><Header Compass="North" Visible="False" /><Footer Compass="South" Visible="False" /><Legend Compass="East" Visible="False" /><ChartArea LocationDefault="-1, -1" SizeDefault="-1, -1" PlotLocation="-1, -1" PlotSize="-1, -1"><Margin /></ChartArea><Axes><Axis Max="1" Min="0" UnitMajor="0.1" UnitMinor="0.05" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="South"><Text>Axis X</Text><GridMajor Visible="True" Spacing="0.1" /></Axis><Axis Max="1" Min="0" UnitMajor="0.2" UnitMinor="0.1" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="West"><GridMajor Visible="True" Spacing="0.2" /></Axis><Axis Max="0" Min="0" UnitMajor="0" UnitMinor="0" AutoMajor="True" AutoMinor="True" AutoMax="True" AutoMin="True" Compass="East" /></Axes><AutoLabelArrangement /><VisualEffectsData>45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group0=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1;Group1=45,1,0.6,0.1,0.5,0.9,0,0,0.15,0,0,1,0.5,-25,0,0,0,1,64,1</VisualEffectsData></Chart2DPropBag></value>
|
||||
</data>
|
||||
<metadata name="errorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,234 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace DTS.Slice.PedestrianAndHeadReports
|
||||
{
|
||||
public class GraphChannel: INotifyPropertyChanged
|
||||
{
|
||||
public virtual void SetValue(Fields field, string value)
|
||||
{
|
||||
switch (field)
|
||||
{
|
||||
case Fields.Offset:
|
||||
double d;
|
||||
if (double.TryParse(value, out d)) { Offset = d; }
|
||||
break;
|
||||
case Fields.UseOffset:
|
||||
bool b;
|
||||
if (bool.TryParse(value, out b)) { UseOffset = b; }
|
||||
break;
|
||||
default:
|
||||
throw new NotImplementedException(field.ToString());
|
||||
}
|
||||
}
|
||||
public virtual string GetValue(Fields field)
|
||||
{
|
||||
return GetValue(field, Properties.Settings.Default.PROTECTIONREPORT_NumberFormat);
|
||||
}
|
||||
public virtual string GetValueTrunc2Places(Fields field)
|
||||
{
|
||||
switch (field)
|
||||
{
|
||||
case Fields.DataMax:
|
||||
return (((int)(DataMax * 100)) / 100).ToString("N2");
|
||||
case Fields.DataMin:
|
||||
return (((int)(DataMin * 100)) / 100).ToString("N2");
|
||||
case Fields.TimeOfMax:
|
||||
return (((int)(TimeOfMax * 100)) / 100).ToString("N2");
|
||||
case Fields.TimeOfMin:
|
||||
return (((int)(TimeOfMin * 100)) / 100).ToString("N2");
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
public virtual string GetValue(Fields field, string format)
|
||||
{
|
||||
switch (field)
|
||||
{
|
||||
case Fields.DataMax:
|
||||
return DataMax.ToString(format);
|
||||
case Fields.DataMin:
|
||||
return DataMin.ToString(format);
|
||||
case Fields.TimeOfMax:
|
||||
return TimeOfMax.ToString(format);
|
||||
case Fields.TimeOfMin:
|
||||
return TimeOfMin.ToString(format);
|
||||
case Fields.UseOffset:
|
||||
return UseOffset.ToString();
|
||||
case Fields.Offset:
|
||||
return Offset.ToString();
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
private bool _useOffset = false;
|
||||
public bool UseOffset
|
||||
{
|
||||
get { return _useOffset; }
|
||||
set
|
||||
{
|
||||
SetProperty(ref _useOffset, value, "UseOffset");
|
||||
if (null != Channel && null != Channel.Channel)
|
||||
{
|
||||
Channel.Channel.UserOffsetEU = value ? Offset : 0D;
|
||||
}
|
||||
}
|
||||
}
|
||||
private double _offset = 0D;
|
||||
public double Offset
|
||||
{
|
||||
get { return _offset; }
|
||||
set
|
||||
{
|
||||
SetProperty(ref _offset, value, "Offset");
|
||||
if (UseOffset)
|
||||
{
|
||||
if (null != Channel && null != Channel.Channel)
|
||||
{
|
||||
Channel.Channel.UserOffsetEU = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum Fields
|
||||
{
|
||||
DataMin,
|
||||
DataMax,
|
||||
TimeOfMin,
|
||||
TimeOfMax,
|
||||
HIC,
|
||||
T1,
|
||||
T2,
|
||||
UseOffset,
|
||||
Offset
|
||||
}
|
||||
/// <summary>
|
||||
/// these functions make us WPF/dependency property friendly, and also
|
||||
/// adds a convenient way for us to notify consumers when a property has changed
|
||||
/// </summary>
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
protected bool SetProperty<T>(ref T storage, T value, String propertyName)
|
||||
{
|
||||
if (object.Equals(storage, value)) return false;
|
||||
|
||||
storage = value;
|
||||
this.OnPropertyChanged(propertyName);
|
||||
return true;
|
||||
}
|
||||
protected void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
var eventHandler = this.PropertyChanged;
|
||||
if (eventHandler != null)
|
||||
{
|
||||
eventHandler(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
private string _id;
|
||||
public string Id { get { return _id; } }
|
||||
|
||||
private string _displayName;
|
||||
public string DisplayName { get { return _displayName; } set { SetProperty(ref _displayName, value, "DisplayName"); } }
|
||||
|
||||
private string _channelNameHint;
|
||||
public string ChannelNameHint { get { return _channelNameHint; } set { SetProperty(ref _channelNameHint, value, "ChannelNameHint"); } }
|
||||
|
||||
private ReviewTestChannel _channel;
|
||||
public ReviewTestChannel Channel
|
||||
{
|
||||
get { return _channel; }
|
||||
set
|
||||
{
|
||||
SetProperty(ref _channel, value, "Channel");
|
||||
}
|
||||
}
|
||||
|
||||
public GraphChannel(string id, string displayName, string hint)
|
||||
{
|
||||
_id = id;
|
||||
DisplayName = displayName;
|
||||
ChannelNameHint = hint;
|
||||
}
|
||||
|
||||
private double _dataMin;
|
||||
public double DataMin
|
||||
{
|
||||
get { return _dataMin; }
|
||||
set { SetProperty(ref _dataMin, value, "DataMin"); }
|
||||
}
|
||||
private double _dataMax;
|
||||
public double DataMax
|
||||
{
|
||||
get { return _dataMax; }
|
||||
set { SetProperty(ref _dataMax, value, "DataMax"); }
|
||||
}
|
||||
|
||||
private double _timeOfMin;
|
||||
public double TimeOfMin
|
||||
{
|
||||
get { return _timeOfMin; }
|
||||
set { SetProperty(ref _timeOfMin, value, "TimeOfMin"); }
|
||||
}
|
||||
private double _timeOfMax;
|
||||
public double TimeOfMax
|
||||
{
|
||||
get { return _timeOfMax; }
|
||||
set { SetProperty(ref _timeOfMax, value, "TimeOfMax"); }
|
||||
}
|
||||
}
|
||||
public class HICChannel : GraphChannel
|
||||
{
|
||||
public double _HIC;
|
||||
public double HIC
|
||||
{
|
||||
get { return _HIC; }
|
||||
set { SetProperty(ref _HIC, value, "HIC"); }
|
||||
}
|
||||
public double _t1;
|
||||
public double T1
|
||||
{
|
||||
get { return _t1; }
|
||||
set { SetProperty(ref _t1, value, "T1"); }
|
||||
}
|
||||
public double _t2;
|
||||
public double T2
|
||||
{
|
||||
get { return _t2; }
|
||||
set { SetProperty(ref _t2, value, "T2"); }
|
||||
}
|
||||
public HICChannel(string id, string displayName, string hint) :
|
||||
base(id, displayName, hint)
|
||||
{ }
|
||||
public override string GetValue(GraphChannel.Fields field)
|
||||
{
|
||||
switch (field)
|
||||
{
|
||||
case Fields.HIC: return (((int)(HIC * 1000)) / 1000D).ToString("N3");
|
||||
case Fields.T1: return (((int)(T1 * 100 ))/ 100D).ToString("N2");
|
||||
case Fields.T2: return (((int)(T2 * 100 ))/ 100D).ToString("N2");
|
||||
default:
|
||||
return base.GetValue(field);
|
||||
}
|
||||
}
|
||||
}
|
||||
public class VectorAddition : GraphChannel
|
||||
{
|
||||
public VectorAddition(string id, string displayName, string hint) :
|
||||
base(id, displayName, hint)
|
||||
{ }
|
||||
}
|
||||
public class BendingDisplacement : GraphChannel
|
||||
{
|
||||
public BendingDisplacement(string id, string displayname, string hint) :
|
||||
base(id, displayname, hint)
|
||||
{ }
|
||||
}
|
||||
public class ShearingDisplacement : GraphChannel
|
||||
{
|
||||
public ShearingDisplacement(string id, string displayname, string hint) :
|
||||
base(id, displayname, hint) { }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using DTS.Common.Interface;
|
||||
|
||||
namespace PedestrianAndHeadReports
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for PowerAndBatteryView.xaml
|
||||
/// </summary>
|
||||
public partial class HeadReportOutputView : IHeadReportOutputView
|
||||
{
|
||||
public HeadReportOutputView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using DTS.Common.Interface;
|
||||
|
||||
namespace PedestrianAndHeadReports
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for PowerAndBatteryView.xaml
|
||||
/// </summary>
|
||||
public partial class TRLReportInputView : ITRLReportInputView
|
||||
{
|
||||
public TRLReportInputView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace DTS.Slice.PedestrianAndHeadReports
|
||||
{
|
||||
public class UprLegReport : ReportBase
|
||||
{
|
||||
public UprLegReport(PedestrianAndHeadTest parent) : base(parent) { }
|
||||
|
||||
protected override void _testParent_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
base._testParent_PropertyChanged(sender, e);
|
||||
switch (e.PropertyName)
|
||||
{
|
||||
case "Graph-x-UPRLEG_Force-x-ChannelUnit":
|
||||
//make sure all channels are in the right unit
|
||||
break;
|
||||
}
|
||||
}
|
||||
public const string UPR_MOMENT_ID = "UPR_Moment";
|
||||
public const string MID_MOMENT_ID = "MID_Moment";
|
||||
public const string LWR_MOMENT_ID = "LWR_Moment";
|
||||
public const string UPR_TOTALFORCE_ID = "UPR_ForceComined";
|
||||
public const string UPR_FORCE_ID = "UPR_Force";
|
||||
public const string LWR_FORCE_ID = "LWR_Force";
|
||||
|
||||
|
||||
protected override void InitializeGraphs()
|
||||
{
|
||||
base.InitializeGraphs();
|
||||
AddGraph(new ReportGraph(KnownGraphs.UPRLEG_Force.ToString(), "Force", new MeasurementUnit[] {
|
||||
MeasurementUnitList.GetMeasurementUnit("N"), MeasurementUnitList.GetMeasurementUnit("kN")
|
||||
}, new GraphChannel[] {
|
||||
new VectorAddition(UPR_TOTALFORCE_ID, "Combined Force", "合成荷重"),
|
||||
new GraphChannel(UPR_FORCE_ID, "UPR Force", "UPRF"),
|
||||
new GraphChannel(LWR_FORCE_ID, "LWR Force", "LWRF")
|
||||
},Properties.Settings.Default.PROTECTIONREPORT_UPRFORCEThreshold));
|
||||
AddGraph(new ReportGraph(KnownGraphs.UPRLeg_Moment.ToString(), "Moment", new MeasurementUnit[]{
|
||||
MeasurementUnitList.GetMeasurementUnit("Nm")
|
||||
}, new GraphChannel[]{
|
||||
new GraphChannel(UPR_MOMENT_ID, "UPR", "UPRM"),
|
||||
new GraphChannel(MID_MOMENT_ID, "MID", "MIDM"),
|
||||
new GraphChannel(LWR_MOMENT_ID, "LWR", "LWRM")
|
||||
},Properties.Settings.Default.PROTECTIONREPORT_UPRMOMENTThreshold));
|
||||
}
|
||||
|
||||
protected override void InitializeProperties()
|
||||
{
|
||||
base.InitializeProperties();
|
||||
SetPossibleValues(PedestrianAndHeadTest.Fields.ImpactorType.ToString(), new string[] { "UPR LEG" });
|
||||
SetValue(PedestrianAndHeadTest.Fields.FrequencyClass.ToString(), (new SensorDB.FilterClass(DTS.SensorDB.FilterClass.FilterClassType.CFC180)).ToString());
|
||||
}
|
||||
public override ReportTypes GetReportType()
|
||||
{
|
||||
return ReportTypes.UPRLeg;
|
||||
}
|
||||
|
||||
private volatile bool _drawingGraph = false;
|
||||
public override void DrawGraph(KnownGraphs graph, C1.Win.C1Chart.C1Chart chart)
|
||||
{
|
||||
switch (graph)
|
||||
{
|
||||
case KnownGraphs.UPRLEG_Force:
|
||||
{
|
||||
if (_drawingGraph) { return; }
|
||||
try
|
||||
{
|
||||
_drawingGraph = true;
|
||||
var channelX = GetChannel(KnownGraphs.UPRLEG_Force, UPR_FORCE_ID);
|
||||
var channelY = GetChannel(KnownGraphs.UPRLEG_Force, LWR_FORCE_ID);
|
||||
|
||||
if (null == channelX || null == channelY || null == channelX.Channel || null == channelY.Channel) { return; }
|
||||
try
|
||||
{
|
||||
string euX = (channelX.Channel as DTS.DAS.Concepts.DAS.Channel.IEngineeringUnitAware).EngineeringUnits;
|
||||
string euY = (channelY.Channel as DTS.DAS.Concepts.DAS.Channel.IEngineeringUnitAware).EngineeringUnits;
|
||||
|
||||
var x = new DTS.Calculations.ChannelData(euX);
|
||||
x.FilteredEU = channelX.Channel.DataEu.ToArray();
|
||||
|
||||
var y = new DTS.Calculations.ChannelData(euY);
|
||||
y.FilteredEU = channelY.Channel.DataEu.ToArray();
|
||||
|
||||
|
||||
|
||||
List<double> yValues = new List<double>(y.FilteredEU.Length);
|
||||
for (int i = 0; i < x.FilteredEU.Length && i < y.FilteredEU.Length; i++)
|
||||
{
|
||||
yValues.Add(x.FilteredEU[i] + y.FilteredEU[i]);
|
||||
}
|
||||
|
||||
DTS.Slice.Control.Event.Module.Channel.AdditiveVectorCalculatedChannel cc = new DTS.Slice.Control.Event.Module.Channel.AdditiveVectorCalculatedChannel(
|
||||
"TOTAL FORCE", DTS.Slice.Control.Event.Module.Channel.CalculatedChannel.XUnits.msec, euX, new double[0], yValues.ToArray(), DTS.Slice.Control.Event.Module.Channel.CalculatedChannel.Operation.Resultant,
|
||||
0, channelX.Channel.ParentModule);
|
||||
|
||||
ReviewTestChannel rtc = new ReviewTestChannel(cc, channelX.ParentTest);
|
||||
var g = GetGraph(ReportBase.KnownGraphs.UPRLEG_Force.ToString());
|
||||
|
||||
g.SetReviewTestChannel(UPR_TOTALFORCE_ID, rtc);
|
||||
}
|
||||
catch (System.Exception) { }
|
||||
base.DrawGraph(graph, chart);
|
||||
}
|
||||
catch (System.Exception) { }
|
||||
finally
|
||||
{
|
||||
_drawingGraph = false;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
base.DrawGraph(graph, chart);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,580 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace DTS.Slice.PedestrianAndHeadReports
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// top level report class, contains multiple sub reports
|
||||
/// </summary>
|
||||
public class PedestrianAndHeadTest: INotifyPropertyChanged
|
||||
{
|
||||
/// <summary>
|
||||
/// these methods make the class wpf/depedency property friendly, lets us notify listeners when data changes ...
|
||||
/// </summary>
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
protected bool SetProperty<T>(ref T storage, T value, String propertyName)
|
||||
{
|
||||
if (object.Equals(storage, value)) return false;
|
||||
|
||||
storage = value;
|
||||
this.OnPropertyChanged(propertyName);
|
||||
return true;
|
||||
}
|
||||
protected void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
var eventHandler = this.PropertyChanged;
|
||||
if (eventHandler != null)
|
||||
{
|
||||
eventHandler(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// these are all fields known of in the reports. Some are shared, some are specific to a specific report
|
||||
/// </summary>
|
||||
public enum Fields
|
||||
{
|
||||
TestNumber,
|
||||
TestDate,
|
||||
CarName,
|
||||
Model,
|
||||
TestTemperature,
|
||||
ClassificationAngle,
|
||||
MeasurementPoint,
|
||||
CollisionSpeed,
|
||||
ImpactorId,
|
||||
ImpactorType,
|
||||
StudyPersonnel,
|
||||
And1,
|
||||
And2,
|
||||
FrequencyClass,
|
||||
AccelerationUnits,
|
||||
TimeUnits,
|
||||
HeadX,
|
||||
HeadY,
|
||||
HeadZ,
|
||||
ForceUnits,
|
||||
MomentUnits,
|
||||
CombinedForce,
|
||||
UpperForce,
|
||||
LowerForce,
|
||||
UpperMoment,
|
||||
MidMoment,
|
||||
LowerMoment,
|
||||
ImpactorWeight,
|
||||
BendingMomentUnits,
|
||||
ShearDisplacementUnits,
|
||||
AccelerationChannel,
|
||||
BendingMomentChannel,
|
||||
ShearDisplacementChannel,
|
||||
TibiaUnits,
|
||||
MCLPCLLCLUnits,
|
||||
Tibia1,
|
||||
Tibia2,
|
||||
Tibia3,
|
||||
Tibia4,
|
||||
ACLChannel,
|
||||
MCLChannel,
|
||||
PCLChannel,
|
||||
LCLChannel,
|
||||
AxialUnits,
|
||||
XAxial,
|
||||
YAxial,
|
||||
ZAxial,
|
||||
Femur1,
|
||||
Femur2,
|
||||
Femur3,
|
||||
HeadDisplacementUnits,
|
||||
HeadDisplacementChannel
|
||||
}
|
||||
/// <summary>
|
||||
/// sets a specific field for a specific report
|
||||
/// also aggregates the field to other reports if it's a shared field ...
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
/// <param name="field"></param>
|
||||
/// <param name="obj"></param>
|
||||
public void SetField(ReportBase.ReportTypes type, Fields field, object obj)
|
||||
{
|
||||
string value = obj as string;
|
||||
MeasurementUnit mu = obj as MeasurementUnit;
|
||||
|
||||
switch (field)
|
||||
{
|
||||
case Fields.XAxial:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegARS: GetReport(ReportBase.ReportTypes.LWRLegARS).SetChannel(ReportBase.KnownGraphs.ARS_ARS, LWRLegARSReport.XAxialChannelId, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.YAxial:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegARS: GetReport(ReportBase.ReportTypes.LWRLegARS).SetChannel(ReportBase.KnownGraphs.ARS_ARS, LWRLegARSReport.YAxialChannelId, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.ZAxial:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegARS: GetReport(ReportBase.ReportTypes.LWRLegARS).SetChannel(ReportBase.KnownGraphs.ARS_ARS, LWRLegARSReport.ZAxialChannelId, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.AxialUnits:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegARS: GetReport(ReportBase.ReportTypes.LWRLegARS).SetUnits(ReportBase.KnownGraphs.ARS_ARS, mu); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.ACLChannel:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex: GetReport(ReportBase.ReportTypes.LWRLegFlex).SetChannel(ReportBase.KnownGraphs.FLEX_ACLPCL, LWRLegFlexReport.ACL_ID, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.MCLChannel:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex: GetReport(ReportBase.ReportTypes.LWRLegFlex).SetChannel(ReportBase.KnownGraphs.FLEX_MCL, LWRLegFlexReport.MCL_ID, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.PCLChannel:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex: GetReport(ReportBase.ReportTypes.LWRLegFlex).SetChannel(ReportBase.KnownGraphs.FLEX_ACLPCL, LWRLegFlexReport.PCL_ID, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.LCLChannel:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex: GetReport(ReportBase.ReportTypes.LWRLegFlex).SetChannel(ReportBase.KnownGraphs.FLEX_LCL, LWRLegFlexReport.LCL_ID, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.Tibia1:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex: GetReport(ReportBase.ReportTypes.LWRLegFlex).SetChannel(ReportBase.KnownGraphs.FLEX_TIBIA, LWRLegFlexReport.TIBIA1_ID, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.Tibia2:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex: GetReport(ReportBase.ReportTypes.LWRLegFlex).SetChannel(ReportBase.KnownGraphs.FLEX_TIBIA, LWRLegFlexReport.TIBIA2_ID, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.Tibia3:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex: GetReport(ReportBase.ReportTypes.LWRLegFlex).SetChannel(ReportBase.KnownGraphs.FLEX_TIBIA, LWRLegFlexReport.TIBIA3_ID, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.Tibia4:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex: GetReport(ReportBase.ReportTypes.LWRLegFlex).SetChannel(ReportBase.KnownGraphs.FLEX_TIBIA, LWRLegFlexReport.TIBIA4_ID, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.MCLPCLLCLUnits:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex:
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).SetUnits(ReportBase.KnownGraphs.FLEX_MCL, mu);
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).SetUnits(ReportBase.KnownGraphs.FLEX_LCL, mu);
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).SetUnits(ReportBase.KnownGraphs.FLEX_ACLPCL, mu);
|
||||
break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.TibiaUnits:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex: GetReport(ReportBase.ReportTypes.LWRLegFlex).SetUnits(ReportBase.KnownGraphs.FLEX_TIBIA, mu); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.ShearDisplacementChannel:
|
||||
switch(type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegTRL: (GetReport(ReportBase.ReportTypes.LWRLegTRL) as LWRLegTRLReport).SetChannel(ReportBase.KnownGraphs.LWR_LEG_TRL_ShearAngle, LWRLegTRLReport.ShearingChannelId, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.BendingMomentChannel:
|
||||
switch( type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegTRL: (GetReport(ReportBase.ReportTypes.LWRLegTRL) as LWRLegTRLReport).SetChannel(ReportBase.KnownGraphs.LWR_LEG_TRL_BendingAngle, LWRLegTRLReport.BendingChannelId, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.Femur1:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex: (GetReport(ReportBase.ReportTypes.LWRLegFlex) as LWRLegFlexReport).SetChannel(ReportBase.KnownGraphs.FLEX_FEMUR, LWRLegFlexReport.FEMUR1_ID, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.Femur2:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex: (GetReport(ReportBase.ReportTypes.LWRLegFlex) as LWRLegFlexReport).SetChannel(ReportBase.KnownGraphs.FLEX_FEMUR, LWRLegFlexReport.FEMUR2_ID, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.Femur3:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegFlex: (GetReport(ReportBase.ReportTypes.LWRLegFlex) as LWRLegFlexReport).SetChannel(ReportBase.KnownGraphs.FLEX_FEMUR, LWRLegFlexReport.FEMUR3_ID, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.AccelerationChannel:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegTRL: GetReport(ReportBase.ReportTypes.LWRLegTRL).SetChannel(ReportBase.KnownGraphs.LWR_LEG_TRL_Acceleration, LWRLegTRLReport.AccelerationChannelId, obj as ReviewTestChannel); break;
|
||||
case ReportBase.ReportTypes.LWRLegARS: GetReport(ReportBase.ReportTypes.LWRLegARS).SetChannel(ReportBase.KnownGraphs.ARS_Acceleration, LWRLegARSReport.XAccelerationId, obj as ReviewTestChannel); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.HeadDisplacementChannel:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.Head:
|
||||
(GetReport(ReportBase.ReportTypes.Head) as HeadReport).SetChannel(ReportBase.KnownGraphs.HEAD_StrokeDisplacement, HeadReport.HEAD_Displacement, obj as ReviewTestChannel); break;
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.HeadDisplacementUnits:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.Head:
|
||||
(GetReport(ReportBase.ReportTypes.Head) as HeadReport).SetUnits(ReportBase.KnownGraphs.HEAD_StrokeDisplacement, mu); break;
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.ShearDisplacementUnits:
|
||||
switch(type)
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegTRL:
|
||||
(GetReport(ReportBase.ReportTypes.LWRLegTRL) as LWRLegTRLReport).SetUnits(ReportBase.KnownGraphs.LWR_LEG_TRL_ShearAngle, mu);
|
||||
break;
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.BendingMomentUnits:
|
||||
switch( type )
|
||||
{
|
||||
case ReportBase.ReportTypes.LWRLegTRL:
|
||||
(GetReport(ReportBase.ReportTypes.LWRLegTRL) as LWRLegTRLReport).SetUnits(ReportBase.KnownGraphs.LWR_LEG_TRL_BendingAngle, mu);
|
||||
break;
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.MomentUnits:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.UPRLeg:
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).SetUnits(ReportBase.KnownGraphs.UPRLeg_Moment, mu); break;
|
||||
default: throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.ForceUnits:
|
||||
if (type != ReportBase.ReportTypes.UPRLeg) { throw new NotImplementedException(); }
|
||||
GetReport(type).SetUnits(ReportBase.KnownGraphs.UPRLEG_Force, mu);
|
||||
break;
|
||||
case Fields.AccelerationUnits:
|
||||
switch (type)
|
||||
{
|
||||
case ReportBase.ReportTypes.Head:
|
||||
GetReport(ReportBase.ReportTypes.Head).SetUnits(ReportBase.KnownGraphs.HEAD_Acceleration, mu);
|
||||
break;
|
||||
case ReportBase.ReportTypes.LWRLegTRL:
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).SetUnits(ReportBase.KnownGraphs.LWR_LEG_TRL_Acceleration, mu);
|
||||
break;
|
||||
case ReportBase.ReportTypes.LWRLegARS:
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).SetUnits(ReportBase.KnownGraphs.ARS_Acceleration, mu);
|
||||
break;
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
break;
|
||||
case Fields.ClassificationAngle:
|
||||
if (type != ReportBase.ReportTypes.Head) { throw new NotImplementedException(); }
|
||||
(GetReport(ReportBase.ReportTypes.Head) as HeadReport).ClassificationAngle = value;
|
||||
break;
|
||||
case Fields.And1:
|
||||
GetReport(ReportBase.ReportTypes.Head).And1 = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).And1 = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).And1 = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).And1 = value;
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).And1 = value;
|
||||
break;
|
||||
case Fields.And2:
|
||||
GetReport(ReportBase.ReportTypes.Head).And2 = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).And2 = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).And2 = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).And2 = value;
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).And2 = value;
|
||||
break;
|
||||
case Fields.CarName:
|
||||
GetReport(ReportBase.ReportTypes.Head).CarName = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).CarName = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).CarName = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).CarName = value;
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).CarName = value;
|
||||
break;
|
||||
case Fields.CollisionSpeed:
|
||||
GetReport(ReportBase.ReportTypes.Head).CollisionSpeed = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).CollisionSpeed = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).CollisionSpeed = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).CollisionSpeed = value;
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).CollisionSpeed = value;
|
||||
break;
|
||||
case Fields.FrequencyClass:
|
||||
GetReport(type).ChannelFilterClass = value;
|
||||
break;
|
||||
case Fields.ImpactorId:
|
||||
GetReport(ReportBase.ReportTypes.Head).ImpactorID = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).ImpactorID = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).ImpactorID = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).ImpactorID = value;
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).ImpactorID = value;
|
||||
break;
|
||||
case Fields.ImpactorType:
|
||||
GetReport(type).ImpactorType = value;
|
||||
break;
|
||||
case Fields.MeasurementPoint:
|
||||
GetReport(ReportBase.ReportTypes.Head).MeasurementPoint = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).MeasurementPoint = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).MeasurementPoint = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).MeasurementPoint = value;
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).MeasurementPoint = value;
|
||||
break;
|
||||
case Fields.Model:
|
||||
GetReport(ReportBase.ReportTypes.Head).Model = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).Model = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).Model = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).Model = value;
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).Model = value;
|
||||
break;
|
||||
case Fields.StudyPersonnel:
|
||||
GetReport(ReportBase.ReportTypes.Head).StudyPersonnel = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).StudyPersonnel = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).StudyPersonnel = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).StudyPersonnel = value;
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).StudyPersonnel = value;
|
||||
break;
|
||||
case Fields.TestDate:
|
||||
try
|
||||
{
|
||||
DateTime dt = (DateTime)obj;
|
||||
GetReport(ReportBase.ReportTypes.Head).TestDate = dt;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).TestDate = dt;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).TestDate = dt;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).TestDate = dt;
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).TestDate = dt;
|
||||
}
|
||||
catch (System.Exception) { }
|
||||
break;
|
||||
case Fields.TestNumber:
|
||||
GetReport(ReportBase.ReportTypes.Head).TestNumber = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).TestNumber = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).TestNumber = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).TestNumber = value;
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).TestNumber = value;
|
||||
break;
|
||||
case Fields.TestTemperature:
|
||||
GetReport(ReportBase.ReportTypes.Head).TestTemperature = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).TestTemperature = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).TestTemperature = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).TestTemperature = value;
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).TestTemperature = value;
|
||||
break;
|
||||
case Fields.TimeUnits:
|
||||
GetReport(ReportBase.ReportTypes.Head).TimeUnits = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegARS).TimeUnits = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegFlex).TimeUnits = value;
|
||||
GetReport(ReportBase.ReportTypes.LWRLegTRL).TimeUnits = value;
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).TimeUnits = value;
|
||||
break;
|
||||
case Fields.HeadX:
|
||||
if (type != ReportBase.ReportTypes.Head) { throw new NotSupportedException(); }
|
||||
GetReport(ReportBase.ReportTypes.Head).SetChannel(ReportBase.KnownGraphs.HEAD_Acceleration, HeadReport.HEAD_X_ChannelID, obj as ReviewTestChannel);
|
||||
break;
|
||||
case Fields.HeadY:
|
||||
if (type != ReportBase.ReportTypes.Head) { throw new NotSupportedException(); }
|
||||
GetReport(ReportBase.ReportTypes.Head).SetChannel(ReportBase.KnownGraphs.HEAD_Acceleration, HeadReport.HEAD_Y_ChannelID, obj as ReviewTestChannel);
|
||||
break;
|
||||
case Fields.HeadZ:
|
||||
if (type != ReportBase.ReportTypes.Head) { throw new NotSupportedException(); }
|
||||
GetReport(ReportBase.ReportTypes.Head).SetChannel(ReportBase.KnownGraphs.HEAD_Acceleration, HeadReport.HEAD_Z_ChannelID, obj as ReviewTestChannel);
|
||||
break;
|
||||
case Fields.CombinedForce:
|
||||
if( type != ReportBase.ReportTypes.UPRLeg) { throw new NotImplementedException();}
|
||||
GetReport(type).SetChannel(ReportBase.KnownGraphs.UPRLEG_Force, UprLegReport.UPR_TOTALFORCE_ID, obj as ReviewTestChannel);
|
||||
break;
|
||||
case Fields.UpperForce:
|
||||
if( type != ReportBase.ReportTypes.UPRLeg){ throw new NotImplementedException();}
|
||||
GetReport(type).SetChannel(ReportBase.KnownGraphs.UPRLEG_Force, UprLegReport.UPR_FORCE_ID, obj as ReviewTestChannel);
|
||||
break;
|
||||
case Fields.LowerForce:
|
||||
if( type != ReportBase.ReportTypes.UPRLeg){ throw new NotImplementedException();}
|
||||
GetReport(type).SetChannel(ReportBase.KnownGraphs.UPRLEG_Force, UprLegReport.LWR_FORCE_ID, obj as ReviewTestChannel);
|
||||
break;
|
||||
case Fields.UpperMoment:
|
||||
if( type != ReportBase.ReportTypes.UPRLeg ){ throw new NotImplementedException();}
|
||||
GetReport(ReportBase.ReportTypes.UPRLeg).SetChannel(ReportBase.KnownGraphs.UPRLeg_Moment, UprLegReport.UPR_MOMENT_ID, obj as ReviewTestChannel);
|
||||
break;
|
||||
case Fields.MidMoment:
|
||||
if( type != ReportBase.ReportTypes.UPRLeg){ throw new NotImplementedException();}
|
||||
GetReport(type).SetChannel(ReportBase.KnownGraphs.UPRLeg_Moment, UprLegReport.MID_MOMENT_ID, obj as ReviewTestChannel);
|
||||
break;
|
||||
case Fields.LowerMoment:
|
||||
if( type != ReportBase.ReportTypes.UPRLeg) { throw new NotImplementedException();}
|
||||
GetReport(type).SetChannel(ReportBase.KnownGraphs.UPRLeg_Moment, UprLegReport.LWR_MOMENT_ID, obj as ReviewTestChannel);
|
||||
break;
|
||||
case Fields.ImpactorWeight:
|
||||
/*if( type != ReportBase.ReportTypes.LWRLegTRL){ throw new NotImplementedException();}
|
||||
(GetReport(ReportBase.ReportTypes.LWRLegTRL) as LWRLegTRLReport).ImpactorWeight = value;*/
|
||||
GetReport(type).SetValue(Fields.ImpactorWeight.ToString(), value);
|
||||
break;
|
||||
default:
|
||||
System.Diagnostics.Trace.WriteLine("unknown field " + field.ToString());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// contains the test data to operate on ...
|
||||
/// </summary>
|
||||
private ReviewTest _test;
|
||||
public ReviewTest Test
|
||||
{
|
||||
get { return _test; }
|
||||
set
|
||||
{
|
||||
if (null != _test) { _test.Cleanup(); _test = null; }
|
||||
SetProperty(ref _test, value, "Test");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// list of reports the pedestrian test is aware of.
|
||||
/// </summary>
|
||||
private Dictionary<ReportBase.ReportTypes, ReportBase> _reports = new Dictionary<ReportBase.ReportTypes, ReportBase>();
|
||||
public ReportBase GetReport(ReportBase.ReportTypes type)
|
||||
{
|
||||
return _reports[type];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// constructs a report aware of head,ars, flex, trl, uprleg reports
|
||||
/// </summary>
|
||||
public PedestrianAndHeadTest()
|
||||
{
|
||||
_reports.Add(ReportBase.ReportTypes.Head, new HeadReport(this));
|
||||
_reports.Add(ReportBase.ReportTypes.LWRLegARS, new LWRLegARSReport(this));
|
||||
_reports.Add(ReportBase.ReportTypes.LWRLegFlex, new LWRLegFlexReport(this));
|
||||
_reports.Add(ReportBase.ReportTypes.LWRLegTRL, new LWRLegTRLReport(this));
|
||||
_reports.Add(ReportBase.ReportTypes.UPRLeg, new UprLegReport(this));
|
||||
}
|
||||
|
||||
public void ToStringOutput(string filename)
|
||||
{
|
||||
System.Xml.XmlWriterSettings settings = new System.Xml.XmlWriterSettings();
|
||||
settings.Indent = true;
|
||||
settings.IndentChars = " ";
|
||||
settings.NewLineChars = "\r\n";
|
||||
settings.NewLineHandling = System.Xml.NewLineHandling.Replace;
|
||||
|
||||
System.Xml.XmlWriter xt = System.Xml.XmlTextWriter.Create(filename, settings);
|
||||
|
||||
xt.WriteStartDocument(true);
|
||||
xt.WriteStartElement("PedestrianAndHeadSafetyReport");
|
||||
|
||||
var e = _reports.GetEnumerator();
|
||||
while (e.MoveNext())
|
||||
{
|
||||
e.Current.Value.ToStringOutput(ref xt);
|
||||
}
|
||||
|
||||
xt.WriteEndElement();
|
||||
xt.WriteEndDocument();
|
||||
xt.Flush();
|
||||
xt.Close();
|
||||
}
|
||||
public void SaveTo(string filename)
|
||||
{
|
||||
ToStringOutput(filename);
|
||||
}
|
||||
|
||||
public void SetField(ReportBase.ReportTypes type, ReportBase.KnownGraphs graph, ReportGraph.Fields field, string value)
|
||||
{
|
||||
_reports[type].SetField(graph, field, value);
|
||||
}
|
||||
|
||||
public void LoadFrom(string filename)
|
||||
{
|
||||
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(System.IO.File.ReadAllBytes(filename)))
|
||||
{
|
||||
System.Xml.XmlReader tr = System.Xml.XmlTextReader.Create(ms, null);
|
||||
ReportBase.ReportTypes _currentReport = ReportBase.ReportTypes.Head;
|
||||
while (tr.Read())
|
||||
{
|
||||
if (tr.IsStartElement())
|
||||
{
|
||||
if (tr.Name == "Report")
|
||||
{
|
||||
}
|
||||
else if (tr.Name == "ReportType")
|
||||
{
|
||||
_currentReport = (ReportBase.ReportTypes)Enum.Parse(typeof(ReportBase.ReportTypes), tr.ReadString());
|
||||
}
|
||||
else if (tr.Name == "PedestrianAndHeadSafetyReport")
|
||||
{
|
||||
}
|
||||
else if (tr.Name == "InUse")
|
||||
{
|
||||
bool bInUse = Boolean.Parse(tr.ReadString());
|
||||
_reports[_currentReport].InUse = bInUse;
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
Fields field = (Fields)Enum.Parse(typeof(Fields),tr.Name);
|
||||
if (field == Fields.TestDate)
|
||||
{
|
||||
SetField(_currentReport, field, new DateTime(Convert.ToInt64(tr.ReadString())));
|
||||
}
|
||||
else
|
||||
{
|
||||
SetField(_currentReport, field, tr.ReadString());
|
||||
}
|
||||
}
|
||||
catch (System.Exception) { }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace DTS.Slice.PedestrianAndHeadReports
|
||||
{
|
||||
public class HeadReport : ReportBase
|
||||
{
|
||||
public HeadReport(PedestrianAndHeadTest parent)
|
||||
: base(parent) { }
|
||||
|
||||
public const string HEAD_X_ChannelID = "HEAD_X";
|
||||
public const string HEAD_Y_ChannelID = "HEAD_Y";
|
||||
public const string HEAD_Z_ChannelID = "HEAD_Z";
|
||||
public const string HEAD_Displacement = "HEAD_DISPLACEMENT";
|
||||
public const string HEAD_RESULTANT_CHANNELID = "HEAD_RESULTANT";
|
||||
protected override void InitializeGraphs()
|
||||
{
|
||||
base.InitializeGraphs();
|
||||
AddGraph(new ReportGraph(KnownGraphs.HEAD_Acceleration.ToString(), "Acceleration", new MeasurementUnit [] {
|
||||
MeasurementUnitList.GetMeasurementUnit("m/sec^2"), MeasurementUnitList.GetMeasurementUnit("G")
|
||||
}, new GraphChannel[]{
|
||||
new GraphChannel(HEAD_X_ChannelID, "X軸加速度", "X"),
|
||||
new GraphChannel(HEAD_Y_ChannelID, "Y軸加速度", "Y"),
|
||||
new GraphChannel(HEAD_Z_ChannelID, "Z軸加速度", "Z")
|
||||
}, Properties.Settings.Default.PROTECTIONREPORT_HEADACCEL_Threshold));
|
||||
AddGraph(new ReportGraph(KnownGraphs.HEAD_ResultantAcceleration.ToString(), "Resultant", new MeasurementUnit[] {
|
||||
MeasurementUnitList.GetMeasurementUnit("m/sec^2")
|
||||
}, new GraphChannel[] {
|
||||
new HICChannel(HEAD_RESULTANT_CHANNELID, "Acceleration", "Acceleration Resultant")
|
||||
}, Properties.Settings.Default.PROTECTIONREPORT_HEADRESULTANT_Threshold));
|
||||
AddGraph(new ReportGraph(KnownGraphs.HEAD_StrokeDisplacement.ToString(), "Displacement", new MeasurementUnit[] {
|
||||
MeasurementUnitList.GetMeasurementUnit("mm")}, new GraphChannel[] {
|
||||
new GraphChannel(HEAD_Displacement, "Displacement", "HEAD Displacement")}, ""));
|
||||
}
|
||||
|
||||
public override ReportBase.ReportTypes GetReportType()
|
||||
{
|
||||
return ReportTypes.Head;
|
||||
}
|
||||
|
||||
public string ClassificationAngle
|
||||
{
|
||||
get { return GetValue(PedestrianAndHeadTest.Fields.ClassificationAngle.ToString()); }
|
||||
set { SetValue(PedestrianAndHeadTest.Fields.ClassificationAngle.ToString(), value); }
|
||||
}
|
||||
protected override void InitializeProperties()
|
||||
{
|
||||
base.InitializeProperties();
|
||||
SetPossibleValues(PedestrianAndHeadTest.Fields.ImpactorType.ToString(), new string[] { "ADULT", "CHILD" });
|
||||
SetValue(PedestrianAndHeadTest.Fields.ImpactorType.ToString(), "ADULT");
|
||||
SetValue(PedestrianAndHeadTest.Fields.FrequencyClass.ToString(), (new SensorDB.FilterClass(DTS.SensorDB.FilterClass.FilterClassType.CFC1000)).ToString());
|
||||
AddProperty(new ReportProperty(PedestrianAndHeadTest.Fields.ClassificationAngle.ToString(), "Classification angle", null, typeof(string)));
|
||||
}
|
||||
|
||||
public override void DrawGraph(KnownGraphs graph, C1.Win.C1Chart.C1Chart chart)
|
||||
{
|
||||
switch (graph)
|
||||
{
|
||||
case KnownGraphs.HEAD_ResultantAcceleration:
|
||||
{
|
||||
var channelX = GetChannel(KnownGraphs.HEAD_Acceleration, HEAD_X_ChannelID);
|
||||
var channelY = GetChannel(KnownGraphs.HEAD_Acceleration, HEAD_Y_ChannelID);
|
||||
var channelZ = GetChannel(KnownGraphs.HEAD_Acceleration, HEAD_Z_ChannelID);
|
||||
|
||||
|
||||
|
||||
if (null == channelX || null == channelZ || null == channelY
|
||||
|| null == channelX.Channel || null == channelY.Channel || null == channelZ.Channel) { return; }
|
||||
try
|
||||
{
|
||||
string euX = (channelX.Channel as DTS.DAS.Concepts.DAS.Channel.IEngineeringUnitAware).EngineeringUnits;
|
||||
string euY = (channelY.Channel as DTS.DAS.Concepts.DAS.Channel.IEngineeringUnitAware).EngineeringUnits;
|
||||
string euZ = (channelZ.Channel as DTS.DAS.Concepts.DAS.Channel.IEngineeringUnitAware).EngineeringUnits;
|
||||
System.Diagnostics.Trace.Assert(euX == euY && euY == euZ);
|
||||
//string units = GetUnits(KnownGraphs.HEAD_Acceleration);
|
||||
var x = new DTS.Calculations.ChannelData(euX);
|
||||
x.FilteredEU = channelX.Channel.DataEu.ToArray();
|
||||
|
||||
var y = new DTS.Calculations.ChannelData(euY);
|
||||
y.FilteredEU = channelY.Channel.DataEu.ToArray();
|
||||
|
||||
var z = new DTS.Calculations.ChannelData(euZ);
|
||||
z.FilteredEU = channelZ.Channel.DataEu.ToArray();
|
||||
|
||||
if (euX.Trim().ToLower() != "g")
|
||||
{
|
||||
double scale = ReportGraph.GetScaleFactor("G", euX);
|
||||
for (int i = 0; i < x.FilteredEU.Length; i++)
|
||||
{
|
||||
x.FilteredEU[i] *= scale;
|
||||
y.FilteredEU[i] *= scale;
|
||||
z.FilteredEU[i] *= scale;
|
||||
}
|
||||
}
|
||||
var res = DTS.Calculations.Resultant.GenerateResultantChannel(new List<DTS.Calculations.ChannelData>() { x, y, z });
|
||||
var hicResult = DTS.Calculations.HeadInjuryCriterion.GetHeadInjuryCriterion(res, channelX.Channel.ParentModule.SampleRateHz,
|
||||
15);
|
||||
DTS.Slice.Control.Event.Module.Channel.HICCalculatedChannel cc = new DTS.Slice.Control.Event.Module.Channel.HICCalculatedChannel(
|
||||
"HIC", DTS.Slice.Control.Event.Module.Channel.CalculatedChannel.XUnits.msec, "G",
|
||||
new double [0], res.FilteredEU, DTS.Slice.Control.Event.Module.Channel.CalculatedChannel.Operation.HeadInjuryCriteria,
|
||||
0, channelX.Channel.ParentModule, hicResult);
|
||||
|
||||
ReviewTestChannel rtc = new ReviewTestChannel(cc, channelX.ParentTest);
|
||||
var g = GetGraph(ReportBase.KnownGraphs.HEAD_ResultantAcceleration.ToString());
|
||||
g.SetReviewTestChannel(HEAD_RESULTANT_CHANNELID, rtc);
|
||||
GraphChannel c = g.GetGraphChannel(HEAD_RESULTANT_CHANNELID);
|
||||
HICChannel hicChannel = c as HICChannel;
|
||||
hicChannel.HIC = hicResult.HIC;
|
||||
|
||||
hicChannel.T1 = cc.GetT1("ms" == g.TimeUnits);
|
||||
hicChannel.T2 = cc.GetT2("ms" == g.TimeUnits);
|
||||
}
|
||||
catch (System.Exception) { }
|
||||
base.DrawGraph(graph, chart);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
base.DrawGraph(graph, chart);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DTS.Slice.Controls
|
||||
{
|
||||
public partial class LWRLegPLI : UserControl
|
||||
{
|
||||
public LWRLegPLI()
|
||||
{
|
||||
InitializeComponent();
|
||||
ddlAccelerationUnits.SelectedIndex = 0;
|
||||
ddlDummyType.SelectedIndex = 0;
|
||||
ddlMomentUnits.SelectedIndex = 0;
|
||||
ddlShearDisp.SelectedIndex = 0;
|
||||
ddlTime.SelectedIndex = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,735 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace DTS.Slice.PedestrianAndHeadReports
|
||||
{
|
||||
/// <summary>
|
||||
/// Generic class for handling graphs in reports
|
||||
/// </summary>
|
||||
public class ReportGraph : INotifyPropertyChanged
|
||||
{
|
||||
/*private string GetEngineeringUnits(DTS.Slice.Control.Event.Module.Channel channel)
|
||||
{
|
||||
if (channel is DTS.DAS.Concepts.DAS.Channel.IEngineeringUnitAware)
|
||||
{
|
||||
return (channel as DTS.DAS.Concepts.DAS.Channel.IEngineeringUnitAware).EngineeringUnits;
|
||||
}
|
||||
else { return "EU"; }
|
||||
}*/
|
||||
/// <summary>
|
||||
/// colors for lines, start with blue, etc.
|
||||
/// </summary>
|
||||
private System.Drawing.Color[] COLORS = new System.Drawing.Color[] { System.Drawing.Color.Blue, System.Drawing.Color.Red, System.Drawing.Color.Green, System.Drawing.Color.Orange };
|
||||
|
||||
/// <summary>
|
||||
/// we hold onto an actual chart object if we know what it is,
|
||||
/// which we will once we've drawn it atleast once.
|
||||
/// this lets us redraw if something changes
|
||||
/// </summary>
|
||||
private C1.Win.C1Chart.C1Chart _chart = null;
|
||||
public C1.Win.C1Chart.C1Chart Chart { get { return _chart; } }
|
||||
|
||||
public void Draw() { Draw(_chart); }
|
||||
public void Draw(C1.Win.C1Chart.C1Chart chart)
|
||||
{
|
||||
if (null == chart) { return; }
|
||||
if (null == _chart) { _chart = chart; }
|
||||
chart.ChartGroups[0].ChartData.SeriesList.Clear();
|
||||
for (int i = 0; i < _channelIds.Count; i++)
|
||||
{
|
||||
chart.ChartGroups[0].ChartData.SeriesList.AddNewSeries();
|
||||
GraphChannel gc = _channels[_channelIds[i]];
|
||||
if (gc.Channel == null) { continue; }
|
||||
|
||||
chart.ChartGroups[0].ChartData.SeriesList[i].Label = gc.DisplayName;
|
||||
chart.ChartGroups[0].ChartData.SeriesList[i].LineStyle.Color = COLORS[i];
|
||||
chart.ChartGroups[0].ChartData.SeriesList[i].LineStyle.Thickness = 2;
|
||||
chart.ChartGroups[0].ChartData.SeriesList[i].SymbolStyle.Shape = C1.Win.C1Chart.SymbolShapeEnum.None;
|
||||
chart.ChartGroups[0].ChartData.SeriesList[i].PlotFilterMethod = C1.Win.C1Chart.PlotFilterMethodEnum.Alternative;
|
||||
chart.ChartGroups[0].ChartData.SeriesList[i].PlotFilter = 5;
|
||||
DTS.Slice.Control.Event.Module.Channel aic = gc.Channel.Channel as DTS.Slice.Control.Event.Module.Channel;
|
||||
if (null == aic) { continue; }
|
||||
double dCurrentTime = ((double)aic.ParentModule.StartRecordSampleNumber - (double)aic.ParentModule.TriggerSampleNumbers[0]) / (double)aic.ParentModule.SampleRateHz;
|
||||
|
||||
double dIncrement = 1/(double)aic.ParentModule.SampleRateHz;
|
||||
if (TimeUnits == "ms") { dCurrentTime *= 1000; dIncrement *=1000;}
|
||||
List<double> xAxis = new List<double>(500000);
|
||||
List<double> yAxis = new List<double>(500000);
|
||||
double dMin = double.MaxValue;
|
||||
double dMax = double.MinValue;
|
||||
double dTimeOfMax = double.NaN;
|
||||
double dTimeOfMin = double.NaN;
|
||||
double eu;
|
||||
MeasurementUnit channelUnit = GetChannelUnit();
|
||||
string actualUnit = GetEngineeringUnits(aic);
|
||||
double scaleFactor = 1D;
|
||||
try
|
||||
{
|
||||
scaleFactor = channelUnit.GetScalerConversionFrom(actualUnit);//GetScaleFactor(channelUnit, actualUnit);
|
||||
System.Diagnostics.Trace.WriteLine("Scaling " + gc.Id + " by " + scaleFactor.ToString());
|
||||
}
|
||||
catch (System.Exception) { }
|
||||
|
||||
for (ulong z = 0; z < aic.ParentModule.NumberOfSamples; z++)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (dCurrentTime >= DomainMin && dCurrentTime <= DomainMax)
|
||||
{
|
||||
eu = aic.DataEu[Convert.ToInt32(z)];
|
||||
eu *= scaleFactor;
|
||||
xAxis.Add(dCurrentTime);
|
||||
yAxis.Add(eu);
|
||||
if (dMax < eu) { dMax = eu; dTimeOfMax = dCurrentTime; }
|
||||
if (dMin > eu) { dMin = eu; dTimeOfMin = dCurrentTime; }
|
||||
}
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
DTS.Utilities.Logging.APILogger.Log("Failed to access sample at index: ", z, " of ", aic.ChannelDescriptionString, " which reports: ",
|
||||
aic.ParentModule.NumberOfSamples, " samples.", ex);
|
||||
if (z < (aic.ParentModule.NumberOfSamples - 1))
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show("Incomplete data for " + aic.ChannelDescriptionString + " please check data file: ", ex.Message);
|
||||
}
|
||||
}
|
||||
dCurrentTime += dIncrement;
|
||||
}
|
||||
chart.ChartGroups[0].ChartData.SeriesList[i].X.CopyDataIn(xAxis.ToArray());
|
||||
chart.ChartGroups[0].ChartData.SeriesList[i].Y.CopyDataIn(yAxis.ToArray());
|
||||
if (double.MinValue != dMax)
|
||||
{
|
||||
if (aic is DTS.Slice.Control.Event.Module.AnalogInputChannel)
|
||||
{
|
||||
System.Diagnostics.Trace.WriteLine("Max for " + gc.Id + " is " + dMax.ToString() + " scale is " + aic.ScaleFactorMv.ToString());
|
||||
}
|
||||
gc.DataMax = dMax; gc.TimeOfMax = dTimeOfMax;
|
||||
}
|
||||
if (double.MaxValue != dMin) { gc.DataMin = dMin; gc.TimeOfMin = dTimeOfMin; }
|
||||
}
|
||||
int startIndex = chart.ChartGroups[0].ChartData.SeriesList.Count;
|
||||
if (ThresholdsActive)
|
||||
{
|
||||
for (int i = 0; i < _thresholds.Count; i++)
|
||||
{
|
||||
chart.ChartGroups[0].ChartData.SeriesList.AddNewSeries();
|
||||
chart.ChartGroups[0].ChartData.SeriesList[startIndex].LineStyle.Color = System.Drawing.Color.Black;
|
||||
chart.ChartGroups[0].ChartData.SeriesList[startIndex].LineStyle.Thickness = 2;
|
||||
chart.ChartGroups[0].ChartData.SeriesList[startIndex].SymbolStyle.Shape = C1.Win.C1Chart.SymbolShapeEnum.None;
|
||||
chart.ChartGroups[0].ChartData.SeriesList[startIndex].X.CopyDataIn(new double[] { DomainMin, DomainMax });
|
||||
chart.ChartGroups[0].ChartData.SeriesList[startIndex].Y.CopyDataIn(new double[] { _thresholds[i], _thresholds[i] });
|
||||
startIndex++;
|
||||
}
|
||||
}
|
||||
if (UseRangeMin) { chart.ChartArea.AxisY.AutoMin = false; chart.ChartArea.AxisY.Min = RangeMin; }
|
||||
else { chart.ChartArea.AxisY.AutoMin = true; RangeMin = chart.ChartGroups[0].ChartData.MinY; }
|
||||
if (UseRangeMax) { chart.ChartArea.AxisY.AutoMax = false; chart.ChartArea.AxisY.Max = RangeMax; }
|
||||
else { chart.ChartArea.AxisY.AutoMax = true; RangeMax = chart.ChartGroups[0].ChartData.MaxY; }
|
||||
chart.ChartArea.AxisX.Text = string.Format("Time ({0})", TimeUnits);
|
||||
}
|
||||
/// <summary>
|
||||
/// since the CFC changes the channel data, we need to know when it changes and redraw accordingly
|
||||
/// </summary>
|
||||
/// <param name="cfc"></param>
|
||||
public void SetCFC(string cfc, ReportBase report)
|
||||
{
|
||||
SensorDB.FilterClass fc = new DTS.SensorDB.FilterClass(cfc);
|
||||
var e = _channels.GetEnumerator();
|
||||
while (e.MoveNext())
|
||||
{
|
||||
if (null != e.Current.Value.Channel)
|
||||
{
|
||||
DTS.Slice.Control.Event.Module.Channel aic = e.Current.Value.Channel.Channel as DTS.Slice.Control.Event.Module.Channel;
|
||||
if (null == aic) { return; }
|
||||
switch (fc.FClass)
|
||||
{
|
||||
case DTS.SensorDB.FilterClass.FilterClassType.AdHoc:
|
||||
throw new NotSupportedException();
|
||||
case DTS.SensorDB.FilterClass.FilterClassType.CFC10:
|
||||
aic.CurrentFilter = new DTS.Slice.Control.Event.Module.Channel.SaeJ211Filter(DTS.Utilities.ChannelFilter.Class10);
|
||||
break;
|
||||
case DTS.SensorDB.FilterClass.FilterClassType.CFC1000:
|
||||
aic.CurrentFilter = new DTS.Slice.Control.Event.Module.Channel.SaeJ211Filter(DTS.Utilities.ChannelFilter.Class1000);
|
||||
break;
|
||||
case DTS.SensorDB.FilterClass.FilterClassType.CFC180:
|
||||
aic.CurrentFilter = new DTS.Slice.Control.Event.Module.Channel.SaeJ211Filter(DTS.Utilities.ChannelFilter.Class180);
|
||||
break;
|
||||
case DTS.SensorDB.FilterClass.FilterClassType.CFC60:
|
||||
aic.CurrentFilter = new DTS.Slice.Control.Event.Module.Channel.SaeJ211Filter(DTS.Utilities.ChannelFilter.Class60);
|
||||
break;
|
||||
case DTS.SensorDB.FilterClass.FilterClassType.CFC600:
|
||||
aic.CurrentFilter = new DTS.Slice.Control.Event.Module.Channel.SaeJ211Filter(DTS.Utilities.ChannelFilter.Class600);
|
||||
break;
|
||||
case DTS.SensorDB.FilterClass.FilterClassType.None:
|
||||
aic.CurrentFilter = new DTS.Slice.Control.Event.Module.Channel.SaeJ211Filter(DTS.Utilities.ChannelFilter.Unfiltered);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
report.DrawGraph(Id, _chart);
|
||||
//Draw(_chart);
|
||||
}
|
||||
/// <summary>
|
||||
/// gets the scale factor from two different units
|
||||
/// assumes units are linearly scaled (example G's to m/sec^2)
|
||||
/// </summary>
|
||||
/// <param name="desiredUnits"></param>
|
||||
/// <param name="actualUnits"></param>
|
||||
/// <returns></returns>
|
||||
public static double GetScaleFactor(string desiredUnits, string actualUnits)
|
||||
{
|
||||
actualUnits = actualUnits.Trim();
|
||||
//1 g = 9.80665 m / s2
|
||||
desiredUnits = desiredUnits.Trim().ToLower();
|
||||
actualUnits = actualUnits.Trim().ToLower();
|
||||
|
||||
if ( desiredUnits == actualUnits)
|
||||
{
|
||||
return 1D;
|
||||
}
|
||||
else if (actualUnits == "g" && desiredUnits.Contains("m/sec") )
|
||||
{
|
||||
return 9.80665D;
|
||||
}
|
||||
else if (actualUnits.Contains("m/sec") && desiredUnits == "g")
|
||||
{
|
||||
return 1D / 9.80665D;
|
||||
}//"N", "kN"
|
||||
else if (actualUnits == "n" && desiredUnits == "kn")
|
||||
{
|
||||
return .001D;
|
||||
}
|
||||
else if (actualUnits == "kn" && desiredUnits == "n")
|
||||
{
|
||||
return 1000D;
|
||||
}
|
||||
else { throw new NotSupportedException("unknown conversion"); }
|
||||
}
|
||||
/// <summary>
|
||||
/// gets a value of a channel field in the graph
|
||||
/// (properties of channels)
|
||||
/// </summary>
|
||||
/// <param name="id">channel id</param>
|
||||
/// <param name="field">field</param>
|
||||
/// <returns>value</returns>
|
||||
public string GetValue(string id, GraphChannel.Fields field)
|
||||
{
|
||||
return _channels[id].GetValue(field);
|
||||
}
|
||||
public string GetValueTrunc2Places(string id, GraphChannel.Fields field)
|
||||
{
|
||||
return _channels[id].GetValueTrunc2Places(field);
|
||||
}
|
||||
/// <summary>
|
||||
/// gets a value of a graph field
|
||||
/// (properties of the graph)
|
||||
/// </summary>
|
||||
/// <param name="field"></param>
|
||||
/// <returns></returns>
|
||||
public string GetValue(Fields field)
|
||||
{
|
||||
switch (field)
|
||||
{
|
||||
case Fields.DomainMax:
|
||||
return DomainMax.ToString();
|
||||
case Fields.DomainMin:
|
||||
return DomainMin.ToString();
|
||||
case Fields.RangeMax:
|
||||
return RangeMax.ToString(Properties.Settings.Default.PROTECTIONREPORT_NumberFormat);
|
||||
case Fields.RangeMin:
|
||||
return RangeMin.ToString(Properties.Settings.Default.PROTECTIONREPORT_NumberFormat);
|
||||
case Fields.ThresholdInUse:
|
||||
return ThresholdsActive.ToString();
|
||||
case Fields.Thresholds:
|
||||
return Thresholds;
|
||||
case Fields.UseRangeMax:
|
||||
return UseRangeMax.ToString();
|
||||
case Fields.UseRangeMin:
|
||||
return UseRangeMin.ToString();
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// sets the value for a field of the graph
|
||||
/// (properties of graph)
|
||||
/// </summary>
|
||||
/// <param name="field"></param>
|
||||
/// <param name="value"></param>
|
||||
public void SetValue(Fields field, string value)
|
||||
{
|
||||
switch (field)
|
||||
{
|
||||
case Fields.DomainMax:
|
||||
{
|
||||
double d;
|
||||
if (double.TryParse(value.Trim(), out d))
|
||||
{
|
||||
DomainMax = d;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case Fields.DomainMin:
|
||||
{
|
||||
double d;
|
||||
if (double.TryParse(value.Trim(), out d))
|
||||
{
|
||||
DomainMin = d;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case Fields.RangeMax:
|
||||
{
|
||||
double d;
|
||||
if (double.TryParse(value.Trim(), out d))
|
||||
{
|
||||
RangeMax = d;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case Fields.RangeMin:
|
||||
{
|
||||
double d;
|
||||
if (double.TryParse(value.Trim(), out d))
|
||||
{
|
||||
RangeMin = d;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case Fields.ThresholdInUse:
|
||||
{
|
||||
bool b;
|
||||
if (Boolean.TryParse(value.Trim(), out b))
|
||||
{
|
||||
ThresholdsActive = b;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case Fields.Thresholds:
|
||||
{
|
||||
Thresholds = value;
|
||||
}
|
||||
break;
|
||||
case Fields.UseRangeMax:
|
||||
{
|
||||
UseRangeMax = Convert.ToBoolean(value.Trim());
|
||||
}
|
||||
break;
|
||||
case Fields.UseRangeMin:
|
||||
{
|
||||
UseRangeMin = Convert.ToBoolean(value.Trim());
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// whether graph minimum range is constrained
|
||||
/// </summary>
|
||||
private bool _useRangeMin = false;
|
||||
public bool UseRangeMin
|
||||
{
|
||||
get { return _useRangeMin; }
|
||||
set
|
||||
{
|
||||
SetProperty(ref _useRangeMin, value, "UseRangeMin");
|
||||
Draw(_chart);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// whether graph maximum range is constrained
|
||||
/// </summary>
|
||||
private bool _useRangeMax = false;
|
||||
public bool UseRangeMax
|
||||
{
|
||||
get { return _useRangeMax; }
|
||||
set
|
||||
{
|
||||
SetProperty(ref _useRangeMax, value, "UseRangeMax");
|
||||
Draw(_chart);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// fields/properties of a graph
|
||||
/// </summary>
|
||||
public enum Fields
|
||||
{
|
||||
RangeMin,
|
||||
UseRangeMin,
|
||||
RangeMax,
|
||||
UseRangeMax,
|
||||
DomainMin,
|
||||
DomainMax,
|
||||
Thresholds,
|
||||
ThresholdInUse
|
||||
}
|
||||
/// <summary>
|
||||
/// time units for the graph (seconds or ms)
|
||||
/// </summary>
|
||||
private string _timeUnits = "s";
|
||||
public string TimeUnits
|
||||
{
|
||||
get { return _timeUnits; }
|
||||
set
|
||||
{
|
||||
if (_timeUnits != value)
|
||||
{
|
||||
if (value == "ms") { DomainMin = _domainMin * 1000D; DomainMax = _domainMax * 1000D; }
|
||||
else { DomainMin = _domainMin / 1000D; DomainMax = _domainMax / 1000D; }
|
||||
SetProperty(ref _timeUnits, value, "TimeUnits");
|
||||
//convert domain min/max to new units..
|
||||
Draw(_chart);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// these functions make us WPF/dependency property friendly, and also
|
||||
/// adds a convenient way for us to notify consumers when a property has changed
|
||||
/// </summary>
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
protected bool SetProperty<T>(ref T storage, T value, String propertyName)
|
||||
{
|
||||
if (object.Equals(storage, value)) return false;
|
||||
|
||||
storage = value;
|
||||
this.OnPropertyChanged(propertyName);
|
||||
return true;
|
||||
}
|
||||
protected void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
var eventHandler = this.PropertyChanged;
|
||||
if (eventHandler != null)
|
||||
{
|
||||
eventHandler(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// graph id
|
||||
/// </summary>
|
||||
private string _id;
|
||||
public string Id { get { return _id; } }
|
||||
|
||||
/// <summary>
|
||||
/// display name for graph
|
||||
/// </summary>
|
||||
private string _displayName;
|
||||
public string DisplayName { get { return _displayName; } set { SetProperty(ref _displayName, value, "DisplayName"); } }
|
||||
|
||||
/// <summary>
|
||||
/// the minimum range of the graph (use UseRangeMin) to see if the graph is constrained to min or not
|
||||
/// </summary>
|
||||
private double _rangeMin;
|
||||
public double RangeMin
|
||||
{
|
||||
get { return _rangeMin; }
|
||||
set
|
||||
{
|
||||
if (value != _rangeMin)
|
||||
{
|
||||
SetProperty(ref _rangeMin, value, "RangeMin");
|
||||
if (UseRangeMin) { Draw(_chart); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// the maximum range of the graph (use UseRangeMax to determine if graph is constrained to max or not)
|
||||
/// </summary>
|
||||
private double _rangeMax;
|
||||
public double RangeMax
|
||||
{
|
||||
get { return _rangeMax; }
|
||||
set
|
||||
{
|
||||
if (value != _rangeMax)
|
||||
{
|
||||
SetProperty(ref _rangeMax, value, "RangeMax");
|
||||
if (UseRangeMax) { Draw(_chart); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// graph is always domain constrained, this is the min x axis value
|
||||
/// default is -.5s
|
||||
/// </summary>
|
||||
private double _domainMin = -.5;
|
||||
public double DomainMin
|
||||
{
|
||||
get { return _domainMin; }
|
||||
set
|
||||
{
|
||||
SetProperty(ref _domainMin, value, "DomainMin");
|
||||
Draw(_chart);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// max x axis value (default is .5s)
|
||||
/// </summary>
|
||||
private double _domainMax = .5;
|
||||
public double DomainMax
|
||||
{
|
||||
get { return _domainMax; }
|
||||
set
|
||||
{
|
||||
if (value != _domainMax)
|
||||
{
|
||||
SetProperty(ref _domainMax, value, "DomainMax");
|
||||
Draw(_chart);
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// collection of thresholds (just horizontal lines for now)
|
||||
/// </summary>
|
||||
private List<double> _thresholds = new List<double>();
|
||||
public string Thresholds
|
||||
{
|
||||
get
|
||||
{
|
||||
List<string> thresholds = new List<string>();
|
||||
foreach (var d in _thresholds)
|
||||
{
|
||||
if (!thresholds.Contains(d.ToString())) { thresholds.Add(d.ToString()); }
|
||||
}
|
||||
return string.Join(",", thresholds.ToArray());
|
||||
}
|
||||
set
|
||||
{
|
||||
string[] tokens = value.Split(new char[] { ',' });
|
||||
List<double> thresholds = new List<double>();
|
||||
foreach (string token in tokens)
|
||||
{
|
||||
double d;
|
||||
if (double.TryParse(token.Trim(), out d))
|
||||
{
|
||||
if (!thresholds.Contains(d)) { thresholds.Add(d); }
|
||||
}
|
||||
}
|
||||
SetProperty(ref _thresholds, thresholds, "Thresholds");
|
||||
if (ThresholdsActive) { Draw(_chart); }
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// draw thresholds or not
|
||||
/// </summary>
|
||||
private bool _bThresholdsActive = false;
|
||||
public bool ThresholdsActive
|
||||
{
|
||||
get { return _bThresholdsActive; }
|
||||
set { SetProperty(ref _bThresholdsActive, value, "ThresholdsActive"); Draw(_chart); }
|
||||
}
|
||||
/// <summary>
|
||||
/// list of channel ids for channels in the graph
|
||||
/// </summary>
|
||||
private List<string> _channelIds = new List<string>();
|
||||
private Dictionary<string, GraphChannel> _channels = new Dictionary<string, GraphChannel>();
|
||||
private MeasurementUnit[] _channelUnits;
|
||||
public MeasurementUnit[] GetChannelUnits() { return _channelUnits; }
|
||||
|
||||
private MeasurementUnit _channelUnit;
|
||||
public MeasurementUnit GetChannelUnit() { return _channelUnit; }
|
||||
public void SetChannelUnit(MeasurementUnit mu)
|
||||
{
|
||||
SetProperty(ref _channelUnit, mu, "ChannelUnit");
|
||||
var e = _channels.GetEnumerator();
|
||||
while (e.MoveNext())
|
||||
{
|
||||
string eu = mu.MainDisplayUnit;
|
||||
if (null == e.Current.Value) { continue; }
|
||||
if (null == e.Current.Value.Channel) { continue; }
|
||||
if (null == e.Current.Value.Channel.Channel) { continue; }
|
||||
if (e.Current.Value.Channel.Channel is DTS.DAS.Concepts.DAS.Channel.IEngineeringUnitAware)
|
||||
{
|
||||
if (!(e.Current.Value.Channel.Channel is DTS.Slice.Control.Event.Module.AnalogInputChannel))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
eu = ((DTS.DAS.Concepts.DAS.Channel.IEngineeringUnitAware)e.Current.Value.Channel.Channel).EngineeringUnits;
|
||||
if (!mu.UnitMatches(eu))
|
||||
{
|
||||
double scaler = mu.GetScalerConversionFrom(eu);
|
||||
System.Diagnostics.Trace.WriteLine("Changed scale factor for " + e.Current.Value.Channel.Channel.ChannelDescriptionString + " from "
|
||||
+ e.Current.Value.Channel.Channel.ScaleFactorMv.ToString() + " to " + (e.Current.Value.Channel.Channel.ScaleFactorMv * scaler).ToString());
|
||||
|
||||
e.Current.Value.Channel.Channel.ScaleFactorMv *= scaler;
|
||||
((DTS.DAS.Concepts.DAS.Channel.IEngineeringUnitAware)e.Current.Value.Channel.Channel).EngineeringUnits = mu.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public ReportGraph(string id, string displayname, MeasurementUnit [] possibleUnits, GraphChannel[] channels, string thresholds)
|
||||
{
|
||||
_id = id;
|
||||
DisplayName = displayname;
|
||||
_channelUnits = possibleUnits;
|
||||
if (null != possibleUnits && possibleUnits.Length >= 1)
|
||||
{
|
||||
_channelUnit = possibleUnits[0];
|
||||
}
|
||||
foreach (var channel in channels) { _channelIds.Add(channel.Id); _channels.Add(channel.Id, channel); channel.PropertyChanged += new PropertyChangedEventHandler(channel_PropertyChanged); }
|
||||
Thresholds = thresholds;
|
||||
}
|
||||
/// <summary>
|
||||
/// pass on when a channel or graph property changes
|
||||
/// this lets UI code react when a property changes
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
public void channel_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == "Channel")
|
||||
{
|
||||
OnPropertyChanged("Channel");
|
||||
}
|
||||
else
|
||||
{
|
||||
GraphChannel gc = sender as GraphChannel;
|
||||
OnPropertyChanged("graph-x-" + Id + "-x-" + gc.Id + "-x-" + e.PropertyName);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// the reviewtestchannel is the actual analoginputdaschannel, or the actual binary data for the file
|
||||
/// </summary>
|
||||
/// <param name="graphchannel"></param>
|
||||
/// <returns></returns>
|
||||
public ReviewTestChannel GetReviewTestChannel(string graphchannel)
|
||||
{
|
||||
return _channels[graphchannel].Channel;
|
||||
}
|
||||
public void SetReviewTestChannel(string graphchannel, ReviewTestChannel channel)
|
||||
{
|
||||
if (null != channel)
|
||||
{
|
||||
if (channel.Channel is DTS.Slice.Control.Event.Module.AnalogInputChannel)
|
||||
{
|
||||
MeasurementUnit unit = GetChannelUnit();
|
||||
if (null != channel && null != channel.Channel)
|
||||
{
|
||||
var channelEU = (channel.Channel as DTS.DAS.Concepts.DAS.Channel.IEngineeringUnitAware).EngineeringUnits;
|
||||
if (unit.UnitMatches(channelEU))
|
||||
{
|
||||
DTS.Slice.Control.Event.Module.AnalogInputChannel analog = channel.Channel as DTS.Slice.Control.Event.Module.AnalogInputChannel;
|
||||
|
||||
double scaler = unit.GetScalerConversionFrom(channelEU);
|
||||
System.Diagnostics.Trace.WriteLine("Changing " + analog.ChannelDescriptionString + " from " + analog.ScaleFactorMv.ToString() + " to " + (analog.ScaleFactorMv * scaler).ToString());
|
||||
analog.ScaleFactorMv *= scaler;
|
||||
analog.EngineeringUnits = unit.ToString();
|
||||
}
|
||||
var graphChannel = GetGraphChannel(graphchannel);
|
||||
if (graphChannel.UseOffset)
|
||||
{
|
||||
channel.Channel.UserOffsetEU = graphChannel.Offset;
|
||||
}
|
||||
else
|
||||
{
|
||||
channel.Channel.UserOffsetEU = 0D;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
_channels[graphchannel].Channel = channel;
|
||||
|
||||
}
|
||||
public GraphChannel GetGraphChannel(string graphChannel)
|
||||
{
|
||||
return _channels[graphChannel];
|
||||
}
|
||||
/// <summary>
|
||||
/// returns all viable channels to fullfill the graph channel
|
||||
/// </summary>
|
||||
/// <param name="target"></param>
|
||||
/// <param name="test"></param>
|
||||
/// <returns></returns>
|
||||
public ReviewTestChannel[] GetAvailableChannels(string target, ReviewTest test)
|
||||
{
|
||||
List<ReviewTestChannel> channels = new List<ReviewTestChannel>();
|
||||
if (null != test)
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (var channel in test.Channels)
|
||||
{
|
||||
bool bAdded = false;
|
||||
string eu = GetEngineeringUnits(channel.Channel);
|
||||
foreach (var mu in GetChannelUnits())
|
||||
{
|
||||
if (bAdded) { continue; }
|
||||
if (mu.UnitMatches(eu.Trim()))
|
||||
{
|
||||
if (!channels.Contains(channel)) { channels.Add(channel); bAdded = true; }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(string.Format("Test missing data\r\n[{0}]", ex.Message), "Warning", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
return channels.ToArray();
|
||||
}
|
||||
|
||||
public void Clear(ReviewTest test)
|
||||
{
|
||||
var e = _channels.GetEnumerator();
|
||||
while (e.MoveNext())
|
||||
{
|
||||
if (null != e.Current.Value.Channel) { e.Current.Value.Channel.Cleanup(); }
|
||||
e.Current.Value.Channel = null;
|
||||
}
|
||||
}
|
||||
public void SetDefaults(ReviewTest test)
|
||||
{
|
||||
var e = _channels.GetEnumerator();
|
||||
Dictionary<string, ReviewTestChannel> lookup = new Dictionary<string, ReviewTestChannel>();
|
||||
while (e.MoveNext())
|
||||
{
|
||||
var bestchoices = from channel in GetAvailableChannels(e.Current.Key, test) where (channel.Channel as Slice.Control.Event.Module.AnalogInputChannel).Description.ToLower().Contains(e.Current.Value.ChannelNameHint.ToLower()) select channel;
|
||||
if (null != bestchoices && bestchoices.Count() > 0 && null == e.Current.Value.Channel)
|
||||
{
|
||||
lookup.Add(e.Current.Key, bestchoices.First());
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
var e2 = lookup.GetEnumerator();
|
||||
while (e2.MoveNext())
|
||||
{
|
||||
SetReviewTestChannel(e2.Current.Key, e2.Current.Value);
|
||||
}
|
||||
}
|
||||
catch (System.Exception) { }
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// returns the x plot for a given channel
|
||||
/// </summary>
|
||||
/// <param name="id">id of channel to get</param>
|
||||
/// <returns></returns>
|
||||
public double[] GetXPlot(string id)
|
||||
{
|
||||
int index = _channelIds.IndexOf(id);
|
||||
if (null != _chart) { return _chart.ChartGroups[0].ChartData.SeriesList[index].X.Cast<double>().ToArray(); }
|
||||
else return new double[0];
|
||||
}
|
||||
/// <summary>
|
||||
/// returns the y plot for a given channel
|
||||
/// </summary>
|
||||
/// <param name="id">channel id</param>
|
||||
/// <returns></returns>
|
||||
public double[] GetYPlot(string id)
|
||||
{
|
||||
int index = _channelIds.IndexOf(id);
|
||||
if (null != _chart) { return _chart.ChartGroups[0].ChartData.SeriesList[index].Y.Cast<double>().ToArray(); }
|
||||
else return new double[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
DataPRO/Modules/Reports/PedestrianAndHeadReports/.svn/wc.db
Normal file
BIN
DataPRO/Modules/Reports/PedestrianAndHeadReports/.svn/wc.db
Normal file
Binary file not shown.
Reference in New Issue
Block a user