2015-05-28 19:22:17 -04:00
|
|
|
#ifndef MODES_HPP__
|
|
|
|
#define MODES_HPP__
|
|
|
|
|
|
|
|
#include <QAbstractListModel>
|
|
|
|
|
|
|
|
#include "qt_helpers.hpp"
|
|
|
|
|
|
|
|
class Modes final
|
|
|
|
: public QAbstractListModel
|
|
|
|
{
|
|
|
|
Q_OBJECT;
|
|
|
|
Q_ENUMS (Mode);
|
|
|
|
|
|
|
|
public:
|
|
|
|
enum Mode
|
|
|
|
{
|
|
|
|
NULL_MODE,
|
|
|
|
JT65,
|
|
|
|
JT9,
|
|
|
|
JT9W_1,
|
|
|
|
JT4,
|
|
|
|
WSPR,
|
2015-06-04 12:42:38 -04:00
|
|
|
Echo,
|
2015-05-28 19:22:17 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
explicit Modes (QObject * parent = nullptr);
|
|
|
|
|
|
|
|
static char const * name (Mode);
|
|
|
|
static Mode value (QString const&);
|
|
|
|
|
|
|
|
// Implement the QAbstractListModel interface
|
|
|
|
int rowCount (QModelIndex const& parent = QModelIndex {}) const override
|
|
|
|
{
|
|
|
|
return parent.isValid () ? 0 : 6; // the number of modes in the
|
|
|
|
// Mode enumeration class
|
|
|
|
}
|
|
|
|
QVariant data (QModelIndex const&, int role = Qt::DisplayRole) const override;
|
|
|
|
QVariant headerData (int section, Qt::Orientation, int = Qt::DisplayRole) const override;
|
|
|
|
};
|
|
|
|
|
|
|
|
Q_DECLARE_METATYPE (Modes::Mode);
|
|
|
|
|
|
|
|
#if !defined (QT_NO_DEBUG_STREAM)
|
|
|
|
ENUM_QDEBUG_OPS_DECL (Modes, Mode);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
ENUM_QDATASTREAM_OPS_DECL (Modes, Mode);
|
|
|
|
ENUM_CONVERSION_OPS_DECL (Modes, Mode);
|
|
|
|
|
|
|
|
#endif
|