DYTSrouce/src/workspace/WorkSpaceManager.h

75 lines
1.3 KiB
C
Raw Normal View History

2025-01-04 04:12:51 +00:00
#pragma once
#include <unordered_map>
#include <QObject>
#include "app/Singleton.h"
#include "ui/chartPlot/DYTChart.h"
#include "ui/Table/targetlistwgt.h"
class WorkSpace;
class WorkSpaceManager : public QObject, public Singleton<WorkSpaceManager> {
Q_OBJECT
public:
explicit WorkSpaceManager(QObject* parent = nullptr);
~WorkSpaceManager();
void OnDestory();
bool Contains(const QString& name) const;
2025-01-04 15:41:53 +00:00
bool Remove(const QString& name);
2025-01-04 04:12:51 +00:00
WorkSpace* LoadDyt(const QString& dyt, class OsgView* view);
WorkSpace* GetOrCreate(const QString& path);
void SetCurrent(WorkSpace* workspace);
WorkSpace* GetCurrent() const { return current_; }
bool SetDYTWaveFile(const QString& file)
{
m_waveFile = file;
return true;
}
bool SetDYTReportFile(const QString& file)
{
m_reportFile = file;
return true;
}
bool SetDYTRDFile(const QString& file)
{
m_rdFile = file;
return true;
}
QString GetDYTWaveFile()
{
return m_waveFile;
}
QString GetDYTReportFile()
{
return m_reportFile;
}
QString GetDYTRDFile()
{
return m_rdFile;
}
void OnFrame();
signals:
void WorkSpaceChanged(WorkSpace*);
private:
std::unordered_map<QString, WorkSpace*> workSpaces_;
WorkSpace* current_{ nullptr };
int64_t lastTime_{ 0 };
QString m_waveFile;
QString m_reportFile;
QString m_rdFile;
};