| 
									
										
										
										
											2018-02-08 21:28:33 -05:00
										 |  |  | #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: | 
					
						
							| 
									
										
										
										
											2018-08-22 15:15:30 -04:00
										 |  |  |   enum class Length {field = 2, square = 4, subsquare = 6, extended = 8, doubleextended = 16}; | 
					
						
							| 
									
										
										
										
											2018-02-08 21:28:33 -05:00
										 |  |  |   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
 |