mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-18 11:25:33 +08:00
refs #485, moved some gui classes to components
Originally components was meant for runtime based components. No longer true, so some classes now better find into that namespace.
This commit is contained in:
committed by
Mathew Sutcliffe
parent
96913c6dc1
commit
6a06aa0460
87
src/blackgui/components/transpondermodeselector.h
Normal file
87
src/blackgui/components/transpondermodeselector.h
Normal file
@@ -0,0 +1,87 @@
|
||||
/* Copyright (C) 2013
|
||||
* swift project Community / Contributors
|
||||
*
|
||||
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
|
||||
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
|
||||
* including this file, may be copied, modified, propagated, or distributed except according to the terms
|
||||
* contained in the LICENSE file.
|
||||
*/
|
||||
|
||||
//! \file
|
||||
|
||||
#ifndef BLACKGUI_COMPONENTS_TRANSPONDERMODESELECTOR_H
|
||||
#define BLACKGUI_COMPONENTS_TRANSPONDERMODESELECTOR_H
|
||||
|
||||
#include "blackgui/blackguiexport.h"
|
||||
#include "blackmisc/aviation/transponder.h"
|
||||
#include <QTimer>
|
||||
#include <QComboBox>
|
||||
#include <QStringList>
|
||||
|
||||
|
||||
namespace BlackGui
|
||||
{
|
||||
namespace Components
|
||||
{
|
||||
//! Selector for the transponder mode
|
||||
//! \remarks features ident reset
|
||||
class BLACKGUI_EXPORT CTransponderModeSelector : public QComboBox
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
public:
|
||||
//! Constructor
|
||||
explicit CTransponderModeSelector(QWidget *parent = nullptr);
|
||||
|
||||
//! Standby string
|
||||
static const QString &transponderStateStandby();
|
||||
|
||||
//! Ident string
|
||||
static const QString &transponderStateIdent();
|
||||
|
||||
//! Mode C string
|
||||
static const QString &transponderModeC();
|
||||
|
||||
//! All relevant modes for GUI
|
||||
static const QStringList &modes();
|
||||
|
||||
//! Selected transponder mode
|
||||
BlackMisc::Aviation::CTransponder::TransponderMode getSelectedTransponderMode() const;
|
||||
|
||||
//! Ident selected
|
||||
bool isIdentSelected() const
|
||||
{
|
||||
return this->getSelectedTransponderMode() == BlackMisc::Aviation::CTransponder::StateIdent;
|
||||
}
|
||||
|
||||
public slots:
|
||||
//! reset to last mode (unequal ident)
|
||||
void resetTransponderMode();
|
||||
|
||||
//! Selected transponder mode
|
||||
void setSelectedTransponderModeAsString(const QString &mode);
|
||||
|
||||
//! Selected transponder mode
|
||||
void setSelectedTransponderMode(BlackMisc::Aviation::CTransponder::TransponderMode mode);
|
||||
|
||||
//! Set to ident (transponder state)
|
||||
void setSelectedTransponderModeStateIdent();
|
||||
|
||||
signals:
|
||||
//! Mode / state has been changed
|
||||
void transponderModeChanged(BlackMisc::Aviation::CTransponder::TransponderMode newMode);
|
||||
|
||||
//! Ident phase ended
|
||||
void transponderStateIdentEnded();
|
||||
|
||||
private:
|
||||
BlackMisc::Aviation::CTransponder::TransponderMode m_currentMode = BlackMisc::Aviation::CTransponder::StateStandby;
|
||||
BlackMisc::Aviation::CTransponder::TransponderMode m_resetMode = BlackMisc::Aviation::CTransponder::StateStandby;
|
||||
QTimer m_resetTimer;
|
||||
|
||||
};
|
||||
} // ns
|
||||
} // ns
|
||||
|
||||
#endif // guard
|
||||
Reference in New Issue
Block a user