aboutsummaryrefslogtreecommitdiffstatsci
path: root/CrowIDE/src/DesignInterface.cs
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-03-09 10:35:06 +0100
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-03-09 10:35:06 +0100
commit844e586b634cacacce0abdf8bf5d0f4bf8fb58c1 (patch)
treedda778194ac4c10d15159eb68835fd25f4afbf79 /CrowIDE/src/DesignInterface.cs
parent50c1a39395af0123771c1572e004cd77fef10af8 (diff)
crow ide toolbox, syntax tree depth and generalize node handling accross parser
Diffstat (limited to 'CrowIDE/src/DesignInterface.cs')
-rw-r--r--CrowIDE/src/DesignInterface.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/CrowIDE/src/DesignInterface.cs b/CrowIDE/src/DesignInterface.cs
index 0ac3e3ba..3c1abf01 100644
--- a/CrowIDE/src/DesignInterface.cs
+++ b/CrowIDE/src/DesignInterface.cs
@@ -26,6 +26,9 @@
using System;
using Crow;
using System.Globalization;
+using System.Threading;
+using System.Collections.Generic;
+using System.Diagnostics;
namespace Crow.Coding
{
@@ -156,6 +159,34 @@ namespace Crow.Coding
HoverWidget = null;
return false;
}
+
+ protected override void processLayouting ()
+ {
+ #if MEASURE_TIME
+ layoutingMeasure.StartCycle();
+ #endif
+
+ if (Monitor.TryEnter (LayoutMutex)) {
+ DiscardQueue = new Queue<LayoutingQueueItem> ();
+ LayoutingQueueItem lqi;
+ while (LayoutingQueue.Count > 0) {
+ lqi = LayoutingQueue.Dequeue ();
+ Console.WriteLine (lqi.ToString ());
+ #if DEBUG_LAYOUTING
+ currentLQI = lqi;
+ curLQIsTries.Add(currentLQI);
+ #endif
+ lqi.ProcessLayouting ();
+ }
+ LayoutingQueue = DiscardQueue;
+ Monitor.Exit (LayoutMutex);
+ DiscardQueue = null;
+ }
+
+ #if MEASURE_TIME
+ layoutingMeasure.StopCycle();
+ #endif
+ }
}
}