Stellarium  0.20.4
Public Slots | Signals | Public Member Functions | Static Public Member Functions
StelObjectMgr Class Reference

Manage the selection and queries on one or more StelObjects. More...

#include <StelObjectMgr.hpp>

Public Slots

void nextTransit ()
 Set simulation time to the time of next transit of selected object.
 
void previousTransit ()
 Set simulation time to the time of previous transit of selected object.
 
void todayTransit ()
 Set simulation time to the time of today's transit of selected object.
 
void nextRising ()
 Set simulation time to the time of next rising of selected object (if applicable)
 
void previousRising ()
 Set simulation time to the time of previous rising of selected object (if applicable)
 
void todayRising ()
 Set simulation time to the time of today's rising of selected object (if applicable)
 
void nextSetting ()
 Set simulation time to the time of next setting of selected object (if applicable)
 
void previousSetting ()
 Set simulation time to the time of previous setting of selected object (if applicable)
 
void todaySetting ()
 Set simulation time to the time of today's setting of selected object (if applicable)
 

Signals

void selectedObjectChanged (StelModule::StelModuleSelectAction)
 Indicate that the selected StelObjects has changed. More...
 

Public Member Functions

virtual void init ()
 Initialize itself. More...
 
virtual void draw (StelCore *)
 Execute all the drawing functions for this module. More...
 
virtual void update (double)
 Update the module with respect to the time. More...
 
void registerStelObjectMgr (StelObjectModule *m)
 Add a new StelObject manager into the list of supported modules. More...
 
bool findAndSelect (const StelCore *core, const Vec3d &pos, StelModule::StelModuleSelectAction action=StelModule::ReplaceSelection)
 Find and select an object near given equatorial J2000 position. More...
 
bool findAndSelect (const StelCore *core, int x, int y, StelModule::StelModuleSelectAction action=StelModule::ReplaceSelection)
 Find and select an object near given screen position. More...
 
bool findAndSelectI18n (const QString &nameI18n, StelModule::StelModuleSelectAction action=StelModule::ReplaceSelection)
 Find and select an object from its translated name. More...
 
bool findAndSelect (const QString &name, StelModule::StelModuleSelectAction action=StelModule::ReplaceSelection)
 Find and select an object from its standard program name. More...
 
QStringList listMatchingObjects (const QString &objPrefix, int maxNbItem=5, bool useStartOfWords=false, bool inEnglish=true) const
 Find and return the list of at most maxNbItem objects auto-completing the passed object name. More...
 
QStringList listAllModuleObjects (const QString &moduleId, bool inEnglish) const
 
QMap< QString, QString > objectModulesMap () const
 
bool getWasSelected (void) const
 Return whether an object was selected during last selection related event.
 
void unSelect (void)
 Notify that we want to unselect any object.
 
bool setSelectedObject (const StelObjectP obj, StelModule::StelModuleSelectAction action=StelModule::ReplaceSelection)
 Notify that we want to select the given object. More...
 
bool setSelectedObject (const QList< StelObjectP > &objs, StelModule::StelModuleSelectAction action=StelModule::ReplaceSelection)
 Notify that we want to select the given objects. More...
 
const QList< StelObjectP > & getSelectedObject () const
 Get the list of objects which was recently selected by the user.
 
QList< StelObjectPgetSelectedObject (const QString &type) const
 Return the list objects of type "withType" which was recently selected by the user. More...
 
void setFlagSelectedObjectPointer (bool b)
 Set whether a pointer is to be drawn over selected object.
 
bool getFlagSelectedObjectPointer (void) const
 Get whether a pointer is to be drawn over selected object.
 
StelObjectP searchByNameI18n (const QString &name) const
 Find any kind of object by its translated name.
 
StelObjectP searchByName (const QString &name) const
 Find any kind of object by its standard program name.
 
StelObjectP searchByID (const QString &type, const QString &id) const
 Find an object of the given type and ID. More...
 
void setObjectSearchRadius (double radius)
 Set the radius in pixel in which objects will be searched when clicking on a point in sky.
 
void setDistanceWeight (float newDistanceWeight)
 Set the weight of the distance factor when choosing the best object to select. More...
 
- Public Member Functions inherited from StelModule
virtual void deinit ()
 Called before the module will be delete, and before the openGL context is suppressed. More...
 
virtual QSettings * getSettings ()
 Return module-specific settings. 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 adress 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...
 

Static Public Member Functions

static QVariantMap getObjectInfo (const StelObjectP obj)
 Return a QMap of data about the object (calls obj->getInfoMap()). 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

Each module is then free to manage object selection as it wants.

Member Function Documentation

◆ draw()

virtual void StelObjectMgr::draw ( StelCore core)
inlinevirtual
Parameters
corethe core to use for the drawing

Reimplemented from StelModule.

◆ findAndSelect() [1/3]

bool StelObjectMgr::findAndSelect ( const StelCore core,
const Vec3d pos,
StelModule::StelModuleSelectAction  action = StelModule::ReplaceSelection 
)
Parameters
corethe StelCore instance to use for computations
posthe direction vector around which to search in equatorial J2000
actiondefine whether to add to, replace, or remove from the existing selection
Returns
true if a object was found at position (this does not necessarily means it is selected)

◆ findAndSelect() [2/3]

bool StelObjectMgr::findAndSelect ( const StelCore core,
int  x,
int  y,
StelModule::StelModuleSelectAction  action = StelModule::ReplaceSelection 
)
Parameters
corethe StelCore instance to use for computations
xthe x screen position in pixel
ythe y screen position in pixel
actiondefine whether to add to, replace, or remove from the existing selection
Returns
true if a object was found at position (this does not necessarily means it is selected)

◆ findAndSelect() [3/3]

bool StelObjectMgr::findAndSelect ( const QString &  name,
StelModule::StelModuleSelectAction  action = StelModule::ReplaceSelection 
)
Parameters
actiondefine whether to add to, replace, or remove from the existing selection
namethe case sensitive object translated name
Returns
true if a object with the passed name was found

◆ findAndSelectI18n()

bool StelObjectMgr::findAndSelectI18n ( const QString &  nameI18n,
StelModule::StelModuleSelectAction  action = StelModule::ReplaceSelection 
)
Parameters
actiondefine whether to add to, replace, or remove from the existing selection
nameI18nthe case sensitive object translated name
Returns
true if a object with the passed name was found

◆ getObjectInfo()

static QVariantMap StelObjectMgr::getObjectInfo ( const StelObjectP  obj)
static

If obj is valid, add an element ["found", true]. If obj is Q_NULLPTR, returns a 1-element map [["found", false]]

◆ getSelectedObject()

QList<StelObjectP> StelObjectMgr::getSelectedObject ( const QString &  type) const
Parameters
typereturn only objects of the given type

◆ init()

virtual void StelObjectMgr::init ( )
virtual

If the initialization takes significant time, the progress should be displayed on the loading bar.

Implements StelModule.

◆ listMatchingObjects()

QStringList StelObjectMgr::listMatchingObjects ( const QString &  objPrefix,
int  maxNbItem = 5,
bool  useStartOfWords = false,
bool  inEnglish = true 
) const
Parameters
objPrefixthe case insensitive first letters of the searched object
maxNbItemthe maximum number of returned object names.
useStartOfWordsthe autofill mode for returned objects names
Returns
a list of matching object names by order of relevance, or an empty list if nothing match

◆ registerStelObjectMgr()

void StelObjectMgr::registerStelObjectMgr ( StelObjectModule m)

Registered modules can have selected objects

◆ searchByID()

StelObjectP StelObjectMgr::searchByID ( const QString &  type,
const QString &  id 
) const
Parameters
typethe type of the object as given by StelObject::getType()
idthe ID of the object as given by StelObject::getID()
Returns
an null/invalid pointer when nothing is found, the given object otherwise.
Note
a StelObject may be found by multiple IDs (different catalog numbers, etc), so StelObject::getID() of the returned object may not be the same as the query parameter id.

◆ selectedObjectChanged

void StelObjectMgr::selectedObjectChanged ( StelModule::StelModuleSelectAction  )
signal
Parameters
actiondefine if the user requested that the objects are added to the selection or just replace it

◆ setDistanceWeight()

void StelObjectMgr::setDistanceWeight ( float  newDistanceWeight)
inline

Default to 1.

◆ setSelectedObject() [1/2]

bool StelObjectMgr::setSelectedObject ( const StelObjectP  obj,
StelModule::StelModuleSelectAction  action = StelModule::ReplaceSelection 
)
Parameters
objthe StelObject to select
actionaction define whether to add to, replace, or remove from the existing selection
Returns
true if at least 1 object was sucessfully selected

◆ setSelectedObject() [2/2]

bool StelObjectMgr::setSelectedObject ( const QList< StelObjectP > &  objs,
StelModule::StelModuleSelectAction  action = StelModule::ReplaceSelection 
)
Parameters
objsa vector of objects to select
actiondefine whether to add to, replace, or remove from the existing selection
Returns
true if at least 1 object was sucessfully selected

◆ update()

virtual void StelObjectMgr::update ( double  deltaTime)
inlinevirtual
Parameters
deltaTimethe time increment in second since last call.

Implements StelModule.