// Заполнение главного окна private void InitMainForm() { // Очистка данных из прошлого сеанса AdditionalToolParameters.gostReportToolsArray.Clear(); // Загружаем параметры инструмента из файла AdditionalToolParameters.LoadToolsParameters(); // Собираем инструмент из текущего документа Esprit.Document curDocument = Connect.sEspApp.Document; if (curDocument == null) { Connect.logger.Error("Инициализация формы: пустая ссылка на документ"); } Connect.sEspDocument = curDocument; // Идем по списку инструментов в документе //currentTool = curDocument.Tools; // Идем по списку инструментов в операциях currentTool = getOperationTools(); // Пытаться загрузить пользовательские параметры bool bLoadUserParams = true; foreach (Tool Tool in currentTool) { // Добавляем инструмент в массив отчета Connect.logger.Info("Инициализация главного окна. Добавление инструмента в список для отчета"); if (!addReportTool(Tool, bLoadUserParams) && bLoadUserParams) { MessageBox.Show("Превышено время ожидания подключения в Базе данных.\nЗначения дополнительных параметров не будут загружены.", "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error); bLoadUserParams = false; } Connect.logger.Info("Инициализация главного окна. Инструмент обавлен в список для отчета"); Technology toolTech = (Technology)Tool; string[] reportTool = new string[2]; reportTool[0] = toolTech.Caption; reportTool[1] = toolTech.Name; ListViewItem newReportTool = new ListViewItem(reportTool); Connect.logger.Info("Инициализация главного окна. Добавление инструмента на форму"); listDocumentTools.Items.Add(newReportTool); } // Заполнить таблицу параметров первого инструмента Connect.logger.Info("Инициализация главного окна. Заполнение параметров первого инструмента"); fillFormReportToolParameters(0); }
// Добавить инструмент в список для отчета private bool addReportTool(Tool newReportTool, bool loadUserParams) { bool result = true; if (newReportTool == null) { return(false); } Connect.logger.Info(String.Format("Инициализация главного окна. Добавление инструмента : {0}", newReportTool.ToolID)); GostTool gostReportTool = new GostTool(AdditionalToolParameters.getGostTool((int)newReportTool.ToolStyle)); //gostReportTool = AdditionalToolParameters.getGostTool( (int) newReportTool.ToolStyle); if (gostReportTool == null) { return(false); } // Сохраняем ID инструмента gostReportTool.toolDocumentID = newReportTool.ToolID; // Сохраняем Capture Technology toolTech = (Technology)newReportTool; gostReportTool.toolType = toolTech.Name; // Записать значения параметров из инструмента Connect.logger.Info("Загрузка значений параметров"); if (!gostReportTool.addParametersValue(newReportTool, loadUserParams)) { result = false; } // Добавить инструмент для отчета в массив Connect.logger.Info("Добавление инструмента в список для отчета"); AdditionalToolParameters.gostReportToolsArray.Add(gostReportTool); return(result); }