WSF
RunManager.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2018 Infoscitex, a DCS Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef RUNMANAGER_HPP
13#define RUNMANAGER_HPP
14
15#include <QThread>
16
17class UtPath;
18
19#include "ViExport.hpp"
20
22#define wizRunMgr wizard::RunManager::GetInstance()
23
24namespace wizard
25{
27{
28public:
29 static RunManager& GetInstance();
30
31 static void Create();
32
33 const QList<QStringList>& GetRecentScenarios() const { return mRecentScenarios; }
34 void RemoveRecentScenario(const QStringList& aFileList);
35 void ClearRecentScenarios();
36 QString GetMostRecentDirectory();
37
38 bool ReloadScenario();
39 bool LoadScenario(const QStringList& aFileList);
40
41 void Shutdown();
42
44 static QString GetScenarioDisplayName(const QStringList& aFileList, bool aDisplayFullPath);
45
46 const QList<QStringList>& GetRecents() { return mRecentScenarios; }
47
49
50
53 QString GetApplicationPath() const noexcept;
57 bool SetWorkingDirectoryToApplication() noexcept;
60 bool IsWorkingDirectoryApplication() const noexcept;
61
63
65
66
68 QString GetCurrentProjectPath() const noexcept;
76 bool SetWorkingDirectoryToProject(const QString& aMainScenarioFile) noexcept;
78 bool SetWorkingDirectoryToProject(const std::string& aMainScenarioFile) noexcept;
80 bool SetWorkingDirectoryToProject(const UtPath& aMainScenarioFile) noexcept;
83 bool IsWorkingDirectoryProject() const noexcept;
84
86
87protected:
88 RunManager();
89 virtual ~RunManager();
90
91 void ReadSettings();
92 void WriteHistory();
93 void SetMostRecentScenario(const QStringList& aFileList);
94
95 static QStringList StandardizeFilePaths(const QStringList& aFileList, bool* aFilesExist = nullptr);
96
98 QList<QStringList> mRecentScenarios;
99 QStringList mFileList;
103 const QString mApplicationPath;
104
106};
107} // namespace wizard
108
109#endif
#define VI_EXPORT
Definition ViExport.hpp:38
Definition RunManager.hpp:27
const QList< QStringList > & GetRecentScenarios() const
Definition RunManager.hpp:33
static RunManager * mInstancePtr
Definition RunManager.hpp:105
const QList< QStringList > & GetRecents()
Definition RunManager.hpp:46
static RunManager & GetInstance()
Definition RunManager.cpp:48
QList< QStringList > mRecentScenarios
Definition RunManager.hpp:98
const QString mApplicationPath
the working directory for the application
Definition RunManager.hpp:103
RunManager()
Definition RunManager.cpp:34
QString mCurrentProjectPath
the working directory for the current project
Definition RunManager.hpp:101
int mMaxRecentScenarios
Definition RunManager.hpp:97
static void Create()
Definition RunManager.cpp:54
QStringList mFileList
Definition RunManager.hpp:99
Template specialization for wsf::comm::Address. Allows usage of Address in std::unordered_map/set.
Definition WsfCommAddress.hpp:185
Definition Runner.hpp:22
Copyrights Multiple, All Rights Reserved