Stellarium  0.16.1
List of all members | Public Slots | Public Member Functions
LabelMgr Class Reference

Allows for creation of custom labels on objects or coordinates. More...

#include <LabelMgr.hpp>

+ Inheritance diagram for LabelMgr:
+ Collaboration diagram for LabelMgr:

Public Slots

int labelObject (const QString &text, const QString &objectName, bool visible=true, float fontSize=14, const QString &fontColor="#999999", const QString &side="E", double labelDistance=-1.0, const QString &style="TextOnly")
 Create a label which is attached to a StelObject. More...
 
int labelHorizon (const QString &text, float az, float alt, bool visible=true, float fontSize=14, const QString &fontColor="#999999")
 Create a label in azimuthal coordinate system. More...
 
int labelScreen (const QString &text, int x, int y, bool visible=true, float fontSize=14, const QString &fontColor="#999999")
 Create a label at fixed screen coordinates. More...
 
bool getLabelShow (int id)
 find out if a label identified by id is presently shown More...
 
void setLabelShow (int id, bool show)
 set a label identified by id to be shown or not More...
 
void setLabelText (int id, const QString &newText)
 set text of label identified by id to be newText More...
 
bool deleteLabel (int id)
 Delete a label by the ID which was returned from addLabel... More...
 
int deleteAllLabels (void)
 Delete all labels. More...
 

Public Member Functions

 LabelMgr ()
 Construct a LabelMgr object. More...
 
virtual void init ()
 Initialize the LabelMgr object. More...
 
virtual void draw (StelCore *core)
 Draw user labels. More...
 
virtual void update (double deltaTime)
 Update time-dependent parts of the module. More...
 
virtual double getCallOrder (StelModuleActionName actionName) const
 Defines the order in which the various modules are drawn. 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 QString getModuleVersion () const
 Get the version of the module, default is stellarium main version. More...
 
virtual QString getAuthorName () const
 Get the name of the module author. More...
 
virtual QString getAuthorEmail () const
 Get the email adress of the module author. More...
 
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 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...
 

Detailed Description

Allows for creation of custom labels on objects or coordinates.

Because this class is intended for use in scripting (although other uses are also fine), all label types and so on are specified by QString descriptions. The labels are painted very late, i.e. also sky object labels will be written over the landscape. TODO: when QT4.5 is out, change implementation to use QGraphicsTextItem. (QT4.5 should allow for opacity changes for fades, but it is not currently implemented.

Definition at line 46 of file LabelMgr.hpp.

Constructor & Destructor Documentation

LabelMgr::LabelMgr ( )

Construct a LabelMgr object.

Member Function Documentation

int LabelMgr::deleteAllLabels ( void  )
slot

Delete all labels.

Returns
the number of labels deleted
bool LabelMgr::deleteLabel ( int  id)
slot

Delete a label by the ID which was returned from addLabel...

Returns
true if the id existed and was deleted, else false
virtual void LabelMgr::draw ( StelCore core)
virtual

Draw user labels.

Reimplemented from StelModule.

virtual double LabelMgr::getCallOrder ( StelModuleActionName  actionName) const
virtual

Defines the order in which the various modules are drawn.

Reimplemented from StelModule.

bool LabelMgr::getLabelShow ( int  id)
slot

find out if a label identified by id is presently shown

virtual void LabelMgr::init ( )
virtual

Initialize the LabelMgr object.

Implements StelModule.

int LabelMgr::labelHorizon ( const QString &  text,
float  az,
float  alt,
bool  visible = true,
float  fontSize = 14,
const QString &  fontColor = "#999999" 
)
slot

Create a label in azimuthal coordinate system.

Can be used e.g. to show landscape features

Parameters
textthe text to display
azazimuth, degrees
altaltitude, degrees
visibleif true, the label starts displayed, else it starts hidden
fontSizesize of the font to use
fontColorHTML-like color spec, e.g. "#ffff00" for yellow
int LabelMgr::labelObject ( const QString &  text,
const QString &  objectName,
bool  visible = true,
float  fontSize = 14,
const QString &  fontColor = "#999999",
const QString &  side = "E",
double  labelDistance = -1.0,
const QString &  style = "TextOnly" 
)
slot

Create a label which is attached to a StelObject.

Parameters
textthe text to display
objectNamethe English name of the object to attach to
visibleif true, the label starts displayed, else it starts hidden
fontSizesize of the font to use
fontColorHTML-like color spec, e.g. "#ffff00" for yellow
sidewhere the label appears in relation to object:
  • "N" = above object on screen
  • "S" = below object on screen
  • "E" = to the right of the object on screen
  • "W" = to the left of the object on screen
  • "NE", "NW", "SE", "SW" work too.
Returns
a unique ID which can be used to refer to the label. returns -1 if the label could not be created (e.g. object not found)
int LabelMgr::labelScreen ( const QString &  text,
int  x,
int  y,
bool  visible = true,
float  fontSize = 14,
const QString &  fontColor = "#999999" 
)
slot

Create a label at fixed screen coordinates.

Parameters
textthe text to display
xthe horizontal position on the screen, in pixels, from the left of the screen
ythe vertical position on the screen, in pixels, from the top of the screen
visibleif true, the label starts displayed, else it starts hidden
fontSizesize of the font to use
fontColorHTML-like color spec, e.g. "#ffff00" for yellow
void LabelMgr::setLabelShow ( int  id,
bool  show 
)
slot

set a label identified by id to be shown or not

void LabelMgr::setLabelText ( int  id,
const QString &  newText 
)
slot

set text of label identified by id to be newText

virtual void LabelMgr::update ( double  deltaTime)
virtual

Update time-dependent parts of the module.

Implements StelModule.


The documentation for this class was generated from the following file: