Oculars.hpp   Oculars.hpp 
skipping to change at line 25 skipping to change at line 25
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, U SA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, U SA.
*/ */
#ifndef _OCULARS_HPP_ #ifndef _OCULARS_HPP_
#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 "Ocular.hpp" #include "Ocular.hpp"
#include "Telescope.hpp" #include "Telescope.hpp"
#include <QFont> #include <QFont>
#define MIN_OCULARS_INI_VERSION 0.12 #define MIN_OCULARS_INI_VERSION 0.12
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QSqlTableModel; class QSqlTableModel;
class QKeyEvent; class QKeyEvent;
skipping to change at line 54 skipping to change at line 55
{ {
Q_OBJECT Q_OBJECT
public: public:
Oculars(); Oculars();
virtual ~Oculars(); virtual ~Oculars();
//////////////////////////////////////////////////////////////////// /////// //////////////////////////////////////////////////////////////////// ///////
// Methods defined in the StelModule class // Methods defined in the StelModule class
virtual void init(); virtual void init();
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); // virtual void handleKeys(class QKeyEvent* event);
virtual void handleMouseClicks(class QMouseEvent* event); virtual void handleMouseClicks(class QMouseEvent* event);
virtual bool handleMouseMoves(int x, int y, Qt::MouseButtons b); virtual void setStelStyle(const QString& style);
virtual void setStelStyle(const StelStyle& style); virtual void update(double) {;}
virtual void update(double deltaTime) {;}
//! 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 decrementCCDIndex();
void decrementOcularIndex(); void decrementOcularIndex();
void decrementTelescopeIndex(); void decrementTelescopeIndex();
void incrementCCDIndex();
void incrementOcularIndex(); void incrementOcularIndex();
void incrementTelescopeIndex(); void incrementTelescopeIndex();
signals: signals:
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 determineMaxImageCircle();
void loadCCDs();
void loadOculars(); void loadOculars();
void loadTelescopes(); 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
.
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(); bool initializeDB();
//! Set up the Qt actions needed to activate the plugin.
void initializeActivationActions();
//! 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(); 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.
//! Should only be called from a 'ready' state; currently from the d
raw() method.
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(); void validateIniFile();
//! Prepairs the values needed to zoom, and sets them into the syste //! Recordd the state of the GridLinesMgr views beforehand, so that
, Also recordd the state of it can be reset afterwords.
//! the views beforehand, so that it can be reet 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<Ocular *> oculars; QList<Ocular *> oculars;
QList<Telescope *> telescopes; QList<Telescope *> telescopes;
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 trak if we are in bool flagShowOculars; //!< flag used to track if we are in
ocular mode. ocular mode.
bool flagShowCrosshairs; //<! flag used to track in crosshair bool flagShowCrosshairs; //!< flag used to track in crosshair
s should be rendered in the ocular view. s should be rendered in the ocular view.
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.
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 l eyepieces. Used to scale the mask. double maxImageCircle; //!< The maximum image circle for al l eyepieces. Used to scale the mask.
bool useMaxImageCircle; //!< Read from the ini file, whether to scale the mask based on exit circle size. bool useMaxImageCircle; //!< Read from the ini file, whether to scale the mask based on exit circle size.
// 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. bool ready; //!< A flag that determines that this module is usable.
If false, we won't open. If false, we won't open.
bool newIntrument; //<! true the first time draw is called for a new bool newInstrument; //!< true the first time draw is called for a ne
ocular or telescope, false otherwise. w ocular or telescope, false otherwise.
QSqlTableModel *CCDsTableModel;
QSqlTableModel *ocularsTableModel; QSqlTableModel *ocularsTableModel;
QSqlTableModel *telescopesTableModel; QSqlTableModel *telescopesTableModel;
//Styles
QByteArray normalStyleSheet;
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
class OcularsStelPluginInterface : public QObject, public StelPluginInterfa ce class OcularsStelPluginInterface : public QObject, public StelPluginInterfa ce
{ {
Q_OBJECT Q_OBJECT
 End of changes. 19 change blocks. 
15 lines changed or deleted 51 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/