Changes between GEF version 0.5.1 and GEF v05. Date: 98/02/02 Overall the changes are fairly minor. However, the copyright change demands a new release and I wanted to take this opportunity to fix a few bugs pointed out by GEF users. If you have made substantial changes to the GEF source code you will probably want to selectively apply the same changes to your own copy. 1. Changed the version numbering scheme to use 0.n and 0.n.m instead of 0n. This did not change any code, just my web site. 2. Changed the GEF copyright statement in all files to indicate that commercial users of GEF must contact Prof. David Redmiles. This is now required because GEF is being developed as a small part of a government research grant, and we must report to the funding agency on the industrial impact of our research products. 3. Fixed the GEF Makefiles to elimiate any trailing backslashes that cause problems with some make utilities. Many of the following changes were contributed by GEF users Nathan Sharp and Walter Rott. 4. Added an addAttr method to ActionSetAttr.java. 5. Changed Editor.view(LayerComposite) to call damageAll() instead of calling paint(Graphics) directly. 6. Added a stop() method to Editor that stops all threads associated with the Editor. Also added stop() to RedrawManager. 7. Changed Editor.java to give its _eventHandler thread a String name. 8. Changed FigText.java so that the backspace key will delete a character and the delete key will delete the FigText. Previously it was impossible to delete a FigText via the keyboard. 9. Changed FigPoly to use backspace to remove a vertex and leave the delete keystroke to mean deleting the entire Fig. 10. Changed ModeExampleKeys to use delete to delete a selected DiagramElement and ignore backspace. Now delete deletes anything and backspace is handled by the selected diagram element. 11. Changed Globals.java to not show _tabPropFrame as part of its static initialization. This was an unpopular feature of GEF that I had initially put in to work around an intermittent failure in Component.createImage(). This change may cause early calls to createImage() to return null under some JVMs. If you think createImage() is returning null, you can uncomment this line or call Globals.startPropertySheet from your own code. 12. Changed NetList.java: Added a check to make sure that NetNodes and NetArcs added to a NetList are only added once. 13. Changed SelectionMultiple so that keystrokes will only be passed to Figs when there is a single Fig selected. Previously it was impossible to nudge or delete multiple Figs if one or more of them was a FigText. 14. Changed RedrawManager to set the default redraw frame-rate to 40 frames a second (up from 20). This is because more people are using faster JITs now. The frame-rate setting is only a suggestion, if your particular JVM on your machine cannot keep up, redraws will still work. 15. Removed Preloader, Progress, and all associated Package classes. The preloader was most useful when web browsers slowly downloaded all .class files individually. Now Netscape Navigator and MS IE both seem to handle .zip and .jar files. Plenty fo Progress widgets are available from many sources, but if anyone wants mine I will gladly provide it separately. 16. Commented out preloading and JVM specific configuration code in demo/FlexibleApplet.java and demo/EquipmentApplet.java. 17. Commented out all calls to DebugLog. DebugLog is basically a way for me to control which println's are exectued by using a command line flag that sets a system property. However, accessing system properties is not always allowed for applets. 18. Removed the package uci.graphedit.contrib. No one seems to be using it. 19. Added a new demo, ScrollingApplet. This demo shows an easy way to implement a large drawing area. This demo will only compile under JDK 1.1 because it uses the AWT ScrollPane class. Better scrolling support is one goal for the next release.