The XOP Toolkit Manual

The XOP Toolkit manual explains every facet of XOP programming. It includes overview, tutorial, and reference material. The tutorial takes you, step-by-step, through the process of creating an external function used for curve-fitting.

The PDF manual is available from download.

The manual chapters are:

Introduction to XOPs - Presents an overview of XOP development.

Guided Tour - Takes you, step-by-step, through the process of developing a curve-fitting external function in Xcode and Visual C++.

Development Systems - Explains how to create new projects in Xcode and Visual C++.

Igor/XOP Interactions - Explains the messages that Igor sends to XOPs and how XOPs can use XOPSupport routines to carry out the actions required by these messages. Simple XOPs need to respond to only a few messages.

Adding Operations - Explains how to add command line operations to Igor. An operation (like FFT, CurveFit) can accept command line flags and parameter lists. It does not return any direct result and often affects one or more waves.

Adding Functions - Explains how to add a function to Igor. A function (like area, CmpStr or a curve-fitting function) has a fixed list of parameters and returns a direct result. The parameters can be numbers, strings, waves references, data folder references or structure references. The result can be a number, a string, a wave reference or a data folder reference.

Accessing Igor Data - Explains how to read and write data in Igor waves, numeric and string variables, and data folders.

Adding Menus and Menu Items - Explains how to add a single menu item or an entire menu to Igor, how to change menu item contents and how to respond to menu selections.

Adding Windows - Explains how to add a new window to Igor and how to respond to events such as clicking and typing.

Multithreading - Explains how to write thread-safe external operations and functions.

64-bit XOPs - Explains how to write 64-bit Macintosh and Windows XOPs.

Other Programming Topics - Covers memory management, cross-platform development, and other matters.

Providing Help - Explains how to create a help file for an XOP and how to display help in Igor's Function Help and Operation Help dialogs and in XOP-defined dialogs.

Debugging - Explains the types of programming errors that lead to most bugs, how to detect them, and how to avoid them in the first place.

XOPSupport Routines - A comprehensive list of support routines that XOPs can call, grouped by category.

Index - A comprehensive index.