viernes, 6 de julio de 2007

Sixth Status Report

* Accomplished this week:
This week all I could do was finish the class pad support.

* Plans/challenges for next week:
The current implementation is fine for small projects, but it's no good for large projects because it locks the UI while parsing the tags file. To solve this I decided to parse the tag file in a separate thread and
using events dynamically add new nodes to the tree as they were made available. Sounds pretty straight forward right? I thought so, so I just started hacking away without much planning. I suddenly found myself hacking around several things and the whole thing just felt really messy, so I stopped right there and decided to plan better what I was going to do before I did it. So for next week I plan on getting the class pad tree to get built without locking the UI, any advice on how to do this would be great. Also other things I want to do are implement support for pre-compiled headers and dependency tracking.

2 comentarios:

Itai Bar-Haim dijo...

I would suggest you look at the way this is currently done (when parsing c# projects). MonoDevelop parses the source files in a different thread without locking the UI, and does it with a specific design for that task (if I remember correctly... most of my experience is with SharpDevelop, so I might be getting it wrong).
Not much, but this is a direction I can give you right now.
What about a package to download to try out? I'm really waiting to integrate that one at work.
Keep up the good work.
Itai.

Marcos Marin dijo...

Thanks for your suggestion, I think I'm going to redo the whole thing in a much better way this week.

I'm going to make a blog post right now on how to test the add-in easily.