User forums > General (but related to Code::Blocks)

CodeCompletion wxWidgets

<< < (3/3)

ollydbg:

--- Quote from: eranif on July 02, 2012, 06:41:49 am ---
--- Quote from: ollydbg on July 02, 2012, 04:08:18 am ---Tell us how to reproduce your bugs. Otherwise, how can we help you???
I don't have such issue. But please note that the C++ parser in our CodeCompletion is not 100% good enough.

--- End quote ---
The OP has given you all the information that you need. The important bit was that he is using wx2.9.3

Here is my guess:

Since wxWidgets 2.9.3, the wx team changed the inheritance of their base classes.
If in wx < 2.9.3 the inheritance was something like this:

wxPanel -> wxPanelbase -> wxWindow -> ...

it is now has become:

wxPanel -> wxPanelBase -> wxNavigationEnabled<wxWindow>

So C::B should be able to handle this kind of inheritance, otherwise all the basic wxWindow functions will not be available (like: GetSizer(), GetSize(), Create(), SetBackgroundColour() etc. which are all members of wxWindow)

HTH,
Eran



--- End quote ---
Thanks, I just test it, and I see that CC's parser does not handle wxNavigationEnabled<wxWindow> correctly under wx 2.9.x.

I see some code like:


--- Code: ---// The template parameter W must be a wxWindow-derived class.
template <class W>
class wxNavigationEnabled : public W
{
public:
    typedef W BaseWindowClass;


--- End code ---

So, wxNavigationEnabled<wxWindow>  is in fact a descendant of wxWindow.

ANtlord:
So, Have I only one solution? Use wxWidgets 2.8 ?

ANtlord:
So... I go to downgrade) Solved!

ollydbg:

--- Quote from: ANtlord on July 08, 2012, 03:01:15 pm ---So... I go to downgrade) Solved!

--- End quote ---
I'm going to implement this.
Currently, I have add the solving of expression statement in our parsertest.
The ongoing work was to implement better template handling( template type replacement )
You can follow the thread:
Intergrate the nativeparser_base to our parsertest project

Navigation

[0] Message Index

[*] Previous page

Go to full version