WSJT-X/validators/MaidenheadLocatorValidator.hpp
Bill Somerville 947b429723 Start implememntation of database based Fox log model and a new Fox log window widget
This change incorporates a reorganization of the GUI code with
widgets, validators, models, and item delegates being moved to
sub-directories.

Relax  the   requirements  of   the  ForeignKeyDelegate   and  related
CandidateKeyFilter classes to  allow them to work  with constant model
pointers for both referenced and referencing models.
2018-11-07 17:49:45 +00:00

27 lines
696 B
C++

#ifndef MAIDENHEAD_LOCATOR_VALIDATOR_HPP__
#define MAIDENHEAD_LOCATOR_VALIDATOR_HPP__
#include <QValidator>
#include <QRegularExpression>
//
// MaidenheadLocatorValidator - QValidator implementation for grid locators
//
class MaidenheadLocatorValidator final
: public QValidator
{
public:
enum class Length {field = 2, square = 4, subsquare = 6, extended = 8};
MaidenheadLocatorValidator (QObject * parent = nullptr
, Length length = Length::subsquare
, Length required = Length::square);
// QValidator implementation
State validate (QString& input, int& pos) const override;
private:
QRegularExpression re_;
};
#endif