Stellarium  HEAD
Public Member Functions
StelObjectModule Class Referenceabstract

Specialization of StelModule which manages a collection of StelObject. More...

#include <StelObjectModule.hpp>

Public Member Functions

virtual QList< StelObjectPsearchAround (const Vec3d &v, double limitFov, const StelCore *core) const =0
 Search for StelObject in an area around a specified point. More...
 
virtual StelObjectP searchByNameI18n (const QString &nameI18n) const =0
 Find a StelObject by name. More...
 
virtual StelObjectP searchByName (const QString &name) const =0
 Return the matching StelObject if exists or the empty StelObject if not found. More...
 
virtual StelObjectP searchByID (const QString &id) const =0
 Return the StelObject with the given ID if exists or the empty StelObject if not found. More...
 
virtual QStringList listMatchingObjects (const QString &objPrefix, int maxNbItem=5, bool useStartOfWords=false) const
 Find and return the list of at most maxNbItem objects auto-completing passed object name. More...
 
virtual QStringList listAllObjects (bool inEnglish) const =0
 List all StelObjects. More...
 
virtual QStringList listAllObjectsByType (const QString &objType, bool inEnglish) const
 List all StelObjects by type. More...
 
virtual QString getName () const =0
 Gets a user-displayable name of the object category.
 
virtual QString getStelObjectType () const =0
 Returns the name that will be returned by StelObject::getType() for the objects this module manages.
 
bool matchObjectName (const QString &objName, const QString &objPrefix, bool useStartOfWords) const
 Auxiliary method of listMatchingObjects() More...
 
- Public Member Functions inherited from StelModule
 StelModule ()
 Constructor. Every derived class MUST call setObjectName(className) in its constructor.
 
virtual void init ()=0
 Initialize itself. More...
 
virtual void deinit ()
 Called before the module will be deleted, and before the OpenGL context is suppressed. More...
 
virtual QSettings * getSettings ()
 Return module-specific settings. More...
 
virtual void draw (StelCore *core)
 Execute all the drawing functions for this module. More...
 
virtual void update (double deltaTime)
 Update the module with respect to the time. More...
 
virtual QString getModuleVersion () const
 Get the version of the module, default is stellarium main version.
 
virtual QString getAuthorName () const
 Get the name of the module author.
 
virtual QString getAuthorEmail () const
 Get the email address of the module author.
 
virtual void handleMouseClicks (class QMouseEvent *)
 Handle mouse clicks. More...
 
virtual void handleMouseWheel (class QWheelEvent *)
 Handle mouse wheel. More...
 
virtual bool handleMouseMoves (int x, int y, Qt::MouseButtons b)
 Handle mouse moves. More...
 
virtual void handleKeys (class QKeyEvent *e)
 Handle key events. More...
 
virtual bool handlePinch (qreal scale, bool started)
 Handle pinch gesture events. More...
 
virtual double getCallOrder (StelModuleActionName actionName) const
 Return the value defining the order of call for the given action For example if stars.callOrder[ActionDraw] == 10 and constellation.callOrder[ActionDraw] == 11, the stars module will be drawn before the constellations. More...
 
virtual bool configureGui (bool show=true)
 Detect or show the configuration GUI elements for the module. More...
 

Additional Inherited Members

- Public Types inherited from StelModule
enum  StelModuleSelectAction { AddToSelection , ReplaceSelection , RemoveFromSelection }
 Enum used when selecting objects to define whether to add to, replace, or remove from the existing selection list. More...
 
enum  StelModuleActionName {
  ActionDraw , ActionUpdate , ActionHandleMouseClicks , ActionHandleMouseMoves ,
  ActionHandleKeys
}
 Define the possible action for which an order is defined. More...
 
- Protected Member Functions inherited from StelModule
class StelActionaddAction (const QString &id, const QString &groupId, const QString &text, QObject *target, const char *slot, const QString &shortcut="", const QString &altShortcut="")
 convenience methods to add an action (call to slot) to the StelActionMgr object. More...
 
class StelActionaddAction (const QString &id, const QString &groupId, const QString &text, const char *slot, const QString &shortcut="", const QString &altShortcut="")
 convenience methods to add an action (call to own slot) to the StelActionMgr object. More...
 
StelActionaddAction (const QString &id, const QString &groupId, const QString &text, QObject *contextObject, std::function< void()> lambda, const QString &shortcut="", const QString &altShortcut="")
 convenience methods to add an action (call to Lambda functor) to the StelActionMgr object. More...
 

Detailed Description

Specialization of StelModule which manages a collection of StelObject.

Instances deriving from the StelObjectModule class can be managed by the StelObjectMgr. The class defines extra abstract functions for searching and listing StelObjects.

Member Function Documentation

◆ listAllObjects()

virtual QStringList StelObjectModule::listAllObjects ( bool  inEnglish) const
pure virtual

List all StelObjects.

Parameters
inEnglishlist names in English (true) or translated (false)
Returns
a list of matching object name by order of relevance, or an empty list if nothing matches

Implemented in TelescopeControl, StarMgr, SolarSystem, NomenclatureMgr, NebulaMgr, HighlightMgr, CustomObjectMgr, ConstellationMgr, AsterismMgr, Supernovae, Satellites, Quasars, Pulsars, Novae, MissingStars, MeteorShowers, and Exoplanets.

◆ listAllObjectsByType()

virtual QStringList StelObjectModule::listAllObjectsByType ( const QString &  objType,
bool  inEnglish 
) const
virtual

List all StelObjects by type.

Parameters
objTypeobject type
inEnglishlist translated names (false) or in English (true)
Returns
a list of matching object name by order of relevance, or an empty list if nothing matches

Reimplemented in StarMgr, SolarSystem, NomenclatureMgr, and NebulaMgr.

◆ listMatchingObjects()

virtual QStringList StelObjectModule::listMatchingObjects ( const QString &  objPrefix,
int  maxNbItem = 5,
bool  useStartOfWords = false 
) const
virtual

Find and return the list of at most maxNbItem objects auto-completing passed object name.

Parameters
objPrefixthe first letters of the searched object
maxNbItemthe maximum number of returned object names
useStartOfWordsdecide if start of word is searched
Returns
a list of matching object name by order of relevance, or an empty list if nothing matches

Reimplemented in StarMgr, SolarSystem, NebulaMgr, HighlightMgr, Satellites, Quasars, Pulsars, Novae, Exoplanets, and TelescopeControl.

◆ matchObjectName()

bool StelObjectModule::matchObjectName ( const QString &  objName,
const QString &  objPrefix,
bool  useStartOfWords 
) const

Auxiliary method of listMatchingObjects()

Parameters
objNameobject name
objPrefixthe first letters of the searched object
useStartOfWordsdecide if start of word is searched
Returns
true if it matches

◆ searchAround()

virtual QList<StelObjectP> StelObjectModule::searchAround ( const Vec3d v,
double  limitFov,
const StelCore core 
) const
pure virtual

Search for StelObject in an area around a specified point.

The function searches in a disk of diameter limitFov centered on v. Only visible objects (i.e. currently displayed on screen) should be returned.

Parameters
vequatorial position at epoch J2000 (without aberration).
limitFovangular diameter of the searching zone in degree.
corethe StelCore instance to use.
Returns
the list of all the displayed objects contained in the defined zone.

Implemented in StarMgr, SolarSystem, NomenclatureMgr, NebulaMgr, HighlightMgr, CustomObjectMgr, ConstellationMgr, AsterismMgr, TelescopeControl, Supernovae, Satellites, Quasars, Pulsars, Novae, MissingStars, MeteorShowers, and Exoplanets.

◆ searchByID()

virtual StelObjectP StelObjectModule::searchByID ( const QString &  id) const
pure virtual

Return the StelObject with the given ID if exists or the empty StelObject if not found.

Parameters
namethe english object name

Implemented in StarMgr, SolarSystem, NomenclatureMgr, NebulaMgr, HighlightMgr, CustomObjectMgr, ConstellationMgr, AsterismMgr, TelescopeControl, Supernovae, Satellites, Quasars, Pulsars, Novae, MissingStars, MeteorShowers, and Exoplanets.

◆ searchByName()

virtual StelObjectP StelObjectModule::searchByName ( const QString &  name) const
pure virtual

Return the matching StelObject if exists or the empty StelObject if not found.

Parameters
namethe english object name

Implemented in StarMgr, SolarSystem, NomenclatureMgr, NebulaMgr, HighlightMgr, CustomObjectMgr, ConstellationMgr, AsterismMgr, TelescopeControl, Supernovae, Satellites, Quasars, Pulsars, Novae, MissingStars, MeteorShowers, and Exoplanets.

◆ searchByNameI18n()

virtual StelObjectP StelObjectModule::searchByNameI18n ( const QString &  nameI18n) const
pure virtual

Find a StelObject by name.

Parameters
nameI18nThe translated name for the current sky locale.
Returns
The matching StelObject if exists or the empty StelObject if not found.

Implemented in StarMgr, SolarSystem, NomenclatureMgr, NebulaMgr, HighlightMgr, CustomObjectMgr, ConstellationMgr, AsterismMgr, TelescopeControl, Supernovae, Satellites, Quasars, Pulsars, Novae, MissingStars, MeteorShowers, and Exoplanets.