The following code should produce a read-only string, but it can be edited:
@property(String)@attribute(Browsable(True))defReadOnlyString(self):
return"Read-only string!"
In KS8400 it looks like this:

A workaround can be done by using the EnabledIf attribute:
@property(String)@attribute(Browsable(True))@attribute(EnabledIf("IsReadOnly", True))defReadOnlyString(self):
return"Read-only string!"@property(Boolean)@attribute(Browsable(False))defStringIsReadOnly(self):
returnFalse
The following code should produce a read-only string, but it can be edited:
In KS8400 it looks like this:
A workaround can be done by using the EnabledIf attribute: