|
From: Matija K. <mat...@ki...> - 2000-07-05 22:12:19
|
> Hi. > so, i just took the time to get your code installed and compiled and i'd > just to congratulate you on some good work. however, there is one minor > thing that should be addressed before releasing this plugin on Plugin > Central. > > your code throws a NPE the first time it is run since the value of > 'jeditcom.initial.dir' is set to 'null'. this situation should be handled > in a more graceful manner, hopefully by setting the default value to the > user.dir. this is done in the OptionPane, but a user should have to go > there first to get it to work. Thanks, fixed it. The 'jeditcom.initial.dir' property is set to contain the value of 'user.home' system property the first time jEdit Commander is run. > the lack of multiple root filesystems under UNIX didn't cause any problems > as far as i could see. the nearly empty combobox at the top is next to > useless and seems to me like it should contain the chain of parent > directories instead of just the root. i think something like this would be > best: > > (under Windows) > > A: > B: > C:\ > ---WINDOWS\ > ------SYSTEM\ > ---------ICC\ > D: > > (under Linux, et al) > > / > ---home/ > ------mike/ > ---------scratch/ Yes, that's a good idea. I put it on my TODO list and will take a shot at it soon. It should appear in the next release version. > also, another problem that i noticed that doesn't need to be fixed before > a Plugin Central release is that the scrolling is quite unresponsive. my > workstation that i compiled and tested this on is a PIII 600MHz with 128MB > of RAM, so i shudder to imagine how this might run on my PI 200MHz with > 64MB at home. perhaps the TableModel is doing more work than it should be > to maintain and display the values? Hmmm, I noticed that too on my Pentium 200 MMX, 128 MB RAM, Sun JDK 1.3, but I just thought that Swing/JVM are at fault. Anyways, it wasn't that bad/slow so I just left it alone. The only thing that comes to me right now is that the rendering procedure might be too slow or too complicated - the table renders directories, files and hidden files differently. Obviously, for that to work, it must check each file to see in which category it belongs. Then it checks if the file/directory/hidden file already is rendered the way it should be. Only if that returns false, the new rendering occurs. As you can see that is quite a lot of work that needs to be done before the rendering takes place. It might be the cause of the problem. I'll investigate it further in the future. (Btw, now that I think about that, shouldn't there be a way to turn rendering off while scrolling occurs? I mean couldn't the table just render itself once the user's done scrolling it? If you know about a way to do that, please let me know). > one more thing i noticed that should be fixed before release is an > exception thrown while closing jEdit: > > [error] Exception while sending message on EditBus: > [error] java.lang.IllegalArgumentException: null source > [error] at java.util.EventObject.<init>(EventObject.java:40) > [error] at java.awt.AWTEvent.<init>(AWTEvent.java:176) > [error] at java.awt.event.ActionEvent.<init>(ActionEvent.java:131) > [error] at java.awt.event.ActionEvent.<init>(ActionEvent.java:118) > [error] at JEditCommanderPlugin.handleMessage(JEditCommanderPlugin.java:84) > [error] at org.gjt.sp.jedit.EditBus.send(EditBus.java:88) > [error] at org.gjt.sp.jedit.jEdit._exit(jEdit.java:2293) > [error] at org.gjt.sp.jedit.jEdit.access$6(jEdit.java) > [error] at org.gjt.sp.jedit.jEdit$5.run(jEdit.java:1578) > [error] at org.gjt.sp.util.WorkThread.addWorkRequest(WorkThread.java:52) > [error] at org.gjt.sp.jedit.io.VFSManager.runInAWTThread(VFSManager.java:157) > [error] at org.gjt.sp.jedit.jEdit.exit(jEdit.java:1574) > [error] at org.gjt.sp.jedit.jEdit.closeView(jEdit.java:2228) > [error] at org.gjt.sp.jedit.jEdit.closeView(jEdit.java:1445) > [error] at org.gjt.sp.jedit.View$WindowHandler.windowClosing(View.java:1023) > [error] at java.awt.Window.processWindowEvent(Window.java:635) > [error] at javax.swing.JFrame.processWindowEvent(JFrame.java:182) > [error] at java.awt.Window.processEvent(Window.java:611) > [error] at java.awt.Component.dispatchEventImpl(Component.java:2400) > [error] at java.awt.Container.dispatchEventImpl(Container.java:1060) > [error] at java.awt.Window.dispatchEventImpl(Window.java:749) > [error] at java.awt.Component.dispatchEvent(Component.java:2313) > [error] at java.awt.EventQueue.dispatchEvent(EventQueue.java:287) > [error] at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:101) > [error] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:92) > [error] at java.awt.EventDispatchThread.run(EventDispatchThread.java:83) I couldn't reproduce that on my system. (Or at least couldn't capture that output). I tried to fix it anyway, so if you were as kind as to test it again, that'd be great. Please let me know how it went. Finally, here's how to obtain the fixed version of jEdit Comander (0.1.3). Please use CVS. The command follows: cvs -z3 -d:pserver:ano...@cv...:/cvsroot/Pepe co jeditcom (So basically checkout module 'jeditcom' from repository 'cvs.Pepe.sourceforge.net/cvsroot/Pepe' as user 'anonymous', but I'm sure you know much more about CVS than I do. So this is kind of redundant, but still - if you have any problems let me know and I'll post the sources somewhere for download). Thanks for your help, Matt |