About

JPEd has been developped as way for software manufacturers to completly customize the user interface to the client needs. The plugin system (see screenshots below) is a part of this customization. With the plugin system, we offer manufacturer a very flexible and easy to use interface to the JPEd internal. Plugins can:

  • Replace existing elements of interface (textfields, textareas, or even more complex panels).
  • Hide elements inside a panel, simplifying user interface of our lambda users with a few lines of code.
  • Add elements in panels and dialog, with the same simplicity as hiding other ones.
  • Create wizards, that preconfigure your user packages and keep them up to date.
  • Add or alters elements during the PDF generation phase, providing extra informations in PDF or inserting your copany logo.

Creating plugins is very easy. Using existing plugin with jped is as simply as putting those plugins in the appropriate plugins/ directory. Another way it to put the jar of your plugin inside your classpath. This last method is very usefull when you want to distribute your plugin along with a JNLP version of JPEd. JPEd will automatically explore the .jars it has access to using the JDK1.3 style service discovery patterns. A blank plugin is even provided to help you get started with your own plugin.

The diagram below describes briefly the plugin service.

Plugin service interface
Each jar file present in the class path can provide at most one implementation of the Service. JPEd gather those services together and create the user interface with it. Creating a custom version of JPEd for distribution is as simple as just gathering the various .jar files together.

Example

Here are some screenshots from a real world application using the plugin system inside JPEd.



Plugins altering components of the panels. The description fields are replaced by a multilingual component, performer has additionnal options.



Plugin adding a panel the the Activity dialog.



The form plugin is adding capabilities to the Activity tooltip.



Two wizard, the default one and a company specific one



The company specific wizard helps creating preconfigured packages