mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-29 20:10:28 -04:00 
			
		
		
		
	This include inverting the order of table view rows so the newest is at the top, without that the Qt MVC interactions when using a database table based model is too slow and complex to manage. The table views now have sort by column capability in the normal way (click column header to reverse sort order) for timely logging and non-disruption of Tx starts the log view should be sorted in descending time order and scrolled to the last row added. Without that Fox and contest logging will work but serious delays may be invoked that disrupt operation.
		
			
				
	
	
		
			97 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| ///////////////////////////////////////////////////////////////////////////
 | |
| // Some code in this file and accompanying files is based on work by
 | |
| // Moe Wheatley, AE4Y, released under the "Simplified BSD License".
 | |
| // For more details see the accompanying file LICENSE_WHEATLEY.TXT
 | |
| ///////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef EPLOTTER_H_
 | |
| #define EPLOTTER_H_
 | |
| 
 | |
| #include <QFrame>
 | |
| #include <QSize>
 | |
| #include <QImage>
 | |
| #include <QString>
 | |
| 
 | |
| #define VERT_DIVS 7	//specify grid screen divisions
 | |
| #define HORZ_DIVS 20
 | |
| 
 | |
| class QPaintEvent;
 | |
| class QResizeEvent;
 | |
| 
 | |
| class EPlotter : public QFrame
 | |
| {
 | |
|   Q_OBJECT
 | |
| public:
 | |
|   explicit EPlotter(QWidget *parent = 0);
 | |
|   ~EPlotter();
 | |
| 
 | |
|   QSize minimumSizeHint() const;
 | |
|   QSize sizeHint() const;
 | |
|   float   m_fSpan;
 | |
|   qint32  m_TxFreq;
 | |
|   qint32  m_w;
 | |
|   qint32  m_plotZero;
 | |
|   qint32  m_plotGain;
 | |
|   qint32  m_smooth;
 | |
|   qint32  m_binsPerPixel;
 | |
|   qint32  m_nColor;
 | |
|   bool    m_blue;
 | |
| 
 | |
|   void draw();		                                    //Update the Echo plot
 | |
|   void SetRunningState(bool running);
 | |
|   void setPlotZero(int plotZero);
 | |
|   int  getPlotZero();
 | |
|   void setPlotGain(int plotGain);
 | |
|   int  getPlotGain();
 | |
|   int  plotWidth();
 | |
|   void UpdateOverlay();
 | |
|   void DrawOverlay();
 | |
|   void setSmooth(int n);
 | |
|   int  getSmooth();
 | |
|   void setColors(qint32 n);
 | |
| 
 | |
| //  void SetPercent2DScreen(int percent){m_Percent2DScreen=percent;}
 | |
| 
 | |
| protected:
 | |
|   //re-implemented widget event handlers
 | |
|   void paintEvent(QPaintEvent *event);
 | |
|   void resizeEvent(QResizeEvent* event);
 | |
| 
 | |
| private:
 | |
| 
 | |
|   void MakeFrequencyStrs();
 | |
|   int XfromFreq(float f);
 | |
|   float FreqfromX(int x);
 | |
|   qint64 RoundFreq(qint64 freq, int resolution);
 | |
| 
 | |
|   QPixmap m_2DPixmap;
 | |
|   QPixmap m_ScalePixmap;
 | |
|   QPixmap m_OverlayPixmap;
 | |
|   QSize   m_Size;
 | |
|   QString m_Str;
 | |
|   QString m_HDivText[483];
 | |
| 
 | |
|   double  m_fftBinWidth;
 | |
| 
 | |
|   qint64  m_StartFreq;
 | |
| 
 | |
|   qint32  m_dBStepSize;
 | |
|   qint32  m_hdivs;
 | |
|   qint32  m_line;
 | |
|   qint32  m_freqPerDiv;
 | |
|   qint32  m_h;
 | |
|   qint32  m_h1;
 | |
|   qint32  m_h2;
 | |
| 
 | |
|   bool    m_Running;
 | |
|   bool    m_paintEventBusy;
 | |
| 
 | |
| };
 | |
| 
 | |
| extern "C" {
 | |
| //--------------------------------------------------- C and Fortran routines
 | |
| 
 | |
| void smo121_(float x[], int* npts);
 | |
| }
 | |
| #endif // EPLOTTER_H
 |