There's an issue when setting input validation on edit boxes, possibly on other items. Ex:
Code: Select all
<Window type="GlossySerpentFHD/Editbox" name="colorValue" >
<Property name="Area" value="{{0,0},{0,50},{0,245},{0,100}}" />
<Property name="Text" value="111,111,111" />
<Property name="ValidationString" value="^[0-2][0-5][0-5],[0-2][0-5][0-5],[0-2][0-5][0-5]$" />
</Window>
This window will not take input. Not valid or otherwise, it simply refuses. If I return the input validation string to wildcard everything works fine. Strange bug, seems to make the input validation rather useless at the moment.
I poked around the code a bit, CEGUI uses PCRE regex format, you can verify your regex patterns here:
https://regex101.com/
At first I had some datafill automatically input into the editbox, I figured maybe CEGUI was ignoring my DEL key or something. This doesn't seem to be the case, so I dug around a bit more.
Code: Select all
class CEGUIEXPORT Editbox : public Window
<protected>
bool handleValidityChangeForString(const String& str);
This seems like the disconnect point between user input and the PCRE matching. Input doesn't appear to be discarded, something is wrong between validating and updating the change which appears to start at the aforementioned function.
Thanks guys!