IDAPython 8.4
|
Graph view management.
Functions | |
"bool" | get_node_info (*args) |
get_node_info(out, gid, node) -> bool Get node info. | |
"void" | set_node_info (*args) |
set_node_info(gid, node, ni, flags) Set node info. | |
"void" | del_node_info (*args) |
del_node_info(gid, node) Delete the node_info_t for the given node. | |
"void" | clr_node_info (*args) |
clr_node_info(gid, node, flags) Clear node info for the given node. | |
"double" | calc_dist (*args) |
calc_dist(p, q) -> double Calculate distance between p and q. | |
"graph_viewer_t *" | create_graph_viewer (*args) |
create_graph_viewer(title, id, callback, ud, title_height, parent=None) -> graph_viewer_t * Create a custom graph viewer. | |
"graph_viewer_t *" | get_graph_viewer (*args) |
get_graph_viewer(parent) -> graph_viewer_t * Get custom graph viewer for given form. | |
"mutable_graph_t *" | create_mutable_graph (*args) |
create_mutable_graph(id) -> mutable_graph_t Create a new empty graph with given id. | |
"mutable_graph_t *" | create_disasm_graph (*args) |
create_disasm_graph(ea) -> mutable_graph_t Create a graph using an arbitrary set of ranges. | |
"mutable_graph_t *" | get_viewer_graph (*args) |
get_viewer_graph(gv) -> mutable_graph_t Get graph object for given custom graph viewer. | |
"void" | set_viewer_graph (*args) |
set_viewer_graph(gv, g) Set the underlying graph object for the given viewer. | |
"void" | refresh_viewer (*args) |
refresh_viewer(gv) Redraw the graph in the given view. | |
"void" | viewer_fit_window (*args) |
viewer_fit_window(gv) Fit graph viewer to its parent form. | |
"int" | viewer_get_curnode (*args) |
viewer_get_curnode(gv) -> int Get number of currently selected node (-1 if none) | |
"void" | viewer_center_on (*args) |
viewer_center_on(gv, node) Center the graph view on the given node. | |
"void" | viewer_set_gli (*args) |
viewer_set_gli(gv, gli, flags=0) Set location info for given graph view If flags contains GLICTL_CENTER, then the gli will be set to be the center of the view. | |
"bool" | viewer_get_gli (*args) |
viewer_get_gli(out, gv, flags=0) -> bool Get location info for given graph view If flags contains GLICTL_CENTER, then the gli that will be retrieved, will be the one at the center of the view. | |
"void" | viewer_set_node_info (*args) |
viewer_set_node_info(gv, n, ni, flags) Set node info for node in given viewer (see set_node_info()) | |
"bool" | viewer_get_node_info (*args) |
viewer_get_node_info(gv, out, n) -> bool Get node info for node in given viewer (see get_node_info()) | |
"void" | viewer_del_node_info (*args) |
viewer_del_node_info(gv, n) Delete node info for node in given viewer (see del_node_info()) | |
"bool" | viewer_create_groups (*args) |
viewer_create_groups(gv, out_group_nodes, gi) -> bool This will perform an operation similar to what happens when a user manually selects a set of nodes, right-clicks and selects "Create group". | |
"bool" | viewer_delete_groups (*args) |
viewer_delete_groups(gv, groups, new_current=-1) -> bool Wrapper around mutable_graph_t.delete_group. | |
"bool" | viewer_set_groups_visibility (*args) |
viewer_set_groups_visibility(gv, groups, expand, new_current=-1) -> bool Wrapper around mutable_graph_t::change_visibility. | |
"bool" | viewer_attach_menu_item (*args) |
viewer_attach_menu_item(g, name) -> bool Attach a previously-registered action to the view's context menu. | |
"bool" | viewer_get_selection (*args) |
viewer_get_selection(gv, sgs) -> bool Get currently selected items for graph viewer. | |
"int" | viewer_set_titlebar_height (*args) |
viewer_set_titlebar_height(gv, height) -> int Set height of node title bars (grcode_set_titlebar_height) | |
"void" | delete_mutable_graph (*args) |
delete_mutable_graph(g) Delete graph object. | |
"user_graph_place_t *" | create_user_graph_place (*args) |
create_user_graph_place(node, lnnum) -> user_graph_place_t Get a copy of a user_graph_place_t (returns a pointer to static storage) | |
"void" | pyg_close (*args) |
pyg_close(_self) | |
"void" | pyg_select_node (*args) |
pyg_select_node(_self, nid) | |
"bool" | pyg_show (*args) |
pyg_show(_self) -> bool | |
Variables | |
NIF_BG_COLOR = _ida_graph.NIF_BG_COLOR | |
NIF_FRAME_COLOR = _ida_graph.NIF_FRAME_COLOR | |
NIF_EA = _ida_graph.NIF_EA | |
NIF_TEXT = _ida_graph.NIF_TEXT | |
NIF_FLAGS = _ida_graph.NIF_FLAGS | |
NIF_ALL = _ida_graph.NIF_ALL | |
GLICTL_CENTER = _ida_graph.GLICTL_CENTER | |
NIFF_SHOW_CONTENTS = _ida_graph.NIFF_SHOW_CONTENTS | |
edge_error = _ida_graph.edge_error | |
edge_tree = _ida_graph.edge_tree | |
edge_forward = _ida_graph.edge_forward | |
edge_back = _ida_graph.edge_back | |
edge_cross = _ida_graph.edge_cross | |
edge_subgraph = _ida_graph.edge_subgraph | |
cvar = _ida_graph.cvar | |
layout_none = cvar.layout_none | |
layout_digraph = cvar.layout_digraph | |
layout_tree = cvar.layout_tree | |
layout_circle = cvar.layout_circle | |
layout_polar_tree = cvar.layout_polar_tree | |
layout_orthogonal = cvar.layout_orthogonal | |
layout_radial_tree = cvar.layout_radial_tree | |
git_none = _ida_graph.git_none | |
git_edge = _ida_graph.git_edge | |
git_node = _ida_graph.git_node | |
git_tool = _ida_graph.git_tool | |
git_text = _ida_graph.git_text | |
git_elp = _ida_graph.git_elp | |
ygap = cvar.ygap | |
xgap = cvar.xgap | |
arrow_height = cvar.arrow_height | |
arrow_width = cvar.arrow_width | |
MTG_GROUP_NODE = _ida_graph.MTG_GROUP_NODE | |
MTG_DOT_NODE = _ida_graph.MTG_DOT_NODE | |
MTG_NON_DISPLAYABLE_NODE = _ida_graph.MTG_NON_DISPLAYABLE_NODE | |
COLLAPSED_NODE = _ida_graph.COLLAPSED_NODE | |
grcode_calculating_layout = _ida_graph.grcode_calculating_layout | |
grcode_layout_calculated = _ida_graph.grcode_layout_calculated | |
grcode_changed_graph = _ida_graph.grcode_changed_graph | |
grcode_reserved = _ida_graph.grcode_reserved | |
grcode_clicked = _ida_graph.grcode_clicked | |
grcode_dblclicked = _ida_graph.grcode_dblclicked | |
grcode_creating_group = _ida_graph.grcode_creating_group | |
grcode_deleting_group = _ida_graph.grcode_deleting_group | |
grcode_group_visibility = _ida_graph.grcode_group_visibility | |
grcode_gotfocus = _ida_graph.grcode_gotfocus | |
grcode_lostfocus = _ida_graph.grcode_lostfocus | |
grcode_user_refresh = _ida_graph.grcode_user_refresh | |
grcode_reserved2 = _ida_graph.grcode_reserved2 | |
grcode_user_text = _ida_graph.grcode_user_text | |
grcode_user_size = _ida_graph.grcode_user_size | |
grcode_user_title = _ida_graph.grcode_user_title | |
grcode_user_draw = _ida_graph.grcode_user_draw | |
grcode_user_hint = _ida_graph.grcode_user_hint | |
grcode_destroyed = _ida_graph.grcode_destroyed | |
grcode_create_graph_viewer = _ida_graph.grcode_create_graph_viewer | |
grcode_get_graph_viewer = _ida_graph.grcode_get_graph_viewer | |
grcode_get_viewer_graph = _ida_graph.grcode_get_viewer_graph | |
grcode_create_mutable_graph = _ida_graph.grcode_create_mutable_graph | |
grcode_set_viewer_graph = _ida_graph.grcode_set_viewer_graph | |
grcode_refresh_viewer = _ida_graph.grcode_refresh_viewer | |
grcode_fit_window = _ida_graph.grcode_fit_window | |
grcode_get_curnode = _ida_graph.grcode_get_curnode | |
grcode_center_on = _ida_graph.grcode_center_on | |
grcode_get_selection = _ida_graph.grcode_get_selection | |
grcode_del_custom_layout = _ida_graph.grcode_del_custom_layout | |
grcode_set_custom_layout = _ida_graph.grcode_set_custom_layout | |
grcode_set_graph_groups = _ida_graph.grcode_set_graph_groups | |
grcode_clear = _ida_graph.grcode_clear | |
grcode_create_digraph_layout = _ida_graph.grcode_create_digraph_layout | |
grcode_create_tree_layout = _ida_graph.grcode_create_tree_layout | |
grcode_create_circle_layout = _ida_graph.grcode_create_circle_layout | |
grcode_get_node_representative = _ida_graph.grcode_get_node_representative | |
grcode_find_subgraph_node = _ida_graph.grcode_find_subgraph_node | |
grcode_create_group = _ida_graph.grcode_create_group | |
grcode_get_custom_layout = _ida_graph.grcode_get_custom_layout | |
grcode_get_graph_groups = _ida_graph.grcode_get_graph_groups | |
grcode_empty = _ida_graph.grcode_empty | |
grcode_is_visible_node = _ida_graph.grcode_is_visible_node | |
grcode_delete_group = _ida_graph.grcode_delete_group | |
grcode_change_group_visibility = _ida_graph.grcode_change_group_visibility | |
grcode_set_edge = _ida_graph.grcode_set_edge | |
grcode_node_qty = _ida_graph.grcode_node_qty | |
grcode_nrect = _ida_graph.grcode_nrect | |
grcode_set_titlebar_height = _ida_graph.grcode_set_titlebar_height | |
grcode_create_user_graph_place = _ida_graph.grcode_create_user_graph_place | |
grcode_create_disasm_graph1 = _ida_graph.grcode_create_disasm_graph1 | |
grcode_create_disasm_graph2 = _ida_graph.grcode_create_disasm_graph2 | |
grcode_set_node_info = _ida_graph.grcode_set_node_info | |
grcode_get_node_info = _ida_graph.grcode_get_node_info | |
grcode_del_node_info = _ida_graph.grcode_del_node_info | |
grcode_viewer_create_groups = _ida_graph.grcode_viewer_create_groups | |
grcode_viewer_delete_groups = _ida_graph.grcode_viewer_delete_groups | |
grcode_viewer_groups_visibility = _ida_graph.grcode_viewer_groups_visibility | |
grcode_viewer_create_groups_vec = _ida_graph.grcode_viewer_create_groups_vec | |
grcode_viewer_delete_groups_vec = _ida_graph.grcode_viewer_delete_groups_vec | |
grcode_viewer_groups_visibility_vec = _ida_graph.grcode_viewer_groups_visibility_vec | |
grcode_delete_mutable_graph = _ida_graph.grcode_delete_mutable_graph | |
grcode_edge_infos_wrapper_copy = _ida_graph.grcode_edge_infos_wrapper_copy | |
grcode_edge_infos_wrapper_clear = _ida_graph.grcode_edge_infos_wrapper_clear | |
grcode_attach_menu_item = _ida_graph.grcode_attach_menu_item | |
grcode_set_gli = _ida_graph.grcode_set_gli | |
grcode_get_gli = _ida_graph.grcode_get_gli | |
"void" clr_node_info | ( | * | args | ) |
gid | (C++: graph_id_t) id of desired graph |
node | (C++: int) node number |
flags | (C++: uint32) combination of Node info flags, identifying which fields of node_info_t will be cleared |
"mutable_graph_t *" create_disasm_graph | ( | * | args | ) |
ea | ea_t |
create_disasm_graph(ranges) -> mutable_graph_t
ranges | rangevec_t const & |
"graph_viewer_t *" create_graph_viewer | ( | * | args | ) |
title | (C++: const char *) the widget title |
id | (C++: uval_t) graph id |
callback | (C++: hook_cb_t *) callback to handle graph notifications (graph_notification_t) |
ud | (C++: void *) user data passed to callback |
title_height | (C++: int) node title height |
parent | (C++: TWidget *) the parent widget of the graph viewer |
"mutable_graph_t *" create_mutable_graph | ( | * | args | ) |
id | (C++: uval_t) |
"user_graph_place_t *" create_user_graph_place | ( | * | args | ) |
node | (C++: int) |
lnnum | (C++: int) |
"void" del_node_info | ( | * | args | ) |
gid | (C++: graph_id_t) |
node | (C++: int) |
"void" delete_mutable_graph | ( | * | args | ) |
g | (C++: mutable_graph_t *) |
"graph_viewer_t *" get_graph_viewer | ( | * | args | ) |
parent | (C++: TWidget *) |
"bool" get_node_info | ( | * | args | ) |
out | (C++: node_info_t *) result |
gid | (C++: graph_id_t) id of desired graph |
node | (C++: int) node number |
"mutable_graph_t *" get_viewer_graph | ( | * | args | ) |
gv | (C++: graph_viewer_t *) |
"void" pyg_close | ( | * | args | ) |
self | PyObject * |
"void" pyg_select_node | ( | * | args | ) |
self | PyObject * |
nid | int |
"bool" pyg_show | ( | * | args | ) |
self | PyObject * |
"void" refresh_viewer | ( | * | args | ) |
gv | (C++: graph_viewer_t *) |
"void" set_node_info | ( | * | args | ) |
gid | (C++: graph_id_t) id of desired graph |
node | (C++: int) node number |
ni | (C++: const node_info_t &) node info to use |
flags | (C++: uint32) combination of Node info flags, identifying which fields of 'ni' will be used |
"void" set_viewer_graph | ( | * | args | ) |
gv | (C++: graph_viewer_t *) |
g | (C++: mutable_graph_t *) |
"bool" viewer_attach_menu_item | ( | * | args | ) |
See kernwin.hpp for how to register actions.
g | (C++: graph_viewer_t *) graph viewer |
name | (C++: const char *) action name |
"void" viewer_center_on | ( | * | args | ) |
gv | (C++: graph_viewer_t *) |
node | (C++: int) |
"bool" viewer_create_groups | ( | * | args | ) |
This is a wrapper around mutable_graph_t.create_group that will, in essence:
gv | (C++: graph_viewer_t *) |
out_group_nodes | (C++: intvec_t *) |
gi | (C++: const groups_crinfos_t &) groups_crinfos_t const & |
"void" viewer_del_node_info | ( | * | args | ) |
gv | (C++: graph_viewer_t *) |
n | (C++: int) |
"bool" viewer_delete_groups | ( | * | args | ) |
This function will:
gv | (C++: graph_viewer_t *) |
groups | (C++: const intvec_t &) intvec_t const & |
new_current | (C++: int) |
"void" viewer_fit_window | ( | * | args | ) |
gv | (C++: graph_viewer_t *) |
"int" viewer_get_curnode | ( | * | args | ) |
gv | (C++: graph_viewer_t *) |
"bool" viewer_get_gli | ( | * | args | ) |
Otherwise it will be the top-left.
out | (C++: graph_location_info_t *) |
gv | (C++: graph_viewer_t *) |
flags | (C++: uint32) |
"bool" viewer_get_node_info | ( | * | args | ) |
gv | (C++: graph_viewer_t *) |
out | (C++: node_info_t *) |
n | (C++: int) |
"bool" viewer_get_selection | ( | * | args | ) |
gv | (C++: graph_viewer_t *) |
sgs | (C++: screen_graph_selection_t *) |
"void" viewer_set_gli | ( | * | args | ) |
Otherwise it will be the top-left.
gv | (C++: graph_viewer_t *) |
gli | (C++: const graph_location_info_t *) graph_location_info_t const * |
flags | (C++: uint32) |
"bool" viewer_set_groups_visibility | ( | * | args | ) |
This function will:
gv | (C++: graph_viewer_t *) |
groups | (C++: const intvec_t &) intvec_t const & |
expand | (C++: bool) |
new_current | (C++: int) |
"void" viewer_set_node_info | ( | * | args | ) |
gv | (C++: graph_viewer_t *) |
n | (C++: int) |
ni | (C++: const node_info_t &) node_info_t const & |
flags | (C++: uint32) |
"int" viewer_set_titlebar_height | ( | * | args | ) |
gv | (C++: graph_viewer_t *) |
height | (C++: int) |
arrow_height = cvar.arrow_height |
arrow_width = cvar.arrow_width |
COLLAPSED_NODE = _ida_graph.COLLAPSED_NODE |
cvar = _ida_graph.cvar |
edge_back = _ida_graph.edge_back |
edge_cross = _ida_graph.edge_cross |
edge_error = _ida_graph.edge_error |
edge_forward = _ida_graph.edge_forward |
edge_subgraph = _ida_graph.edge_subgraph |
edge_tree = _ida_graph.edge_tree |
git_edge = _ida_graph.git_edge |
git_elp = _ida_graph.git_elp |
git_node = _ida_graph.git_node |
git_none = _ida_graph.git_none |
git_text = _ida_graph.git_text |
git_tool = _ida_graph.git_tool |
GLICTL_CENTER = _ida_graph.GLICTL_CENTER |
grcode_attach_menu_item = _ida_graph.grcode_attach_menu_item |
grcode_calculating_layout = _ida_graph.grcode_calculating_layout |
grcode_center_on = _ida_graph.grcode_center_on |
grcode_change_group_visibility = _ida_graph.grcode_change_group_visibility |
grcode_changed_graph = _ida_graph.grcode_changed_graph |
grcode_clear = _ida_graph.grcode_clear |
grcode_clicked = _ida_graph.grcode_clicked |
grcode_create_circle_layout = _ida_graph.grcode_create_circle_layout |
grcode_create_digraph_layout = _ida_graph.grcode_create_digraph_layout |
grcode_create_disasm_graph1 = _ida_graph.grcode_create_disasm_graph1 |
grcode_create_disasm_graph2 = _ida_graph.grcode_create_disasm_graph2 |
grcode_create_graph_viewer = _ida_graph.grcode_create_graph_viewer |
grcode_create_group = _ida_graph.grcode_create_group |
grcode_create_mutable_graph = _ida_graph.grcode_create_mutable_graph |
grcode_create_tree_layout = _ida_graph.grcode_create_tree_layout |
grcode_create_user_graph_place = _ida_graph.grcode_create_user_graph_place |
grcode_creating_group = _ida_graph.grcode_creating_group |
grcode_dblclicked = _ida_graph.grcode_dblclicked |
grcode_del_custom_layout = _ida_graph.grcode_del_custom_layout |
grcode_del_node_info = _ida_graph.grcode_del_node_info |
grcode_delete_group = _ida_graph.grcode_delete_group |
grcode_delete_mutable_graph = _ida_graph.grcode_delete_mutable_graph |
grcode_deleting_group = _ida_graph.grcode_deleting_group |
grcode_destroyed = _ida_graph.grcode_destroyed |
grcode_edge_infos_wrapper_clear = _ida_graph.grcode_edge_infos_wrapper_clear |
grcode_edge_infos_wrapper_copy = _ida_graph.grcode_edge_infos_wrapper_copy |
grcode_empty = _ida_graph.grcode_empty |
grcode_find_subgraph_node = _ida_graph.grcode_find_subgraph_node |
grcode_fit_window = _ida_graph.grcode_fit_window |
grcode_get_curnode = _ida_graph.grcode_get_curnode |
grcode_get_custom_layout = _ida_graph.grcode_get_custom_layout |
grcode_get_gli = _ida_graph.grcode_get_gli |
grcode_get_graph_groups = _ida_graph.grcode_get_graph_groups |
grcode_get_graph_viewer = _ida_graph.grcode_get_graph_viewer |
grcode_get_node_info = _ida_graph.grcode_get_node_info |
grcode_get_node_representative = _ida_graph.grcode_get_node_representative |
grcode_get_selection = _ida_graph.grcode_get_selection |
grcode_get_viewer_graph = _ida_graph.grcode_get_viewer_graph |
grcode_gotfocus = _ida_graph.grcode_gotfocus |
grcode_group_visibility = _ida_graph.grcode_group_visibility |
grcode_is_visible_node = _ida_graph.grcode_is_visible_node |
grcode_layout_calculated = _ida_graph.grcode_layout_calculated |
grcode_lostfocus = _ida_graph.grcode_lostfocus |
grcode_node_qty = _ida_graph.grcode_node_qty |
grcode_nrect = _ida_graph.grcode_nrect |
grcode_refresh_viewer = _ida_graph.grcode_refresh_viewer |
grcode_reserved = _ida_graph.grcode_reserved |
grcode_reserved2 = _ida_graph.grcode_reserved2 |
grcode_set_custom_layout = _ida_graph.grcode_set_custom_layout |
grcode_set_edge = _ida_graph.grcode_set_edge |
grcode_set_gli = _ida_graph.grcode_set_gli |
grcode_set_graph_groups = _ida_graph.grcode_set_graph_groups |
grcode_set_node_info = _ida_graph.grcode_set_node_info |
grcode_set_titlebar_height = _ida_graph.grcode_set_titlebar_height |
grcode_set_viewer_graph = _ida_graph.grcode_set_viewer_graph |
grcode_user_draw = _ida_graph.grcode_user_draw |
grcode_user_hint = _ida_graph.grcode_user_hint |
grcode_user_refresh = _ida_graph.grcode_user_refresh |
grcode_user_size = _ida_graph.grcode_user_size |
grcode_user_text = _ida_graph.grcode_user_text |
grcode_user_title = _ida_graph.grcode_user_title |
grcode_viewer_create_groups = _ida_graph.grcode_viewer_create_groups |
grcode_viewer_create_groups_vec = _ida_graph.grcode_viewer_create_groups_vec |
grcode_viewer_delete_groups = _ida_graph.grcode_viewer_delete_groups |
grcode_viewer_delete_groups_vec = _ida_graph.grcode_viewer_delete_groups_vec |
grcode_viewer_groups_visibility = _ida_graph.grcode_viewer_groups_visibility |
grcode_viewer_groups_visibility_vec = _ida_graph.grcode_viewer_groups_visibility_vec |
layout_circle = cvar.layout_circle |
layout_digraph = cvar.layout_digraph |
layout_none = cvar.layout_none |
layout_orthogonal = cvar.layout_orthogonal |
layout_polar_tree = cvar.layout_polar_tree |
layout_radial_tree = cvar.layout_radial_tree |
layout_tree = cvar.layout_tree |
MTG_DOT_NODE = _ida_graph.MTG_DOT_NODE |
MTG_GROUP_NODE = _ida_graph.MTG_GROUP_NODE |
MTG_NON_DISPLAYABLE_NODE = _ida_graph.MTG_NON_DISPLAYABLE_NODE |
NIF_ALL = _ida_graph.NIF_ALL |
NIF_BG_COLOR = _ida_graph.NIF_BG_COLOR |
NIF_EA = _ida_graph.NIF_EA |
NIF_FLAGS = _ida_graph.NIF_FLAGS |
NIF_FRAME_COLOR = _ida_graph.NIF_FRAME_COLOR |
NIF_TEXT = _ida_graph.NIF_TEXT |
NIFF_SHOW_CONTENTS = _ida_graph.NIFF_SHOW_CONTENTS |
xgap = cvar.xgap |
ygap = cvar.ygap |