53
53
A plugin can interact with the users in many ways, not limited to:
54
54
- painting directly on the viewport like other StelModules (see the examples below);
56
56
- buttons (StelButton) added to the bottom button bar (BottomStelBar; see the examples below);
57
57
- windows (subclasses of StelDialog) that can be designed with %Qt's UI editor (see the examples and the configuration windows of the official plugins);
58
- custom controls displayed anywhere on the screen based on any of the classes that inherit <a href="http://doc.qt.nokia.com/stable/qgraphicsitem.html">QGraphicsItem</a> (see <a href="http://doc.qt.nokia.com/stable/graphicsview.html">the documentation of Qt's Graphics View Framework</a>). To get a base widget to work on, use StelGui::getSkyGui().
58
- custom controls displayed anywhere on the screen based on any of the classes that inherit <a href="http://qt-project.org/doc/qt-4.8/qgraphicsitem.html">QGraphicsItem</a> (see <a href="http://qt-project.org/doc/qt-4.8/graphicsview.html">the documentation of Qt's Graphics View Framework</a>). To get a base widget to work on, use StelGui::getSkyGui().
60
60
<em>Plugin developers - please note that classes used in plugins must inherit code from the core which is published under the GNU GPL. <strong>If you distribute a binary plugin, you must do so under the terms of the same GNU General Public License that Stellarium uses</strong> (as of August 2011, this is GNU GPL "version 2 or any later version"). No sneaky closed-source shenanigans now.</em>