ZooFlow: PropertyDialog, ContextMenu, Async Queries in Database
This commit is contained in:
69
GUIs.Common/DocumentPropertyMenu/DocumentPropertyMenu.vb
Normal file
69
GUIs.Common/DocumentPropertyMenu/DocumentPropertyMenu.vb
Normal 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
|
||||
Reference in New Issue
Block a user