Enumerations should only be integers. According to the documentation:
Enumerations are always an Integer type and default to “Integer”. You can change the type to other Integer types (such as UInt64) should you need to use larger values for the enumeration elements.
But the autocomplete in Type, in the Enumerations Editor, lets you select String.
Well the documentation says you can specify the type of integer if you need (see my quoted text from the docs above), so it does make sense that autocomplete is there, it just doesn’t make sense to me that it would let you choose illegal types.
The issue isn’t the mechanism by which you select the options, it’s that incorrect options appear to be there. The same thing could happen in a popup, if the wrong data is supplied to that control…
I’ve opened an issue about this since it just doesn’t seem right: 70140
I think it was said that autocomplete is not “smart enough” to work whatever the user expects and is more like a help for the user to complete what they started to type, so following that it makes sense that autocomplete works this way there.
For example, this doesn’t make sense too but autocomplete works the same:
Then make it so wrong data aren’t supplied to it.
As Alberto says, autocomplete isn’t made like a popup menu. A popup menu holds a list of choices, while autocomplete will usually contain all minus what’s not in the current context.
And that is different that just typing Str… and press TAB. In this example the autocomplete knows that root is XmlNode because you typed root. then TAB.
Yes, they can disable the autocomplete for Type, create a limited version of autocomplete that only allows Integer, Uint64, Int32, etc., or change to popup.