aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Stubs/ViewModels/CodeTabVM.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-07-03 16:36:54 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-07-03 16:36:54 +0300
commit856773f7eafb9d04500ede0cfae9c0e75231418b (patch)
treed1b4f9577b5a47dd10fa7243823fd1016de1418e /Software/Visual_Studio/Tango.Stubs/ViewModels/CodeTabVM.cs
parent94e4072838c235be4d48a4635e47204a39cdd78b (diff)
downloadTango-856773f7eafb9d04500ede0cfae9c0e75231418b.tar.gz
Tango-856773f7eafb9d04500ede0cfae9c0e75231418b.zip
Implemented StubsView & VM !!!
Diffstat (limited to 'Software/Visual_Studio/Tango.Stubs/ViewModels/CodeTabVM.cs')
-rw-r--r--Software/Visual_Studio/Tango.Stubs/ViewModels/CodeTabVM.cs113
1 files changed, 113 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Stubs/ViewModels/CodeTabVM.cs b/Software/Visual_Studio/Tango.Stubs/ViewModels/CodeTabVM.cs
new file mode 100644
index 000000000..7e27259a4
--- /dev/null
+++ b/Software/Visual_Studio/Tango.Stubs/ViewModels/CodeTabVM.cs
@@ -0,0 +1,113 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Core.Commands;
+using Tango.Scripting;
+using Tango.SharedUI;
+
+namespace Tango.Stubs.ViewModels
+{
+ /// <summary>
+ /// Represents a single script editor tab view model;
+ /// </summary>
+ /// <seealso cref="Tango.SharedUI.ViewModel" />
+ public class CodeTabVM : ViewModel
+ {
+ private String _title;
+ /// <summary>
+ /// Gets or sets the script title/file name.
+ /// </summary>
+ public String Title
+ {
+ get
+ {
+ return File != null ? Path.GetFileName(File) : _title;
+ }
+ set
+ {
+ _title = value;
+ RaisePropertyChanged(nameof(Title));
+ }
+ }
+
+ private String _file;
+ /// <summary>
+ /// Gets or sets the full script file path.
+ /// </summary>
+ public String File
+ {
+ get { return _file; }
+ set
+ {
+ _file = value;
+ RaisePropertyChanged(nameof(File));
+ RaisePropertyChanged(nameof(Title));
+ }
+ }
+
+ private String _code;
+ /// <summary>
+ /// Gets or sets the script code.
+ /// </summary>
+ public String Code
+ {
+ get { return _code; }
+ set { _code = value; RaisePropertyChanged(nameof(Code)); }
+ }
+
+ private bool _isRunning;
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is running.
+ /// </summary>
+ public bool IsRunning
+ {
+ get { return _isRunning; }
+ set { _isRunning = value; RaisePropertyChangedAuto(); }
+ }
+
+ private RelayCommand _insertCodeSnippetCommand;
+ /// <summary>
+ /// Gets or sets the insert snippet command. (Inserts stub snippet to editor)
+ /// </summary>
+ public RelayCommand InsertSnippetCommand
+ {
+ get { return _insertCodeSnippetCommand; }
+ set { _insertCodeSnippetCommand = value; RaisePropertyChanged(nameof(InsertSnippetCommand)); }
+ }
+
+ private ObservableCollection<CompilerError> _errors;
+ /// <summary>
+ /// Gets or sets the errors.
+ /// </summary>
+ public ObservableCollection<CompilerError> Errors
+ {
+ get { return _errors; }
+ set { _errors = value; RaisePropertyChangedAuto(); }
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="CodeTabVM"/> class.
+ /// </summary>
+ public CodeTabVM()
+ {
+ Title = "untitled";
+ Code = Properties.Resources.CodeTabTemplate;
+ Errors = new ObservableCollection<CompilerError>();
+ }
+
+ /// <summary>
+ /// Returns a <see cref="System.String" /> that represents this instance.
+ /// </summary>
+ /// <returns>
+ /// A <see cref="System.String" /> that represents this instance.
+ /// </returns>
+ public override string ToString()
+ {
+ return Title;
+ }
+ }
+}