IDAPython 9.0
|
Public Member Functions | |
__init__ (self, *args, **kwargs) | |
int | size (self) |
int | node_qty (self) |
bool | empty (self) |
bool | exists (self, int node) |
int | get_node_representative (self, int node) |
int | get_node_group (self, int node) |
None | set_node_group (self, int node, int group) |
bool | is_deleted_node (self, int node) |
None | set_deleted_node (self, int node) |
bool | is_subgraph_node (self, int node) |
bool | is_dot_node (self, int node) |
bool | is_group_node (self, int node) |
bool | is_displayable_node (self, int node) |
bool | is_simple_node (self, int node) |
bool | is_collapsed_node (self, int node) |
bool | is_uncollapsed_node (self, int node) |
bool | is_visible_node (self, int node) |
int | get_first_subgraph_node (self, int group) |
int | get_next_subgraph_node (self, int group, int current) |
int | create_group (self, 'intvec_t const &' nodes) |
bool | delete_group (self, int group) |
bool | change_group_visibility (self, int group, bool expand) |
int | nsucc (self, int b) |
int | npred (self, int b) |
int | succ (self, int b, int i) |
int | pred (self, int b, int i) |
'intvec_t const &' | succset (self, int b) |
'intvec_t const &' | predset (self, int b) |
None | reset (self) |
bool | redo_layout (self) |
None | resize (self, int n) |
int | add_node (self, 'rect_t' r) |
'ssize_t' | del_node (self, int n) |
bool | add_edge (self, int i, int j, 'edge_info_t' ei) |
bool | del_edge (self, int i, int j) |
bool | replace_edge (self, int i, int j, int x, int y) |
bool | refresh (self) |
bool | set_nrect (self, int n, 'rect_t' r) |
bool | set_edge (self, 'edge_t' e, 'edge_info_t' ei) |
bool | create_digraph_layout (self) |
None | del_custom_layout (self) |
bool | get_custom_layout (self) |
None | set_custom_layout (self) |
bool | get_graph_groups (self) |
None | set_graph_groups (self) |
ida_idaapi.ea_t | calc_group_ea (self, 'intvec_t const &' arg2) |
bool | is_user_graph (self) |
![]() | |
bool | create_tree_layout (self) |
bool | create_circle_layout (self, 'point_t' p, int radius) |
None | set_callback (self, 'hook_cb_t *' _callback, 'void *' _ud) |
'ssize_t' | grcall (self, int code) |
'edge_info_t *' | get_edge (self, 'edge_t' e) |
'rect_t' | nrect (self, int n) |
__disown__ (self) | |
![]() | |
'char *' | get_node_label (self, int n) |
None | print_graph_attributes (self, 'FILE *' fp) |
bool | print_node (self, 'FILE *' fp, int n) |
bool | print_edge (self, 'FILE *' fp, int i, int j) |
None | print_node_attributes (self, 'FILE *' fp, int n) |
int | entry (self) |
int | exit (self) |
'bgcolor_t' | get_node_color (self, int n) |
'bgcolor_t' | get_edge_color (self, int i, int j) |
'size_t' | nedge (self, int node, bool ispred) |
int | edge (self, int node, int i, bool ispred) |
int | front (self) |
'node_iterator' | begin (self) |
'node_iterator' | end (self) |
Static Public Attributes | |
str | gid |
str | belongs |
str | node_flags |
str | org_succs |
str | org_preds |
str | succs |
str | preds |
str | nodes |
str | edges |
![]() | |
str | title |
str | rect_edges_made |
str | current_layout |
str | circle_center |
str | circle_radius |
str | callback_ud |
Properties | |
thisown | |
![]() | |
thisown | |
![]() | |
thisown | |
__init__ | ( | self, | |
* | args, | ||
** | kwargs ) |
Reimplemented from drawable_graph_t.
bool add_edge | ( | self, | |
int | i, | ||
int | j, | ||
'edge_info_t' | ei ) |
int add_node | ( | self, | |
'rect_t' | r ) |
Add a node, possibly with a specific geometry @param r: the node geometry (can be nullptr) @returns the new node
ida_idaapi.ea_t calc_group_ea | ( | self, | |
'intvec_t const &' | arg2 ) |
bool change_group_visibility | ( | self, | |
int | group, | ||
bool | expand ) |
Expand/collapse a group node @param group: the group node @param expand: whether to expand or collapse @returns success
bool create_digraph_layout | ( | self | ) |
int create_group | ( | self, | |
'intvec_t const &' | nodes ) |
Create a new group node, that will contain all the nodes in 'nodes'. @param nodes: the nodes that will be part of the group @returns the group node, or -1 in case of error
None del_custom_layout | ( | self | ) |
bool del_edge | ( | self, | |
int | i, | ||
int | j ) |
'ssize_t' del_node | ( | self, | |
int | n ) |
Delete a node @param n: the node to delete @returns the number of deleted edges
bool delete_group | ( | self, | |
int | group ) |
Delete a group node. This deletes the group node only; it does not delete nodes that are part of the group. @param group: the group node @returns success
bool empty | ( | self | ) |
Is the graph (visually) empty? @returns true if there are no visible nodes
Reimplemented from gdl_graph_t.
bool exists | ( | self, | |
int | node ) |
Is the node visible? @param node: the node number @returns success
Reimplemented from gdl_graph_t.
bool get_custom_layout | ( | self | ) |
int get_first_subgraph_node | ( | self, | |
int | group ) |
bool get_graph_groups | ( | self | ) |
int get_next_subgraph_node | ( | self, | |
int | group, | ||
int | current ) |
int get_node_group | ( | self, | |
int | node ) |
int get_node_representative | ( | self, | |
int | node ) |
Get the node that currently visually represents 'node'. This will find the "closest" parent group node that's visible, by attempting to walk up the group nodes that contain 'node', and will stop when it finds a node that is currently visible. See also get_group_node() @param node: the node @returns the node that represents 'node', or 'node' if it's not part of any group
bool is_collapsed_node | ( | self, | |
int | node ) |
bool is_deleted_node | ( | self, | |
int | node ) |
bool is_displayable_node | ( | self, | |
int | node ) |
bool is_dot_node | ( | self, | |
int | node ) |
bool is_group_node | ( | self, | |
int | node ) |
bool is_simple_node | ( | self, | |
int | node ) |
bool is_subgraph_node | ( | self, | |
int | node ) |
bool is_uncollapsed_node | ( | self, | |
int | node ) |
bool is_user_graph | ( | self | ) |
bool is_visible_node | ( | self, | |
int | node ) |
Is the node currently visible? An invisible node is a node that's part of a group that's currently collapsed. @param node: the node @returns success
int node_qty | ( | self | ) |
Get the number of visible nodes (the list can be retrieved using gdl.hpp's node_iterator) See also size() @returns the number of visible nodes
Reimplemented from gdl_graph_t.
int npred | ( | self, | |
int | b ) |
Reimplemented from gdl_graph_t.
int nsucc | ( | self, | |
int | b ) |
Reimplemented from gdl_graph_t.
int pred | ( | self, | |
int | b, | ||
int | i ) |
Reimplemented from gdl_graph_t.
'intvec_t const &' predset | ( | self, | |
int | b ) |
bool redo_layout | ( | self | ) |
Recompute the layout, according to the value of 'current_layout'. @returns success
bool refresh | ( | self | ) |
Refresh the graph A graph needs refreshing when it's "backing data". E.g., if the number (or contents) of the objects in the above example, change. Let's say the user's plugin ends up finding a 5th piece of scattered data. It should then add it to its internal list of known objects, and tell IDA that the graph needs to be refreshed, using refresh_viewer(). This will cause IDA to: * discard all its internal rendering information, * call interactive_graph_t::refresh() on the graph so that the user's plugin has a chance to "sync" the number of nodes & edges that this graph contains, to the information that the plugin has collected so far * re-create internal rendering information, and * repaint the view @returns success
bool replace_edge | ( | self, | |
int | i, | ||
int | j, | ||
int | x, | ||
int | y ) |
None reset | ( | self | ) |
None resize | ( | self, | |
int | n ) |
Resize the graph to 'n' nodes @param n: the new size
None set_custom_layout | ( | self | ) |
None set_deleted_node | ( | self, | |
int | node ) |
bool set_edge | ( | self, | |
'edge_t' | e, | ||
'edge_info_t' | ei ) |
None set_graph_groups | ( | self | ) |
None set_node_group | ( | self, | |
int | node, | ||
int | group ) |
bool set_nrect | ( | self, | |
int | n, | ||
'rect_t' | r ) |
int size | ( | self | ) |
Get the total number of nodes (including group nodes, and including hidden nodes.) See also node_qty() @returns the total number of nodes in the graph
Reimplemented from gdl_graph_t.
int succ | ( | self, | |
int | b, | ||
int | i ) |
Reimplemented from gdl_graph_t.
'intvec_t const &' succset | ( | self, | |
int | b ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |