diff options
Diffstat (limited to 'Software/Visual_Studio/Tango.Stubs/ViewModels/CodeTabVM.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.Stubs/ViewModels/CodeTabVM.cs | 113 |
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; + } + } +} |
