# HG changeset patch
# User cin
# Date 2014-04-16 23:05:53
# Node ID d10034588e38cfa0c89d484914695cc6eca2b3dc
# Parent  3ba6778ed3364554405562bae4c2ac3cd89c5b2f
initial work on interactive logger
diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -11,3 +11,5 @@ Implab.Fx/bin/
 Implab.Fx.Test/bin/
 Implab.Fx.Test/obj/
 _ReSharper.Implab/
+Implab.Diagnostics.Interactive/bin/
+Implab.Diagnostics.Interactive/obj/
diff --git a/Implab.Diagnostics.Interactive/Implab.Diagnostics.Interactive.csproj b/Implab.Diagnostics.Interactive/Implab.Diagnostics.Interactive.csproj
new file mode 100644
--- /dev/null
+++ b/Implab.Diagnostics.Interactive/Implab.Diagnostics.Interactive.csproj
@@ -0,0 +1,83 @@
+
+
+  
+  
+    Debug
+    AnyCPU
+    {1DB7DB0C-8AA9-484B-A681-33AE94038391}
+    Library
+    Properties
+    Implab.Diagnostics.Interactive
+    Implab.Diagnostics.Interactive
+    v4.5
+    512
+  
+  
+    true
+    full
+    false
+    bin\Debug\
+    DEBUG;TRACE
+    prompt
+    4
+  
+  
+    pdbonly
+    true
+    bin\Release\
+    TRACE
+    prompt
+    4
+  
+  
+    
+    
+    
+    
+    
+    
+    
+    
+    
+  
+  
+    
+    
+    
+    
+      Form
+    
+    
+      TraceForm.cs
+    
+    
+      UserControl
+    
+    
+      TraceViewControl.cs
+    
+    
+  
+  
+    
+      {f550f1f8-8746-4ad0-9614-855f4c4b7f05}
+      Implab
+    
+  
+  
+    
+      TraceForm.cs
+    
+    
+      TraceViewControl.cs
+    
+  
+  
+  
+
\ No newline at end of file
diff --git a/Implab.Diagnostics.Interactive/InteractiveTracer.cs b/Implab.Diagnostics.Interactive/InteractiveTracer.cs
new file mode 100644
--- /dev/null
+++ b/Implab.Diagnostics.Interactive/InteractiveTracer.cs
@@ -0,0 +1,55 @@
+using Implab.Parallels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Implab.Diagnostics.Interactive
+{
+    public class InteractiveTracer: Disposable
+    {
+        TraceForm m_form;
+        SynchronizationContext m_syncGuiThread;
+        readonly IPromiseBase m_completed;
+        readonly Promise