Esempio n. 1
0
 ListViewItem MakeListViewItem(FindResult findResult)
 {
     var listViewItem = new ListViewItem(findResult.LocationName) { Tag = findResult };
     listViewItem.SubItems.AddRange(new [] {
                                  findResult.LocationType,
                                  findResult.FindMatch.DisplayText,
         });
     if (!findResult.IsValid)
     {
         listViewItem.Font = new Font(listView.Font, FontStyle.Strikeout);
     }
     return listViewItem;
 }
Esempio n. 2
0
 public void SetReplicateIndex(int replicateIndex)
 {
     _pendingFindResult = null;
     if (replicateIndex == GetReplicateIndex())
     {
         return;
     }
     for (int iRow = 0; iRow < BindingListSource.Count; iRow++)
     {
         if (replicateIndex == GetReplicateIndex(BindingListSource[iRow] as RowItem))
         {
             BindingListSource.Position = iRow;
         }
     }
 }
Esempio n. 3
0
 private void boundDataGridView_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
 {
     if (null != _pendingFindResult)
     {
         var pendingFindResult = _pendingFindResult;
         _pendingFindResult = null;
         BeginInvoke(new Action<FindResult>(HighlightFindResult), pendingFindResult);
     }
 }
Esempio n. 4
0
        public void HighlightFindResult(FindResult findResult)
        {
            if (!IsComplete)
            {
                _pendingFindResult = findResult;
                return;
            }
            var bookmarkEnumerator = BookmarkEnumerator.TryGet(_dataSchema.Document, findResult.Bookmark);
            if (bookmarkEnumerator == null)
            {
                return;
            }
            var chromInfo = bookmarkEnumerator.CurrentChromInfo;
            if (chromInfo == null)
            {
                return;
            }
            int? iRowMatch = null;

            for (int iRow = 0; iRow < BindingListSource.Count; iRow++)
            {
                var rowItem = BindingListSource[iRow] as RowItem;
                if (rowItem == null)
                {
                    continue;
                }
                var replicate = rowItem.Value as Replicate;
                if (replicate != null)
                {
                    if (replicate.Files.Any(file => ReferenceEquals(file.ChromFileInfoId, chromInfo.FileId)))
                    {
                        iRowMatch = iRow;
                        break;
                    }
                }
                var result = rowItem.Value as Result;
                if (null != result)
                {
                    if (ReferenceEquals(result.GetResultFile().ChromFileInfoId, chromInfo.FileId))
                    {
                        iRowMatch = iRow;
                        break;
                    }
                }
            }
            if (!iRowMatch.HasValue)
            {
                return;
            }
            BindingListSource.Position = iRowMatch.Value;
            DataGridViewColumn column;
            if (findResult.FindMatch.Note)
            {
                column = FindColumn(PropertyPath.Root.Property("Note")); // Not L10N
            }
            else if (findResult.FindMatch.AnnotationName != null)
            {
                column = FindColumn(PropertyPath.Root.Property(
                    AnnotationDef.ANNOTATION_PREFIX + findResult.FindMatch.AnnotationName));
            }
            else
            {
                return;
            }
            if (null != column && null != DataGridView.CurrentRow)
            {
                DataGridView.CurrentCell = DataGridView.CurrentRow.Cells[column.Index];
            }
        }