Make the wxART_* constants const wxStrings with static storage duration

The pre-3.1.4 definitions of the constants were just string literals,
while the type were wxString typedefs. To avoid implicit conversion
these were converted to actual wxStrings.

While the interface now matched the implementation, this has several
drawbacks:
- every use of the "constant" now is a string construction at runtime
- the constant now is an rvalue, i.e. it is impossible to take its
  address.

The latter breaks its use from wxPython.

The IDs are moved to a separate file which can be included multiple
times, once from the header to have the declarations in place, and once
to instantiate the wxStrings. Using a common file avoids the declaration
and definition going out of sync.
This commit is contained in:
Stefan Brüns
2020-07-26 08:04:23 +02:00
parent 2256dac384
commit 128e3ff123
7 changed files with 176 additions and 147 deletions

View File

@@ -1039,6 +1039,7 @@ set(GUI_CMN_HDR
wx/anidecod.h
wx/animdecod.h
wx/appprogress.h
wx/artids.h
wx/artprov.h
wx/bitmap.h
wx/bookctrl.h