diff --git a/ExternalModuleExample/MainForm.cs b/ExternalModuleExample/MainForm.cs index ccb98eb..981067a 100644 --- a/ExternalModuleExample/MainForm.cs +++ b/ExternalModuleExample/MainForm.cs @@ -9,74 +9,45 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using Lers.Utils; namespace ExternalModuleExample { /// /// Класс экранной формы /// - public partial class MainForm : Form - { + public partial class MainForm : Form + { /// /// Экземпляр хост-интерфейса клиента /// IPluginHost host; - public MainForm() - { - InitializeComponent(); - } + public MainForm() + { + InitializeComponent(); + } /// /// Инициализация формы /// /// - internal void Initialize(IPluginHost host) - { + internal void Initialize(IPluginHost host) + { // Сохраняем хост-интерфейса клиента себе в программу this.host = host; // Получам список точек учёта от сервера - MeasurePoint[] measurePointList = host.Server.MeasurePoints.GetList(); + MeasurePoint[] measurePointList = host.Server.MeasurePoints.GetList(); // Если список точек учёта не пуст - if (measurePointList != null) - { + if (measurePointList != null) + { // Проходим по всему списку - foreach (MeasurePoint measurePoint in measurePointList) - { - string measurePointType = ""; - - // Смотрим тип точки учёта и в соответствии со значением присваиваем название - switch (measurePoint.SystemType) - { - case SystemType.ColdWater: - measurePointType = "Холодное водоснабжение"; break; - - case SystemType.Electricity: - measurePointType = "Электричество"; break; - - case SystemType.Gas: - measurePointType = "Газоснабдение"; break; - - case SystemType.Heat: - measurePointType = "Теплоснабжение"; break; - - case SystemType.HotWater: - measurePointType = "Горячее водоснабжение"; break; - - case SystemType.None: - measurePointType = "Нет типа"; break; - - case SystemType.Steam: - measurePointType = "Пароснабжение"; break; - - default: - measurePointType = "Не удалось получить тип"; break; - } - + foreach (MeasurePoint measurePoint in measurePointList) + { // Добавляем запись в таболицу MainView - MainView.Rows.Add(measurePoint.FullTitle, measurePointType); + MainView.Rows.Add(measurePoint.FullTitle, EnumUtils.GetDescription(measurePoint.SystemType)); } // Ставим авто-ширину столбцов в такой режим, что суммарная ширина всех столбцов @@ -84,11 +55,11 @@ namespace ExternalModuleExample MainView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; } - else + else // Если список точек учёта пуст, выводим сообщение - MessageBox.Show("Список точек учёта пуст", - "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning); - } + MessageBox.Show("Список точек учёта пуст", + "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } - } + } } diff --git a/ExternalModuleExample/Plugin.cs b/ExternalModuleExample/Plugin.cs index c3e4f75..c4ffbea 100644 --- a/ExternalModuleExample/Plugin.cs +++ b/ExternalModuleExample/Plugin.cs @@ -11,113 +11,113 @@ namespace ExternalModuleExample /// Класс, реализующий интерфейс IPlugin /// public class Plugin : IPlugin - { - /// - /// Экземпляр хост-интерфейса клиента - /// - internal static IPluginHost Host { get; private set; } + { + /// + /// Экземпляр хост-интерфейса клиента + /// + internal static IPluginHost Host { get; private set; } - /// - /// Список открытых окон - /// - private List visibleForms = new List(); + /// + /// Список открытых окон + /// + private List visibleForms = new List(); /// /// Метод, вызывающийся во время запуска клиента /// /// public void Initialize(IPluginHost pluginHost) - { + { // Копируем экземпляр хост-интерфейса клиента в нашу программу Host = pluginHost; - // Ищем меню Сервис. - foreach (var item in Host.MainWindow.MainMenu.Items) - { - if (item.ID == (int)Lers.UI.SystemMenuId.Service) - { - // Добавляем подпункт в пункт главного меню Сервис. - item.AddItem("Пример внешнего модуля", Properties.Resources.Icon, true, OnItemClick); - } - } - } + // Ищем меню Сервис. + foreach (var item in Host.MainWindow.MainMenu.Items) + { + if (item.ID == (int)Lers.UI.SystemMenuId.Service) + { + // Добавляем подпункт в пункт главного меню Сервис. + item.AddItem("Пример внешнего модуля", Properties.Resources.Icon, true, OnItemClick); + } + } + } - /// - /// Событие выбора приложения в меню Сервис - /// - /// - /// - private void OnItemClick(object sender, EventArgs e) - { - // Проверим, открыто ли такое окно - MainForm currentForm = GetOpenedForm(); + /// + /// Событие выбора приложения в меню Сервис + /// + /// + /// + private void OnItemClick(object sender, EventArgs e) + { + // Проверим, открыто ли такое окно + MainForm currentForm = GetOpenedForm(); - // Если такого окна нет, то открываем новое - if (currentForm == null) - NewForm(); + // Если такого окна нет, то открываем новое + if (currentForm == null) + NewForm(); - //Такое окно есть, переводим фокус на него - else - { - currentForm.Show(); - currentForm.Focus(); - } - } + //Такое окно есть, переводим фокус на него + else + { + currentForm.Show(); + currentForm.Focus(); + } + } - /// - /// Возвращает открытую форму или null если формы нет - /// - /// - private MainForm GetOpenedForm() - { - lock (this.visibleForms) - { - foreach (MainForm form in this.visibleForms) - { - return form; - } - } + /// + /// Возвращает открытую форму или null если формы нет + /// + /// + private MainForm GetOpenedForm() + { + lock (this.visibleForms) + { + foreach (MainForm form in this.visibleForms) + { + return form; + } + } - return null; - } + return null; + } - /// - /// Открываем новое окно - /// - private void NewForm() - { - // Создаём новый экземпляр формы - MainForm mainForm = new MainForm() { Text = "Пример внешнего модуля" }; + /// + /// Открываем новое окно + /// + private void NewForm() + { + // Создаём новый экземпляр формы + MainForm mainForm = new MainForm() { Text = "Пример внешнего модуля" }; - // Инициализируем форму - mainForm.Initialize(Host); + // Инициализируем форму + mainForm.Initialize(Host); - // Добавляем форму в список окон в программе - Host.MainWindow.AddPage(mainForm); + // Добавляем форму в список окон в программе + Host.MainWindow.AddPage(mainForm); - // Открываем форму - mainForm.Show(); + // Открываем форму + mainForm.Show(); - // Добавляем событие на закрытие формы - mainForm.FormClosed += new System.Windows.Forms.FormClosedEventHandler(currentForm_FormClosed); + // Добавляем событие на закрытие формы + mainForm.FormClosed += new System.Windows.Forms.FormClosedEventHandler(currentForm_FormClosed); - lock (this.visibleForms) - { - this.visibleForms.Add(mainForm); - } - } + lock (this.visibleForms) + { + this.visibleForms.Add(mainForm); + } + } - /// - /// Закрыто окно. Удаляем его из списка открытых окон. - /// - /// - /// - void currentForm_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e) - { - lock (this.visibleForms) - { - this.visibleForms.Remove((MainForm)sender); - } - } - } + /// + /// Закрыто окно. Удаляем его из списка открытых окон. + /// + /// + /// + void currentForm_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e) + { + lock (this.visibleForms) + { + this.visibleForms.Remove((MainForm)sender); + } + } + } }