0 Votes

IDA systems

Last modified by WikiBot on 2025/03/20 14:16

IDA systems

To define a new type of system, do the following:

  1. Select a name for the system. The name should be valid for using as directory and file name.
  2. Choose a pictogram (pixel map) for the system. Select it from the existing pixel maps or prepare a new one using Windows’ tools. The pixmap file should be stored in the application directory.
  3. Add a template record to the application file (see custom data objects):
    ((template :n name :c class ...) ...)
    The class may be macro-object (for mathematical level), physical-system or wizard.
  4. Add name to the list of objects insertable in the multi-system project (if such an object is defined in the application). A symbol file name.ids may be supplied to provide a picture for this system in the multi-system project.
  5. Include the description of the document in the list of documents in the application file.
  6. Include the declaration of the document in the list of documents in the header of the application file. This information allows the user to open the systems of that type when the application is not yet loaded.
  7. [optionally] Create a subdirectory name in the application directory. Save here the default and alternative document templates for the new system. If no default template is defined, the template from the application file will be used as the default one.
  8. [optionally] Specify a toolbar button for creating new systems of this type. To do this, prepare a bitmap of size 16x16 pixels, save it in the application directory, and add the following record to the list of buttons in the header of the application file (the template is optional):
    (button-name "sys:appname
    filename.bmp"

     :on-click (create-document appname doctype ["template.idm"]))
  9. If defining a wizard or a physical system, write a script methods :run and (optionally) :invoke. The method :assert may be provided for systems of all levels. All scripts should be stored in the file name.cms.