I'm working on my unit testing plugin and it's going pretty well, but I've hit a small roadblock (well... two.. actually three) that I need some help with....
Basically, a project can have unit testing enabled or disabled. When you enable unit testing on a project, you get a new virtual folder called "Tests" and you get a load of funky menu items in the project manager (run all tests, add test etc.). Disabling unit testing on a project removes the "Tests" folder and will remove any test source files and build targets that were added to the project. At the moment I'm classing a project as having unit testing enabled if it has a "Tests" virtual folder... it works, but it's not very robust (if a project already has a custom Tests virtual folder everything will break). So my questions:
1. Can I save a "unit_testing_enabled" flag in the project file somehow - if so, can someone point me in the right direction?
2. Is there any way to specify a new build target type? (I noticed that the current list is an enum.. so I'm pretty sure I can't extend it - I can work around it if it's not possible)
3. When I remove the "Tests" folder using project->VirtualFolderDeleted() the folder is deleted (because it's not contained in the GetVirtualFolders() list) *but* it's still displayed in the tree view. How do I refresh the tree to reflect the change?