WireCAD.IPluginCore
From WireCAD Online Help
Revision as of 19:21, 5 December 2016 by Wirecadadmin (Talk | contribs)
WireCAD.Interfaces.IPluginCore
This interface must be implemented on any plugin used in WireCAD. The interface follows the form:
namespace YourNameSpace { public class YourPlugin : IPluginCore { #region IPluginCore Members /// <summary> /// Called before plugin is loaded to make sure that this plugin /// has permission to run at this application mode level and /// for this person(Identity) /// </summary> /// <param name="ws">The Singleton Workspace object</param> /// <param name="id">Current user identity</param> /// <returns>should return true if the plug can load</returns> public bool HasPermissionToRun(IWorkspace ws, Identity id) { return true; } /// <summary> /// This is called when the plugin is loaded at application start /// </summary> /// <param name="ws">Singleton WireCAD Workspace object</param> public void Load(IWorkspace ws) { //init code goes here } /// <summary> /// Unload code for your plugin /// </summary> /// <param name="ws"></param> public void Unload(IWorkspace ws) { //here we place any code to unload our plugin. } #endregion
Though not part of the interface it is customary to include any number of methods that use the method signature below.
These can be called from the commandline if a Command has been registered that points to it.
You can register a Command in code or through a *.wpi file.
To edit a wpi file use the wpi file editor in WireCAD Plugins>Plugin Manager [Add/Edit PI Info]...
200px|thumb|left|Add/Edit PI Info
#region Static Methods /// <summary> /// Static method that can be called from the WireCAD command line /// </summary> /// <param name="ws">WireCAD is expecting to find this parameter</param> public static void MyFirstPluginMethod(Workspace ws) { //do your stuff here } #endregion } }