3 Commits

Author SHA1 Message Date
Jonathan Jenne
2202f90914 ZooFlow: NotNull from Modules.Language 2021-04-26 11:35:09 +02:00
Jonathan Jenne
7b68b622ff DocumentViewer: Version 1.6.0 2021-04-26 11:22:50 +02:00
Jonathan Jenne
1283cfae61 DocumentViewer: Support most toolbar actions for word-like documents #CW-1 2021-04-26 11:22:13 +02:00
10 changed files with 158 additions and 60 deletions

View File

@@ -42,6 +42,7 @@ Partial Class DocumentViewer
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()
@@ -55,7 +56,6 @@ Partial Class DocumentViewer
Me.RepositoryItemComboBox1 = New DevExpress.XtraEditors.Repository.RepositoryItemComboBox()
Me.SpreadsheetControl1 = New DevExpress.XtraSpreadsheet.SpreadsheetControl()
Me.PrintDocument1 = New System.Drawing.Printing.PrintDocument()
Me.labelPageCount = New DevExpress.XtraBars.BarStaticItem()
CType(Me.BarManager1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemTextEdit2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemTextEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -282,6 +282,12 @@ Partial Class DocumentViewer
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"
@@ -376,12 +382,6 @@ Partial Class DocumentViewer
Me.SpreadsheetControl1.Text = "SpreadsheetControl1"
Me.SpreadsheetControl1.Visible = False
'
'labelPageCount
'
Me.labelPageCount.Caption = "BarStaticItem2"
Me.labelPageCount.Id = 24
Me.labelPageCount.Name = "labelPageCount"
'
'DocumentViewer
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)

View File

@@ -8,6 +8,7 @@ Imports GdPicture14
Imports DevExpress
Imports DevExpress.Office.Utils
Imports System.IO
Imports DevExpress.XtraRichEdit.Commands
Public Class DocumentViewer
Private Enum ZoomMode
@@ -21,6 +22,13 @@ Public Class DocumentViewer
ZoomFitHeight
End Enum
Private Enum ViewerMode
GDPicture
RichText
Excel
End Enum
Private _ViewerMode As ViewerMode
Private _currentSearchOccurence As Integer = 0
Private _toggleGamma As Boolean = True
Private _licenseKey As String = String.Empty
@@ -41,6 +49,7 @@ Public Class DocumentViewer
UpdateMainUi()
End Sub
Public Property FileLoaded As Boolean = False
''' <summary>
@@ -76,16 +85,18 @@ Public Class DocumentViewer
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
_logger.Info("Loading File {0}", FilePath)
Dim oFileLoaded = DoLoadFile(FilePath)
FileLoaded = DoLoadFile(FilePath)
_FilePath = FilePath
_Fileinfo = New FileInfo(FilePath)
If oFileLoaded = True Then
FileLoaded = True
End If
SetViewerMode(_Fileinfo.Extension)
UpdateMainUi()
End Sub
@@ -101,12 +112,9 @@ Public Class DocumentViewer
_logger.Info("Loading File [{0}]", FileName)
Dim ofileloaded = DoLoadFile(Stream, oExtension)
If oFileLoaded = True Then
FileLoaded = True
End If
FileLoaded = DoLoadFile(Stream, oExtension)
SetViewerMode(oExtension)
UpdateMainUi()
End Sub
@@ -125,20 +133,32 @@ Public Class DocumentViewer
Next
_TempFiles.Clear()
End Sub
Private Sub SetViewerMode(Extension As String)
Select Case Extension.ToUpper
Case ".MSG"
_ViewerMode = ViewerMode.RichText
Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT"
_ViewerMode = ViewerMode.RichText
Case ".XLSX", ".XLS", "CSV"
_ViewerMode = ViewerMode.Excel
Case Else
_ViewerMode = ViewerMode.GDPicture
End Select
End Sub
Private Sub FreeFile()
Try
If Len(_FilePath) OrElse _Fileinfo Is Nothing Then
Exit Sub
End If
Dim oExtension As String = _Fileinfo.Extension.ToUpper
Select Case oExtension.ToUpper
Case ".MSG"
Select Case _ViewerMode
Case ViewerMode.RichText
RichEditControl1.CreateNewDocument()
Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT"
RichEditControl1.CreateNewDocument()
Case ".XLSX", ".XLS", "CSV"
Case ViewerMode.Excel
SpreadsheetControl1.CreateNewDocument()
Case Else
@@ -151,7 +171,7 @@ Public Class DocumentViewer
End Sub
Private Function DoLoadFile(FilePath As String) As Boolean
Try
Dim oFileInfo = New IO.FileInfo(FilePath)
Dim oFileInfo = New FileInfo(FilePath)
Dim oExtension As String = oFileInfo.Extension.ToUpper
RichEditControl1.Visible = False
@@ -160,7 +180,7 @@ Public Class DocumentViewer
SpreadsheetControl1.Visible = False
SpreadsheetControl1.Dock = DockStyle.None
ToolbarDocumentViewer.Visible = False
'ToolbarDocumentViewer.Visible = False
Select Case oExtension.ToUpper
Case ".MSG"
@@ -194,7 +214,7 @@ Public Class DocumentViewer
SpreadsheetControl1.Dock = DockStyle.Fill
Case Else
ToolbarDocumentViewer.Visible = True
'ToolbarDocumentViewer.Visible = True
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
@@ -219,7 +239,7 @@ Public Class DocumentViewer
SpreadsheetControl1.Visible = False
SpreadsheetControl1.Dock = DockStyle.None
ToolbarDocumentViewer.Visible = False
' ToolbarDocumentViewer.Visible = False
Select Case Extension.ToUpper
Case ".MSG"
@@ -241,6 +261,7 @@ Public Class DocumentViewer
Case ".EML", ".DOC", ".DOCX", ".ODT", ".RTF", ".TXT"
RichEditControl1.LoadDocument(Stream, GetDocumentFormat(Extension))
RichEditControl1.ActiveViewType = XtraRichEdit.RichEditViewType.PrintLayout
RichEditControl1.Visible = True
RichEditControl1.Dock = DockStyle.Fill
@@ -254,7 +275,7 @@ Public Class DocumentViewer
SpreadsheetControl1.Dock = DockStyle.Fill
Case Else
ToolbarDocumentViewer.Visible = True
'ToolbarDocumentViewer.Visible = True
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
GdViewer.DocumentAlignment = ViewerDocumentAlignment.DocumentAlignmentTopCenter
@@ -348,6 +369,61 @@ Public Class DocumentViewer
Private Sub UpdateMainUi()
Select Case _ViewerMode
Case ViewerMode.GDPicture
buttonPrint.Enabled = True
buttonFitWidth.Enabled = True
buttonFitPage.Enabled = True
buttonZoomIn.Enabled = True
buttonZoomOut.Enabled = True
buttonRotateLeft.Enabled = True
buttonRotateRight.Enabled = True
buttonFlipX.Enabled = True
buttonFlipY.Enabled = True
buttonFirstPage.Enabled = True
buttonPrevPage.Enabled = True
buttonNextPage.Enabled = True
buttonLastPage.Enabled = True
buttonSettings.Enabled = True
txtCurrentPage.Enabled = True
Case ViewerMode.RichText
buttonFitPage.Enabled = True
buttonZoomIn.Enabled = True
buttonZoomOut.Enabled = True
buttonFitWidth.Enabled = True
buttonNextPage.Enabled = True
buttonPrevPage.Enabled = True
buttonPrint.Enabled = False
buttonRotateLeft.Enabled = False
buttonRotateRight.Enabled = False
buttonFlipX.Enabled = False
buttonFlipY.Enabled = False
buttonFirstPage.Enabled = False
buttonLastPage.Enabled = False
buttonSettings.Enabled = False
txtCurrentPage.Enabled = False
Case ViewerMode.Excel
buttonPrint.Enabled = False
buttonFitWidth.Enabled = False
buttonFitPage.Enabled = False
buttonZoomIn.Enabled = False
buttonZoomOut.Enabled = False
buttonRotateLeft.Enabled = False
buttonRotateRight.Enabled = False
buttonFlipX.Enabled = False
buttonFlipY.Enabled = False
buttonFirstPage.Enabled = False
buttonPrevPage.Enabled = False
buttonNextPage.Enabled = False
buttonLastPage.Enabled = False
buttonSettings.Enabled = False
txtCurrentPage.Enabled = False
End Select
End Sub
Private Sub btnFirstPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonFirstPage.ItemClick
@@ -355,11 +431,21 @@ Public Class DocumentViewer
End Sub
Private Sub btnPreviousPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonPrevPage.ItemClick
GdViewer.DisplayPreviousPage()
If _ViewerMode = ViewerMode.GDPicture Then
GdViewer.DisplayPreviousPage()
ElseIf _ViewerMode = ViewerMode.RichText Then
Dim oCmd As New PreviousPageCommand(RichEditControl1)
oCmd.Execute()
End If
End Sub
Private Sub btnNextPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonNextPage.ItemClick
GdViewer.DisplayNextPage()
If _ViewerMode = ViewerMode.GDPicture Then
GdViewer.DisplayNextPage()
ElseIf _ViewerMode = ViewerMode.RichText Then
Dim oCmd As New NextPageCommand(RichEditControl1)
oCmd.Execute()
End If
End Sub
Private Sub btnLastPage_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonLastPage.ItemClick
@@ -387,15 +473,25 @@ Public Class DocumentViewer
End If
End Sub
Private Sub btnZoomOut_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonZoomOut.ItemClick
GdViewer.ZoomOUT()
Private Sub btnZoomOut_Click(sender As Object, e As EventArgs) Handles buttonZoomOut.ItemClick
If _ViewerMode = ViewerMode.GDPicture Then
GdViewer.ZoomOUT()
ElseIf _ViewerMode = ViewerMode.RichText Then
Dim oCmd As New ZoomOutCommand(RichEditControl1)
oCmd.Execute()
End If
End Sub
Private Sub btnZoomIn_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonZoomIn.ItemClick
GdViewer.ZoomIN()
Private Sub btnZoomIn_Click(sender As Object, e As EventArgs) Handles buttonZoomIn.ItemClick
If _ViewerMode = ViewerMode.GDPicture Then
GdViewer.ZoomIN()
ElseIf _ViewerMode = ViewerMode.RichText Then
Dim oCmd As New ZoomInCommand(RichEditControl1)
oCmd.Execute()
End If
End Sub
Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonPrint.ItemClick
Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles buttonPrint.ItemClick
If GdViewer.PageCount = 0 Then
Return
End If
@@ -403,19 +499,19 @@ Public Class DocumentViewer
GdViewer.PrintDialog()
End Sub
Private Sub btnRotateLeft_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonRotateLeft.ItemClick
Private Sub btnRotateLeft_Click(sender As Object, e As EventArgs) Handles buttonRotateLeft.ItemClick
GdViewer.Rotate(RotateFlipType.Rotate270FlipNone)
End Sub
Private Sub btnRotateRight_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonRotateRight.ItemClick
Private Sub btnRotateRight_Click(sender As Object, e As EventArgs) Handles buttonRotateRight.ItemClick
GdViewer.Rotate(RotateFlipType.Rotate90FlipNone)
End Sub
Private Sub btnFlipX_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonFlipX.ItemClick
Private Sub btnFlipX_Click(sender As Object, e As EventArgs) Handles buttonFlipX.ItemClick
GdViewer.Rotate(RotateFlipType.RotateNoneFlipX)
End Sub
Private Sub btnFlipY_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles buttonFlipY.ItemClick
Private Sub btnFlipY_Click(sender As Object, e As EventArgs) Handles buttonFlipY.ItemClick
GdViewer.Rotate(RotateFlipType.RotateNoneFlipY)
End Sub
@@ -469,11 +565,21 @@ Public Class DocumentViewer
End Sub
Private Sub btnFitWidth_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonFitWidth.ItemClick
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
If _ViewerMode = ViewerMode.GDPicture Then
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeWidthViewer
ElseIf _ViewerMode = ViewerMode.RichText Then
Dim oCmd As New FitWidthCommand(RichEditControl1)
oCmd.Execute()
End If
End Sub
Private Sub btnFitPage_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonFitPage.ItemClick
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeFitToViewer
If _ViewerMode = ViewerMode.GDPicture Then
GdViewer.ZoomMode = ViewerZoomMode.ZoomModeFitToViewer
ElseIf _ViewerMode = ViewerMode.RichText Then
Dim oCmd As New FitToPageCommand(RichEditControl1)
oCmd.Execute()
End If
End Sub
Private Sub RichEditControl1_SizeChanged(sender As Object, e As EventArgs) Handles RichEditControl1.SizeChanged

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.5.0.0")>
<Assembly: AssemblyFileVersion("1.5.0.0")>
<Assembly: AssemblyVersion("1.6.0.0")>
<Assembly: AssemblyFileVersion("1.6.0.0")>

View File

@@ -52,7 +52,7 @@ Partial Class Form1
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(12, 38)
Me.Button2.Location = New System.Drawing.Point(12, 67)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(637, 23)
Me.Button2.TabIndex = 2
@@ -61,7 +61,7 @@ Partial Class Form1
'
'Button3
'
Me.Button3.Location = New System.Drawing.Point(12, 67)
Me.Button3.Location = New System.Drawing.Point(12, 96)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(637, 23)
Me.Button3.TabIndex = 2
@@ -70,7 +70,7 @@ Partial Class Form1
'
'Button4
'
Me.Button4.Location = New System.Drawing.Point(12, 96)
Me.Button4.Location = New System.Drawing.Point(12, 125)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(637, 23)
Me.Button4.TabIndex = 3

View File

@@ -2,6 +2,7 @@
Imports DevExpress.XtraEditors
Imports DevExpress.XtraLayout
Imports DevExpress.XtraTab
Imports DigitalData.Modules.Language.Utils
Public Class ClassDetailPages
Public Items As New Dictionary(Of String, DetailPage)
@@ -62,7 +63,7 @@ Public Class ClassDetailPages
Dim oNullable As Boolean = oColumn.AllowDBNull
If oNullable = False And NotNull(oControl.EditValue, String.Empty) = String.Empty Then
If oNullable = False And NotNull(oControl.EditValue.ToString, String.Empty) = String.Empty Then
Throw New NoNullAllowedException()
End If
End If

View File

@@ -4,6 +4,7 @@ Imports DevExpress.XtraEditors.Repository
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Grid
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.GUIs.ZooFlow.Administration.ClassConstants
Imports DevExpress.XtraGrid

View File

@@ -1,5 +1,6 @@
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language.Utils
Public Class ClassDataASorDB
Private _Logger As Logger

View File

@@ -7,6 +7,7 @@ Imports System.Security.Principal
Imports System.Text.RegularExpressions
Imports DigitalData.GUIs.GlobalIndexer
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.Controls.LookupGrid
Imports Independentsoft

View File

@@ -2,19 +2,6 @@
Imports System.Text.RegularExpressions
Module ModuleHelpers
''' <summary>
''' Überprüft einen Wert auf verschiedene Arten von "Null" und gibt einen Standard-Wert zurück, wenn der Wert "Null" ist.
''' </summary>
''' <param name="value">Der zu überprüfende Wert</param>
''' <param name="defaultValue">Der Standard Wert</param>
''' <returns>value oder wenn dieser "Null" ist, defaultValue</returns>
Public Function NotNull(Of T)(ByVal value As T, ByVal defaultValue As T) As T
If IsNothing(value) OrElse String.IsNullOrEmpty(value.ToString) OrElse IsDBNull(value) Then
Return defaultValue
Else
Return value
End If
End Function
Public Function encode_utf8(ByVal str As String) As String
Try
'supply True as the construction parameter to indicate

View File

@@ -8,6 +8,7 @@ Imports DigitalData.GUIs.ZooFlow.ClassConstants
Imports DigitalData.GUIs.ZooFlow.ClipboardWatcher
Imports DigitalData.Modules
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.Modules.Messaging
Imports DigitalData.Modules.Windows