XII Release 0.1.0
Loading...
Searching...
No Matches
xiiQtEditorApp Class Reference
Inheritance diagram for xiiQtEditorApp:
[legend]

Classes

struct  StartupFlags

Signals

void IdleEvent ()

Public Member Functions

xiiString FindToolApplication (const char *szToolName)
 Copyright (c) Theophilus Eriata. All Rights Reserved.
xiiStatus ExecuteTool (const char *szTool, const QStringList &arguments, xiiUInt32 uiSecondsTillTimeout, xiiLogInterface *pLogOutput=nullptr, xiiLogMsgType::Enum logLevel=xiiLogMsgType::WarningMsg, const char *szCWD=nullptr)
xiiString BuildFileserveCommandLine () const
 Creates the string with which to run Fileserve for the currently open project.
void RunFileserve ()
 Launches Fileserve with the settings for the current project.
void RunInspector ()
 Launches xiiInspector.
void RunTracy ()
 Launches Tracy.
bool IsRunning () const
 Returns whether we are between StartupEditor and ShutdownEditor.
bool IsInSafeMode () const
 Can be set via the command line option '-safe'. In this mode the editor will not automatically load recent documents.
bool IsInHeadlessMode () const
 Returns true if the the app shouldn't display anything. This is the case in an EditorProcessor.
bool IsInUnitTestMode () const
 Returns true if the editor is started in run in test mode.
bool IsBackgroundMode () const
 Returns true if the editor is started in run in background mode.
const xiiPluginBundleSet & GetPluginBundles () const
xiiPluginBundleSet & GetPluginBundles ()
void AddRestartRequiredReason (const char *szReason)
 Copyright (c) Theophilus Eriata. All Rights Reserved.
const xiiSet< xiiString > & GetRestartRequiredReasons ()
void AddReloadProjectRequiredReason (const char *szReason)
const xiiSet< xiiString > & GetReloadProjectRequiredReason ()
void SaveSettings ()
void SaveOpenDocumentsList ()
 Writes a file containing all the currently open documents.
xiiRecentFilesList LoadOpenDocumentsList ()
 Reads the list of last open documents in the current project.
void InitQt (xiiInt32 iArgc, char **pArgv)
void StartupEditor ()
void StartupEditor (xiiBitflags< StartupFlags > startupFlags, const char *szUserDataFolder=nullptr)
void ShutdownEditor ()
xiiInt32 RunEditor ()
void DeInitQt ()
void LoadEditorPlugins ()
xiiRecentFilesList & GetRecentProjectsList ()
xiiRecentFilesList & GetRecentDocumentsList ()
xiiEditorEngineProcessConnection * GetEngineViewProcess ()
void ShowSettingsDocument ()
void CloseSettingsDocument ()
void CloseProject ()
xiiResult OpenProject (const char *szProject, bool bImmediate=false)
void GuiCreateDocument ()
void GuiOpenDocument ()
void GuiOpenDashboard ()
 Copyright (c) Theophilus Eriata. All Rights Reserved.
void GuiOpenDocsAndCommunity ()
bool GuiCreateProject (bool bImmediate=false)
bool GuiOpenProject (bool bImmediate=false)
void OpenDocumentQueued (xiiStringView sDocument, const xiiDocumentObject *pOpenContext=nullptr)
 Copyright (c) Theophilus Eriata. All Rights Reserved.
xiiDocument * OpenDocument (xiiStringView sDocument, xiiBitflags< xiiDocumentFlags > flags, const xiiDocumentObject *pOpenContext=nullptr)
xiiDocument * CreateDocument (xiiStringView sDocument, xiiBitflags< xiiDocumentFlags > flags, const xiiDocumentObject *pOpenContext=nullptr)
xiiResult CreateOrOpenProject (bool bCreate, xiiStringView sFile)
xiiStatus MakeRemoteProjectLocal (xiiStringBuilder &inout_sFilePath)
bool ExistsPluginSelectionStateDDL (const char *szProjectDir=":project")
void WritePluginSelectionStateDDL (const char *szProjectDir=":project")
void CreatePluginSelectionDDL (const char *szProjectFile, const char *szTemplate)
void LoadPluginBundleDlls (const char *szProjectFile)
void DetectAvailablePluginBundles (xiiStringView sSearchDirectory)
void LaunchEditor (const char *szProject, bool bCreate)
 Launches a new instance of the editor to open the given project.
void AddPluginDataDirDependency (const char *szSdkRootRelativePath, const char *szRootName=nullptr, bool bWriteable=false)
 Copyright (c) Theophilus Eriata. All Rights Reserved.
const xiiApplicationFileSystemConfig & GetFileSystemConfig () const
const xiiApplicationPluginConfig GetRuntimePluginConfig (bool bIncludeEditorPlugins) const
void SetFileSystemConfig (const xiiApplicationFileSystemConfig &cfg)
bool MakeDataDirectoryRelativePathAbsolute (xiiStringBuilder &ref_sPath) const
bool MakeDataDirectoryRelativePathAbsolute (xiiString &ref_sPath) const
bool MakePathDataDirectoryRelative (xiiStringBuilder &ref_sPath) const
bool MakePathDataDirectoryRelative (xiiString &ref_sPath) const
bool MakePathDataDirectoryParentRelative (xiiStringBuilder &ref_sPath) const
bool MakeParentDataDirectoryRelativePathAbsolute (xiiStringBuilder &ref_sPath, bool bCheckExists) const
xiiStatus SaveTagRegistry ()
 Copyright (c) Theophilus Eriata. All Rights Reserved.
void GetKnownInputSlots (xiiDynamicArray< xiiString > &slots) const
 Copyright (c) Theophilus Eriata. All Rights Reserved.
void ReloadEngineResources ()
 Instructs the engine to reload its resources.
void RestartEngineProcessIfPluginsChanged (bool bForce)
void SetStyleSheet ()
 Copyright (c) Theophilus Eriata. All Rights Reserved.
bool IsProgressBarProcessingEvents () const

Static Public Attributes

static xiiEvent< const xiiEditorAppEvent & > m_Events

Member Function Documentation

◆ AddPluginDataDirDependency()

void xiiQtEditorApp::AddPluginDataDirDependency ( const char * szSdkRootRelativePath,
const char * szRootName = nullptr,
bool bWriteable = false )

Copyright (c) Theophilus Eriata. All Rights Reserved.

Adds a data directory as a hard dependency to the project. Should be used by plugins to ensure their required data is available. The path must be relative to the SdkRoot folder.

◆ ExecuteTool()

xiiStatus xiiQtEditorApp::ExecuteTool ( const char * szTool,
const QStringList & arguments,
xiiUInt32 uiSecondsTillTimeout,
xiiLogInterface * pLogOutput = nullptr,
xiiLogMsgType::Enum logLevel = xiiLogMsgType::WarningMsg,
const char * szCWD = nullptr )

Executes an external tool as found by FindToolApplication().

The applications output is parsed and forwarded to the given log interface. A custom log level is applied first. If the tool cannot be found or it takes longer to execute than the allowed timeout, the function returns failure.

◆ FindToolApplication()

xiiString xiiQtEditorApp::FindToolApplication ( const char * szToolName)

Copyright (c) Theophilus Eriata. All Rights Reserved.

Searches for an external tool.

Either uses one from the precompiled tools folder, or from the currently compiled binaries, depending where it finds one. If the editor preference is set to use precompiled tools, that folder is preferred, otherwise the other folder is preferred.

◆ GetKnownInputSlots()

void xiiQtEditorApp::GetKnownInputSlots ( xiiDynamicArray< xiiString > & slots) const

Copyright (c) Theophilus Eriata. All Rights Reserved.

Reads the known input slots from disk and adds them to the existing list.

All input slots to be exposed by the editor are stored in 'Shared/Tools/xiiEditor/InputSlots' as txt files. Each line names one input slot.

◆ MakeRemoteProjectLocal()

xiiStatus xiiQtEditorApp::MakeRemoteProjectLocal ( xiiStringBuilder & inout_sFilePath)

If this project is remote, ie coming from another repository that is not checked-out by default, make sure it exists locally on disk.

Adjusts inout_sFilePath from pointing to a xiiRemoteProject file to a xiiProject file, if necessary. If the project is already local, it always succeeds. If checking out fails or is user canceled, the function returns failure.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/EditorApp.moc.h
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Configuration/Implementation/EditorPlugins.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Configuration/Implementation/EnginePlugins.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Configuration/Implementation/FileSystem.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Configuration/Implementation/Input.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Configuration/Implementation/Tags.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Implementation/Documents.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Implementation/DocumentsGUI.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Implementation/EditorApp.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Implementation/ExternalTools.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Implementation/Projects.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Implementation/ProjectsGUI.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Implementation/Qt.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Implementation/Startup.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/EditorApp/Implementation/UserMessaging.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/Preferences/Implementation/EditorPreferences.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/Preferences/Implementation/ProjectPreferences.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/Settings/Implementation/EditorSettings.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/Settings/Implementation/SettingsTab.cpp