Исправил оформление кода

This commit is contained in:
Андрей Ушаков 2016-09-09 13:48:23 +10:00
parent a2801a2cbe
commit 09275140c4
2 changed files with 107 additions and 136 deletions

View File

@ -9,74 +9,45 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Lers.Utils;
namespace ExternalModuleExample
{
/// <summary>
/// Класс экранной формы
/// </summary>
public partial class MainForm : Form
{
public partial class MainForm : Form
{
/// <summary>
/// Экземпляр хост-интерфейса клиента
/// </summary>
IPluginHost host;
public MainForm()
{
InitializeComponent();
}
public MainForm()
{
InitializeComponent();
}
/// <summary>
/// Инициализация формы
/// </summary>
/// <param name="host"></param>
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);
}
}
}
}

View File

@ -11,113 +11,113 @@ namespace ExternalModuleExample
/// Класс, реализующий интерфейс IPlugin
/// </summary>
public class Plugin : IPlugin
{
/// <summary>
/// Экземпляр хост-интерфейса клиента
/// </summary>
internal static IPluginHost Host { get; private set; }
{
/// <summary>
/// Экземпляр хост-интерфейса клиента
/// </summary>
internal static IPluginHost Host { get; private set; }
/// <summary>
/// Список открытых окон
/// </summary>
private List<MainForm> visibleForms = new List<MainForm>();
/// <summary>
/// Список открытых окон
/// </summary>
private List<MainForm> visibleForms = new List<MainForm>();
/// <summary>
/// Метод, вызывающийся во время запуска клиента
/// </summary>
/// <param name="pluginHost"></param>
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);
}
}
}
/// <summary>
/// Событие выбора приложения в меню Сервис
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnItemClick(object sender, EventArgs e)
{
// Проверим, открыто ли такое окно
MainForm currentForm = GetOpenedForm();
/// <summary>
/// Событие выбора приложения в меню Сервис
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
}
/// <summary>
/// Возвращает открытую форму или null если формы нет
/// </summary>
/// <returns></returns>
private MainForm GetOpenedForm()
{
lock (this.visibleForms)
{
foreach (MainForm form in this.visibleForms)
{
return form;
}
}
/// <summary>
/// Возвращает открытую форму или null если формы нет
/// </summary>
/// <returns></returns>
private MainForm GetOpenedForm()
{
lock (this.visibleForms)
{
foreach (MainForm form in this.visibleForms)
{
return form;
}
}
return null;
}
return null;
}
/// <summary>
/// Открываем новое окно
/// </summary>
private void NewForm()
{
// Создаём новый экземпляр формы
MainForm mainForm = new MainForm() { Text = "Пример внешнего модуля" };
/// <summary>
/// Открываем новое окно
/// </summary>
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);
}
}
/// <summary>
/// Закрыто окно. Удаляем его из списка открытых окон.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void currentForm_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
{
lock (this.visibleForms)
{
this.visibleForms.Remove((MainForm)sender);
}
}
}
/// <summary>
/// Закрыто окно. Удаляем его из списка открытых окон.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void currentForm_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
{
lock (this.visibleForms)
{
this.visibleForms.Remove((MainForm)sender);
}
}
}
}