Plasma Engine  2.0
Loading...
Searching...
No Matches
plDocumentObjectManager Class Reference

Represents to content of a document. Every document has exactly one root object under which all objects need to be parented. The default root object is plDocumentRoot. More...

#include <DocumentObjectManager.h>

Inheritance diagram for plDocumentObjectManager:

Classes

class  Storage
 

Public Member Functions

 plDocumentObjectManager (const plRTTI *pRootType=plDocumentRoot::GetStaticRTTI())
 
void SetDocument (plDocument *pDocument)
 
plDocumentObjectCreateObject (const plRTTI *pRtti, plUuid guid=plUuid())
 
void DestroyObject (plDocumentObject *pObject)
 
virtual void DestroyAllObjects ()
 
virtual void GetCreateableTypes (plHybridArray< const plRTTI *, 32 > &ref_types) const
 
void PatchEmbeddedClassObjects (const plDocumentObject *pObject) const
 
const plDocumentObjectGetRootObject () const
 
plDocumentObjectGetRootObject ()
 
const plDocumentObjectGetObject (const plUuid &guid) const
 
plDocumentObjectGetObject (const plUuid &guid)
 
const plDocumentGetDocument () const
 
plDocumentGetDocument ()
 
plStatus SetValue (plDocumentObject *pObject, plStringView sProperty, const plVariant &newValue, plVariant index=plVariant())
 
plStatus InsertValue (plDocumentObject *pObject, plStringView sProperty, const plVariant &newValue, plVariant index=plVariant())
 
plStatus RemoveValue (plDocumentObject *pObject, plStringView sProperty, plVariant index=plVariant())
 
plStatus MoveValue (plDocumentObject *pObject, plStringView sProperty, const plVariant &oldIndex, const plVariant &newIndex)
 
void AddObject (plDocumentObject *pObject, plDocumentObject *pParent, plStringView sParentProperty, plVariant index)
 
void RemoveObject (plDocumentObject *pObject)
 
void MoveObject (plDocumentObject *pObject, plDocumentObject *pNewParent, plStringView sParentProperty, plVariant index)
 
plStatus CanAdd (const plRTTI *pRtti, const plDocumentObject *pParent, plStringView sParentProperty, const plVariant &index) const
 
plStatus CanRemove (const plDocumentObject *pObject) const
 
plStatus CanMove (const plDocumentObject *pObject, const plDocumentObject *pNewParent, plStringView sParentProperty, const plVariant &index) const
 
plStatus CanSelect (const plDocumentObject *pObject) const
 
bool IsUnderRootProperty (plStringView sRootProperty, const plDocumentObject *pObject) const
 
bool IsUnderRootProperty (plStringView sRootProperty, const plDocumentObject *pParent, plStringView sParentProperty) const
 
bool IsTemporary (const plDocumentObject *pObject) const
 
bool IsTemporary (const plDocumentObject *pParent, plStringView sParentProperty) const
 
plSharedPtr< plDocumentObjectManager::StorageSwapStorage (plSharedPtr< plDocumentObjectManager::Storage > pNewStorage)
 
plSharedPtr< plDocumentObjectManager::StorageGetStorage ()
 

Public Attributes

plCopyOnBroadcastEvent< const plDocumentObjectStructureEvent & > m_StructureEvents
 
plCopyOnBroadcastEvent< const plDocumentObjectPropertyEvent & > m_PropertyEvents
 
plEvent< const plDocumentObjectEvent & > m_ObjectEvents
 

Friends

class plObjectAccessorBase
 

Detailed Description

Represents to content of a document. Every document has exactly one root object under which all objects need to be parented. The default root object is plDocumentRoot.

Member Function Documentation

◆ InternalCanAdd()

virtual plStatus plDocumentObjectManager::InternalCanAdd ( const plRTTI * pRtti,
const plDocumentObject * pParent,
plStringView sParentProperty,
const plVariant & index ) const
inlineprivatevirtual

Reimplemented in plVisualShaderNodeManager.


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