public void SetSource(string source) { Console.WriteLine("SetSource: {0}", source); hitSources = new ArrayList(); if (source != null) { hitSources.Add(source); } hits = new ArrayList(); for (int i = 0; i < NumResults; i++) { HitTilePair pair = (HitTilePair)all_hits [i]; if (SourceIsDisplayable(pair.Hit)) { InsertDisplayable(pair); } else { Console.WriteLine("{0} -- {1}", pair.Hit.Type, pair.Hit.Uri); } } Changed(); }
public bool Subtract(Uri uri) { bool removed = false; for (int i = 0; i < all_hits.Count; ++i) { HitTilePair pair = (HitTilePair)all_hits [i]; if (pair.Hit.Uri.Equals(uri) && pair.Hit.Uri.Fragment == uri.Fragment) { all_hits.Remove(pair); removed = true; break; } } for (int i = 0; i < hits.Count; ++i) { HitTilePair pair = (HitTilePair)hits [i]; if (pair.Hit.Uri.Equals(uri) && pair.Hit.Uri.Fragment == uri.Fragment) { hits.Remove(pair); break; } } return(removed); }
private void RenderTiles(TileRenderContext ctx) { int i = FirstDisplayed; int i1 = LastDisplayed; while (i <= i1 && i < NumResults) { HitTilePair pair = (HitTilePair)hits [i]; ctx.Tile(pair.Tile); ++i; } }
private bool InsertDisplayable(HitTilePair pair) { int i = hits.BinarySearch(pair); hits.Insert(i < 0 ? ~i : i, pair); if (i == 0 || i < LastDisplayed) { Changed(); return(true); } return(false); }
public void AddSource(string source) { hitSources.Add(source); for (int i = 0; i < NumDisplayableResults; i++) { HitTilePair pair = (HitTilePair)hits [i]; if (!SourceIsDisplayable(pair.Hit)) { hits.RemoveAt(i); } } }
public void SubtractSource(string source) { hitSources.Remove(source); for (int i = 0; i < NumResults; i++) { HitTilePair pair = (HitTilePair)hits [i]; if (pair.Hit.Source != source) { continue; } int j = hits.BinarySearch(pair); hits.Insert(j < 0 ? ~j : j, pair); if (j == 0 || j < LastDisplayed) { Changed(); } } }
public bool Add(Hit hit, Tile tile) { bool changed = false; HitTilePair pair = new HitTilePair(hit, tile); int i = all_hits.BinarySearch(pair); all_hits.Insert(i < 0 ? ~i : i, pair); if (i == 0 || i < LastDisplayed) { Changed(); changed = true; } if (SourceIsDisplayable(hit)) { if (InsertDisplayable(pair)) { changed = true; } } return(changed); }
public int CompareTo(object obj) { HitTilePair other = (HitTilePair)obj; return(hit.CompareTo(other.hit)); }
public bool Add (Hit hit, Tile tile) { bool changed = false; HitTilePair pair = new HitTilePair (hit, tile); int i = all_hits.BinarySearch (pair); all_hits.Insert (i < 0 ? ~i : i, pair); if (i == 0 || i < LastDisplayed) { Changed (); changed = true; } if (SourceIsDisplayable (hit)) { if (InsertDisplayable (pair)) changed = true; } return changed; }
private bool InsertDisplayable (HitTilePair pair) { int i = hits.BinarySearch (pair); hits.Insert (i < 0 ? ~i : i, pair); if (i == 0 || i < LastDisplayed) { Changed (); return true; } return false; }