From 40c90dbdac9c80115b519108cb84ecd7956e755b Mon Sep 17 00:00:00 2001 From: Developer01 Date: Tue, 5 May 2026 07:57:31 +0200 Subject: [PATCH] =?UTF-8?q?Projektdateien=20hinzuf=C3=BCgen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.config | 46 + Classes/Annotations.vb | 70 ++ Classes/Search.vb | 137 +++ Config.vb | 10 + DocumentViewer.Designer.vb | 553 ++++++++++++ DocumentViewer.resx | 254 ++++++ DocumentViewer.resx.bak | 364 ++++++++ DocumentViewer.sln | 25 + DocumentViewer.vb | 1009 ++++++++++++++++++++++ DocumentViewer.vbproj | 405 +++++++++ DocumentViewer.vbproj.bak | 195 +++++ DocumentViewer_temp.txt | 357 ++++++++ MailLicense.xml | 23 + My Project/Application.Designer.vb | 13 + My Project/Application.myapp | 10 + My Project/AssemblyInfo.vb | 35 + My Project/Resources.Designer.vb | 223 +++++ My Project/Resources.resx | 169 ++++ My Project/Resources.resx.bak | 133 +++ My Project/Settings.Designer.vb | 73 ++ My Project/Settings.settings | 7 + My Project/licenses.licx | 5 + My Project/licenses.licx.bak | 5 + README.txt | 5 + Resources/ZooFlow-10.svg | 1 + Resources/doublefirst.svg | 9 + Resources/doublelast.svg | 9 + Resources/fittopage.svg | 17 + Resources/fittowidth.svg | 21 + Resources/flipimage_horizontal.svg | 20 + Resources/flipimage_vertical.svg | 20 + Resources/floatingobjectoutlinecolor.svg | 9 + Resources/next.svg | 7 + Resources/prev.svg | 7 + Resources/rotateclockwise.svg | 15 + Resources/rotatecounterclockwise.svg | 15 + Resources/tooltips.svg | 16 + Resources/tooltips1.svg | 16 + Resources/viewsettings.svg | 17 + Resources/zoomin.svg | 9 + frmViewerSettings.Designer.vb | 451 ++++++++++ frmViewerSettings.resx | 120 +++ frmViewerSettings.vb | 103 +++ packages.config | 32 + 44 files changed, 5040 insertions(+) create mode 100644 App.config create mode 100644 Classes/Annotations.vb create mode 100644 Classes/Search.vb create mode 100644 Config.vb create mode 100644 DocumentViewer.Designer.vb create mode 100644 DocumentViewer.resx create mode 100644 DocumentViewer.resx.bak create mode 100644 DocumentViewer.sln create mode 100644 DocumentViewer.vb create mode 100644 DocumentViewer.vbproj create mode 100644 DocumentViewer.vbproj.bak create mode 100644 DocumentViewer_temp.txt create mode 100644 MailLicense.xml create mode 100644 My Project/Application.Designer.vb create mode 100644 My Project/Application.myapp create mode 100644 My Project/AssemblyInfo.vb create mode 100644 My Project/Resources.Designer.vb create mode 100644 My Project/Resources.resx create mode 100644 My Project/Resources.resx.bak create mode 100644 My Project/Settings.Designer.vb create mode 100644 My Project/Settings.settings create mode 100644 My Project/licenses.licx create mode 100644 My Project/licenses.licx.bak create mode 100644 README.txt create mode 100644 Resources/ZooFlow-10.svg create mode 100644 Resources/doublefirst.svg create mode 100644 Resources/doublelast.svg create mode 100644 Resources/fittopage.svg create mode 100644 Resources/fittowidth.svg create mode 100644 Resources/flipimage_horizontal.svg create mode 100644 Resources/flipimage_vertical.svg create mode 100644 Resources/floatingobjectoutlinecolor.svg create mode 100644 Resources/next.svg create mode 100644 Resources/prev.svg create mode 100644 Resources/rotateclockwise.svg create mode 100644 Resources/rotatecounterclockwise.svg create mode 100644 Resources/tooltips.svg create mode 100644 Resources/tooltips1.svg create mode 100644 Resources/viewsettings.svg create mode 100644 Resources/zoomin.svg create mode 100644 frmViewerSettings.Designer.vb create mode 100644 frmViewerSettings.resx create mode 100644 frmViewerSettings.vb create mode 100644 packages.config diff --git a/App.config b/App.config new file mode 100644 index 0000000..0927f88 --- /dev/null +++ b/App.config @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Classes/Annotations.vb b/Classes/Annotations.vb new file mode 100644 index 0000000..56c72d1 --- /dev/null +++ b/Classes/Annotations.vb @@ -0,0 +1,70 @@ +Imports DigitalData.Modules.Base +Imports DigitalData.Modules.Logging +Imports GdPicture14 +Imports GdPicture14.Annotations + +Public Class Annotations + Inherits BaseClass + + Private Const DEFAULT_LEFT = 10 + Private Const DEFAULT_TOP = 10 + Private Const DEFAULT_WIDTH = 200 + Private Const DEFAULT_HEIGHT = 50 + + Public Sub New(pLogConfig As LogConfig) + MyBase.New(pLogConfig) + End Sub + + Public Function AddAnnotationInteractive(pGDViewer As GdViewer, pText As String) As Boolean + pGDViewer.AddTextAnnotationInteractive(pText, Color.Black, "Arial", Drawing.FontStyle.Bold Or Drawing.FontStyle.Underline, 12, True, Color.Red, Color.White, 1, 0) + If pGDViewer.GetStat = GdPictureStatus.OK Then + Return True + Else + Return False + End If + End Function + + Public Function AddAnnotation(pGDViewer As GdViewer, pText As String) As Boolean + Try + Dim oStatus As GdPictureStatus = GdPictureStatus.OK + Using oManager As AnnotationManager = pGDViewer.GetAnnotationManager() + If oManager.InitFromGdViewer(pGDViewer) = GdPictureStatus.OK AndAlso oManager.PageCount > 0 AndAlso oManager.SelectPage(1) = GdPictureStatus.OK Then + Using oAnnotation As AnnotationText = oManager.AddTextAnnot(0, 0, 0, 0, pText) + If oManager.GetStat = GdPictureStatus.OK AndAlso oAnnotation IsNot Nothing Then + oAnnotation.Alignment = StringAlignment.Near + oAnnotation.Author = Environment.UserName + oAnnotation.Fill = True + oAnnotation.FillColor = Color.LightYellow + oAnnotation.FontSize = 16 + oAnnotation.ForeColor = Color.Black + oAnnotation.Opacity = 0.7F + oAnnotation.StrokeColor = Color.Yellow + oAnnotation.Top = DEFAULT_TOP + oAnnotation.Left = DEFAULT_LEFT + oAnnotation.Width = DEFAULT_WIDTH + oAnnotation.Height = DEFAULT_HEIGHT + oAnnotation.Text = pText + + 'pGDViewer.ann + + If oManager.SaveAnnotationsToPage() = GdPictureStatus.OK Then + oManager.BurnAnnotationsToPage(True) + End If + End If + End Using + End If + oStatus = oManager.GetStat() + End Using + + If oStatus = GdPictureStatus.OK Then + Return True + Else + Return False + End If + Catch ex As Exception + Return False + End Try + End Function + + +End Class diff --git a/Classes/Search.vb b/Classes/Search.vb new file mode 100644 index 0000000..26b6eb3 --- /dev/null +++ b/Classes/Search.vb @@ -0,0 +1,137 @@ +Imports DigitalData.Modules.Base +Imports DigitalData.Modules.Logging +Imports GdPicture14 + +Public Class Search + Inherits BaseClass + + 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 + Exit Sub + End If + + ' Save query + _CurrentQuery = pQuery + + ' Reset previous highlights, then search for the new query + _Viewer.RemoveAllRegions() + DoSearchText() + + ' Select the next occurrence + NextHighlight() + End Sub + + Public Sub NextHighlight() + ' This also applies when the page has *NO* occurrences, so 0 = 0 + If _CurrentOccurrenceCount = _CurrentSelectedOccurrence Then + Dim oCount = 0 + ' If there are no occurrences on the current page, got to the *next page* + While _CurrentOccurrenceCount = _CurrentSelectedOccurrence And _CurrentPage <= _Viewer.PageCount + oCount += 1 + If _CurrentPage = _Viewer.PageCount Then + _Viewer.DisplayFirstPage() + Else + _Viewer.DisplayNextPage() + End If + If oCount > 333 Then + Exit While + End If + 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 + Dim oCount = 0 + While (_CurrentOccurrenceCount = 0 Or _CurrentSelectedOccurrence = 1) And _CurrentPage >= 1 + oCount += 1 + If _CurrentPage = 1 Then + _Viewer.DisplayLastPage() + Else + _Viewer.DisplayPreviousPage() + End If + If oCount > 333 Then + Exit While + End If + End While + + If _CurrentOccurrenceCount > 0 Then + 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 + DoSearchText() + End If + End If + 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 + +End Class diff --git a/Config.vb b/Config.vb new file mode 100644 index 0000000..54d76ae --- /dev/null +++ b/Config.vb @@ -0,0 +1,10 @@ +Public Class Config + Public Enum PageFitSetting + Undefined + FitPage + FitWidth + End Enum + + Public Property PageFit + +End Class diff --git a/DocumentViewer.Designer.vb b/DocumentViewer.Designer.vb new file mode 100644 index 0000000..1e2603f --- /dev/null +++ b/DocumentViewer.Designer.vb @@ -0,0 +1,553 @@ + +Partial Class DocumentViewer + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(DocumentViewer)) + Me.OpenFileDialog = New System.Windows.Forms.OpenFileDialog() + Me.BarManager1 = New DevExpress.XtraBars.BarManager(Me.components) + Me.ToolbarDocumentViewer = New DevExpress.XtraBars.Bar() + Me.buttonPrint = New DevExpress.XtraBars.BarButtonItem() + Me.buttonFitWidth = New DevExpress.XtraBars.BarButtonItem() + Me.buttonFitPage = New DevExpress.XtraBars.BarButtonItem() + Me.buttonZoomIn = New DevExpress.XtraBars.BarButtonItem() + Me.buttonZoomOut = New DevExpress.XtraBars.BarButtonItem() + Me.buttonRotateLeft = New DevExpress.XtraBars.BarButtonItem() + Me.buttonRotateRight = New DevExpress.XtraBars.BarButtonItem() + Me.buttonFlipX = New DevExpress.XtraBars.BarButtonItem() + Me.buttonFlipY = New DevExpress.XtraBars.BarButtonItem() + Me.buttonFirstPage = New DevExpress.XtraBars.BarButtonItem() + Me.buttonPrevPage = New DevExpress.XtraBars.BarButtonItem() + Me.txtCurrentPage = New DevExpress.XtraBars.BarEditItem() + Me.RepositoryItemTextEdit2 = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit() + Me.labelPageCount = New DevExpress.XtraBars.BarStaticItem() + 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.MyGDPViewer = New GdPicture14.GdViewer() + Me.SpreadsheetControl1 = New DevExpress.XtraSpreadsheet.SpreadsheetControl() + Me.PrintDocument1 = New System.Drawing.Printing.PrintDocument() + Me.lbFileNotLoaded = New DevExpress.XtraEditors.LabelControl() + Me.RichEditControl1 = New DevExpress.XtraRichEdit.RichEditControl() + Me.lblInfo = New System.Windows.Forms.Label() + Me.lblNoFileSelected = 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() + ' + 'OpenFileDialog + ' + Me.OpenFileDialog.FileName = "OpenFileDialog1" + ' + 'BarManager1 + ' + Me.BarManager1.Bars.AddRange(New DevExpress.XtraBars.Bar() {Me.ToolbarDocumentViewer}) + Me.BarManager1.DockControls.Add(Me.barDockControlTop) + Me.BarManager1.DockControls.Add(Me.barDockControlBottom) + 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.txtSearch, Me.btnPrevHighlight, Me.btnNextHighlight, Me.btnSearch, Me.btnSearch2}) + Me.BarManager1.MainMenu = Me.ToolbarDocumentViewer + Me.BarManager1.MaxItemId = 34 + Me.BarManager1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemTextEdit1, Me.RepositoryItemTextEdit2, Me.RepositoryItemColorEdit1, Me.RepositoryItemComboBox1, Me.RepositoryItemSearchControl1, Me.RepositoryItemTextEdit3}) + ' + 'ToolbarDocumentViewer + ' + Me.ToolbarDocumentViewer.BarName = "Hauptmenü" + 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), 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 + Me.ToolbarDocumentViewer.OptionsBar.UseWholeRow = True + Me.ToolbarDocumentViewer.Text = "Hauptmenü" + ' + 'buttonPrint + ' + Me.buttonPrint.Caption = "Drucken" + Me.buttonPrint.Id = 0 + Me.buttonPrint.ImageOptions.SvgImage = CType(resources.GetObject("buttonPrint.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.buttonPrint.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonPrint.Name = "buttonPrint" + ' + 'buttonFitWidth + ' + Me.buttonFitWidth.Caption = "An Breite anpassen" + Me.buttonFitWidth.Id = 2 + Me.buttonFitWidth.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.fittowidth + Me.buttonFitWidth.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonFitWidth.Name = "buttonFitWidth" + ' + 'buttonFitPage + ' + Me.buttonFitPage.Caption = "An Seite Anpassen" + Me.buttonFitPage.Id = 1 + Me.buttonFitPage.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.fittopage + Me.buttonFitPage.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonFitPage.Name = "buttonFitPage" + ' + 'buttonZoomIn + ' + Me.buttonZoomIn.Caption = "Zoom +" + Me.buttonZoomIn.Id = 3 + Me.buttonZoomIn.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.zoomin + Me.buttonZoomIn.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonZoomIn.Name = "buttonZoomIn" + ' + 'buttonZoomOut + ' + Me.buttonZoomOut.Caption = "Zoom -" + Me.buttonZoomOut.Id = 4 + Me.buttonZoomOut.ImageOptions.SvgImage = CType(resources.GetObject("buttonZoomOut.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.buttonZoomOut.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonZoomOut.Name = "buttonZoomOut" + ' + 'buttonRotateLeft + ' + Me.buttonRotateLeft.Caption = "Drehen -90 Grad" + Me.buttonRotateLeft.Id = 6 + Me.buttonRotateLeft.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.rotatecounterclockwise + Me.buttonRotateLeft.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonRotateLeft.Name = "buttonRotateLeft" + ' + 'buttonRotateRight + ' + Me.buttonRotateRight.Caption = "Drehen 90 Grad" + Me.buttonRotateRight.Id = 5 + Me.buttonRotateRight.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.rotateclockwise + Me.buttonRotateRight.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonRotateRight.Name = "buttonRotateRight" + ' + 'buttonFlipX + ' + Me.buttonFlipX.Caption = "Spiegeln Horizontal" + Me.buttonFlipX.Id = 7 + Me.buttonFlipX.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.flipimage_horizontal + Me.buttonFlipX.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonFlipX.Name = "buttonFlipX" + ' + 'buttonFlipY + ' + Me.buttonFlipY.Caption = "Spiegeln Vertikal" + Me.buttonFlipY.Id = 8 + Me.buttonFlipY.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.flipimage_vertical + Me.buttonFlipY.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonFlipY.Name = "buttonFlipY" + ' + 'buttonFirstPage + ' + Me.buttonFirstPage.Caption = "Erste Seite" + Me.buttonFirstPage.Id = 13 + Me.buttonFirstPage.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.doublefirst + Me.buttonFirstPage.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonFirstPage.Name = "buttonFirstPage" + ' + 'buttonPrevPage + ' + Me.buttonPrevPage.Caption = "Zurück" + Me.buttonPrevPage.Id = 11 + Me.buttonPrevPage.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.prev + Me.buttonPrevPage.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonPrevPage.Name = "buttonPrevPage" + ' + 'txtCurrentPage + ' + Me.txtCurrentPage.Caption = "BarEditItem1" + Me.txtCurrentPage.Edit = Me.RepositoryItemTextEdit2 + Me.txtCurrentPage.Id = 16 + Me.txtCurrentPage.Name = "txtCurrentPage" + ' + 'RepositoryItemTextEdit2 + ' + Me.RepositoryItemTextEdit2.AutoHeight = False + Me.RepositoryItemTextEdit2.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric + Me.RepositoryItemTextEdit2.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric + Me.RepositoryItemTextEdit2.Name = "RepositoryItemTextEdit2" + ' + 'labelPageCount + ' + Me.labelPageCount.Caption = "/ 0" + Me.labelPageCount.Id = 24 + Me.labelPageCount.Name = "labelPageCount" + ' + 'buttonNextPage + ' + Me.buttonNextPage.Caption = "Vor" + Me.buttonNextPage.Id = 12 + Me.buttonNextPage.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources._next + Me.buttonNextPage.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonNextPage.Name = "buttonNextPage" + ' + 'buttonLastPage + ' + Me.buttonLastPage.Caption = "Letzte Seite" + Me.buttonLastPage.Id = 14 + Me.buttonLastPage.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.doublelast + Me.buttonLastPage.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonLastPage.Name = "buttonLastPage" + ' + 'buttonSettings + ' + Me.buttonSettings.Alignment = DevExpress.XtraBars.BarItemLinkAlignment.Right + Me.buttonSettings.Caption = "Einstellungen" + Me.buttonSettings.Id = 9 + Me.buttonSettings.ImageOptions.SvgImage = Global.DigitalData.Controls.DocumentViewer.My.Resources.Resources.viewsettings + Me.buttonSettings.ImageOptions.SvgImageSize = New System.Drawing.Size(25, 25) + Me.buttonSettings.Name = "buttonSettings" + Me.buttonSettings.Visibility = DevExpress.XtraBars.BarItemVisibility.Never + ' + 'txtSearch + ' + Me.txtSearch.Caption = "Suchtext" + 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 = "Text suchen" + 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 = "Vorheriges Ergebnis" + 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 = "Nächstes Ergebnis" + 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 + Me.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top + Me.barDockControlTop.Location = New System.Drawing.Point(0, 0) + Me.barDockControlTop.Manager = Me.BarManager1 + Me.barDockControlTop.Size = New System.Drawing.Size(634, 33) + ' + 'barDockControlBottom + ' + Me.barDockControlBottom.CausesValidation = False + Me.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom + Me.barDockControlBottom.Location = New System.Drawing.Point(0, 555) + Me.barDockControlBottom.Manager = Me.BarManager1 + Me.barDockControlBottom.Size = New System.Drawing.Size(634, 0) + ' + 'barDockControlLeft + ' + Me.barDockControlLeft.CausesValidation = False + Me.barDockControlLeft.Dock = System.Windows.Forms.DockStyle.Left + Me.barDockControlLeft.Location = New System.Drawing.Point(0, 33) + Me.barDockControlLeft.Manager = Me.BarManager1 + Me.barDockControlLeft.Size = New System.Drawing.Size(0, 522) + ' + 'barDockControlRight + ' + Me.barDockControlRight.CausesValidation = False + Me.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right + Me.barDockControlRight.Location = New System.Drawing.Point(634, 33) + Me.barDockControlRight.Manager = Me.BarManager1 + Me.barDockControlRight.Size = New System.Drawing.Size(0, 522) + ' + 'BarStaticItem1 + ' + Me.BarStaticItem1.Caption = "Seiten" + 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 + Me.RepositoryItemTextEdit1.Name = "RepositoryItemTextEdit1" + ' + 'RepositoryItemColorEdit1 + ' + Me.RepositoryItemColorEdit1.AutoHeight = False + Me.RepositoryItemColorEdit1.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}) + Me.RepositoryItemColorEdit1.Name = "RepositoryItemColorEdit1" + Me.RepositoryItemColorEdit1.ShowCustomColors = False + Me.RepositoryItemColorEdit1.ShowSystemColors = False + Me.RepositoryItemColorEdit1.ShowWebColors = False + ' + 'RepositoryItemComboBox1 + ' + Me.RepositoryItemComboBox1.AutoHeight = False + Me.RepositoryItemComboBox1.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}) + 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" + ' + 'MyGDPViewer + ' + Me.MyGDPViewer.AllowDropFile = False + Me.MyGDPViewer.AnimateGIF = True + Me.MyGDPViewer.AnnotationDropShadow = True + Me.MyGDPViewer.AnnotationEnableMultiSelect = True + Me.MyGDPViewer.AnnotationResizeRotateHandlesColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.MyGDPViewer.AnnotationResizeRotateHandlesScale = 1.0! + Me.MyGDPViewer.AnnotationSelectionLineColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.MyGDPViewer.AutoScrollMargin = New System.Drawing.Size(0, 0) + Me.MyGDPViewer.AutoScrollMinSize = New System.Drawing.Size(0, 0) + Me.MyGDPViewer.BackColor = System.Drawing.Color.Black + Me.MyGDPViewer.BackgroundImage = Nothing + Me.MyGDPViewer.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None + Me.MyGDPViewer.ClipAnnotsToPageBounds = True + Me.MyGDPViewer.ClipRegionsToPageBounds = True + Me.MyGDPViewer.ContinuousViewMode = True + Me.MyGDPViewer.DisplayQuality = GdPicture14.DisplayQuality.DisplayQualityAutomatic + Me.MyGDPViewer.DisplayQualityAuto = True + Me.MyGDPViewer.DocumentAlignment = GdPicture14.ViewerDocumentAlignment.DocumentAlignmentMiddleCenter + Me.MyGDPViewer.DocumentPosition = GdPicture14.ViewerDocumentPosition.DocumentPositionMiddleCenter + Me.MyGDPViewer.DrawPageBorders = True + Me.MyGDPViewer.EnableDeferredPainting = True + Me.MyGDPViewer.EnabledProgressBar = True + Me.MyGDPViewer.EnableFuzzySearch = False + Me.MyGDPViewer.EnableICM = False + Me.MyGDPViewer.EnableMenu = True + Me.MyGDPViewer.EnableMouseWheel = True + Me.MyGDPViewer.EnableTextSelection = True + Me.MyGDPViewer.ForceScrollBars = False + Me.MyGDPViewer.ForceTemporaryMode = False + Me.MyGDPViewer.ForeColor = System.Drawing.Color.Black + Me.MyGDPViewer.Gamma = 1.0! + Me.MyGDPViewer.HQAnnotationRendering = True + Me.MyGDPViewer.IgnoreDocumentResolution = False + Me.MyGDPViewer.KeepDocumentPosition = False + Me.MyGDPViewer.Location = New System.Drawing.Point(185, 138) + Me.MyGDPViewer.LockViewer = False + Me.MyGDPViewer.MagnifierHeight = 90 + Me.MyGDPViewer.MagnifierWidth = 160 + Me.MyGDPViewer.MagnifierZoomX = 2.0! + Me.MyGDPViewer.MagnifierZoomY = 2.0! + Me.MyGDPViewer.MouseButtonForMouseMode = GdPicture14.MouseButton.MouseButtonLeft + Me.MyGDPViewer.MouseMode = GdPicture14.ViewerMouseMode.MouseModePan + Me.MyGDPViewer.MouseWheelMode = GdPicture14.ViewerMouseWheelMode.MouseWheelModeZoom + Me.MyGDPViewer.Name = "MyGDPViewer" + Me.MyGDPViewer.PageBordersColor = System.Drawing.Color.Black + Me.MyGDPViewer.PageBordersPenSize = 1 + Me.MyGDPViewer.PageDisplayMode = GdPicture14.PageDisplayMode.MultiplePagesView + Me.MyGDPViewer.PdfDisplayFormField = True + Me.MyGDPViewer.PdfEnableFileLinks = True + Me.MyGDPViewer.PdfEnableLinks = True + Me.MyGDPViewer.PdfIncreaseTextContrast = False + Me.MyGDPViewer.PdfShowDialogForPassword = True + Me.MyGDPViewer.PdfShowOpenFileDialogForDecryption = True + Me.MyGDPViewer.PdfVerifyDigitalCertificates = False + Me.MyGDPViewer.PreserveViewRotation = True + Me.MyGDPViewer.RectBorderColor = System.Drawing.Color.Black + Me.MyGDPViewer.RectBorderSize = 1 + Me.MyGDPViewer.RectIsEditable = True + Me.MyGDPViewer.RegionsAreEditable = True + Me.MyGDPViewer.RenderGdPictureAnnots = True + Me.MyGDPViewer.ScrollBars = True + Me.MyGDPViewer.ScrollLargeChange = CType(50, Short) + Me.MyGDPViewer.ScrollSmallChange = CType(1, Short) + Me.MyGDPViewer.SilentMode = True + Me.MyGDPViewer.Size = New System.Drawing.Size(235, 206) + Me.MyGDPViewer.TabIndex = 6 + Me.MyGDPViewer.TabStop = False + Me.MyGDPViewer.ViewRotation = System.Drawing.RotateFlipType.RotateNoneFlipNone + Me.MyGDPViewer.Visible = False + Me.MyGDPViewer.Zoom = 1.0R + Me.MyGDPViewer.ZoomCenterAtMousePosition = False + Me.MyGDPViewer.ZoomMode = GdPicture14.ViewerZoomMode.ZoomMode100 + Me.MyGDPViewer.ZoomStep = 25 + ' + 'SpreadsheetControl1 + ' + Me.SpreadsheetControl1.Location = New System.Drawing.Point(40, 350) + Me.SpreadsheetControl1.MenuManager = Me.BarManager1 + Me.SpreadsheetControl1.Name = "SpreadsheetControl1" + Me.SpreadsheetControl1.ReadOnly = True + Me.SpreadsheetControl1.Size = New System.Drawing.Size(216, 133) + Me.SpreadsheetControl1.TabIndex = 0 + Me.SpreadsheetControl1.TabStop = False + Me.SpreadsheetControl1.Text = "SpreadsheetControl1" + Me.SpreadsheetControl1.Visible = False + ' + 'lbFileNotLoaded + ' + Me.lbFileNotLoaded.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.lbFileNotLoaded.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lbFileNotLoaded.Appearance.Options.UseFont = True + Me.lbFileNotLoaded.Appearance.Options.UseTextOptions = True + Me.lbFileNotLoaded.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center + Me.lbFileNotLoaded.Appearance.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Center + Me.lbFileNotLoaded.AutoEllipsis = True + Me.lbFileNotLoaded.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None + Me.lbFileNotLoaded.Location = New System.Drawing.Point(3, 74) + Me.lbFileNotLoaded.Name = "lbFileNotLoaded" + Me.lbFileNotLoaded.Size = New System.Drawing.Size(628, 72) + Me.lbFileNotLoaded.TabIndex = 0 + Me.lbFileNotLoaded.Tag = "" + Me.lbFileNotLoaded.Text = "Die Datei konnte nicht geladen werden" + Me.lbFileNotLoaded.Visible = False + ' + 'RichEditControl1 + ' + Me.RichEditControl1.Location = New System.Drawing.Point(309, 350) + Me.RichEditControl1.MenuManager = Me.BarManager1 + Me.RichEditControl1.Name = "RichEditControl1" + Me.RichEditControl1.Size = New System.Drawing.Size(224, 122) + Me.RichEditControl1.TabIndex = 5 + Me.RichEditControl1.Visible = False + ' + 'lblInfo + ' + Me.lblInfo.Location = New System.Drawing.Point(0, 0) + Me.lblInfo.Name = "lblInfo" + Me.lblInfo.Size = New System.Drawing.Size(100, 23) + Me.lblInfo.TabIndex = 0 + ' + 'lblNoFileSelected + ' + Me.lblNoFileSelected.Appearance.Font = New System.Drawing.Font("Tahoma", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblNoFileSelected.Appearance.ForeColor = System.Drawing.Color.Firebrick + Me.lblNoFileSelected.Appearance.Options.UseFont = True + Me.lblNoFileSelected.Appearance.Options.UseForeColor = True + Me.lblNoFileSelected.Location = New System.Drawing.Point(18, 39) + Me.lblNoFileSelected.Name = "lblNoFileSelected" + Me.lblNoFileSelected.Size = New System.Drawing.Size(130, 19) + Me.lblNoFileSelected.TabIndex = 11 + Me.lblNoFileSelected.Text = "No file selected" + ' + 'DocumentViewer + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.lblNoFileSelected) + Me.Controls.Add(Me.RichEditControl1) + Me.Controls.Add(Me.lbFileNotLoaded) + Me.Controls.Add(Me.SpreadsheetControl1) + Me.Controls.Add(Me.MyGDPViewer) + Me.Controls.Add(Me.barDockControlLeft) + Me.Controls.Add(Me.barDockControlRight) + Me.Controls.Add(Me.barDockControlBottom) + Me.Controls.Add(Me.barDockControlTop) + Me.Name = "DocumentViewer" + Me.Size = New System.Drawing.Size(634, 555) + 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() + + End Sub + + Friend WithEvents MyGDPViewer As GdPicture14.GdViewer + Friend WithEvents OpenFileDialog As OpenFileDialog + Friend WithEvents SpreadsheetControl1 As DevExpress.XtraSpreadsheet.SpreadsheetControl + Friend WithEvents PrintDocument1 As Printing.PrintDocument + Friend WithEvents BarManager1 As DevExpress.XtraBars.BarManager + Friend WithEvents ToolbarDocumentViewer As DevExpress.XtraBars.Bar + Friend WithEvents buttonPrint As DevExpress.XtraBars.BarButtonItem + Friend WithEvents buttonFitWidth As DevExpress.XtraBars.BarButtonItem + Friend WithEvents buttonFitPage As DevExpress.XtraBars.BarButtonItem + Friend WithEvents buttonZoomIn As DevExpress.XtraBars.BarButtonItem + Friend WithEvents buttonZoomOut As DevExpress.XtraBars.BarButtonItem + Friend WithEvents buttonRotateRight As DevExpress.XtraBars.BarButtonItem + Friend WithEvents buttonRotateLeft As DevExpress.XtraBars.BarButtonItem + Friend WithEvents buttonFlipX As DevExpress.XtraBars.BarButtonItem + Friend WithEvents buttonFlipY As DevExpress.XtraBars.BarButtonItem + Friend WithEvents buttonSettings As DevExpress.XtraBars.BarButtonItem + Friend WithEvents barDockControlTop As DevExpress.XtraBars.BarDockControl + Friend WithEvents barDockControlBottom As DevExpress.XtraBars.BarDockControl + Friend WithEvents barDockControlLeft As DevExpress.XtraBars.BarDockControl + Friend WithEvents barDockControlRight As DevExpress.XtraBars.BarDockControl + Friend WithEvents buttonFirstPage As DevExpress.XtraBars.BarButtonItem + Friend WithEvents buttonPrevPage As DevExpress.XtraBars.BarButtonItem + Friend WithEvents buttonNextPage As DevExpress.XtraBars.BarButtonItem + Friend WithEvents buttonLastPage As DevExpress.XtraBars.BarButtonItem + Friend WithEvents txtCurrentPage As DevExpress.XtraBars.BarEditItem + Friend WithEvents RepositoryItemTextEdit2 As DevExpress.XtraEditors.Repository.RepositoryItemTextEdit + Friend WithEvents RepositoryItemTextEdit1 As DevExpress.XtraEditors.Repository.RepositoryItemTextEdit + Friend WithEvents BarStaticItem1 As DevExpress.XtraBars.BarStaticItem + 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 lbFileNotLoaded As DevExpress.XtraEditors.LabelControl + Friend WithEvents btnSearch As DevExpress.XtraBars.BarButtonItem + Friend WithEvents btnSearch2 As DevExpress.XtraBars.BarButtonItem + Friend WithEvents RichEditControl1 As DevExpress.XtraRichEdit.RichEditControl + Friend WithEvents lblInfo As Label + Friend WithEvents lblNoFileSelected As DevExpress.XtraEditors.LabelControl +End Class diff --git a/DocumentViewer.resx b/DocumentViewer.resx new file mode 100644 index 0000000..63fd272 --- /dev/null +++ b/DocumentViewer.resx @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 6, 19 + + + 285, 22 + + + 147 + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOcCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku + QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC + MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iUHJpbnRfMV8i + Pg0KICAgIDxwYXRoIGQ9Ik0xMCw0aDEydjhoMlYySDh2MTBoMlY0eiBNMjgsMTBoLTJ2M2MwLDAuNi0w + LjQsMS0xLDFIN2MtMC42LDAtMS0wLjQtMS0xdi0zSDRjLTEuMSwwLTIsMC45LTIsMiAgIHYxMmMwLDEu + MSwwLjksMiwyLDJoNHY0aDE2di00aDRjMS4xLDAsMi0wLjksMi0yVjEyQzMwLDEwLjksMjkuMSwxMCwy + OCwxMHogTTIyLDI0djJ2MkgxMHYtMnYtMnYtNGgxMlYyNHoiIGlkPSJQcmludCIgY2xhc3M9IkJsYWNr + IiAvPg0KICA8L2c+DQo8L3N2Zz4L + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAM8CAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iWm9vbV9JbiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + Qmx1ZXtmaWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8ZyBpZD0iWm9vbV9PdXQiPg0KICAgIDxyZWN0 + IHg9IjgiIHk9IjEyIiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgcng9IjAiIHJ5PSIwIiBjbGFzcz0iQmx1 + ZSIgLz4NCiAgICA8cGF0aCBkPSJNMjkuNywyNy4zbC03LjktNy45YzEuMy0xLjgsMi4xLTQsMi4xLTYu + NWMwLTYuMS00LjktMTEtMTEtMTFDNi45LDIsMiw2LjksMiwxM3M0LjksMTEsMTEsMTEgICBjMi40LDAs + NC42LTAuOCw2LjUtMi4xbDcuOSw3LjljMC4zLDAuMywwLjksMC4zLDEuMiwwbDEuMi0xLjJDMzAuMSwy + OC4yLDMwLjEsMjcuNiwyOS43LDI3LjN6IE00LDEzYzAtNSw0LTksOS05YzUsMCw5LDQsOSw5ICAgcy00 + LDktOSw5QzgsMjIsNCwxOCw0LDEzeiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L + + + + + 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= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANoCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z + ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz + OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp + dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9Ilpvb20iPg0KICAgIDxwYXRoIGQ9Ik0yNy43LDI1LjNM + MjAuNSwxOGMxLTEuNCwxLjUtMy4yLDEuNS01YzAtNS00LTktOS05cy05LDQtOSw5YzAsNSw0LDksOSw5 + YzEuOSwwLDMuNi0wLjYsNS0xLjVsNy4zLDcuMyAgIGMwLjMsMC4zLDAuOSwwLjMsMS4yLDBsMS4yLTEu + MkMyOC4xLDI2LjIsMjguMSwyNS42LDI3LjcsMjUuM3ogTTYsMTNjMC0zLjksMy4xLTcsNy03czcsMy4x + LDcsN2MwLDMuOS0zLjEsNy03LDdTNiwxNi45LDYsMTN6IiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4N + Cjwvc3ZnPgs= + + + + 152, 18 + + \ No newline at end of file diff --git a/DocumentViewer.resx.bak b/DocumentViewer.resx.bak new file mode 100644 index 0000000..39f91ea --- /dev/null +++ b/DocumentViewer.resx.bak @@ -0,0 +1,364 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 6, 19 + + + 285, 22 + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOcCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku + QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC + MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iUHJpbnRfMV8i + Pg0KICAgIDxwYXRoIGQ9Ik0xMCw0aDEydjhoMlYySDh2MTBoMlY0eiBNMjgsMTBoLTJ2M2MwLDAuNi0w + LjQsMS0xLDFIN2MtMC42LDAtMS0wLjQtMS0xdi0zSDRjLTEuMSwwLTIsMC45LTIsMiAgIHYxMmMwLDEu + MSwwLjksMiwyLDJoNHY0aDE2di00aDRjMS4xLDAsMi0wLjksMi0yVjEyQzMwLDEwLjksMjkuMSwxMCwy + OCwxMHogTTIyLDI0djJ2MkgxMHYtMnYtMnYtNGgxMlYyNHoiIGlkPSJQcmludCIgY2xhc3M9IkJsYWNr + IiAvPg0KICA8L2c+DQo8L3N2Zz4L + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANcCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fS5jbHMtMntmaWxsOiM2NDYzNjM7fTwv + c3R5bGU+DQogIDwvZGVmcz4NCiAgPHBvbHlnb24gcG9pbnRzPSIyLjkyMSAwLjg5MyAyLjkyMSAxLjg5 + MyAzLjkyMSAxLjg5MyA0LjAzOCAxLjg5MyA0LjAzOCAxNC40MzYgMy45MjEgMTQuNDM2IDIuOTIxIDE0 + LjQzNiAyLjkyMSAxNS40MzYgNS4wMzggMTUuNDM2IDUuMDM4IDAuODkzIDIuOTIxIDAuODkzIiBjbGFz + cz0iY2xzLTEiIC8+DQogIDxwb2x5Z29uIHBvaW50cz0iNi41MzggMTYuOTg5IDYuNTM4IDE5LjEwNyA3 + LjYgMTkuMTA3IDcuNiAxOC4xMDcgNy41OTkgMTguMTA3IDcuNTk5IDE3Ljk4OSA3LjYgMTcuOTg5IDE2 + LjAxOCAxNy45ODkgMTYuMDE4IDE4LjEwNyAxNi4wMTggMTkuMTA3IDE3LjA3OSAxOS4xMDcgMTcuMDc5 + IDE2Ljk4OSA2LjUzOCAxNi45ODkiIGNsYXNzPSJjbHMtMSIgLz4NCiAgPHBhdGggZD0iTTExLjM3Mjks + Mi44OTM1bDMuNzA2MywzLjQ5MzRWMTMuNDM2SDguNTM4MVYyLjg5MzVoMi44MzQ4bS43OTQxLTJINi41 + MzgxVjE1LjQzNkgxNy4wNzkyVjUuNTIzN0wxMi4xNjcuODkzNVoiIGNsYXNzPSJjbHMtMiIgLz4NCjwv + c3ZnPgs= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJcCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiM3MDZmNmY7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg + PHJlY3QgeD0iNi4wNTg2IiB5PSI3LjYwNzUiIHdpZHRoPSI3Ljg4MzgiIGhlaWdodD0iMS41MDgxIiBy + eD0iMCIgcnk9IjAiIGNsYXNzPSJjbHMtMSIgLz4NCiAgPHJlY3QgeD0iNi4wNTg2IiB5PSIxMC44ODQ0 + IiB3aWR0aD0iNy44ODM4IiBoZWlnaHQ9IjEuNTA4MSIgcng9IjAiIHJ5PSIwIiBjbGFzcz0iY2xzLTEi + IC8+DQogIDxyZWN0IHg9IjYuMDU4NiIgeT0iMTQuMTYxOSIgd2lkdGg9IjcuODgzOCIgaGVpZ2h0PSIx + LjUwODEiIHJ4PSIwIiByeT0iMCIgY2xhc3M9ImNscy0xIiAvPg0KICA8cmVjdCB4PSI2LjA1ODYiIHk9 + IjQuMzMiIHdpZHRoPSIzLjc3OTMiIGhlaWdodD0iMS41MDgxIiByeD0iMCIgcnk9IjAiIGNsYXNzPSJj + bHMtMSIgLz4NCiAgPHBhdGggZD0iTTE3LDE5LjEwNjVIM1YuODkzNWg4Ljc1MUwxNyw2LjE3MVpNNSwx + Ny4wOTU2SDE1VjcuMDAzNkwxMC45MjI5LDIuOTA0NEg1WiIgY2xhc3M9ImNscy0xIiAvPg0KPC9zdmc+ + Cw== + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPMCAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iWm9vbV9JbiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + Qmx1ZXtmaWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8cG9seWdvbiBwb2ludHM9IjE4LDEyIDE0LDEy + IDE0LDggMTIsOCAxMiwxMiA4LDEyIDgsMTQgMTIsMTQgMTIsMTggMTQsMTggMTQsMTQgMTgsMTQgIiBj + bGFzcz0iQmx1ZSIgLz4NCiAgPHBhdGggZD0iTTI5LjcsMjcuM0wyMiwxOS42YzAsMC0wLjEtMC4xLTAu + MS0wLjFjMS4zLTEuOCwyLjEtNC4xLDIuMS02LjVjMC02LjEtNC45LTExLTExLTExQzYuOSwyLDIsNi45 + LDIsMTMgIHM0LjksMTEsMTEsMTFjMi40LDAsNC43LTAuOCw2LjUtMi4xYzAsMCwwLDAuMSwwLjEsMC4x + bDcuNyw3LjdjMC4zLDAuMywwLjksMC4zLDEuMiwwbDEuMi0xLjJDMzAuMSwyOC4yLDMwLjEsMjcuNiwy + OS43LDI3LjN6ICAgTTQsMTNjMC01LDQtOSw5LTljNSwwLDksNCw5LDlzLTQsOS05LDlDOCwyMiw0LDE4 + LDQsMTN6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAM8CAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iWm9vbV9JbiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku + Qmx1ZXtmaWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8ZyBpZD0iWm9vbV9PdXQiPg0KICAgIDxyZWN0 + IHg9IjgiIHk9IjEyIiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgcng9IjAiIHJ5PSIwIiBjbGFzcz0iQmx1 + ZSIgLz4NCiAgICA8cGF0aCBkPSJNMjkuNywyNy4zbC03LjktNy45YzEuMy0xLjgsMi4xLTQsMi4xLTYu + NWMwLTYuMS00LjktMTEtMTEtMTFDNi45LDIsMiw2LjksMiwxM3M0LjksMTEsMTEsMTEgICBjMi40LDAs + NC42LTAuOCw2LjUtMi4xbDcuOSw3LjljMC4zLDAuMywwLjksMC4zLDEuMiwwbDEuMi0xLjJDMzAuMSwy + OC4yLDMwLjEsMjcuNiwyOS43LDI3LjN6IE00LDEzYzAtNSw0LTksOS05YzUsMCw5LDQsOSw5ICAgcy00 + LDktOSw5QzgsMjIsNCwxOCw0LDEzeiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAHIBAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg + PHBhdGggZD0iTTExLjI5MiwxOC42OTh2LTJBNi42OTgsNi42OTgsMCwxLDAsNC41OTM4LDEwaC0yQTgu + Njk4Myw4LjY5ODMsMCwxLDEsMTEuMjkyLDE4LjY5OFoiIGNsYXNzPSJjbHMtMSIgLz4NCiAgPHBvbHls + aW5lIHBvaW50cz0iMC4wMSAxMCAzLjU2NiAxNC45MjQgNy4xMjIgMTAiIGNsYXNzPSJjbHMtMSIgLz4N + Cjwvc3ZnPgs= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAHMBAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg + PHBhdGggZD0iTTguNzA4LDE4LjY5OHYtMkE2LjY5OCw2LjY5OCwwLDEsMSwxNS40MDYyLDEwaDJBOC42 + OTgzLDguNjk4MywwLDEsMCw4LjcwOCwxOC42OThaIiBjbGFzcz0iY2xzLTEiIC8+DQogIDxwb2x5bGlu + ZSBwb2ludHM9IjE5Ljk5IDEwIDE2LjQzNCAxNC45MjQgMTIuODc4IDEwIiBjbGFzcz0iY2xzLTEiIC8+ + DQo8L3N2Zz4L + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIIBAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fS5jbHMtMntmaWxsOiM2NDYzNjM7fTwv + c3R5bGU+DQogIDwvZGVmcz4NCiAgPHJlY3QgeD0iMi45ODk3IiB5PSIyLjk5MDEiIHdpZHRoPSI3LjAx + MDMiIGhlaWdodD0iMTQuMDIiIHJ4PSIwIiByeT0iMCIgY2xhc3M9ImNscy0xIiAvPg0KICA8cGF0aCBk + PSJNMTkuMDEsMTkuMDFILjk5Vi45OUgxOS4wMVpNMi45OSwxNy4wMUgxNy4wMVYyLjk5SDIuOTlaIiBj + bGFzcz0iY2xzLTIiIC8+DQo8L3N2Zz4L + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIABAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fS5jbHMtMntmaWxsOiM2NDYzNjM7fTwv + c3R5bGU+DQogIDwvZGVmcz4NCiAgPHJlY3QgeD0iMi45ODk3IiB5PSIyLjk5IiB3aWR0aD0iMTQuMDIw + NSIgaGVpZ2h0PSI3LjAxIiByeD0iMCIgcnk9IjAiIGNsYXNzPSJjbHMtMSIgLz4NCiAgPHBhdGggZD0i + TTE5LjAxLDE5LjAxSC45OVYuOTlIMTkuMDFaTTIuOTksMTcuMDFIMTcuMDFWMi45OUgyLjk5WiIgY2xh + c3M9ImNscy0yIiAvPg0KPC9zdmc+Cw== + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANUBAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg + PHBhdGggZD0iTTIwLDIwLDYuNjY2NywxMC4wMDA3LDIwLDBaIiBjbGFzcz0iY2xzLTEiIC8+DQogIDxw + YXRoIGQ9Ik0xMy4zMzMzLDE1VjVsLTYuNjY2Niw1WiIgY2xhc3M9ImNscy0xIiAvPg0KICA8cG9seWdv + biBwb2ludHM9IjEyLjYzIDE2LjQwNSA1Ljk2MyAxMS40MDUgNC4wOTEgMTAuMDAxIDUuOTYzIDguNTk2 + IDEyLjYzIDMuNTk2IDEzLjMzMyAzLjA2OCAxMy4zMzMgMCAwIDEwLjAwMSAxMy4zMzMgMjAgMTMuMzMz + IDE2LjkzMiAxMi42MyAxNi40MDUiIGNsYXNzPSJjbHMtMSIgLz4NCjwvc3ZnPgs= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAP8AAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg + PHBhdGggZD0iTTE2LjY2NjcsMjAsMy4zMzMzLDEwLjAwMDcsMTYuNjY2NywwWiIgY2xhc3M9ImNscy0x + IiAvPg0KPC9zdmc+Cw== + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAP0AAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg + PHBhdGggZD0iTTMuMzMzMywyMGwxMy4zMzM0LTkuOTk5M0wzLjMzMzMsMFoiIGNsYXNzPSJjbHMtMSIg + Lz4NCjwvc3ZnPgs= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAM4BAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg + PHBhdGggZD0iTTAsMjBsMTMuMzMzMy05Ljk5OTNMMCwwWiIgY2xhc3M9ImNscy0xIiAvPg0KICA8cGF0 + aCBkPSJNNi42NjY3LDE1VjVsNi42NjY2LDVaIiBjbGFzcz0iY2xzLTEiIC8+DQogIDxwb2x5Z29uIHBv + aW50cz0iNy4zNyAxNi40MDUgMTQuMDM3IDExLjQwNSAxNS45MDkgMTAuMDAxIDE0LjAzNyA4LjU5NiA3 + LjM3IDMuNTk2IDYuNjY3IDMuMDY4IDYuNjY3IDAgMjAgMTAuMDAxIDYuNjY3IDIwIDYuNjY3IDE2Ljkz + MiA3LjM3IDE2LjQwNSIgY2xhc3M9ImNscy0xIiAvPg0KPC9zdmc+Cw== + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGQEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgdmlld0JveD0iMCAwIDIw + IDIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJFYmVuZV8xIj4NCiAgPGRl + ZnM+DQogICAgPHN0eWxlPi5jbHMtMXtmaWxsOiNhNTI0MzE7fTwvc3R5bGU+DQogIDwvZGVmcz4NCiAg + PHBhdGggZD0iTTE5LjY5NDEsMTAuOTM3M0E3Ljc5NjcsNy43OTY3LDAsMCwwLDE5Ljc0MzUsMTBhNy43 + OTczLDcuNzk3MywwLDAsMC0uMDQ5NC0uOTM3NEwxNi44NDUyLDguMDM5YTcuMDYsNy4wNiwwLDAsMC0u + NjI5MS0xLjUwNDhsMS4yOTUxLTIuNzI1NmE4Ljk4OTMsOC45ODkzLDAsMCwwLTEuMzItMS4zMzIxbC0y + LjcyNTcsMS4yOTVhNy4zOSw3LjM5LDAsMCwwLTEuNTE3LS42MTY2TDEwLjkzNzQuMzA1OEE3LjgxOTIs + Ny44MTkyLDAsMCwwLDEwLC4yNTY1YTcuODE5Miw3LjgxOTIsMCwwLDAtLjkzNzQuMDQ5M0w4LjA1MTIs + My4xNTQ5YTcuMzksNy4zOSwwLDAsMC0xLjUxNy42MTY2TDMuODA4NSwyLjQ3NjVhOC45ODkzLDguOTg5 + MywwLDAsMC0xLjMyLDEuMzMyMUwzLjc4MzksNi41MzQyQTYuNDgwNiw2LjQ4MDYsMCwwLDAsMy4xNTQ4 + LDguMDM5TC4zMDU5LDkuMDYyNkE3Ljc5NzMsNy43OTczLDAsMCwwLC4yNTY1LDEwYTcuNzk2Nyw3Ljc5 + NjcsMCwwLDAsLjA0OTQuOTM3M2wyLjg0ODksMS4wMTE0YTYuNDc5MSw2LjQ3OTEsMCwwLDAsLjYyOTEs + MS41MDQ2TDIuNDg4OCwxNi4xOTE0YTkuNTQ3Miw5LjU0NzIsMCwwLDAsMS4zMiwxLjMybDIuNzI1Ny0x + LjI5NWE4LjIwMTQsOC4yMDE0LDAsMCwwLDEuNTE3LjYyOWwxLjAxMTQsMi44NDlBNy44MTksNy44MTks + MCwwLDAsMTAsMTkuNzQzNWE3LjgxOSw3LjgxOSwwLDAsMCwuOTM3NC0uMDQ5NGwxLjAxMTQtMi44NDlh + OC4yMDE0LDguMjAxNCwwLDAsMCwxLjUxNy0uNjI5bDIuNzI1NywxLjI5NWE5LjU0NzIsOS41NDcyLDAs + MCwwLDEuMzItMS4zMmwtMS4yOTUxLTIuNzM4MWE3LjA1NzksNy4wNTc5LDAsMCwwLC42MjkxLTEuNTA0 + NlpNMTAsMTQuMTNBNC4xMzMxLDQuMTMzMSwwLDEsMSwxNC4xMzMxLDkuOTk3LDQuMTMzMiw0LjEzMzIs + MCwwLDEsMTAsMTQuMTNaIiBjbGFzcz0iY2xzLTEiIC8+DQo8L3N2Zz4L + + + + 152, 18 + + \ No newline at end of file diff --git a/DocumentViewer.sln b/DocumentViewer.sln new file mode 100644 index 0000000..132c0d8 --- /dev/null +++ b/DocumentViewer.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36915.13 d17.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DocumentViewer", "DocumentViewer.vbproj", "{0958CDDF-4A16-41F6-8837-8335F71D599C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0958CDDF-4A16-41F6-8837-8335F71D599C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0958CDDF-4A16-41F6-8837-8335F71D599C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0958CDDF-4A16-41F6-8837-8335F71D599C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0958CDDF-4A16-41F6-8837-8335F71D599C}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {96C1F891-6F63-4E32-B5BD-BC359FD0CEA0} + EndGlobalSection +EndGlobal diff --git a/DocumentViewer.vb b/DocumentViewer.vb new file mode 100644 index 0000000..5a9421e --- /dev/null +++ b/DocumentViewer.vb @@ -0,0 +1,1009 @@ +Imports System.IO +Imports DevExpress +Imports DevExpress.Spreadsheet +Imports DevExpress.XtraRichEdit.Commands +Imports DevExpress.Office.Utils +Imports GdPicture14 +Imports DigitalData.Modules.Logging +Imports DigitalData.Modules.Messaging +Imports DigitalData.Modules.Config + +Public Class DocumentViewer + Private Enum ZoomMode + Zoom50 + Zoom100 + Zoom150 + Zoom200 + ZoomSelectedArea + ZoomFitToViewer + ZoomFitWidth + ZoomFitHeight + End Enum + + Private Enum ViewerMode + GDPicture + Excel + Richtext + End Enum + + Private Enum FileLoadMode + File + Stream + End Enum + + Public ReadOnly Property PdfViewer As GdViewer + Get + Return MyGDPViewer + End Get + End Property + + Private _logConfig As LogConfig + Private _logger As Logger + 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 + + Private _ToolbarSettings As New ToolbarSettings + + Private _hide_file_info_from_user As Boolean = False + + + Private _FileStream As Stream + Private _FilePath As String + Private _FileInfo As FileInfo + Private _FileLoadMode As FileLoadMode = FileLoadMode.File + Private _ViewOverride As String = "" + + ' List of all created temp files when converting msg files + Private _TempFiles As New List(Of String) + + Private Sub DocumentViewer_Load(sender As Object, e As EventArgs) Handles Me.Load + ' Ensure search is initialized once the control (and GdViewer) exists + EnsureSearchInitialized() + UpdateMainUi() + UpdateNoFileSelectedLabel(FileLoaded) + End Sub + + Private Sub DocumentViewer_FileLoadedChanged(ByVal sender As Object, ByVal isLoaded As Boolean) Handles Me.FileLoadedChanged + UpdateNoFileSelectedLabel(isLoaded) + End Sub + + Private Sub UpdateNoFileSelectedLabel(ByVal isLoaded As Boolean) + If lblNoFileSelected IsNot Nothing Then + lblNoFileSelected.Visible = Not isLoaded + End If + End Sub + + 'hallo + Public Class ToolbarSettings + Public Property ShowPrintButton As Boolean = True + Public Property ShowFitWidthButton As Boolean = True + Public Property ShowFitPageButton As Boolean = True + Public Property ShowZoomButton As Boolean = True + Public Property ShowRotateButton As Boolean = True + Public Property ShowFlipButton As Boolean = True + Public Property ShowSearchButton As Boolean = True + Public Property ShowSettingButton As Boolean = True + End Class + + Private _fileLoaded As Boolean = False + + Public Event FileLoadedChanged(ByVal sender As Object, ByVal isLoaded As Boolean) + + Public Property FileLoaded As Boolean + Get + Return _fileLoaded + End Get + Set(ByVal value As Boolean) + If _fileLoaded = value Then + Return + End If + + _fileLoaded = value + RaiseEvent FileLoadedChanged(Me, _fileLoaded) + End Set + End Property + + Public Property Viewer_ForceTemporaryMode As Boolean = False + Public ReadOnly Property AnnotationsSaved As Boolean + Get + Return Not _AnnotationsPending + End Get + End Property + + ''' + ''' Initialize the Viewer + ''' + ''' A LogConfig object + ''' The GDPicture.NET License Key + Public Function Init(pLogConfig As LogConfig, pLicenseKey As String, Optional pToolbarSettings As ToolbarSettings = Nothing) As Boolean + _logConfig = pLogConfig + _logger = pLogConfig.GetLogger() + + If pToolbarSettings Is Nothing Then + pToolbarSettings = New ToolbarSettings + End If + + Try + _email = New Email2(pLogConfig) + If pLicenseKey = String.Empty Then + _logger.Warn("License key was not provided during init-process!") + Return False + End If + _licenseKey = pLicenseKey + _licenseManager.RegisterKEY(_licenseKey) + _Annotations = New Annotations(pLogConfig) + ' Defer creating Search until GdViewer is ready + EnsureSearchInitialized() + _ToolbarSettings = pToolbarSettings + + Dim oConfigPath = ConfigPath() + _Config = New ConfigManager(Of Config)(pLogConfig, oConfigPath) + Return True + Catch ex As Exception + _logger.Error(ex) + Return False + End Try + End Function + + ' Create the Search helper only when both the log config and the GdViewer control exist + Private Sub EnsureSearchInitialized() + Try + If _Search Is Nothing AndAlso _logConfig IsNot Nothing AndAlso MyGDPViewer IsNot Nothing Then + _Search = New Search(_logConfig, MyGDPViewer) + End If + Catch ex As Exception + _logger?.Error(ex) + End Try + End Sub + + ''' + ''' Load a file from a path and display it + ''' + Public Sub LoadFile_FromPath(FilePath As String) + FileLoaded = False + If _licenseKey = String.Empty Then + _logger.Warn("License key was not provided. File {0} not loaded.", FilePath) + Exit Sub + End If + + If FilePath Is Nothing OrElse FilePath.Trim().Length = 0 Then + _logger.Warn("FilePath was not provided. File not loaded.") + Exit Sub + End If + + _FilePath = FilePath + _FileLoadMode = FileLoadMode.File + _FileInfo = New FileInfo(FilePath) + + _logger.Info("Loading file [{0}] from Filesystem", FilePath) + SetViewerMode(_FileInfo.Extension) + FileLoaded = DoLoadFile(FilePath) + UpdateMainUi() + End Sub + + ''' + ''' Load a file from a stream and display it + ''' + Public Sub LoadFile_FromStream(FileName As String, Stream As Stream) + FileLoaded = False + + + + Dim oExtension As String = FileName.Substring(FileName.LastIndexOf(".")) + + _FileStream = Stream + _FileLoadMode = FileLoadMode.Stream + + _logger.Info("Loading file [{0}] from Stream", FileName) + FileLoaded = DoLoadFileExtension(Stream, oExtension) + + SetViewerMode(oExtension) + UpdateMainUi() + End Sub + + ''' + ''' Terminate Viewer, freeing up resources and deleting temp files + ''' + Public Sub Done() + Try + _logger.Debug("Done: Deleting Temp Files") + DeleteTempFiles() + + _logger.Debug("Done: Closing Documents") + FreeFile() + + _logger.Debug("Done: Triggering GC") + GC.Collect() + Catch ex As Exception + _logger.Warn("Error while cleaning up DocumentViewer") + _logger.Error(ex) + End Try + End Sub + + Public Function AddAnnotation(pText As String) As Boolean + Dim oFontStyle = FontStyle.Regular + Dim oFontColor = Color.Black + Dim oFontFamily = "Arial" + Dim oFontSize = 8 + Dim oBorderColor = Color.Red + Dim oBackColor = Color.LightYellow + Dim oOpacity = 1.0F + Dim oRotation = 0.0F + + MyGDPViewer.AddTextAnnotationInteractive(pText, oFontColor, oFontFamily, oFontStyle, oFontSize, Fill:=True, oBorderColor, oBackColor, oOpacity, oRotation) + _AnnotationsPending = True + + Return True + End Function + + Public Function Save() As Boolean + Dim oSaveResult As GdPictureStatus = GdPictureStatus.OK + + If MyGDPViewer.BurnAnnotationsToPage(True, False) = GdPictureStatus.OK Then + If _FileLoadMode = FileLoadMode.Stream Then + oSaveResult = MyGDPViewer.SaveDocumentToPDF(_FileStream) + Else + oSaveResult = MyGDPViewer.SaveDocumentToPDF(_FilePath) + End If + End If + + If oSaveResult = GdPictureStatus.OK Then + _AnnotationsPending = False + Return True + Else + Return False + End If + End Function + + Public Sub CloseDocument() + Try + ' Null-sicher schließen + If MyGDPViewer IsNot Nothing Then + Try + MyGDPViewer.CloseDocument() + Catch exInner As Exception + _logger?.Warn("Fehler beim Schließen von GdViewer") + _logger?.Error(exInner) + End Try + Else + _logger?.Debug("CloseDocument: GdViewer ist Nothing – nichts zu schließen") + End If + + _FileInfo = Nothing + _FilePath = Nothing + _FileStream = Nothing + FileLoaded = False + UpdateMainUi() + Catch ex As Exception + _logger.Error(ex) + FileLoaded = False + End Try + End Sub + + ''' + ''' Configures the viewer to hide the file path to the end-user. + ''' + ''' + ''' True means that all file info should be hidden from the end-user + ''' False means the end user may see the filepath or other info about the file + ''' + Public Sub SetViewOnly(ViewOnly As Boolean) + If ViewOnly Then + buttonPrint.Visibility = XtraBars.BarItemVisibility.Never + Else + buttonPrint.Visibility = XtraBars.BarItemVisibility.Always + End If + + _hide_file_info_from_user = ViewOnly + End Sub + + Public Sub SetAllowAnnotations(AllowAnnotations As Boolean) + + End Sub + + ''' + ''' DEPRECATED: Use SetViewOnly + ''' + Public Sub RightViewOnly(ViewOnly As Boolean) + SetViewOnly(ViewOnly) + End Sub + + ''' + ''' DEPRECATED: Use SetViewOnly + ''' + Public Sub RightOnlyView(ViewOnly As Boolean) + SetViewOnly(ViewOnly) + End Sub + + + + + +#Region "Form Events" + + Private Sub btnFitWidth_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonFitWidth.ItemClick + FitToWidth() + _Config.Config.PageFit = Config.PageFitSetting.FitWidth + _Config.Save() + End Sub + + Private Sub btnFitPage_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonFitPage.ItemClick + FitToPage() + _Config.Config.PageFit = Config.PageFitSetting.FitPage + _Config.Save() + End Sub + + Private Sub btnOpen_Click(sender As Object, e As EventArgs) + FitToWidth() + MyGDPViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter + + If OpenFileDialog.ShowDialog() = DialogResult.OK Then + MyGDPViewer.DisplayFromFile(OpenFileDialog.FileName) + End If + ShowGdViewer() + MyGDPViewer.Focus() + UpdateMainUi() + End Sub + Private Sub BtnFirstPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonFirstPage.ItemClick + MyGDPViewer.DisplayFirstPage() + End Sub + + Private Sub BtnPreviousPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonPrevPage.ItemClick + MyGDPViewer.DisplayPreviousPage() + End Sub + + Private Sub BtnNextPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonNextPage.ItemClick + MyGDPViewer.DisplayNextPage() + End Sub + + Private Sub BtnLastPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonLastPage.ItemClick + MyGDPViewer.DisplayLastPage() + End Sub + + Private Sub TbCurrentPage_Leave(ByVal sender As System.Object, ByVal e As EventArgs) Handles txtCurrentPage.EditValueChanged + Dim page As Integer = 0 + If Integer.TryParse(txtCurrentPage.EditValue, page) Then + If page > 0 And page <= MyGDPViewer.PageCount Then + MyGDPViewer.DisplayPage(page) + UpdateaNavigationToolbar() + End If + End If + End Sub + + Private Sub GdViewer1_PageChanged() Handles MyGDPViewer.PageChanged + UpdateaNavigationToolbar() + End Sub + + Private Sub GdViewer1_AfterZoomChange() Handles MyGDPViewer.AfterZoomChange + UpdateaNavigationToolbar() + If MyGDPViewer.MouseMode = ViewerMouseMode.MouseModeAreaZooming Then + MyGDPViewer.MouseMode = ViewerMouseMode.MouseModePan + End If + End Sub + + Private Sub btnZoomOut_Click(sender As Object, e As EventArgs) Handles buttonZoomOut.ItemClick + MyGDPViewer.ZoomOUT() + End Sub + + Private Sub btnZoomIn_Click(sender As Object, e As EventArgs) Handles buttonZoomIn.ItemClick + MyGDPViewer.ZoomIN() + End Sub + + Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles buttonPrint.ItemClick + If MyGDPViewer.PageCount = 0 Then + Return + End If + + MyGDPViewer.PrintDialog() + End Sub + + Private Sub BtnRotateLeft_Click(sender As Object, e As EventArgs) Handles buttonRotateLeft.ItemClick + MyGDPViewer.Rotate(RotateFlipType.Rotate270FlipNone) + End Sub + + Private Sub BtnRotateRight_Click(sender As Object, e As EventArgs) Handles buttonRotateRight.ItemClick + MyGDPViewer.Rotate(RotateFlipType.Rotate90FlipNone) + End Sub + + Private Sub btnFlipX_Click(sender As Object, e As EventArgs) Handles buttonFlipX.ItemClick + MyGDPViewer.Rotate(RotateFlipType.RotateNoneFlipX) + End Sub + + Private Sub btnFlipY_Click(sender As Object, e As EventArgs) Handles buttonFlipY.ItemClick + MyGDPViewer.Rotate(RotateFlipType.RotateNoneFlipY) + End Sub + + Private Sub GdViewer1_TransferEnded(ByVal status As GdPictureStatus, ByVal download As System.Boolean) Handles MyGDPViewer.TransferEnded + MyGDPViewer.Focus() + UpdateMainUi() + End Sub + + Private Sub AddSearchRegion(ByVal occurence As Integer, ByVal leftCoordinate As Single, ByVal topCoordinate As Single, ByVal regionWidth As Single, ByVal regionheight As Single, ByVal ensureVisibility As Boolean) + Dim searchRegion As Integer = MyGDPViewer.AddRegionInches("SearchResult" & occurence, leftCoordinate, topCoordinate, regionWidth, regionheight, ForegroundMixMode.ForegroundMixModeMASKPEN, Color.Yellow) + MyGDPViewer.SetRegionEditable(searchRegion, False) + If ensureVisibility Then + MyGDPViewer.EnsureRegionVisibility(searchRegion) + End If + End Sub + + Private Sub BtnSettings_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonSettings.ItemClick + Using frmSettings As New frmViewerSettings(MyGDPViewer) + frmSettings.ShowDialog(Me) + End Using + UpdateaNavigationToolbar() + End Sub +#End Region + +#Region "Private Functions" + Private Function ConfigPath() As String + Return Path.Combine(Application.UserAppDataPath, "DocumentViewer") + End Function + + Private Sub UpdateaNavigationToolbar() + Try + Dim oCurrentZoom As Double = MyGDPViewer.Zoom + Dim oCurrentPage As Integer = MyGDPViewer.CurrentPage + Dim oPageCount As Integer = MyGDPViewer.PageCount + txtCurrentPage.EditValue = oCurrentPage + labelPageCount.Caption = $"/ {oPageCount}" + + If oCurrentPage = oPageCount Then + buttonLastPage.Enabled = False + buttonNextPage.Enabled = False + buttonPrevPage.Enabled = True + buttonFirstPage.Enabled = True + ElseIf oCurrentPage = 1 Then + buttonPrevPage.Enabled = False + buttonFirstPage.Enabled = False + buttonLastPage.Enabled = True + buttonNextPage.Enabled = True + Else + buttonPrevPage.Enabled = True + buttonFirstPage.Enabled = True + buttonLastPage.Enabled = True + buttonNextPage.Enabled = True + End If + Catch ex As Exception + _logger.Error(ex) + End Try + End Sub + + Public Sub DeleteTempFiles() + For Each oFile In _TempFiles + Try + _logger.Debug("Deleting temp file [{0}]", oFile) + File.Delete(oFile) + Catch ex As Exception + _logger.Warn("Could not delete temp file [{0}]", oFile) + End Try + Next + End Sub + + Private Sub SetViewerMode(Extension As String) + If _ViewOverride = "Richtext" Then + _ViewerMode = ViewerMode.Richtext + Else + Select Case Extension.ToUpper + Case "CSV" + _ViewerMode = ViewerMode.Excel + Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT" + _ViewerMode = ViewerMode.Richtext + Case Else + _ViewerMode = ViewerMode.GDPicture + End Select + End If + End Sub + Private Sub FreeFile() + Try + If Len(_FilePath) = 0 OrElse _FileInfo Is Nothing Then + Exit Sub + End If + Dim oExtension As String = _FileInfo.Extension.ToUpper + Select Case _ViewerMode + Case ViewerMode.Excel + _logger.Debug("Closing Excel Editor") + SpreadsheetControl1.CreateNewDocument() + Case Else + _logger.Debug("Closing GDPicture Viewer") + MyGDPViewer.CloseDocument() + End Select + Catch ex As Exception + _logger.Warn($"Unexpected error in FreeFile: {ex.Message}") + End Try + End Sub + 'Private Function DoLoadFile(FilePath As String, Optional ViewOverride As String = "") As Boolean + ' Try + ' lblInfo.Visible = False + ' Dim oFileInfo = New FileInfo(FilePath) + ' Dim oExtension As String = oFileInfo.Extension.ToUpper + + ' lbFileNotLoaded.Visible = False + + ' SpreadsheetControl1.Visible = False + ' RichEditControl1.Visible = False + + ' SpreadsheetControl1.Dock = DockStyle.None + ' RichEditControl1.Dock = DockStyle.None + + ' Dim override_Spreadsheet As Boolean = False + ' If oExtension.ToLower = ".xlsx" Then + ' If oFileInfo.Length > 15000 Then + ' _logger.Info("Override") + ' override_Spreadsheet = True + ' End If + ' End If + + ' If ViewOverride = "Richtext" Then + ' RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(oExtension)) + ' RichEditControl1.Visible = True + ' GdViewer.Visible = False + ' RichEditControl1.Dock = DockStyle.Fill + ' _ViewOverride = "Richtext" + ' _ViewerMode = ViewerMode.Richtext + ' lblInfo.Visible = True + ' lblInfo.Text = "This docx-file contains a generic error and will be displayed in a reduced viewer. Please try to open the file in WORD" + ' ElseIf override_Spreadsheet = True Then + ' Dim oFormat = GetSpreadsheetFormat(oExtension) + ' SpreadsheetControl1.LoadDocument(FilePath, oFormat) + + ' Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange() + ' oRange.AutoFitColumns() + + ' SpreadsheetControl1.Visible = True + ' GdViewer.Visible = False + ' SpreadsheetControl1.Dock = DockStyle.Fill + ' Else + ' _ViewOverride = "" + ' Select Case oExtension.ToUpper + ' Case ".CSV" + ' Dim oFormat = GetSpreadsheetFormat(oExtension) + ' SpreadsheetControl1.LoadDocument(FilePath, oFormat) + + ' Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange() + ' oRange.AutoFitColumns() + + ' SpreadsheetControl1.Visible = True + ' GdViewer.Visible = False + ' SpreadsheetControl1.Dock = DockStyle.Fill + + ' 'Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT" + ' ' RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(oExtension)) + + ' ' RichEditControl1.Visible = True + ' ' GdViewer.Visible = False + ' ' RichEditControl1.Dock = DockStyle.Fill + ' Case Else + ' Select Case oExtension.ToUpper + ' Case ".EML", ".DOC", ".DOCX", ".XLS", ".XLSX", ".ODT", ".RTF", ".TXT" + ' GdViewer.ForceTemporaryMode = False + ' End Select + + ' GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer + ' GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter + ' If Viewer_ForceTemporaryMode = True Then + ' GdViewer.ForceTemporaryMode = True + ' End If + + ' GdViewer.AnnotationDropShadow = True + ' GdViewer.BackColor = Color.White + + ' Dim oGDPState As GdPicture14.GdPictureStatus = GdViewer.DisplayFromFile(FilePath) + ' If oGDPState <> GdPictureStatus.OK Then + ' _logger.Warn($"GdPictureStatus is [{oGDPState}]") + ' If oExtension.ToUpper = ".DOCX" And oGDPState = GdPictureStatus.GenericError Then + ' DoLoadFile(FilePath, "Richtext") + ' Else + ' Dim oFileName = IO.Path.GetFileName(FilePath) + ' lbFileNotLoaded.Text = String.Format("Datei konnte nicht geladen werden:{0}{1}", vbCrLf, oFileName) + ' lbFileNotLoaded.Visible = True + ' End If + + ' Else + ' If GdViewer.Visible = False Then + ' GdViewer.Visible = True + ' End If + ' End If + + ' End Select + ' End If + ' If _ViewOverride = "Richtext" Then + ' _ViewerMode = ViewerMode.Richtext + ' End If + + + ' Return True + ' Catch ex As Exception + ' _logger.Error(ex) + ' Return False + ' End Try + 'End Function + Private Function DoLoadFile(FilePath As String, Optional ViewOverride As String = "") As Boolean + Try + If Not EnsureViewerReady() Then + _logger?.Warn("GdViewer control is not initialized yet. Delaying load.") + Return False + End If + + Dim oFileInfo = New FileInfo(FilePath) + Dim oExtension = oFileInfo.Extension.ToUpper + + ' Reset UI state + HideAllViewers() + lbFileNotLoaded.Visible = False + lblInfo.Visible = False + + ' Determine viewer mode and load file + If ViewOverride = "Richtext" Then + Return LoadRichtextFile(FilePath, oExtension) + ElseIf oExtension = ".CSV" Or (oExtension = ".XLSX" AndAlso oFileInfo.Length > 15000) Then + Return LoadSpreadsheetFile(FilePath, oExtension) + Else + Return LoadGdPictureFile(FilePath, oExtension) + End If + + Catch ex As Exception + _logger.Error(ex) + Return False + End Try + End Function + + Private Sub HideAllViewers() + SpreadsheetControl1.Visible = False + SpreadsheetControl1.Dock = DockStyle.None + RichEditControl1.Visible = False + RichEditControl1.Dock = DockStyle.None + HideGdViewer() + End Sub + + Private Function LoadRichtextFile(FilePath As String, Extension As String) As Boolean + Try + RichEditControl1.LoadDocument(FilePath, GetDocumentFormat(Extension)) + RichEditControl1.Visible = True + RichEditControl1.Dock = DockStyle.Fill + _ViewOverride = "Richtext" + _ViewerMode = ViewerMode.Richtext + lblInfo.Visible = True + lblInfo.Text = "This docx-file contains a generic error and will be displayed in a reduced viewer. Please try to open the file in WORD" + Return True + Catch ex As Exception + _logger.Error(ex) + Return False + End Try + End Function + + Private Function LoadSpreadsheetFile(FilePath As String, Extension As String) As Boolean + Try + _logger.Debug("Loading Spreadsheet: {0}", FilePath) + Dim oFormat = GetSpreadsheetFormat(Extension) + SpreadsheetControl1.LoadDocument(FilePath, oFormat) + + Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange() + oRange.AutoFitColumns() + + SpreadsheetControl1.Visible = True + SpreadsheetControl1.Dock = DockStyle.Fill + _ViewerMode = ViewerMode.Excel + _ViewOverride = "" + Return True + Catch ex As Exception + _logger.Error(ex) + Return False + End Try + End Function + + Private Function LoadGdPictureFile(FilePath As String, Extension As String) As Boolean + Try + _logger.Debug("Loading GdPicture: {0}", FilePath) + + ' Set force temporary mode for specific file types + Select Case Extension + Case ".EML", ".DOC", ".DOCX", ".XLS", ".XLSX", ".ODT", ".RTF", ".TXT" + MyGDPViewer.ForceTemporaryMode = True + End Select + + MyGDPViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter + If Viewer_ForceTemporaryMode Then + MyGDPViewer.ForceTemporaryMode = True + End If + MyGDPViewer.AnnotationDropShadow = True + + Dim oGDPState = MyGDPViewer.DisplayFromFile(FilePath) + + If oGDPState <> GdPictureStatus.OK Then + _logger.Warn("GdPictureStatus: {0}", oGDPState) + + ' Fallback to Richtext for corrupted DOCX + If Extension = ".DOCX" AndAlso oGDPState = GdPictureStatus.GenericError Then + HideGdViewer() + Return LoadRichtextFile(FilePath, Extension) + Else + ShowFileNotLoadedError(FilePath) + Return False + End If + End If + + ShowGdViewer() + MyGDPViewer.MouseWheelMode = ViewerMouseWheelMode.MouseWheelModeVerticalScroll + _ViewerMode = ViewerMode.GDPicture + _ViewOverride = "" + Return True + + Catch ex As Exception + _logger.Error(ex) + ShowFileNotLoadedError(FilePath) + Return False + End Try + End Function + + Private Sub ShowFileNotLoadedError(FilePath As String) + Dim oFileName = IO.Path.GetFileName(FilePath) + lbFileNotLoaded.Text = String.Format("Datei konnte nicht geladen werden:{0}{1}", vbCrLf, oFileName) + lbFileNotLoaded.Visible = True + HideGdViewer() + End Sub + ' Ensures the embedded GdViewer control exists and is added to the visual tree + Private Function EnsureViewerReady() As Boolean + Try + ' If the control field is Nothing (e.g., designer not yet created), try to lazy-create and add it + If MyGDPViewer Is Nothing Then + ' Attempt to find an existing instance by name in Controls collection + Dim existing = Me.Controls.OfType(Of GdPicture14.GdViewer)().FirstOrDefault() + If existing IsNot Nothing Then + ' Assign the designer field via reflection if needed, otherwise use it directly + MyGDPViewer = existing + Else + ' Last resort: create a new viewer and add it + Dim viewer = New GdPicture14.GdViewer() + viewer.Dock = DockStyle.Fill + Me.Controls.Add(viewer) + MyGDPViewer = viewer + End If + End If + + Return MyGDPViewer IsNot Nothing + Catch ex As Exception + _logger?.Error(ex) + Return False + End Try + End Function + + Private Sub FitToPage() + If Not MyGDPViewer Is Nothing Then + MyGDPViewer.ZoomMode = ViewerZoomMode.ZoomModeFitToViewer + End If + End Sub + + Private Sub FitToWidth() + If Not MyGDPViewer Is Nothing Then + MyGDPViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer + End If + + End Sub + + Private Sub ShowGdViewer() + If MyGDPViewer IsNot Nothing Then + MyGDPViewer.Dock = DockStyle.Fill + MyGDPViewer.Visible = True + FitToWidth() + End If + End Sub + + Private Sub HideGdViewer() + If MyGDPViewer IsNot Nothing Then + MyGDPViewer.Visible = False + MyGDPViewer.Dock = DockStyle.None + End If + End Sub + + Private Function DoLoadFileExtension(Stream As Stream, Extension As String) As Boolean + + Try + + SpreadsheetControl1.Visible = False + SpreadsheetControl1.Dock = DockStyle.None + + Select Case Extension.ToUpper + + Case ".CSV" + SpreadsheetControl1.LoadDocument(Stream, GetSpreadsheetFormat(Extension)) + Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange() + oRange.AutoFitColumns() + SpreadsheetControl1.Visible = True + SpreadsheetControl1.Dock = DockStyle.Fill + Case Else + If Not MyGDPViewer Is Nothing Then + MyGDPViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter + If Viewer_ForceTemporaryMode = True Then + MyGDPViewer.ForceTemporaryMode = True + End If + MyGDPViewer.AnnotationDropShadow = True + MyGDPViewer.DisplayFromStream(Stream) + ShowGdViewer() + End If + End Select + UpdateMainUi() + Return True + Catch ex As Exception + _logger.Error(ex) + Return False + End Try + End Function + Private Function StreamFile(Stream As Stream, Extension As String) As Boolean + Try + + SpreadsheetControl1.Visible = False + SpreadsheetControl1.Dock = DockStyle.None + + Select Case Extension.ToUpper + + Case ".CSV" + SpreadsheetControl1.LoadDocument(Stream, GetSpreadsheetFormat(Extension)) + + Dim oRange = SpreadsheetControl1.ActiveWorksheet.GetUsedRange() + oRange.AutoFitColumns() + + SpreadsheetControl1.Visible = True + SpreadsheetControl1.Dock = DockStyle.Fill + + Case Else + MyGDPViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter + MyGDPViewer.ForceTemporaryMode = True + MyGDPViewer.AnnotationDropShadow = True + + MyGDPViewer.DisplayFromStream(Stream) + ShowGdViewer() + End Select + + UpdateMainUi() + + Return True + Catch ex As Exception + _logger.Error(ex) + Return False + End Try + End Function + + Private Function GetSpreadsheetFormat(Extension) As Spreadsheet.DocumentFormat + Dim oFormat As Spreadsheet.DocumentFormat = Spreadsheet.DocumentFormat.Undefined + + Select Case Extension.ToUpper + Case ".XLSX" : oFormat = Spreadsheet.DocumentFormat.Xlsx + Case ".XLS" : oFormat = Spreadsheet.DocumentFormat.Xls + Case ".CSV" : oFormat = Spreadsheet.DocumentFormat.Csv + End Select + + Return oFormat + End Function + + Private Function GetDocumentFormat(Extension) As XtraRichEdit.DocumentFormat + Dim oFormat As XtraRichEdit.DocumentFormat = XtraRichEdit.DocumentFormat.Undefined + + Select Case Extension.ToUpper + Case ".EML" : oFormat = XtraRichEdit.DocumentFormat.Mht + Case ".DOC" : oFormat = XtraRichEdit.DocumentFormat.Doc + Case ".DOCX" : oFormat = XtraRichEdit.DocumentFormat.OpenXml + Case ".ODT" : oFormat = XtraRichEdit.DocumentFormat.OpenDocument + Case ".RTF" : oFormat = XtraRichEdit.DocumentFormat.Rtf + Case ".TXT" : oFormat = XtraRichEdit.DocumentFormat.PlainText + End Select + + Return oFormat + End Function + + Private Function ToVisibility(pBoolean As Boolean) As XtraBars.BarItemVisibility + If (pBoolean = True) Then + Return XtraBars.BarItemVisibility.Always + Else + Return XtraBars.BarItemVisibility.Never + End If + End Function + + Private Sub UpdateMainUi() + + Select Case _Config?.Config?.PageFit + Case Config.PageFitSetting.FitPage + FitToPage() + + Case Config.PageFitSetting.FitWidth + FitToWidth() + + End Select + + If _FileStream Is Nothing And _FilePath Is Nothing Then + lbFileNotLoaded.Visible = False + End If + + Select Case _ViewerMode + Case ViewerMode.GDPicture + ToolbarDocumentViewer.Visible = True + + buttonPrint.Visibility = ToVisibility(_ToolbarSettings.ShowPrintButton) + buttonFitWidth.Visibility = ToVisibility(_ToolbarSettings.ShowFitWidthButton) + buttonFitPage.Visibility = ToVisibility(_ToolbarSettings.ShowFitPageButton) + buttonZoomIn.Visibility = ToVisibility(_ToolbarSettings.ShowZoomButton) + buttonZoomOut.Visibility = ToVisibility(_ToolbarSettings.ShowZoomButton) + buttonRotateLeft.Visibility = ToVisibility(_ToolbarSettings.ShowRotateButton) + buttonRotateRight.Visibility = ToVisibility(_ToolbarSettings.ShowRotateButton) + buttonFlipX.Visibility = ToVisibility(_ToolbarSettings.ShowFlipButton) + buttonFlipY.Visibility = ToVisibility(_ToolbarSettings.ShowFlipButton) + buttonSettings.Visibility = ToVisibility(_ToolbarSettings.ShowSettingButton) + txtSearch.Visibility = ToVisibility(_ToolbarSettings.ShowSearchButton) + btnSearch2.Visibility = ToVisibility(_ToolbarSettings.ShowSearchButton) + btnNextHighlight.Visibility = ToVisibility(_ToolbarSettings.ShowSearchButton) + btnPrevHighlight.Visibility = ToVisibility(_ToolbarSettings.ShowSearchButton) + buttonFirstPage.Visibility = ToVisibility(True) + buttonPrevPage.Visibility = ToVisibility(True) + buttonNextPage.Visibility = ToVisibility(True) + buttonLastPage.Visibility = ToVisibility(True) + txtCurrentPage.Visibility = ToVisibility(True) + + Case ViewerMode.Excel + ToolbarDocumentViewer.Visible = False + + buttonPrint.Visibility = ToVisibility(False) + buttonFitWidth.Visibility = ToVisibility(False) + buttonFitPage.Visibility = ToVisibility(False) + buttonZoomIn.Visibility = ToVisibility(False) + buttonZoomOut.Visibility = ToVisibility(False) + buttonRotateLeft.Visibility = ToVisibility(False) + buttonRotateRight.Visibility = ToVisibility(False) + buttonFlipX.Visibility = ToVisibility(False) + buttonFlipY.Visibility = ToVisibility(False) + buttonFirstPage.Visibility = ToVisibility(False) + buttonPrevPage.Visibility = ToVisibility(False) + buttonNextPage.Visibility = ToVisibility(False) + buttonLastPage.Visibility = ToVisibility(False) + buttonSettings.Visibility = ToVisibility(False) + txtCurrentPage.Visibility = ToVisibility(False) + txtSearch.Visibility = ToVisibility(False) + btnSearch2.Visibility = ToVisibility(False) + btnNextHighlight.Visibility = ToVisibility(False) + btnPrevHighlight.Visibility = ToVisibility(False) + Case Else + ToolbarDocumentViewer.Visible = False + End Select + End Sub + + Private Sub btnSearch2_ItemClick(sender As Object, e As XtraBars.ItemClickEventArgs) Handles btnSearch2.ItemClick + EnsureSearchInitialized() + If _Search IsNot Nothing AndAlso Not String.IsNullOrEmpty(txtSearch.EditValue) Then + _Search.SearchAll(txtSearch.EditValue?.ToString) + + End If + End Sub + + Private Sub btnPrevHighlight_ItemClick(sender As Object, e As XtraBars.ItemClickEventArgs) Handles btnPrevHighlight.ItemClick + EnsureSearchInitialized() + _Search?.PrevHighlight() + End Sub + + Private Sub btnNextHighlight_ItemClick(sender As Object, e As XtraBars.ItemClickEventArgs) Handles btnNextHighlight.ItemClick + EnsureSearchInitialized() + _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 + + + + +End Class diff --git a/DocumentViewer.vbproj b/DocumentViewer.vbproj new file mode 100644 index 0000000..0b7d5e9 --- /dev/null +++ b/DocumentViewer.vbproj @@ -0,0 +1,405 @@ + + + + + Debug + AnyCPU + {0958CDDF-4A16-41F6-8837-8335F71D599C} + Library + + + DigitalData.Controls.DocumentViewer + DigitalData.Controls.DocumentViewer + 512 + Windows + v4.6.2 + true + + + + + + AnyCPU + true + full + true + true + bin\Debug\ + DigitalData.Controls.DocumentViewer.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + DigitalData.Controls.DocumentViewer.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Charts.v21.2.Core.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Data.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.DataAccess.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.DataAccess.v21.2.UI.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Images.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Office.v21.2.Core.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Pdf.v21.2.Core.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Printing.v21.2.Core.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.RichEdit.v21.2.Core.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.DataVisualization.v21.2.Core.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Spreadsheet.v21.2.Core.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Data.Desktop.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Utils.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Utils.v21.2.UI.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraBars.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraCharts.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraEditors.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraGrid.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraLayout.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraNavBar.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraPrinting.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraRichEdit.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraSpreadsheet.v21.2.dll + + + D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraTreeList.v21.2.dll + + + ..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll + + + ..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll + + + ..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll + + + ..\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll + + + packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll + + + packages\DocumentFormat.OpenXml.Framework.3.2.0\lib\net46\DocumentFormat.OpenXml.Framework.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.DWG.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Common.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Document.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Email.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.HTML.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenDocument.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.PDF.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.RTF.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.SVG.dll + + + packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.wia.gateway.dll + True + + + packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + + packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + packages\Newtonsoft.Json.Bson.1.0.2\lib\net45\Newtonsoft.Json.Bson.dll + + + packages\NLog.5.0.5\lib\net46\NLog.dll + + + packages\OpenMcdf.2.4.1\lib\net40\OpenMcdf.dll + + + + + packages\protobuf-net.3.2.46\lib\net462\protobuf-net.dll + + + packages\protobuf-net.Core.3.2.46\lib\net462\protobuf-net.Core.dll + + + packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll + + + + packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll + + + packages\System.CodeDom.8.0.0\lib\net462\System.CodeDom.dll + + + packages\System.Collections.Immutable.8.0.0\lib\net462\System.Collections.Immutable.dll + + + + + + + + packages\System.IO.Packaging.8.0.1\lib\net462\System.IO.Packaging.dll + + + + packages\System.Memory.4.6.0\lib\net462\System.Memory.dll + + + packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll + + + + packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll + + + packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll + + + + + packages\System.Security.Cryptography.Pkcs.8.0.1\lib\net462\System.Security.Cryptography.Pkcs.dll + + + + packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll + + + packages\System.Text.Json.8.0.6\lib\net462\System.Text.Json.dll + + + packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + + packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + DocumentViewer.vb + + + UserControl + + + frmViewerSettings.vb + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + + DocumentViewer.vb + + + frmViewerSettings.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}". + + + + \ No newline at end of file diff --git a/DocumentViewer.vbproj.bak b/DocumentViewer.vbproj.bak new file mode 100644 index 0000000..336688a --- /dev/null +++ b/DocumentViewer.vbproj.bak @@ -0,0 +1,195 @@ + + + + + Debug + AnyCPU + {0958CDDF-4A16-41F6-8837-8335F71D599C} + Library + + + DigitalData.Controls.DocumentViewer + DigitalData.Controls.DocumentViewer + 512 + Windows + v4.6.1 + true + + + AnyCPU + true + full + true + true + bin\Debug\ + DigitalData.Controls.DocumentViewer.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + DigitalData.Controls.DocumentViewer.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + + + + + + + + + + + + + + + + + + + + + + D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll + + + + ..\packages\NLog.4.7.10\lib\net45\NLog.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DocumentViewer.vb + + + UserControl + + + frmViewerSettings.vb + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + DocumentViewer.vb + + + frmViewerSettings.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + {903B2D7D-3B80-4BE9-8713-7447B704E1B0} + Logging + + + {af664d85-0a4b-4bab-a2f8-83110c06553a} + Messaging + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DocumentViewer_temp.txt b/DocumentViewer_temp.txt new file mode 100644 index 0000000..aee92e7 --- /dev/null +++ b/DocumentViewer_temp.txt @@ -0,0 +1,357 @@ + + + + + Debug + AnyCPU + {0958CDDF-4A16-41F6-8837-8335F71D599C} + Library + + + DigitalData.Controls.DocumentViewer + DigitalData.Controls.DocumentViewer + 512 + Windows + v4.6.2 + true + + + + + + AnyCPU + true + full + true + true + bin\Debug\ + DigitalData.Controls.DocumentViewer.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + DigitalData.Controls.DocumentViewer.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + ..\packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + ..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll + + + ..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll + + + ..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll + + + ..\..\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll + + + ..\packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll + + + ..\packages\DocumentFormat.OpenXml.Framework.3.2.0\lib\net46\DocumentFormat.OpenXml.Framework.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.DWG.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Common.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Document.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Email.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.HTML.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenDocument.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.PDF.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.RTF.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.SVG.dll + + + ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.wia.gateway.dll + True + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + ..\packages\Newtonsoft.Json.Bson.1.0.2\lib\net45\Newtonsoft.Json.Bson.dll + + + ..\packages\NLog.5.0.5\lib\net46\NLog.dll + + + ..\packages\OpenMcdf.2.4.1\lib\net40\OpenMcdf.dll + + + + + ..\packages\protobuf-net.3.2.46\lib\net462\protobuf-net.dll + + + ..\packages\protobuf-net.Core.3.2.46\lib\net462\protobuf-net.Core.dll + + + ..\packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll + + + + ..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll + + + ..\packages\System.CodeDom.8.0.0\lib\net462\System.CodeDom.dll + + + ..\packages\System.Collections.Immutable.8.0.0\lib\net462\System.Collections.Immutable.dll + + + + + + + + ..\packages\System.IO.Packaging.8.0.1\lib\net462\System.IO.Packaging.dll + + + + ..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll + + + ..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll + + + + ..\packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll + + + + + ..\packages\System.Security.Cryptography.Pkcs.8.0.1\lib\net462\System.Security.Cryptography.Pkcs.dll + + + + ..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll + + + ..\packages\System.Text.Json.8.0.6\lib\net462\System.Text.Json.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + + ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + DocumentViewer.vb + + + UserControl + + + frmViewerSettings.vb + + + Form + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + + DocumentViewer.vb + + + frmViewerSettings.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}". + + + + \ No newline at end of file diff --git a/MailLicense.xml b/MailLicense.xml new file mode 100644 index 0000000..0510526 --- /dev/null +++ b/MailLicense.xml @@ -0,0 +1,23 @@ + + + 4dc5ef40-f1a9-468b-994c-b7ed600ad878 + Mail.dll + 2022-07-29 + Digital Data GmbH + single developer + Digital Data GmbH + + + + + + + + + + 75MRtl4ipYelIZYlpT8O7QDX9Zc= + + + Raxfkz6DfQVs/sMvH+F2nH0eHXD8FoUFSdP3t7AgBUdpABJQx86srlyuMSEhXPlc1THCqPouEVob4RsWnd9OXvTiPPSOUSK9zuNG6uz93KLAhpSD5PraAgBCF4jwZArlAp7aCNfZpHqQ3w6TRHS+CfravUU0AHHG3MZ1ZcRkGuo= + + \ No newline at end of file diff --git a/My Project/Application.Designer.vb b/My Project/Application.Designer.vb new file mode 100644 index 0000000..8ab460b --- /dev/null +++ b/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/My Project/Application.myapp b/My Project/Application.myapp new file mode 100644 index 0000000..7373f02 --- /dev/null +++ b/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + true + frmTest + false + 0 + true + 0 + true + \ No newline at end of file diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..69030dd --- /dev/null +++ b/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' Allgemeine Informationen über eine Assembly werden über die folgenden +' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +' die einer Assembly zugeordnet sind. + +' Werte der Assemblyattribute überprüfen + + + + + + + + + + +'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird. + + +' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +' +' Hauptversion +' Nebenversion +' Buildnummer +' Revision +' +' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +' übernehmen, indem Sie "*" eingeben: +' + + + diff --git a/My Project/Resources.Designer.vb b/My Project/Resources.Designer.vb new file mode 100644 index 0000000..2927fe4 --- /dev/null +++ b/My Project/Resources.Designer.vb @@ -0,0 +1,223 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + ''' + ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DigitalData.Controls.DocumentViewer.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property _next() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("next", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property doublefirst() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("doublefirst", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property doublelast() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("doublelast", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property fittopage() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("fittopage", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property fittowidth() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("fittowidth", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property flipimage_horizontal() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("flipimage_horizontal", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property flipimage_vertical() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("flipimage_vertical", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property floatingobjectoutlinecolor() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("floatingobjectoutlinecolor", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property prev() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("prev", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property rotateclockwise() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("rotateclockwise", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property rotatecounterclockwise() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("rotatecounterclockwise", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property tooltips() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("tooltips", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property tooltips1() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("tooltips1", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property viewsettings() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("viewsettings", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property ZooFlow_10() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("ZooFlow-10", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property zoomin() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("zoomin", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + End Module +End Namespace diff --git a/My Project/Resources.resx b/My Project/Resources.resx new file mode 100644 index 0000000..bc91f3a --- /dev/null +++ b/My Project/Resources.resx @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\doublelast.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\tooltips1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\doublefirst.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\flipimage_vertical.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\rotatecounterclockwise.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\tooltips.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\fittopage.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\fittowidth.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\floatingobjectoutlinecolor.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\next.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\flipimage_horizontal.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\zoomin.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\prev.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\ZooFlow-10.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\rotateclockwise.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\viewsettings.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + \ No newline at end of file diff --git a/My Project/Resources.resx.bak b/My Project/Resources.resx.bak new file mode 100644 index 0000000..64ac387 --- /dev/null +++ b/My Project/Resources.resx.bak @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\tooltips.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\ZooFlow-10.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\floatingobjectoutlinecolor.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\tooltips1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + \ No newline at end of file diff --git a/My Project/Settings.Designer.vb b/My Project/Settings.Designer.vb new file mode 100644 index 0000000..7b984b5 --- /dev/null +++ b/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "Automatische My.Settings-Speicherfunktion" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.DigitalData.Controls.DocumentViewer.My.MySettings + Get + Return Global.DigitalData.Controls.DocumentViewer.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/My Project/Settings.settings b/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/My Project/licenses.licx b/My Project/licenses.licx new file mode 100644 index 0000000..73f111c --- /dev/null +++ b/My Project/licenses.licx @@ -0,0 +1,5 @@ +DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraRichEdit.RichEditControl, DevExpress.XtraRichEdit.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraSpreadsheet.SpreadsheetControl, DevExpress.XtraSpreadsheet.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/My Project/licenses.licx.bak b/My Project/licenses.licx.bak new file mode 100644 index 0000000..4ce8af8 --- /dev/null +++ b/My Project/licenses.licx.bak @@ -0,0 +1,5 @@ +DevExpress.XtraSpreadsheet.SpreadsheetControl, DevExpress.XtraSpreadsheet.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraRichEdit.RichEditControl, DevExpress.XtraRichEdit.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..58cbced --- /dev/null +++ b/README.txt @@ -0,0 +1,5 @@ +BASE MODULE +=========== + +This module is intended for often used constants and datastructures. +Therefor it is important that this module does not have any dependencies on other modules!! \ No newline at end of file diff --git a/Resources/ZooFlow-10.svg b/Resources/ZooFlow-10.svg new file mode 100644 index 0000000..0cdbf1a --- /dev/null +++ b/Resources/ZooFlow-10.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Resources/doublefirst.svg b/Resources/doublefirst.svg new file mode 100644 index 0000000..3c18972 --- /dev/null +++ b/Resources/doublefirst.svg @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/Resources/doublelast.svg b/Resources/doublelast.svg new file mode 100644 index 0000000..6ed1db6 --- /dev/null +++ b/Resources/doublelast.svg @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/Resources/fittopage.svg b/Resources/fittopage.svg new file mode 100644 index 0000000..bea6072 --- /dev/null +++ b/Resources/fittopage.svg @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/Resources/fittowidth.svg b/Resources/fittowidth.svg new file mode 100644 index 0000000..44770ee --- /dev/null +++ b/Resources/fittowidth.svg @@ -0,0 +1,21 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Resources/flipimage_horizontal.svg b/Resources/flipimage_horizontal.svg new file mode 100644 index 0000000..f4f2a41 --- /dev/null +++ b/Resources/flipimage_horizontal.svg @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/Resources/flipimage_vertical.svg b/Resources/flipimage_vertical.svg new file mode 100644 index 0000000..536c131 --- /dev/null +++ b/Resources/flipimage_vertical.svg @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/Resources/floatingobjectoutlinecolor.svg b/Resources/floatingobjectoutlinecolor.svg new file mode 100644 index 0000000..5af7cef --- /dev/null +++ b/Resources/floatingobjectoutlinecolor.svg @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/Resources/next.svg b/Resources/next.svg new file mode 100644 index 0000000..e87edcf --- /dev/null +++ b/Resources/next.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/Resources/prev.svg b/Resources/prev.svg new file mode 100644 index 0000000..0eae348 --- /dev/null +++ b/Resources/prev.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/Resources/rotateclockwise.svg b/Resources/rotateclockwise.svg new file mode 100644 index 0000000..d3f0be0 --- /dev/null +++ b/Resources/rotateclockwise.svg @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/Resources/rotatecounterclockwise.svg b/Resources/rotatecounterclockwise.svg new file mode 100644 index 0000000..8b8e24b --- /dev/null +++ b/Resources/rotatecounterclockwise.svg @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/Resources/tooltips.svg b/Resources/tooltips.svg new file mode 100644 index 0000000..0a0fd01 --- /dev/null +++ b/Resources/tooltips.svg @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/Resources/tooltips1.svg b/Resources/tooltips1.svg new file mode 100644 index 0000000..0a0fd01 --- /dev/null +++ b/Resources/tooltips1.svg @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/Resources/viewsettings.svg b/Resources/viewsettings.svg new file mode 100644 index 0000000..d7243dc --- /dev/null +++ b/Resources/viewsettings.svg @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/Resources/zoomin.svg b/Resources/zoomin.svg new file mode 100644 index 0000000..1bf31d1 --- /dev/null +++ b/Resources/zoomin.svg @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/frmViewerSettings.Designer.vb b/frmViewerSettings.Designer.vb new file mode 100644 index 0000000..37e0efc --- /dev/null +++ b/frmViewerSettings.Designer.vb @@ -0,0 +1,451 @@ + _ +Partial Class frmViewerSettings + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.GroupBox4 = New System.Windows.Forms.GroupBox() + Me.chkPDFVerifyDigitalCertificates = New System.Windows.Forms.CheckBox() + Me.chkPDFIncreaseTextContrast = New System.Windows.Forms.CheckBox() + Me.chkPDFEnableLinks = New System.Windows.Forms.CheckBox() + Me.chkPDFEnableFileLinks = New System.Windows.Forms.CheckBox() + Me.chkPDFDisplayFormFields = New System.Windows.Forms.CheckBox() + Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.chkEnableICM = New System.Windows.Forms.CheckBox() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.chkHQAnnotationsRendering = New System.Windows.Forms.CheckBox() + Me.chkAnnotationsDropShadow = New System.Windows.Forms.CheckBox() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.chkEnableDeferredPainting = New System.Windows.Forms.CheckBox() + Me.Label8 = New System.Windows.Forms.Label() + Me.cbPageDisplayMode = New System.Windows.Forms.ComboBox() + Me.chkIgnoreDocumentResolution = New System.Windows.Forms.CheckBox() + Me.PictureBox1 = New System.Windows.Forms.PictureBox() + Me.txtZoomStep = New System.Windows.Forms.NumericUpDown() + Me.cbMouseWheelMode = New System.Windows.Forms.ComboBox() + Me.cbDocumentPosition = New System.Windows.Forms.ComboBox() + Me.cbDocumentAlignment = New System.Windows.Forms.ComboBox() + Me.chkEnableMenu = New System.Windows.Forms.CheckBox() + Me.Label6 = New System.Windows.Forms.Label() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.cbDisplayQuality = New System.Windows.Forms.ComboBox() + Me.chkContinuousViewMode = New System.Windows.Forms.CheckBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.btnApply = New System.Windows.Forms.Button() + Me.GroupBox4.SuspendLayout() + Me.GroupBox3.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.GroupBox1.SuspendLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtZoomStep, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'GroupBox4 + ' + Me.GroupBox4.Controls.Add(Me.chkPDFVerifyDigitalCertificates) + Me.GroupBox4.Controls.Add(Me.chkPDFIncreaseTextContrast) + Me.GroupBox4.Controls.Add(Me.chkPDFEnableLinks) + Me.GroupBox4.Controls.Add(Me.chkPDFEnableFileLinks) + Me.GroupBox4.Controls.Add(Me.chkPDFDisplayFormFields) + Me.GroupBox4.Location = New System.Drawing.Point(309, 101) + Me.GroupBox4.Name = "GroupBox4" + Me.GroupBox4.Size = New System.Drawing.Size(291, 184) + Me.GroupBox4.TabIndex = 103 + Me.GroupBox4.TabStop = False + Me.GroupBox4.Text = "PDF viewing options" + ' + 'chkPDFVerifyDigitalCertificates + ' + Me.chkPDFVerifyDigitalCertificates.AutoSize = True + Me.chkPDFVerifyDigitalCertificates.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.chkPDFVerifyDigitalCertificates.Location = New System.Drawing.Point(6, 119) + Me.chkPDFVerifyDigitalCertificates.Name = "chkPDFVerifyDigitalCertificates" + Me.chkPDFVerifyDigitalCertificates.Size = New System.Drawing.Size(136, 17) + Me.chkPDFVerifyDigitalCertificates.TabIndex = 20 + Me.chkPDFVerifyDigitalCertificates.Text = "Verify digital certificates" + Me.chkPDFVerifyDigitalCertificates.UseVisualStyleBackColor = True + ' + 'chkPDFIncreaseTextContrast + ' + Me.chkPDFIncreaseTextContrast.AutoSize = True + Me.chkPDFIncreaseTextContrast.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.chkPDFIncreaseTextContrast.Location = New System.Drawing.Point(6, 96) + Me.chkPDFIncreaseTextContrast.Name = "chkPDFIncreaseTextContrast" + Me.chkPDFIncreaseTextContrast.Size = New System.Drawing.Size(128, 17) + Me.chkPDFIncreaseTextContrast.TabIndex = 18 + Me.chkPDFIncreaseTextContrast.Text = "Increase text contrast" + Me.chkPDFIncreaseTextContrast.UseVisualStyleBackColor = True + ' + 'chkPDFEnableLinks + ' + Me.chkPDFEnableLinks.AutoSize = True + Me.chkPDFEnableLinks.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.chkPDFEnableLinks.Location = New System.Drawing.Point(6, 73) + Me.chkPDFEnableLinks.Name = "chkPDFEnableLinks" + Me.chkPDFEnableLinks.Size = New System.Drawing.Size(83, 17) + Me.chkPDFEnableLinks.TabIndex = 17 + Me.chkPDFEnableLinks.Text = "Enable links" + Me.chkPDFEnableLinks.UseVisualStyleBackColor = True + ' + 'chkPDFEnableFileLinks + ' + Me.chkPDFEnableFileLinks.AutoSize = True + Me.chkPDFEnableFileLinks.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.chkPDFEnableFileLinks.Location = New System.Drawing.Point(6, 50) + Me.chkPDFEnableFileLinks.Name = "chkPDFEnableFileLinks" + Me.chkPDFEnableFileLinks.Size = New System.Drawing.Size(99, 17) + Me.chkPDFEnableFileLinks.TabIndex = 16 + Me.chkPDFEnableFileLinks.Text = "Enable file links" + Me.chkPDFEnableFileLinks.UseVisualStyleBackColor = True + ' + 'chkPDFDisplayFormFields + ' + Me.chkPDFDisplayFormFields.AutoSize = True + Me.chkPDFDisplayFormFields.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.chkPDFDisplayFormFields.Location = New System.Drawing.Point(6, 27) + Me.chkPDFDisplayFormFields.Name = "chkPDFDisplayFormFields" + Me.chkPDFDisplayFormFields.Size = New System.Drawing.Size(110, 17) + Me.chkPDFDisplayFormFields.TabIndex = 15 + Me.chkPDFDisplayFormFields.Text = "Display form fields" + Me.chkPDFDisplayFormFields.UseVisualStyleBackColor = True + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.chkEnableICM) + Me.GroupBox3.Location = New System.Drawing.Point(12, 314) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(291, 46) + Me.GroupBox3.TabIndex = 101 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Image viewing options" + ' + 'chkEnableICM + ' + Me.chkEnableICM.AutoSize = True + Me.chkEnableICM.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.chkEnableICM.Location = New System.Drawing.Point(6, 19) + Me.chkEnableICM.Name = "chkEnableICM" + Me.chkEnableICM.Size = New System.Drawing.Size(81, 17) + Me.chkEnableICM.TabIndex = 12 + Me.chkEnableICM.Text = "Enable ICM" + Me.chkEnableICM.UseVisualStyleBackColor = True + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.chkHQAnnotationsRendering) + Me.GroupBox2.Controls.Add(Me.chkAnnotationsDropShadow) + Me.GroupBox2.Location = New System.Drawing.Point(309, 12) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(291, 83) + Me.GroupBox2.TabIndex = 102 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Annotations options" + ' + 'chkHQAnnotationsRendering + ' + Me.chkHQAnnotationsRendering.AutoSize = True + Me.chkHQAnnotationsRendering.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.chkHQAnnotationsRendering.Location = New System.Drawing.Point(6, 42) + Me.chkHQAnnotationsRendering.Name = "chkHQAnnotationsRendering" + Me.chkHQAnnotationsRendering.Size = New System.Drawing.Size(147, 17) + Me.chkHQAnnotationsRendering.TabIndex = 14 + Me.chkHQAnnotationsRendering.Text = "HQ annotations rendering" + Me.chkHQAnnotationsRendering.UseVisualStyleBackColor = True + ' + 'chkAnnotationsDropShadow + ' + Me.chkAnnotationsDropShadow.AutoSize = True + Me.chkAnnotationsDropShadow.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.chkAnnotationsDropShadow.Location = New System.Drawing.Point(6, 19) + Me.chkAnnotationsDropShadow.Name = "chkAnnotationsDropShadow" + Me.chkAnnotationsDropShadow.Size = New System.Drawing.Size(146, 17) + Me.chkAnnotationsDropShadow.TabIndex = 13 + Me.chkAnnotationsDropShadow.Text = "Annotations drop shadow" + Me.chkAnnotationsDropShadow.UseVisualStyleBackColor = True + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.chkEnableDeferredPainting) + Me.GroupBox1.Controls.Add(Me.Label8) + Me.GroupBox1.Controls.Add(Me.cbPageDisplayMode) + Me.GroupBox1.Controls.Add(Me.chkIgnoreDocumentResolution) + Me.GroupBox1.Controls.Add(Me.PictureBox1) + Me.GroupBox1.Controls.Add(Me.txtZoomStep) + Me.GroupBox1.Controls.Add(Me.cbMouseWheelMode) + Me.GroupBox1.Controls.Add(Me.cbDocumentPosition) + Me.GroupBox1.Controls.Add(Me.cbDocumentAlignment) + Me.GroupBox1.Controls.Add(Me.chkEnableMenu) + Me.GroupBox1.Controls.Add(Me.Label6) + Me.GroupBox1.Controls.Add(Me.Label5) + Me.GroupBox1.Controls.Add(Me.Label4) + Me.GroupBox1.Controls.Add(Me.Label3) + Me.GroupBox1.Controls.Add(Me.Label2) + Me.GroupBox1.Controls.Add(Me.cbDisplayQuality) + Me.GroupBox1.Controls.Add(Me.chkContinuousViewMode) + Me.GroupBox1.Controls.Add(Me.Label1) + Me.GroupBox1.Location = New System.Drawing.Point(12, 12) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(291, 296) + Me.GroupBox1.TabIndex = 100 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "General options" + ' + 'chkEnableDeferredPainting + ' + Me.chkEnableDeferredPainting.AutoSize = True + Me.chkEnableDeferredPainting.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.chkEnableDeferredPainting.Location = New System.Drawing.Point(6, 270) + Me.chkEnableDeferredPainting.Name = "chkEnableDeferredPainting" + Me.chkEnableDeferredPainting.Size = New System.Drawing.Size(141, 17) + Me.chkEnableDeferredPainting.TabIndex = 17 + Me.chkEnableDeferredPainting.Text = "Enable deferred painting" + Me.chkEnableDeferredPainting.UseVisualStyleBackColor = True + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(6, 95) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(70, 13) + Me.Label8.TabIndex = 16 + Me.Label8.Text = "Display mode" + ' + 'cbPageDisplayMode + ' + Me.cbPageDisplayMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.cbPageDisplayMode.FormattingEnabled = True + Me.cbPageDisplayMode.Location = New System.Drawing.Point(116, 93) + Me.cbPageDisplayMode.Name = "cbPageDisplayMode" + Me.cbPageDisplayMode.Size = New System.Drawing.Size(130, 21) + Me.cbPageDisplayMode.TabIndex = 4 + ' + 'chkIgnoreDocumentResolution + ' + Me.chkIgnoreDocumentResolution.AutoSize = True + Me.chkIgnoreDocumentResolution.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.chkIgnoreDocumentResolution.Location = New System.Drawing.Point(6, 248) + Me.chkIgnoreDocumentResolution.Name = "chkIgnoreDocumentResolution" + Me.chkIgnoreDocumentResolution.Size = New System.Drawing.Size(154, 17) + Me.chkIgnoreDocumentResolution.TabIndex = 11 + Me.chkIgnoreDocumentResolution.Text = "Ignore document resolution" + Me.chkIgnoreDocumentResolution.UseVisualStyleBackColor = True + ' + 'PictureBox1 + ' + Me.PictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.PictureBox1.Location = New System.Drawing.Point(116, 198) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New System.Drawing.Size(21, 21) + Me.PictureBox1.TabIndex = 3 + Me.PictureBox1.TabStop = False + ' + 'txtZoomStep + ' + Me.txtZoomStep.Location = New System.Drawing.Point(69, 18) + Me.txtZoomStep.Maximum = New Decimal(New Integer() {1000, 0, 0, 0}) + Me.txtZoomStep.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.txtZoomStep.Name = "txtZoomStep" + Me.txtZoomStep.Size = New System.Drawing.Size(79, 20) + Me.txtZoomStep.TabIndex = 0 + Me.txtZoomStep.Value = New Decimal(New Integer() {1, 0, 0, 0}) + ' + 'cbMouseWheelMode + ' + Me.cbMouseWheelMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.cbMouseWheelMode.FormattingEnabled = True + Me.cbMouseWheelMode.Location = New System.Drawing.Point(116, 171) + Me.cbMouseWheelMode.Name = "cbMouseWheelMode" + Me.cbMouseWheelMode.Size = New System.Drawing.Size(107, 21) + Me.cbMouseWheelMode.TabIndex = 7 + ' + 'cbDocumentPosition + ' + Me.cbDocumentPosition.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.cbDocumentPosition.FormattingEnabled = True + Me.cbDocumentPosition.Location = New System.Drawing.Point(116, 145) + Me.cbDocumentPosition.Name = "cbDocumentPosition" + Me.cbDocumentPosition.Size = New System.Drawing.Size(107, 21) + Me.cbDocumentPosition.TabIndex = 6 + ' + 'cbDocumentAlignment + ' + Me.cbDocumentAlignment.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.cbDocumentAlignment.FormattingEnabled = True + Me.cbDocumentAlignment.Location = New System.Drawing.Point(116, 119) + Me.cbDocumentAlignment.Name = "cbDocumentAlignment" + Me.cbDocumentAlignment.Size = New System.Drawing.Size(107, 21) + Me.cbDocumentAlignment.TabIndex = 5 + ' + 'chkEnableMenu + ' + Me.chkEnableMenu.AutoSize = True + Me.chkEnableMenu.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.chkEnableMenu.Location = New System.Drawing.Point(6, 225) + Me.chkEnableMenu.Name = "chkEnableMenu" + Me.chkEnableMenu.Size = New System.Drawing.Size(140, 17) + Me.chkEnableMenu.TabIndex = 10 + Me.chkEnableMenu.Text = "Enable contextual menu" + Me.chkEnableMenu.UseVisualStyleBackColor = True + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(6, 202) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(91, 13) + Me.Label6.TabIndex = 9 + Me.Label6.Text = "Background color" + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(7, 173) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(99, 13) + Me.Label5.TabIndex = 8 + Me.Label5.Text = "Mouse wheel mode" + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(7, 147) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(95, 13) + Me.Label4.TabIndex = 7 + Me.Label4.Text = "Document position" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(7, 121) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(104, 13) + Me.Label3.TabIndex = 6 + Me.Label3.Text = "Document alignment" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(6, 69) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(74, 13) + Me.Label2.TabIndex = 4 + Me.Label2.Text = "Display quality" + ' + 'cbDisplayQuality + ' + Me.cbDisplayQuality.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.cbDisplayQuality.FormattingEnabled = True + Me.cbDisplayQuality.Location = New System.Drawing.Point(116, 67) + Me.cbDisplayQuality.Name = "cbDisplayQuality" + Me.cbDisplayQuality.Size = New System.Drawing.Size(107, 21) + Me.cbDisplayQuality.TabIndex = 3 + ' + 'chkContinuousViewMode + ' + Me.chkContinuousViewMode.AutoSize = True + Me.chkContinuousViewMode.CheckAlign = System.Drawing.ContentAlignment.MiddleRight + Me.chkContinuousViewMode.Location = New System.Drawing.Point(6, 42) + Me.chkContinuousViewMode.Name = "chkContinuousViewMode" + Me.chkContinuousViewMode.Size = New System.Drawing.Size(133, 17) + Me.chkContinuousViewMode.TabIndex = 2 + Me.chkContinuousViewMode.Text = "Continuous view mode" + Me.chkContinuousViewMode.UseVisualStyleBackColor = True + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(6, 20) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(57, 13) + Me.Label1.TabIndex = 1 + Me.Label1.Text = "Zoom step" + ' + 'btnApply + ' + Me.btnApply.Location = New System.Drawing.Point(529, 338) + Me.btnApply.Name = "btnApply" + Me.btnApply.Size = New System.Drawing.Size(75, 23) + Me.btnApply.TabIndex = 104 + Me.btnApply.Text = "Apply" + Me.btnApply.UseVisualStyleBackColor = True + ' + 'frmViewerSettings + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(625, 377) + Me.Controls.Add(Me.GroupBox4) + Me.Controls.Add(Me.GroupBox3) + Me.Controls.Add(Me.GroupBox2) + Me.Controls.Add(Me.GroupBox1) + Me.Controls.Add(Me.btnApply) + Me.Name = "frmViewerSettings" + Me.Text = "frmViewerSettings" + Me.GroupBox4.ResumeLayout(False) + Me.GroupBox4.PerformLayout() + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox3.PerformLayout() + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtZoomStep, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents GroupBox4 As GroupBox + Friend WithEvents chkPDFVerifyDigitalCertificates As CheckBox + Friend WithEvents chkPDFIncreaseTextContrast As CheckBox + Friend WithEvents chkPDFEnableLinks As CheckBox + Friend WithEvents chkPDFEnableFileLinks As CheckBox + Friend WithEvents chkPDFDisplayFormFields As CheckBox + Friend WithEvents GroupBox3 As GroupBox + Friend WithEvents chkEnableICM As CheckBox + Friend WithEvents GroupBox2 As GroupBox + Friend WithEvents chkHQAnnotationsRendering As CheckBox + Friend WithEvents chkAnnotationsDropShadow As CheckBox + Friend WithEvents GroupBox1 As GroupBox + Friend WithEvents chkEnableDeferredPainting As CheckBox + Friend WithEvents Label8 As Label + Friend WithEvents cbPageDisplayMode As ComboBox + Friend WithEvents chkIgnoreDocumentResolution As CheckBox + Friend WithEvents PictureBox1 As PictureBox + Friend WithEvents txtZoomStep As NumericUpDown + Friend WithEvents cbMouseWheelMode As ComboBox + Friend WithEvents cbDocumentPosition As ComboBox + Friend WithEvents cbDocumentAlignment As ComboBox + Friend WithEvents chkEnableMenu As CheckBox + Friend WithEvents Label6 As Label + Friend WithEvents Label5 As Label + Friend WithEvents Label4 As Label + Friend WithEvents Label3 As Label + Friend WithEvents Label2 As Label + Friend WithEvents cbDisplayQuality As ComboBox + Friend WithEvents chkContinuousViewMode As CheckBox + Friend WithEvents Label1 As Label + Friend WithEvents btnApply As Button +End Class diff --git a/frmViewerSettings.resx b/frmViewerSettings.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/frmViewerSettings.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/frmViewerSettings.vb b/frmViewerSettings.vb new file mode 100644 index 0000000..58fe5c4 --- /dev/null +++ b/frmViewerSettings.vb @@ -0,0 +1,103 @@ +Option Strict On +Option Explicit On + +Imports GdPicture14 + +Public Class frmViewerSettings + + Private ReadOnly _owner As GdViewer + + Private ReadOnly _mouseWheelModes As New Dictionary(Of ViewerMouseWheelMode, String) From { + {ViewerMouseWheelMode.MouseWheelModeZoom, "Zoom"}, + {ViewerMouseWheelMode.MouseWheelModeVerticalScroll, "Scroll"}, + {ViewerMouseWheelMode.MouseWheelModePageChange, "Page change"} + } + Private ReadOnly _documentAlignments As New Dictionary(Of ViewerDocumentAlignment, String) From { + {ViewerDocumentAlignment.DocumentAlignmentBottomCenter, "Bottom center"}, + {ViewerDocumentAlignment.DocumentAlignmentBottomLeft, "Bottom left"}, + {ViewerDocumentAlignment.DocumentAlignmentBottomRight, "Bottom right"}, + {ViewerDocumentAlignment.DocumentAlignmentMiddleCenter, "Middle center"}, + {ViewerDocumentAlignment.DocumentAlignmentMiddleLeft, "Middle left"}, + {ViewerDocumentAlignment.DocumentAlignmentMiddleRight, "Middle right"}, + {ViewerDocumentAlignment.DocumentAlignmentTopCenter, "Top center"}, + {ViewerDocumentAlignment.DocumentAlignmentTopLeft, "Top left"}, + {ViewerDocumentAlignment.DocumentAlignmentTopRight, "Top right"} + } + Private ReadOnly _documentPositions As New Dictionary(Of ViewerDocumentPosition, String) From { + {ViewerDocumentPosition.DocumentPositionBottomCenter, "Bottom center"}, + {ViewerDocumentPosition.DocumentPositionBottomLeft, "Bottom left"}, + {ViewerDocumentPosition.DocumentPositionBottomRight, "Bottom right"}, + {ViewerDocumentPosition.DocumentPositionMiddleCenter, "Middle center"}, + {ViewerDocumentPosition.DocumentPositionMiddleLeft, "Middle left"}, + {ViewerDocumentPosition.DocumentPositionMiddleRight, "Middle right"}, + {ViewerDocumentPosition.DocumentPositionTopCenter, "Top center"}, + {ViewerDocumentPosition.DocumentPositionTopLeft, "Top left"}, + {ViewerDocumentPosition.DocumentPositionTopRight, "Top right"} + } + Private ReadOnly _displayQualities As New Dictionary(Of DisplayQuality, String) From { + {DisplayQuality.DisplayQualityLow, "Low"}, + {DisplayQuality.DisplayQualityBilinear, "Bilinear"}, + {DisplayQuality.DisplayQualityBicubic, "Bicubic"}, + {DisplayQuality.DisplayQualityBilinearHQ, "Bilinear HQ"}, + {DisplayQuality.DisplayQualityBicubicHQ, "Bicubic HQ"}, + {DisplayQuality.DisplayQualityAutomatic, "Automatic"} + } + Private ReadOnly _displayPageModes As New Dictionary(Of PageDisplayMode, String) From { + {PageDisplayMode.MultiplePagesView, "Multiple pages"}, + {PageDisplayMode.SinglePageView, "Single page"} + } + + Public Sub New(ByVal owner As GdViewer) + InitializeComponent() + _owner = owner + End Sub + + Private Sub frmSettings_Load(sender As Object, e As EventArgs) Handles MyBase.Load + For Each item In _mouseWheelModes + cbMouseWheelMode.Items.Add(item.Value) + Next + For Each item In _documentAlignments + cbDocumentAlignment.Items.Add(item.Value) + Next + For Each item In _documentPositions + cbDocumentPosition.Items.Add(item.Value) + Next + For Each item In _displayQualities + cbDisplayQuality.Items.Add(item.Value) + Next + For Each item In _displayPageModes + cbPageDisplayMode.Items.Add(item.Value) + Next + + cbMouseWheelMode.SelectedIndex = CType(_owner.MouseWheelMode, Integer) + cbDocumentAlignment.SelectedItem = _documentAlignments(_owner.DocumentAlignment) + cbDocumentPosition.SelectedItem = _documentPositions(_owner.DocumentPosition) + cbDisplayQuality.SelectedItem = _displayQualities(_owner.DisplayQuality) + cbPageDisplayMode.SelectedItem = _displayPageModes(_owner.PageDisplayMode) + txtZoomStep.Text = CStr(_owner.ZoomStep) + chkContinuousViewMode.Checked = _owner.ContinuousViewMode + chkEnableMenu.Checked = _owner.EnableMenu + PictureBox1.BackColor = _owner.BackColor + chkIgnoreDocumentResolution.Checked = _owner.IgnoreDocumentResolution + chkEnableDeferredPainting.Checked = _owner.EnableDeferredPainting + + chkAnnotationsDropShadow.Checked = _owner.AnnotationDropShadow + chkHQAnnotationsRendering.Checked = _owner.HQAnnotationRendering + + chkEnableICM.Checked = _owner.EnableICM + + chkPDFDisplayFormFields.Checked = _owner.PdfDisplayFormField + chkPDFEnableFileLinks.Checked = _owner.PdfEnableFileLinks + chkPDFEnableLinks.Checked = _owner.PdfEnableLinks + chkPDFIncreaseTextContrast.Checked = _owner.PdfIncreaseTextContrast + chkPDFVerifyDigitalCertificates.Checked = _owner.PdfVerifyDigitalCertificates + End Sub + + Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click + + End Sub + + Private Sub cbMouseWheelMode_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbMouseWheelMode.SelectedIndexChanged + + End Sub +End Class \ No newline at end of file diff --git a/packages.config b/packages.config new file mode 100644 index 0000000..18dc42d --- /dev/null +++ b/packages.config @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file