|
IDAPython 9.0
|
Graph view management.
Classes | |
| class | drawable_graph_t |
| class | edge_info_t |
| class | edge_infos_wrapper_t |
| class | edge_layout_point_t |
| class | edge_segment_t |
| class | graph_item_t |
| class | graph_node_visitor_t |
| class | graph_path_visitor_t |
| class | graph_visitor_t |
| class | GraphViewer |
| class | group_crinfo_t |
| class | interactive_graph_t |
| class | interval_t |
| class | node_info_t |
| class | node_layout_t |
| class | point_t |
| class | pointseq_t |
| class | pointvec_t |
| class | rect_t |
| class | row_info_t |
| class | screen_graph_selection_base_t |
| class | screen_graph_selection_t |
| class | selection_item_t |
| class | TPointDouble |
| class | user_graph_place_t |
Functions | |
| bool | get_node_info ('node_info_t' out, 'graph_id_t' gid, int node) |
| None | set_node_info ('graph_id_t' gid, int node, 'node_info_t' ni, int flags) |
| None | del_node_info ('graph_id_t' gid, int node) |
| None | clr_node_info ('graph_id_t' gid, int node, int flags) |
| 'double' | calc_dist ('point_t' p, 'point_t' q) |
| 'graph_viewer_t *' | create_graph_viewer (str title, int id, 'hook_cb_t *' callback, 'void *' ud, int title_height, 'TWidget *' parent=None) |
| 'graph_viewer_t *' | get_graph_viewer ('TWidget *' parent) |
| 'interactive_graph_t *' | create_interactive_graph (int id) |
| 'interactive_graph_t *' | create_disasm_graph (*args) |
| 'interactive_graph_t *' | get_viewer_graph ('graph_viewer_t *' gv) |
| None | set_viewer_graph ('graph_viewer_t *' gv, 'interactive_graph_t' g) |
| None | refresh_viewer ('graph_viewer_t *' gv) |
| None | viewer_fit_window ('graph_viewer_t *' gv) |
| int | viewer_get_curnode ('graph_viewer_t *' gv) |
| None | viewer_center_on ('graph_viewer_t *' gv, int node) |
| None | viewer_set_gli ('graph_viewer_t *' gv, 'graph_location_info_t const *' gli, int flags=0) |
| bool | viewer_get_gli ('graph_location_info_t *' out, 'graph_viewer_t *' gv, int flags=0) |
| None | viewer_set_node_info ('graph_viewer_t *' gv, int n, 'node_info_t' ni, int flags) |
| bool | viewer_get_node_info ('graph_viewer_t *' gv, 'node_info_t' out, int n) |
| None | viewer_del_node_info ('graph_viewer_t *' gv, int n) |
| bool | viewer_create_groups ('graph_viewer_t *' gv, 'intvec_t *' out_group_nodes, 'groups_crinfos_t const &' gi) |
| bool | viewer_delete_groups ('graph_viewer_t *' gv, 'intvec_t const &' groups, int new_current=-1) |
| bool | viewer_set_groups_visibility ('graph_viewer_t *' gv, 'intvec_t const &' groups, bool expand, int new_current=-1) |
| bool | viewer_attach_menu_item ('graph_viewer_t *' g, str name) |
| bool | viewer_get_selection ('graph_viewer_t *' gv, 'screen_graph_selection_t' sgs) |
| int | viewer_set_titlebar_height ('graph_viewer_t *' gv, int height) |
| None | delete_interactive_graph ('interactive_graph_t' g) |
| 'user_graph_place_t *' | create_user_graph_place (int node, int lnnum) |
| None | pyg_close ('PyObject *' _self) |
| None | pyg_select_node ('PyObject *' _self, int nid) |
| bool | pyg_show ('PyObject *' _self) |
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 | |
| 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_interactive_graph = _ida_graph.grcode_create_interactive_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 | |
| tuple | grcode_viewer_groups_visibility_vec |
| grcode_delete_interactive_graph = _ida_graph.grcode_delete_interactive_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 | |
| edge_t = ida_gdl.edge_t | |
| node_ordering_t = ida_gdl.node_ordering_t | |
| abstract_graph_t = drawable_graph_t | |
| mutable_graph_t = interactive_graph_t | |
| 'interactive_graph_t *' | create_mutable_graph = create_interactive_graph |
| None | delete_mutable_graph = delete_interactive_graph |
| grcode_create_mutable_graph = grcode_create_interactive_graph | |
| None clr_node_info | ( | 'graph_id_t' | gid, |
| int | node, | ||
| int | flags ) |
Clear node info for the given node.
@param gid: id of desired graph
@param node: node number
@param flags: combination of Node info flags, identifying which fields of node_info_t will be cleared
| 'interactive_graph_t *' create_disasm_graph | ( | * | args | ) |
This function has the following signatures: 0. create_disasm_graph(ea: ida_idaapi.ea_t) -> interactive_graph_t * 1. create_disasm_graph(ranges: const rangevec_t &) -> interactive_graph_t * # 0: create_disasm_graph(ea: ida_idaapi.ea_t) -> interactive_graph_t * Create a graph for the function that contains 'ea'. # 1: create_disasm_graph(ranges: const rangevec_t &) -> interactive_graph_t * Create a graph using an arbitrary set of ranges.
| 'graph_viewer_t *' create_graph_viewer | ( | str | title, |
| int | id, | ||
| 'hook_cb_t *' | callback, | ||
| 'void *' | ud, | ||
| int | title_height, | ||
| 'TWidget *' | parent = None ) |
Create a custom graph viewer.
@param title: the widget title
@param id: graph id
@param callback: callback to handle graph notifications (graph_notification_t)
@param ud: user data passed to callback
@param title_height: node title height
@param parent: the parent widget of the graph viewer
@returns new viewer
| 'interactive_graph_t *' create_interactive_graph | ( | int | id | ) |
Create a new empty graph with given id.
| 'user_graph_place_t *' create_user_graph_place | ( | int | node, |
| int | lnnum ) |
Get a copy of a user_graph_place_t (returns a pointer to static storage)
| None del_node_info | ( | 'graph_id_t' | gid, |
| int | node ) |
Delete the node_info_t for the given node.
| None delete_interactive_graph | ( | 'interactive_graph_t' | g | ) |
Delete graph object.
| 'graph_viewer_t *' get_graph_viewer | ( | 'TWidget *' | parent | ) |
Get custom graph viewer for given form.
| bool get_node_info | ( | 'node_info_t' | out, |
| 'graph_id_t' | gid, | ||
| int | node ) |
Get node info.
@param out: result
@param gid: id of desired graph
@param node: node number
@returns success
| 'interactive_graph_t *' get_viewer_graph | ( | 'graph_viewer_t *' | gv | ) |
Get graph object for given custom graph viewer.
| None pyg_close | ( | 'PyObject *' | _self | ) |
| None pyg_select_node | ( | 'PyObject *' | _self, |
| int | nid ) |
| bool pyg_show | ( | 'PyObject *' | _self | ) |
| None refresh_viewer | ( | 'graph_viewer_t *' | gv | ) |
Redraw the graph in the given view.
| None set_node_info | ( | 'graph_id_t' | gid, |
| int | node, | ||
| 'node_info_t' | ni, | ||
| int | flags ) |
Set node info.
@param gid: id of desired graph
@param node: node number
@param ni: node info to use
@param flags: combination of Node info flags, identifying which fields of 'ni' will be used
| None set_viewer_graph | ( | 'graph_viewer_t *' | gv, |
| 'interactive_graph_t' | g ) |
Set the underlying graph object for the given viewer.
| bool viewer_attach_menu_item | ( | 'graph_viewer_t *' | g, |
| str | name ) |
Attach a previously-registered action to the view's context menu. See kernwin.hpp for how to register actions.
@param g: graph viewer
@param name: action name
@returns success
| None viewer_center_on | ( | 'graph_viewer_t *' | gv, |
| int | node ) |
Center the graph view on the given node.
| bool viewer_create_groups | ( | 'graph_viewer_t *' | gv, |
| 'intvec_t *' | out_group_nodes, | ||
| 'groups_crinfos_t const &' | gi ) |
This will perform an operation similar to what happens when a user manually selects a set of nodes, right-clicks and selects "Create group". This is a wrapper around interactive_graph_t::create_group that will, in essence: * clone the current graph * for each group_crinfo_t, attempt creating group in that new graph * if all were successful, animate to that new graph.
| None viewer_del_node_info | ( | 'graph_viewer_t *' | gv, |
| int | n ) |
Delete node info for node in given viewer (see del_node_info())
| bool viewer_delete_groups | ( | 'graph_viewer_t *' | gv, |
| 'intvec_t const &' | groups, | ||
| int | new_current = -1 ) |
Wrapper around interactive_graph_t::delete_group. This function will: * clone the current graph * attempt deleting the groups in that new graph * if successful, animate to that new graph.
| None viewer_fit_window | ( | 'graph_viewer_t *' | gv | ) |
Fit graph viewer to its parent form.
| int viewer_get_curnode | ( | 'graph_viewer_t *' | gv | ) |
Get number of currently selected node (-1 if none)
| bool viewer_get_gli | ( | 'graph_location_info_t *' | out, |
| 'graph_viewer_t *' | gv, | ||
| int | flags = 0 ) |
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. Otherwise it will be the top-left.
| bool viewer_get_node_info | ( | 'graph_viewer_t *' | gv, |
| 'node_info_t' | out, | ||
| int | n ) |
Get node info for node in given viewer (see get_node_info())
| bool viewer_get_selection | ( | 'graph_viewer_t *' | gv, |
| 'screen_graph_selection_t' | sgs ) |
Get currently selected items for graph viewer.
| None viewer_set_gli | ( | 'graph_viewer_t *' | gv, |
| 'graph_location_info_t const *' | gli, | ||
| int | 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. Otherwise it will be the top-left.
| bool viewer_set_groups_visibility | ( | 'graph_viewer_t *' | gv, |
| 'intvec_t const &' | groups, | ||
| bool | expand, | ||
| int | new_current = -1 ) |
Wrapper around interactive_graph_t::change_visibility. This function will: * clone the current graph * attempt changing visibility of the groups in that new graph * if successful, animate to that new graph.
| None viewer_set_node_info | ( | 'graph_viewer_t *' | gv, |
| int | n, | ||
| 'node_info_t' | ni, | ||
| int | flags ) |
Set node info for node in given viewer (see set_node_info())
| int viewer_set_titlebar_height | ( | 'graph_viewer_t *' | gv, |
| int | height ) |
Set height of node title bars (grcode_set_titlebar_height)
| abstract_graph_t = drawable_graph_t |
| arrow_height = cvar.arrow_height |
| arrow_width = cvar.arrow_width |
| COLLAPSED_NODE = _ida_graph.COLLAPSED_NODE |
| 'interactive_graph_t *' create_mutable_graph = create_interactive_graph |
| cvar = _ida_graph.cvar |
| None delete_mutable_graph = delete_interactive_graph |
| edge_t = ida_gdl.edge_t |
| 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_interactive_graph = _ida_graph.grcode_create_interactive_graph |
| grcode_create_mutable_graph = grcode_create_interactive_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_interactive_graph = _ida_graph.grcode_delete_interactive_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 |
| tuple 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 |
| mutable_graph_t = interactive_graph_t |
| 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 |
| node_ordering_t = ida_gdl.node_ordering_t |
| xgap = cvar.xgap |
| ygap = cvar.ygap |