| 
									
										
										
										
											2016-05-24 10:08:35 +00:00
										 |  |  | #ifndef WSJTX_UDP_BEACONS_MODEL_HPP__
 | 
					
						
							|  |  |  | #define WSJTX_UDP_BEACONS_MODEL_HPP__
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <QStandardItemModel>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "MessageServer.hpp"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | using Frequency = MessageServer::Frequency; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QString; | 
					
						
							|  |  |  | class QTime; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // Beacons Model - simple data model for all beacon spots
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // The model is a basic table with uniform row format. Rows consist of
 | 
					
						
							|  |  |  | // QStandardItem instances containing the string representation of the
 | 
					
						
							|  |  |  | // column data  and if the underlying  field is not a  string then the
 | 
					
						
							|  |  |  | // UserRole+1 role contains the underlying data item.
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // Two slots are provided to add a new decode and remove all spots for
 | 
					
						
							|  |  |  | // a client.
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | class BeaconsModel | 
					
						
							|  |  |  |   : public QStandardItemModel | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   Q_OBJECT; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-02 21:35:48 +00:00
										 |  |  |   using ClientKey = MessageServer::ClientKey; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-24 10:08:35 +00:00
										 |  |  | public: | 
					
						
							|  |  |  |   explicit BeaconsModel (QObject * parent = nullptr); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-02 21:35:48 +00:00
										 |  |  |   Q_SLOT void add_beacon_spot (bool is_new, ClientKey const&, QTime time, qint32 snr, float delta_time | 
					
						
							| 
									
										
										
										
											2016-05-24 10:08:35 +00:00
										 |  |  |                                , Frequency frequency, qint32 drift, QString const& callsign, QString const& grid | 
					
						
							| 
									
										
										
										
											2017-09-16 22:20:59 +00:00
										 |  |  |                                , qint32 power, bool off_air); | 
					
						
							| 
									
										
										
										
											2020-11-02 21:35:48 +00:00
										 |  |  |   Q_SLOT void decodes_cleared (ClientKey const&); | 
					
						
							| 
									
										
										
										
											2016-05-24 10:08:35 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |