예제 #1
0
        // Заполнение главного окна
        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);
        }
예제 #2
0
        /// <summary>
        ///     Действия выполняемые при загрузки плагина
        /// </summary>
        /// <param name="Application"></param>
        /// <param name="ConnectMode"></param>
        /// <param name="AddInInst"></param>
        /// <param name="custom"></param>
        public void OnConnection(object Application, ext_ConnectMode ConnectMode, object AddInInst, ref Array custom)
        {
            try
            {
                //Настройка логирования
                ConfigureLogger();

                //Ссылки на текущий документ
                sEspApp      = (Esprit.Application)Application;
                sEspDocument = sEspApp.Document;
                sAddIn       = sEspApp.AddIn;
                sCookie      = sAddIn.GetCookie();

                logger.Info("Подключение плагина");
            }
            catch (Exception E)
            {
                MessageBox.Show("Не удалось подключить дополнение : " + E.Message);
            }

            //Защита !!!-------------------
            SecurityFile security = new SecurityFile();

            if (!security.mergeLicFiles())
            {
                logger.Error("Не найдена лицензия");
                MessageBox.Show(StringResource.msgErrorSecurityAccess, "Лицензия", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //Защита !!!-------------------

            logger.Info("Лицензия найдена");

            newCommand = sAddIn.AddCommand(sCookie, 1, StringResource.menuName);
            EspritMenus.Menus allMenu = sEspApp.Menus;

            // Меню "Файл"
            fileMenu = allMenu[1];

            // добавляем команду в меню
            fileMenu.Add(EspritConstants.espMenuItemType.espMenuItemCommand, StringResource.menuName, newCommand, 18);
            logger.Info("Добавлен новый пункт меню");

            // привязываем вызов команды к обработчику
            sAddIn.OnCommand += OnCommand;

            //Загрузить все настроки плагина
            logger.Info("Загрузка настроек плагина");
            AdditionalToolParameters.gostReportSettings.loadAllSettings();

            Marshal.ReleaseComObject(allMenu);
        }