plugIns.doxygen   plugIns.doxygen 
skipping to change at line 48 skipping to change at line 48
As Stellarium's plugin interface has changed over time, plugins for differe nt versions so far are not interchangeable. This is the reason why the offi cial plugins have been linked statically to the official release. As Stellarium's plugin interface has changed over time, plugins for differe nt versions so far are not interchangeable. This is the reason why the offi cial plugins have been linked statically to the official release.
Static plugins require changes in the core code of Stellarium (the addition of %Qt macros in several classes). This is why adding a new static plugin requires either asking the developers to add it to the main distribution, o r creating and distributing a custom build. Static plugins require changes in the core code of Stellarium (the addition of %Qt macros in several classes). This is why adding a new static plugin requires either asking the developers to add it to the main distribution, o r creating and distributing a custom build.
Dynamic plugin libriaries need to be installed in a proper place in Stellar ium's \ref fileStructure "file tree" to function. Stellarium is looking for plugins in the <tt>/modules</tt> subdirectory of the user data directory o r the installation data directory. Each plugin library must be in its own s ubdiretory of the <tt>/modules</tt> directory. If the plugin is called "MyP lugin", then its subdirectory should be also called <tt>/MyPlugin</tt> and the main name (without the extension) of the plugin binary file should be < tt>libMyPlugin</tt>. So, for example, the file tree should look like this o n Windows XP: Dynamic plugin libriaries need to be installed in a proper place in Stellar ium's \ref fileStructure "file tree" to function. Stellarium is looking for plugins in the <tt>/modules</tt> subdirectory of the user data directory o r the installation data directory. Each plugin library must be in its own s ubdiretory of the <tt>/modules</tt> directory. If the plugin is called "MyP lugin", then its subdirectory should be also called <tt>/MyPlugin</tt> and the main name (without the extension) of the plugin binary file should be < tt>libMyPlugin</tt>. So, for example, the file tree should look like this o n Windows XP:
- <tt>C:/Documents and Settings/User/Application Data/Stellarium/</tt> (us er data directory) - <tt>C:/Documents and Settings/User/Application Data/Stellarium/</tt> (us er data directory)
- <tt>modules/</tt> - <tt>modules/</tt>
- <tt>MyPlugin/</tt> - <tt>MyPlugin/</tt>
- <tt>libMyPlugin.dll</tt> - <tt>libMyPlugin.dll</tt>
On Windows 7 and later, this would be:
- <tt>C:/Users/&lt;YOU&gt;/AppData/Roaming/Stellarium/</tt> (user data dir
ectory)
- <tt>modules/</tt>
- <tt>MyPlugin/</tt>
- <tt>libMyPlugin.dll</tt>
See the implementation of StelModuleMgr::getPluginsList() for more details. See the implementation of StelModuleMgr::getPluginsList() for more details.
@section listPlugins List of Static Plugins @section listPlugins List of Static Plugins
A some details for static plugins you can find in each item of list of plug ins: You can find some details for static plugins in each item of the list of pl ugins:
- @ref angleMeasure - @ref angleMeasure
- @ref compassMarks - @ref compassMarks
- @ref oculars - @ref oculars
- @ref telescopeControl
- @ref satellites - @ref satellites
- @ref historicalSupernovae
- @ref quasars - @ref quasars
- @ref pulsars - @ref pulsars
- @ref exoplanets - @ref exoplanets
- @ref observability - @ref observability
- @ref brightNovae - @ref brightNovae
- @ref historicalSupernovae
- @ref equationOfTime - @ref equationOfTime
- @ref fieldOfView
- @ref navigationalStars - @ref navigationalStars
- @ref meteorShowers - @ref meteorShowers
- @ref fieldOfView
- @ref pointerCoordinates - @ref pointerCoordinates
- @ref scenery3D
- @ref archaeoLines - @ref archaeoLines
- @ref remoteControl - @ref remoteControl
- @ref remoteSync
You can find some untechnical details on our wiki [Plugins](http://www.stel larium.org/wiki/index.php/Plugins) page. You can find some untechnical details on our wiki [Plugins](http://www.stel larium.org/wiki/index.php/Plugins) page.
@section code Coding @section code Coding
A plugin should contain a main class deriving from the StelModule class as well as an instance of the StelPluginInterface which allows Stellarium to l oad it. At startup, the StelModuleMgr will load the library, and an instanc e of the StelModule it contains will be instantiated and added to the list of other "normal" StelModules. A plugin should contain a main class deriving from the StelModule class as well as an instance of the StelPluginInterface which allows Stellarium to l oad it. At startup, the StelModuleMgr will load the library, and an instanc e of the StelModule it contains will be instantiated and added to the list of other "normal" StelModules.
A plugin can interact with the users in many ways, not limited to: A plugin can interact with the users in many ways, not limited to:
- painting directly on the viewport like other StelModules (see the exampl es below); - painting directly on the viewport like other StelModules (see the exampl es below);
- defining [QActions](http://doc.qt.io/qt-5/qaction.html) triggered with k eyboard shortcut combinations with StelGui::addGuiActions(); - defining [QActions](http://doc.qt.io/qt-5/qaction.html) triggered with k eyboard shortcut combinations with StelGui::addGuiActions();
- buttons (StelButton) added to the bottom button bar (BottomStelBar; see the examples below); - buttons (StelButton) added to the bottom button bar (BottomStelBar; see the examples below);
 End of changes. 9 change blocks. 
3 lines changed or deleted 13 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/