Lotus 1-2-3 ADK - README.TXT

This file includes information about:
 - what is included in the 1-2-3 ADK.
 - how to use it to develop LSXs for Lotus 1-2-3.
 - where to look to find further information.

================================================================================
Contents

1.	License Agreement
2.	Getting Started
3.	Installation requirements
4.	Creating a 1-2-3 LSX
5.	Advanced Features of the 1-2-3 ADK
6.	Samples
7.	Further Documentation
8.	Files included in the installation

================================================================================
1. License Agreement

SOFTWARE AGREEMENT

LOTUS 123-ADK

IF YOU DO NOT AGREE WITH THESE TERMS AND CONDITIONS, YOU MAY NOT INSTALL THIS SOFTWARE.

This Agreement is between Lotus Development Corporation, with offices at 55 Cambridge Parkway, Cambridge, Massachusetts 02142 ("Lotus"), and you, the person or entity installing and/or using the Software referenced above. This Agreement sets forth terms and conditions applicable to your use of this Software.

1. USE
Lotus Development Corporation ("Lotus") grants you (an entity or a person) a non-exclusive right to install and use the 123-ADK, consisting of software and documentation (collectively, the "Software"), under the following conditions:

2. RESTRICTIONS
Except as expressly authorized by this Agreement, you may not alter, merge, modify or adapt the Software in any way including reverse engineering, disassembling or decompiling. You may not rent, lease or license the Software or any copy. 

3. INTELLECTUAL PROPERTY RIGHTS
All intellectual property rights in the Software and user documentation are owned by Lotus or its suppliers and are protected by United States and Canadian intellectual property laws (including patent, trademark and copyright laws), other applicable intellectual property laws, and international treaty provisions. Lotus retains all rights not expressly granted.

4. ADOBE TYPE MANAGER SOFTWARE
If your Software contains Adobe Type Manager ("ATM") you may install and use ATM software on up to three (3) computers. Outline Fonts: You agree that you will use the Outline Fonts to reproduce and display typefaces solely for your own customary business or personal purposes on (i) one printer which either contains a Postscript language interpreter or is attached to a central processing unit which utilizes ATM or the Display Postscript System from Adobe and (ii) one or more workstations utilizing ATM. Except as described in this paragraph, the Lotus Software Agreement (including the Limited Warranty and U.S. Government Restricted Rights) will apply to the ATM Software.

5. LIMITED WARRANTY
The Software is provided wholly "AS IS" without warranty, representation, promise or guarantee of any kind, either express or implied, statutory or otherwise, including warranties as to quality, performance, merchantability, or fitness for a particular purpose, or any warranty against infringement. Your use of the Software is entirely at your own risk. 

Except as specifically provided herein, Lotus makes no warranty, representation, promise or guarantee, either express or implied, statutory or otherwise, with respect to the Software, user documentation or related technical support, including their quality, performance, merchantability or fitness for a particular purpose.

The warranty and remedies set forth herein are exclusive and in lieu of all others, oral or written, express or implied. No Lotus dealer, distributor, agent or employee is authorized to make any modification or addition to this warranty. This warranty gives you specific legal rights, and you may also have other rights which vary from state to state.

6. LIMITATION OF LIABILITY
Because software is inherently complex and may not be completely free of errors, it is your responsibility to verify your work and to make backup copies, and Lotus will not be responsible for your failure to do so. In no event will Lotus be liable for indirect, special, incidental, tort, economic, cover or consequential damages arising out of the use of or inability to use Lotus products or services, including, without limitation, damages or costs relating to the loss of profits, business, goodwill, data or computer programs, even if advised of the possibility of such damages. In no case shall Lotus' liability for money damages exceed the amount paid by you for the Software out of which such claim arose. The foregoing limitations shall not apply to claims relating to death or personal injury which arise out of products deemed to be consumer goods under applicable law. Some states or provinces do not allow the exclusion or limitation of implied warranties or limitation of liability for incidental or consequent
ial damages, so the above exclusion or limitation may not apply to you.

7. U.S. GOVERNMENT RESTRICTED RIGHTS
The Software and/or user documentation are provided with RESTRICTED AND LIMITED RIGHTS. Use, duplication or disclosure by the Government is subject to restrictions as set forth in FAR 52.227-14 (June 1987) Alternate III(g)(3) (June 1987), FAR 52.227-19 (June 1987), or DFARS 52.227-7013 (c)(1)(ii) (June 1988), as applicable. Contractor/Manufacturer is Lotus Development Corporation, 55 Cambridge Pkwy., Cambridge, MA 02142. In the event the Government seeks to obtain the Software pursuant to standard commercial practice, this software agreement, instead of the noted regulatory clauses, shall control the terms of the Government's license.

8. GENERAL
The export of the International Version of Lotus Notes and other Lotus products is governed by the U.S. Department of Commerce under the export administration regulations and by Canadian export regulations. The export of the North American Version of Lotus Notes is governed by the U.S. Department of State under the International Traffic in Arms Regulations. It is your responsibility to comply with all such regulations.

For U.S. customers: Should you have any questions concerning this Agreement or Lotus' software use policies, write to Inside Sales and Service, Lotus Development Corporation, 55 Cambridge Parkway, Cambridge, MA 02142, or call 1-800-343-5414.

For Canadian customers: Should you have any questions concerning this Agreement or Lotus' software use policies, write to Customer Service, Lotus Development Canada Limited, P.O. Box 679, Scarborough, Ontario M1K 5C5, or call 1-800-465-6887.


================================================================================
2. Getting Started

The 1-2-3 ADK is a collection of source files, example code and documentation designed to let you develop custom add-ons and LSXs for Lotus 1-2-3.  It works with the LSX Toolkit, which should already be installed on your machine.  The class implementation given for the LSX123Base Class provides many helper functions to access 1-2-3 data through it's existing LotusScript interface.  A number of samples have been included to demonstrate how this works.

================================================================================
3. Installation requirements
(See INSTALL.TXT in \lsx\123adk directory)

If you have a default installation of the LSX Toolkit, the 1-2-3 ADK will install directly on top of it (you simply have to enter where it is).  The 1-2-3 extensions will be ready to use immediately.  If you don't have a default installation then further information about the installation and what each file does is detailed in the file install.txt in the 123adk directory after installation.

================================================================================
4. Creating a 1-2-3 LSX
(See LSX123BS.TXT in \lsx\123adk directory)

The easiest way to create an LSX for Lotus 1-2-3 is to use the LSX wizard that comes with the LSX Toolkit from version 2 onwards.  You enter into the wizard the class structure that your LSX will present to LotusScript, detailing classes, methods, properties and events.  The wizard will then generate the files necessary to build an empty LSX.  This LSX can be used in any Lotus product implementing LotusScript.  To use the 1-2-3 specific extensions, it is necessary to change the default inheritance from the LSXBase class to the LSX123Base class (which itself inherits from the LSXBase class).  Full details about this process and more information about what the LSX123Base class exposes to the user are detailed in the file lsx123bs.txt.

================================================================================
5. Advanced Features of the 1-2-3 ADK
(See CMDID.TXT in the \lsx\123adk directory)

To access 1-2-3 specific information in your LSX, you have to use the 1-2-3 defines which detail the command and property IDs that are used by 1-2-3 when it communicates with LotusScript.  Information about how to use these defines and where to find out what they are is included in the file cmdid.txt.  The constants themselves are defined in the header files l123cmds.h and l123enid.h in the \lsx\inc directory.

================================================================================
6. Samples
(See 123SAMPL.TXT in \lsx\123adk directory)

Several sample LSXs have been included to demonstrate the functionality of the 1-2-3 ADK.  The samples are made up of a few small samples, each demonstrating a certain feature and a larger application, 123HTML.DLL, which brings many of the features together.  Built versions of these LSXs are supplied with the ADK along with 1-2-3 worksheets that demonstrate their use.  Full details about the sample LSXs, including their class structure and how to get them to build, are included in the file 123sampl.txt.

================================================================================
7. Further Documentation

The 1-2-3 ADK is covered in more detail in an article for the Lotus dev.net web site.  The URL for the article is:
http://www.lotus-dev.net/devnet.nsf/data/document2009

Further documentation for the LSX Toolkit is provided in the Notes Database that is delivered with the Toolkit.  This database details how to use the Toolkit and gives information about the structure of LSXs and the LSX API.

================================================================================
8. Files included in the installation

During the install process the following files will be added to your LSX Toolkit:

\lsx\123adk:
     readme.txt - This file.
    install.txt - How the 1-2-3 ADK is installed.
   123Sampl.txt - About the samples.
    123base.txt - The LSX123Base class and how to use it. 
      cmdid.txt - Using the 123 defines.
     wizmgr.txt - How to make the most of the LSX Wizard.

   srttrtls.txt - 1-2-3 objects listed by define.
   srtobjls.txt - 1-2-3 defines listed by object.
   flatable.txt - 1-2-3 flat properties.

\lsx\src\:
   makefile.mak - Includes 1-2-3 files.  The old one is renamed makefile.old

\lsx\src\common\:
   lsx123bs.cpp
   lsx123bs.hpp
   makefile.mak - Includes 1-2-3 files.  The old one is renamed makefile.old

\lsx\inc:
   l123enid.h   - C Header file containing the 1-2-3 defines.
   l123cmds.h   - C Header file containing the 1-2-3 trait values.

\lsx\src\{subdirs}:
These directories contain the source for the samples, one per directory, with command line make files and, if appropriate, Visual C++ project files.

	\lsx\src\123HTML
	\lsx\src\colors
	\lsx\src\editbox
	\lsx\src\infowin
	\lsx\src\preclose

\lsx\bin\w32:
Precompiled versions of the sample LSXs are added to this directory.  These will be recorded in the system registry to allow them to be accessed directly from the sample 1-2-3 files.

    123html.dll
     colors.dll
    editbox.dll
    infowin.dll
   preclose.dll

================================================================================

