using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Exferia_Aplicacion.Visualizacion;

namespace Exferia_Controles
{
    public partial class Exferia_Button_Situacion : Button
    {
        private ToolTip g_tootlTip = new ToolTip();

        private string g_str_TootTip = "";
        public string Exferia_Button_Situacion_ToolTip
        {
            set
            {
                g_str_TootTip = value;
                g_tootlTip.SetToolTip(this, g_str_TootTip);
            }
            get
            {
                return g_str_TootTip;
            }
        }

        bool g_bol_CambioTipoFuente = true;
        public bool Exferia_Button_Situacion_Permitir_CambioFuenteAutomatico
        {
            set
            {
                g_bol_CambioTipoFuente = value;
            }
            get
            {
                return g_bol_CambioTipoFuente;
            }
        }

        bool g_bol_Seleccionado = false;
        public bool Exferia_Button_Situacion_Seleccionado
        {
            set
            {
                g_bol_Seleccionado = value;

                if (g_bol_Seleccionado)
                {
                    BackColor = Colores.G_COLOR_FONDO_BOTON_SITUACION_SELECCIONADO;
                    Update();
                }
                else
                {
                    if (!Enabled)
                    {
                        BackColor = Colores.G_COLOR_FONDO_BOTON_SITUACION_BLOQUEADO;
                        Update();
                    }
                    else
                    {
                        BackColor = Colores.G_COLOR_FONDO_BOTON_SITUACION;
                        Update();
                    }
                }
            }
            get
            {
                return g_bol_Seleccionado;
            }
        }

        bool g_bol_ReadOnly = false;
        public bool Exferia_Button_Situacion_ReadOnly
        {
            set
            {
                g_bol_ReadOnly = value;
            }
            get
            {
                return g_bol_ReadOnly;
            }
        }

        bool g_bol_Bloqueable = true;
        public bool Exferia_Button_Situacion_Bloqueable
        {
            set
            {
                g_bol_Bloqueable = value;
            }
            get
            {
                return g_bol_Bloqueable;
            }
        }

        public bool Exferia_Button_Situacion_TabStop
        {
            set
            {
                TabStop = value;

                SetStyle(ControlStyles.Selectable, value);
            }
            get
            {
                return TabStop;
            }
        }

        public Exferia_Button_Situacion()
        {
            TabStop = false;
            SetStyle(ControlStyles.Selectable, false);
            FlatStyle = FlatStyle.Flat;
            FlatAppearance.BorderSize = 1;
            FlatAppearance.BorderColor = Colores.G_COLOR_BORDE_BOTON_SITUACION;
            TextAlign = ContentAlignment.BottomCenter;
            BackgroundImageLayout = ImageLayout.Stretch;
            EnabledChanged += new System.EventHandler(Exferia_Button_Situacion_EnabledChanged);
        }

        #region Eventos Privados

        private void Exferia_Button_Situacion_EnabledChanged(object sender, EventArgs e)
        {
            if (!Enabled)
            {
                BackColor = Colores.G_COLOR_FONDO_BOTON_SITUACION_BLOQUEADO;
                Update();
            }
            else
            {
                if (g_bol_Seleccionado)
                {
                    BackColor = Colores.G_COLOR_FONDO_BOTON_SITUACION_SELECCIONADO;
                    Update();
                }
                else
                {
                    BackColor = Colores.G_COLOR_FONDO_BOTON_SITUACION;
                    Update();
                }
            }
        }
        #endregion

        #region Eventos Publicos
        protected override void OnClick(EventArgs e)
        {
            if (!Exferia_Button_Situacion_ReadOnly)
            {
                base.OnClick(e);
            }
        }

       
        #endregion

    }
}
