DUI4xxx · Values
A value that does not fit the property it is written on.
Generated by scripts/diagnostics/sync.py from the plugin's code table (EDreamUIDiagnosticCode); the name on each card is the one the tests assert.
DUI4001
errorcode nameUnknownProperty
No property of that name; the nearest one is suggested.
How it happens: a bare property name is looked for on the widget, then its visual, then -- on a container-typed node -- its layout container, then its behaviours; the first that has it takes it, and none having it is this code. Width, Height, AnchorLeft and the like are labels the details panel shows, not property names, and the message says what to write instead.
Text Title {
FontSzie = 14
Width = 400
}How to fix: take the suggestion; write a size as AnchorData.SizeDelta = (w, h) and anchors as AnchorData.AnchorMin and AnchorData.AnchorMax.
DUI4002
errorcode nameUnknownPropertyPathSegment
A dotted path whose head resolves and whose tail does not.
How it happens: in A.B, A is a property but not a struct, so there is no field to step into; or it is a struct with no field B, and the message suggests the nearest field.
Widget Panel {
AnchorData.Size = (400, 240)
}How to fix: take the suggested field name, AnchorData.SizeDelta here.
DUI4003
errorcode nameValueTypeMismatch
A value whose shape cannot be the property's type.
How it happens: the literal's kind does not fit the property's type -- a string on a number, an unquoted word on an FText; an asset path that loads something of a class the property cannot hold; a node id, written as a value, whose node lacks the part the property takes (a visual, for example) or is another widget class; a string too long for an FName property; a timeline key whose value cannot be read as the property's type.
Text Title {
FontSize = "large"
Text = Settings
}How to fix: write the value the property's type takes: text always quoted, an object property a path that loads the right class.
DUI4004
errorcode nameTupleArityMismatch
A tuple with the wrong number of elements.
How it happens: a tuple is read against its destination struct: two values for a 2D vector, three for a 3D vector and a rotator, four for a margin.
Widget Panel {
AnchorData.SizeDelta = (400, 240, 0)
}How to fix: write as many values as the struct has, (400, 240) or (0, 8, 0, 0).
DUI4005
errorcode nameUnknownEnumValue
A word the property's enum does not declare.
How it happens: a word on an enum property that is not one of the enum's values (the nearest is suggested), or a number that matches none of its values. A flags enum has no |; write a combination as the number its flags add up to.
Widget Panel {
Visibility = Invisible
}How to fix: take the suggestion, Collapsed or Hidden here.
DUI4006
errorcode namePropertyNotWritable
A property text cannot write: transient, deprecated, part of the object graph, a delegate.
How it happens: the property exists, and writing it from a .dui means nothing: a transient property (one with no native setter) would not survive being saved; a deprecated one takes no new values; instanced references such as Visual and LayoutContainer are the object graph itself, authored by nesting and by +, not assigned; a delegate has no text form, and events are routed with ->.
Widget Panel {
LayoutContainer = None
}How to fix: write a container with + VerticalBox { … } or a container-typed node, route events with ->; otherwise set a property that can be written.
DUI4007
errorcode nameUnknownResource
@Name naming no resource entry.
How it happens: @Accent stands for the resources entry called Accent -- this file's, or one a use brought in; with none, this code. A node type written @Name is held to the same rule, and needs an Asset entry.
resources {
Color Accent = #FF6600
}
Text Note {
Color = @Accnet
}How to fix: fix the name, or declare the entry in a resources block.
DUI4008
errorcode nameResourceTypeMismatch
A resource whose value is not its declared type, or a non-Asset resource used as a node type.
How it happens: a resource's type is one of Color, Number, Vector2, String and Asset, and its value must be of that type; a type name that is none of the five is this code too. An entry used as a node type through @Name must be an Asset naming a widget class.
resources {
Color Accent = 8
}
Text Note { Color = @Accent }How to fix: make the value fit the type (Color Accent = #FF6600), or correct the declared type.