mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-05 09:15:34 +08:00
78 lines
2.1 KiB
C++
78 lines
2.1 KiB
C++
#ifndef BLACKGUI_TRANSPONDERMODESELECTOR_H
|
|
#define BLACKGUI_TRANSPONDERMODESELECTOR_H
|
|
|
|
#include "blackmisc/aviotransponder.h"
|
|
#include "blackmisc/aviotransponder.h"
|
|
#include <QTimer>
|
|
#include <QComboBox>
|
|
#include <QStringList>
|
|
|
|
|
|
namespace BlackGui
|
|
{
|
|
|
|
/*!
|
|
* \brief Selector for the transponder mode
|
|
*/
|
|
class CTransponderModeSelector : public QComboBox
|
|
{
|
|
Q_OBJECT
|
|
|
|
private:
|
|
BlackMisc::Aviation::CTransponder::TransponderMode m_currentMode;
|
|
BlackMisc::Aviation::CTransponder::TransponderMode m_resetMode;
|
|
QTimer m_resetTimer;
|
|
|
|
public:
|
|
//! \brief Constructor
|
|
explicit CTransponderModeSelector(QWidget *parent = nullptr);
|
|
|
|
//! \brief Standby string
|
|
static const QString &transponderStateStandby();
|
|
|
|
//! \brief Ident string
|
|
static const QString &transponderStateIdent();
|
|
|
|
//! \brief Mode C string
|
|
static const QString &transponderModeC();
|
|
|
|
//! \brief All relevant modes for GUI
|
|
static const QStringList &modes();
|
|
|
|
//! \brief Selected transponder mode
|
|
BlackMisc::Aviation::CTransponder::TransponderMode getSelectedTransponderMode() const;
|
|
|
|
//! \brief Selected transponder mode
|
|
void setSelectedTransponderMode(BlackMisc::Aviation::CTransponder::TransponderMode mode);
|
|
|
|
//!\ brief Set to ident
|
|
void setSelectedTransponderModeStateIdent()
|
|
{
|
|
this->setSelectedTransponderMode(BlackMisc::Aviation::CTransponder::StateIdent);
|
|
}
|
|
|
|
//! \brief Ident selected
|
|
bool isIdentSelected() const
|
|
{
|
|
return this->getSelectedTransponderMode() == BlackMisc::Aviation::CTransponder::StateIdent;
|
|
}
|
|
|
|
public slots:
|
|
//! \brief reset to last mode (unequal ident)
|
|
void resetTransponderMode();
|
|
|
|
//! \brief Selected transponder mode
|
|
void setSelectedTransponderModeAsString(const QString &mode);
|
|
|
|
signals:
|
|
//! Singal, which makes sure the value is already updated internally
|
|
void valueChanged();
|
|
|
|
//! \brief Ident ended
|
|
void identEnded();
|
|
|
|
};
|
|
} // namespace
|
|
|
|
#endif // guard
|