Author Topic: CB and wx28 state  (Read 4963 times)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5491
CB and wx28 state
« on: December 30, 2006, 06:38:17 pm »
This post is a little wrap up of the current state of CB supporting wx 2.8.0.
Detailed discussion can be found in the the following thread : http://forums.codeblocks.org/index.php?topic=4495.0

Please do not discuss in this thread, but in the other thread mentioned above. This single topic just acts as a wrap up !!!

Several patches have been created (many thanks to the patch makers, wonderful job). Most of them have been applied, a few have not been applied (yet), because they are a bit less straight forward and a bit more research needs to be carried out.
This is the list of not yet applied patches, so if you want to build CB with wx 2.8.0 you need to apply those patches to your code :
 - [ Patch #1771 ] Old wxSmith patch for wxListbook::HitTest protected wxW2.8 (more or less a new wx bug)
 - [ Patch #1733 ] wxmsw28 patch for wxWidgets 2.8 [adjusts all cbp files to link with the wx28 lib instead of the wx26]


All other patches that have been applied have solved the following issues :
- WX_DEFINE_ARRAY seems to have problems with bools : replaced by WX_DEFINE_ARRAY_INT
- use the wx internal wxAUI instead of the CB version of it (it is now part of official wx)
- CentreOnScreen() no longer exists : replaced by Centre(wxBOTH | wxCENTRE_ON_SCREEN) [globals and splashscreen]
-wxPropertyGrid calls/inherits several methods who use to take some 'int' arguments which are now 'unsigned int' : by means of a define the correct type is chosen for the case of wx2.8.0 or otherwise
- WXK_NUMPAD_PRIOR, WXK_NUMPAD_NEXT, WXK_PRIOR and WXK_NEXT, wx 2.8.0 maps them in the compatibilty mode to other constants, however some code has switch statements where the original and the map exists which results in 2 cases having the same value : if wx 2.8.0 the 4 mentioned values are ifdef-ed out from the switch statements (wxscintilla and keybinder)
- m_conv of wxProcess use to be a reference, now it is a pointer : ifdef for wx 2.8.0 to use "->" instead of "." when invoking a method on it (in pipedprocess)
- SetTitle is only allowed now on a frame or a dialog, some instances therefor had to be replace by SetLabel (compileroptionsdlg)
- wxHIDE_READ_ONLY has completely disappeared now -> ifdef out it's use if wx 2.8.0
- removed double click option : selecttargetdlg [makes [ Patch #1737 ] unneeded]
- added const qualifier and protoype change (through ifdef) (scripting)


The check to determine if wx 2.8.0 (and above ?) looks like :
Code
#if wxCHECK_VERSION(2, 8, 0)
   ...
#endif


When the other patches will be officially applied this topic will be adjusted accordingly.

« Last Edit: January 03, 2007, 08:45:36 pm by killerbot »