private void ReferencesListBox_MouseDoubleClick(object?sender, MouseEventArgs e) { int index = ReferencesListBox.IndexFromPoint(e.Location); if (index != ListBox.NoMatches) { DisplayReference reference = (DisplayReference)ReferencesListBox.Items[index]; _selectedReferences.Add(reference); SelectedReferencesListBox.DataSource = SelectedReferencesList; } }
private async void ReferencesListBox_MouseDoubleClick(object?sender, MouseEventArgs e) { TabControllerTag?controller = this.LogTabs.SelectedTab?.Controller(); if (controller == null) { return; } DisplayReference reference = (DisplayReference)ReferencesListBox.SelectedItem; await OpenLog(controller.RepoItem, new[] { reference.Reference }); }
private void ReferencesListBox_MouseUp(object?sender, MouseEventArgs e) { ReferencesListBox.SelectedIndex = ReferencesListBox.IndexFromPoint(e.Location); if (e.Button != MouseButtons.Right) { return; } DisplayReference reference = (DisplayReference)ReferencesListBox.SelectedItem; ReferencesListBoxReferenceContextMenu.Tag = reference.Reference; ReferencesListBoxReferenceContextMenu.Show(ReferencesListBox, e.X, e.Y); }
private void AddReference(String reference, String[] splitRef, int index, TreeNodeCollection parentNodes) { String splitRefPart = splitRef[index]; TreeNode?node = parentNodes.Find(splitRefPart, false).FirstOrDefault(); if (node == null) { node = parentNodes.Add(splitRefPart, splitRefPart); node.Tag = new List <DisplayReference>(); } List <DisplayReference> refs = (List <DisplayReference>)node.Tag; DisplayReference displayRef = new DisplayReference(reference, String.Join("/", splitRef, index + 1, splitRef.Length - index - 1)); refs.Add(displayRef); if (index + 1 < splitRef.Length - 1) { AddReference(reference, splitRef, index + 1, node.Nodes); } }