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

Classes

struct  Event
 
struct  Request
 

Public Types

using CustomAction = xiiVariant (*)(const xiiDocument*)
 

Public Member Functions

xiiStatus CanOpenDocument (xiiStringView sFilePath) const
 
xiiStatus CreateDocument (xiiStringView sDocumentTypeName, xiiStringView sPath, xiiDocument *&out_pDocument, xiiBitflags< xiiDocumentFlags > flags=xiiDocumentFlags::None, const xiiDocumentObject *pOpenContext=nullptr)
 Creates a new document.
 
xiiStatus OpenDocument (xiiStringView sDocumentTypeName, xiiStringView sPath, xiiDocument *&out_pDocument, xiiBitflags< xiiDocumentFlags > flags=xiiDocumentFlags::AddToRecentFilesList|xiiDocumentFlags::RequestWindow, const xiiDocumentObject *pOpenContext=nullptr)
 Opens an existing document.
 
virtual xiiStatus CloneDocument (xiiStringView sPath, xiiStringView sClonePath, xiiUuid &inout_cloneGuid)
 
void CloseDocument (xiiDocument *pDocument)
 
void EnsureWindowRequested (xiiDocument *pDocument, const xiiDocumentObject *pOpenContext=nullptr)
 
const xiiDynamicArray< xiiDocument * > & GetAllOpenDocuments () const
 Returns a list of all currently open documents that are managed by this document manager.
 
xiiDocumentGetDocumentByPath (xiiStringView sPath) const
 
bool EnsureDocumentIsClosed (xiiStringView sPath)
 If the given document is open, it will be closed. User is not asked about it, unsaved changes are discarded. Returns true if the document was open and needed to be closed. This function only operates on documents opened by this manager. Use EnsureDocumentIsClosedInAllManagers() to close documents of any type.
 
void CloseAllDocumentsOfManager ()
 
void GetSupportedDocumentTypes (xiiDynamicArray< const xiiDocumentTypeDescriptor * > &inout_documentTypes) const
 
- Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Static Public Member Functions

static const xiiHybridArray< xiiDocumentManager *, 16 > & GetAllDocumentManagers ()
 
static xiiResult FindDocumentTypeFromPath (xiiStringView sPath, bool bForCreation, const xiiDocumentTypeDescriptor *&out_pTypeDesc)
 
static xiiDocumentGetDocumentByGuid (const xiiUuid &guid)
 
static bool EnsureDocumentIsClosedInAllManagers (xiiStringView sPath)
 If the given document is open, it will be closed. User is not asked about it, unsaved changes are discarded. Returns true if the document was open and needed to be closed.
 
static void CloseAllDocuments ()
 
static const xiiDocumentTypeDescriptorGetDescriptorForDocumentType (xiiStringView sDocumentType)
 
static const xiiMap< xiiString, const xiiDocumentTypeDescriptor * > & GetAllDocumentDescriptors ()
 
- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 

Static Public Attributes

static xiiCopyOnBroadcastEvent< const Event & > s_Events
 
static xiiEvent< Request & > s_Requests
 
static xiiMap< xiiString, CustomAction > s_CustomActions
 

Protected Member Functions

virtual void InternalCloneDocument (xiiStringView sPath, xiiStringView sClonePath, const xiiUuid &documentId, const xiiUuid &seedGuid, const xiiUuid &cloneGuid, xiiAbstractObjectGraph *pHeader, xiiAbstractObjectGraph *pObjects, xiiAbstractObjectGraph *pTypes)
 

Member Function Documentation

◆ CreateDocument()

xiiStatus xiiDocumentManager::CreateDocument ( xiiStringView sDocumentTypeName,
xiiStringView sPath,
xiiDocument *& out_pDocument,
xiiBitflags< xiiDocumentFlags > flags = xiiDocumentFlags::None,
const xiiDocumentObject * pOpenContext = nullptr )

Creates a new document.

Parameters
szDocumentTypeNameDocument type to create. See xiiDocumentTypeDescriptor.
szPathAbsolute path to the document to be created.
out_pDocumentOut parameter for the resulting xiiDocument. Will be nullptr on failure.
flagsFlags to define various options like whether a window should be created.
pOpenContextAn generic context object. Allows for custom data to be passed along into the construction. E.g. inform a sub-document which main document it belongs to.
Returns
Returns the error in case the operations failed.

◆ OpenDocument()

xiiStatus xiiDocumentManager::OpenDocument ( xiiStringView sDocumentTypeName,
xiiStringView sPath,
xiiDocument *& out_pDocument,
xiiBitflags< xiiDocumentFlags > flags = xiiDocumentFlags::AddToRecentFilesList | xiiDocumentFlags::RequestWindow,
const xiiDocumentObject * pOpenContext = nullptr )

Opens an existing document.

Parameters
szDocumentTypeNameDocument type to open. See xiiDocumentTypeDescriptor.
szPathAbsolute path to the document to be opened.
out_pDocumentOut parameter for the resulting xiiDocument. Will be nullptr on failure.
flagsFlags to define various options like whether a window should be created.
pOpenContextAn generic context object. Allows for custom data to be passed along into the construction. E.g. inform a sub-document which main document it belongs to.
Returns
Returns the error in case the operations failed.
Returns the error in case the operations failed.

The documentation for this class was generated from the following files: