Changes between Version 75 and Version 76 of DevelopGuide


Ignore:
Timestamp:
Mar 31, 2009, 2:33:58 PM (16 years ago)
Author:
Frédéric
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DevelopGuide

    v75 v76  
    1010  * [#Model Model]
    1111  * [#View View]
     12  * [#Plugins Plugins]
    1213 * [#OutputXMLfile Output XML file]
    1314 * [#Distributing Distributing]
     
    100101=== View ===
    101102
     103=== Plugins ===
     104
     105Hello Jones,
     106
     107You 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
     111Plugins implements one or more 'capacity'. Possible capacities are:
     112
     113 * ''yawAxis''
     114 * ''pitchAxis''
     115 * ''shutter''
     116
     117The first two are responsible of yaw/pitch axis; the last is responsible of triggering the camera shutter.
     118
     119A plugin needs to implement 2 classes (for each implemented capacity): one for the model (real work), and one for the controller (configuration dialog).
     120
     121All model classes inherit from the AbstractPlugin class (defined in the papywizard/common/ package).
     122
     123Then, 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
     127Controller 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
     131Last, a plugin has to implement a register() function, which will be called at startup to register the plugin in Papywizard.
     132
     133In you case, you need to implement the 'shutter' capacity.
     134
     135Have a look at the default plugins, in the papywizard/plugins/ package to see concrete examples.
     136
     137
     138--
     139    Frédéric
     140
    102141== Output XML file  ==
    103142