From 9bf8c48e19a83ed6e2d2612dea8e990c3a05d4a0 Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Fri, 31 Jul 2020 19:08:06 +0300 Subject: Implemented first procedure code editor loading block progress. --- .../Tango.Scripting.Editors/ScriptEditor.cs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs') diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs index 8cf615a7c..3c27118e2 100644 --- a/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs @@ -65,6 +65,7 @@ namespace Tango.Scripting.Editors private static List _cachedUsings; private static bool _isLoadingCachedAssemblies; private static bool _isCacheAssembliesLoaded; + private static bool _isUsingsLoadingStarted; private static object _loadUsingsLock = new object(); private static List snippets; @@ -72,6 +73,8 @@ namespace Tango.Scripting.Editors public static event EventHandler LoadingSymbolsStarted; public static event EventHandler LoadingSymbolsCompleted; private static event EventHandler KnownTypesAvailable; + public static event EventHandler UsingsLoadingStarted; + public static event EventHandler UsingsLoadingCompleted; #region Mini Classes @@ -302,6 +305,13 @@ namespace Tango.Scripting.Editors errorMarkerService = new TextMarkerService(Document); TextArea.TextView.BackgroundRenderers.Add(errorMarkerService); TextArea.TextView.LineTransformers.Add(errorMarkerService); + + Unloaded += ScriptEditor_Unloaded; + } + + private void ScriptEditor_Unloaded(object sender, RoutedEventArgs e) + { + _update_timer.Stop(); } private void ScriptEditor_KnownTypesAvailable(object sender, EventArgs e) @@ -1394,6 +1404,12 @@ namespace Tango.Scripting.Editors { if (!_cachedUsings.Exists(x => x.Namespace == use)) { + if (!_isUsingsLoadingStarted) + { + _isUsingsLoadingStarted = true; + UsingsLoadingStarted?.Invoke(this, new EventArgs()); + } + var useFileName = System.IO.Path.Combine(KNOWN_TYPES_CACHE_FOLDER, use + ".json"); if (File.Exists(useFileName)) @@ -1485,6 +1501,11 @@ namespace Tango.Scripting.Editors File.WriteAllText(useFileName, json); }); } + + if (_isUsingsLoadingStarted) + { + UsingsLoadingCompleted?.Invoke(this, new EventArgs()); + } } } -- cgit v1.3.1