Difference between revisions of "WireCAD.IPluginCore"

From WireCAD Online Help
Jump to: navigation, search
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
WireCAD.IPluginCore
+
WireCAD.Interfaces.IPluginCore
  
 
This interface must be implemented on any plugin used in WireCAD.
 
This interface must be implemented on any plugin used in WireCAD.
Line 39: Line 39:
 
         }
 
         }
 
         #endregion
 
         #endregion
 +
[[File:Add edit pi menu.png|200px|thumb|Add/Edit PI Info]]
 +
Though not part of the interface it is customary to include any number of methods that use the method signature below.<br>
 +
These can be called from the commandline if a Command has been registered that points to it.<br>
 +
You can register a Command in code or through a *.wpi file.<br>
 +
To edit a wpi file use the wpi file editor in '''WireCAD Plugins>Plugin Manager [Add/Edit PI Info]...'''  <br>
  
You can also include any number of methods that follow 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.
 
  
 
         #region Static Methods
 
         #region Static Methods

Latest revision as of 19:30, 5 December 2016

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
Add/Edit PI Info

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]...


       #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
   }
}