Saturday, December 16, 2006

Package Explorer status for Pydev

Well, the cvs implementation already had some nice improvements when compared to the current version (such as working with a working set), but there is one issue that is worrying me.

Basically, the current Eclipse CNF (Common Navigator Framework) has a critical bug for me, meaning that it has a little delay when synchronizing actions with the selected resource (the bug is reported at the eclipse bugzilla ), and it can be nasty... got me to delete a whole source folder instead of a single file, so, I guess I'll have to replace all the actions for the resource actions before actually considering it mature... Still, it already is a good way for browsing your project (although it still does not have the 'flat' mode implemented).

Wednesday, December 06, 2006

What's going on in pydev

Ok, almost 3 weeks without posting anything...

I'm still working in the package explorer implementation for pydev. I think most current bugs are solved, and what's still missing before a release is handling working sets correctly (which I hope won't take too much).

After taking a look at the way I should handle it, it appears that my ITreeContentProvider implementation (hierarchy below) must be able to handle an IWorkingSet:

BaseWorkbenchContentProvider (ITreeContentProvider)
--> PythonBaseModelProvider (IResourceChangeListener, IPythonNatureListener)
----> PythonModelProvider (IPipelinedTreeContentProvider)

So, basically the inputChanged(Viewer viewer, Object oldInput, Object newInput) method from the PythonBaseModelProvider must be extended so that it works accordingly if the newInput is an IWorkingSet. I hope it won't prove too difficult (but I thought that creating the IPipelinedTreeContentProvider -- which is basically replacing objects that are from the resource domain for objects that are from the pydev domain -- would be very easy, but it ended up not being that straightforward (anyway it seems that it is already working correctly).