mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 04:50:34 -04:00 
			
		
		
		
	Working frequencies are mode dependent and a reset to defaults button has been added. Also re-factored much of the model and item delegate code to simplify several of the model implementations. Introduced a single routine called from main to register the custom types with Qt. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5453 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef FOREIGN_KEY_DELEGATE_HPP_
 | |
| #define FOREIGN_KEY_DELEGATE_HPP_
 | |
| 
 | |
| #include <QStyledItemDelegate>
 | |
| #include <QScopedPointer>
 | |
| 
 | |
| class CandidateKeyFilter;
 | |
| 
 | |
| //
 | |
| // Class ForeignKeyDelegate
 | |
| //
 | |
| //	Item delegate for editing a foreign key item in a one or many
 | |
| //	to one relationship. A QComboBox is used as an item delegate
 | |
| //	for the edit role.
 | |
| //
 | |
| class ForeignKeyDelegate final
 | |
|   : public QStyledItemDelegate
 | |
| {
 | |
| public:
 | |
|   // many to many relationship
 | |
|   explicit ForeignKeyDelegate (QAbstractItemModel * referenced_model
 | |
|                                , int referenced_key_column
 | |
|                                , QObject * parent = nullptr
 | |
|                                , int referenced_key_role = Qt::EditRole);
 | |
| 
 | |
|   // one to many (referenced to referencing) relationship
 | |
|   explicit ForeignKeyDelegate (QAbstractItemModel * referenced_model
 | |
|                                , QAbstractItemModel const * referencing_model
 | |
|                                , int referenced_key_column
 | |
|                                , int referencing_key_column
 | |
|                                , QObject * parent = nullptr
 | |
|                                , int referenced_key_role = Qt::EditRole
 | |
|                                , int referencing_key_role = Qt::EditRole);
 | |
|   ~ForeignKeyDelegate ();
 | |
| 
 | |
|   QWidget * createEditor (QWidget * parent, QStyleOptionViewItem const&, QModelIndex const&) const override;
 | |
| 
 | |
| private:
 | |
|   QScopedPointer<CandidateKeyFilter> candidate_key_filter_;
 | |
| };
 | |
| 
 | |
| #endif
 |