Exemple #1
0
        public void HandleEventFor(StateNode node, Event nodeEvent)
        {
            switch (nodeEvent.type)
            {
            case EventType.MouseDown:

                if (IsLeftMouseClick(nodeEvent.button))
                {
                    if (node.IsPointOverNode(nodeEvent.mousePosition))
                    {
                        if (_window.HasTransitionPreview())
                        {
                            _window.AddTransition(_window.GetSourceNodeFromTransitionPreview(), node);
                            _window.EndTransitionPreview();
                        }

                        _window.SelectNode(node);
                        nodeEvent.Use();
                    }
                }
                else if (IsRightMouseClick(nodeEvent.button) && _window.IsSelected(node))
                {
                    DisplayNodeOptionsAtPosition(node);
                    nodeEvent.Use();
                }

                break;

            case EventType.MouseDrag:

                if (IsLeftMouseClick(nodeEvent.button) && _window.IsSelected(node))
                {
                    node.Drag(nodeEvent.delta);
                    nodeEvent.Use();
                }

                break;
            }
        }
Exemple #2
0
        public void HandleEventFor(TransitionConnection transition, Event nodeEvent)
        {
            switch (nodeEvent.type)
            {
            case EventType.MouseDown:

                if (IsLeftMouseClick(nodeEvent.button))
                {
                    if (transition.IsPointOverConnection(nodeEvent.mousePosition))
                    {
                        _window.SelectTransition(transition);
                        nodeEvent.Use();
                    }
                }
                else if (IsRightMouseClick(nodeEvent.button) && _window.IsSelected(transition))
                {
                    DisplayNodeOptionsAtPosition(transition);
                    nodeEvent.Use();
                }

                break;
            }
        }