The Block UI Styler does not fire a callback with every character you type in a string field. As you have discovered, you must either press enter or move the focus to a different dialog item in order to fire the update callback.
When you put the cursor in the string field, we say that the string block has focus. If you type something into it and press enter, the update callback will be fired, and conditional block for the string inside the update callback will run.
If you are typing in the string field, and you use the tab key or the mouse to move the focus to a different item in the dialog, then the same thing will happen.
The Block UI Styler does not have any method that will allow you to trigger a callback every time you type in a character in a string field. The callback fires when you indicate that you are finished entering text, using one of the methods described above.
Correct - I submitted that for a customer in May of this year. I looked it up, and development has not made a comittment one way or the other on that yet.
When you click Apply the dialog is basically closed and reopened, so to keep the values you had you need to set them in the initialize() or dialog_shown() callbacks (or whatever they are called ).
So you need to have a variable in your code to keep the current value of the enum, then use that to set the enum value as the dialog is redisplayed.
Lenovo ThinkPad W540, Win7, 16GB. Developing in: Java | C | C# | KF
Production: NX126.96.36.199 MP11 64bit Testing: NX188.8.131.52