FYI:
wxSmith patch for wxW28 and wxPropertyGrid 1.2.x summary
Change 1: WXWIN_COMPATIBILITY_2_4 is turn off by default under wxWidgets 2.8
Problem 1: This makes wxHIDE_READONLY undefined.
Solution 1: Added #if (WXWIN_COMPATIBILITY_2_4) blocks around wxHIDE_READONLY.
Change 2: wxFontEnumerator::GetFacenames returns wxArrayString instead of wxArrayString*
Solution 2: Added code
#if wxCHECK_VERSION(2, 8, 0)
wxArrayString faceNames = Enumer.GetFacenames();
#else
wxArrayString& faceNames = *Enumer.GetFacenames();
#endif
And use faceNames where GetFacenames was used.
Problem 3: wxWidgets 2.8 does NOT like WX_DEFINE_ARRAY(bool,wxArrayBool)
Solution 3: Replaced it with WX_DEFINE_ARRAY_INT(bool,wxArrayBool)
Change 4: OnCancel method removed from wxDialog.
Problem 4: wxsArrayStringEditorDlg was using it.
Solution 4: Created wxsArrayStringEditorDlg::OnCancel method,
note I am not sure if my code in the OnCancel method is correct.
Change 5: wxListbook::HitTest in protected in wx/listbook.h, Fixed in wxW2.8.2
Problem 5: The file src/plugins/contrib/wxSmith/defwidgets/wxslistbook.cpp uses it.
Solution 5: Cast to wxBookCtrlBase
Change 6: Constants wxOPEN, wxFILE_MUST_EXIST, wxSAVE and wxOVERWRITE_PROMPT has been depreciated/obsoleted.
Solution 6: Changed Constants to new name in #if/else/endif block
Change 7A: Constants wxTHICK_FRAME and wxRESIZE_BOX has been depreciated/obsoleted.
Solution 7A: Replaced wxTHICK_FRAME with wxRESIZE_BORDER. Replaced wxRESIZE_BOX with wxMAXIMIZE_BOX.
Change 7B: Constants wxDIALOG_MODELESS, wxNO_3D and wxDIALOG_MODAL has been depreciated/obsoleted.
Solution 7B: Removed use of Constansts.
Change 8: Method wxBitmapButton::SetLabel has been depreciated/obsoleted.
Solution 8: Replaced with wxBitmapButton::SetBitmapLabel.
Change 9: propgrid macro WX_PG_IMPLEMENT_PROPERTY_CLASS has been changed.
Solution 9: used #if/else/endif block
Change 10: Structure wxPGChoiceInfo in header propgrid.h has changed
Solution 10: if wxPG_VERSION > 1099 use with m_choices.GetLabel(?) instead of m_constants->GetLabel(?)
Change 11: wxPropertyGrid 1.2.6 requires defines to compile and link right
Solution 11: Added defines for WXMAKINGLIB_PROPGRID and wxPG_COMPATIBILITY_1_0_0
Note 11: The main CB project needs an extra define of wxPG_USE_WXMODULE=0
Change 12: Constant wxTE_LINEWRAP has been depreciated/obsoleted.
Solution 12: Replaced wxTE_LINEWRAP with wxTE_CHARWRAP.
Change 13: Constants wxSP_FULLSASH and wxSP_SASH_AQUA has been depreciated/obsoleted.
Solution 13: Removed Constansts.
Change 14: Pre-compiled Headers issues.
Solution 14: Added more includes guarded by WX_PRECOMP
Tim S