ComponentsManagerDlg : Copying to subsequent cells via right-click implemented, ver. 2.18.1168

This commit is contained in:
Milan Hanajik 2019-03-15 14:14:09 +01:00
parent 84322476d6
commit 0c964fdb5b
3 changed files with 55 additions and 2 deletions

View File

@ -68,6 +68,7 @@ namespace TBF
this.listViewEx.Name = "listViewEx";
this.listViewEx.UseCompatibleStateImageBehavior = false;
this.listViewEx.View = System.Windows.Forms.View.Details;
this.listViewEx.SubItemRightClicked += new Results.Forms.SubItemEventHandler(this.listViewEx_SubItemRightClicked);
this.listViewEx.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listViewEx_ColumnClick);
this.listViewEx.SelectedIndexChanged += new System.EventHandler(this.componentsListView_SelectedIndexChanged);
this.listViewEx.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listViewEx_MouseDoubleClick);

View File

@ -140,6 +140,58 @@ namespace TBF
}
}
private void listViewEx_SubItemRightClicked(object sender, SubItemEventArgs e)
{
if (!unlocked || ((e.SubItem != (int)Column.DebugMode) && (e.SubItem != (int)Column.Logging))) return;
if (DialogResult.Yes == MessageBox.Show(Strings.Do_you_want_to_copy_this_value_to_all_cells_below_this_cell,
Strings.Confirmation, MessageBoxButtons.YesNo, MessageBoxIcon.Question))
{
int columnNr = e.SubItem;
string value = null;
///
foreach (ListViewItem item in listViewEx.Items)
{
if ((value != null) && (item.SubItems.Count > columnNr))
{
/// Modify values in subsequent items (when value != null)
Component cmpnt = (Component)item.Tag;
if (e.SubItem == (int)Column.DebugMode)
{
for (DebugMode mode = 0; mode < DebugMode.Count; mode++)
{
if (value.Equals(mode.ToDescription()))
{
cmpnt.Mode = mode;
item.SubItems[columnNr].Text = value;
flags |= CfgUpdateFlags.RestartRqrd;
break;
}
}
}
else if (e.SubItem == (int)Column.Logging)
{
for (LogLevel level = 0; level < LogLevel.Count; level++)
{
if (value.Equals(level.ToDescription()))
{
cmpnt.Logging = level;
item.SubItems[columnNr].Text = value;
flags |= CfgUpdateFlags.RestartRqrd;
break;
}
}
}
}
else if (item == e.Item)
{
/// Pick value to be copied from this item
value = item.SubItems[columnNr].Text;
}
}
}
}
void listViewEx_SubItemEndEditing(object sender, Results.Forms.SubItemEndEditingEventArgs e)
{
Component cmpnt = (Component)e.Item.Tag;

View File

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("2.18.1167.0")]
[assembly: AssemblyFileVersion("2.18.1167.0")]
[assembly: AssemblyVersion("2.18.1168.0")]
[assembly: AssemblyFileVersion("2.18.1168.0")]