UI.Procedures.ProcedureDlg 'Copy' a test feature added

This commit is contained in:
Milan Hanajik
2020-11-13 10:23:44 +01:00
parent a5a139aff6
commit f3fc3d3ba4
3 changed files with 103 additions and 43 deletions
+61 -1
View File
@@ -74,7 +74,8 @@ namespace TBF.UI.Procedures
#if TURA_SPECIAL || TURA_IPERL || TURA_IPERL_NEW
sharedButtons.OptionalButtons = SharedButtons.Buttons.Add | SharedButtons.Buttons.Remove |
SharedButtons.Buttons.Up | SharedButtons.Buttons.Down |SharedButtons.Buttons.Custom1;
SharedButtons.Buttons.Up | SharedButtons.Buttons.Down |
SharedButtons.Buttons.Copy | SharedButtons.Buttons.Custom1;
sharedButtons.Custom1Caption = string.Format("Načítaj testy{0}iPerl z Oracle", Environment.NewLine);
sharedButtons.Custom1Clicked += iPerlWizardButton_Click;
#else
@@ -88,6 +89,7 @@ namespace TBF.UI.Procedures
sharedButtons.RemoveClicked += removeButton_Click;
sharedButtons.UpClicked += upButton_Click;
sharedButtons.DownClicked += downButton_Click;
sharedButtons.CopyClicked += copyButton_Click;
/// ListViewEx-es configuration
metrology1ListViewEx.SubItemClicked += new SubItemEventHandler(metrology1ListViewEx_SubItemClicked);
@@ -2472,6 +2474,64 @@ namespace TBF.UI.Procedures
listViewEx.Items[ix + 1].EnsureVisible();
}
private void copyButton_Click(object sender, EventArgs e)
{
ListViewEx listViewEx;
switch (selectedTab)
{
case ProcedureTabs.Metrology1:
UpdateFromMetrology1Tab();
listViewEx = metrology1ListViewEx;
break;
case ProcedureTabs.Metrology2:
UpdateFromMetrology2Tab();
listViewEx = metrology2ListViewEx;
break;
case ProcedureTabs.Process:
UpdateFromProcessTab();
listViewEx = processListViewEx;
break;
case ProcedureTabs.Parameters:
UpdateFromParametersTab();
listViewEx = parametersListViewEx;
break;
default: return;
}
/// Check the selected index validity
if (listViewEx.SelectedItems.Count != 1) return;
int ix = listViewEx.SelectedIndices[0];
if (ix < 0 || ix >= listViewEx.Items.Count) return;
Test selectedTest = LoadedProcedure.Tests[ix];
/// Add a copy of the selected test
Test newTest = selectedTest.Clone();
newTest.ItemNr = listViewEx.Items.Count;
newTest.Name = selectedTest.Name + " copy";
LoadedProcedure.Tests.Add(newTest);
///
AddToMetrology1Tab(newTest);
AddToMetrology2Tab(newTest);
AddToProcessTab(newTest);
AddToParametersTab(newTest);
foreach (var ctrl in testParamsCtrls) ctrl.AddOne(newTest);
if (listViewEx != null)
{
listViewEx.Focus();
listViewEx.SelectedItems.Clear();
listViewEx.Items[listViewEx.Items.Count - 1].Selected = true;
listViewEx.Items[listViewEx.Items.Count - 1].EnsureVisible();
}
}
#endregion
private void metrology1ListViewEx_SelectedIndexChanged(object sender, EventArgs e) { SelectedIndexChanged(sender, e); }