public FormConsultActiveTest(ConsultProvider consult) { _consult = consult; InitializeComponent(); InitializeMenu(); //ConsultData data = new ConsultData(new DataEngine); ctrlScallable.Datasource = _consult.DataSource.AllActiveTests["COOLANT TEMP TEST"]; }
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(); } } } }