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