Esempio n. 1
0
    public void WindowMouseUp(object sender, MouseEventArgs e)
    {
        Debug.Assert(SelectedSlice != null);

        // A Mouse Up event occurred in the main window.
        // This can only happen if the Context Menu is displayed.
        // Emit an event that a menu item has been selected.

        // Compute the distance from the centre
        double dist = Math.Sqrt(Math.Pow(X - e.X, 2) + Math.Pow(Y - e.Y, 2));

        if (dist < RadiusIn)
        {
            return;
        }

        ContextMenuEvent ce = new ContextMenuEvent();

        ce.SelectedSlice = SelectedSlice;

        if (OnSelect != null)
        {
            OnSelect(this, ce);
        }
    }
Esempio n. 2
0
        private void dgvWebsites_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
        {
            if (!IsAddingNewItem && !IsCellValueChanged)
            {
                return;
            }

            int              colIndex = e.ColumnIndex;
            int              rowIndex = e.RowIndex;
            IWebsite         website  = websites[rowIndex];
            ValidationResult vr       = ContextMenuEvent.Invoke(EventType.RowValidating, new ContextMenuEventArgs()
            {
                RowIndex    = rowIndex,
                ColumnIndex = colIndex,
                Website     = website
            });

            if (!vr.IsSuccessfull)
            {
                ShowErrorMessage(vr.Message, "Error!");
                e.Cancel = true;
            }
            else
            {
                IsAddingNewItem    = false;
                IsCellValueChanged = false;
            }
        }
Esempio n. 3
0
        private void tsmiAdd_Click(object sender, EventArgs e)
        {
            if (ContextMenuEvent == null || !ContextMenuEvent.Invoke(EventType.BeginAdding, new ContextMenuEventArgs()).IsSuccessfull)
            {
                return;
            }

            dgvWebsites[0, dgvWebsites.Rows.Count - 1].Selected = true;
            IsAddingNewItem = true;
            dgvWebsites.BeginEdit(true);
        }
Esempio n. 4
0
        private void tsmiDelete_Click(object sender, EventArgs e)
        {
            int index           = dgvWebsites.CurrentCell.RowIndex;
            ValidationResult vr = ContextMenuEvent.Invoke(EventType.Remove, new ContextMenuEventArgs()
            {
                RowIndex = index
            });

            if (!vr.IsSuccessfull)
            {
                ShowErrorMessage(vr.Message, "Error!");
            }
        }
Esempio n. 5
0
    void Display(ContextMenuEvent contextMenuEvent)
    {
        if (_event != null)
        {
            Close();
        }

        if (contextMenuEvent == null)
        {
            return;
        }

        _event      = contextMenuEvent;
        _uiPosition = contextMenuEvent.UiPosition;

        var optionElements         = new List <IUiElement>();
        ContextMenuGroup?lastGroup = null;

        foreach (var option in _event.Options)
        {
            lastGroup ??= option.Group;
            if (lastGroup != option.Group)
            {
                optionElements.Add(new Spacing(0, 2));
            }
            lastGroup = option.Group;

            var option1 = option;
            optionElements.Add(new Button(option.Text).OnClick(() => OnButton(option1, option1.Disabled)));
        }

        var elements = new List <IUiElement>
        {
            new Spacing(0, 2),
            new HorizontalStack(new Spacing(5, 0), new BoldHeader(_event.Heading), new Spacing(5, 0)),
            new Divider(CommonColor.Yellow3),
            new Padding(new VerticalStack(optionElements), 0, 2)
        };

        var frame = new DialogFrame(new VerticalStack(elements));

        AttachChild(frame);
        Raise(new PushInputModeEvent(InputMode.ContextMenu));
    }
Esempio n. 6
0
    private void OnMenuSelect(ContextMenuView c, ContextMenuEvent e)
    {
        switch (e.SelectedSlice.Type)
        {
        case MenuSlice.Cancel: {
            // Do nothing
            break;
        }

        case MenuSlice.Delete: {
            // Deleting a node.
            Debug.Assert(SelectedNode != null);
            DeleteNode(SelectedNode);
            SelectedNode = null;
            UpdateView();
            break;
        }

        case MenuSlice.Properties:
        {
            Debug.Assert(SelectedNode != null);
            Text = "Visual Pipes <Command>";

            s = EditorState.EditProperties;

            NodePropertiesForm props =
                new NodePropertiesForm(SelectedNode.Model);
            props.FormClosed += PropertiesClosed;
            props.ShowDialog(this);

            break;
        }

        case MenuSlice.Start:
        {
            Debug.Assert(SelectedNode != null);
            runner.Start(SelectedNode.Model, nodems);
            break;
        }
        }
    }
        private void OnContextMenuEvent(ContextMenuEvent @event)
        {
            if (PopupHelper.IsPopupActive)
            {
                return;
            }

            if (_menu != null)
            {
                _menu.Dispose();
                _menu = null;
            }

            if (!IsSelected) //if we're not the selected one anymore, don't show it.
            {
                return;
            }

            _menu = MenuBuilder.BuildContextMenu(@event.ActionModelRoot, _eventMediator);
            _menu.Open(TransformToVisual(null).Transform(_rightClickPosition));
        }
Esempio n. 8
0
 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
 {
     ContextMenuEvent.Invoke(EventType.Exit, new ContextMenuEventArgs());
 }
Esempio n. 9
0
 void Close()
 {
     RemoveAllChildren();
     _event = null;
     Raise(new PopInputModeEvent());
 }
Esempio n. 10
0
        private void FireContextMenuEvent(ContextMenuEvent contextMenuEvent, object sender, CustomEventArgs <Object> e)
        {
            switch (contextMenuEvent)
            {
            case ContextMenuEvent.AreaAttackContextMenuDisplayed:
                if (AttackContextMenuDisplayed != null)
                {
                    AttackContextMenuDisplayed(sender, e);
                }
                break;

            case ContextMenuEvent.DefaultContextMenuDisplayed:
                if (DefaultContextMenuDisplayed != null)
                {
                    DefaultContextMenuDisplayed(sender, e);
                }
                break;

            case ContextMenuEvent.AttackTargetMenuItemSelected:
                if (AttackTargetMenuItemSelected != null)
                {
                    AttackTargetMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.AttackTargetAndExecuteMenuItemSelected:
                if (AttackTargetAndExecuteMenuItemSelected != null)
                {
                    AttackTargetAndExecuteMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.AttackTargetAndExecuteCrowdMenuItemSelected:
                if (AttackTargetAndExecuteCrowdMenuItemSelected != null)
                {
                    AttackTargetAndExecuteCrowdMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.AttackExecuteSweepMenuItemSelected:
                if (AttackExecuteSweepMenuItemSelected != null)
                {
                    AttackExecuteSweepMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.AbortMenuItemSelected:
                if (AbortMenuItemSelected != null)
                {
                    AbortMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.SpawnMenuItemSelected:
                if (SpawnMenuItemSelected != null)
                {
                    SpawnMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.PlaceMenuItemSelected:
                if (PlaceMenuItemSelected != null)
                {
                    PlaceMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.SavePositionMenuItemSelected:
                if (SavePositionMenuItemSelected != null)
                {
                    SavePositionMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.MoveCameraToTargetMenuItemSelected:
                if (MoveCameraToTargetMenuItemSelected != null)
                {
                    MoveCameraToTargetMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.MoveTargetToCameraMenuItemSelected:
                if (MoveTargetToCameraMenuItemSelected != null)
                {
                    MoveTargetToCameraMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.ResetOrientationMenuItemSelected:
                if (ResetOrientationMenuItemSelected != null)
                {
                    ResetOrientationMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.ManueverWithCameraMenuItemSelected:
                if (ManueverWithCameraMenuItemSelected != null)
                {
                    ManueverWithCameraMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.ActivateMenuItemSelected:
                if (ActivateMenuItemSelected != null)
                {
                    ActivateMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.ActivateCrowdAsGangMenuItemSelected:
                if (ActivateCrowdAsGangMenuItemSelected != null)
                {
                    ActivateCrowdAsGangMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.ClearFromDesktopMenuItemSelected:
                if (ClearFromDesktopMenuItemSelected != null)
                {
                    ClearFromDesktopMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.CloneAndLinkMenuItemSelected:
                if (CloneAndLinkMenuItemSelected != null)
                {
                    CloneAndLinkMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.MoveTargetToCharacterMenuItemSelected:
                if (MoveTargetToCharacterMenuItemSelected != null)
                {
                    MoveTargetToCharacterMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.ActivateCharacterOptionMenuItemSelected:
                if (ActivateCharacterOptionMenuItemSelected != null)
                {
                    ActivateCharacterOptionMenuItemSelected(sender, e);
                }
                break;

            case ContextMenuEvent.SpreadNumberSelected:
                if (SpreadNumberSelected != null)
                {
                    SpreadNumberSelected(sender, e);
                }
                break;
            }
        }