Everything works OK after serious changes:

- all components, componentCfg-s and parameter providers use base classes
 - less boilerplate code, simpler access to test/procedure parameters from code
 - CreateTestParams(test), CreateProcedureParams(procedure) methods added
 - TestBenchSim class is made static, it is not inheritted by any device anymore
This commit is contained in:
Milan Hanajik
2015-01-02 12:51:27 +01:00
parent 752719bd62
commit 94de991bf6
126 changed files with 1117 additions and 1629 deletions
+14 -23
View File
@@ -6,8 +6,8 @@ using TBF.Resources;
namespace TBF.UiControls
{
// /-----------\
// / Component \
// -----------
// / Component \
// |------------------------------
// | param1 param2 param3 ...
// Test1 |
@@ -20,7 +20,7 @@ namespace TBF.UiControls
bool showTestsColumn;
BenchControl.Generic.IComponent cmpnt;
IList<IParamsProvider> testsParams;
IList<IParamsProvider> testParamsProviders;
int paramsCount;
@@ -32,7 +32,7 @@ namespace TBF.UiControls
public TestParamsCtrl()
{
InitializeComponent();
testsParams = new List<IParamsProvider>();
testParamsProviders = new List<IParamsProvider>();
}
public TestParamsCtrl(ProcedureDlg parent, BenchControl.Generic.IComponent cmpnt, bool showTestsColumn)
@@ -64,27 +64,18 @@ namespace TBF.UiControls
/// For each test (with an appropriate method in case of ITestMethod-s)
foreach (var test in parent.LoadedProcedure.Tests)
{
if (!(cmpnt is BenchControl.GenericDevices.ITestMethod) || test.Method == cmpnt.Cfg.Name)
if ((cmpnt.Cfg.GetTestParams() != null) &&
(!(cmpnt is BenchControl.GenericDevices.ITestMethod) || (test.Method == cmpnt.Cfg.Name)))
{
/// Load ComponentTest entity or create it if it does not exist
IParamsProvider testParams = BenchControl.TbfComponents.GetTestParams(cmpnt, test);
if (testParams != null)
{
if (sampleToCreateHeader == null) sampleToCreateHeader = testParams;
}
else
{
Entities.ComponentTest entity = new Entities.ComponentTest();
entity.CmpntName = cmpnt.Cfg.Name;
entity.Test = test;
testParams = cmpnt.Cfg.Factory.GetTestParams(entity);
}
testsParams.Add(testParams);
IParamsProvider testParams = cmpnt.Cfg.CreateTestParams(test);
if (sampleToCreateHeader == null) sampleToCreateHeader = testParams;
testParamsProviders.Add(testParams);
}
else
{
/// In case of ITestMethod: Insert null for a test without an appropriate method.
testsParams.Add(null);
testParamsProviders.Add(null);
}
}
@@ -131,9 +122,9 @@ namespace TBF.UiControls
public void RedrawAll()
{
listViewEx.Items.Clear();
for (int i = 0; i < testsParams.Count && i < parent.LoadedProcedure.Tests.Count; i++)
for (int i = 0; i < testParamsProviders.Count && i < parent.LoadedProcedure.Tests.Count; i++)
{
DrawOne(testsParams[i], parent.LoadedProcedure.Tests[i].Name);
DrawOne(testParamsProviders[i], parent.LoadedProcedure.Tests[i].Name);
}
}
@@ -170,12 +161,12 @@ namespace TBF.UiControls
entity.Test = test;
IParamsProvider testParams =
new BenchControl.TestMethods.CombinedWithDetection.CombinedWithDetTestParams(entity, cmpnt.Cfg.Name, test);
testsParams.Add(testParams);
testParamsProviders.Add(testParams);
DrawOne(testParams, test.Name);
}
else
{
testsParams.Add(null);
testParamsProviders.Add(null);
DrawOne(null, null);
}
}