XII Release 0.1.0
Loading...
Searching...
No Matches
xiiQtPropertyContainerWidget Class Referenceabstract

Base class for all container properties. More...

#include <PropertyBaseWidget.moc.h>

Inheritance diagram for xiiQtPropertyContainerWidget:
[legend]

Classes

struct  Element

Public Slots

void OnElementButtonClicked ()
void OnDragStarted (QMimeData &ref_mimeData)
void OnContainerContextMenu (const QPoint &pt)
void OnCustomElementContextMenu (const QPoint &pt)
Public Slots inherited from xiiQtPropertyWidget
void OnCustomContextMenu (const QPoint &pt)

Public Member Functions

 xiiQtPropertyContainerWidget ()
 *** xiiQtPropertyContainerWidget ***
virtual void SetSelection (const xiiHybridArray< xiiPropertySelection, 8 > &items) override
virtual bool HasLabel () const override
 If this returns true (default), a QLabel is created and the text that GetLabel() returns is displayed.
virtual void SetIsDefault (bool bIsDefault) override
 Whether the variable that the widget represents is currently set to the default value or has been modified.
Public Member Functions inherited from xiiQtPropertyWidget
 xiiQtPropertyWidget ()
 *** BASE ***
void Init (xiiQtPropertyGridWidget *pGrid, xiiObjectAccessorBase *pObjectAccessor, const xiiRTTI *pType, const xiiAbstractProperty *pProp)
const xiiAbstractProperty * GetProperty () const
const xiiHybridArray< xiiPropertySelection, 8 > & GetSelection () const
virtual const char * GetLabel (xiiStringBuilder &ref_sTmp) const
 The return value is used to display a label, if HasLabel() returns true.
virtual void ExtendContextMenu (QMenu &ref_menu)
bool GetCommonVariantSubType (const xiiHybridArray< xiiPropertySelection, 8 > &items, const xiiAbstractProperty *pProperty, xiiVariantType::Enum &out_type)
xiiVariant GetCommonValue (const xiiHybridArray< xiiPropertySelection, 8 > &items, const xiiAbstractProperty *pProperty)
void PrepareToDie ()
virtual void SetReadOnly (bool bReadOnly=true)
 By default disables the widget, but can be overridden to make a widget more interactable (for example to be able to copy text from it).

Protected Member Functions

virtual xiiQtGroupBoxBase * CreateElement (QWidget *pParent)
virtual xiiQtPropertyWidget * CreateWidget (xiiUInt32 index)
virtual Element & AddElement (xiiUInt32 index)
virtual void RemoveElement (xiiUInt32 index)
virtual void UpdateElement (xiiUInt32 index)=0
void UpdateElements ()
virtual void GetRequiredElements (xiiDynamicArray< xiiVariant > &out_keys) const
virtual void UpdatePropertyMetaState ()
virtual xiiPropertyCategory::Enum GetContainerCategory () const
 Some containers like xiiVariant can be both a map or an array so we can't reply on the property type alone. For these containers, this method can be overwritten to retrieve the category from something other than m_pProp->GetCategory().
void Clear ()
virtual void OnInit () override
void DeleteItems (xiiHybridArray< xiiPropertySelection, 8 > &items)
void MoveItems (xiiHybridArray< xiiPropertySelection, 8 > &items, xiiInt32 iMove)
virtual void DoPrepareToDie () override
virtual void dragEnterEvent (QDragEnterEvent *event) override
virtual void dragMoveEvent (QDragMoveEvent *event) override
virtual void dragLeaveEvent (QDragLeaveEvent *event) override
virtual void dropEvent (QDropEvent *event) override
virtual void paintEvent (QPaintEvent *event) override
virtual void showEvent (QShowEvent *event) override
Protected Member Functions inherited from xiiQtPropertyWidget
void Broadcast (xiiPropertyEvent::Type type)
void PropertyChangedHandler (const xiiPropertyEvent &ed)
bool IsUndead () const
virtual bool eventFilter (QObject *pWatched, QEvent *pEvent) override

Protected Attributes

QHBoxLayout * m_pLayout
xiiQtGroupBoxBase * m_pGroup
QVBoxLayout * m_pGroupLayout
xiiQtAddSubElementButton * m_pAddButton = nullptr
QPalette m_Pal
xiiHybridArray< xiiVariant, 16 > m_Keys
xiiDynamicArray< Element > m_Elements
xiiInt32 m_iDropSource = -1
xiiInt32 m_iDropTarget = -1
Protected Attributes inherited from xiiQtPropertyWidget
xiiQtPropertyGridWidget * m_pGrid = nullptr
xiiObjectAccessorBase * m_pObjectAccessor = nullptr
const xiiRTTI * m_pType = nullptr
const xiiAbstractProperty * m_pProp = nullptr
xiiHybridArray< xiiPropertySelection, 8 > m_Items
bool m_bIsDefault
 Whether the variable that the widget represents is currently set to the default value or has been modified.

Additional Inherited Members

Static Public Member Functions inherited from xiiQtPropertyWidget
static const xiiRTTI * GetCommonBaseType (const xiiHybridArray< xiiPropertySelection, 8 > &items)
static QColor SetPaletteBackgroundColor (xiiColorGammaUB inputColor, QPalette &ref_palette)

Detailed Description

Base class for all container properties.

Member Function Documentation

◆ DoPrepareToDie()

void xiiQtPropertyContainerWidget::DoPrepareToDie ( )
overrideprotectedvirtual

Implements xiiQtPropertyWidget.

◆ GetContainerCategory()

xiiPropertyCategory::Enum xiiQtPropertyContainerWidget::GetContainerCategory ( ) const
protectedvirtual

Some containers like xiiVariant can be both a map or an array so we can't reply on the property type alone. For these containers, this method can be overwritten to retrieve the category from something other than m_pProp->GetCategory().

Reimplemented in xiiQtVariantContainerWidget.

◆ HasLabel()

virtual bool xiiQtPropertyContainerWidget::HasLabel ( ) const
inlineoverridevirtual

If this returns true (default), a QLabel is created and the text that GetLabel() returns is displayed.

Reimplemented from xiiQtPropertyWidget.

◆ OnInit()

void xiiQtPropertyContainerWidget::OnInit ( )
overrideprotectedvirtual

Implements xiiQtPropertyWidget.

◆ SetIsDefault()

void xiiQtPropertyContainerWidget::SetIsDefault ( bool bIsDefault)
overridevirtual

Whether the variable that the widget represents is currently set to the default value or has been modified.

Reimplemented from xiiQtPropertyWidget.

◆ SetSelection()

void xiiQtPropertyContainerWidget::SetSelection ( const xiiHybridArray< xiiPropertySelection, 8 > & items)
overridevirtual

This is called whenever the selection in the editor changes and thus the widget may need to display a different value.

If the array holds more than one element, the user selected multiple objects. In this case, the code should check whether the values differ across the selected objects and if so, the widget should display "multiple values".

Reimplemented from xiiQtPropertyWidget.

Reimplemented in xiiQtExposedParametersPropertyWidget, and xiiQtVariantContainerWidget.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Tools/Libs/GuiFoundation/PropertyGrid/PropertyBaseWidget.moc.h
  • /home/runner/work/XII/XII/Source/Tools/Libs/GuiFoundation/PropertyGrid/Implementation/PropertyBaseWidget.cpp