public LogTabPage AddLogPage(string text) { LogTabPage page = new LogTabPage(); page.Text = text; _tabControlLogContainer.TabPages.Add(page); return page; }
internal BookLogAppender(LogTabPage page, ExecutionContext context) { Contract.Requires(page != null); Contract.Requires(context != null); _page = page; _context = context; _context.NewText += OnNewText; _context.BookChanged += OnBookChanged; }
internal void SetConsumer(LogTabPage page) { Contract.Requires(page != null); if (_page == null) { _sync = new SemaphoreSlim(0); Tuple<Level, string> tuple; while (_cache.TryDequeue(out tuple)) { page.Append(tuple.Item1, tuple.Item2); } _page = page; _cache = null; _sync.Release(); } }