From: <dmo...@gm...> - 2001-09-21 14:08:25
|
On Tuesday, September 18, 2001, 11:53:13 PM, David Taylor wrote: >> Instead of making every plugin aware of ProjectViewer, wouldn't it be >> better to make ProjectViewer handle generic properties of any plugin=3F >> Maybe Sessions could do that. > What do you mean by "ProjectViwer handle generic properties of any plugin= "=3F > Do you mean a set of properties that are applicable to all plugins=3F > What I am trying to achieve is to allow the user to set "project" specific > properties in one place rather than in each plugin they use to work with = the > project. > For example, JCompiler, Debugger, and JSwatPlugin all need things like > classpath, sourcepath, and JDK home. The debuggers also need to know what > class to use for main(), what parameters to pass in etc. > With project properties, other plugins could reference them if they need > them. A shell could be written for the console plugin that can expand > project variables like a normal shell expands environment variables, for > instance. Then macros that call tools can use the project variables. > At the moment, this is very Java focussed but that can change given > properties are just name/value pairs. I completely agree with you, David. IMHO I don't see what's so bad about plugins requiring ProjectViewer directly at runtime. It is a fact that plugins like JCompiler, Debugger, JSwatPlugin, Sessions, AntBrowser/AntFarm need some sort of a project notion. In every major commercial IDE you're used to have projects, and nobody complains about being able to use the IDE _without_ creating a project first. The reason, why we plugin developers hesitate to create a direct dependency on ProjectViewer is because of it's unstable and poorly maintained past (in the _long_ term history!). Now, if we would put the same efforts we'd need for "plugin independency" into making ProjectViewer actually usable and feature rich instead, all those issues about "bridges/integration points" would become unimportant. Second, I don't like EditBus being used for event handling other than jEdit's own events. Like its name suggests, it's an _edit_ bus, not a _project_ bus. There are already too much parties listening on it, and this only adds more iterations to the event handling loop. IMHO the ProjectViewer should stay with it's own bus/event handler, like it does currently. Dirk. |