UE4自定义DetailPropertyEditor
FDetailPropertyRow
属性窗口的的每个Item都是由FDetailPropertyRow造的。
SPropertyValueWidget
不同的Value对应不同的Slate控件由SPropertyValueWidget生成。
FPropertyEditor和FPropertyNode
一直看源码,现在为解决的就是valueToSlate,这个一开始想自己写后面想想UE4应该有的,于是就找到了,纪录一下:
TSharedRef<FPropertyNode> PropertyNodeRef = PropertyNode.ToSharedRef();
PropertyHandle = InParentCategory->GetParentLayoutImpl().GetPropertyHandle(PropertyNodeRef);
const TSharedRef<IPropertyUtilities> Utilities = InParentCategory->GetParentLayoutImpl().GetPropertyUtilities();
if (PropertyNode->AsCategoryNode() == nullptr)
{
MakePropertyEditor(PropertyNodeRef, Utilities, PropertyEditor);
}
重点是怎么构造PropertyEditor和PropertyNode,因为后面要用到。
MakePropertyEditor
再看MakePropertyEditor
TSharedRef<FPropertyEditor> FDetailPropertyRow::MakePropertyEditor(c