|
|
(98 intermediate revisions by one user not shown) |
Line 1: |
Line 1: |
− | __NOTITLE__
| + | __NOTOC__ |
| =Welcome= | | =Welcome= |
| This part of the Wiki is dedicated to developers who would like to implement their own plug-ins for AnyWave.<br /> | | This part of the Wiki is dedicated to developers who would like to implement their own plug-ins for AnyWave.<br /> |
− | AnyWave is written using the Qt Framework and the Qt plugin mechanism, so a good knowledge of the Qt Framework is required.
| + | {| style="text-align: center; margin: auto;" |
− | | + | |+ Quick Navigation |
− | =Requirements= | + | |- |
− | Qt5 is the base framework used by AnyWave and thus by the plug-ins.<br />
| + | | [[File:Menu_matlab_plugin.png|400px|link=AnyWave:MATLAB_Plugin|'''Write a MATLAB Plugin''']] || [[File:Menu_cpp_plugin.png|400px|link=AnyWave:Cpp_Plugin|'''Write a c++ Plugin''']] |
− | Make sure you have the Qt5 development environment installed on your computer which will be the case if you have built AnyWave from the git repository.
| + | |- |
− | | + | | [[File:Menu_matlab_batch.png|400px|link=AnyWave:Plugin_Batch|'''Make your plugin batchable''']] || [[File:Menu_matlab_batch_gui_compatible.png|400px|link=AnyWave:MATLAB_Batch_GUI|'''Make your plugin compatible with the batch GUI of AnyWave''']] |
− | =Build the SDK=
| + | |} |
− | Click [[AnyWave:BuildSDK|here]] to see how to build AnyWave from sources.
| + | |
− | | + | |
− | =How to use the SDK= | + | |
− | A regular AnyWave plug-in is a C++ project that will be using C++ objects defined in the SDK.<br />
| + | |
− | | + | |
− | So, before creating a project to build a plug-in, the SDK must be correctly configured.<br />
| + | |
− | This is easily done by defining an environment variable called '''AWSDK''' that must contain the path to the SDK root folder location.<br />
| + | |
− | | + | |
− | On Linux and Mac systems this can be accomplished by adding the two following lines to your .bashrc file:<br />
| + | |
− | ''AWSDK=/home/user/Dev/AwSDK''<br /> | + | |
− | ''export AWSDK''
| + | |
− | | + | |
− | On Windows, this can be done by opening the Security and System/System panel. <br />
| + | |
− | Then click on the left part of the window on Advanced properties.<br />
| + | |
− | | + | |
− | '''NOTE:''' close and re-open the terminal for the changes to be applied.
| + | |
− | | + | |
− | =AnyWave C++ objects= | + | |
− | See this [[AnyWave:AwObjects|section]] of the Wiki to learn more about C++ objects defined in the SDK.
| + | |
− | | + | |
− | =How to build a plugin=
| + | |
− | The CMake tool will take care of the building step for your plugin.<br />
| + | |
− | So, it is strongly advised to get used with the basic cmake concepts, though, it's quite simple to set up a cmake project to build a plug-in:<br />
| + | |
− | Follow this [[AnyWave:PrepareCMake|section]] to see have to do it.
| + | |
− | | + | |
− | =[[AnyWave:BuildReader|Build a Reader plug-in]]=
| + | |
− | | + | |
− | =Build a signal processing plug-in=
| + | |
− | ==[[AnyWave:WriteMatlabScripted|How to write a MATLAB plug-in]]==
| + | |
− | | + | |
− | ==[[AnyWave:WritePythonScripted|How to write a Python Scripted plug-in]]==
| + | |
This part of the Wiki is dedicated to developers who would like to implement their own plug-ins for AnyWave.