Tuesday, February 09, 2010

Learning From Jump Source Code: IconLoader, FeatureInstaller, and More

During some of my recent programming work on BizzJUMP I ran across some interesting things about the JUMP/OpenJUMP source code that I wanted to make note of. Perhaps some other programmers and followers of my blog will be interested in these things also.
  • JUMP has an IconLoader class. I wonder what how it loads and provides icons? Do any of its methods throw I/O exceptions? I want to take a closer look at this class and find out.

  • JUMP has a FeatureInstaller class that can be used to install plug-ins. I want to take a closer look at this class so I can see how it works.

  • As far as I can tell there is no way for a plug-in to control the location of its menu item in the pop-up menu of the layer list. I wonder what I would have to change to make this control possible. Right now, if you want a plug-in to control the location of its menu item in the pop-up menu for the layer list, its got to be part of the core.

  • The LayerNamePanel (the class behind the layer list) is actually an interface. The default implementation of this interface is the AttributeTab class. Don't ask me where they got that name.

  • The JUMPConfiguration class controls the loading of plug-ins built into the core. It must be activated during the launch of the program. I want to document this launch process and describe the role of the JUMPConfiguration class in starting the program.


The Sunburned Surveyor

Posted on 11:09 AM | Categories: