Developer forums (C::B DEVELOPMENT STRICTLY!) > CodeCompletion redesign

symbol browser issue when CB build against wx3.x

<< < (2/4) > >>

ollydbg:
As of Code::Blocks / SVN Repo / Commit [r11027], the symbol browser is disabled by wx3.0+.

Since constructing a wxTree takes a lot of time, so we need to find a way to build it progressively? Any one knows a good method? We need to move the code in the worker thread to the main GUI thread.

oBFusCATed:
Probably the best option is to use wxTreeListCtrl in a virtual mode if possible.
But the code is pretty connected to the CC internals and it is not easy to extract it and make it reusable and with good interface, so other plugins can use it. :(

ollydbg:

--- Quote from: oBFusCATed on March 13, 2017, 02:03:02 am ---Probably the best option is to use wxTreeListCtrl in a virtual mode if possible.

--- End quote ---
This sounds interesting.
Any document about wxTreeListCtrl working on the virtual mode? I haven't use such control, but if there is a sample project, I may have a try and see what it's look like. Though the wxTreeListCtrl may look different like our current wxTreeCtrl, because it is a list.


--- Quote ---But the code is pretty connected to the CC internals and it is not easy to extract it and make it reusable and with good interface, so other plugins can use it. :(

--- End quote ---
Yes, it is connected to the CC internals, not easy to extract it. But before that, we may find a way that first try to move the code from worker thread to gui thread.  :)

ollydbg:
I asked a question in wxWidgets' forum, see here: Any method to build a big wxTreeCtrl progressively in GUI thread?, let's see whether we can have good suggestions.

ollydbg:
Good news, good news, I get some nice answer from wxWidgets' forum, see here
Re: Any method to build a big wxTreeCtrl progressively in GUI thread?

It use a worker thread to dynamically do the dirty work, and construct the child nodes progressively. That is: if you want to add 1000 nodes, you have to send 10 notifications from the worker thread, while in the GUI thread, once received the event, the gui thread will add 100 nodes. It looks like the most time is accessing the TokenTree or search in the TokenTree, so we should still let it in the worker thread, but move the GUI construction in the main GUI thread.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version