Oculars.hpp   Oculars.hpp 
skipping to change at line 30 skipping to change at line 30
#define _OCULARS_HPP_ #define _OCULARS_HPP_
#include "VecMath.hpp" #include "VecMath.hpp"
#include "StelModule.hpp" #include "StelModule.hpp"
#include "OcularDialog.hpp" #include "OcularDialog.hpp"
#include "CCD.hpp" #include "CCD.hpp"
#include "Ocular.hpp" #include "Ocular.hpp"
#include "Telescope.hpp" #include "Telescope.hpp"
#include <QFont> #include <QFont>
#include <QSettings>
#define MIN_OCULARS_INI_VERSION 0.12 #define MIN_OCULARS_INI_VERSION 0.12
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QSqlTableModel;
class QKeyEvent; class QKeyEvent;
class QMouseEvent; class QMouseEvent;
class QPixmap; class QPixmap;
class QSqlQuery; class QSettings;
QT_END_NAMESPACE QT_END_NAMESPACE
class StelButton; class StelButton;
//! This is an example of a plug-in which can be dynamically loaded into st ellarium //! This is an example of a plug-in which can be dynamically loaded into st ellarium
class Oculars : public StelModule class Oculars : public StelModule
{ {
Q_OBJECT Q_OBJECT
public: public:
Oculars(); Oculars();
virtual ~Oculars(); virtual ~Oculars();
static QSettings* appSettings();
//////////////////////////////////////////////////////////////////// /////// //////////////////////////////////////////////////////////////////// ///////
// Methods defined in the StelModule class // Methods defined in the StelModule class
virtual void init(); virtual void init();
virtual void deinit(); virtual void deinit();
virtual bool configureGui(bool show=true); virtual bool configureGui(bool show=true);
virtual void draw(StelCore* core); virtual void draw(StelCore* core);
virtual double getCallOrder(StelModuleActionName actionName) const; virtual double getCallOrder(StelModuleActionName actionName) const;
// virtual void handleKeys(class QKeyEvent* event); //! Returns the module-specific style sheet.
//! The main StelStyle instance should be passed.
virtual const StelStyle getModuleStyleSheet(const StelStyle& style);
// virtual void handleKeys(class QKeyEvent* event);
virtual void handleMouseClicks(class QMouseEvent* event); virtual void handleMouseClicks(class QMouseEvent* event);
virtual void setStelStyle(const QString& style); virtual void setStelStyle(const QString& style);
virtual void update(double) {;} virtual void update(double) {;}
//! Returns the module-specific style sheet.
//! The main StelStyle instance should be passed.
const StelStyle getModuleStyleSheet(const StelStyle& style);
public slots: public slots:
//! This method is called with we detect that our hot key is pressed . It handles //! This method is called with we detect that our hot key is pressed . It handles
//! determining if we should do anything - based on a selected objec t - and painting //! determining if we should do anything - based on a selected objec t - and painting
//! labes to the screen. //! labes to the screen.
void enableOcular(bool b); void enableOcular(bool b);
void toggleCrosshair(); void toggleCrosshair();
void toggleTelrad(); void toggleTelrad();
void decrementCCDIndex(); void decrementCCDIndex();
skipping to change at line 92 skipping to change at line 92
void incrementTelescopeIndex(); void incrementTelescopeIndex();
signals: signals:
void selectedCCDChanged(); void selectedCCDChanged();
void selectedOcularChanged(); void selectedOcularChanged();
void selectedTelescopeChanged(); void selectedTelescopeChanged();
private slots: private slots:
//! Signifies a change in ocular or telescope. Sets new zoom level. //! Signifies a change in ocular or telescope. Sets new zoom level.
void instrumentChanged(); void instrumentChanged();
void determineMaxImageCircle(); void determineMaxEyepieceAngle();
void loadCCDs();
void loadOculars();
void loadTelescopes();
void setScaleImageCircle(bool state); void setScaleImageCircle(bool state);
private: private:
//! Renders crosshairs into the viewport. //! Renders crosshairs into the viewport.
void drawCrosshairs(); void drawCrosshairs();
//! Renders the three Telrad circles, but only if not in ocular mode . //! Renders the three Telrad circles, but only if not in ocular mode .
void drawTelrad(); void drawTelrad();
//! Insures that each required table exists in the database, as well
as instantiate the table models.
//! @return true if the DB was correctly initialized, false if it wa
s not.
bool initializeDB();
//! Set up the Qt actions needed to activate the plugin. //! Set up the Qt actions needed to activate the plugin.
void initializeActivationActions(); void initializeActivationActions();
//! Set up the Qt actions used while the plugin is active. //! Set up the Qt actions used while the plugin is active.
void initializeActions(); void initializeActions();
//! This method is needed because the MovementMgr classes handleKeys () method consumes the event. //! This method is needed because the MovementMgr classes handleKeys () method consumes the event.
//! Because we want the ocular view to track, we must intercept & pr ocess ourselves. Only called //! Because we want the ocular view to track, we must intercept & pr ocess ourselves. Only called
//! while flagShowOculars == true. //! while flagShowOculars == true.
void interceptMovementKey(class QKeyEvent* event); void interceptMovementKey(class QKeyEvent* event);
void loadDatabaseObjects();
//! Paint the mask into the viewport. //! Paint the mask into the viewport.
void paintMask(); void paintMask();
//! Paints the text about the current object selections to the upper right hand of the screen. //! Paints the text about the current object selections to the upper right hand of the screen.
//! Should only be called from a 'ready' state; currently from the d raw() method. //! Should only be called from a 'ready' state; currently from the d raw() method.
void paintText(const StelCore* core); void paintText(const StelCore* core);
//! This method is called by the zoom() method, when this plugin is toggled off; it resets to the default view. //! This method is called by the zoom() method, when this plugin is toggled off; it resets to the default view.
void unzoomOcular(); void unzoomOcular();
//! This method is responsible for insuring a valid ini file for the plugin exists. It first checks to see //! This method is responsible for insuring a valid ini file for the plugin exists. It first checks to see
//! if one exists in the expected location. If it does not, a defau lt one is copied into place, and the process //! if one exists in the expected location. If it does not, a defau lt one is copied into place, and the process
//! ends. However, if one does exist, it opens it, and looks for th e oculars_version key. The value (or even //! ends. However, if one does exist, it opens it, and looks for th e oculars_version key. The value (or even
//! presence) is used to determine if the ini file is usable. If no t, it is renamed, and a new one copied over. //! presence) is used to determine if the ini file is usable. If no t, it is renamed, and a new one copied over.
//! It does not ty to cope values over. //! It does not ty to cope values over.
void validateIniFile(); //! Once there is a valid ini file, it is loaded into the settings a
ttribute.
void validateAndLoadIniFile();
//! Recordd the state of the GridLinesMgr views beforehand, so that it can be reset afterwords. //! Recordd the state of the GridLinesMgr views beforehand, so that it can be reset afterwords.
//! @param rezoom if true, this zoom operation is starting from an a lready zoomed state. //! @param rezoom if true, this zoom operation is starting from an a lready zoomed state.
//! False for the original state. //! False for the original state.
void zoom(bool rezoom); void zoom(bool rezoom);
//! This method is called by the zoom() method, when this plugin is toggled on; it resets the zoomed view. //! This method is called by the zoom() method, when this plugin is toggled on; it resets the zoomed view.
void zoomOcular(); void zoomOcular();
//! A list of all the oculars defined in the ini file. Must have at least one, or module will not run. //! A list of all the oculars defined in the ini file. Must have at least one, or module will not run.
QList<CCD *> CCDs; QList<CCD *> ccds;
QList<Ocular *> oculars; QList<Ocular *> oculars;
QList<Telescope *> telescopes; QList<Telescope *> telescopes;
int selectedCCDIndex; int selectedCCDIndex;
int selectedOcularIndex; int selectedOcularIndex;
int selectedTelescopeIndex; int selectedTelescopeIndex;
QFont font; //!< The font used f or drawing labels. QFont font; //!< The font used f or drawing labels.
bool flagShowOculars; //!< flag used to track if we are in ocular mode. bool flagShowOculars; //!< flag used to track if we are in ocular mode.
bool flagShowCrosshairs; //!< flag used to track in crosshair s should be rendered in the ocular view. bool flagShowCrosshairs; //!< flag used to track in crosshair s should be rendered in the ocular view.
bool flagShowTelrad; //!< If true, display the Telrad ove rlay. bool flagShowTelrad; //!< If true, display the Telrad ove rlay.
int usageMessageLabelID; //!< the id of the label showing the usage message. -1 means it's not displayed. int usageMessageLabelID; //!< the id of the label showing the usage message. -1 means it's not displayed.
int noEntitiesLabelID; //!< the id of the label showing that there are no telescopes or oclars. -1 means it's not displayed.
bool flagAzimuthalGrid; //!< Flag to track if AzimuthalGrid was displayed at activation. bool flagAzimuthalGrid; //!< Flag to track if AzimuthalGrid was displayed at activation.
bool flagEquatorGrid; //!< Flag to track if EquatorGrid wa s displayed at activation. bool flagEquatorGrid; //!< Flag to track if EquatorGrid wa s displayed at activation.
bool flagEquatorJ2000Grid; //!< Flag to track if EquatorJ2000Gr id was displayed at activation. bool flagEquatorJ2000Grid; //!< Flag to track if EquatorJ2000Gr id was displayed at activation.
bool flagEquatorLine; //!< Flag to track if EquatorLine wa s displayed at activation. bool flagEquatorLine; //!< Flag to track if EquatorLine wa s displayed at activation.
bool flagEclipticLine; //!< Flag to track if EclipticLine w as displayed at activation. bool flagEclipticLine; //!< Flag to track if EclipticLine w as displayed at activation.
bool flagMeridianLine; //!< Flag to track if MeridianLine w as displayed at activation. bool flagMeridianLine; //!< Flag to track if MeridianLine w as displayed at activation.
double maxImageCircle; //!< The maximum image circle for al double maxEyepieceAngle; //!< The maximum aFOV of any eyepiec
l eyepieces. Used to scale the mask. e.
bool useMaxImageCircle; //!< Read from the ini file, whether bool useMaxEyepieceAngle; //!< Read from the ini file, whether
to scale the mask based on exit circle size. to scale the mask based aFOV.
// for toolbar button // for toolbar button
QPixmap* pxmapGlow; QPixmap* pxmapGlow;
QPixmap* pxmapOnIcon; QPixmap* pxmapOnIcon;
QPixmap* pxmapOffIcon; QPixmap* pxmapOffIcon;
StelButton* toolbarButton; StelButton* toolbarButton;
OcularDialog *ocularDialog; OcularDialog *ocularDialog;
bool visible; bool visible;
bool ready; //!< A flag that determines that this module is usable. If false, we won't open. bool ready; //!< A flag that determines that this module is usable. If false, we won't open.
bool newInstrument; //!< true the first time draw is called for a ne w ocular or telescope, false otherwise. bool newInstrument; //!< true the first time draw is called for a ne w ocular or telescope, false otherwise.
QSqlTableModel *CCDsTableModel;
QSqlTableModel *ocularsTableModel;
QSqlTableModel *telescopesTableModel;
//Styles //Styles
QByteArray normalStyleSheet; QByteArray normalStyleSheet;
QByteArray nightStyleSheet; QByteArray nightStyleSheet;
}; };
#include "fixx11h.h" #include "fixx11h.h"
#include <QObject> #include <QObject>
#include "StelPluginInterface.hpp" #include "StelPluginInterface.hpp"
//! This class is used by Qt to manage a plug-in interface //! This class is used by Qt to manage a plug-in interface
 End of changes. 14 change blocks. 
29 lines changed or deleted 17 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/