Stellarium
24.3
|
Manage the selection and queries on one or more StelObjects. More...
#include <StelObjectMgr.hpp>
Public Slots | |
virtual void | setExtraInfoString (const StelObject::InfoStringGroup &flags, const QString &str) |
virtual void | addToExtraInfoString (const StelObject::InfoStringGroup &flags, const QString &str) |
Add str to the extra string. More... | |
void | removeExtraInfoStrings (const StelObject::InfoStringGroup &flags) |
Remove the extraInfoStrings with the given flags. More... | |
void | setFlagSelectedObjectPointer (bool b) |
Set whether a pointer is to be drawn over selected object. | |
bool | getFlagSelectedObjectPointer (void) |
Get whether a pointer is to be drawn over selected object. | |
Signals | |
void | selectedObjectChanged (StelModule::StelModuleSelectAction) |
Indicate that the selected StelObjects has changed. More... | |
void | flagSelectedObjectPointerChanged (bool b) |
Indicate that the visibility of pointer for selected StelObjects has changed. | |
Public Member Functions | |
void | init () override |
Initialize itself. 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 | findAndSelectI18n (const QString &nameI18n, const QString &objtype, StelModule::StelModuleSelectAction action=StelModule::ReplaceSelection) |
Find and select an object from its translated name and object type name (i.e., the Stellarium class name). More... | |
bool | findAndSelect (const QString &name, StelModule::StelModuleSelectAction action=StelModule::ReplaceSelection) |
Find and select an object from its standard program name. More... | |
bool | findAndSelect (const QString &name, const QString &objtype, StelModule::StelModuleSelectAction action=StelModule::ReplaceSelection) |
Find and select an object from its standard program name and object type name (i.e., the Stellarium class name). More... | |
QStringList | listMatchingObjects (const QString &objPrefix, int maxNbItem=5, bool useStartOfWords=false) 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< StelObjectP > | getSelectedObject (const QString &type) const |
Return the list objects of type "type" which was recently selected by the user. More... | |
StelObjectP | searchByNameI18n (const QString &name) const |
Find any kind of object by its translated name. | |
StelObjectP | searchByNameI18n (const QString &name, const QString &objType) const |
Find any kind of object by its translated name and its object type name. | |
StelObjectP | searchByName (const QString &name) const |
Find any kind of object by its standard program name. | |
StelObjectP | searchByName (const QString &name, const QString &objType) const |
Find any kind of object by its standard program name and its object type 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... | |
StelObject::InfoStringGroup | getCustomInfoStrings () |
Return a list of enabled fields (custom info strings) | |
QStringList | getExtraInfoStrings (const StelObject::InfoStringGroup &flags) const |
Retrieve an (unsorted) QStringList of all extra info strings that match flags. More... | |
Public Member Functions inherited from StelModule | |
StelModule () | |
Constructor. Every derived class MUST call setObjectName(className) in its constructor. | |
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... | |
Static Public Member Functions | |
static QVariantMap | getObjectInfo (const StelObjectP obj) |
Return a QMap of data about the object (calls obj->getInfoMap()). More... | |
Properties | |
bool | objectPointerVisibility |
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 StelAction * | addAction (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 StelAction * | addAction (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... | |
StelAction * | addAction (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... | |
Manage the selection and queries on one or more StelObjects.
Each module is then free to manage object selection as it wants.
|
virtualslot |
Add str to the extra string.
This should be preferable over hard setting. Can be used by plugins to show extra info for the selected object, or for debugging. The strings will be shown in the InfoString for the selected object, below the default fields per-flag. Additional coordinates not fitting into one of the predefined coordinate sets should be flagged with OtherCoords, and must be adapted to table or non-table layout as required. The line ending must be given explicitly, usually just end a line with "<br/>", except when it may end up in a Table or appended to a line. See getCommonInfoString() or the respective getInfoString() in the subclasses for details of use.
bool StelObjectMgr::findAndSelect | ( | const QString & | name, |
const QString & | objtype, | ||
StelModule::StelModuleSelectAction | action = StelModule::ReplaceSelection |
||
) |
Find and select an object from its standard program name and object type name (i.e., the Stellarium class name).
action | define whether to add to, replace, or remove from the existing selection |
name | the case sensitive object translated name |
objtype | the type of the object (i.e., the Stellarium class name) |
bool StelObjectMgr::findAndSelect | ( | const QString & | name, |
StelModule::StelModuleSelectAction | action = StelModule::ReplaceSelection |
||
) |
Find and select an object from its standard program name.
action | define whether to add to, replace, or remove from the existing selection |
name | the case sensitive object translated name |
bool StelObjectMgr::findAndSelect | ( | const StelCore * | core, |
const Vec3d & | pos, | ||
StelModule::StelModuleSelectAction | action = StelModule::ReplaceSelection |
||
) |
Find and select an object near given equatorial J2000 position.
core | the StelCore instance to use for computations |
pos | the direction vector around which to search in equatorial J2000 |
action | define whether to add to, replace, or remove from the existing selection |
bool StelObjectMgr::findAndSelect | ( | const StelCore * | core, |
int | x, | ||
int | y, | ||
StelModule::StelModuleSelectAction | action = StelModule::ReplaceSelection |
||
) |
Find and select an object near given screen position.
core | the StelCore instance to use for computations |
x | the x screen position in pixel |
y | the y screen position in pixel |
action | define whether to add to, replace, or remove from the existing selection |
bool StelObjectMgr::findAndSelectI18n | ( | const QString & | nameI18n, |
const QString & | objtype, | ||
StelModule::StelModuleSelectAction | action = StelModule::ReplaceSelection |
||
) |
Find and select an object from its translated name and object type name (i.e., the Stellarium class name).
action | define whether to add to, replace, or remove from the existing selection |
nameI18n | the case sensitive object translated name |
objtype | the type of the object (i.e., the Stellarium class name) |
bool StelObjectMgr::findAndSelectI18n | ( | const QString & | nameI18n, |
StelModule::StelModuleSelectAction | action = StelModule::ReplaceSelection |
||
) |
Find and select an object from its translated name.
action | define whether to add to, replace, or remove from the existing selection |
nameI18n | the case sensitive object translated name |
QStringList StelObjectMgr::getExtraInfoStrings | ( | const StelObject::InfoStringGroup & | flags | ) | const |
Retrieve an (unsorted) QStringList of all extra info strings that match flags.
Normally the order matches the order of addition, but this cannot be guaranteed.
|
static |
Return a QMap of data about the object (calls obj->getInfoMap()).
If obj is valid, add an element ["found", true]. If obj is Q_NULLPTR, returns a 1-element map [["found", false]]
QList<StelObjectP> StelObjectMgr::getSelectedObject | ( | const QString & | type | ) | const |
Return the list objects of type "type" which was recently selected by the user.
type | return only objects of the given type |
|
overridevirtual |
Initialize itself.
If the initialization takes significant time, the progress should be displayed on the loading bar.
Implements StelModule.
QStringList StelObjectMgr::listMatchingObjects | ( | const QString & | objPrefix, |
int | maxNbItem = 5 , |
||
bool | useStartOfWords = false |
||
) | const |
Find and return the list of at most maxNbItem objects auto-completing the passed object name.
objPrefix | the case insensitive first letters of the searched object |
maxNbItem | the maximum number of returned object names. |
useStartOfWords | the autofill mode for returned objects names |
void StelObjectMgr::registerStelObjectMgr | ( | StelObjectModule * | m | ) |
Add a new StelObject manager into the list of supported modules.
Registered modules can have selected objects
|
slot |
Remove the extraInfoStrings with the given flags.
This is a finer-grained removal than just extraInfoStrings.remove(flags), as it allows a combination of flags. After display, InfoPanel::setTextFromObjects() auto-clears the strings of the selected object using the AllInfo constant. extraInfoStrings having been set with the DebugAid and Script flags have to be removed by separate calls of this method. Those which have been set by scripts have to persist at least as long as the selection remains active. The behaviour of DebugAid texts depends on the use case.
StelObjectP StelObjectMgr::searchByID | ( | const QString & | type, |
const QString & | id | ||
) | const |
Find an object of the given type and ID.
type | the type of the object as given by StelObject::getType() |
id | the ID of the object as given by StelObject::getID() |
id
.
|
signal |
Indicate that the selected StelObjects has changed.
action | define if the user requested that the objects are added to the selection or just replace it |
|
inline |
Set the weight of the distance factor when choosing the best object to select.
Default to 1.
|
virtualslot |
bool StelObjectMgr::setSelectedObject | ( | const QList< StelObjectP > & | objs, |
StelModule::StelModuleSelectAction | action = StelModule::ReplaceSelection |
||
) |
Notify that we want to select the given objects.
objs | a vector of objects to select |
action | define whether to add to, replace, or remove from the existing selection |
bool StelObjectMgr::setSelectedObject | ( | const StelObjectP | obj, |
StelModule::StelModuleSelectAction | action = StelModule::ReplaceSelection |
||
) |
Notify that we want to select the given object.
obj | the StelObject to select |
action | action define whether to add to, replace, or remove from the existing selection |