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.
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef HINTED_SPIN_BOX_HPP_
 | 
						|
#define HINTED_SPIN_BOX_HPP_
 | 
						|
 | 
						|
#include <vector>
 | 
						|
 | 
						|
#include <QSpinBox>
 | 
						|
 | 
						|
//
 | 
						|
// HintedSpinBox - QSpinBox refinement with an optional sequence of
 | 
						|
//                 discrete hints
 | 
						|
//
 | 
						|
//  The  hint  sequence  values  are  used  as  step  values  and  can
 | 
						|
//  optionally  define the  minimum and  maximum value.   Intermediate
 | 
						|
//  values are  allowed but  the step  up/down arrows  and accelerator
 | 
						|
//  keys will only use the hints.
 | 
						|
//
 | 
						|
//  Ensure that the default minimum  and maximum values are sufficient
 | 
						|
//  to allow initial initialization if done before the hints are set.
 | 
						|
//
 | 
						|
class HintedSpinBox
 | 
						|
  : public QSpinBox
 | 
						|
{
 | 
						|
public:
 | 
						|
  typedef std::vector<int> values_type;
 | 
						|
 | 
						|
  HintedSpinBox (QWidget * parent = nullptr)
 | 
						|
    : QSpinBox {parent}
 | 
						|
  {
 | 
						|
  }
 | 
						|
 | 
						|
  // Initialize sequence of values allowed.
 | 
						|
  //
 | 
						|
  // This  spin box  behaves exactly  as  a standard  QSpinBox if  the
 | 
						|
  // sequence of values is empty.
 | 
						|
  //
 | 
						|
  // The minimum and  maximum are automatically set to  the lowest and
 | 
						|
  // highest value provided if required.
 | 
						|
  //
 | 
						|
  // Returns the previous sequence.
 | 
						|
  values_type values (values_type values, bool set_min_max = true);
 | 
						|
 | 
						|
  // Read access to the values.
 | 
						|
  values_type const& values () const {return values_;}
 | 
						|
 | 
						|
protected:
 | 
						|
  // override the QSpinBox stepping
 | 
						|
  void stepBy (int steps) override;
 | 
						|
 | 
						|
private:
 | 
						|
  values_type values_;
 | 
						|
};
 | 
						|
 | 
						|
#endif
 |