Stellarium  0.17.0
Public Types | Public Slots | Signals | Public Member Functions | Protected Member Functions
AngleSpinBox Class Reference

A spin box for displaying/entering angular values. More...

#include <AngleSpinBox.hpp>

Public Types

enum  DisplayFormat {
  DMSLetters, DMSSymbols, DMSLettersUnsigned, DMSSymbolsUnsigned,
  HMSLetters, HMSSymbols, DecimalDeg
}
 Used to decide how to display the angle. More...
 
enum  PrefixType {
  Normal, NormalPlus, Longitude, Latitude,
  Unknown
}
 Determines how positive and negative values are indicated. More...
 

Public Slots

virtual void clear ()
 Set the value to default 0 angle.
 
void setRadians (double radians)
 Set the value of the spin box in radians. More...
 
void setDegrees (double degrees)
 Set the value of the spin box in decimal degrees. More...
 

Signals

void valueChanged ()
 Emitted when the value changes.
 

Public Member Functions

 AngleSpinBox (QWidget *parent=Q_NULLPTR, DisplayFormat format=DMSSymbols, PrefixType prefix=Normal)
 
virtual void stepBy (int steps)
 
virtual QValidator::State validate (QString &input, int &pos) const
 
double valueRadians ()
 Get the angle held in the AngleSpinBox. More...
 
double valueDegrees ()
 Get the angle held in the AngleSpinBox. More...
 
void setDecimals (int places)
 Set the number of decimal places to express float values to (e.g. More...
 
int decimals ()
 Get the number of decimal places to express float values to (e.g. More...
 
void setDisplayFormat (DisplayFormat format)
 Set the display format. More...
 
DisplayFormat displayFormat ()
 Get the current display format. More...
 
void setPrefixType (PrefixType prefix)
 Set the prefix type. More...
 
PrefixType prefixType ()
 Get the current display format. More...
 
void setMinimum (const double min, const bool isDegrees=false)
 Set the minimum value. More...
 
double getMinimum (const bool isDegrees)
 Get the minimum value. More...
 
void setMaximum (const double max, const bool isDegrees=false)
 Set the maximum value. More...
 
double getMaximum (const bool isDegrees)
 Get the maximum value. More...
 

Protected Member Functions

virtual StepEnabled stepEnabled () const
 

Detailed Description

This class can accept angles in various formats commonly used in astronomy including decimal degrees, DMS and HMS. You should set upper and lower limits (maximum, minimum) and decide whether the values wrap around or are blocked at the limits (wrapping).

Member Enumeration Documentation

Enumerator
DMSLetters 

Degrees, minutes and seconds, e.g. 180d 4m 8s, with negative values, [-360..360d].

DMSSymbols 

Degrees, minutes and seconds, e.g. 180° 4' 8", with negative values, [-360..360°].

DMSLettersUnsigned 

Degrees, minutes and seconds, e.g. 180d 4m 8s, [0..360d].

DMSSymbolsUnsigned 

Degrees, minutes and seconds, e.g. 180° 4' 8", [0..360°].

HMSLetters 

Hours, minutes and seconds, e.g. 12h 4m 6s.

HMSSymbols 

Hours, minutes and seconds, e.g. 12h 4' 6s".

DecimalDeg 

Decimal degrees, e.g. 180.06888.

Enumerator
Normal 

negative values have '-' prefix

NormalPlus 

positive values have '+' prefix, negative values have '-' prefix.

Longitude 

positive values have 'E' prefix, negative values have 'W' prefix.

Latitude 

positive values have 'N' prefix, negative values have 'S' prefix.

Member Function Documentation

int AngleSpinBox::decimals ( )
inline

seconds in DMSLetters format).

Returns
the number of decimal places used.
DisplayFormat AngleSpinBox::displayFormat ( )
inline
Returns
the current DisplayFormat.
double AngleSpinBox::getMaximum ( const bool  isDegrees)
inline
Returns
the current maximum value
Parameters
isDegreestrue if the maximum value is required in degrees, else max is returned as radians.
double AngleSpinBox::getMinimum ( const bool  isDegrees)
inline
Returns
the current minimum value
Parameters
isDegreestrue if the minimum value is required in degrees, else min is returned as radians.
PrefixType AngleSpinBox::prefixType ( )
inline
Returns
the current DisplayFormat.
void AngleSpinBox::setDecimals ( int  places)
inline

seconds in DMSLetters format).

Parameters
placesthe number of decimal places to use.
void AngleSpinBox::setDegrees ( double  degrees)
slot
Parameters
degreesthe value to set, in decimal degrees.
void AngleSpinBox::setDisplayFormat ( DisplayFormat  format)
inline
Parameters
formatthe new format to use.
void AngleSpinBox::setMaximum ( const double  max,
const bool  isDegrees = false 
)
inline
Parameters
maxthe new maximum value
isDegreestrue if the new maximum value is given in degrees, else max is understood as radians.
void AngleSpinBox::setMinimum ( const double  min,
const bool  isDegrees = false 
)
inline
Parameters
minthe new minimum value
isDegreestrue if the new minimum value is given in degrees, else min is understood as radians.
void AngleSpinBox::setPrefixType ( PrefixType  prefix)
inline
Parameters
prefixthe new prefix type to use.
void AngleSpinBox::setRadians ( double  radians)
slot
Parameters
radiansthe value to set, in radians.
double AngleSpinBox::valueDegrees ( )
Returns
the angle in degrees
double AngleSpinBox::valueRadians ( )
Returns
the angle in radians