private void ButtonSpecPluginClick(object sender, EventArgs e) { ButtonSpecHeaderGroup hg = sender as ButtonSpecHeaderGroup; DataPlugin ip = hg.Tag as DataPlugin; if (ip != null) { this.ExecutePlugin(ip); } }
private void MenuPluginClick(object sender, EventArgs e) { KryptonContextMenuItem item = sender as KryptonContextMenuItem; DataPlugin ip = item.Tag as DataPlugin; if (item != null) { this.ExecutePlugin(ip); } }
public void ImportData(DataPlugin plugin) { plugin.SetCurrentGuid(this.obj.ObjectClass.Identifier); foreach (string attr in plugin.GetNeededAttributes()) { plugin.SetData(attr, this.GetFieldValue(attr)); } plugin.Execute(); foreach (string attr in plugin.GetChangedAttributes()) { this.SetFieldValue(attr, plugin.GetData(attr)); } }
public static void ActivatePlugins() { if (!File.Exists("PipelineSegments.store")) { Rebuild(); return; } foreach (AddInToken addIn in AddInStore.FindAddIns(typeof(DataPlugin), PipelineStoreLocation.ApplicationBase)) { AddInProcess process = new AddInProcess(); process.KeepAlive = false; DataPlugin activeAddIn = addIn.Activate <DataPlugin>(process, AddInSecurityLevel.Host); plugins.Add(activeAddIn); } }
private void ExecutePlugin(DataPlugin plugin) { plugin.SetCurrentGuid(this.objectData.ObjectClass.Identifier); foreach (string attr in plugin.GetNeededAttributes()) { plugin.SetData(attr, this.objectData.ConvertToString(attr, CultureInfo.InvariantCulture)); } plugin.Execute(); foreach (string attr in plugin.GetChangedAttributes()) { this.objectData[attr] = this.objectData.ConvertFromString(attr, plugin.GetData(attr), CultureInfo.InvariantCulture); } this.database.Objects.Update(this.objectData); this.collection.UpdateCurrentData(); }