mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 13:30:52 -05: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.
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef IARU_REGIONS_HPP__
 | 
						|
#define IARU_REGIONS_HPP__
 | 
						|
 | 
						|
#include <QAbstractListModel>
 | 
						|
 | 
						|
#include "qt_helpers.hpp"
 | 
						|
 | 
						|
class QString;
 | 
						|
class QVariant;
 | 
						|
class QModelIndex;
 | 
						|
 | 
						|
//
 | 
						|
// Class IARURegions - Qt model that implements the list of IARU regions
 | 
						|
//
 | 
						|
//
 | 
						|
// Responsibilities
 | 
						|
//
 | 
						|
// 	Provides  a  single column  list  model  that contains  the  human
 | 
						|
// 	readable  string  version  of  the  data  region  in  the  display
 | 
						|
// 	role. Also  provided is  a translatable  column header  string and
 | 
						|
// 	tool tip string.
 | 
						|
//
 | 
						|
//
 | 
						|
// Collaborations
 | 
						|
//
 | 
						|
// 	Implements a concrete sub-class of the QAbstractListModel class.
 | 
						|
//
 | 
						|
class IARURegions final
 | 
						|
  : public QAbstractListModel
 | 
						|
{
 | 
						|
  Q_OBJECT
 | 
						|
public:
 | 
						|
  //
 | 
						|
  // This enumeration  contains the  supported regions,  to complement
 | 
						|
  // this an  array of  human readable  strings in  the implementation
 | 
						|
  // (IARURegions.cpp) must be maintained in parallel.
 | 
						|
  //
 | 
						|
  enum Region
 | 
						|
  {
 | 
						|
    ALL,                        // matches with all regions
 | 
						|
    R1,
 | 
						|
    R2,
 | 
						|
    R3,
 | 
						|
    SENTINAL                    // this must be last
 | 
						|
  };
 | 
						|
  Q_ENUM (Region)
 | 
						|
 | 
						|
  explicit IARURegions (QObject * parent = nullptr);
 | 
						|
 | 
						|
  // translate between enumeration and human readable strings
 | 
						|
  static char const * name (Region);
 | 
						|
  static Region value (QString const&);
 | 
						|
 | 
						|
  // Implement the QAbstractListModel interface
 | 
						|
  int rowCount (QModelIndex const& parent = QModelIndex {}) const override
 | 
						|
  {
 | 
						|
    return parent.isValid () ? 0 : SENTINAL; // Number of regionss in Region enumeration class
 | 
						|
  }
 | 
						|
  QVariant data (QModelIndex const&, int role = Qt::DisplayRole) const override;
 | 
						|
  QVariant headerData (int section, Qt::Orientation, int = Qt::DisplayRole) const override;
 | 
						|
};
 | 
						|
 | 
						|
ENUM_QDATASTREAM_OPS_DECL (IARURegions, Region);
 | 
						|
ENUM_CONVERSION_OPS_DECL (IARURegions, Region);
 | 
						|
 | 
						|
#endif
 |