示例#1
0
        private void OperatorButton_MouseUpHandler(object sender, MouseButtonEventArgs e)
        {
            var button = sender as Button;

            if (button == null)
            {
                return;
            }

            var contextMenu = new ContextMenu();

            var item = new MenuItem {
                Header = "Duplicate"
            };

            item.Click += (o, a) => UIHelper.DuplicateOperatorTypeWithDialog(MetaOp);
            contextMenu.Items.Add(item);

            contextMenu.Items.Add(new Separator());

            item = new MenuItem {
                Header = "Run Tests"
            };
            item.Click += (o, a) =>
            {
                using (new Utils.SetWaitCursor())
                {
                    var result = TestUtilities.EvaluateTests(MetaOp.ID, "");
                    Logger.Info("Test results: " + result.Item2);
                }
            };
            contextMenu.Items.Add(item);

            item = new MenuItem {
                Header = "Find Usages"
            };
            item.Click += (o, a) =>
            {
                using (new Utils.SetWaitCursor())
                {
                    App.Current.MainWindow.ListMetaOpUsages(MetaOp);
                }
            };
            contextMenu.Items.Add(item);

            item = new MenuItem {
                Header = "Find Dependencies"
            };
            item.Click += (o, a) =>
            {
                using (new Utils.SetWaitCursor())
                {
                    App.Current.MainWindow.ListMetaOpDependencies(MetaOp);
                }
            };
            contextMenu.Items.Add(item);

            button.ContextMenu = contextMenu;
        }