mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-29 23:52:24 -04:00
Merge branch 'ft9_refactor' into feat-refactor
# Conflicts: # CMakeLists.txt # lib/ft4/getcandidates4.f90 # lib/ft4/sync4d.f90
This commit is contained in:
commit
27d4471cde
2
.gitignore
vendored
2
.gitignore
vendored
@ -8,3 +8,5 @@ jnq*
|
||||
*.o
|
||||
*.mod
|
||||
*.pro.user
|
||||
cmake-build-debug
|
||||
cmake-build-release
|
||||
|
@ -226,7 +226,7 @@ set (wsjt_qt_CXXSRCS
|
||||
qt_helpers.cpp
|
||||
widgets/MessageBox.cpp
|
||||
MetaDataRegistry.cpp
|
||||
NetworkServerLookup.cpp
|
||||
Network/NetworkServerLookup.cpp
|
||||
revision_utils.cpp
|
||||
WFPalette.cpp
|
||||
Radio.cpp
|
||||
@ -244,16 +244,16 @@ set (wsjt_qt_CXXSRCS
|
||||
GetUserId.cpp
|
||||
TraceFile.cpp
|
||||
AudioDevice.cpp
|
||||
Transceiver.cpp
|
||||
TransceiverBase.cpp
|
||||
EmulateSplitTransceiver.cpp
|
||||
TransceiverFactory.cpp
|
||||
PollingTransceiver.cpp
|
||||
HamlibTransceiver.cpp
|
||||
HRDTransceiver.cpp
|
||||
DXLabSuiteCommanderTransceiver.cpp
|
||||
NetworkMessage.cpp
|
||||
MessageClient.cpp
|
||||
Transceiver/Transceiver.cpp
|
||||
Transceiver/TransceiverBase.cpp
|
||||
Transceiver/EmulateSplitTransceiver.cpp
|
||||
Transceiver/TransceiverFactory.cpp
|
||||
Transceiver/PollingTransceiver.cpp
|
||||
Transceiver/HamlibTransceiver.cpp
|
||||
Transceiver/HRDTransceiver.cpp
|
||||
Transceiver/DXLabSuiteCommanderTransceiver.cpp
|
||||
Network/NetworkMessage.cpp
|
||||
Network/MessageClient.cpp
|
||||
widgets/LettersSpinBox.cpp
|
||||
widgets/HintedSpinBox.cpp
|
||||
widgets/RestrictedSpinBox.cpp
|
||||
@ -268,7 +268,7 @@ set (wsjt_qt_CXXSRCS
|
||||
validators/MaidenheadLocatorValidator.cpp
|
||||
validators/CallsignValidator.cpp
|
||||
widgets/SplashScreen.cpp
|
||||
EqualizationToolsDialog.cpp
|
||||
Transceiver/EqualizationToolsDialog.cpp
|
||||
widgets/DoubleClickablePushButton.cpp
|
||||
widgets/DoubleClickableRadioButton.cpp
|
||||
LotWUsers.cpp
|
||||
@ -303,9 +303,9 @@ set (jt9_CXXSRCS
|
||||
|
||||
set (wsjtx_CXXSRCS
|
||||
logbook/logbook.cpp
|
||||
psk_reporter.cpp
|
||||
Network/psk_reporter.cpp
|
||||
Modulator.cpp
|
||||
Detector.cpp
|
||||
Detector/Detector.cpp
|
||||
widgets/logqso.cpp
|
||||
widgets/displaytext.cpp
|
||||
decodedtext.cpp
|
||||
@ -353,7 +353,7 @@ if (WIN32)
|
||||
|
||||
set (wsjt_qt_CXXSRCS
|
||||
${wsjt_qt_CXXSRCS}
|
||||
OmniRigTransceiver.cpp
|
||||
Transceiver/OmniRigTransceiver.cpp
|
||||
)
|
||||
endif (WIN32)
|
||||
|
||||
@ -683,13 +683,13 @@ set (wsjtx_UISRCS
|
||||
set (UDP_library_CXXSRCS
|
||||
Radio.cpp
|
||||
RadioMetaType.cpp
|
||||
NetworkMessage.cpp
|
||||
MessageServer.cpp
|
||||
Network/NetworkMessage.cpp
|
||||
Network/MessageServer.cpp
|
||||
)
|
||||
|
||||
set (UDP_library_HEADERS
|
||||
Radio.hpp
|
||||
MessageServer.hpp
|
||||
Network/MessageServer.hpp
|
||||
${PROJECT_BINARY_DIR}/udp_export.h
|
||||
)
|
||||
|
||||
@ -920,7 +920,7 @@ set (CMAKE_VISIBILITY_INLINES_HIDDEN ON)
|
||||
#
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra")
|
||||
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -fexceptions -frtti")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -fexceptions -frtti")
|
||||
|
||||
if (NOT APPLE)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-pragmas")
|
||||
|
@ -172,14 +172,14 @@
|
||||
#include "item_delegates/ForeignKeyDelegate.hpp"
|
||||
#include "item_delegates/FrequencyDelegate.hpp"
|
||||
#include "item_delegates/FrequencyDeltaDelegate.hpp"
|
||||
#include "TransceiverFactory.hpp"
|
||||
#include "Transceiver.hpp"
|
||||
#include "Transceiver/TransceiverFactory.hpp"
|
||||
#include "Transceiver/Transceiver.hpp"
|
||||
#include "models/Bands.hpp"
|
||||
#include "models/IARURegions.hpp"
|
||||
#include "models/Modes.hpp"
|
||||
#include "models/FrequencyList.hpp"
|
||||
#include "models/StationList.hpp"
|
||||
#include "NetworkServerLookup.hpp"
|
||||
#include "Network/NetworkServerLookup.hpp"
|
||||
#include "widgets/MessageBox.hpp"
|
||||
#include "validators/MaidenheadLocatorValidator.hpp"
|
||||
#include "validators/CallsignValidator.hpp"
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "Radio.hpp"
|
||||
#include "models/IARURegions.hpp"
|
||||
#include "AudioDevice.hpp"
|
||||
#include "Transceiver.hpp"
|
||||
#include "Transceiver/Transceiver.hpp"
|
||||
|
||||
#include "pimpl_h.hpp"
|
||||
|
||||
|
@ -18,7 +18,6 @@ Detector::Detector (unsigned frameRate, double periodLengthInSeconds,
|
||||
, m_period (periodLengthInSeconds)
|
||||
, m_downSampleFactor (downSampleFactor)
|
||||
, m_samplesPerFFT {max_buffer_size}
|
||||
, m_ns (999)
|
||||
, m_buffer ((downSampleFactor > 1) ?
|
||||
new short [max_buffer_size * downSampleFactor] : nullptr)
|
||||
, m_bufferPos (0)
|
@ -46,7 +46,6 @@ private:
|
||||
double m_period;
|
||||
unsigned m_downSampleFactor;
|
||||
qint32 m_samplesPerFFT; // after any down sampling
|
||||
qint32 m_ns;
|
||||
static size_t const max_buffer_size {7 * 512};
|
||||
QScopedArrayPointer<short> m_buffer; // de-interleaved sample buffer
|
||||
// big enough for all the
|
@ -9,8 +9,8 @@
|
||||
#include "AudioDevice.hpp"
|
||||
#include "Configuration.hpp"
|
||||
#include "models/StationList.hpp"
|
||||
#include "Transceiver.hpp"
|
||||
#include "TransceiverFactory.hpp"
|
||||
#include "Transceiver/Transceiver.hpp"
|
||||
#include "Transceiver/TransceiverFactory.hpp"
|
||||
#include "WFPalette.hpp"
|
||||
#include "models/IARURegions.hpp"
|
||||
#include "models/DecodeHighlightingModel.hpp"
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include <QHostInfo>
|
||||
#include <QTimer>
|
||||
|
||||
#include "MessageClient.hpp"
|
||||
#include "Network/MessageClient.hpp"
|
||||
|
||||
#include "moc_psk_reporter.cpp"
|
||||
|
@ -54,7 +54,7 @@ Directory::Directory (Configuration const * configuration
|
||||
|
||||
connect (network_manager_, &QNetworkAccessManager::authenticationRequired
|
||||
, this, &Directory::authentication);
|
||||
connect (this, &Directory::itemChanged, [this] (QTreeWidgetItem * item) {
|
||||
connect (this, &Directory::itemChanged, [] (QTreeWidgetItem * item) {
|
||||
switch (item->type ())
|
||||
{
|
||||
case FileNode::Type:
|
||||
|
@ -6,7 +6,7 @@
|
||||
#include <QThread>
|
||||
#include <QDateTime>
|
||||
|
||||
#include "NetworkServerLookup.hpp"
|
||||
#include "Network/NetworkServerLookup.hpp"
|
||||
|
||||
#include "moc_DXLabSuiteCommanderTransceiver.cpp"
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include <QStandardPaths>
|
||||
#include <QDir>
|
||||
|
||||
#include "NetworkServerLookup.hpp"
|
||||
#include "Network/NetworkServerLookup.hpp"
|
||||
|
||||
namespace
|
||||
{
|
||||
@ -1023,7 +1023,7 @@ QString HRDTransceiver::send_command (QString const& cmd, bool no_debug, bool pr
|
||||
if (!recurse && prepend_context)
|
||||
{
|
||||
auto radio_name = send_command ("get radio", true, current_radio_, true);
|
||||
auto radio_iter = std::find_if (radios_.begin (), radios_.end (), [this, &radio_name] (RadioMap::value_type const& radio)
|
||||
auto radio_iter = std::find_if (radios_.begin (), radios_.end (), [&radio_name] (RadioMap::value_type const& radio)
|
||||
{
|
||||
return std::get<1> (radio) == radio_name;
|
||||
});
|
@ -6,7 +6,7 @@
|
||||
#include <QThread>
|
||||
#include <QEventLoop>
|
||||
|
||||
#include "qt_helpers.hpP"
|
||||
#include "qt_helpers.hpp"
|
||||
|
||||
#include "moc_OmniRigTransceiver.cpp"
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include "TransceiverBase.hpp"
|
||||
#include "Transceiver/TransceiverBase.hpp"
|
||||
|
||||
class QTimer;
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
#include <QStandardItemModel>
|
||||
|
||||
#include "MessageServer.hpp"
|
||||
#include "Network/MessageServer.hpp"
|
||||
|
||||
using Frequency = MessageServer::Frequency;
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include <QString>
|
||||
#include <QRegularExpression>
|
||||
|
||||
#include "MessageServer.hpp"
|
||||
#include "Network/MessageServer.hpp"
|
||||
|
||||
class QAbstractItemModel;
|
||||
class QModelIndex;
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
#include <QStandardItemModel>
|
||||
|
||||
#include "MessageServer.hpp"
|
||||
#include "Network/MessageServer.hpp"
|
||||
|
||||
using Frequency = MessageServer::Frequency;
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
#include <QHash>
|
||||
#include <QString>
|
||||
|
||||
#include "MessageServer.hpp"
|
||||
#include "Network/MessageServer.hpp"
|
||||
|
||||
class QDateTime;
|
||||
class QStandardItemModel;
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include <QHash>
|
||||
#include <QDebug>
|
||||
|
||||
#include "MessageServer.hpp"
|
||||
#include "Network/MessageServer.hpp"
|
||||
#include "Radio.hpp"
|
||||
|
||||
#include "qt_helpers.hpp"
|
||||
@ -147,7 +147,7 @@ public:
|
||||
: server_ {new MessageServer {this}}
|
||||
{
|
||||
// connect up server
|
||||
connect (server_, &MessageServer::error, [this] (QString const& message) {
|
||||
connect (server_, &MessageServer::error, [] (QString const& message) {
|
||||
std::cerr << tr ("Network Error: %1").arg ( message).toStdString () << std::endl;
|
||||
});
|
||||
connect (server_, &MessageServer::client_opened, this, &Server::add_client);
|
||||
|
@ -77,7 +77,6 @@ private:
|
||||
|
||||
QString string_;
|
||||
int padding_;
|
||||
bool contest_mode_;
|
||||
QString message_;
|
||||
QString message0_;
|
||||
bool is_standard_;
|
||||
|
14
doc/design/DecoderRefactor.puml
Normal file
14
doc/design/DecoderRefactor.puml
Normal file
@ -0,0 +1,14 @@
|
||||
@startuml
|
||||
|
||||
interface IProtocol {
|
||||
encode()
|
||||
decode()
|
||||
}
|
||||
interface IDecoder
|
||||
interface IEncoder
|
||||
interface IDecode
|
||||
|
||||
class FT8
|
||||
IProtocol <|-- FT8
|
||||
|
||||
@enduml
|
31
doc/design/JT9ReceiveDatapath.puml
Normal file
31
doc/design/JT9ReceiveDatapath.puml
Normal file
@ -0,0 +1,31 @@
|
||||
@startuml
|
||||
|
||||
hide footbox
|
||||
|
||||
participant Detector
|
||||
participant MainWindow
|
||||
participant SHM
|
||||
participant jt9.f90
|
||||
participant decoder.f90
|
||||
participant ft8_decode.f90
|
||||
|
||||
Detector -> MainWindow : dataSink()
|
||||
|
||||
activate MainWindow
|
||||
MainWindow -> MainWindow : decode()
|
||||
MainWindow -> MainWindow : decodeBusy()
|
||||
|
||||
MainWindow -> SHM : memcpy()
|
||||
MainWindow -> jt9.f90 : doorbell
|
||||
deactivate MainWindow
|
||||
|
||||
activate jt9.f90
|
||||
jt9.f90 -> decoder.f90 : multimode_decoder()
|
||||
|
||||
decoder.f90 -> ft8_decode.f90 : decode()
|
||||
ft8_decode.f90 -> decoder.f90 : ft8_decoded()
|
||||
decoder.f90 -> jt9.f90
|
||||
|
||||
jt9.f90 -> MainWindow : readFromStdout()
|
||||
|
||||
@enduml
|
@ -588,8 +588,6 @@ contains
|
||||
real, intent(in) :: dt
|
||||
real, intent(in) :: freq
|
||||
character(len=37), intent(in) :: decoded
|
||||
character c1*12,c2*12,g2*4,w*4
|
||||
integer i0,i1,i2,i3,i4,i5,n30,nwrap
|
||||
integer, intent(in) :: nap
|
||||
real, intent(in) :: qual
|
||||
character*2 annot
|
||||
|
@ -10,7 +10,6 @@ subroutine getcandidates4(dd,fa,fb,syncmin,nfqso,maxcand,savg,candidate, &
|
||||
complex cx(0:NH1)
|
||||
real candidate(2,maxcand),candidatet(2,maxcand)
|
||||
real dd(NMAX)
|
||||
integer ipk(1)
|
||||
equivalence (x,cx)
|
||||
logical first
|
||||
data first/.true./
|
||||
|
@ -34,7 +34,6 @@ contains
|
||||
character message*37,msgsent*37
|
||||
character c77*77
|
||||
character*37 decodes(100)
|
||||
character*512 data_dir,fname
|
||||
character*17 cdatetime0
|
||||
character*12 mycall,hiscall
|
||||
character*12 mycall0,hiscall0
|
||||
|
@ -5,7 +5,7 @@ program msk144code
|
||||
|
||||
use packjt77
|
||||
character*77 c77
|
||||
character msg*37,msgsent*37,decoded,bad*1,msgtype*18
|
||||
character msg*37,msgsent*37,bad*1,msgtype*18
|
||||
integer*4 i4tone(144)
|
||||
include 'msk144_testmsg.f90'
|
||||
|
||||
|
@ -5,10 +5,8 @@ program QRA64code
|
||||
! protocol.
|
||||
|
||||
use packjt
|
||||
character*22 msg,msg0,msg1,decoded,cok*3,msgtype*10,arg*12
|
||||
character*6 mycall
|
||||
logical ltext
|
||||
integer dgen(12),sent(63),dec(12)
|
||||
character*22 msg,msg0,msg1,decoded,cok*3,msgtype*10
|
||||
integer dgen(12),sent(63)
|
||||
integer icos7(0:6)
|
||||
data icos7/2,5,6,0,4,1,3/ !Defines a 7x7 Costas array
|
||||
|
||||
|
@ -45,7 +45,7 @@ QList<DecodeHighlightingModel::HighlightInfo> const DecodeHighlightingModel::imp
|
||||
, {Highlight::CallBand, false, {}, {{0x99, 0xff, 0xff}}}
|
||||
, {Highlight::LotW, false, {{0x99, 0x00, 0x00}}, {}}
|
||||
, {Highlight::CQ, true, {}, {{0x66, 0xff, 0x66}}}
|
||||
, {Highlight::Tx, true, {}, {{Qt::yellow}}}
|
||||
, {Highlight::Tx, true, {}, {Qt::yellow}}
|
||||
};
|
||||
|
||||
bool operator == (DecodeHighlightingModel::HighlightInfo const& lhs, DecodeHighlightingModel::HighlightInfo const& rhs)
|
||||
|
@ -3298,7 +3298,7 @@ public:
|
||||
void setSelectionDecorator(QCPSelectionDecorator *decorator);
|
||||
|
||||
// introduced virtual methods:
|
||||
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const = 0;
|
||||
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE = 0;
|
||||
virtual QCPPlottableInterface1D *interface1D() { return 0; }
|
||||
virtual QCPRange getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth) const = 0;
|
||||
virtual QCPRange getValueRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth, const QCPRange &inKeyRange=QCPRange()) const = 0;
|
||||
@ -3438,7 +3438,7 @@ public:
|
||||
QCPAxis *keyAxis() const { return mKeyAxis.data(); }
|
||||
QCPAxis *valueAxis() const { return mValueAxis.data(); }
|
||||
QCPAxisRect *axisRect() const;
|
||||
virtual QPointF pixelPosition() const;
|
||||
virtual QPointF pixelPosition() const Q_DECL_OVERRIDE;
|
||||
|
||||
// setters:
|
||||
void setType(PositionType type);
|
||||
@ -5995,16 +5995,16 @@ public:
|
||||
void addData(double errorMinus, double errorPlus);
|
||||
|
||||
// virtual methods of 1d plottable interface:
|
||||
virtual int dataCount() const;
|
||||
virtual double dataMainKey(int index) const;
|
||||
virtual double dataSortKey(int index) const;
|
||||
virtual double dataMainValue(int index) const;
|
||||
virtual QCPRange dataValueRange(int index) const;
|
||||
virtual QPointF dataPixelPosition(int index) const;
|
||||
virtual bool sortKeyIsMainKey() const;
|
||||
virtual QCPDataSelection selectTestRect(const QRectF &rect, bool onlySelectable) const;
|
||||
virtual int findBegin(double sortKey, bool expandedRange=true) const;
|
||||
virtual int findEnd(double sortKey, bool expandedRange=true) const;
|
||||
virtual int dataCount() const Q_DECL_OVERRIDE;
|
||||
virtual double dataMainKey(int index) const Q_DECL_OVERRIDE;
|
||||
virtual double dataSortKey(int index) const Q_DECL_OVERRIDE;
|
||||
virtual double dataMainValue(int index) const Q_DECL_OVERRIDE;
|
||||
virtual QCPRange dataValueRange(int index) const Q_DECL_OVERRIDE;
|
||||
virtual QPointF dataPixelPosition(int index) const Q_DECL_OVERRIDE;
|
||||
virtual bool sortKeyIsMainKey() const Q_DECL_OVERRIDE;
|
||||
virtual QCPDataSelection selectTestRect(const QRectF &rect, bool onlySelectable) const Q_DECL_OVERRIDE;
|
||||
virtual int findBegin(double sortKey, bool expandedRange=true) const Q_DECL_OVERRIDE;
|
||||
virtual int findEnd(double sortKey, bool expandedRange=true) const Q_DECL_OVERRIDE;
|
||||
|
||||
// reimplemented virtual methods:
|
||||
virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE;
|
||||
|
@ -160,7 +160,6 @@ void EPlotter::DrawOverlay() //DrawOverlay()
|
||||
// int w = m_WaterfallPixmap.width();
|
||||
int x,y;
|
||||
|
||||
QRect rect;
|
||||
QPainter painter(&m_OverlayPixmap);
|
||||
painter.initFrom(this);
|
||||
QLinearGradient gradient(0, 0, 0 ,m_h2); //fill background with gradient
|
||||
|
@ -42,11 +42,11 @@
|
||||
|
||||
#include "revision_utils.hpp"
|
||||
#include "qt_helpers.hpp"
|
||||
#include "NetworkAccessManager.hpp"
|
||||
#include "Network/NetworkAccessManager.hpp"
|
||||
#include "soundout.h"
|
||||
#include "soundin.h"
|
||||
#include "Modulator.hpp"
|
||||
#include "Detector.hpp"
|
||||
#include "Detector/Detector.hpp"
|
||||
#include "plotter.h"
|
||||
#include "echoplot.h"
|
||||
#include "echograph.h"
|
||||
@ -61,10 +61,10 @@
|
||||
#include "decodedtext.h"
|
||||
#include "Radio.hpp"
|
||||
#include "models/Bands.hpp"
|
||||
#include "TransceiverFactory.hpp"
|
||||
#include "Transceiver/TransceiverFactory.hpp"
|
||||
#include "models/StationList.hpp"
|
||||
#include "validators/LiveFrequencyValidator.hpp"
|
||||
#include "MessageClient.hpp"
|
||||
#include "Network/MessageClient.hpp"
|
||||
#include "wsprnet.h"
|
||||
#include "signalmeter.h"
|
||||
#include "HelpTextWindow.hpp"
|
||||
@ -73,7 +73,7 @@
|
||||
#include "MultiSettings.hpp"
|
||||
#include "validators/MaidenheadLocatorValidator.hpp"
|
||||
#include "validators/CallsignValidator.hpp"
|
||||
#include "EqualizationToolsDialog.hpp"
|
||||
#include "Transceiver/EqualizationToolsDialog.hpp"
|
||||
#include "LotWUsers.hpp"
|
||||
#include "logbook/AD1CCty.hpp"
|
||||
#include "models/FoxLog.hpp"
|
||||
|
@ -29,13 +29,13 @@
|
||||
#include "models/FrequencyList.hpp"
|
||||
#include "Configuration.hpp"
|
||||
#include "WSPRBandHopping.hpp"
|
||||
#include "Transceiver.hpp"
|
||||
#include "Transceiver/Transceiver.hpp"
|
||||
#include "DisplayManual.hpp"
|
||||
#include "psk_reporter.h"
|
||||
#include "Network/psk_reporter.h"
|
||||
#include "logbook/logbook.h"
|
||||
#include "astro.h"
|
||||
#include "MessageBox.hpp"
|
||||
#include "NetworkAccessManager.hpp"
|
||||
#include "Network/NetworkAccessManager.hpp"
|
||||
|
||||
#define NUM_JT4_SYMBOLS 206 //(72+31)*2, embedded sync
|
||||
#define NUM_JT65_SYMBOLS 126 //63 data + 63 sync
|
||||
|
@ -327,7 +327,6 @@ void CPlotter::DrawOverlay() //DrawOverlay()
|
||||
float pixperdiv;
|
||||
|
||||
double df = m_binsPerPixel*m_fftBinWidth;
|
||||
QRect rect;
|
||||
QPen penOrange(QColor(255,165,0),3);
|
||||
QPen penGreen(Qt::green, 3); //Mark Tol range with green line
|
||||
QPen penRed(Qt::red, 3); //Mark Tx freq with red
|
||||
|
@ -29,8 +29,8 @@ public:
|
||||
explicit CPlotter(QWidget *parent = 0);
|
||||
~CPlotter();
|
||||
|
||||
QSize minimumSizeHint() const;
|
||||
QSize sizeHint() const;
|
||||
QSize minimumSizeHint() const Q_DECL_OVERRIDE;
|
||||
QSize sizeHint() const Q_DECL_OVERRIDE;
|
||||
|
||||
void draw(float swide[], bool bScroll, bool bRed); //Update the waterfall
|
||||
void replot();
|
||||
|
Loading…
Reference in New Issue
Block a user