diff options
Diffstat (limited to 'Software/Visual_Studio/TEMP/Tango.Scripting/TestApp/MainWindow.xaml.cs')
| -rw-r--r-- | Software/Visual_Studio/TEMP/Tango.Scripting/TestApp/MainWindow.xaml.cs | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/TestApp/MainWindow.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/TestApp/MainWindow.xaml.cs new file mode 100644 index 000000000..59bd4ef50 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/TestApp/MainWindow.xaml.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using Tango.Scripting; + +namespace TestApp +{ + /// <summary> + /// Interaction logic for MainWindow.xaml + /// </summary> + public partial class MainWindow : Window + { + private IScriptingEngine _engine; + private ScriptSession _session; + + public MainWindow() + { + InitializeComponent(); + + _engine = new ScriptingEngine(); + } + + private async void Button_Click(object sender, RoutedEventArgs e) + { + Script s = new Script(); + s.Code = editor.Text; + + try + { + _session = await _engine.Run(s); + _session.StateChanged += Session_StateChanged; + } + catch (Exception ex) + { + MessageBox.Show(ex.ToString()); + } + } + + private void Session_StateChanged(object sender, ScriptSessionStateChangedEventArgs e) + { + if (e.State == ScriptSessionState.Completed) + { + MessageBox.Show(e.ReturnValue.ToString()); + } + else if (e.State == ScriptSessionState.Aborted) + { + MessageBox.Show("Aborted"); + } + else if (e.State == ScriptSessionState.Failed) + { + MessageBox.Show(e.Exception.ToString()); + } + } + + private void Button_Click_1(object sender, RoutedEventArgs e) + { + _session.Abort(); + } + } +} |
