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

Base class for all property widgets. More...

#include <PropertyBaseWidget.moc.h>

Inheritance diagram for xiiQtPropertyWidget:
[legend]

Public Slots

void OnCustomContextMenu (const QPoint &pt)
 

Public Member Functions

 xiiQtPropertyWidget ()
 *** BASE ***
 
void Init (xiiQtPropertyGridWidget *pGrid, xiiObjectAccessorBase *pObjectAccessor, const xiiRTTI *pType, const xiiAbstractProperty *pProp)
 
const xiiAbstractPropertyGetProperty () const
 
virtual void SetSelection (const xiiHybridArray< xiiPropertySelection, 8 > &items)
 This is called whenever the selection in the editor changes and thus the widget may need to display a different value.
 
const xiiHybridArray< xiiPropertySelection, 8 > & GetSelection () const
 
virtual bool HasLabel () const
 If this returns true (default), a QLabel is created and the text that GetLabel() returns is displayed.
 
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)
 
virtual void SetIsDefault (bool bIsDefault)
 Whether the variable that the widget represents is currently set to the default value or has been modified.
 
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).
 

Static Public Member Functions

static const xiiRTTIGetCommonBaseType (const xiiHybridArray< xiiPropertySelection, 8 > &items)
 
static QColor SetPaletteBackgroundColor (xiiColorGammaUB inputColor, QPalette &ref_palette)
 

Protected Member Functions

void Broadcast (xiiPropertyEvent::Type type)
 
void PropertyChangedHandler (const xiiPropertyEvent &ed)
 
virtual void OnInit ()=0
 
bool IsUndead () const
 
virtual void DoPrepareToDie ()=0
 
virtual bool eventFilter (QObject *pWatched, QEvent *pEvent) override
 

Protected Attributes

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.
 

Detailed Description

Base class for all property widgets.

Member Function Documentation

◆ HasLabel()

virtual bool xiiQtPropertyWidget::HasLabel ( ) const
inlinevirtual

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

Reimplemented in xiiQtPropertyContainerWidget, xiiQtPropertyEditorTagSetWidget, xiiQtPropertyPointerWidget, and xiiQtPropertyTypeWidget.

◆ OnInit()

virtual void xiiQtPropertyWidget::OnInit ( )
protectedpure virtual

◆ SetIsDefault()

virtual void xiiQtPropertyWidget::SetIsDefault ( bool bIsDefault)
inlinevirtual

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

Reimplemented in xiiQtPropertyContainerWidget, and xiiQtPropertyTypeWidget.

◆ SetReadOnly()

void xiiQtPropertyWidget::SetReadOnly ( bool bReadOnly = true)
virtual

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

Reimplemented in xiiQtFilePropertyWidget, xiiQtPropertyEditorIntSpinboxWidget, xiiQtPropertyEditorLineEditWidget, and xiiQtPropertyEditorUIntSpinboxWidget.

◆ SetSelection()

void xiiQtPropertyWidget::SetSelection ( const xiiHybridArray< xiiPropertySelection, 8 > & items)
virtual

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 in xiiQtCodeEditorPreferencesWidget, xiiQtCompilerPreferencesWidget, xiiQtEmbeddedClassPropertyWidget, xiiQtExposedBoneWidget, xiiQtExposedParametersPropertyWidget, xiiQtPropertyContainerWidget, xiiQtPropertyEditorCurve1DWidget, xiiQtPropertyEditorTagSetWidget, xiiQtPropertyPointerWidget, xiiQtPropertyTypeWidget, xiiQtStandardPropertyWidget, and xiiQtVarianceTypeWidget.


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