mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-18 19:35:33 +08:00
refs #196, encapsulated transponder mode selection (combo box)
* promoted QComboBox in GUI * features automatic reset for ident * Conversion to CTransponder::TransponderMode from string
This commit is contained in:
73
src/blackgui/transpondermodeselector.h
Normal file
73
src/blackgui/transpondermodeselector.h
Normal file
@@ -0,0 +1,73 @@
|
||||
#ifndef BLACKGUI_QWITRANSPONDERMODESELECTOR_H
|
||||
#define BLACKGUI_QWITRANSPONDERMODESELECTOR_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:
|
||||
//! \brief Ident ended
|
||||
void identEnded();
|
||||
};
|
||||
} // namespace
|
||||
|
||||
#endif // guard
|
||||
Reference in New Issue
Block a user