Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            });
        }