using System.Drawing;
using System.ComponentModel;
using FastReport.Utils;
using FastReport.Data;

namespace FastReport.Dialog
{
    partial class ButtonControl
    {
        #region Properties
        /// <inheritdoc/>
        [DefaultValue(false)]
        public override bool AutoSize
        {
            get { return base.AutoSize; }
            set { base.AutoSize = value; }
        }

        /// <inheritdoc/>
        [DefaultValue(ContentAlignment.MiddleCenter)]
        public override ContentAlignment TextAlign
        {
            get { return base.TextAlign; }
            set { base.TextAlign = value; }
        }

        /// <summary>
        /// This property is not relevant to this class.
        /// </summary>
        [Browsable(false)]
        public new bool AutoFilter
        {
            get { return base.AutoFilter; }
            set { base.AutoFilter = value; }
        }

        /// <summary>
        /// This property is not relevant to this class.
        /// </summary>
        [Browsable(false)]
        public new string DataColumn
        {
            get { return base.DataColumn; }
            set { base.DataColumn = value; }
        }

        /// <summary>
        /// This property is not relevant to this class.
        /// </summary>
        public new string ReportParameter
        {
            get { return base.ReportParameter; }
            set { base.ReportParameter = value; }
        }

        /// <summary>
        /// This property is not relevant to this class.
        /// </summary>
        [Browsable(false)]
        public new FilterOperation FilterOperation
        {
            get { return base.FilterOperation; }
            set { base.FilterOperation = value; }
        }
        #endregion

        #region Protected methods

        ///<inheritdoc/>
        protected override SelectionPoint[] GetSelectionPoints()
        {
            if (!AutoSize)
                return base.GetSelectionPoints();
            else
                return new SelectionPoint[]
                {
                    new SelectionPoint(AbsLeft - 2, AbsTop - 2, SizingPoint.None)
                };
        }
        #endregion
    }
}
