INTViewer Basics

INTViewer Platform and Modules

A set of Application Programming Interfaces (API) have been made available to the programmers for the purpose of customizing INTViewer.

After configuring NetBeans to use the INTViewer platform, you have access to all of INTViewer's modules. In most cases, you will need to add at least the following modules to your "module dependencies" when starting a new project:

  • AllDeps
  • IntviewerCore
  • Lookup API (a NetBeans module)
  • Seismic2D
  • SeismicData
  • Viewer2D

Public API vs private API

Each module gives access to a set of APIs specific to that module's functional domain.

  • All classes that are in the com.interactive.intviewerapi package are part of the public API of INTViewer. You can safely use these classes for your programming needs as they always will be present in future versions of INTViewer or modifications will be documented in release notes.
  • Classes that are in the com.interactive.intviewer package are internal and NOT intended for public use. Their implementation or behavior might change in the next releases of INTViewer.

The API documentation for the classes in the com.interactive.intviewerapi package is included in the distribution of INTViewer. It is provided in the JavaDoc format. You had the option to install the API documentation when you installed INTViewer. Once installed, this API documentation is accessible from APIDocs\index.html in the top directory of the INTViewer installation.

You can also access the latest INTViewer API documentation (javadoc) online at this address:

You can make your NetBeans IDE integrate this documentation by following this short tutorial.

See Platform and Modules for a description of all modules.


NetBeans and Swing Components

Swing is a standard widget toolkit for Java, providing a graphical user interface for Java programs. INTViewer was developed with this toolkit.

When you extend INTViewer, you develop a module (also called plugin) that will be added to the INTViewer platform to create a custom INTViewer application.

In the walkthroughs, you will see that the layer.xml file of your module changes the behavior of your application by registering your custom components. Your custom layer.xml file is added transparently at runtime by NetBeans to the existing layer.xml file of the INTViewer platform. Behaviors can also be changed by adding META-INF services.

Basic NetBeans or Swing objects that are used when developing INTViewer applications are:

  • TopComponents, LookupEvents and LookupListeners - Basic NetBeans/Swing components used in the tutorial for window displays and detection of current selections
  • NetBeans Actions - To associate behavior with menus (including contextual menus) and toolbar icons.
  • Swing Panels - To implement forms

Continue to the NetNeans/Swing components walkthroughs for examples of use of these objects if you are not familiar with NetBeans/Swing development.

The classes in the org.openide package are NetBeans-specific classes. The API documentation for these classes are available online at http://bits.netbeans.org/dev/javadoc/index.html. The classes in the javax.swing package are Swing-specific classes. The API documentation for these classes are available online at http://download.oracle.com/javase/7/docs/api/javax/swing/package-summary.html.


INTViewer Components

Basic INTViewer objects that are created and manipulated through the INTViewer API are:

Continue to the INTViewer components walkthroughs for examples of use of these objects.


Guidelines

If your project is more than a few days of work, you might want to follow these best practices to organize your code.