diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2019-04-09 01:47:48 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2019-04-09 01:47:48 +0300 |
| commit | 080f1697e97e13461ec6df4d31c8924d01257a1b (patch) | |
| tree | b1fe0285de7bc9bc52e9e2195e66fe022bf8f5b3 /Software/Visual_Studio/Scripting/TestApp/MainWindow.xaml.cs | |
| parent | 1608e69a417bc5e40a607c3958c4a60f19f66f1a (diff) | |
| download | Tango-080f1697e97e13461ec6df4d31c8924d01257a1b.tar.gz Tango-080f1697e97e13461ec6df4d31c8924d01257a1b.zip | |
MERGE
Diffstat (limited to 'Software/Visual_Studio/Scripting/TestApp/MainWindow.xaml.cs')
| -rw-r--r-- | Software/Visual_Studio/Scripting/TestApp/MainWindow.xaml.cs | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Scripting/TestApp/MainWindow.xaml.cs b/Software/Visual_Studio/Scripting/TestApp/MainWindow.xaml.cs new file mode 100644 index 000000000..8ae84b20e --- /dev/null +++ b/Software/Visual_Studio/Scripting/TestApp/MainWindow.xaml.cs @@ -0,0 +1,77 @@ +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 = +@" +using System; +using System.Windows.Forms; + +MessageBox.Show(""Hi Roy""); +"; + + 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(); + } + } +} |
