WSF
DeveloperActions.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 2003-2015 The Boeing 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 DEVELOPERMENU_HPP
13#define DEVELOPERMENU_HPP
14
15class QAction;
16#include <QLineEdit>
17class QMenu;
18#include <QTextBrowser>
19#include <QTextEdit>
20#include <QTimer>
21
22#include "WsfPProxyValue.hpp"
23
24namespace wizard
25{
26class Project;
27class ProxyChange;
28
29class DeveloperActions : public QObject
30{
31public:
32 DeveloperActions(QObject* aParent);
33 ~DeveloperActions() override = default;
34
35private:
36 void ParseTreeDump();
37 void ProxyDump();
38 void MemoryUsage();
39 void WatchProxy();
40 void ObjectMode();
41 void OpenProxyDumpWindow(Project* aProject);
42
44 QMenu* mParserTimersMenu;
46 QAction* mGrammarTimer;
48 QAction* mParseTimer;
50 QAction* mDeserializeTimer;
52 QAction* mMergeGUI_Timer;
53};
54
55class ProxyDumpWindow : public QWidget
56{
57 Q_OBJECT
58public:
59 explicit ProxyDumpWindow(Project* aProjectPtr);
60
61private:
62 void UpdateDisplay(bool aForce);
63
64 QTimer mUpdateTimer;
65 UtWeakReference<Project> mScenario;
66 WsfPProxyValue mRoot;
67 std::string mCurrentText;
68 QTextEdit* mTextPtr;
69 QLineEdit* mPathInput;
70};
71
72class ProxyWatchWindow : public QTextBrowser
73{
74public:
75 explicit ProxyWatchWindow(const WsfPProxyPath& aPath);
76
77private:
78 void AnyUpdate(const ProxyChange& aChange);
79 void DirectUpdate(const ProxyChange& aChange);
80 void PrintWhat(const ProxyChange& aChange, std::ostream& os);
81 void Log(std::string aLog);
82 UtCallbackHolder mCallbacks;
83};
84} // namespace wizard
85
86#endif
Represents a path or unique key to a value in the proxy.
Definition WsfPProxyPath.hpp:64
Definition WsfPProxyValue.hpp:33
~DeveloperActions() override=default
DeveloperActions(QObject *aParent)
Definition DeveloperActions.cpp:36
A WSF 'project'. Manages WSF sources files in a WSF project.
Definition Project.hpp:66
Records a change to proxy data.
Definition ProxyChange.hpp:21
ProxyDumpWindow(Project *aProjectPtr)
Definition DeveloperActions.cpp:199
ProxyWatchWindow(const WsfPProxyPath &aPath)
Definition DeveloperActions.cpp:299
Definition Runner.hpp:22
Copyrights Multiple, All Rights Reserved