27 lines
		
	
	
		
			717 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			717 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, doubleextended = 16};
 | |
|   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
 |