0 Votes

Online Help

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

Deprecated

Online Help

The application may provide online help in two ways:

  1. The application's help may be integrated with IDA Modeler help;
  2. The application may use scripts to implement the online help.

General requirements for integrated help

  1. The help file should be in compiled HTML Help format (chm).
  2. The filenames should be ida-appname.chm, where appname is the name of your application or extension of application. For every supported language, the help for that language should be placed in the folder ida_path\help\language\.
  3. The help project tile should include following instructions:
    [OPTIONS]
    Compiled File= ida-appname.chm
    Contents File= ida-appname.hhc
    Index File= ida-appname.hhk
    Default Window=$global_main
    Binary Index=Yes
    Auto Index=No
    Binary TOC=No
    Flat=No

    [MERGE FILES]
    idamod.chm

    [WINDOWS]
    $global_main="IDA Help","master.hhc"," ida-appname.hhk",...
  4. The master contents file master.hhc should contain
    <html>
    <!-- Sitemap 1.0 -->
    <object type="text/site properties">
      <param name="Window Styles" value="0x800022"> 
      <param name="ExWindow Styles" value="0x100"> 
    </object>
    <object type="text/sitemap">
      <param name="Name" value="ida-appname.chm::/ida-appname.hhc">
      <param name="Merge" value="ida-appname.chm::/ida-appname.hhc">
    </object>
    <object type="text/sitemap">
      <param name="Name" value="idamod.chm::/idamod.hhc"> 
      <param name="Merge" value="idamod.chm::/idamod.hhc"> 
    </object>
    </html>

Links to and from main IDA help

The online help to an IDA application may contain links to and from the main IDA Online Help.

The links to the main help should be implemented as jumps into the file idamod.chm (without path).

To support links from the main help, application help should include A-keywords that are referred in the main help.

Here is the list of A-keywords referred in the IDA Online Help.

  
Keyword The expected topic
IDA_Application The definition of the application
Physical_Level An overview of physical-level systems in the application
Wizard_Level An overview of wizard-level systems in the application
Build_Model Gradual modeling in the application
New_Doc_Button Description of toolbar buttons for creating a new document
Object An overview of object types used in the application
Macro An overview of macro objects used in the application
Source_File About source files used in the application
Source_Table About source tables used in the application
Plug About plugs used in applications
Output About preparing the output in the application
View_Types Specific view types in the application
Form Overview or a list of the forms used in the application
Dialog Overview or a list of the dialog views used in the application
Diagram Diagrams used in the application
Dialog_with_Diagram Dialogs that contain diagrams
Report Overview and/or a list of reports in the application
Resource Overview of resources in the application
Use_Database Usage of database in the application (if used)
Tools Specific commands in the application's Tools menu
Simulation_Data How to set the simulation data

Context-sensitive help

To provide context-sensitive help, the application should have a registered number. Contact IDA support to register your application. The registered number should be written in the :APPLICATION record of the application file.

In the help file, the map ID of help topics should be integer from 1 to 999999.

In IDA files, the context indices should be written as rrrxxxxxx, where xxxxxx is the map ID in the help file (always 6 digits) and rrr is the registered number of your application.

The context indices may be associated with data objects, forms (*.idc and *.idp files), form fields, and messages.

The indices associated with data objects and messages are stored in the file appname.cnx in the application library. The file consists of up to 3 records. The first record contains data indices, the second record lists the indices for log messages and the third record contains indices for pop-up messages.

The data index is written as

(name index component_record ... )

where name is the object's name (the application's name for the root record) and index is either a number (context index) or a list (default_index view_type index ... ) of context indices for different views. The following items are subrecords for components (with same format).

The message indices are written as

((msg_id . index) ... )

where msg_id is the symbolic name of the message and index is the context index.

The context indices for forms and form fields are written as option :hi index in the form header or form fields.