using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using GMLC01HerramientasCad.Logica;

namespace GMLC01HerramientasCad.Logica
{
    /// <summary>
    /// Formulario de elección de idioma
    /// </summary>
    public partial class IdiomaForm : BaseForm
    {
        /// <summary>
        /// Constructor del formulario
        /// </summary>
        public IdiomaForm()
        {
            try
            {
                InitializeComponent();
                idiomaComboBox.DisplayMember = "Descripcion";
                idiomaComboBox.ValueMember = "Codigo";
            }
            catch (Exception e)
            {
                Log.RegisterError(e);
                throw new ExcepcionGMLC(e.Message, e);
            }
        }

        private void IdiomaFormLoad(object sender, EventArgs e)
        {
            int index = 0;

            idiomaComboBox.Items.Clear ();
            foreach (Idioma idioma in ModComun.XSD.Idiomas)
            {
                if (idioma.Codigo == ModComun.Idioma)
                    index = idiomaComboBox.Items.Count;

                idiomaComboBox.Items.Add(idioma);
            }

            idiomaComboBox.SelectedIndex = index;
        }

        private void AceptarButtonClick(object sender, EventArgs e)
        {
            ModComun.Idioma = ((Idioma)idiomaComboBox.SelectedItem).Codigo;

            this.Close();
        }

        private void CancelarButtonClick(object sender, EventArgs e)
        {
            this.Close();
        }

        /// <summary>
        /// 
        /// </summary>
        public override void ActualizarIdiomaInterfaz()
        {
            try
            {
                base.ActualizarIdiomaInterfaz();

                this.idiomaLabel.Text = Properties.Resources.Idioma;
                this.toolTip1.SetToolTip(this.idiomaComboBox, Properties.Resources.ListaDeIdiomasSoportados);
                this.toolTip1.SetToolTip(this.cancelarButton, Properties.Resources.CancelarElFormulario);
                this.toolTip1.SetToolTip(this.aceptarButton, Properties.Resources.AceptarElIdiomaSeleccionado);
                this.Text = Properties.Resources.Idioma;
            }
            catch (Exception e)
            {
                Log.RegisterError(e);
                throw new ExcepcionGMLC(e.Message, e);
            }
        }

    }
}