The base class UDIGApplication serves three purposes:
- It is a show case of what the SDK can do; usable by end-users as a functional GIS Application
- It is an example for other RCP developers to copy (either cut and paste or subclass)
- It provides static final helper methods that can be used by other RCP developers
This class is to be used as part of a product definition:
- UDIG 1.0: IPlatformRunnable interface provided by RCP
- UDIG 1.1: IApplication interface provided by Equinox
Links to Related Content:
As a Showcase
As a showcase the UDIGApplication needs to provide a fine balance between enough functionality to be useful; and not so much that the result is intimidating.
The actual uDig application does not do much:
- Does a few sanity checks about the execution environment; displaying warning dialogs if everything is not right
- Starts up a workbench using the UDIGWorkbenchAdvisor
As a Base
As base class UDIGApplication must ensure that every contribution shows up in a logical part of the user interface. This is especially important with respect to menubars and toolbars; we must include examples of each kind of contribution.
Login
There is no method for this right now; do you want to add one? Override the following method in your subclass:
public static boolean checkLogin(){
return true;
}
As a Utility Class
Utility methods exist to perform checks commonly needed at startup.
Java Advanced Imaging
The checkForJAI method will return false if JAI is not installed into the current JRE:
boolean optional = UDIGApplication.checkForJAI();
Your application may need JAI or may not; it is required for raster operations - if your application is limited to vector work you can get by without this functionality.
GDI
The checkForGDI method will return false if GDI+ is required (ie on WIN_32 platform) and not available:
boolean required = UDIGApplication.checkForGDI();
We required GDI+ for SWT matrix calculations; instructions on how to obtain GDI+ for older versions are provided as part of the running udig instructions.