//private void onClickMenuItem(object obj, EventArgs ev) //{ // EventPlugInMenuItemClick(obj, new PlugInMenuItem.PlugInMenuItemEventArgs(-1)); //} /// <summary> /// Обработчик события выбора (отобразить/закрыть вкладку) п. меню /// </summary> /// <param name="obj">Объект загруженной библиотеки вкладки</param> private void postOnClickMenuItem(object obj) { int idPlugIn = (int)((EventArgsDataHost)obj).id_main , idFPanel = (int)((EventArgsDataHost)obj).id_detail; PlugInMenuItem plugIn = s_plugIns[idPlugIn] as PlugInMenuItem; bool bMenuItemChecked = ((ToolStripMenuItem)((EventArgsDataHost)obj).par[0]).Checked = !((ToolStripMenuItem)((EventArgsDataHost)obj).par[0]).Checked; if (bMenuItemChecked == true) { //Отобразить вкладку //m_TabCtrl.AddTabPage(plugIn.GetNameMenuItem(idFPanel), idFPanel, HTabCtrlEx.TYPE_TAB.FIXED); //m_TabCtrl.TabPages[m_TabCtrl.TabCount - 1].Controls.Add((Control)plugIn.GetObject(idFPanel)); m_TabCtrl.AddTabPage((Control)plugIn.GetObject(idFPanel), plugIn.GetNameMenuItem(idFPanel), idFPanel, HTabCtrlEx.TYPE_TAB.FIXED); } else { //Закрыть вкладку m_TabCtrl.RemoveTabPage(); //plugIn.GetNameMenuItem(idFPanel) } if (m_iAutoActionTabs > 0) { m_iAutoActionTabs--; } else { ; } if (m_iAutoActionTabs == 0) {// закончился процесс автоматической загрузки (создания/добавления) вкладок if ((профайлАвтоЗагрузитьСохранитьToolStripMenuItem as ToolStripMenuItem).Checked == true) { saveProfile(); } else { ; } if ((m_TabCtrl.PrevSelectedIndex < 0) && (bMenuItemChecked == true)) {// только, если перед действием не была добавлена ни одна вкладка m_TabCtrl.PrevSelectedIndex = 0; } else { ; } } else { ; } }
/// <summary> /// Загрузить все плюгИны /// </summary> /// <param name="tableNamePlugins">Таблица с наименованиями</param> public void Load(DataTable tableFPanels, out int err) { err = 0; int idPlugIn = -1, idFPanel = -1; PlugInMenuItem plugIn = null; if (!(tableFPanels == null)) { //Цикл по строкам - идентификатрам/разрешениям использовать функц./панель из плюгина for (int i = 0; (i < tableFPanels.Rows.Count) && (err == 0); i++) { //Идентификатор плюг'ина idPlugIn = Int16.Parse(tableFPanels.Rows[i][@"ID_PLUGIN"].ToString()); if (ContainsKey(idPlugIn) == false) { plugIn = load(tableFPanels.Rows[i][@"NAME_PLUGIN"].ToString().Trim() #if _SEPARATE_APPDOMAIN , ASUTP.Helper.ProgramBase.SeparateAppDomain_UnhandledException #endif , out err) as PlugInMenuItem; if (err == 0) { //Проверка на соответствие идентификаторов в БД и коде (м.б. и не нужно???) if (((PlugInBase)plugIn)._Id == idPlugIn) { Add(idPlugIn, plugIn); } else { err = -2; } } else { ; // ошибка при загрузке плюгИна } } else { ; //plugIn уже был загружен } } } else { err = -1; Logging.Logg().Error(@"HPlugIns::Load () - входная таблица = NULL...", Logging.INDEX_MESSAGE.NOT_SET); } }
/// <summary> /// Обработчик события выбора (отобразить/закрыть вкладку) п. меню /// </summary> /// <param name="obj">Объект загруженной библиотеки вкладки</param> private void onClickMenuItem(object obj) { PlugInMenuItem plugIn = s_plugIns[(int)((EventArgsDataHost)obj).id]; ((ToolStripMenuItem)((EventArgsDataHost)obj).par[0]).Checked = !((ToolStripMenuItem)((EventArgsDataHost)obj).par[0]).Checked; if (((ToolStripMenuItem)((EventArgsDataHost)obj).par[0]).Checked == true) { //Отобразить вкладку m_TabCtrl.AddTabPage(plugIn.NameMenuItem, plugIn._Id, HTabCtrlEx.TYPE_TAB.FIXED); m_TabCtrl.TabPages[m_TabCtrl.TabCount - 1].Controls.Add((Control)plugIn.Object); } else { //Закрыть вкладку m_TabCtrl.RemoveTabPage(plugIn.NameMenuItem); } if ((m_iAutoActionTabs == 0) && ((профайлАвтоЗагрузитьСохранитьToolStripMenuItem as ToolStripMenuItem).Checked == true)) { saveProfile(); } else { ; } if (m_iAutoActionTabs > 0) { m_iAutoActionTabs--; } else { ; } }
//private void onClickMenuItem(object obj, EventArgs ev) //{ // EventPlugInMenuItemClick(obj, new PlugInMenuItem.PlugInMenuItemEventArgs(-1)); //} /// <summary> /// Обработчик события выбора (отобразить/закрыть вкладку) п. меню /// </summary> /// <param name="obj">Объект загруженной библиотеки вкладки</param> private void postOnClickMenuItem(EventArgsDataHost ev) { int idPlugIn = (int)ev.id_main , idFPanel = (int)ev.id_detail; PlugInMenuItem plugIn = s_plugIns[idPlugIn] as PlugInMenuItem; bool bMenuItemChecked = ((ToolStripMenuItem)ev.par[0]).Checked = !((ToolStripMenuItem)ev.par[0]).Checked; bool bTabRemoved = false; if (bMenuItemChecked == true) { //Отобразить вкладку //m_TabCtrl.AddTabPage(plugIn.GetNameMenuItem(idFPanel), idFPanel, HTabCtrlEx.TYPE_TAB.FIXED); //m_TabCtrl.TabPages[m_TabCtrl.TabCount - 1].Controls.Add((Control)plugIn.GetObject(idFPanel)); m_TabCtrl.AddTabPage((Control)plugIn.GetObject(idFPanel), plugIn.GetNameMenuItem(idFPanel), idFPanel, ASUTP.Control.HTabCtrlEx.TYPE_TAB.FIXED); } else { //Закрыть вкладку bTabRemoved = m_TabCtrl.RemoveTabPage(m_TabCtrl.IndexOfID(idFPanel)); //plugIn.GetNameMenuItem(idFPanel) if (bTabRemoved == false) { Logging.Logg().Warning(@"FormMain::postOnClickMenuItem (idFPanel = " + idFPanel + @") - вкладка не была закрыта...", Logging.INDEX_MESSAGE.NOT_SET); } else { ; } } if (m_iAutoActionTabs > 0) { m_iAutoActionTabs--; } else { ; } if (m_iAutoActionTabs == 0) {// закончился процесс автоматической загрузки (создания/добавления) вкладок if ((профайлАвтоЗагрузитьСохранитьToolStripMenuItem as ToolStripMenuItem).Checked == true) { saveProfile(); } else { ; } if ((m_TabCtrl.PrevSelectedIndex < 0) && (bMenuItemChecked == true)) {// только, если перед действием не была добавлена ни одна вкладка m_TabCtrl.PrevSelectedIndex = 0; } else { ; } } else { ; } }