Igor XOP Toolkit 5 Manual
Total Page:16
File Type:pdf, Size:1020Kb
IGOR XOP TOOLKIT R E F E R E N C E M A N U A L Version 5 WaveMetrics, Inc. Copyright This manual and the Igor XOP Toolkit are copyrighted by WaveMetrics with all rights reserved. Under copyright laws it is illegal for you to copy this manual or the software without written permission from WaveMetrics. WaveMetrics gives you permission to make unlimited copies of the software on any number of machines but only for your own personal use. You may not copy the software for any other reason. You must ensure that only one copy of the software is in use at any given time. Warranty WaveMetrics warrants to the registered owner that: 1) the disk on which the software is furnished will be free from defects in material and workmanship under normal use for a period of ninety (90) days from the date of delivery to you. 2) The software will be completely satisfactory to you within a period of ninety (90) days from the date of delivery to you. WaveMetrics does not warrant, guarantee, or make any representations regarding the use or the results of the use of the software or any accompanying written materials in terms of their correctness, accuracy, reliability, currentness or otherwise. The entire risk as to the results and performance of the software and written materials is assumed by you. (Some states do not allow the exclusion or limitation of implied warranties, so the above limitation or exclusion may not apply to you). WaveMetrics offers a 90 day money-back guarantee on products purchased directly from us. If you are not satisfied with the product, please contact us. If we can’t satisfy you, we’ll refund the purchase price, not including shipping. This guarantee is also available through cooperating vendors. If you did not purchase the product directly from WaveMetrics, contact your vendor for instructions. Updates WaveMetrics intends to offer periodic updates of the software to you at a reasonable price based on the new functionality added by the updates. Please return the registration card to us so that we can let you know about updates. If there are features that you would like to see in subsequent versions of the XOP Toolkit or if you find bugs in the current version, please let us know. We’re committed to providing you with a product that does the job reliably and conveniently. Notice Apple is a registered service mark of Apple Computer, Inc. Macintosh, LaserWriter, and QuickDraw are registered trademarks of Apple Computer, Inc. Microsoft, Windows, and Visual C++ are registered trademarks of the Microsoft Corporation. CodeWarrior is a registered trademark of Metrowerks, Inc. Manual Revision: 7/2005 (5.04) © Copyright 1994-2005 WaveMetrics Inc. All rights reserved. Printed in the United States of America. WaveMetrics, Inc. PO Box 2088 Lake Oswego, OR 97035 Voice: (503) 620-3001 FAX: (503) 620-6754 Email: [email protected], [email protected] Web: www.wavemetrics.com Table of Contents Introduction to XOPs ...............................................................................1 Guided Tour.............................................................................................27 Development Systems..............................................................................63 Igor/XOP Interactions..............................................................................103 Adding Operations...................................................................................143 Adding Functions.....................................................................................179 Accessing Igor Data.................................................................................205 Adding Menus and Menu Items...............................................................229 Adding Windows .....................................................................................247 Other Programming Topics......................................................................259 Providing Help.........................................................................................289 Debugging................................................................................................301 XOPSupport Routines..............................................................................323 Appendix A: XOP Toolkit 5 Upgrade Notes...........................................505 Appendix B: Porting Macintosh XOPs to Carbon...................................519 Appendix C: XOP Toolkit 5 Revision History........................................539 Index ........................................................................................................545 Chapter 1 Introduction to XOPs What is an XOP? ............................................................................................... 3 Who Can Write an XOP? .................................................................................. 4 A Brief History of Igor...................................................................................... 4 XOP Toolkit 5 ................................................................................................... 5 Macintosh and Windows XOPs ........................................................................ 6 Macintosh CFM Versus Mach-O ...................................................................... 6 XOP Name Conventions ................................................................................... 7 Development Systems ....................................................................................... 8 The Igor Extensions Folder On Macintosh ....................................................... 9 Installing the XOP Toolkit ................................................................................ 10 Testing the Macintosh Installation.............................................................. 11 Testing the Windows Installation ............................................................... 12 XOP Toolkit Overview ..................................................................................... 13 The XOPSupport Folder ............................................................................. 13 Sample XOP Folders................................................................................... 15 XOPSupport ...................................................................................................... 16 The Sample XOPs ............................................................................................. 17 XOP1 .......................................................................................................... 17 XFUNC1..................................................................................................... 17 XFUNC2..................................................................................................... 17 XFUNC3..................................................................................................... 17 WindowXOP1............................................................................................. 17 MenuXOP1 ................................................................................................. 18 SimpleLoadWave........................................................................................ 18 GBLoadWave ............................................................................................. 18 SimpleFit..................................................................................................... 18 WaveAccess................................................................................................ 19 TUDemo ..................................................................................................... 19 VDT2 (“Very Dumb Terminal”)................................................................. 19 1 Chapter 1 — Introduction to XOPs NIGPIB2 ..................................................................................................... 19 How Igor Integrates XOPs ................................................................................ 20 The Basic Structure of an XOP ......................................................................... 22 Preparing to Write an XOP ............................................................................... 24 Technical Support.............................................................................................. 26 Email Support ............................................................................................. 26 FTP Support................................................................................................ 26 Igor Mailing List......................................................................................... 26 World-Wide Web........................................................................................ 26 Telephone Support...................................................................................... 26 2 Chapter 1 — Introduction to XOPs About This Manual If you are new to XOP programming, we recommend that you start by reading the first four chapters of this manual. Chapter 2 is a Guided Tour. Chapter 3 deals with several development systems. You need to read only the section that pertains you your development system. After reading these chapters, you can select which of the remaining chapters you need to read depending on what your XOP is required to do. If you have used previous versions of the XOP Toolkit, we recommend that you read this chapter and then Appendix A, which describes changes in XOP Toolkit 5. As explained in Appendix A, we recommend