LogFileViewer.FilterEditorDialog.FilterEditorDialog C# (CSharp) Method

FilterEditorDialog() public method

public FilterEditorDialog ( LogMessage message, LogMessageFilter filter ) : System
message GSF.Diagnostics.LogMessage
filter LogFileViewer.Filters.LogMessageFilter
return System
        public FilterEditorDialog(LogMessage message, LogMessageFilter filter)
        {
            if (message == null)
                throw new ArgumentNullException(nameof(message));
            if (filter == null)
                throw new ArgumentNullException(nameof(filter));

            m_sampleMessage = message;
            m_filter = new LogMessageFilter();
            m_filter.FilterLevel = filter.FilterLevel;
            m_filter.TimeFilter = filter.TimeFilter ?? new TimestampMatching(TimestampMatchingMode.Inside, message.UtcTime.AddMinutes(-1), message.UtcTime.AddMinutes(1));
            m_filter.Classification = filter.Classification ?? new EnumMatchingFlags(EnumMatchingFlagsMode.Any, 1 << (int)message.Classification, message.Classification.ToString());
            m_filter.Level = filter.Level ?? new EnumMatchingFlags(EnumMatchingFlagsMode.Any, 1 << (int)message.Level, message.Level.ToString());
            m_filter.Flags = filter.Flags ?? new EnumMatchingFlags(EnumMatchingFlagsMode.All, (int)message.Flags, message.Flags.ToString());
            m_filter.Assembly = filter.Assembly ?? new StringMatching(StringMatchingMode.Exact, message.AssemblyName);
            m_filter.Type = filter.Type ?? new StringMatching(StringMatchingMode.Exact, message.TypeName);
            m_filter.RelatedType = filter.RelatedType ?? new StringMatching(StringMatchingMode.Exact, message.TypeName);
            m_filter.StackDetails = filter.StackDetails ?? new StackDetailsMatching();
            m_filter.StackTraceDetails = filter.StackTraceDetails ?? new StackTraceMatching();
            m_filter.EventName = filter.EventName ?? new StringMatching(StringMatchingMode.Exact, message.EventName);
            m_filter.MessageText = filter.MessageText ?? new StringMatching(StringMatchingMode.Exact, message.Message);
            m_filter.DetailsText = filter.DetailsText ?? new StringMatching(StringMatchingMode.Exact, message.Details);
            m_filter.ExceptionText = filter.ExceptionText ?? new StringMatching(StringMatchingMode.Exact, message.ExceptionString);

            InitializeComponent();

            chkTime.Checked = filter.TimeFilter != null;
            chkClass.Checked = filter.Classification != null;
            chkLevel.Checked = filter.Level != null;
            chkFlags.Checked = filter.Flags != null;
            chkAssembly.Checked = filter.Assembly != null;
            chkType.Checked = filter.Type != null;
            chkRelatedType.Checked = filter.RelatedType != null;
            chkStackDetails.Checked = filter.StackDetails != null;
            chkStackTrace.Checked = filter.StackTraceDetails != null;
            chkEventName.Checked = filter.EventName != null;
            chkMessage.Checked = filter.MessageText != null;
            chkDetails.Checked = filter.DetailsText != null;
            chkException.Checked = filter.ExceptionText != null;

            lblTime.Text = m_filter.TimeFilter.ToString();
            lblClass.Text = m_filter.Classification.ToString();
            lblLevel.Text = m_filter.Level.ToString();
            lblFlags.Text = m_filter.Flags.ToString();
            lblAssembly.Text = m_filter.Assembly.ToString();
            lblType.Text = m_filter.Type.ToString();
            lblRelatedType.Text = m_filter.RelatedType.ToString();
            lblStackDetails.Text = m_filter.StackDetails.ToString();
            lblStackTrace.Text = m_filter.StackTraceDetails.ToString();
            lblEventName.Text = m_filter.EventName.ToString();
            lblMessage.Text = m_filter.MessageText.ToString();
            lblDetails.Text = m_filter.DetailsText.ToString();
            lblException.Text = m_filter.ExceptionText.ToString();

            cmbVerbose.SelectedIndex = (int)m_filter.FilterLevel;
            chkMessage.Checked = filter.MessageText != null;
            chkMessage.Tag = filter.MessageText ?? new StringMatching(StringMatchingMode.Exact, message.Message);
        }