X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/73ba5ab90cfc85ac6ed918ed2d4f5e118f002dbe..346662b87a28fed132459db393cdd99132d1c5ca:/docs/doxygen/overviews/changes_since28.h diff --git a/docs/doxygen/overviews/changes_since28.h b/docs/doxygen/overviews/changes_since28.h index 73ea3787f1..f7dc4dffb2 100644 --- a/docs/doxygen/overviews/changes_since28.h +++ b/docs/doxygen/overviews/changes_since28.h @@ -109,5 +109,54 @@ Finally, a few structure fields, notable @c wxCmdLineEntryDesc::shortName, your code if you overrode these functions and change the functions in the derived classes to use const reference as well. +- Calling wxConfig::Write() with an enum value will fail to compile because + wxConfig now tries to convert all unknown types to wxString automatically + using wxToString() function. + + The simplest solution is to cast the enum value to int, e.g. + @code + enum Colour { Red, Green, Blue }; + + wxConfig conf; + conf.Write("MyFavouriteColour", Red); // ERROR: no match + conf.Write("MyFavouriteColour", int(Red)); // OK + @endcode + + Another possibility which exists now is to provide an overload of + wxToString() (and wxFromString()) for your own type, e.g. + + @code + wxString wxToString(Colour col) + { + return col == Red ? "R" : col == Green ? "G" : "B"; + } + + bool wxFromString(const wxString& s, Colour* col) + { + if ( s.length() != 1 ) + return false; + + switch ( s[0].GetValue() ) + { + case 'R': *col = Red; return true; + case 'G': *col = Green; return true; + case 'B': *col = Blue; return true; + } + + return false; + } + @endcode + + Of course, this will change the format of the wxConfig output which may be + undesirable. + +- wxTE_AUTO_SCROLL style is deprecated as it's always on by default anyhow in + the ports which support it so you should simply remove any mentions of it + from your code. + +- If you use wxScrolled::SetTargetWindow() you must override + wxScrolled::GetSizeAvailableForScrollTarget() method to compute the size + available for the scroll target as function of the main window size, please + see the documentation of this method for more details. */