Open 3D Engine AzToolsFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzToolsFramework::DocumentPropertyEditor Class Reference

Inherits QScrollArea, and AzToolsFramework::IPropertyEditor.

Classes

struct  HandlerInfo
 

Public Slots

void SetAdapter (AZ::DocumentPropertyEditor::DocumentAdapterPtr theAdapter)
 set the DOM adapter for this DPE to inspect
 
void Clear ()
 

Signals

void ExpanderChangedByUser ()
 
void RequestSizeUpdate ()
 needed to inform the ComponentEditor Card that the DPE's sizehint needs to be re-evaluated
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (DocumentPropertyEditor, AZ::SystemAllocator)
 
 DocumentPropertyEditor (QWidget *parentWidget=nullptr)
 
void SetAllowVerticalScroll (bool allowVerticalScroll)
 
virtual QSize sizeHint () const override
 
auto GetAdapter ()
 
const auto GetAdapter () const
 
void AddAfterWidget (QWidget *precursor, QWidget *widgetToAdd)
 
void SetSavedExpanderStateForRow (const AZ::Dom::Path &rowPath, bool isExpanded)
 
bool GetSavedExpanderStateForRow (const AZ::Dom::Path &rowPath) const
 
bool HasSavedExpanderStateForRow (const AZ::Dom::Path &rowPath) const
 
bool ShouldEraseExpanderStateWhenRowRemoved () const
 
void RemoveExpanderStateForRow (const AZ::Dom::Path &rowPath)
 
void ApplyExpansionStates ()
 
void ExpandAll ()
 
void CollapseAll ()
 
void SetSavedStateKey (AZ::u32 key, AZStd::string propertyEditorName={}) override
 
void ClearInstances () override
 
AZ::Dom::Value GetDomValueForRow (DPERowWidget *row) const
 
void SetSpawnDebugView (bool shouldSpawn)
 
AZStd::vector< size_t > GetPathToRoot (const DPERowWidget *row) const
 
bool IsRecursiveExpansionOngoing () const
 
void SetRecursiveExpansionOngoing (bool isExpanding)
 
void RegisterHandlerPool (AZ::Name handlerName, AZStd::shared_ptr< AZ::InstancePoolBase > handlerPool)
 
- Public Member Functions inherited from AzToolsFramework::IPropertyEditor
 AZ_RTTI_NO_TYPE_INFO_DECL ()
 
virtual void SetValueComparisonFunction (const InstanceDataHierarchy::ValueComparisonFunction &valueComparisonFunction)
 
virtual void SetReadOnlyQueryFunction (const ReadOnlyQueryFunction &readOnlyQueryFunction)
 
virtual void SetHiddenQueryFunction (const HiddenQueryFunction &hiddenQueryFunction)
 
virtual void SetIndicatorQueryFunction (const IndicatorQueryFunction &indicatorQueryFunction)
 
virtual void SetFilterString (AZStd::string str)
 
virtual void EnumerateInstances (InstanceDataHierarchyCallBack enumerationCallback)
 
virtual void MoveNodeToIndex (InstanceDataNode *node, int index)
 
virtual void MoveNodeBefore (InstanceDataNode *nodeToMove, InstanceDataNode *nodeToMoveBefore)
 
virtual void MoveNodeAfter (InstanceDataNode *nodeToMove, InstanceDataNode *nodeToMoveBefore)
 
virtual void CancelQueuedRefresh ()
 
virtual void SetHideRootProperties (bool hideRootProperties)
 
virtual void SetAutoResizeLabels (bool autoResizeLabels)
 
virtual void InvalidateAll (const char *filter=nullptr)
 
virtual void QueueInvalidation (PropertyModificationRefreshLevel level)
 
virtual void PreventDataAccess (bool shouldPrevent)
 
virtual void ClearInstances ()
 
virtual void SetDynamicEditDataProvider (DynamicEditDataProvider provider)
 
virtual void SetSavedStateKey (AZ::u32 key, AZStd::string propertyEditorName={})
 
virtual bool HasFilteredOutNodes () const
 
virtual bool HasVisibleNodes () const
 
virtual PropertyRowWidget * GetWidgetFromNode (InstanceDataNode *node) const
 
virtual QSet< PropertyRowWidget * > GetTopLevelWidgets ()
 
virtual bool AddInstance (void *instance, const AZ::Uuid &classId, void *aggregateInstance=nullptr, void *compareInstance=nullptr)
 

Static Public Member Functions

static bool ShouldReplaceCVarEditor ()
 
static constexpr const char * GetEnableCVarEditorName ()
 
static auto GetRowPool ()
 
static auto GetLabelPool ()
 
static HandlerInfo GetInfoFromWidget (const QWidget *widget)
 

Protected Member Functions

QVBoxLayout * GetVerticalLayout ()
 
QWidget * GetWidgetAtPath (const AZ::Dom::Path &path)
 
void HandleReset ()
 
void HandleDomChange (const AZ::Dom::Patch &patch)
 
void HandleDomMessage (const AZ::DocumentPropertyEditor::AdapterMessage &message, AZ::Dom::Value &value)
 
QWidget * CreateWidgetForHandler (PropertyEditorToolsSystemInterface::PropertyHandlerId handlerId, const AZ::Dom::Value &domValue)
 

Static Protected Member Functions

static AZ::Name GetNameForHandlerId (PropertyEditorToolsSystemInterface::PropertyHandlerId handlerId)
 
static void ReleaseHandler (HandlerInfo &handler)
 

Protected Attributes

AZ::DocumentPropertyEditor::DocumentAdapterPtr m_adapter
 
AZ::DocumentPropertyEditor::DocumentAdapter::ResetEvent::Handler m_resetHandler
 
AZ::DocumentPropertyEditor::DocumentAdapter::ChangedEvent::Handler m_changedHandler
 
AZ::DocumentPropertyEditor::DocumentAdapter::MessageEvent::Handler m_domMessageHandler
 
QVBoxLayout * m_layout = nullptr
 
bool m_allowVerticalScroll = true
 
AZStd::unique_ptr< AZ::DocumentPropertyEditor::ExpanderSettings > m_dpeSettings
 
bool m_isRecursiveExpansionOngoing = false
 
bool m_spawnDebugView = false
 
DPERowWidgetm_rootNode = nullptr
 
AZStd::shared_ptr< AZ::InstancePool< DPERowWidget > > m_rowPool
 
AZStd::shared_ptr< AZ::InstancePool< AzQtComponents::ElidingLabel > > m_labelPool
 
AZStd::unordered_map< AZ::Name, AZStd::shared_ptr< AZ::InstancePoolBase > > m_handlerPools
 

Friends

class DPERowWidget
 

Additional Inherited Members

- Public Types inherited from AzToolsFramework::IPropertyEditor
using ReadOnlyQueryFunction = AZStd::function< bool(const InstanceDataNode *)>
 
using HiddenQueryFunction = AZStd::function< bool(const InstanceDataNode *)>
 
using IndicatorQueryFunction = AZStd::function< const char *(const InstanceDataNode *)>
 
using InstanceDataHierarchyCallBack = AZStd::function< void(AzToolsFramework::InstanceDataHierarchy &)>
 
using DynamicEditDataProvider = AZStd::function< const AZ::Edit::ElementData *(const void *, const AZ::SerializeContext::ClassData *)>
 

Member Function Documentation

◆ ClearInstances()

void AzToolsFramework::DocumentPropertyEditor::ClearInstances ( )
overridevirtual

Reimplemented from AzToolsFramework::IPropertyEditor.

◆ SetAllowVerticalScroll()

void AzToolsFramework::DocumentPropertyEditor::SetAllowVerticalScroll ( bool  allowVerticalScroll)

Sets whether this DPE should allow vertical scrolling and show a scrollbar, or just take up the full space that its contents requests. This is typically used when a DPE is going into another scroll area and it is undesirable for the DPE to provide its own vertical scrollbar

◆ SetSavedStateKey()

void AzToolsFramework::DocumentPropertyEditor::SetSavedStateKey ( AZ::u32  key,
AZStd::string  propertyEditorName = {} 
)
overridevirtual

Reimplemented from AzToolsFramework::IPropertyEditor.


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