public bool ExcecuteCodeAndGenerateDocument(CodeEvaluationEventArgs args) { string theCode = String.Concat(CodeStart, args.Code, CodeEnd); string[] linesOfCode = new string[] { theCode }; return(CompileAndRun(linesOfCode, args.EvaluationParameter)); }
void InitializeCodeEvaluationEventArgs(CodeEvaluationEventArgs e, string regionName) { e.Result = true; e.Code = codeEditor.CurrentCodeEditor.Text; e.Language = CurrentExampleLanguage; e.EvaluationParameter = workbook; e.RegionName = regionName; }
public void ForceCompile(CodeEvaluationEventArgs args) { compileComplete = false; if (!String.IsNullOrEmpty(args.Code)) { CompileExampleAndShowPrintPreview(args); } compileComplete = true; }
//public event CodeEvaluationEventHandler QueryEvaluateEvent { // add { onQeuryEvaluate += value; } // remove { onQeuryEvaluate -= value; } //} protected internal virtual CodeEvaluationEventArgs RaiseQueryEvaluate() { if (QueryEvaluate != null) { CodeEvaluationEventArgs args = new CodeEvaluationEventArgs(); QueryEvaluate(this, args); return(args); } return(null); }
void CompileExampleAndShowPrintPreview(CodeEvaluationEventArgs args) { bool evaluationSucceed = false; try { RaiseOnBeforeCompile(); evaluationSucceed = Evaluate(args); } finally { RaiseOnAfterCompile(evaluationSucceed); } }
public void CompileExample(object sender, EventArgs e) { if (!compileComplete) { return; } CodeEvaluationEventArgs args = RaiseQueryEvaluate(); if (!args.Result) { return; } ForceCompile(args); }
void OnExampleEvaluatorQueryEvaluate(object sender, CodeEvaluationEventArgs e) { e.Result = false; if (codeEditor.RichEditTextChanged) {// && compileComplete) { TimeSpan span = DateTime.Now - codeEditor.LastExampleCodeModifiedTime; if (span < TimeSpan.FromMilliseconds(1000)) {//CompileTimeIntervalInMilliseconds 1900 codeEditor.ResetLastExampleModifiedTime(); return; } //e.Result = true; InitializeCodeEvaluationEventArgs(e, e.RegionName); } }
void OnNewExampleSelected(object sender, FocusedNodeChangedEventArgs e) { CodeExample newExample = (sender as TreeList).GetDataRecordByNode(e.Node) as CodeExample; CodeExample oldExample = (sender as TreeList).GetDataRecordByNode(e.OldNode) as CodeExample; if (newExample == null) { return; } string exampleCode = codeEditor.ShowExample(oldExample, newExample); codeExampleNameLbl.Text = CodeExampleDemoUtils.ConvertStringToMoreHumanReadableForm(newExample.RegionName) + " example"; CodeEvaluationEventArgs args = new CodeEvaluationEventArgs(); InitializeCodeEvaluationEventArgs(args, newExample.RegionName); evaluator.ForceCompile(args); }
public bool Evaluate(CodeEvaluationEventArgs args) { ExampleCodeEvaluator spreadsheetExampleCodeEvaluator = GetExampleCodeEvaluator(args.Language); return(spreadsheetExampleCodeEvaluator.ExcecuteCodeAndGenerateDocument(args)); }