504 def Find(self, direction, search_params): |
504 def Find(self, direction, search_params): |
505 if self.SearchParams != search_params: |
505 if self.SearchParams != search_params: |
506 self.ClearHighlights(SEARCH_RESULT_HIGHLIGHT) |
506 self.ClearHighlights(SEARCH_RESULT_HIGHLIGHT) |
507 |
507 |
508 self.SearchParams = search_params |
508 self.SearchParams = search_params |
509 criteria = { |
|
510 "raw_pattern": search_params["find_pattern"], |
|
511 "pattern": re.compile(search_params["find_pattern"]), |
|
512 "case_sensitive": search_params["case_sensitive"], |
|
513 "regular_expression": search_params["regular_expression"], |
|
514 "filter": "all"} |
|
515 |
509 |
516 self.SearchResults = [ |
510 self.SearchResults = [ |
517 (start, end, SEARCH_RESULT_HIGHLIGHT) |
511 (start, end, SEARCH_RESULT_HIGHLIGHT) |
518 for start, end, text in |
512 for start, end, text in |
519 TestTextElement(self.GetText(), criteria)] |
513 TestTextElement(self.GetText(), search_params)] |
520 self.CurrentFindHighlight = None |
514 self.CurrentFindHighlight = None |
521 |
515 |
522 if len(self.SearchResults) > 0: |
516 if len(self.SearchResults) > 0: |
523 if self.CurrentFindHighlight is not None: |
517 if self.CurrentFindHighlight is not None: |
524 old_idx = self.SearchResults.index(self.CurrentFindHighlight) |
518 old_idx = self.SearchResults.index(self.CurrentFindHighlight) |