Example #1
0
		public override void HandleMouseEvents(CustomEvents.MouseEvent e)
		{
			if (!Scrollbar.CheckBoundingBox(e))
			{
				base.HandleMouseEvents(e);
				if (CheckBoundingBox(e))
				{
					switch (e.Event)
					{
						case CustomEvents.MouseEvent.EventType.MouseWheel:
							TopListRow -= e.Delta * System.Windows.Forms.SystemInformation.MouseWheelScrollLines / 120;

							if (TopListRow < 0) TopListRow = 0;
							if (TopListRow > RowList.Count-1) TopListRow = RowList.Count - 1;

							UpdateScrollbarValue();

							break;
					}
				}
			}

			//if (!Nodes.Any(a => a.CheckBoundingBox(e)))
			//	base.HandleMouseEvents(e);

			Scrollbar.HandleMouseEvents(e);
		}
Example #2
0
        private void UpdateProgress(CustomEvents.MouseEvent e)
        {
            int MousePosition = Orientation == SliderOrientation.Horizontal ? ((CustomEvents.MouseEvent)e).X : ((CustomEvents.MouseEvent)e).Y;

            if (Orientation == SliderOrientation.Horizontal)
            {
                int tmp = MousePosition - RectScreenSpace.X - (int)SL_SPACE;
                LastMousePoint1 = LastMousePoint2;
                LastMousePoint2 = tmp;

                if (MousePosition >= RectScreenSpace.X + 1 + SL_SPACE && MousePosition <= RectScreenSpace.X + RectScreenSpace.W - 1 - SL_SPACE)
                {
                    if (LastMousePoint1 != tmp)
                    {
                        Value = (float)tmp / (RectScreenSpace.W - 2 * SL_SPACE) /** 100*/;
                    }
                }
                else
                {
                    if (MousePosition < RectScreenSpace.X + 1 + SL_SPACE)
                    {
                        Value = 0f;
                    }
                    if (MousePosition > RectScreenSpace.X + RectScreenSpace.W - 1 - SL_SPACE)
                    {
                        Value = 1f;
                    }
                }
            }


            if (Orientation == SliderOrientation.Vertical)
            {
                int tmp = MousePosition - RectScreenSpace.Y - (int)SL_SPACE;
                LastMousePoint1 = LastMousePoint2;
                LastMousePoint2 = tmp;

                if (MousePosition >= RectScreenSpace.Y + 1 + SL_SPACE && MousePosition <= RectScreenSpace.Y + RectScreenSpace.H - 1 - SL_SPACE)
                {
                    if (LastMousePoint1 != tmp)
                    {
                        Value = (float)tmp / (RectScreenSpace.H - 2 * SL_SPACE) /** 100*/;
                    }
                }
                else
                {
                    if (MousePosition < RectScreenSpace.Y + 1 + SL_SPACE)
                    {
                        Value = 0f;
                    }
                    if (MousePosition > RectScreenSpace.Y + RectScreenSpace.H - 1 - SL_SPACE)
                    {
                        Value = 1f;
                    }
                }
            }

            Change?.Invoke(this, e);
        }
Example #3
0
        public override void HandleMouseEvents(CustomEvents.MouseEvent e)
        {
            if (!Nodes.Any(a => a.CheckBoundingBox(e)))
            {
                base.HandleMouseEvents(e);
            }

            Nodes.ForEach(fe => fe.HandleMouseEvents(e));
        }
Example #4
0
        public override void HandleMouseEvents(CustomEvents.MouseEvent e)
        {
            base.HandleMouseEvents(e);
            switch (e.Event)
            {
            case CustomEvents.MouseEvent.EventType.MouseMove:
                if (IsMouseDown)
                {
                    UpdateProgress(e);
                }
                break;

            case CustomEvents.MouseEvent.EventType.MouseUp:
                IsMouseDown = false;
                break;
            }
        }
Example #5
0
 public bool CheckBoundingBox(CustomEvents.MouseEvent e)
 {
     return(e.X >= RectScreenSpace.X && e.X < RectScreenSpace.X + RectScreenSpace.W &&
            e.Y >= RectScreenSpace.Y && e.Y < RectScreenSpace.Y + RectScreenSpace.H);
 }
Example #6
0
        public virtual void HandleMouseEvents(CustomEvents.MouseEvent e)
        {
            if (CheckBoundingBox(e))
            {
                switch (e.Event)
                {
                case CustomEvents.MouseEvent.EventType.MouseMove:

                    if (!IsMouseOver)
                    {
                        IsMouseOver = true;
                        MouseEnter?.Invoke(this, e);
                    }

                    break;

                case CustomEvents.MouseEvent.EventType.MouseDown:

                    ClickStarted = true;
                    MouseDown?.Invoke(this, e);

                    long ClickTime = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;

                    if (ClickTime - LastClickTime < 500)
                    {
                        LastClickTime = 0;
                        DoubleClick?.Invoke(this, e);
                    }
                    else
                    {
                        LastClickTime = ClickTime;
                    }

                    break;

                case CustomEvents.MouseEvent.EventType.MouseUp:

                    if (ClickStarted)
                    {
                        ClickStarted = false;
                        Click?.Invoke(this, e);
                    }

                    MouseUp?.Invoke(this, e);

                    break;
                }
            }
            else
            {
                switch (e.Event)
                {
                case CustomEvents.MouseEvent.EventType.MouseMove:
                    if (IsMouseOver)
                    {
                        IsMouseOver = false;
                        MouseLeave?.Invoke(this, e);
                    }
                    break;

                case CustomEvents.MouseEvent.EventType.MouseDown:
                    ClickStarted = false;
                    break;

                case CustomEvents.MouseEvent.EventType.MouseUp:
                    ClickStarted = false;
                    break;
                }
            }
        }