Imports DevExpress.XtraBars.Docking2010 Imports System.ComponentModel Imports DigitalData.GUIs.ClientSuite.ClassLayout Imports System.IO Imports DigitalData.Modules.Logging Imports DigitalData.Modules.License Imports DevExpress.LookAndFeel Imports DevExpress.XtraBars.Ribbon Imports DevExpress.XtraBars.Docking Imports DevExpress.XtraGrid Imports DevExpress.XtraBars.Docking2010.Views Public Class frmMain Private _PanelManager As ClassPanelManager Private _Timer As ClassTimer Private _Loading As Boolean = True Public Sub New() ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() ' Show splashscreen frmSplash.ShowDialog() ' Initialize Form Related Variables My.MainForm = Me ' Initialize Common Functions My.Common = New ClassCommon(My.LogConfig) End Sub Private Sub SetOnlineLabel(Online As Boolean) If Online Then LabelServiceOnline.Visibility = DevExpress.XtraBars.BarItemVisibility.Always LabelServiceOffline.Visibility = DevExpress.XtraBars.BarItemVisibility.Never Else LabelServiceOnline.Visibility = DevExpress.XtraBars.BarItemVisibility.Never LabelServiceOffline.Visibility = DevExpress.XtraBars.BarItemVisibility.Always End If End Sub Private Sub HandleOnlineChanged(sender As Object, Online As Boolean) SetOnlineLabel(Online) End Sub Private Sub FrmMain_Load(sender As Object, e As EventArgs) Handles Me.Load Try ' Initialize Main Timer _Timer = New ClassTimer(My.LogConfig, Me, My.SysConfig.HeartbeatInterval) AddHandler _Timer.OnlineChanged, AddressOf HandleOnlineChanged ' Initialize Panel Manager _PanelManager = New ClassPanelManager(My.LogConfig, DocumentManager, DockManager) ' Show Service Status Label SetOnlineLabel(True) ' Apply Selected Skin Style UserLookAndFeel.Default.SetSkinStyle(My.UIConfig.SkinName) ' Show User Info LabelCurrentUser.Caption = My.Application.User.UserName LabelCurrentMachine.Caption = My.Application.User.MachineName LabelCurrentVersion.Caption = My.Application.Info.Version.ToString LabelCurrentLanguage.Caption = My.Application.User.Language ' Load and Save Layout AddHandler UserLookAndFeel.Default.StyleChanged, AddressOf frmMain_StyleChanged LoadLayout() ' We're done loading now _Loading = False Catch ex As Exception ShowErrorMessage(ex) End Try End Sub Private Sub FrmMain_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing SaveLayout() End Sub Private Sub frmMain_StyleChanged(sender As Object, e As EventArgs) Handles Me.StyleChanged If _Loading = False Then My.UIConfig.SkinName = LookAndFeel.ActiveSkinName My.UIConfigManager.Save() End If End Sub Private Sub LoadLayout() Try Dim oLayoutPathForDockManager As String = GetLayoutPath(GroupName.LayoutMain, LayoutComponent.DockManager) Dim oLayoutPathForDocumentManager As String = GetLayoutPath(GroupName.LayoutMain, LayoutComponent.DocumentManager) If File.Exists(oLayoutPathForDockManager) Then 'DockManager.RestoreLayoutFromXml(oLayoutPathForDockManager) End If If File.Exists(oLayoutPathForDocumentManager) Then 'DocumentManager.View.RestoreLayoutFromXml(oLayoutPathForDocumentManager) End If Catch ex As Exception ShowErrorMessage(ex) End Try End Sub Private Sub SaveLayout() Try Dim oLayoutPathForDockManager As String = GetLayoutPath(GroupName.LayoutMain, LayoutComponent.DockManager) Dim oLayoutPathForDocumentManager As String = GetLayoutPath(GroupName.LayoutMain, LayoutComponent.DocumentManager) Dim oDirectory As String = GetLayoutDirectory() If Not Directory.Exists(oDirectory) Then Directory.CreateDirectory(oDirectory) End If 'DockManager.SaveLayoutToXml(oLayoutPathForDockManager) 'DocumentManager.View.SaveLayoutToXml(oLayoutPathForDocumentManager) Catch ex As Exception ShowErrorMessage(ex) End Try End Sub Private Sub BarButtonUserSettings_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonUserSettings.ItemClick Dim frm As New frmConfigUser() frm.MdiParent = DocumentManager.MdiParent frm.Show() End Sub Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick Dim frm As New frmFileTest() frm.MdiParent = DocumentManager.MdiParent frm.Show() End Sub Private Sub BarButtonFormDesigner_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonFormDesigner.ItemClick Dim oForm As New frmFormDesigner() oForm.MdiParent = DocumentManager.MdiParent oForm.Show() End Sub Private Sub BarButtonConnectionSettings_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonConnectionSettings.ItemClick Dim frm As New frmConfigService() frm.MdiParent = DocumentManager.MdiParent frm.Show() End Sub Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick Dim oUser1 = LicenseCreator.NewUser(UserType.PowerUser, 5) Dim oUser2 = LicenseCreator.NewUser(UserType.WriteOnly, 5, Date.Now) Dim oUsers As New List(Of LicenseModuleUser) oUsers.Add(oUser1) oUsers.Add(oUser2) Dim oModule = LicenseCreator.NewModule("EDMI", oUsers) Dim oModules As New List(Of LicenseModule) oModules.Add(oModule) Dim oLicense = LicenseCreator.NewLicense(oModules) Dim oLicenseFile As New LicenseFile(My.LogConfig, "E:\") oLicenseFile.SaveFile(oLicense) Dim oSerializer As New Xml.Serialization.XmlSerializer(GetType(LicenseSchema)) Dim oLicense2 As LicenseSchema oLicense2 = oLicenseFile.LoadFile() End Sub Private Sub BarButtonUserManager_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonUserManager.ItemClick Dim oForm As New frmUserManager() oForm.MdiParent = DocumentManager.MdiParent oForm.Show() End Sub ' Manually merge the status bars of the parent and child MDI forms. Private Sub RibbonControl1_Merge(ByVal sender As System.Object, ByVal e As RibbonMergeEventArgs) Handles RibbonControl.Merge Dim oParentRibbon As RibbonControl = TryCast(sender, RibbonControl) Dim oChildRibbon As RibbonControl = e.MergedChild oParentRibbon.StatusBar.MergeStatusBar(oChildRibbon.StatusBar) End Sub ' Manually unmerge the status bars. Private Sub RibbonControl1_UnMerge(ByVal sender As System.Object, ByVal e As RibbonMergeEventArgs) Handles RibbonControl.UnMerge Dim oParentRibbon As RibbonControl = TryCast(sender, RibbonControl) oParentRibbon.StatusBar.UnMergeStatusBar() End Sub Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick Dim frm As New frmDocTest With { .MdiParent = DocumentManager.MdiParent } frm.Show() End Sub Private Sub BarButtonInbox_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Dim oForm As New frmHome With { .MdiParent = DocumentManager.MdiParent } oForm.Show() End Sub Private Sub MainNav_SelectedItemChanging(sender As Object, e As DevExpress.XtraBars.Navigation.SelectedItemChangingEventArgs) Handles MainNav.SelectedItemChanging Select Case e.Item.Name Case NavbarItemHome.Name Dim oForm As New frmHome() oForm.MdiParent = DocumentManager.MdiParent oForm.Show() Case NavbarItemSearch.Name Dim oForm As New frmSearch() oForm.MdiParent = DocumentManager.MdiParent oForm.Show() End Select e.Cancel = True End Sub Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick Dim oForm As New frmWorkflowStep(142) With { .MdiParent = DocumentManager.MdiParent } oForm.Show() End Sub End Class