private void DisposeAppender()
 {
     if (appender != null)
     {
         appender.Dispose();
         appender = null;
     }
 }
 private void DisposeAppender()
 {
     if (appender != null)
     {
         appender.Dispose();
         appender = null;
     }
 }
        private void Initialize()
        {
            ThreadSafeTextBoxWrapper wrapper = null;

            if (tb is RichTextBox)
            {
                wrapper = new ThreadSafeRichTextBoxWrapper((RichTextBox)tb);
            }
            else
            {
                wrapper = new ThreadSafeTextBoxWrapper(tb);
            }

            var logService = This.Logger;

            if ((logService != null) && (logService is ITextBoxAppendable))
            {
                var log = (ITextBoxAppendable)logService;
                appender = log.AddLogBox(wrapper, "%date [%thread] (%logger) %-8level- %message%newline");
                if (appender != null)
                {
                    appender.LogThreshold = SelectedLevel;
                }
            }

            var levels = new List <LogLevel>();

            levels.AddRange(Enums <LogLevel> .Values);
            levels.Sort((l1, l2) => (int)l1 - (int)l2);
            levels.ForEach(level => logLevelList.Items.Add(level));

            //TODO: select the log level depending on a settings file.
            logLevelList.SelectedItem = selectedLevel;

            foreach (ToolStripItem item in cm.Items)
            {
                items.Add(item);
            }
            foreach (ToolStripItem item in ts.Items)
            {
                if ((item != logLeveltoolStripLabel) && (item != logLevelList) && (item != toggleWordWrapToolStripButton))
                {
                    items.Add(item);
                }
            }

            UpdateToolStripItems();

            tb.TextChanged += (s, e) => UpdateToolStripItems();
            tb.LinkClicked += (s, e) =>
            {
                // We send the event to our parent.
                if (LinkClicked != null)
                {
                    LinkClicked(this, e);
                }
            };
        }
        private void Initialize()
        {
            ThreadSafeTextBoxWrapper wrapper = new ThreadSafeTextBoxWrapper(tb);

            var logService = This.Logger;
            if ((logService != null) && (logService is ITextBoxAppendable))
            {
                var log = (ITextBoxAppendable)logService;
                appender = log.AddLogBox(wrapper);
                if (appender != null) appender.LogThreshold = SelectedLevel;
            }
        }
        private void Initialize()
        {
            ThreadSafeTextBoxWrapper wrapper = new ThreadSafeTextBoxWrapper(tb);

            var logService = This.Logger;

            if ((logService != null) && (logService is ITextBoxAppendable))
            {
                var log = (ITextBoxAppendable)logService;
                appender = log.AddLogBox(wrapper);
                if (appender != null)
                {
                    appender.LogThreshold = SelectedLevel;
                }
            }
        }
        private void Initialize()
        {
            ThreadSafeTextBoxWrapper wrapper = null;
            if (tb is RichTextBox) wrapper = new ThreadSafeRichTextBoxWrapper((RichTextBox)tb);
            else wrapper = new ThreadSafeTextBoxWrapper(tb);

            var logService = This.Logger;
            if ((logService != null) && (logService is ITextBoxAppendable))
            {
                var log = (ITextBoxAppendable)logService;
                appender = log.AddLogBox(wrapper, "%date [%thread] (%logger) %-8level- %message%newline");
                if (appender != null) appender.LogThreshold = SelectedLevel;
            }

            var levels = new List<LogLevel>();
            levels.AddRange(Enums<LogLevel>.Values);
            levels.Sort((l1, l2) => (int)l1 - (int)l2);
            levels.ForEach(level => logLevelList.Items.Add(level));

            //TODO: select the log level depending on a settings file.
            logLevelList.SelectedItem = selectedLevel;

            foreach (ToolStripItem item in cm.Items) items.Add(item);
            foreach (ToolStripItem item in ts.Items)
            {
                if ((item != logLeveltoolStripLabel) && (item != logLevelList) && (item != toggleWordWrapToolStripButton))
                    items.Add(item);
            }

            UpdateToolStripItems();

            tb.TextChanged += (s, e) => UpdateToolStripItems();
            tb.LinkClicked += (s, e) =>
            {
                // We send the event to our parent.
                if (LinkClicked != null) LinkClicked(this, e);
            };
        }