Пример #1
0
        public override void Run()
        {
            Altaxo.Scripting.IScriptText script = null; // or load it from somewhere

            if (script == null)
            {
                script = new Altaxo.Scripting.ProgramInstanceScript();
            }

            OpenFileDialog odlg = new OpenFileDialog();

            odlg.Title       = "Open a script or press Cancel to create a new script";
            odlg.Filter      = "C# files (*.cs)|*.cs|All files (*.*)|*.*";
            odlg.FilterIndex = 1;
            if (DialogResult.OK == odlg.ShowDialog(Current.MainWindow))
            {
                string scripttext;
                string err = OpenScriptText(odlg.FileName, out scripttext);
                if (null != err)
                {
                    MessageBox.Show(err);
                }
                else
                {
                    script.ScriptText = scripttext;
                }
            }



            object[] args = new object[] { script, new Altaxo.Gui.Scripting.ScriptExecutionHandler(this.EhScriptExecution) };
            if (Current.Gui.ShowDialog(args, "New instance script"))
            {
                string errors = null;
                do
                {
                    errors = null;
                    // store the script somewhere m_Table.TableScript = (TableScript)args[0];
                    SaveFileDialog dlg = new SaveFileDialog();
                    dlg.Title       = "Save your script";
                    dlg.Filter      = "C# files (*.cs)|*.cs|All files (*.*)|*.*";
                    dlg.FilterIndex = 1;
                    if (DialogResult.OK == dlg.ShowDialog(Current.MainWindow))
                    {
                        errors = SaveScriptText(dlg.FileName, script.ScriptText);
                        if (null != errors)
                        {
                            MessageBox.Show(Current.MainWindow, errors);
                        }
                    }
                } while (null != errors);
            }
        }
Пример #2
0
 public bool EhScriptExecution(Altaxo.Scripting.IScriptText script)
 {
     return(((Altaxo.Scripting.ProgramInstanceScript)script).Execute());
 }