Custom widget for properties annotated with the xiiExposedParametersAttribute attribute. Technically exposed parameters are stored as an xiiVariantDictionary but that leaves much to be desired for usability. This class uses xiiExposedParameterCommandAccessor to always show all exposed parameters in the dictionary even if none were overwritten. Additionally, xiiExposedParametersAsTypeCommandAccessor is used to project the exposed parameters into a phantom type widget to make editing exposed parameters indistinguishable from editing a normal type object. A button can be used to switch between the two representations.
More...
#include <ExposedParametersPropertyWidget.moc.h>
|
| 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.
|
| |
Public Member Functions inherited from xiiQtPropertyStandardTypeContainerWidget |
|
| xiiQtPropertyStandardTypeContainerWidget () |
| | *** xiiQtPropertyStandardTypeContainerWidget ***
|
| |
|
| xiiQtPropertyContainerWidget () |
| | *** xiiQtPropertyContainerWidget ***
|
| |
| 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.
|
| |
|
| 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) |
| | 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).
|
| |
Custom widget for properties annotated with the xiiExposedParametersAttribute attribute. Technically exposed parameters are stored as an xiiVariantDictionary but that leaves much to be desired for usability. This class uses xiiExposedParameterCommandAccessor to always show all exposed parameters in the dictionary even if none were overwritten. Additionally, xiiExposedParametersAsTypeCommandAccessor is used to project the exposed parameters into a phantom type widget to make editing exposed parameters indistinguishable from editing a normal type object. A button can be used to switch between the two representations.
◆ GetRequiredElements()
◆ OnInit()
| void xiiQtExposedParametersPropertyWidget::OnInit |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ SetSelection()
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 xiiQtPropertyContainerWidget.
◆ UpdateElement()
| void xiiQtExposedParametersPropertyWidget::UpdateElement |
( |
xiiUInt32 | index | ) |
|
|
overrideprotectedvirtual |
◆ UpdatePropertyMetaState()
| void xiiQtExposedParametersPropertyWidget::UpdatePropertyMetaState |
( |
| ) |
|
|
overrideprotectedvirtual |
The documentation for this class was generated from the following files:
- /home/runner/work/XII/XII/Source/Editor/EditorFramework/PropertyGrid/ExposedParametersPropertyWidget.moc.h
- /home/runner/work/XII/XII/Source/Editor/EditorFramework/PropertyGrid/Implementation/ExposedParametersPropertyWidget.cpp