diff --git a/Controls.DocumentViewer/Annotations.vb b/Controls.DocumentViewer/Classes/Annotations.vb
similarity index 100%
rename from Controls.DocumentViewer/Annotations.vb
rename to Controls.DocumentViewer/Classes/Annotations.vb
diff --git a/Controls.DocumentViewer/Classes/Search.vb b/Controls.DocumentViewer/Classes/Search.vb
new file mode 100644
index 00000000..882c48c1
--- /dev/null
+++ b/Controls.DocumentViewer/Classes/Search.vb
@@ -0,0 +1,122 @@
+Imports DigitalData.Modules.Base
+Imports DigitalData.Modules.Logging
+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 _CurrentPage As Integer = 0
+ Private _CurrentQuery As String = ""
+ Private _CurrentOccurrenceCount = 0
+ Private _CurrentSelectedOccurrence = 0
+
+ Public Sub SearchAll(pQuery As String)
+ ' Exit, if query has not changed
+ If _CurrentQuery = pQuery Then
+ Exit Sub
+ End If
+
+ ' Save query
+ _CurrentQuery = pQuery
+
+ ' Reset previous highlights, then search for the new query
+ _Viewer.RemoveAllRegions()
+ _Viewer.SearchText(_CurrentQuery, 0, CaseSensitive, WholeWords)
+ End Sub
+
+ Public Sub NextHighlight()
+ ' This also applies when the page has *NO* occurrences, so 0 = 0
+ If _CurrentOccurrenceCount = _CurrentSelectedOccurrence Then
+ ' If there are no occurrences on the current page, got to the *next page*
+ While _CurrentOccurrenceCount = _CurrentSelectedOccurrence And _CurrentPage < _Viewer.PageCount
+ _Viewer.DisplayNextPage()
+ End While
+
+ ' Safeguard against selecting a non-existing occurrence on the last page
+ If _CurrentOccurrenceCount > 0 Then
+ SelectHighlight(1)
+ Else
+ ' Disable next button
+ End If
+ Else
+ ' Otherwise just select the next occurrence
+ SelectHighlight(_CurrentSelectedOccurrence + 1)
+ End If
+ End Sub
+
+ Public Sub PrevHighlight()
+ If _CurrentOccurrenceCount = 0 Or _CurrentSelectedOccurrence = 1 Then
+
+ While (_CurrentOccurrenceCount = 0 Or _CurrentSelectedOccurrence = 1) And _CurrentPage > 1
+ _Viewer.DisplayPreviousPage()
+ End While
+
+ If _CurrentOccurrenceCount > 0 Then
+ SelectHighlight(_CurrentOccurrenceCount)
+ End If
+
+ Else
+ ' Otherwise just select the previous occurrence
+ SelectHighlight(_CurrentSelectedOccurrence - 1)
+ End If
+
+ '' If no occurrence found on the current page,
+ '' skip to the *previous* page to look there
+ 'If _CurrentOccurrenceCount = 0 Then
+ ' While _CurrentOccurrenceCount = 0 And _CurrentPage > 1
+ ' _Viewer.DisplayPreviousPage()
+ ' End While
+
+ 'ElseIf _CurrentSelectedOccurrence = 1 Then
+ ' ' Need to switch to the previous *page*
+ ' ' and highlight the last occurrence there
+ ' If _CurrentPage > 1 Then
+ ' _Viewer.DisplayPreviousPage()
+
+ ' SelectHighlight(_CurrentOccurrenceCount)
+ ' End If
+ 'Else
+ ' ' Otherwise just select the previous occurrence
+ ' SelectHighlight(_CurrentSelectedOccurrence - 1)
+ 'End If
+ End Sub
+
+ Private Sub SelectHighlight(pOccurrence As Integer)
+ Dim oFound = _Viewer.SearchText(_CurrentQuery, pOccurrence, CaseSensitive, WholeWords)
+ If _Viewer.GetStat() = GdPictureStatus.OK And _Viewer.IsRect() Then
+ _Viewer.RectIsEditable = False
+ _Viewer.CenterOnRect()
+
+ _CurrentSelectedOccurrence = pOccurrence
+ Else
+ _CurrentSelectedOccurrence = 0
+ End If
+ End Sub
+
+ Private Sub Viewer_PageDisplayed()
+ If _CurrentPage <> _Viewer.CurrentPage Then
+ _CurrentPage = _Viewer.CurrentPage
+
+ If _CurrentQuery.Length > 0 Then
+ _Viewer.SearchText(_CurrentQuery, 0, CaseSensitive, WholeWords)
+ _CurrentOccurrenceCount = _Viewer.GetTextOccurrenceCount(_CurrentPage, _CurrentQuery, CaseSensitive, WholeWords)
+ _CurrentSelectedOccurrence = 0
+ End If
+ End If
+ End Sub
+
+End Class
diff --git a/Controls.DocumentViewer/DocumentViewer.Designer.vb b/Controls.DocumentViewer/DocumentViewer.Designer.vb
index b7cd68a9..00a390f8 100644
--- a/Controls.DocumentViewer/DocumentViewer.Designer.vb
+++ b/Controls.DocumentViewer/DocumentViewer.Designer.vb
@@ -46,21 +46,31 @@ Partial Class DocumentViewer
Me.buttonNextPage = New DevExpress.XtraBars.BarButtonItem()
Me.buttonLastPage = New DevExpress.XtraBars.BarButtonItem()
Me.buttonSettings = New DevExpress.XtraBars.BarButtonItem()
+ Me.txtSearch = New DevExpress.XtraBars.BarEditItem()
+ Me.RepositoryItemTextEdit3 = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit()
+ Me.btnSearch2 = New DevExpress.XtraBars.BarButtonItem()
+ Me.btnPrevHighlight = New DevExpress.XtraBars.BarButtonItem()
+ Me.btnNextHighlight = New DevExpress.XtraBars.BarButtonItem()
Me.barDockControlTop = New DevExpress.XtraBars.BarDockControl()
Me.barDockControlBottom = New DevExpress.XtraBars.BarDockControl()
Me.barDockControlLeft = New DevExpress.XtraBars.BarDockControl()
Me.barDockControlRight = New DevExpress.XtraBars.BarDockControl()
Me.BarStaticItem1 = New DevExpress.XtraBars.BarStaticItem()
+ Me.btnSearch = New DevExpress.XtraBars.BarButtonItem()
Me.RepositoryItemTextEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit()
Me.RepositoryItemColorEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemColorEdit()
Me.RepositoryItemComboBox1 = New DevExpress.XtraEditors.Repository.RepositoryItemComboBox()
+ Me.RepositoryItemSearchControl1 = New DevExpress.XtraEditors.Repository.RepositoryItemSearchControl()
Me.SpreadsheetControl1 = New DevExpress.XtraSpreadsheet.SpreadsheetControl()
Me.PrintDocument1 = New System.Drawing.Printing.PrintDocument()
+ Me.LabelControl1 = New DevExpress.XtraEditors.LabelControl()
CType(Me.BarManager1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemTextEdit2, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.RepositoryItemTextEdit3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemTextEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemColorEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemComboBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.RepositoryItemSearchControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'GdViewer
@@ -161,10 +171,10 @@ Partial Class DocumentViewer
Me.BarManager1.DockControls.Add(Me.barDockControlLeft)
Me.BarManager1.DockControls.Add(Me.barDockControlRight)
Me.BarManager1.Form = Me
- Me.BarManager1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.buttonPrint, Me.buttonFitPage, Me.buttonFitWidth, Me.buttonZoomIn, Me.buttonZoomOut, Me.buttonRotateRight, Me.buttonRotateLeft, Me.buttonFlipX, Me.buttonFlipY, Me.buttonSettings, Me.buttonPrevPage, Me.buttonNextPage, Me.buttonFirstPage, Me.buttonLastPage, Me.txtCurrentPage, Me.BarStaticItem1, Me.labelPageCount})
+ Me.BarManager1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.buttonPrint, Me.buttonFitPage, Me.buttonFitWidth, Me.buttonZoomIn, Me.buttonZoomOut, Me.buttonRotateRight, Me.buttonRotateLeft, Me.buttonFlipX, Me.buttonFlipY, Me.buttonSettings, Me.buttonPrevPage, Me.buttonNextPage, Me.buttonFirstPage, Me.buttonLastPage, Me.txtCurrentPage, Me.BarStaticItem1, Me.labelPageCount, Me.txtSearch, Me.btnPrevHighlight, Me.btnNextHighlight, Me.btnSearch, Me.btnSearch2})
Me.BarManager1.MainMenu = Me.ToolbarDocumentViewer
- Me.BarManager1.MaxItemId = 26
- Me.BarManager1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemTextEdit1, Me.RepositoryItemTextEdit2, Me.RepositoryItemColorEdit1, Me.RepositoryItemComboBox1})
+ Me.BarManager1.MaxItemId = 33
+ Me.BarManager1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemTextEdit1, Me.RepositoryItemTextEdit2, Me.RepositoryItemColorEdit1, Me.RepositoryItemComboBox1, Me.RepositoryItemSearchControl1, Me.RepositoryItemTextEdit3})
'
'ToolbarDocumentViewer
'
@@ -172,7 +182,7 @@ Partial Class DocumentViewer
Me.ToolbarDocumentViewer.DockCol = 0
Me.ToolbarDocumentViewer.DockRow = 0
Me.ToolbarDocumentViewer.DockStyle = DevExpress.XtraBars.BarDockStyle.Top
- Me.ToolbarDocumentViewer.LinksPersistInfo.AddRange(New DevExpress.XtraBars.LinkPersistInfo() {New DevExpress.XtraBars.LinkPersistInfo(Me.buttonPrint), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFitWidth), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFitPage), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonZoomIn), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonZoomOut), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonRotateLeft), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonRotateRight), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFlipX), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFlipY), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFirstPage), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonPrevPage), New DevExpress.XtraBars.LinkPersistInfo(Me.txtCurrentPage), New DevExpress.XtraBars.LinkPersistInfo(Me.labelPageCount), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonNextPage), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonLastPage), New DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, Me.buttonSettings, DevExpress.XtraBars.BarItemPaintStyle.Standard)})
+ Me.ToolbarDocumentViewer.LinksPersistInfo.AddRange(New DevExpress.XtraBars.LinkPersistInfo() {New DevExpress.XtraBars.LinkPersistInfo(Me.buttonPrint), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFitWidth), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFitPage), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonZoomIn), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonZoomOut), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonRotateLeft), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonRotateRight), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFlipX), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFlipY), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonFirstPage), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonPrevPage), New DevExpress.XtraBars.LinkPersistInfo(Me.txtCurrentPage), New DevExpress.XtraBars.LinkPersistInfo(Me.labelPageCount), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonNextPage), New DevExpress.XtraBars.LinkPersistInfo(Me.buttonLastPage), New DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, Me.buttonSettings, DevExpress.XtraBars.BarItemPaintStyle.Standard), New DevExpress.XtraBars.LinkPersistInfo(Me.txtSearch), New DevExpress.XtraBars.LinkPersistInfo(Me.btnSearch2), New DevExpress.XtraBars.LinkPersistInfo(Me.btnPrevHighlight), New DevExpress.XtraBars.LinkPersistInfo(Me.btnNextHighlight)})
Me.ToolbarDocumentViewer.OptionsBar.AllowCollapse = True
Me.ToolbarDocumentViewer.OptionsBar.AllowQuickCustomization = False
Me.ToolbarDocumentViewer.OptionsBar.DrawDragBorder = False
@@ -313,6 +323,41 @@ Partial Class DocumentViewer
Me.buttonSettings.Name = "buttonSettings"
Me.buttonSettings.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
'
+ 'txtSearch
+ '
+ Me.txtSearch.Caption = "BarEditItem1"
+ Me.txtSearch.Edit = Me.RepositoryItemTextEdit3
+ Me.txtSearch.Id = 27
+ Me.txtSearch.Name = "txtSearch"
+ '
+ 'RepositoryItemTextEdit3
+ '
+ Me.RepositoryItemTextEdit3.AutoHeight = False
+ Me.RepositoryItemTextEdit3.Name = "RepositoryItemTextEdit3"
+ '
+ 'btnSearch2
+ '
+ Me.btnSearch2.Caption = "BarButtonItem3"
+ Me.btnSearch2.Id = 32
+ Me.btnSearch2.ImageOptions.SvgImage = CType(resources.GetObject("btnSearch2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.btnSearch2.Name = "btnSearch2"
+ '
+ 'btnPrevHighlight
+ '
+ Me.btnPrevHighlight.Caption = "BarButtonItem1"
+ Me.btnPrevHighlight.Enabled = False
+ Me.btnPrevHighlight.Id = 28
+ Me.btnPrevHighlight.ImageOptions.SvgImage = CType(resources.GetObject("btnPrevHighlight.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.btnPrevHighlight.Name = "btnPrevHighlight"
+ '
+ 'btnNextHighlight
+ '
+ Me.btnNextHighlight.Caption = "BarButtonItem2"
+ Me.btnNextHighlight.Enabled = False
+ Me.btnNextHighlight.Id = 29
+ Me.btnNextHighlight.ImageOptions.SvgImage = CType(resources.GetObject("btnNextHighlight.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.btnNextHighlight.Name = "btnNextHighlight"
+ '
'barDockControlTop
'
Me.barDockControlTop.CausesValidation = False
@@ -351,6 +396,13 @@ Partial Class DocumentViewer
Me.BarStaticItem1.Id = 17
Me.BarStaticItem1.Name = "BarStaticItem1"
'
+ 'btnSearch
+ '
+ Me.btnSearch.Caption = "Search"
+ Me.btnSearch.Id = 31
+ Me.btnSearch.ImageOptions.SvgImage = CType(resources.GetObject("btnSearch.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.btnSearch.Name = "btnSearch"
+ '
'RepositoryItemTextEdit1
'
Me.RepositoryItemTextEdit1.AutoHeight = False
@@ -372,6 +424,12 @@ Partial Class DocumentViewer
Me.RepositoryItemComboBox1.Items.AddRange(New Object() {"Arrow", "Text"})
Me.RepositoryItemComboBox1.Name = "RepositoryItemComboBox1"
'
+ 'RepositoryItemSearchControl1
+ '
+ Me.RepositoryItemSearchControl1.AutoHeight = False
+ Me.RepositoryItemSearchControl1.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Repository.ClearButton(), New DevExpress.XtraEditors.Repository.SearchButton()})
+ Me.RepositoryItemSearchControl1.Name = "RepositoryItemSearchControl1"
+ '
'SpreadsheetControl1
'
Me.SpreadsheetControl1.Location = New System.Drawing.Point(461, 377)
@@ -383,10 +441,25 @@ Partial Class DocumentViewer
Me.SpreadsheetControl1.Text = "SpreadsheetControl1"
Me.SpreadsheetControl1.Visible = False
'
+ 'LabelControl1
+ '
+ Me.LabelControl1.Appearance.Options.UseTextOptions = True
+ Me.LabelControl1.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center
+ Me.LabelControl1.Appearance.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Center
+ Me.LabelControl1.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None
+ Me.LabelControl1.Location = New System.Drawing.Point(340, 222)
+ Me.LabelControl1.Name = "LabelControl1"
+ Me.LabelControl1.Size = New System.Drawing.Size(409, 72)
+ Me.LabelControl1.TabIndex = 14
+ Me.LabelControl1.Tag = "Die Datei konnte nicht gefunden werden: {0}"
+ Me.LabelControl1.Text = "Die Datei konnte nicht gefunden werden: {0}"
+ Me.LabelControl1.Visible = False
+ '
'DocumentViewer
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.Controls.Add(Me.LabelControl1)
Me.Controls.Add(Me.RichEditControl1)
Me.Controls.Add(Me.SpreadsheetControl1)
Me.Controls.Add(Me.GdViewer)
@@ -398,9 +471,11 @@ Partial Class DocumentViewer
Me.Size = New System.Drawing.Size(1079, 590)
CType(Me.BarManager1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemTextEdit2, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.RepositoryItemTextEdit3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemTextEdit1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemColorEdit1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemComboBox1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.RepositoryItemSearchControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -438,4 +513,12 @@ Partial Class DocumentViewer
Friend WithEvents RepositoryItemColorEdit1 As DevExpress.XtraEditors.Repository.RepositoryItemColorEdit
Friend WithEvents RepositoryItemComboBox1 As DevExpress.XtraEditors.Repository.RepositoryItemComboBox
Friend WithEvents labelPageCount As DevExpress.XtraBars.BarStaticItem
+ Friend WithEvents txtSearch As DevExpress.XtraBars.BarEditItem
+ Friend WithEvents RepositoryItemTextEdit3 As DevExpress.XtraEditors.Repository.RepositoryItemTextEdit
+ Friend WithEvents btnPrevHighlight As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents btnNextHighlight As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents RepositoryItemSearchControl1 As DevExpress.XtraEditors.Repository.RepositoryItemSearchControl
+ Friend WithEvents LabelControl1 As DevExpress.XtraEditors.LabelControl
+ Friend WithEvents btnSearch As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents btnSearch2 As DevExpress.XtraBars.BarButtonItem
End Class
diff --git a/Controls.DocumentViewer/DocumentViewer.resx b/Controls.DocumentViewer/DocumentViewer.resx
index 13375f41..52330804 100644
--- a/Controls.DocumentViewer/DocumentViewer.resx
+++ b/Controls.DocumentViewer/DocumentViewer.resx
@@ -161,6 +161,88 @@
NC42LTAuOCw2LjUtMi4xbDcuOSw3LjljMC4zLDAuMywwLjksMC4zLDEuMiwwbDEuMi0xLjJDMzAuMSwy
OC4yLDMwLjEsMjcuNiwyOS43LDI3LjN6IE00LDEzYzAtNSw0LTksOS05YzUsMCw5LDQsOSw5ICAgcy00
LDktOSw5QzgsMjIsNCwxOCw0LDEzeiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANoCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+ ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
+ OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
+ dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9Ilpvb20iPg0KICAgIDxwYXRoIGQ9Ik0yNy43LDI1LjNM
+ MjAuNSwxOGMxLTEuNCwxLjUtMy4yLDEuNS01YzAtNS00LTktOS05cy05LDQtOSw5YzAsNSw0LDksOSw5
+ YzEuOSwwLDMuNi0wLjYsNS0xLjVsNy4zLDcuMyAgIGMwLjMsMC4zLDAuOSwwLjMsMS4yLDBsMS4yLTEu
+ MkMyOC4xLDI2LjIsMjguMSwyNS42LDI3LjcsMjUuM3ogTTYsMTNjMC0zLjksMy4xLTcsNy03czcsMy4x
+ LDcsN2MwLDMuOS0zLjEsNy03LDdTNiwxNi45LDYsMTN6IiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4N
+ Cjwvc3ZnPgs=
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIQCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs
+ YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy
+ Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl
+ Pg0KICA8ZyBpZD0iQmFja3dhcmQiPg0KICAgIDxwYXRoIGQ9Ik0xNiwyQzguMywyLDIsOC4zLDIsMTZz
+ Ni4zLDE0LDE0LDE0czE0LTYuMywxNC0xNFMyMy43LDIsMTYsMnogTTI0LDE4aC04djZsLTgtOGw4LTh2
+ Nmg4VjE4eiIgY2xhc3M9IkdyZWVuIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIcCAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs
+ YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy
+ Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl
+ Pg0KICA8ZyBpZD0iRm9yd2FyZF8xXyI+DQogICAgPHBhdGggZD0iTTE2LDJDOC4zLDIsMiw4LjMsMiwx
+ NnM2LjMsMTQsMTQsMTRzMTQtNi4zLDE0LTE0UzIzLjcsMiwxNiwyeiBNMTYsMjR2LTZIOHYtNGg4Vjhs
+ OCw4TDE2LDI0eiIgY2xhc3M9IkdyZWVuIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFQEAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
+ QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC
+ MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+ Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRW5hYmxlU2Vh
+ cmNoIj4NCiAgICA8cGF0aCBkPSJNMTQuNSwxNy44QzEwLjgsMTcuMSw4LDEzLjksOCwxMGMwLTQuNCwz
+ LjYtOCw4LThzOCwzLjYsOCw4YzAsMS41LTAuNCwyLjgtMS4xLDRjMCwwLDAuMSwwLDAuMSwwICAgYzAu
+ NywwLDEuNCwwLjEsMi4xLDAuMmMwLjYtMS4zLDAuOS0yLjcsMC45LTQuMmMwLTUuNS00LjUtMTAtMTAt
+ MTBDMTAuNSwwLDYsNC41LDYsMTBjMCwyLjEsMC43LDQuMSwxLjgsNS43bC03LjUsNy42ICAgYy0wLjQs
+ MC4zLTAuNCwwLjksMCwxLjNsMS4yLDEuMmMwLjMsMC4zLDAuOSwwLjMsMS4yLDBsNy42LTcuNmMwLjks
+ MC42LDEuOSwxLjEsMi45LDEuNEMxMy42LDE5LDE0LDE4LjQsMTQuNSwxNy44eiIgY2xhc3M9IkJsdWUi
+ IC8+DQogICAgPHBhdGggZD0iTTIzLDE2Yy00LjQsMC04LjEsMy05LDdjMC45LDQsNC42LDcsOSw3YzQu
+ NCwwLDguMS0zLDktN0MzMS4xLDE5LDI3LjQsMTYsMjMsMTZ6IE0yMywyOGMtMy4zLDAtNi4xLTItNy01
+ ICAgYzAuOS0zLDMuNy01LDctNXM2LjEsMiw3LDVDMjkuMSwyNiwyNi4zLDI4LDIzLDI4eiBNMjMsMjZj
+ LTEuNywwLTMtMS4zLTMtM3MxLjMtMywzLTNzMywxLjMsMywzUzI0LjcsMjYsMjMsMjZ6IiBjbGFzcz0i
+ QmxhY2siIC8+DQogIDwvZz4NCjwvc3ZnPgs=
diff --git a/Controls.DocumentViewer/DocumentViewer.vb b/Controls.DocumentViewer/DocumentViewer.vb
index a8bb89b6..8312e861 100644
--- a/Controls.DocumentViewer/DocumentViewer.vb
+++ b/Controls.DocumentViewer/DocumentViewer.vb
@@ -31,15 +31,17 @@ Public Class DocumentViewer
Stream
End Enum
- Private _ViewerMode As ViewerMode
- Private _currentSearchOccurence As Integer = 0
- Private _toggleGamma As Boolean = True
- Private _licenseKey As String = String.Empty
- Private _licenseManager As New GdPicture14.LicenseManager()
Private _logConfig As LogConfig
Private _logger As Logger
- Private _email As Email2
Private _Config As ConfigManager(Of Config)
+ Private _email As Email2
+
+ Private _ViewerMode As ViewerMode
+
+ Private _licenseKey As String = String.Empty
+ Private _licenseManager As New GdPicture14.LicenseManager()
+
+ Private _Search As Search
Private _Annotations As Annotations
Private _AnnotationsPending As Boolean = False
@@ -77,6 +79,7 @@ Public Class DocumentViewer
_licenseKey = pLicenseKey
_licenseManager.RegisterKEY(_licenseKey)
_Annotations = New Annotations(pLogConfig)
+ _Search = New Search(pLogConfig, GdViewer)
Dim oConfigPath = ConfigPath()
_Config = New ConfigManager(Of Config)(pLogConfig, oConfigPath)
@@ -132,6 +135,10 @@ Public Class DocumentViewer
UpdateMainUi()
End Sub
+ Private Sub SearchFile(pSearchQuery As String)
+
+ End Sub
+
'''
''' Terminate Viewer, freeing up resources and deleting temp files
'''
@@ -676,7 +683,29 @@ Public Class DocumentViewer
txtCurrentPage.Enabled = False
End Select
+ End Sub
+ Private Sub btnSearch2_ItemClick(sender As Object, e As XtraBars.ItemClickEventArgs) Handles btnSearch2.ItemClick
+ _Search.SearchAll(txtSearch.EditValue.ToString)
+ End Sub
+
+ Private Sub btnPrevHighlight_ItemClick(sender As Object, e As XtraBars.ItemClickEventArgs) Handles btnPrevHighlight.ItemClick
+ _Search.PrevHighlight()
+ End Sub
+
+ Private Sub btnNextHighlight_ItemClick(sender As Object, e As XtraBars.ItemClickEventArgs) Handles btnNextHighlight.ItemClick
+ _Search.NextHighlight()
+ End Sub
+
+ Private Sub txtSearch_EditValueChanged(sender As Object, e As EventArgs) Handles txtSearch.EditValueChanged
+ If String.IsNullOrEmpty(txtSearch.EditValue) Then
+ btnPrevHighlight.Enabled = False
+ btnNextHighlight.Enabled = False
+
+ Else
+ btnPrevHighlight.Enabled = True
+ btnNextHighlight.Enabled = True
+ End If
End Sub
#End Region
diff --git a/Controls.DocumentViewer/DocumentViewer.vbproj b/Controls.DocumentViewer/DocumentViewer.vbproj
index f7fa0295..8ced72a4 100644
--- a/Controls.DocumentViewer/DocumentViewer.vbproj
+++ b/Controls.DocumentViewer/DocumentViewer.vbproj
@@ -131,7 +131,7 @@
-
+
DocumentViewer.vb
@@ -161,6 +161,7 @@
Settings.settings
True
+