protected override void OnMouseDoubleClick(MouseEventArgs e) { if (SequenceCoverageFilter == null) { return; } int currentResidueOffset = getResidueOffsetAtPoint(e.Location); if (currentResidueOffset < 0 || currentResidueOffset >= owner.Protein.Length) { return; } if (owner.Protein.CoverageMask[currentResidueOffset] == 0) { return; } var newAminoAcidOffset = new List <int> { currentResidueOffset }; if (!viewFilter.AminoAcidOffset.IsNullOrEmpty() && (ModifierKeys & Keys.Shift | ModifierKeys & Keys.Control) != 0) { newAminoAcidOffset.AddRange(viewFilter.AminoAcidOffset); } var newDataFilter = new DataModel.DataFilter() { FilterSource = owner, Protein = new List <Protein> { owner.Protein }, AminoAcidOffset = newAminoAcidOffset }; SequenceCoverageFilter(owner, new ViewFilterEventArgs(newDataFilter)); }
protected override void OnMouseDoubleClick (MouseEventArgs e) { if (SequenceCoverageFilter == null) return; int currentResidueOffset = getResidueOffsetAtPoint(e.Location); if (currentResidueOffset < 0 || currentResidueOffset >= owner.Protein.Length) return; if (owner.Protein.CoverageMask[currentResidueOffset] == 0) return; var newAminoAcidOffset = new List<int> { currentResidueOffset }; if (!viewFilter.AminoAcidOffset.IsNullOrEmpty() && (ModifierKeys & Keys.Shift | ModifierKeys & Keys.Control) != 0) newAminoAcidOffset.AddRange(viewFilter.AminoAcidOffset); var newDataFilter = new DataModel.DataFilter() { FilterSource = owner, Protein = new List<Protein> { owner.Protein }, AminoAcidOffset = newAminoAcidOffset }; SequenceCoverageFilter(owner, new ViewFilterEventArgs(newDataFilter)); }