Настройки файла AssemblyInfo.cs
Назначение наименования плагина:
[assembly: AssemblyTitle(«Наш новый плагин»)]
Определение плагина при загрузке:
[assembly: Guid(«2247ac22-69f8-46f4-99af-650eea2187b3»)]
Определение версии плагина:
[assembly: AssemblyVersion(«1.0.0.0»)]
Определение версии файла:
[assembly: AssemblyFileVersion(«1.0.0.0»)]
Описание методов интерфейса IMainPlugin
Интерфейс служит для начальной загрузки плагина MapEditor GS, в котором осуществляется определение имени Плагина(Name), его идентификационного ключа (GUID), запуск функции инициализации (StartPlugin) и возможной реализации интерфейса для настройки плагина (SettingsForm).
Описание интерфейса public interface IMainPlugin
public interface IMainPlugin
{
/// <summary> Название плагина
/// </summary>
string Name { get; }
/// <summary> Guid плагина
/// </summary>
string GUID { get; }
/// <summary> Основная функция инициализации плагина
/// </summary>
/// Параметры в settings файле
/// Интерфейс работы с базой
/// Интерфейс работы с окнами
void StartPlugin(XElement XSettings, IMainApp app, IWorkClass work);
/// <summary> Получения окна настройки плагина
/// </summary>
Forms.IControlSettings SettingsForm { get; }
}
Свойства Name и GUID
Свойства Name и GUID используются для идентификации плагина и должны всегда иметь реализацию:
string Interfaces.IMainPlugin.Name { get { return AssemblyClass.GetName(Assembly.GetExecutingAssembly()); } } string Interfaces.IMainPlugin.GUID { get { return AssemblyClass.GetGuid(Assembly.GetExecutingAssembly()); } }
Функция «AssemblyClass.GetName» считывает с манифеста сборки свойство «AssemblyTitle», функция «AssemblyClass.GetGuid» считывает с манифеста сборки свойство «Guid». Функция «StartPlugin»void StartPlugin(XElement XSettings, IMainApp app, IWorkClass work);
Функция выполняется сразу после подключения ее к MapEditor GS, и должна содержать функции подключения к интерфейсу.
Также этой функции передаются переменные XSettings, app и work.
Переменные в «StartPlugin»
XSettings
Пример:<guid-B2AB5A1F-6404-4528-B32B-5E3A002B9C0C isEnable=«true»> <Port>100/<Port> <Speed>9600/<Speed> <guid-B2AB5A1F-6404-4528-B32B-5E3A002B9C0C> или <guid-2247ac22-69f8-46f4-99af-650eea2187b3 isEnable=«true»/>
app
Используется для работы с метаданными, содержит функции получения списка таблиц, ее полей, а также переменная.
app.mapLib
Содержит функции для редактирования визуального интерфейса программы (добавление меню, подмена формы атрибутики).
Свойство «SettingsForm» задает интерфейс окна «Настройки»:Forms.IControlSettings SettingsForm { get; }
Свежие комментарии