Application: Use shared pointers

Fixes #1239
This commit is contained in:
Jonas Kvinge
2023-07-21 05:55:24 +02:00
parent d6b53f78ab
commit 2e61235403
316 changed files with 2170 additions and 1643 deletions

View File

@@ -24,9 +24,9 @@
#include "analyzerbase.h"
#include <algorithm>
#include <cmath>
#include <cstdint>
#include <cmath>
#include <algorithm>
#include <QWidget>
#include <QVector>

View File

@@ -38,6 +38,7 @@
#include <QString>
#include <QPainter>
#include "core/shared_ptr.h"
#include "analyzer/fht.h"
#include "engine/enginebase.h"
@@ -54,7 +55,7 @@ class AnalyzerBase : public QWidget {
int timeout() const { return timeout_; }
void set_engine(EngineBase *engine) { engine_ = engine; }
void set_engine(SharedPtr<EngineBase> engine) { engine_ = engine; }
void ChangeTimeout(const int timeout);
@@ -82,7 +83,7 @@ class AnalyzerBase : public QWidget {
protected:
QBasicTimer timer_;
FHT *fht_;
EngineBase *engine_;
SharedPtr<EngineBase> engine_;
Scope lastscope_;
bool new_frame_;

View File

@@ -43,6 +43,7 @@
#include "sonogram.h"
#include "core/logging.h"
#include "core/shared_ptr.h"
#include "engine/enginebase.h"
using namespace std::chrono_literals;
@@ -125,7 +126,7 @@ void AnalyzerContainer::wheelEvent(QWheelEvent *e) {
emit WheelEvent(e->angleDelta().y());
}
void AnalyzerContainer::SetEngine(EngineBase *engine) {
void AnalyzerContainer::SetEngine(SharedPtr<EngineBase> engine) {
if (current_analyzer_) current_analyzer_->set_engine(engine);
engine_ = engine;

View File

@@ -30,6 +30,7 @@
#include <QAction>
#include <QActionGroup>
#include "core/shared_ptr.h"
#include "engine/enginebase.h"
class QTimer;
@@ -44,7 +45,7 @@ class AnalyzerContainer : public QWidget {
public:
explicit AnalyzerContainer(QWidget *parent);
void SetEngine(EngineBase *engine);
void SetEngine(SharedPtr<EngineBase> engine);
void SetActions(QAction *visualisation);
static const char *kSettingsGroup;
@@ -93,7 +94,7 @@ class AnalyzerContainer : public QWidget {
bool ignore_next_click_;
AnalyzerBase *current_analyzer_;
EngineBase *engine_;
SharedPtr<EngineBase> engine_;
};
template<typename T>