Исправил оформление кода
This commit is contained in:
parent
a2801a2cbe
commit
09275140c4
@ -9,74 +9,45 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Lers.Utils;
|
||||||
|
|
||||||
namespace ExternalModuleExample
|
namespace ExternalModuleExample
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Класс экранной формы
|
/// Класс экранной формы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public partial class MainForm : Form
|
public partial class MainForm : Form
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Экземпляр хост-интерфейса клиента
|
/// Экземпляр хост-интерфейса клиента
|
||||||
/// </summary>
|
/// </summary>
|
||||||
IPluginHost host;
|
IPluginHost host;
|
||||||
|
|
||||||
public MainForm()
|
public MainForm()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Инициализация формы
|
/// Инициализация формы
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="host"></param>
|
/// <param name="host"></param>
|
||||||
internal void Initialize(IPluginHost host)
|
internal void Initialize(IPluginHost host)
|
||||||
{
|
{
|
||||||
// Сохраняем хост-интерфейса клиента себе в программу
|
// Сохраняем хост-интерфейса клиента себе в программу
|
||||||
this.host = 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)
|
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Добавляем запись в таболицу MainView
|
// Добавляем запись в таболицу 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;
|
MainView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
// Если список точек учёта пуст, выводим сообщение
|
// Если список точек учёта пуст, выводим сообщение
|
||||||
MessageBox.Show("Список точек учёта пуст",
|
MessageBox.Show("Список точек учёта пуст",
|
||||||
"Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
"Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,113 +11,113 @@ namespace ExternalModuleExample
|
|||||||
/// Класс, реализующий интерфейс IPlugin
|
/// Класс, реализующий интерфейс IPlugin
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class Plugin : IPlugin
|
public class Plugin : IPlugin
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Экземпляр хост-интерфейса клиента
|
/// Экземпляр хост-интерфейса клиента
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static IPluginHost Host { get; private set; }
|
internal static IPluginHost Host { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Список открытых окон
|
/// Список открытых окон
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private List<MainForm> visibleForms = new List<MainForm>();
|
private List<MainForm> visibleForms = new List<MainForm>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Метод, вызывающийся во время запуска клиента
|
/// Метод, вызывающийся во время запуска клиента
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="pluginHost"></param>
|
/// <param name="pluginHost"></param>
|
||||||
public void Initialize(IPluginHost pluginHost)
|
public void Initialize(IPluginHost pluginHost)
|
||||||
{
|
{
|
||||||
// Копируем экземпляр хост-интерфейса клиента в нашу программу
|
// Копируем экземпляр хост-интерфейса клиента в нашу программу
|
||||||
Host = pluginHost;
|
Host = pluginHost;
|
||||||
|
|
||||||
// Ищем меню Сервис.
|
// Ищем меню Сервис.
|
||||||
foreach (var item in Host.MainWindow.MainMenu.Items)
|
foreach (var item in Host.MainWindow.MainMenu.Items)
|
||||||
{
|
{
|
||||||
if (item.ID == (int)Lers.UI.SystemMenuId.Service)
|
if (item.ID == (int)Lers.UI.SystemMenuId.Service)
|
||||||
{
|
{
|
||||||
// Добавляем подпункт в пункт главного меню Сервис.
|
// Добавляем подпункт в пункт главного меню Сервис.
|
||||||
item.AddItem("Пример внешнего модуля", Properties.Resources.Icon, true, OnItemClick);
|
item.AddItem("Пример внешнего модуля", Properties.Resources.Icon, true, OnItemClick);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Событие выбора приложения в меню Сервис
|
/// Событие выбора приложения в меню Сервис
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
private void OnItemClick(object sender, EventArgs e)
|
private void OnItemClick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// Проверим, открыто ли такое окно
|
// Проверим, открыто ли такое окно
|
||||||
MainForm currentForm = GetOpenedForm();
|
MainForm currentForm = GetOpenedForm();
|
||||||
|
|
||||||
// Если такого окна нет, то открываем новое
|
// Если такого окна нет, то открываем новое
|
||||||
if (currentForm == null)
|
if (currentForm == null)
|
||||||
NewForm();
|
NewForm();
|
||||||
|
|
||||||
//Такое окно есть, переводим фокус на него
|
//Такое окно есть, переводим фокус на него
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
currentForm.Show();
|
currentForm.Show();
|
||||||
currentForm.Focus();
|
currentForm.Focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Возвращает открытую форму или null если формы нет
|
/// Возвращает открытую форму или null если формы нет
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private MainForm GetOpenedForm()
|
private MainForm GetOpenedForm()
|
||||||
{
|
{
|
||||||
lock (this.visibleForms)
|
lock (this.visibleForms)
|
||||||
{
|
{
|
||||||
foreach (MainForm form in this.visibleForms)
|
foreach (MainForm form in this.visibleForms)
|
||||||
{
|
{
|
||||||
return form;
|
return form;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Открываем новое окно
|
/// Открываем новое окно
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void NewForm()
|
private void NewForm()
|
||||||
{
|
{
|
||||||
// Создаём новый экземпляр формы
|
// Создаём новый экземпляр формы
|
||||||
MainForm mainForm = new MainForm() { Text = "Пример внешнего модуля" };
|
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)
|
lock (this.visibleForms)
|
||||||
{
|
{
|
||||||
this.visibleForms.Add(mainForm);
|
this.visibleForms.Add(mainForm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Закрыто окно. Удаляем его из списка открытых окон.
|
/// Закрыто окно. Удаляем его из списка открытых окон.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
void currentForm_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
|
void currentForm_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
|
||||||
{
|
{
|
||||||
lock (this.visibleForms)
|
lock (this.visibleForms)
|
||||||
{
|
{
|
||||||
this.visibleForms.Remove((MainForm)sender);
|
this.visibleForms.Remove((MainForm)sender);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user