WSF
ToolPrefObject.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 TOOLPREFOBJECT_HPP
13#define TOOLPREFOBJECT_HPP
14
15#include "ViExport.hpp"
16#include "WkfPrefObject.hpp"
17
18namespace wizard
19{
20struct ToolDef
21{
22 ToolDef(const QString& aAlias,
23 const QString& aPath,
24 const QString& aCmdLine,
25 const QString& aWorking,
26 const QStringList& aExtensions)
27 : mAlias(aAlias)
28 , mPath(aPath)
29 , mCmdLine(aCmdLine)
30 , mWorking(aWorking)
31 , mExtensions(aExtensions)
32 {
33 }
34 ToolDef() = default;
35
36 QString mAlias;
37 QString mPath;
38 QString mCmdLine;
39 QString mWorking;
40 QStringList mExtensions;
41};
43{
45
46 std::map<QString, ToolDef> mToolList;
47};
48
49class VI_EXPORT ToolPrefObject : public wkf::PrefObjectT<ToolPrefData>
50{
51 Q_OBJECT
52
53public:
54 static constexpr const char* cNAME = "ToolLauncher";
55
56 ToolPrefObject(QObject* parent = nullptr);
57 ~ToolPrefObject() override = default;
58
59 void Apply() override;
60
61 ToolPrefData ReadSettings(QSettings& aSettings) const override;
62 void SaveSettingsP(QSettings& aSettings) const override;
63
64 const ToolDef FindTool(const QString& aName) const;
65 const std::map<QString, ToolDef>& Tools() const;
66
67signals:
68 void Changed();
69};
70} // namespace wizard
71
73
74#endif
Q_DECLARE_METATYPE(wizard::ProjectWorkspace *)
#define VI_EXPORT
Definition ViExport.hpp:38
~ToolPrefObject() override=default
static constexpr const char * cNAME
Definition ToolPrefObject.hpp:54
void SaveSettingsP(QSettings &aSettings) const override
Definition ToolPrefObject.cpp:116
ToolPrefData ReadSettings(QSettings &aSettings) const override
Definition ToolPrefObject.cpp:87
ToolPrefObject(QObject *parent=nullptr)
Definition ToolPrefObject.cpp:77
const ToolDef FindTool(const QString &aName) const
Definition ToolPrefObject.cpp:135
void Apply() override
Definition ToolPrefObject.cpp:82
const std::map< QString, ToolDef > & Tools() const
Definition ToolPrefObject.cpp:148
Definition Runner.hpp:22
Definition ToolPrefObject.hpp:21
QString mPath
Definition ToolPrefObject.hpp:37
QString mAlias
Definition ToolPrefObject.hpp:36
ToolDef()=default
QString mCmdLine
Definition ToolPrefObject.hpp:38
QStringList mExtensions
Definition ToolPrefObject.hpp:40
ToolDef(const QString &aAlias, const QString &aPath, const QString &aCmdLine, const QString &aWorking, const QStringList &aExtensions)
Definition ToolPrefObject.hpp:22
QString mWorking
Definition ToolPrefObject.hpp:39
Definition ToolPrefObject.hpp:43
ToolPrefData()
Definition ToolPrefObject.cpp:22
std::map< QString, ToolDef > mToolList
Definition ToolPrefObject.hpp:46
Copyrights Multiple, All Rights Reserved