/// <summary> /// Raises the <see cref="E:System.Windows.Forms.Form.Load"/> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs"/> that contains the event data. </param> protected override void OnLoad(EventArgs e) { base.OnLoad(e); using (new WaitCursor(Cursors.Default, Settings.Default.WaitCursorTimeout)) { try { if (mLogProvider != null && ModifierKeys != Keys.Shift) { string previousLayout = mLogProvider.LoadLayout(); if (!string.IsNullOrEmpty(previousLayout)) { using (MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(previousLayout))) { LogDockPanel.LoadFromXml( memStream , GetContentFromPersistString); } } else { InitializeDefaultLayout(); } } else { InitializeDefaultLayout(); } tsbShowMessageDetails.Checked = mMessageDetails != null && !mMessageDetails.IsHidden; tsbShowLoggerTree.Checked = mLoggerTree != null && !mLoggerTree.IsHidden; tsbShowBookmarks.Checked = mBookmarks != null && !mBookmarks.IsHidden; tsbShowFilter.Checked = mFilter != null && !mFilter.IsHidden; tsbShowStatistic.Checked = mLogStatistic != null && !mLogStatistic.IsHidden; if (mLogProvider != null) { mLogProvider.Initialize(this); tsbShowTrace.Available = (mLogProvider.SupportedLevels & LogLevel.Trace) != 0; tsbShowDebug.Available = (mLogProvider.SupportedLevels & LogLevel.Debug) != 0; tsbShowInfo.Available = (mLogProvider.SupportedLevels & LogLevel.Info) != 0; tsbShowWarn.Available = (mLogProvider.SupportedLevels & LogLevel.Warning) != 0; tsbShowError.Available = (mLogProvider.SupportedLevels & LogLevel.Error) != 0; tsbShowFatal.Available = (mLogProvider.SupportedLevels & LogLevel.Fatal) != 0; if (mLogProvider.SupportedLevels == LogLevel.None) { tslLogLevel.Available = false; tssLogLevel.Available = false; tsbStartPause.Margin = new Padding( SystemInformation.Border3DSize.Width , tsbStartPause.Margin.Top , tsbStartPause.Margin.Right , tsbStartPause.Margin.Bottom); } tsbReload.Available = mLogProvider.SupportsReload; } } finally { // Register the main document as a filter provider. ((ILogFilterHandler)mLogWindow).RegisterFilterProvider(this); // Set the initial focus to the log window. mLogWindow.Activate(); } } }