public FormConsultActiveTest(ConsultProvider consult)
        {
            _consult = consult;

            InitializeComponent();
            InitializeMenu();

            //ConsultData data = new ConsultData(new DataEngine);

            ctrlScallable.Datasource = _consult.DataSource.AllActiveTests["COOLANT TEMP TEST"];
        }
Esempio n. 2
0
        private void InitializeSettings()
        {
            //Логи
            _log = Log.Instance;
            _log.CatchExceptions = true;
            _log.LogLevel        = debugFlag ? EventEntryType.Debug : EventEntryType.Event;
            _log.LogFileEnabled  = true;

            //делегат перехвата событий Click на ToolStripMenuItems
            _EHmainMenu = new EventHandler(menu_Click);

            //Инициализация класса настроек приложения
            _cfg = new Settings();
            //Если настройки дефолтовые, то возможно обновили версию.
            //вытащим настройки из предыдущей версии и сменим флаг
            if (_cfg.NeedUpgrade)
            {
                _cfg.Upgrade();
                _cfg.NeedUpgrade = false;
            }
            //Проверим на валидность последние пути диалогов
            if (_cfg.cfgdlgADRPath == null ||
                _cfg.cfgdlgADRPath.Length == 0 ||
                !new DirectoryInfo(_cfg.cfgdlgADRPath).Exists
                )
            {
                _cfg.cfgdlgADRPath = Environment.CurrentDirectory;
            }
            if (_cfg.cfgdlgROMPath == null ||
                _cfg.cfgdlgROMPath.Length == 0 ||
                !new DirectoryInfo(_cfg.cfgdlgROMPath).Exists
                )
            {
                _cfg.cfgdlgROMPath = Environment.CurrentDirectory;
            }

            //список доступных интерфейсов диагностики (устройств)
            _consltDataList = new ListIndexString <IConsultData>()
            {
                new ConsultData(new DataEngine()),
                new ConsultData(new DataAT()),
                new ConsultData(new DataHICAS()),
                new ConsultData(new DataAirCon()),
            };
            mnuConsultMode.DropDownItems.Clear();
            //Добавляем список режимов диагностики в меню
            foreach (IConsultData i in _consltDataList)
            {
                string            name = i.ToString();
                ToolStripMenuItem mnu  = new ToolStripMenuItem();
                //mnu.Click -= new EventHandler(menu_Click);
                //mnu.Click += new EventHandler(mnuConsultMode_Click);
                mnu.Name = mnu.Text = name;
                mnuConsultMode.DropDownItems.Add(mnu);
            }
            //Выбираем первый пункт меню по умолчанию
            mnuConsultMode_Click(
                mnuConsultMode.DropDownItems[_consltDataList[0].ToString()],
                new EventArgs());
            //класс работы через интерфейс consult
            _consult = new ConsultProvider(_consltDataList[0]);
            //Расчитаем коэффициент скорости если размеры шин заданы
            if (_cfg.cfgTyreOrigin != null && _cfg.cfgTyreCurrent != null)
            {
                ConversionFunctions.SpeedCorrectCoefficient = TyreParams.CalcK(_cfg.cfgTyreOrigin, _cfg.cfgTyreCurrent);
            }
            //Если стоит настройка на автоподключение - подключимся к консульту
            if (_cfg.cfgConsultConnectAtStartup)
            {
                menu_Click(mnuConsultConnect);
            }

            //создаем класс работы с ROM/ADR Файлами
            _bin = new From();
            //подписываем функцию обновления интерфейса на событие смены источника данных класса
            _bin.DataSourceChanged += new From.FromEventHandler(InitFRomInterface);
            //InitInterface(_bin, null);

            //Откроем предыдущие файлы конфигурации если необходимо
            if (_cfg.cfgOpenLastConfig)
            {
                if (_cfg.cfgRecentAdrFiles.Count > 0 && File.Exists(_cfg.cfgRecentAdrFiles[0]))
                {
                    try { _bin.OpenAddressFile(_cfg.cfgRecentAdrFiles[0]); }
                    catch { }
                }
                if (_cfg.cfgRecentBinFiles.Count > 0 && File.Exists(_cfg.cfgRecentBinFiles[0]))
                {
                    try { _bin.OpenROMFile(_cfg.cfgRecentBinFiles[0]); }
                    catch { _bin.Clear(); }
                }
            }
        }