ZooFlow: PropertyDialog, ContextMenu, Async Queries in Database

This commit is contained in:
Jonathan Jenne
2020-10-29 16:05:10 +01:00
parent aaafb99275
commit 7750fdf6a5
18 changed files with 433 additions and 114 deletions

View File

@@ -0,0 +1,69 @@
Imports System.Windows.Forms
Imports DevExpress.Utils.Menu
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.ZooFlow
Public Class DocumentPropertyMenu
Private ReadOnly _Logger As Logger
Private ReadOnly _LogConfig As LogConfig
Private ReadOnly _Environment As Environment
Private ReadOnly _FilePath As String
Private ReadOnly _ObjectId As Long
Public Sub New(LogConfig As LogConfig, Environment As Environment, FilePath As String, Optional ObjectId As Long = 0)
_LogConfig = LogConfig
_Logger = LogConfig.GetLogger()
_Environment = Environment
_FilePath = FilePath
_ObjectId = ObjectId
End Sub
Public Function GetMenuItems() As List(Of DXMenuItem)
Dim oOpenFile = New DXMenuItem("Datei öffnen", AddressOf OpenFile_Click)
Dim oOpenFolder = New DXMenuItem("Ordner öffnen", AddressOf OpenFolder_Click)
Dim oCopyPath = New DXMenuItem("Pfad kopieren", AddressOf CopyPath_Click)
Dim oProperties = New DXMenuItem("Eigenschaften", AddressOf Properties_Click)
Return New List(Of DXMenuItem) From {
oOpenFile,
oOpenFolder,
oCopyPath,
oProperties
}
End Function
Public Sub Properties_Click(sender As Object, e As EventArgs)
If _ObjectId = 0 Then
Exit Sub
End If
Dim oPropertyDialog As New frmObjectPropertyDialog(_LogConfig, _Environment, _ObjectId)
oPropertyDialog.Show()
End Sub
Public Sub CopyPath_Click(sender As Object, e As EventArgs)
If IO.File.Exists(_FilePath) Then
Clipboard.SetText(_FilePath)
Else
MessageBox.Show($"Datei {_FilePath} existiert nicht oder wurde verschoben!", "Dateipfad kopieren", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
End Sub
Public Sub OpenFile_Click(sender As Object, e As EventArgs)
If IO.File.Exists(_FilePath) Then
Process.Start(_FilePath)
Else
MessageBox.Show($"Datei {_FilePath} existiert nicht oder wurde verschoben!", "Datei öffnen", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
End Sub
Public Sub OpenFolder_Click(sender As Object, e As EventArgs)
If IO.File.Exists(_FilePath) Then
Dim oDirectory = IO.Path.GetDirectoryName(_FilePath)
Process.Start(oDirectory)
Else
MessageBox.Show($"Datei {_FilePath} existiert nicht oder wurde verschoben!", "Ordner öffnen", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
End Sub
End Class