How to replace string entry with dropdown in FName / TMap using detail customization?

We’re struggling with learning Slate, the documentation not being very intuitive to work with.

What we want to do is replace FName’s text entry in the details customization to instead a dropdown, with the dropdown filled with a list of options.

Beyond the FName, we want to tinker with the TMap presentation, but we’re struggling to find where it is in the source code…

Essentially, what I want to create is something ala the below. Not exactly, but is a decent start for how I want it.

129412-fnamelist.jpg

I realized that it’s prohibitively large to make a dropdown list under most circumstances. Just my regular testing showed somewhere around 72k FNames being active. However, I’ve been able to create my FName detail customization at a basic level.

Its function is simple:

  • If the FName already exists, a == is placed next to the field.
  • If the FName does not exist, a != is placed next to the field.
  • If the FName did not exist before being saved, a ++ is placed next to the field.

Unfortunately, I’ve discovered that there is an interaction with TMaps that is undesired. The TMap detail customization overrides mine. I can use the above FName customization with single or array variables, but not with TMaps.

If anyone wants to give it a bash, I’ve included the module here.