![]() To get a base widget to work on, use StelGui::getSkyGui(). custom controls displayed anywhere on the screen based on any of the classes that inherit QGraphicsItem (see the documentation of Qt's Graphics View Framework).windows (subclasses of StelDialog) that can be designed with Qt's UI editor (see the examples and the configuration windows of the official plugins).buttons ( StelButton) added to the bottom button bar ( BottomStelBar see the examples below).defining QActions triggered with keyboard shortcut combinations with StelGui::addGuiActions().painting directly on the viewport like other StelModules (see the examples below).At startup, the StelModuleMgr will load the library, and an instance of the StelModule it contains will be instantiated and added to the list of other "normal" StelModules.Ī plugin can interact with the users in many ways, not limited to: You can find some untechnical details on our wiki Plugins page.Ī plugin should contain a main class deriving from the StelModule class as well as an instance of the StelPluginInterface which allows Stellarium to load it. You can find some details for static plugins in each item of the list of plugins: See the implementation of StelModuleMgr::getPluginsList() for more details. C:/Users//AppData/Roaming/Stellarium/ (user data directory).C:/Documents and Settings/User/Application Data/Stellarium/ (user data directory). ![]() So, for example, the file tree should look like this on Windows XP: If the plugin is called "MyPlugin", then its subdirectory should be also called /MyPlugin and the main name (without the extension) of the plugin binary file should be libMyPlugin. Each plugin library must be in its own subdiretory of the /modules directory. Stellarium is looking for plugins in the /modules subdirectory of the user data directory or the installation data directory. This is why adding a new static plugin requires either asking the developers to add it to the main distribution, or creating and distributing a custom build.ĭynamic plugin libriaries need to be installed in a proper place in Stellarium's file tree to function. Static plugins require changes in the core code of Stellarium (the addition of Qt macros in several classes). This is the reason why the official plugins have been linked statically to the official release. This is used to release fixed versions of some "official" plugins together with Stellarium's releases.Īs Stellarium's plugin interface has changed over time, plugins for different versions so far are not interchangeable. They become "built-in", a part of Stellarium's binary files. static plugins are linked statically at build-time.This allows dynamic plugins to be distributed separately from Stellarium. dylib on Mac OS X) that are loaded at run-time (on start-up) by Stellarium. dynamic plugins are stand-alone dynamic libraries (separate files with.Plugins can be built and used in two different ways: We hope that the plugin system will allow third party developers to write extensions to Stellarium which might not otherwise be included in the core program, and that the system will allow for prototyping of new features before inclusion into the core. Unlike scripts, plugins must be compiled for a specific platform, and will typically only be compatible with a particular version of Stellarium. ![]() They are potentially more powerful than scripts, but are more difficult to write and maintain.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |