initState method
Reads the initial value from owners and detects read-only / nullable flags.
Sets value to null when owners disagree to indicate a mixed state.
Implementation
@override
void initState() {
super.initState();
for (var owner in widget.owners) {
var property = owner.getProperty(widget.propertyName);
if (property != null && property.readOnly) {
readOnlyProperty = true;
}
if (property != null && property.nullable) {
nullable = true;
}
}
if (widget.owners.isNotEmpty) {
var property = widget.owners[0].getProperty(widget.propertyName);
if (property != null) {
value = property.getValue(widget.owners[0]);
}
for (int a = 1; a < widget.owners.length; a++) {
var obj = widget.owners[a];
var property = obj.getProperty(widget.propertyName);
if (property == null) {
value = null;
} else if (property.getValue(obj) != value) {
value = null;
}
}
}
}