Imports DevExpress.XtraSplashScreen Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Messaging Public Class frmFlowForm ' Constants Private Const OPACITY_INITIAL = 0 Private Const OPACITY_HIDDEN = 0.65 Private Const OPACITY_SHOWN = 0.85 Private ActiveModules As List(Of String) Private Logger As Logger Private Init As ClassInit Private DTIDB_SEARCHES As DataTable ' Runtime Flags Private ApplicationLoading As Boolean = True Private IDBSearchActive As Boolean = False ' Runtime Variables Private ESCHitCount As Integer = 0 ' Events Public Event ClipboardChanged As EventHandler(Of IDataObject) Public Sub New() ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() ' === Hide form initially === Opacity = OPACITY_INITIAL End Sub Private Sub frmFlowForm_Load(sender As Object, e As EventArgs) Handles Me.Load ' === Initialize Logger === Logger = My.LogConfig.GetLogger() ' === Show Splash Screen === SplashScreenManager.ShowForm(Me, GetType(frmSplash), False, False) ' === Initialization === Init = New ClassInit(My.LogConfig, Me) AddHandler Init.Completed, AddressOf Init_Completed Init.InitializeApplication() End Sub Private Sub Init_Completed(sender As Object, e As EventArgs) ' === Initialization Complete === ApplicationLoading = False SplashScreenManager.CloseForm(False) ' === Setup Timers === AddHandler TimerRefreshData.Tick, AddressOf TimerRefreshData_Tick TimerRefreshData.Enabled = True ' === Setup Flow Form === Location = My.UIConfig.FlowForm.Location ' === Register As Event Listener === EventBus.Instance.Register(Me) ' === Set Form Properties === TopMost = True AllowDrop = True ShowInTaskbar = False Opacity = OPACITY_HIDDEN Location = My.UIConfig.FlowForm.Location ' === Setup Event Handlers === AddHandler KeyDown, AddressOf frmFlowForm_KeyDown AddHandler KeyUp, AddressOf frmFlowForm_KeyDown For Each oControl As Control In Controls AddHandler oControl.MouseEnter, AddressOf frmFlowForm_MouseEnter AddHandler oControl.MouseLeave, AddressOf frmFlowForm_MouseLeave Next ' TODO: Clean up Dim oSQL = $"SELECT * FROM [dbo].[FNIDB_GET_SEARCH_PROFILES] ({My.Application.User.UserId},'{My.Application.User.Language}')" Dim oDatatable As DataTable = My.DatabaseIDB.GetDatatable(oSQL) PictureBoxSearch.Visible = False If Not IsNothing(oDatatable) OrElse oDatatable.Rows.Count > 0 Then IDBSearchActive = True DTIDB_SEARCHES = oDatatable PictureBoxSearch.Visible = True End If My.DTAttributes = My.DatabaseIDB.GetDatatable("SELECT * FROM TBIDB_ATTRIBUTE") End Sub Private Sub TimerRefreshData_Tick(sender As Object, e As EventArgs) 'TODO: Refresh Data End Sub Private Sub frmFlowForm_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave Opacity = OPACITY_HIDDEN End Sub Private Sub frmFlowForm_MouseEnter(sender As Object, e As EventArgs) Handles Me.MouseEnter Opacity = OPACITY_SHOWN End Sub Private Sub frmFlowForm_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Me.MouseMove If e.Button = MouseButtons.Left Then ClassWin32.ReleaseCapture() ClassWin32.SendMessage(Handle, ClassWin32.WM_NCLBUTTONDOWN, ClassWin32.HTCAPTION, 0) End If End Sub Private Sub frmFlowForm_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) If e.KeyCode = Keys.Escape Then If ESCHitCount > 0 Then ExitZooflow() Else ESCHitCount += 1 End If ElseIf e.KeyCode = Keys.D AndAlso (e.Control) Then If ActiveModules.Contains(ClassConstants.MODULE_ZOOFLOW) Then MsgBox("Search") End If End If End Sub Sub ExitZooflow() Dim oResult As DialogResult = MessageBox.Show("Exit Zooflow", "Please Varify", MessageBoxButtons.YesNo) If oResult = DialogResult.Yes Then ' Save Settings My.UIConfig.FlowForm.Location = Location My.UIConfigManager.Save() ' Exit Application.Exit() Else ESCHitCount = 0 End If End Sub Public Sub OnEvent(Params As Object) Logger.Debug("OnEvent called!") End Sub Private Sub PictureBoxSearch_Click(sender As Object, e As EventArgs) Handles PictureBoxSearch.Click Dim oForm As New frmSearchStart(DTIDB_SEARCHES) oForm.Show() End Sub Private Sub PictureBoxSearch_MouseEnter(sender As Object, e As EventArgs) Handles PictureBoxSearch.MouseEnter PictureBoxSearch.Image = My.Resources._2_LUPE_AKTIV_ZOO End Sub Private Sub PictureBoxSearch_MouseLeave(sender As Object, e As EventArgs) Handles PictureBoxSearch.MouseLeave PictureBoxSearch.Image = My.Resources._2_LUPE_INAKTIV_ZOO End Sub Private Sub PictureBoxPM_MouseEnter(sender As Object, e As EventArgs) Handles PictureBoxPM.MouseEnter PictureBoxPM.Image = My.Resources._3_PERSON_AKTIV_ZOO End Sub Private Sub PictureBoxPM_MouseLeave(sender As Object, e As EventArgs) Handles PictureBoxPM.MouseLeave PictureBoxPM.Image = My.Resources._3_PERSON_INAKTIV_ZOO End Sub Private Sub PictureBoxGlobix_MouseEnter(sender As Object, e As EventArgs) Handles PictureBoxGlobix.MouseEnter PictureBoxGlobix.Image = My.Resources._4_GLOBIX_AKTIV_ZOO End Sub Private Sub PictureBoxGlobix_MouseLeave(sender As Object, e As EventArgs) Handles PictureBoxGlobix.MouseLeave PictureBoxGlobix.Image = My.Resources._4_GLOBIX_INAKTIV_ZOO End Sub Private Sub ZooFlowBeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ZooFlowBeendenToolStripMenuItem.Click ExitZooflow() End Sub Private Sub AlleAnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlleAnzeigenToolStripMenuItem.Click For Each oControl As Control In Me.Controls oControl.Visible = True Next End Sub Private Sub VerwaltungToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles VerwaltungToolStripMenuItem.Click frmAdministrationZooFlow.Show() End Sub End Class