--- a/editors/CodeFileEditor.py Mon May 27 13:10:32 2013 +0200
+++ b/editors/CodeFileEditor.py Tue May 28 10:03:41 2013 +0200
@@ -100,10 +100,7 @@
self.DisableEvents = True
self.CurrentAction = None
- self.SearchParams = None
- self.SearchResults = None
- self.CurrentFindHighlight = None
+ self.ResetSearchResults() self.RefreshHighlightsTimer = wx.Timer(self, -1)
self.Bind(wx.EVT_TIMER, self.OnRefreshHighlightsTimer, self.RefreshHighlightsTimer)
@@ -140,6 +137,12 @@
+ def ResetSearchResults(self): + self.SearchParams = None + self.SearchResults = None + self.CurrentFindHighlight = None def OnModification(self, event):
if not self.DisableEvents:
mod_type = event.GetModificationType()
@@ -241,7 +244,7 @@
self.RefreshSectionStyling()
def RefreshSectionStyling(self):
@@ -274,7 +277,8 @@
self.Controler.SetTextParts(parts)
+ self.ResetSearchResults() def OnKeyPressed(self, event):
@@ -503,8 +507,21 @@
self.CurrentFindHighlight = self.SearchResults[idx]
self.AddHighlight(*self.CurrentFindHighlight)
- self.CurrentFindHighlight = self.SearchResults[0]
- self.AddHighlight(*self.CurrentFindHighlight)
+ caret_pos = self.GetCurrentPos() + if self.SearchParams["wrap"]: + self.CurrentFindHighlight = self.SearchResults[0] + self.CurrentFindHighlight = None + for start, end, highlight_type in self.SearchResults: + highlight_start_pos = start[1] + highlight_start_pos = self.GetLineEndPosition(start[0] - 1) + start[1] + 1 + if highlight_start_pos >= caret_pos: + self.CurrentFindHighlight = (start, end, highlight_type) + if self.CurrentFindHighlight is not None: + self.AddHighlight(*self.CurrentFindHighlight) self.ScrollToLine(self.CurrentFindHighlight[0][0])
@@ -552,12 +569,12 @@
highlight_start_pos = self.GetLineEndPosition(start[0] - 1) + start[1] + 1
- highlight_end_pos = end[1] - indent + 1
+ highlight_end_pos = end[1] + 1 highlight_end_pos = self.GetLineEndPosition(end[0] - 1) + end[1] + 2
self.StartStyling(highlight_start_pos, 0xff)
self.SetStyling(highlight_end_pos - highlight_start_pos, highlight_type)
- self.StartStyling(highlight_start_pos, 0x00)
+ self.StartStyling(highlight_end_pos, 0x00) self.SetStyling(len(self.GetText()) - highlight_end_pos, stc.STC_STYLE_DEFAULT)
--- a/editors/TextViewer.py Mon May 27 13:10:32 2013 +0200
+++ b/editors/TextViewer.py Tue May 28 10:03:41 2013 +0200
@@ -163,14 +163,13 @@
self.DisableEvents = True
self.CurrentAction = None
- self.SearchParams = None
- self.SearchResults = None
- self.CurrentFindHighlight = None
self.InstancePath = instancepath
+ self.ResetSearchResults() self.RefreshHighlightsTimer = wx.Timer(self, -1)
self.Bind(wx.EVT_TIMER, self.OnRefreshHighlightsTimer, self.RefreshHighlightsTimer)
@@ -214,6 +213,12 @@
return self.Editor.GetCurrentPos()
+ def ResetSearchResults(self): + self.SearchParams = None + self.SearchResults = None + self.CurrentFindHighlight = None def OnModification(self, event):
if not self.DisableEvents:
mod_type = event.GetModificationType()
@@ -786,6 +791,7 @@
self.Controler.SetEditedElementText(self.TagName, self.GetText())
+ self.ResetSearchResults() def OnKeyDown(self, event):
if self.Controler is not None: