WSJT-X/meterwidget.h
Bill Somerville 2515b2f38d Make the main window more portable and font change capable
The Rx meter  is now a better  Qt citizen and can be  resized. Added a
more obvious peak signal indicator. It  is now a custom widget derived
from QFrame and is now directly added via promotion in Designer.

Added a custom  widget to act as  a letter spin box, this  is used for
sub mode control.  Switched the frequency tolerance widget  to a combo
box with preset  values so that it is more  uniform across systems and
font sizes.

Added container widgets  for group control of various  UI widgets such
as  QSO controls,  DX call  controls and  WSPR controls.  Introduced a
stacked widget to allow the WSPR controls to be swapped in in place of
the "QSO" controls. The "QSO" controls  are are the Rx, Tx and related
controls along with  the main tab widget with the  message buttons and
fields. This means  that the WSPR version of the  main window (and EME
Echo mode) are now much cleaner.

Increased the  size of the  rig control  widget and styled  its colour
using a dynamic property so that it  can be defined in the Designer UI
definition. Reinstated it  as a push button to do  a rig control reset
and retry after an error.

Reset most UI widgets to default properties, particularly removing any
fixed sizes so that they can resize freely when fonts are changed. The
overall layout is now controlled almost exclusively by stretch factors
on some of the rows and columns of the various grid layout managers.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5630 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-06-25 22:41:13 +00:00

34 lines
619 B
C++

// -*- Mode: C++ -*-
#ifndef METERWIDGET_H
#define METERWIDGET_H
#include <QWidget>
#include <QQueue>
class MeterWidget : public QWidget
{
Q_OBJECT
Q_PROPERTY (int value READ value WRITE setValue)
public:
explicit MeterWidget (QWidget *parent = 0);
// value property
int value () const {return m_signal;}
Q_SLOT void setValue (int value);
// QWidget implementation
QSize sizeHint () const override;
protected:
void paintEvent( QPaintEvent * ) override;
private:
int m_top_padding;
int m_bottom_padding;
QQueue<int> signalQueue;
int m_signal;
int m_sigPeak;
};
#endif // METERWIDGET_H