diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2018-03-09 10:35:06 +0100 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2018-03-09 10:35:06 +0100 |
| commit | 844e586b634cacacce0abdf8bf5d0f4bf8fb58c1 (patch) | |
| tree | dda778194ac4c10d15159eb68835fd25f4afbf79 /CrowIDE/src/DesignInterface.cs | |
| parent | 50c1a39395af0123771c1572e004cd77fef10af8 (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.cs | 31 |
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 + } } } |