Hi Michiel, The problem is multi-faceted and I think we are working on different aspects of it. Let me know if you disagree. My perception is that you've been working on untangling package cycles by moving classes between packages based on feedback from JDepend. My work is focused on class cycles and doesn't address the issue of package cycles at all.
> What are basically the changes you will perform? The changes that affect the most modules are the introduction of IProject and IArgoDiagram interfaces to use in place of Project and ArgoDiagram implementation classes. Of these two, IProject affects far more classes. I've also introduced a ProjectFactory which returns instances of IProject instead of Project. I've also introduced a number of smaller interfaces such as Clarifiable for things which depended on FigNodeModelElement, but really only cared about the paintClarifiers() method. In general I think we need to be making more use of interfaces and make those interfaces as small and modular as possible. The most heavily affected class is probably ProjectBrowser which has been broken into a number of smaller classes. I've also introduced a new event for the status updates that the status bar listens to so that other classes can just post status events rather than calling ProjectBrowser directly. There are lots of other little changes like separating out the filename handling that the UI uses to fix up file names from the rest of the persistance manager and removing the dependency that PGMLStackParser has on FigPool just so it can special case something (actually this last one I haven't figured out a solution for yet -- I need to ask Bob what he's trying to do there). I'm trying to reduce the use of ProjectManager.getCurrentProject() as must as possible since most things know what project they belong to (and all should know). Hope that gives a flavor for the kinds of changes that are included. Tom --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
