# INTViewer

## Welcome to INTViewer for Plugin Developers

Welcome to the INTViewer Java Plugin Development Site. This site provides information to all developers on how to extend [INTViewer](http://engage.slb.com/intviewer) using the INTViewer API and the NetBeans platform.

For questions, contact support:

* [SLB Support](https://www.software.slb.com/support)
* **Support:** [customersupport.digital@slb.com](mailto:customersupport.digital@slb.com?subject=INTViewer%20API%20documentation%20request)


A Python API can be used to execute scripts. This Python API is documented in a separate site, accessible from the following address: [python part](/solutions/intviewer/python)

Also checkout our latest blog articles about INTViewer:

- [New Window System for INTViewer (introduced in version 5.2)](https://www.int.com/blog/new-window-system-for-intviewer-5-2/)
- [A Closer Look at Coordinate Conversions](https://www.int.com/blog/closer-look-coordinate-conversions/)
- [Extend INTViewer with Java](https://www.int.com/blog/extend-intviewer-with-java-plugins/)


### Getting Started

[Architecture](/solutions/intviewer/architecture) - Introduction to INTViewer's modular architecture

[Pre-Requirements](/solutions/intviewer/pre-requirements) - Java, NetBeans and license requirements before creating your first module.

[INTViewer Tutorial](/solutions/intviewer/intviewer-tutorial) - A step-by-step tutorial to get started with NetBeans and INTViewer programming and create your first module.

[INTViewer Basics](/solutions/intviewer/intviewer-basics) - Basic concepts and objects used as part of INTViewer development.

### Walkthroughs

[Using NetBeans/Swing Components](/solutions/intviewer/intviewer-tutorial/using-netbeans-swing-components-walkthroughs) - Steps to add windows, menus, toolbar icons and panels to INTViewer.

[Using INTViewer Components](/solutions/intviewer/intviewer-tutorial/using-intviewer-components-walkthroughs) - Steps to create layer contextual menus, run long tasks, add a preferences dialog, a trace processor, a workflow or a histogram to INTViewer.

[Distributing a custom plugin](/solutions/intviewer/intviewer-tutorial/distributing-a-custom-intviewer-application) - Steps to create a distribution of your custom plugin that can be added to INTViewer.

[Creating a custom INTViewer application](/solutions/intviewer/intviewer-tutorial/creating-a-custom-intviewer-application) - Steps to create your own INTViewer installer.

### References and APIs

[INTViewer Platform and Modules](/solutions/intviewer/intviewer-platform-and-modules) - Lists all modules and their use in the INTViewer platform.

[INTViewer APIs for Data](/solutions/intviewer/intviewer-apis-for-data) - Working with the data objects including seismic, horizon, crossplot, triangle mesh, gis, polyline and well.

[INTViewer APIs for Windows](/solutions/intviewer/intviewer-apis-for-windows) - Working with windows and the coordinate system.

[INTViewer APIs for 2D Layers](/solutions/intviewer/intviewer-api-for-layers) - Working with 2D layers, including handling layer events and actions.

[INTViewer APIs for 3D Objects](/solutions/intviewer/intviewer-apis-for-3d-objects) - Working with 3D objects.

[INTViewer API for Events](/solutions/intviewer/events) - Using the event mechanism to broadcast and receive change notifications.

[INTViewer APIs for Selections](/solutions/intviewer/window-and-layer-selection) - Using the selection mechanism to make your actions context sensitive.

[INTViewer APIs for Dialogs and Editors](/solutions/intviewer/intviewer-apis-for-dialogs-and-editors) - Working with dialogs and editors to display short messages or implement your own forms.

[INTViewer APIs for the INTViewer Desktop](/solutions/intviewer/intviewer-apis-for-the-intviewer-desktop) - Working with the INTViewer desktop to execute actions on startup and manipulate the undo/redo stack.

[INTViewer APIs for Persistence](/solutions/intviewer/intviewer-apis-for-persistence) - Working with user preferences and session files.

[Other Useful INTViewer APIs](/solutions/intviewer/other-useful-intviewer-apis) - Working with trace processors, seismic generators, workflows, data loaders, mime types, long tasks, units and reflection.

### Technical Discussions

[Developing for the Seismic Workbench](/solutions/intviewer/other-useful-intviewer-apis/developing-for-the-seismic-workbench) - How to develop trace processors and seismic generators for use in the seismic workbench plugin.

[Matlab API](/solutions/intviewer/other-useful-intviewer-apis/matlab-api) - How to interact programmatically with Matlab, send and receive data