Ejemplo n.º 1
0
        /// <summary>
        /// Called when the mouse button has been pressed down on this control
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AnchorEditor_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                int hw = this.Width / 2;    // Half Width
                int hh = this.Height / 2;   // Half Height

                // Top or Bottom
                if (e.X >= (hw - 5) && e.X <= (hw + 5))
                {
                    // Top
                    if (e.Y < mMargin)
                    {
                        if ((mAnchorFlags & AnchorFlags.Top) == AnchorFlags.Top)
                        {
                            mAnchorFlags &= ~AnchorFlags.Top;
                            mAnchorFlags |= AnchorFlags.TopRelative;
                        }
                        else if ((mAnchorFlags & AnchorFlags.TopRelative) == AnchorFlags.TopRelative)
                        {
                            mAnchorFlags &= ~AnchorFlags.TopRelative;
                        }
                        else
                        {
                            mAnchorFlags |= AnchorFlags.Top;
                        }
                    }
                    // Bottom
                    else if (e.Y > (this.Height - mMargin))
                    {
                        if ((mAnchorFlags & AnchorFlags.Bottom) == AnchorFlags.Bottom)
                        {
                            mAnchorFlags &= ~AnchorFlags.Bottom;
                            mAnchorFlags |= AnchorFlags.BottomRelative;
                        }
                        else if ((mAnchorFlags & AnchorFlags.BottomRelative) == AnchorFlags.BottomRelative)
                        {
                            mAnchorFlags &= ~AnchorFlags.BottomRelative;
                        }
                        else
                        {
                            mAnchorFlags |= AnchorFlags.Bottom;
                        }
                    }
                }
                // Left or Right
                else if (e.Y >= (hh - 5) && e.Y <= (hh + 5))
                {
                    // Left
                    if (e.X < mMargin)
                    {
                        if ((mAnchorFlags & AnchorFlags.Left) == AnchorFlags.Left)
                        {
                            mAnchorFlags &= ~AnchorFlags.Left;
                            mAnchorFlags |= AnchorFlags.LeftRelative;
                        }
                        else if ((mAnchorFlags & AnchorFlags.LeftRelative) == AnchorFlags.LeftRelative)
                        {
                            mAnchorFlags &= ~AnchorFlags.LeftRelative;
                        }
                        else
                        {
                            mAnchorFlags |= AnchorFlags.Left;
                        }
                    }
                    // Right
                    else if (e.X > (this.Width - mMargin))
                    {
                        if ((mAnchorFlags & AnchorFlags.Right) == AnchorFlags.Right)
                        {
                            mAnchorFlags &= ~AnchorFlags.Right;
                            mAnchorFlags |= AnchorFlags.RightRelative;
                        }
                        else if ((mAnchorFlags & AnchorFlags.RightRelative) == AnchorFlags.RightRelative)
                        {
                            mAnchorFlags &= ~AnchorFlags.RightRelative;
                        }
                        else
                        {
                            mAnchorFlags |= AnchorFlags.Right;
                        }
                    }
                }

                this.Invalidate();
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Called when the mouse button has been pressed down on this control
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AnchorEditor_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                int hw = this.Width / 2;    // Half Width
                int hh = this.Height / 2;   // Half Height

                // Top or Bottom
                if (e.X >= (hw - 5) && e.X <= (hw + 5))
                {
                    // Top
                    if (e.Y < mMargin)
                    {
                        if ((mAnchorFlags & AnchorFlags.Top) == AnchorFlags.Top)
                        {
                            mAnchorFlags &= ~AnchorFlags.Top;
                            mAnchorFlags |= AnchorFlags.TopRelative;
                        }
                        else if ((mAnchorFlags & AnchorFlags.TopRelative) == AnchorFlags.TopRelative)
                        {
                            mAnchorFlags &= ~AnchorFlags.TopRelative;
                        }
                        else
                        {
                            mAnchorFlags |= AnchorFlags.Top;
                        }
                    }
                    // Bottom
                    else if (e.Y > (this.Height - mMargin))
                    {
                        if ((mAnchorFlags & AnchorFlags.Bottom) == AnchorFlags.Bottom)
                        {
                            mAnchorFlags &= ~AnchorFlags.Bottom;
                            mAnchorFlags |= AnchorFlags.BottomRelative;
                        }
                        else if ((mAnchorFlags & AnchorFlags.BottomRelative) == AnchorFlags.BottomRelative)
                        {
                            mAnchorFlags &= ~AnchorFlags.BottomRelative;
                        }
                        else
                        {
                            mAnchorFlags |= AnchorFlags.Bottom;
                        }
                    }
                }
                // Left or Right
                else if (e.Y >= (hh - 5) && e.Y <= (hh + 5))
                {
                    // Left
                    if (e.X < mMargin)
                    {
                        if ((mAnchorFlags & AnchorFlags.Left) == AnchorFlags.Left)
                        {
                            mAnchorFlags &= ~AnchorFlags.Left;
                            mAnchorFlags |= AnchorFlags.LeftRelative;
                        }
                        else if ((mAnchorFlags & AnchorFlags.LeftRelative) == AnchorFlags.LeftRelative)
                        {
                            mAnchorFlags &= ~AnchorFlags.LeftRelative;
                        }
                        else
                        {
                            mAnchorFlags |= AnchorFlags.Left;
                        }
                    }
                    // Right
                    else if (e.X > (this.Width- mMargin))
                    {
                        if ((mAnchorFlags & AnchorFlags.Right) == AnchorFlags.Right)
                        {
                            mAnchorFlags &= ~AnchorFlags.Right;
                            mAnchorFlags |= AnchorFlags.RightRelative;
                        }
                        else if ((mAnchorFlags & AnchorFlags.RightRelative) == AnchorFlags.RightRelative)
                        {
                            mAnchorFlags &= ~AnchorFlags.RightRelative;
                        }
                        else
                        {
                            mAnchorFlags |= AnchorFlags.Right;
                        }
                    }
                }

                this.Invalidate();
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Converts to its string representation
        /// </summary>
        /// <param name="context"></param>
        /// <param name="culture"></param>
        /// <param name="value"></param>
        /// <param name="destinationType"></param>
        /// <returns></returns>
        public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
        {
            if (destinationType == typeof(string))
            {
                GUIControl control = context.Instance as GUIControl;
                if (control != null)
                {
                    AnchorFlags flags = (AnchorFlags)value;
                    if (flags == AnchorFlags.None)
                    {
                        return("None");
                    }

                    List <string> components = new List <string>();

                    if ((flags & AnchorFlags.Top) == AnchorFlags.Top)
                    {
                        components.Add("Top");
                    }
                    if ((flags & AnchorFlags.TopRelative) == AnchorFlags.TopRelative)
                    {
                        components.Add("Top Relative");
                    }
                    if ((flags & AnchorFlags.Bottom) == AnchorFlags.Bottom)
                    {
                        components.Add("Bottom");
                    }
                    if ((flags & AnchorFlags.BottomRelative) == AnchorFlags.BottomRelative)
                    {
                        components.Add("Bottom Relative");
                    }
                    if ((flags & AnchorFlags.Left) == AnchorFlags.Left)
                    {
                        components.Add("Left");
                    }
                    if ((flags & AnchorFlags.LeftRelative) == AnchorFlags.LeftRelative)
                    {
                        components.Add("Left Relative");
                    }
                    if ((flags & AnchorFlags.Right) == AnchorFlags.Right)
                    {
                        components.Add("Right");
                    }
                    if ((flags & AnchorFlags.RightRelative) == AnchorFlags.RightRelative)
                    {
                        components.Add("Right Relative");
                    }

                    string retString = "";
                    for (int i = 0; i < components.Count; i++)
                    {
                        retString += components[i];
                        if (i < components.Count - 1)
                        {
                            retString += ", ";
                        }
                    }

                    return(retString);
                }
            }

            return("None");
        }