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

namespace Teplomer
{
    public partial class Import : Form
    {
        public uint pocetZarizeni = 0;

        FTDI zarizeni = new FTDI();
        public Import()
        {
            InitializeComponent();
            comboBox1_Click(comboBox1, new EventArgs());
            if (pocetZarizeni < 1)
                MessageBox.Show("K počítači není připojeno žádné podporované zařízení");
            if (pocetZarizeni == 1) 
                otevrit_Click(otevrit, new EventArgs());
        }
        private void Import_FormClosed(object sender, FormClosedEventArgs e)
        {
            if (zarizeni.IsOpen)
                zarizeni.Close();
        }
        private void otevrit_Click(object sender, EventArgs e)
        {
            if (zarizeni.IsOpen)
            {
                zarizeni.Close();
                comboBox1.Enabled = true;
                otevrit.Text = "Otevřít";
                toolStripStatusLabel1.Text = "Neotevřeno";
                return;
            }
            zarizeni.OpenBySerialNumber(comboBox1.Text);
            if (!zarizeni.IsOpen)
            {
                MessageBox.Show("Zařízení se nepodařilo otevřít");
                toolStripStatusLabel1.Text = "Zařízení se nepodařilo otevřít";
                comboBox1.Enabled = true;
                return;
            }
            comboBox1.Enabled = false;
            otevrit.Enabled = true;
            toolStripStatusLabel1.Text = "Otevřeno";
            otevrit.Text = "Zavřít";
        }
        private void comboBox1_Click(object sender, EventArgs e)
        {
            zarizeni.GetNumberOfDevices(ref pocetZarizeni);
            comboBox1.Items.Clear();
            if (pocetZarizeni < 1)
            {
                otevrit.Enabled = false;
                return;
            }
            else
            {
                FTDI.FT_DEVICE_INFO_NODE[] idCIsla = new FTDI.FT_DEVICE_INFO_NODE[pocetZarizeni];
                zarizeni.GetDeviceList(idCIsla);
                foreach (FTDI.FT_DEVICE_INFO_NODE a in idCIsla)
                {
                    comboBox1.Items.Add(a.SerialNumber.ToString());
                    comboBox1.SelectedIndex = 0;
                }
                otevrit.Enabled = true;
            }
        }
    }
}
