mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-29 20:10:28 -04:00 
			
		
		
		
	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.
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef LIVE_FREQUENCY_VALIDATOR_HPP__
 | |
| #define LIVE_FREQUENCY_VALIDATOR_HPP__
 | |
| 
 | |
| #include <QObject>
 | |
| #include <QRegExpValidator>
 | |
| 
 | |
| #include "Radio.hpp"
 | |
| 
 | |
| class Bands;
 | |
| class FrequencyList_v2;
 | |
| class QComboBox;
 | |
| class QWidget;
 | |
| 
 | |
| //
 | |
| // Class LiveFrequencyValidator
 | |
| //
 | |
| //	QLineEdit validator that controls input to an editable
 | |
| //	QComboBox where the user can enter a valid band or a valid
 | |
| //	frequency in megahetz.
 | |
| //
 | |
| // Collabrations
 | |
| //
 | |
| //	Implements the QRegExpValidator interface. Validates input
 | |
| //	from the supplied QComboBox as either a valid frequency in
 | |
| //	megahertz or a valid band as defined by the supplied column of
 | |
| //	the supplied QAbstractItemModel.
 | |
| //
 | |
| class LiveFrequencyValidator final
 | |
|   : public QRegExpValidator
 | |
| {
 | |
|   Q_OBJECT;
 | |
| 
 | |
| public:
 | |
|   using Frequency = Radio::Frequency;
 | |
| 
 | |
|   LiveFrequencyValidator (QComboBox * combo_box // associated combo box
 | |
|                           , Bands const * bands // bands model
 | |
|                           , FrequencyList_v2 const * frequencies // working frequencies model
 | |
|                           , Frequency const * nominal_frequency
 | |
|                           , QWidget * parent = nullptr);
 | |
| 
 | |
|   State validate (QString& input, int& pos) const override;
 | |
|   void fixup (QString& input) const override;
 | |
| 
 | |
|   Q_SIGNAL void valid (Frequency) const;
 | |
| 
 | |
| private:
 | |
|   Bands const * bands_;
 | |
|   FrequencyList_v2 const * frequencies_;
 | |
|   Frequency const * nominal_frequency_;
 | |
|   QComboBox * combo_box_;
 | |
| };
 | |
| 
 | |
| #endif
 |