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
 This is called whenever the selection in the editor changes and thus the widget may need to display a different value.
 
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 xiiAbstractPropertyGetProperty () 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)
 If the property is of type xiiVariant this function returns whether all items have the same type. If true is returned, out_Type contains the common type. Note that 'invalid' can be a common 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 xiiQtGroupBoxBaseCreateElement (QWidget *pParent)
 
virtual xiiQtPropertyWidgetCreateWidget (xiiUInt32 index)
 
virtual ElementAddElement (xiiUInt32 index)
 
virtual void RemoveElement (xiiUInt32 index)
 
virtual void UpdateElement (xiiUInt32 index)=0
 
void UpdateElements ()
 
virtual xiiUInt32 GetRequiredElementCount () const
 
virtual void UpdatePropertyMetaState ()
 
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
 
xiiQtGroupBoxBasem_pGroup
 
QVBoxLayout * m_pGroupLayout
 
xiiQtAddSubElementButtonm_pAddButton = nullptr
 
QPalette m_Pal
 
xiiHybridArray< xiiVariant, 16 > m_Keys
 
xiiDynamicArray< Elementm_Elements
 
xiiInt32 m_iDropSource = -1
 
xiiInt32 m_iDropTarget = -1
 
- Protected Attributes inherited from xiiQtPropertyWidget
xiiQtPropertyGridWidgetm_pGrid = nullptr
 
xiiObjectAccessorBasem_pObjectAccessor = nullptr
 
const xiiRTTIm_pType = nullptr
 
const xiiAbstractPropertym_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 xiiRTTIGetCommonBaseType (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.

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


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