Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Important change to C::B code base and SDK wrt wx30

(1/1)

MortenMacFly:
We have committed an important change to SVN towards the wx30 development. As a dev, please read carefully:

1.) We set wx 2,8,12 as minimum version for compile time assertions. This means, the SDK won't compile with wx versions below that.
2.) We removed a lot of wrapper code wrt wx version 2.4.x [...] 2.8.11
3.) We changed wx29 checks to proper wx3 checks. With the release of wx3 the wx29 devel branch isn't used anyways.
4.) Left are ONLY: wx2.8.12, wx30 and wx31 checks in the code base
5.) ONE EXCEPTION: Actively maintained 3rd party libs (like wxPDFDoc) have been left "as-is".

So the new guideline that should makes things easier for you is:

* don't care about wx versions below 2.8.12
* that said, we won't accept any wrapped code like wxCHECK_VERSION(2, 6, 0) or alike
* wrap your wx30-only code using wxCHECK_VERSION(3, 0, 0) (notice the space between the numbers)
* wrap your wx31-only code using wxCHECK_VERSION(3, 1, 0) (notice the space between the numbers)
* there is one exception: you can (and should) leave code of actively maintained 3rd party wx components untouched

stahta01:
FYI: You might wish to look at sdk/scrollingdialog.cpp because I think it might violate your rules.

Edit: Looks like someone fixed it in the wrong way in the past; did NOT look at SVN history.

What it was in the past; as found on http://www.anthemion.co.uk/code.htm

--- Code: ---        // The wxRTTI is wrong for wxNotebook in < 2.8.8 and 2.9, so use dynamic_cast instead
#if !wxCHECK_VERSION(2,8,8) || (wxCHECK_VERSION(2,9,0) && !wxCHECK_VERSION(3,0,0))
        wxBookCtrlBase* bookContentWindow = dynamic_cast<wxBookCtrlBase*>(dialog->GetContentWindow());
#else
        wxBookCtrlBase* bookContentWindow = wxDynamicCast(dialog->GetContentWindow(), wxBookCtrlBase);
#endif

--- End code ---

What it is now.

--- Code: ---        // The wxRTTI is wrong for wxNotebook in < 2.8.8 and 2.9, so use dynamic_cast instead
#if !wxCHECK_VERSION(2, 8, 8) && !wxCHECK_VERSION(3, 0, 0)
        wxBookCtrlBase* bookContentWindow = dynamic_cast<wxBookCtrlBase*>(dialog->GetContentWindow());
#else
        wxBookCtrlBase* bookContentWindow = wxDynamicCast(dialog->GetContentWindow(), wxBookCtrlBase);
#endif

--- End code ---

What I think it should be by your rules.

--- Code: ---     // The wxRTTI is wrong for wxNotebook in < 2.8.8 and 2.9, so wxDynamicCast does NOT work for those versions.
wxBookCtrlBase* bookContentWindow = wxDynamicCast(dialog->GetContentWindow(), wxBookCtrlBase);

--- End code ---

Tim S.



MortenMacFly:
Good point and corrected. We have customised scrollingdialog already, so its no longer a (actively developed) and clean 3rd party lib.

Navigation

[0] Message Index

Go to full version