WSJT-X/astro.h
Bill Somerville 6cbe35e5c9 Refactor astro functionality into Astro class
Improved astronomical data and Doppler tracking control window widgets
and layout  management to make  it more platform independent  and font
change tolerant.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5580 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-06-11 13:36:13 +00:00

70 lines
1.8 KiB
C++

// -*- Mode: C++ -*-
#ifndef ASTRO_H
#define ASTRO_H
#include <QWidget>
#include "Radio.hpp"
class QSettings;
class Configuration;
namespace Ui {
class Astro;
}
class Astro final
: public QWidget
{
Q_OBJECT;
using Frequency = Radio::Frequency;
using FrequencyDelta = Radio::FrequencyDelta;
public:
explicit Astro(QSettings * settings, Configuration const *, QWidget * parent = nullptr);
~Astro ();
FrequencyDelta astroUpdate(QDateTime const& t, QString const& mygrid, QString const& hisgrid, Frequency frequency,
bool dx_is_self, bool bTx);
protected:
void closeEvent (QCloseEvent *) override;
private slots:
void on_rbConstFreqOnMoon_clicked();
void on_rbFullTrack_clicked();
void on_rbNoDoppler_clicked();
void on_rb1Hz_clicked();
void on_rb10Hz_clicked();
void on_rb100Hz_clicked();
void on_cbTxAudioTrack_toggled(bool b);
void on_kHzSpinBox_valueChanged(int n);
void on_HzSpinBox_valueChanged(int n);
private:
void read_settings ();
void write_settings ();
QSettings * settings_;
Configuration const * configuration_;
Ui::Astro * ui_;
bool m_bRxAudioTrack;
bool m_bTxAudioTrack;
qint32 m_DopplerMethod;
qint32 m_kHz;
qint32 m_Hz;
qint32 m_stepHz;
};
extern "C" {
void astrosub_(int* nyear, int* month, int* nday, double* uth, double* freqMoon,
const char* mygrid, const char* hisgrid, double* azsun,
double* elsun, double* azmoon, double* elmoon, double* azmoondx,
double* elmoondx, int* ntsky, int* ndop, int* ndop00,
double* ramoon, double* decmoon, double* dgrd, double* poloffset,
double* xnr, double* techo, double* width1, double* width2,
bool* bTx, const char* AzElFileName, const char* jpleph,
int len1, int len2, int len3, int len4);
}
#endif // ASTRO_H