| 103 | === Plugins === |
| 104 | |
| 105 | Hello Jones, |
| 106 | |
| 107 | You seems to be familiar with programing. So, I will explain you the way to develop plugins for Papywizard. First, I suggest you use the svn repository: |
| 108 | |
| 109 | svn co http://svn.gbiloba.org/papywizard/trunk papywizard |
| 110 | |
| 111 | Plugins implements one or more 'capacity'. Possible capacities are: |
| 112 | |
| 113 | * ''yawAxis'' |
| 114 | * ''pitchAxis'' |
| 115 | * ''shutter'' |
| 116 | |
| 117 | The first two are responsible of yaw/pitch axis; the last is responsible of triggering the camera shutter. |
| 118 | |
| 119 | A plugin needs to implement 2 classes (for each implemented capacity): one for the model (real work), and one for the controller (configuration dialog). |
| 120 | |
| 121 | All model classes inherit from the AbstractPlugin class (defined in the papywizard/common/ package). |
| 122 | |
| 123 | Then, plugins implementing 'yawAxis' and 'pitchAxis' capacities can inherit from AbstractAxisPlugin, and plugins implementing the 'shutter' capacity can inherits from AbstractShutterPlugin (defined in the papywizard/hardware/ package). |
| 124 | |
| 125 | |
| 126 | |
| 127 | Controller classes inherits from AbstractPluginController class (defined in the papywizard/controller/ package). This abstract class inherits from other classes, which are responsible to load the .ui GUI defining file. |
| 128 | |
| 129 | _defineGui() |
| 130 | |
| 131 | Last, a plugin has to implement a register() function, which will be called at startup to register the plugin in Papywizard. |
| 132 | |
| 133 | In you case, you need to implement the 'shutter' capacity. |
| 134 | |
| 135 | Have a look at the default plugins, in the papywizard/plugins/ package to see concrete examples. |
| 136 | |
| 137 | |
| 138 | -- |
| 139 | Frédéric |
| 140 | |