Merge handler parameters. More...
#include <merge.hpp>
Public Member Functions | |
merge_handler_params_t (merge_data_t &_md, const qstring &_label, merge_kind_t _kind, merge_kind_t _insert_after, uint32 _mh_flags) | |
bool | ui_has_details () const |
bool | ui_complex_details () const |
bool | ui_complex_name () const |
char | ui_split_char () const |
qstring | ui_split_str () const |
bool | ui_dp_shortname () const |
bool | ui_linediff () const |
bool | ui_indent () const |
Static Public Member Functions | |
static bool | ui_has_details (uint32 _mh_flags) |
Should IDA display the diffpos detail pane? | |
static bool | ui_complex_details (uint32 _mh_flags) |
Do not display the diffpos details in the chooser. More... | |
static bool | ui_complex_name (uint32 _mh_flags) |
It customary to create long diffpos names having many components that are separated by any 7-bit ASCII character (besides of '\0'). More... | |
static char | ui_split_char (uint32 _mh_flags) |
static qstring | ui_split_str (uint32 _mh_flags) |
static bool | ui_dp_shortname (uint32 _mh_flags) |
The detail pane shows the diffpos details for the current diffpos range as a tree-like view. More... | |
static bool | ui_linediff (uint32 _mh_flags) |
In detail pane IDA shows difference between diffpos details. More... | |
static bool | ui_indent (uint32 _mh_flags) |
In the ordinary situation the spaces from the both sides of diffpos name are trimmed. More... | |
Public Attributes | |
merge_data_t & | md |
qstring | label |
merge_kind_t | kind |
merge handler kind merge_kind_t | |
merge_kind_t | insert_after |
desired position inside 'handlers' merge_kind_t | |
uint32 | mh_flags |
Detailed Description
Merge handler parameters.
They describe the handler label, its kind (which is usually automatically allocated by IDA), and various flags. The MH_UI_... flags describe how the merge differences will be displayed to the user. By default they are displayed as a list (using a chooser), and a detail pane at the bottom. Currently the choose columns are automaticaly determined based on the diffpos name. A diffpos name is a textual representation of an object that we compare during merging. For example, if 2 IDBs have different imagebases, then the user would see diffpos names like the following: addresses.imagebase: 0x8048000 addresses.imagebase: 0xA000000 Specifying MH_UI_COLONNAME would cause IDA to create a 2-column chooser for this merge handler.
Member Function Documentation
◆ ui_complex_details()
|
inlinestatic |
Do not display the diffpos details in the chooser.
For example, the MERGE_KIND_SCRIPTS handler puts the script body as the diffpos detail. It would not be great to show them as part of the chooser.
◆ ui_complex_name()
|
inlinestatic |
It customary to create long diffpos names having many components that are separated by any 7-bit ASCII character (besides of '\0').
In this case it is possible to instruct IDA to use this separator to create a multi-column chooser. For example the MERGE_KIND_ENUMS handler has the following diffpos name: enum_1,enum_2 If MH_UI_COMMANAME is specified, IDA will create 2 columns for these names.
◆ ui_dp_shortname()
|
inlinestatic |
The detail pane shows the diffpos details for the current diffpos range as a tree-like view.
In this pane the diffpos names are used as tree node names and the diffpos details as their children. Sometimes, for complex diffpos names, the first part of the name looks better than the entire name. For example, the MERGE_KIND_SEGMENTS handler has the following diffpos name: <range>,<segm1>,<segm2>,<segm3> if MH_UI_DP_SHORTNAME is specified, IDA will use <range> as a tree node name
◆ ui_linediff()
|
inlinestatic |
In detail pane IDA shows difference between diffpos details.
IDA marks added or deleted detail by color. In the modified detail the changes are marked. Use this UI hint if you do not want to show the differences inside detail.
◆ ui_indent()
|
inlinestatic |
In the ordinary situation the spaces from the both sides of diffpos name are trimmed.
Use this UI hint to preserve the leading spaces.
The documentation for this struct was generated from the following file:
Generated by 1.9.3