Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

  1. Добавьте в проект ссылки на следующие сборки ЛЭРС Framework: Lers.Plugins, Lers.Plugins.Attributes, Lers.System.

  2. Создайте свой класс, реализующий интерфейс IPlugin и содержащий в себе метод Initialize.

    Пример
    public class Plugin: IPlugin
    {
    	private IPluginHost pluginHost;
    
    	public void Initialize(IPluginHost pluginHost)
    	{
    		this.pluginHost = pluginHost;
    	}
    }
  3. Определите точку входа для работы внешнего модуля.

    1. Запуск через пункт главного меню.

      Пример
      public class Plugin: IPlugin
      {
      	public void Initialize(IPluginHost pluginHost)
      	{
      		foreach (var item in this.pluginHost.MainWindow.MainMenu.Items)
      		{
      			if (item.ID == (int)Lers.UI.SystemMenuId.Service)
      			{
      				// Добавляем подпункт в пункт главного меню Сервис.
      				item.AddItem("Запустить внешний модуль", Properties.Resources.Image, true, OnItemClick);
      			}
      		}
      	}
       
      	private void OnItemClick(object sender, EventArgs e)
      	{	
      		// TODO: Код работы внешнего модуля
      	}
      }
    2. Запуск через пункт панели параметров Действия и контекстного меню на списках точек и объектов учета.

      Пример
      public class Plugin: IPlugin
      {
      	public void Initialize(IPluginHost pluginHost)
      	{
      		// Регистрируем пункт для панели Действия и контекстного меню.
      		Plugin.Host.MainWindow.RegisterObjectAction(ObjectType.MeasurePoint, "Запустить внешний модуль", null, OnItemClick);
      	}
      
       
      	private void OnItemClick(int actionId, object sender)
      	{	
      		// TODO: Код работы внешнего модуля
      	}
      }
    3. Запуск через шеврон на списке точек и объектов учета.

      Пример
      public class Plugin: IPlugin
      {
      	public void Initialize(IPluginHost pluginHost)
      	{
      		Plugin.Host.MainWindow.AddChevron(ObjectType.MeasurePoint, "Запустить внешний модуль", Properties.Resources.Image, OnChevronPress);
      	}
       
      	private void OnChevronPress(object sender, ChevronPressEventArgs e)
      	{	
      		// TODO: Код работы внешнего модуля
      	}
      }
  4. Добавьте следующие атрибуты внешнего модуля в файл AssemblyInfo.cs: AssemblyPlugin, AssemblyPluginWebsite, AssemblyPluginEmail.

    Пример
    [assembly: AssemblyPlugin("326DF6ED-3786-1693-AA79-C710B56B2AF0")]
    [assembly: AssemblyPluginWebsite("http://www.domain.ru")]
    [assembly: AssemblyPluginEmail("support@domain.ru")]

 

  • No labels