93 lines
3.7 KiB
VB.net
93 lines
3.7 KiB
VB.net
Imports DigitalData.Modules.Messaging
|
|
|
|
Public Class frmFlowForm
|
|
Private WithEvents Watcher As ClassClipboardWatcher = ClassClipboardWatcher.Singleton
|
|
Private ActiveModules As List(Of String)
|
|
|
|
Public Event ClipboardChanged As EventHandler(Of IDataObject)
|
|
|
|
Public Sub New(ActiveModules As List(Of String))
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
Me.ActiveModules = ActiveModules
|
|
End Sub
|
|
|
|
Private Sub frmFlowForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
' === Set Form Properties ===
|
|
AllowDrop = True
|
|
ShowInTaskbar = False
|
|
SetFlowFormState(OnFlowFormStateChangedEvent.FlowFormState.Default)
|
|
|
|
' === Register As Event Listener ===
|
|
EventBus.Instance.Register(Me)
|
|
End Sub
|
|
|
|
Private Sub frmFlowForm_Closed(sender As Object, e As EventArgs) Handles Me.Closed
|
|
EventBus.Instance.Unregister(Me)
|
|
End Sub
|
|
|
|
Private Sub frmFlowForm_Click(sender As Object, e As EventArgs) Handles Me.MouseClick
|
|
EventBus.Instance.PostEvent(New OnFlowFormInteractionEvent(OnFlowFormInteractionEvent.FlowFormInteraction.Click))
|
|
End Sub
|
|
Public Sub OnEvent(e As OnFlowFormStateChangedEvent)
|
|
SetFlowFormState(e.State)
|
|
End Sub
|
|
|
|
Public Sub SetFlowFormState(State As OnFlowFormStateChangedEvent.FlowFormState)
|
|
Select Case State
|
|
Case OnFlowFormStateChangedEvent.FlowFormState.HasSearchResults
|
|
SetBitmap(My.Resources.CW_GEFUNDEN_klein)
|
|
Case OnFlowFormStateChangedEvent.FlowFormState.HasFileDropped
|
|
SetBitmap(My.Resources.GLOBIX_GEFUNDEN_klein)
|
|
Case Else
|
|
SetBitmap(My.Resources.ZOOFLOW_Home_klein)
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub frmFlowForm_DragOver(sender As Object, e As DragEventArgs) Handles Me.DragOver
|
|
If Not ActiveModules.Contains(ClassConstants.MODULE_GLOBAL_INDEXER) Then
|
|
e.Effect = DragDropEffects.None
|
|
Else
|
|
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
|
|
' Handle file dragged from Windows
|
|
e.Effect = DragDropEffects.Copy
|
|
SetFlowFormState(OnFlowFormStateChangedEvent.FlowFormState.HasFileDropped)
|
|
ElseIf e.Data.GetDataPresent("FileGroupDescriptor") Then
|
|
' Handle a message dragged from Outlook
|
|
e.Effect = DragDropEffects.Copy
|
|
SetFlowFormState(OnFlowFormStateChangedEvent.FlowFormState.HasFileDropped)
|
|
ElseIf e.Data.GetDataPresent("aryFileGroupDescriptor") AndAlso (e.Data.GetDataPresent("FileContents")) Then
|
|
' Handle a message dragged from Thunderbird?
|
|
e.Effect = DragDropEffects.Copy
|
|
SetFlowFormState(OnFlowFormStateChangedEvent.FlowFormState.HasFileDropped)
|
|
Else
|
|
' Otherwise, do not handle
|
|
e.Effect = DragDropEffects.None
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub frmFlowForm_DragLeave(sender As Object, e As EventArgs) Handles Me.DragLeave
|
|
SetFlowFormState(OnFlowFormStateChangedEvent.FlowFormState.Default)
|
|
End Sub
|
|
|
|
Private Sub Watcher_ClipboardChanged(sender As Object, e As IDataObject) Handles Watcher.ClipboardChanged
|
|
If ActiveModules.Contains(ClassConstants.MODULE_CLIPBOARDWATCHER) Then
|
|
RaiseEvent ClipboardChanged(sender, e)
|
|
End If
|
|
End Sub
|
|
|
|
'''' <summary>
|
|
'''' DragDrop Support
|
|
'''' </summary>
|
|
'Protected Overrides Sub WndProc(ByRef m As Message)
|
|
' If m.Msg = &H84 Then
|
|
' m.Result = CType(2, IntPtr)
|
|
' Return
|
|
' End If
|
|
|
|
' MyBase.WndProc(m)
|
|
'End Sub
|
|
End Class |