Online Help
Deprecated
Online Help
The application may provide online help in two ways:
- The application's help may be integrated with IDA Modeler help;
- The application may use scripts to implement the online help.
General requirements for integrated help
- The help file should be in compiled HTML Help format (chm).
- 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\.
- 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",... - 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.