void TextArea_MouseRightButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { try { var pos = e.GetPosition(Editor.TextArea); var pt = new Point((int)pos.X, (int)pos.Y); conMenu.Show(this.PointToScreen(pt)); while (conMenu.Items.Count > 9) { conMenu.Items.RemoveAt(conMenu.Items.Count - 1); } if (Helper != null) { EditorScript.BuildMenu(conMenu.Items , Helper.GetScripts(Document, Editor.CaretOffset, Editor.IsReadOnly) , (script) => { var ide = this.FindForm() as EditorWindow; if (ide != null) { return(ide.Execute(script)); } return(Task.FromResult(false)); }); } OnMouseDown(new MouseEventArgs(MouseButtons.Right, e.ClickCount, pt.X, pt.Y, 0)); } catch (Exception ex) { Utils.HandleError(ex); } }
private void AddRefMenuItems(ContextMenuStrip conMenu, IEnumerable <ItemReference> refs) { var gen = new Editor.ScriptMenuGenerator(); gen.SetItems(refs); gen.Conn = _wizard.Connection; gen.ConnData = _wizard.ConnectionInfo.First(); conReferenceOptions.Items.Clear(); EditorScript.BuildMenu(conMenu.Items, gen.GetScripts(), async s => { var win = new EditorWindow(); var result = win.SetConnection(_wizard.ConnectionInfo.First()); win.Show(); await result; win.Execute(s); }); }