aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Editors
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-07-31 19:08:06 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-07-31 19:08:06 +0300
commit9bf8c48e19a83ed6e2d2612dea8e990c3a05d4a0 (patch)
tree9c4f9ed988fdb40b8979c7c577d11f07719bc962 /Software/Visual_Studio/Scripting/Tango.Scripting.Editors
parent189ff76dbf70db47e3da9db6dd0cb6bf98eaf1bc (diff)
downloadTango-9bf8c48e19a83ed6e2d2612dea8e990c3a05d4a0.tar.gz
Tango-9bf8c48e19a83ed6e2d2612dea8e990c3a05d4a0.zip
Implemented first procedure code editor loading block progress.
Diffstat (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.Editors')
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Editors/ScriptEditor.cs21
1 files changed, 21 insertions, 0 deletions
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<CachedUsing> _cachedUsings;
private static bool _isLoadingCachedAssemblies;
private static bool _isCacheAssembliesLoaded;
+ private static bool _isUsingsLoadingStarted;
private static object _loadUsingsLock = new object();
private static List<SnippetCompletionItem> 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());
+ }
}
}