11#ifndef ENVIRONMENT_HPP
12#define ENVIRONMENT_HPP
16#include <QApplication>
18#include <QTextDocument>
21#include "UtCallbackHolder.hpp"
24#include "WkfEnvironment.hpp"
29#define wizEnv static_cast<wizard::Environment&>(wizard::Environment::GetInstance())
36class ProjectWorkspace;
54 if (event->type() == QEvent::FocusOut || event->type() == QEvent::FocusIn)
56 QFocusEvent* evt = (QFocusEvent*)event;
57 if (evt->reason() == Qt::ActiveWindowFocusReason)
59 bool hasFocusNow =
nullptr != QApplication::activeWindow();
65 static bool activating =
false;
76 return QObject::eventFilter(obj, event);
88 bool eventFilter(QObject* obj, QEvent* aEvent)
override;
102 static bool Exists() {
return mInstancePtr !=
nullptr; }
109 void PopulateRecents();
111 bool LoadScenario(
const QStringList& aFiles);
115 void OpenUrl(
const QUrl& aUrl);
116 void ProjectSettingsOpen(
Project& aProject);
118 void MarginClickAction(Qt::MouseButton aButton,
TextSource* aSource,
size_t aLineNumber);
119 void MarginDraw(
const QString& aSourcePath, QPainter& aPainter,
const QMap<size_t, QPoint>& aVisibleLineMap);
120 void GetHighlightLines(
const QString& aSourcePath, QList<size_t>& aLineList);
121 void LoadProject(
const QUrl& aUrl);
159 void MarginClick(Qt::MouseButton aButton, const QString& aSourcePtr,
size_t aLineNumber);
160 void MarginDrawRequest(const QString& aSourcePath, QPainter& aPainter, const QMap<
size_t, QPoint>& aVisibleLineMap);
168 void ActionsForFileRequested(const QFileInfo& aFileInfo, QMenu* aMenu);
169 void Execute(const QFileInfo& aFile, const
ToolDef& aTool);
170 void ProcessTags(QString& aString, const QFileInfo& aFile) const;
171 bool MakeExecutable(QString& aExe, QStringList& aArgs) const;
179 QMetaObject::Connection mMapCloseConnection;
wizard::Signals * wizSignals
Definition Signals.cpp:19
#define VI_EXPORT
Definition ViExport.hpp:38
Definition WsfStandardApplication.hpp:27
bool eventFilter(QObject *obj, QEvent *event) override
Definition Environment.hpp:52
ActivationFilter(QObject *aParent=nullptr)
Definition Environment.hpp:46
bool mAppHasFocus
Definition Environment.hpp:44
void MarginDrawRequest(const QString &aSourcePath, QPainter &aPainter, const QMap< size_t, QPoint > &aVisibleLineMap)
void MarginClick(Qt::MouseButton aButton, const QString &aSourcePtr, size_t aLineNumber)
void UpdatePlatform(const QString &aPlatformName)
Definition Environment.cpp:450
void DeletePlatform(const QString &aPlatformName)
Definition Environment.cpp:455
void FocusedCopyRequest()
void BuildDeveloperMenu()
static void Create()
Definition Environment.cpp:92
WsfStandardApplication & GetWsfStandardApplication()
Definition Environment.cpp:460
void EndUndoCapture() noexcept
Notifies the EditorManager to stop capturing many changes to consider as one change.
Definition Environment.cpp:497
QMetaObject::Connection GetMapCloseConnection() const noexcept
Definition Environment.cpp:522
void SetVtkMoveMode(wizard::VtkInterface::MoveMode aMoveMode) noexcept
Sets the MoveMode in the VtkInterface.
Definition Environment.cpp:507
void HighlightLinesRequest(const QString &aSourcePath, QList< size_t > &aLineList)
void Undo()
Definition Environment.cpp:472
static bool Exists()
Definition Environment.hpp:102
void PlatformUpdated(const QString &aPlatformName)
bool IsCapturingUndo() const noexcept
Definition Environment.cpp:492
void Redo()
Definition Environment.cpp:477
void BeginUndoCapture() noexcept
Notifies the EditorManager to start capturing many changes to consider as one change.
Definition Environment.cpp:487
wizard::VtkInterface::MoveMode GetVtkMoveMode() const noexcept
Gets the MoveMode in the VtkInterface.
Definition Environment.cpp:512
static Environment & GetInstance()
Definition Environment.cpp:86
void ClearUndo()
Definition Environment.cpp:482
void RequestSelectPlatform(const QString &aPlatformName)
Definition Environment.cpp:502
void CopyFocusedData()
Definition Environment.cpp:445
Environment()
Definition Environment.cpp:52
void PlatformDeleted(const QString &aPlatformName)
void SetMapCloseConnection(const QMetaObject::Connection &aConnection) noexcept
Definition Environment.cpp:517
void WsfStandardApplicationPendingDestruction()
Definition ProjectWorkspace.hpp:48
A WSF 'project'. Manages WSF sources files in a WSF project.
Definition Project.hpp:66
ShutdownFilter(QObject *aParent=nullptr)
Definition Environment.hpp:83
bool eventFilter(QObject *obj, QEvent *aEvent) override
Definition Environment.cpp:527
Definition TextSource.hpp:48
Definition VtkInterface.hpp:41
Template specialization for wsf::comm::Address. Allows usage of Address in std::unordered_map/set.
Definition WsfCommAddress.hpp:185