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)
 Searches for an external tool.
 
xiiStatus 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().
 
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 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 xiiPluginBundleSetGetPluginBundles () const
 
xiiPluginBundleSetGetPluginBundles ()
 
void AddRestartRequiredReason (const char *szReason)
 
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 (int iArgc, char **pArgv)
 
void StartupEditor ()
 
void StartupEditor (xiiBitflags< StartupFlags > startupFlags, const char *szUserDataFolder=nullptr)
 
void ShutdownEditor ()
 
xiiInt32 RunEditor ()
 
void DeInitQt ()
 
void LoadEditorPlugins ()
 
xiiRecentFilesListGetRecentProjectsList ()
 
xiiRecentFilesListGetRecentDocumentsList ()
 
xiiEditorEngineProcessConnectionGetEngineViewProcess ()
 
void ShowSettingsDocument ()
 
void CloseSettingsDocument ()
 
void CloseProject ()
 
xiiResult OpenProject (const char *szProject, bool bImmediate=false)
 
void GuiCreateDocument ()
 
void GuiOpenDocument ()
 
void GuiOpenDashboard ()
 
void GuiOpenDocsAndCommunity ()
 
bool GuiCreateProject (bool bImmediate=false)
 
bool GuiOpenProject (bool bImmediate=false)
 
void OpenDocumentQueued (xiiStringView sDocument, const xiiDocumentObject *pOpenContext=nullptr)
 
xiiDocumentOpenDocument (xiiStringView sDocument, xiiBitflags< xiiDocumentFlags > flags, const xiiDocumentObject *pOpenContext=nullptr)
 
xiiDocumentCreateDocument (xiiStringView sDocument, xiiBitflags< xiiDocumentFlags > flags, const xiiDocumentObject *pOpenContext=nullptr)
 
xiiResult CreateOrOpenProject (bool bCreate, xiiStringView sFile)
 
xiiStatus 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.
 
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)
 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.
 
const xiiApplicationFileSystemConfigGetFileSystemConfig () 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 ()
 
void GetKnownInputSlots (xiiDynamicArray< xiiString > &slots) const
 Reads the known input slots from disk and adds them to the existing list.
 
void ReloadEngineResources ()
 Instructs the engine to reload its resources.
 
void RestartEngineProcessIfPluginsChanged (bool bForce)
 
void SetStyleSheet ()
 
bool IsProgressBarProcessingEvents () const
 

Static Public Attributes

static xiiEvent< const xiiEditorAppEvent & > m_Events
 

Member Function Documentation

◆ 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)

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

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: