Overview of API changes in INTViewer 4.4
New API
INTViewer 4.4 brings a new set of functionalities that have been made available through the API:
- An API to manipulate histogram windows
- An API to customize the text displayed at the bottom of each 2D window
- An API to manipulate the undo/redo stack
- An API to display notifications at the bottom-right of the screen
- An API to execute actions upon startup and exit
- An API to add your own visual property editors
- An API to display tracks, log curves and markers in a XSection window
- An API to show polylines in 3D seismic volumes
- An API to load grid surface data, and display these datasets in XSection, map and 3D windows
- An API to set the offset in XSection seismic layers
- An API to load datasets in memory upon creation of a 3D seismic volume object or a map seismic 2D layer
- An API to add menu items to the contextual menu of data, layer and window nodes
NetBeans 7.1.1
INTViewer 4.4 is based upon NetBeans 7.1.1 instead of NetBeans 6.9.1 for INTViewer 4.3.
If you get a message "application is already running within the test user directory", you need to remove the "lock" file in the build\testuserdir directory. You will probably have this problem more often than in 6.9.1. In this version of Netbeans, there is no friendly message telling you where the lock file is. In NetBeans 7.1, the best way to make sure the lock file is removed is to close INTViewer normally, using the File > Exit menu item.
By default, the debug mode of INTViewer is very slow. This is due to the new NetBeans debugger that tracks Swing hierarchy. If you disable this feature, your debugging sessions will be much faster. You should uncheck the box "Track locations of component hierarchy changes" in Tools > Options > Miscellaneous > Java Debugger
Also, unlike in 6.9.1, layer.xml files are not created by default when you create a new NetBeans module. If you create you own layer.xml, make sure you reference it in the manifest.mf file.
Example:
Manifest-Version: 1.0
OpenIDE-Module: com.interactive.intviewer.mymodule
OpenIDE-Module-Layer: com/interactive/intviewer/mymodule/layer.xml
OpenIDE-Module-Localizing-Bundle: com/interactive/intviewer/mymodule/Bundle.properties
You can also use the NetBeans wizard to create a layer.xml file:
Incompatibilities with 4.3
A set of API incompatibilities have been introduced as part of this release.
Java 64 bits
If you have Java 64-bit, be aware that a NetBeans issue prevents the output window from being populated when System.out.println or printStackTrace is called.