Custom widget for properties annotated with the ezExposedParametersAttribute attribute. Technically exposed parameters are stored as an ezVariantDictionary but that leaves much to be desired for usability. This class uses ezExposedParameterCommandAccessor to always show all exposed parameters in the dictionary even if none were overwritten. Additionally, ezExposedParametersAsTypeCommandAccessor 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 ezHybridArray< ezPropertySelection, 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 ezQtPropertyStandardTypeContainerWidget |
| ezQtPropertyStandardTypeContainerWidget () |
| *** ezQtPropertyStandardTypeContainerWidget ***
|
|
| ezQtPropertyContainerWidget () |
| *** ezQtPropertyContainerWidget ***
|
|
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.
|
|
| ezQtPropertyWidget () |
| *** BASE ***
|
|
void | Init (ezQtPropertyGridWidget *pGrid, ezObjectAccessorBase *pObjectAccessor, const ezRTTI *pType, const ezAbstractProperty *pProp) |
|
ezQtPropertyGridWidget * | GetPropertyGrid () |
|
ezObjectAccessorBase * | GetObjectAccessor () |
|
const ezRTTI * | GetType () const |
|
const ezAbstractProperty * | GetProperty () const |
|
const ezHybridArray< ezPropertySelection, 8 > & | GetSelection () const |
|
virtual const char * | GetLabel (ezStringBuilder &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 ezHybridArray< ezPropertySelection, 8 > &items, const ezAbstractProperty *pProperty, ezVariantType::Enum &out_type) |
| If the property is of type ezVariant 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.
|
|
ezVariant | GetCommonValue (const ezHybridArray< ezPropertySelection, 8 > &items, const ezAbstractProperty *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 ezExposedParametersAttribute attribute. Technically exposed parameters are stored as an ezVariantDictionary but that leaves much to be desired for usability. This class uses ezExposedParameterCommandAccessor to always show all exposed parameters in the dictionary even if none were overwritten. Additionally, ezExposedParametersAsTypeCommandAccessor 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 ezQtExposedParametersPropertyWidget::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 ezQtPropertyContainerWidget.
◆ UpdateElement()
void ezQtExposedParametersPropertyWidget::UpdateElement |
( |
ezUInt32 |
index | ) |
|
|
overrideprotectedvirtual |
◆ UpdatePropertyMetaState()
void ezQtExposedParametersPropertyWidget::UpdatePropertyMetaState |
( |
| ) |
|
|
overrideprotectedvirtual |
The documentation for this class was generated from the following files:
- /home/runner/work/ezEngine/ezEngine/Code/Editor/EditorFramework/PropertyGrid/ExposedParametersPropertyWidget.moc.h
- /home/runner/work/ezEngine/ezEngine/Code/Editor/EditorFramework/PropertyGrid/Implementation/ExposedParametersPropertyWidget.cpp