public QueryScriptWindow(string name, QueryScript queryScript) { InitializeComponent(); SetWindowName(name); this.MdiParent = queryScript.MainAppWindow; _queryScript = queryScript; richTextBox_ScriptText.DragEnter += RichTextBox_ScriptText_DragEnter; }
private static void Main(string[] args) { var preludeFileName = args[0]; var preludeScript = File.ReadAllText(preludeFileName); var queryFileName = args[1]; var queryScript = File.ReadAllText(queryFileName); Func <string, Tuple <string, string> > loadModule = moduleName => { var moduleFilename = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, moduleName + ".js"); return (Tuple.Create( File.ReadAllText(moduleFilename), moduleFilename)); }; using (var prelude = new PreludeScript(preludeScript, preludeFileName, loadModule)) using (var query = new QueryScript(prelude, queryScript, queryFileName)) using (var events = File.OpenText(args[2])) using (var output = (args.Length >= 4) ? File.CreateText(args[3]) : Console.Out) { long totalMs = 0; int count = 0; query.Initialize(); if (output != null) { var capturedOutput = output; query.Emit += s => capturedOutput.WriteLine(s.Trim()); } var sw = new Stopwatch(); while (!events.EndOfStream) { var eventJson = events.ReadLine().Trim(); if (!string.IsNullOrWhiteSpace(eventJson)) { sw.Start(); query.Push(eventJson, null); count++; sw.Stop(); } } totalMs = sw.ElapsedMilliseconds; Console.WriteLine(query.GetState()); Console.WriteLine(query.GetStatistics()); Console.WriteLine("Total JS push processing time: {0,5:f2} ms", totalMs); Console.WriteLine("Average time per 1000 pushes: {0,5:f2} ms", 1000f * totalMs / (float)count); Console.WriteLine("Pure JS events per second: {0,5:f2} events", count * 1000f / totalMs); Console.WriteLine("Total events processed: {0} events", count); } }
public void AddDependencyTreeNode(QueryScript queryScript, TreeNode parentTreeNode = null) { TreeNode treeNode = new TreeNode(queryScript.Name); if (parentTreeNode == null) { treeView_DependencyTree.Nodes.Add(treeNode); } else { parentTreeNode.Nodes.Add(treeNode); } foreach (QueryScript dependentScript in AppData.GlobalAppData.GetDependentQueryScripts(queryScript, allDescendants: false)) { AddDependencyTreeNode(dependentScript, treeNode); } }
public V8ProjectionStateHandler( string preludeName, string querySource, Func <string, Tuple <string, string> > getModuleSource, Action <string, object[]> logger, Action <int, Action> cancelCallbackFactory) { var preludeSource = getModuleSource(preludeName); var prelude = new PreludeScript(preludeSource.Item1, preludeSource.Item2, getModuleSource, cancelCallbackFactory, logger); QueryScript query; try { query = new QueryScript(prelude, querySource, "POST-BODY"); query.Emit += QueryOnEmit; } catch { prelude.Dispose(); // clean up unmanaged resources if failed to create throw; } _prelude = prelude; _query = query; }
private void LayoutQueryScriptWindows(QueryScript selectedScript, DockStyle dock, List <QueryScript> relatedScripts) { Rectangle rect = this.GetMdiRectangle(); int selectedWidth = 0; int selectedHeight = 0; int selectedX = 0; int selectedY = 0; int relatedWidth = 0; int relatedHeight = 0; switch (dock) { case DockStyle.Top: selectedWidth = rect.Width; selectedHeight = rect.Height / 2; selectedX = 0; selectedY = 0; relatedWidth = relatedScripts.Count > 0 ? rect.Width / relatedScripts.Count : 0; relatedHeight = rect.Height / 2; break; case DockStyle.Bottom: selectedWidth = rect.Width; selectedHeight = rect.Height / 2; selectedX = 0; selectedY = selectedHeight; relatedWidth = relatedScripts.Count > 0 ? rect.Width / relatedScripts.Count : 0; relatedHeight = rect.Height / 2; break; case DockStyle.Left: selectedWidth = rect.Width / 2; selectedHeight = rect.Height; selectedX = 0; selectedY = 0; relatedWidth = rect.Width / 2; relatedHeight = relatedScripts.Count > 0 ? rect.Height / relatedScripts.Count : 0; break; case DockStyle.Right: selectedWidth = rect.Width / 2; selectedHeight = rect.Height; selectedX = selectedWidth; selectedY = 0; relatedWidth = rect.Width / 2; relatedHeight = relatedScripts.Count > 0 ? rect.Height / relatedScripts.Count : 0; break; } for (int i = 0; i < relatedScripts.Count; ++i) { QueryScript relatedScript = relatedScripts[i]; int x = i * relatedWidth * (dock == DockStyle.Top || dock == DockStyle.Bottom ? 1 : 0) + (dock == DockStyle.Left ? selectedWidth : 0); int y = i * relatedHeight * (dock == DockStyle.Left || dock == DockStyle.Right ? 1 : 0) + (dock == DockStyle.Top ? selectedHeight : 0); relatedScript.QueryScriptWindow.SetWindowLocation(x, y, relatedWidth, relatedHeight); relatedScript.QueryScriptWindow.Focus(); } this.CurrentlySelectedQueryScript.QueryScriptWindow.SetWindowLocation(selectedX, selectedY, selectedWidth, selectedHeight); this.CurrentlySelectedQueryScript.QueryScriptWindow.Focus(); }