KeyWorksRW / wxUiEditor

RAD tool used to create and maintain wxWidgets UI elements.
Apache License 2.0
61 stars 6 forks source link

Overhaul the pugixml code, integrate more closely with wxWidgets/ttLib #1397

Closed KeyWorksRW closed 5 months ago

KeyWorksRW commented 5 months ago

Description:

Now that wxUiEditor always compiles with wxWidgets 3.3 set to UTF8, wxXmlDocument doesn't suffer the penalty from converting all strings to to/from UTF8/16/32. However, pugixml is still faster, and in most cases has more functionality that we use. The downside is that I'm using a private branch from Arseny Kapoulkine that supports std::string_view, and that was not accepted into the official pugixml repository, primarily due to wanting to maintain older compiler versions.

My inclination is to assume we're never going to use the original pugixml, and to remove a lot of the conditionals in the code that we will never support. Doing so would greatly improve code readability and would make it easier to make some additional modifications including better integration with wxWidgets. It would still be possible to pick up the occasional change to the official repository, but it would be harder to compare the two. Since what I would like to change isn't a result of any bug in reading/writing, I'm not particularly concerned about not having the latest version of pugixml.