Ejemplo n.º 1
0
        public override void UserInteractionDuringCreation(  )
        {
            _properties.Range = (MouseStatus.WorldPosition - _properties.Position).Length( );

            if (MouseStatus.IsNewLeftMouseButtonClick(  ))
            {
                PreviewEndedReadyForCreation(this, EventArgs.Empty);
            }
        }
Ejemplo n.º 2
0
        public override void UserInteractionDuringCreation()
        {
            SetPosition(MouseStatus.WorldPosition);

            if (MouseStatus.IsNewLeftMouseButtonClick())
            {
                PreviewEndedReadyForCreation(this, EventArgs.Empty);
            }

            WhenUpdatedByUi();
        }
Ejemplo n.º 3
0
        void handleInputWhenAddingAnEntity( )
        {
            //mef: this might need to go back to the main Update method
            if (Constants.Instance.SnapToGrid || KeyboardStatus.IsKeyDown(Keys.G))
            {
                MouseStatus.WorldPosition = SnapToGrid(MouseStatus.WorldPosition);
            }

            if (MouseStatus.IsNewRightMouseButtonClick( ) || KeyboardStatus.IsNewKeyPress(Keys.D3))
            {
                //mef: delegate to current primitive plugin
                if (_entityCreation.StartedCreating)
                {
                    _entityCreation.StartedCreating = false;
                    _entityCreation.ClearCurrentEditor( );

                    //mef: implement
                    //switch (_currentPrimitiveName)
                    //{
                    //    case PrimitiveType.Rectangle:
                    //        //_mainForm.SetToolStripStatusLabel1(Resources.Rectangle_Entered);
                    //        break;
                    //    case PrimitiveType.Circle:
                    //        //_mainForm.SetToolStripStatusLabel1(Resources.Circle_Entered);
                    //        break;
                    //    case PrimitiveType.Path:
                    //        //_mainForm.SetToolStripStatusLabel1(Resources.Path_Entered);
                    //        break;
                    //}
                }
                else
                {
                    destroyPrimitiveBrush( );
                    _entityCreation.StartedCreating = false;
                }
            }

            if (_entityCreation.StartedCreating)
            {
                _entityCreation.CurrentEditor.UserInteractionDuringCreation( );

                return;
            }

            if (MouseStatus.IsNewLeftMouseButtonClick( ) || KeyboardStatus.IsNewKeyPress(Keys.D3))
            {
                if (_entityCreation.StartedCreating == false)
                {
                    _entityCreation.StartedCreating = true;
                    _entityCreation.CurrentEditor   = buildPrimitiveEditorReadyForDesigning(_entityCreation.CreationProperties);
                }
            }
        }
Ejemplo n.º 4
0
        public override void UserInteractionDuringCreation( )
        {
            _properties.Width  = MouseStatus.WorldPosition.X - _properties.Position.X;
            _properties.Height = MouseStatus.WorldPosition.Y - _properties.Position.Y;

            if (MouseStatus.IsNewLeftMouseButtonClick(  ))
            {
                PreviewEndedReadyForCreation(this, EventArgs.Empty);
            }

            WhenUpdatedByUi(  );
        }
Ejemplo n.º 5
0
        public override void UserInteractionDuringCreation( )
        {
            int lastItemIndex = _properties.WorldPoints.Count - 1;

            Vector2 mouseWorldPos = MouseStatus.WorldPosition;

            //_properties.WorldPoints[ lastItemIndex ] = mouseWorldPos ;
            //_properties.LocalPoints[ lastItemIndex ] = _properties.WorldPoints[0] - mouseWorldPos ;

            //}


            if (MouseStatus.IsNewLeftMouseButtonClick(  ))
            {
                addWorldPoint(mouseWorldPos);

                WhenUpdatedByUi(  );
            }

            if (MouseStatus.IsNewMiddleMouseButtonClick(  ))
            {
                _editorMode = ItemEditorMode.Created;

                PreviewEndedReadyForCreation(this, EventArgs.Empty);
            }

            if (KeyboardStatus.IsNewKeyPress(Keys.Back))
            {
                if (_properties.WorldPoints.Count > 1)
                {
                    int lastItem = lastItemIndex;
                    _properties.WorldPoints.RemoveAt(lastItem);
                    _properties.LocalPoints.RemoveAt(lastItem);

                    WhenUpdatedByUi(  );
                }
            }
        }
Ejemplo n.º 6
0
        public void Update( )
        {
            //get item under mouse cursor

            var model = ObjectFactory.GetInstance <IModel>( );

            ItemEditor item = _canvas.ItemUnderMouse;

            bool controlButtonPressed = KeyboardStatus.IsKeyDown(Keys.LeftControl);

            if (item != null)
            {
                _mainForm.SetToolStripStatusLabel1(item.ItemProperties.Name);

                item.OnMouseOver(MouseStatus.WorldPosition);

                if (controlButtonPressed)
                {
                    _mainForm.SetCursorForCanvas(_cursorDuplicate);
                }
            }
            else
            {
                _mainForm.SetToolStripStatusLabel1(string.Empty);
            }

            if (item != _lastItem && _lastItem != null)
            {
                _lastItem.OnMouseOut( );
            }

            _lastItem = item;

            IEnumerable <ITreeItem> editors = selectedEditors( ).ToList(  );

            if (MouseStatus.IsNewLeftMouseButtonClick() || KeyboardStatus.IsNewKeyPress(Keys.D1))
            {
                if (item != null)
                {
                    item.OnMouseButtonDown(MouseStatus.WorldPosition);
                }

                if (controlButtonPressed && item != null)
                {
                    _canvas.StartCopyingSelectedItems( );
                }
                else if (KeyboardStatus.IsKeyDown(Keys.LeftShift) && item != null)
                {
                    model.ToggleSelectionOnItem(item);
                }
                else if (editors.Contains(item))
                {
                    _canvas.StartMovingSelectedItems( );
                }
                else if (!selectedEditors().Contains(item))
                {
                    if (item != null)
                    {
                        _model.SelectEditor(item);
                        _canvas.StartMovingSelectedItems(  );
                    }
                    else
                    {
                        _canvas.CreateSelectionRectangle( );
                    }
                }
            }

            //MIDDLE MOUSE BUTTON CLICK
            bool anyEditorsSelected = editors.Any();

            if (MouseStatus.IsNewMiddleMouseButtonClick( ) || KeyboardStatus.IsNewKeyPress(Keys.D2))
            {
                if (item != null)
                {
                    item.OnMouseOut( );
                }

                if (controlButtonPressed)
                {
                    _canvas.StartMovingCamera( );
                }
                else
                {
                    if (anyEditorsSelected)
                    {
                        _canvas.StartRotatingItems( );
                    }
                }
            }

            //RIGHT MOUSE BUTTON CLICK
            if (MouseStatus.IsNewRightMouseButtonClick( ) || KeyboardStatus.IsNewKeyPress(Keys.D3))
            {
                if (item != null)
                {
                    item.OnMouseOut( );
                }

                if (anyEditorsSelected)
                {
                    _canvas.StartScalingSelectedItems( );
                }
            }

            selectedEditors(  ).ForEach(e => e.HandleKeyPressWhenFocused());
        }