diff --git a/Controls.DocumentViewer/Classes/Search.vb b/Controls.DocumentViewer/Classes/Search.vb index 68e73c10..9d9cfe1e 100644 --- a/Controls.DocumentViewer/Classes/Search.vb +++ b/Controls.DocumentViewer/Classes/Search.vb @@ -5,25 +5,26 @@ Imports GdPicture14 Public Class Search Inherits BaseClass - Public Sub New(pLogConfig As LogConfig, pGDViewer As GdViewer) - MyBase.New(pLogConfig) - _Viewer = pGDViewer - _Viewer.MouseMode = ViewerMouseMode.MouseModeDefault - - AddHandler _Viewer.PageDisplayed, AddressOf Viewer_PageDisplayed - End Sub - Public Property SearchQuery As String = "" Public Property CaseSensitive As Boolean = False Public Property WholeWords As Boolean = False Private _Viewer As GdViewer = Nothing + Private _AnnotationManager As New AnnotationManager() Private _CurrentPage As Integer = 0 Private _CurrentQuery As String = "" Private _CurrentOccurrenceCount = 0 Private _CurrentSelectedOccurrence = 0 + Public Sub New(pLogConfig As LogConfig, pGDViewer As GdViewer) + MyBase.New(pLogConfig) + _Viewer = pGDViewer + _AnnotationManager.InitFromGdViewer(pGDViewer) + + AddHandler _Viewer.PageDisplayed, AddressOf Viewer_PageDisplayed + End Sub + Public Sub SearchAll(pQuery As String) ' Exit, if query has not changed If _CurrentQuery = pQuery Then @@ -111,7 +112,17 @@ Public Class Search End Sub Private Sub DoSearchText() + + _Viewer.SearchText(_CurrentQuery, 0, CaseSensitive, WholeWords) + + Dim oRegionCount = _Viewer.RegionCount() + For index = 1 To oRegionCount + Dim oId = _Viewer.GetRegionID(index) + _Viewer.SetRegionEditable(oId, False) + Next + + _CurrentOccurrenceCount = _Viewer.GetTextOccurrenceCount(_CurrentPage, _CurrentQuery, CaseSensitive, WholeWords) _CurrentSelectedOccurrence = 0 End Sub