#include <DaVinci.h>

Classes | |
| class | IO |
Public Member Functions | |
| DaVinci (MEM_POOL *m, FILE *trace_fp=NULL, bool usage_check=false) | |
| ~DaVinci () | |
| bool | is_ok () const |
| DaVinci (const DaVinci &) | |
| void | operator= (const DaVinci &) |
| void | Event_Loop (DaVinci_Callback *cb_hook) |
| void | Exit_Event_Loop () |
| DA_ACK | Title (const char *title) |
| DA_ACK | Show_Status (const char *status) |
| DA_ACK | Show_Message (const char *msg) |
| DA_ACK | Menu_Create (INT n_items, const MENU_INFO *items) |
| DA_ACK | Menu_Activate (INT n_ids, const char *ids[]) |
| DA_ACK | Menu_Deactivate (INT n_ids, const char *ids[]) |
| void | Graph_Begin () |
| void | Node_Begin (NODE_ID id, const char *label, const NODE_TYPE &node_type) |
| void | Out_Edge (const EDGE_ID &edge_id, const EDGE_TYPE &edge_type, const NODE_ID dest_id) |
| void | Node_End () |
| DA_ACK | Graph_End () |
| DA_ACK | Change_Attr (const NODE_ID node_id, const NODE_TYPE &nt, const char *new_label=NULL) |
| DA_ACK | Change_Attr (const EDGE_ID &edge_id, const EDGE_TYPE &et) |
| void | Update_Begin () |
| void | New_Node (NODE_ID id, const char *label, const NODE_TYPE &nt) |
| void | New_Edge (const EDGE_ID &id, const EDGE_TYPE &et, NODE_ID src, NODE_ID dst) |
| DA_ACK | Update_End () |
Static Public Member Functions | |
| static bool | enabled (bool msg) |
Private Types | |
| typedef UINT32 | FTAG |
| typedef FTAG | FTAGS |
Private Member Functions | |
| const char * | Ft_Str (const FTAG ftag) |
| void | Usage_Error (FTAG curr, FTAGS prereq) |
| bool | Usage_Ok (FTAG curr, FTAGS prereq) |
| DA_ACK | Wait_For_Ack () |
| DA_ACK | Emit_Ack (const char *line) |
| void | Emit_Do (const char *line) |
| const char * | Parse_Menu_Label (const char *epfx) |
| bool | Parse_Event (const char *line, EVENT_T *event) |
| bool | Parse_Node_Ids (const char *epfx, INT *n_nodes, NODE_ID **node_ids) |
| void | Emit_Menu (INT n_items, const MENU_INFO *items) |
| void | Emit_Attr (const NODE_TYPE &nt, char **comma) |
| void | Emit_Attr (const EDGE_TYPE &et) |
| void | Menu_Basic_Do (const char *label) |
| DA_ACK | Menu_Set_Active () |
| void | Kill_Davinci () |
Private Attributes | |
| IO | _io |
| MEM_POOL * | _m |
| queue< EVENT_T > | _event_q |
| set< NODE_ID > | _node_def_set |
| set< NODE_ID > | _node_ref_set |
| Menu_info | _menu_state |
| bool | _basic_menu_added |
| bool | _in_event_loop |
| bool | _display_ok |
| bool | _usage_check |
| FTAG | _ftag_last |
| INT | _node_cnt |
| INT | _edge_cnt |
| pid_t | _pid |
Definition at line 375 of file DaVinci.h.
typedef UINT32 DaVinci::FTAG [private] |
typedef FTAG DaVinci::FTAGS [private] |
| DaVinci::DaVinci | ( | MEM_POOL * | m, | |
| FILE * | trace_fp = NULL, |
|||
| bool | usage_check = false | |||
| ) |
Definition at line 683 of file DaVinci.cxx.
References _basic_menu_added, _display_ok, _edge_cnt, _ftag_last, _in_event_loop, _io, _m, _node_cnt, _pid, _usage_check, close, Emit_Do(), errno, exit(), fdopen(), fork, fprintf(), FT_DAVINCI, getenv(), DaVinci::IO::Init(), INT, NULL, DaVinci::IO::Trace(), and Wait_For_Ack().

| DaVinci::~DaVinci | ( | ) |
Definition at line 760 of file DaVinci.cxx.
| DaVinci::DaVinci | ( | const DaVinci & | ) |
Definition at line 1032 of file DaVinci.cxx.
References _io, BASE_SET, EDGE_ID::dst, Emit_Attr(), FT_CHANGE_ATTR, DaVinci::IO::Out_Fmt(), EDGE_ID::src, Usage_Ok(), and Wait_For_Ack().

| DA_ACK DaVinci::Change_Attr | ( | const NODE_ID | node_id, | |
| const NODE_TYPE & | nt, | |||
| const char * | new_label = NULL | |||
| ) |
Definition at line 1010 of file DaVinci.cxx.
References _io, BASE_SET, comma, Emit_Attr(), FT_CHANGE_ATTR, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().
Referenced by Callback::Edge_Select().

| DA_ACK DaVinci::Emit_Ack | ( | const char * | line | ) | [inline, private] |
Definition at line 432 of file DaVinci.h.
References _io, NULL, DaVinci::IO::Out_Fmt(), and Wait_For_Ack().
Referenced by Emit_Do().

| void DaVinci::Emit_Attr | ( | const EDGE_TYPE & | et | ) | [private] |
Definition at line 600 of file DaVinci.cxx.
References EDGE_TYPE::_edge_color, EDGE_TYPE::_edge_dir, EDGE_TYPE::_edge_pattern, _io, comma, ED_BOTH, ED_INVERSE, ED_NONE, ED_NORMAL, ED_UNSET, EP_DASHED, EP_DOTTED, EP_DOUBLE, EP_SOLID, EP_THICK, EP_UNSET, fprintf(), NULL, DaVinci::IO::Out_Fmt(), and val.

| void DaVinci::Emit_Attr | ( | const NODE_TYPE & | nt, | |
| char ** | comma | |||
| ) | [private] |
Definition at line 548 of file DaVinci.cxx.
References NODE_TYPE::_border, NODE_TYPE::_hide, _io, NODE_TYPE::_node_color, NODE_TYPE::_node_shape, fprintf(), NB_DOUBLE, NB_SINGLE, NB_UNSET, NH_HIDE, NH_SHOW, NH_UNSET, NS_BOX, NS_CIRCLE, NS_ELLIPSE, NS_RHOMBUS, NS_TEXT, NS_UNSET, NULL, DaVinci::IO::Out_Fmt(), and val.
Referenced by Change_Attr(), New_Edge(), New_Node(), Node_Begin(), and Out_Edge().

| void DaVinci::Emit_Do | ( | const char * | line | ) | [inline, private] |
Definition at line 438 of file DaVinci.h.
References Emit_Ack(), and fprintf().
Referenced by DaVinci().

Definition at line 528 of file DaVinci.cxx.
References _io, _menu_state, DM_ACTIVE, DM_INACTIVE, INT, DaVinci::IO::Out_Fmt(), and Menu_info::Set().
Referenced by Menu_Create().

| static bool DaVinci::enabled | ( | bool | msg | ) | [inline, static] |
| void DaVinci::Event_Loop | ( | DaVinci_Callback * | cb_hook | ) |
Definition at line 774 of file DaVinci.cxx.
References _basic_menu_added, _display_ok, _event_q, _in_event_loop, _io, EVENT_T::com_error, DaVinci_Callback::Edge_Select(), EK_COM_ERROR, EK_OK, EK_QUIT, EK_SEL_EDGE, EK_SEL_MENU, EK_SEL_NODES, fprintf(), MENU_INFO::id, DaVinci::IO::In_Line(), INT, EVENT_T::kind, Menu_Basic_Do(), Menu_Create(), DaVinci_Callback::Menu_Select(), N_MENU_BASIC, DaVinci_Callback::Node_Select(), NULL, Parse_Event(), EVENT_T::sel_edge, EVENT_T::sel_menu, EVENT_T::sel_nodes, and EVENT_T::u.
Referenced by dV_view_whirl().

| void DaVinci::Exit_Event_Loop | ( | ) |
Definition at line 856 of file DaVinci.cxx.
References _in_event_loop.
Referenced by Menu_Basic_Do().
| const char * DaVinci::Ft_Str | ( | const FTAG | ftag | ) | [private] |
Definition at line 279 of file DaVinci.cxx.
References FT_CHANGE_ATTR, FT_DAVINCI, FT_GRAPH_BEGIN, FT_GRAPH_END, FT_MENU_ACTIVATE, FT_MENU_CREATE, FT_MENU_DEACTIVATE, FT_NEW_EDGE, FT_NEW_NODE, FT_NODE_BEGIN, FT_NODE_END, FT_OUT_EDGE, FT_SHOW_MESSAGE, FT_SHOW_STATUS, FT_TITLE, FT_UPDATE_BEGIN, FT_UPDATE_END, and s.
Referenced by Usage_Error().
| void DaVinci::Graph_Begin | ( | ) |
Definition at line 928 of file DaVinci.cxx.
References _io, _node_cnt, BASE_SET, FT_GRAPH_BEGIN, DaVinci::IO::Out_Fmt(), and Usage_Ok().
Referenced by draw_whirl_tree().

| DA_ACK DaVinci::Graph_End | ( | ) |
Definition at line 988 of file DaVinci.cxx.
References _io, _node_def_set, _node_ref_set, _usage_check, fprintf(), FT_GRAPH_BEGIN, FT_GRAPH_END, FT_NODE_END, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().
Referenced by draw_whirl_tree().

| bool DaVinci::is_ok | ( | ) | const [inline] |
Definition at line 474 of file DaVinci.h.
References _display_ok.
| void DaVinci::Kill_Davinci | ( | ) | [private] |
Definition at line 668 of file DaVinci.cxx.
References _display_ok, _io, _pid, DaVinci::IO::Close(), INT, stat, and waitpid.

Definition at line 906 of file DaVinci.cxx.
References _menu_state, BASE_SET, DM_ACTIVE, FT_MENU_ACTIVATE, INT, Menu_Set_Active(), Menu_info::Set(), and Usage_Ok().

| void DaVinci::Menu_Basic_Do | ( | const char * | label | ) | [private] |
Definition at line 641 of file DaVinci.cxx.
References Exit_Event_Loop().
Referenced by Event_Loop().

Definition at line 889 of file DaVinci.cxx.
References _io, BASE_SET, Emit_Menu(), FT_MENU_CREATE, Menu_Set_Active(), NULL, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().
Referenced by dV_view_whirl(), and Event_Loop().

Definition at line 917 of file DaVinci.cxx.
References _menu_state, BASE_SET, DM_INACTIVE, FT_MENU_DEACTIVATE, INT, Menu_Set_Active(), Menu_info::Set(), and Usage_Ok().

| DA_ACK DaVinci::Menu_Set_Active | ( | ) | [private] |
Definition at line 649 of file DaVinci.cxx.
References _io, _menu_state, DM_ACTIVE, Menu_info::items, DaVinci::IO::Out_Fmt(), and Wait_For_Ack().
Referenced by Menu_Activate(), Menu_Create(), and Menu_Deactivate().

Definition at line 1072 of file DaVinci.cxx.
References _edge_cnt, _io, Emit_Attr(), FT_NEW_EDGE, FT_NEW_NODE, FT_UPDATE_BEGIN, DaVinci::IO::Out_Fmt(), and Usage_Ok().

Definition at line 1055 of file DaVinci.cxx.
References _edge_cnt, _io, _node_cnt, comma, Emit_Attr(), fprintf(), FT_NEW_NODE, FT_UPDATE_BEGIN, DaVinci::IO::Out_Fmt(), and Usage_Ok().

Definition at line 937 of file DaVinci.cxx.
References _edge_cnt, _io, _node_cnt, _node_def_set, NODE_TYPE::_type_name, _usage_check, comma, Emit_Attr(), fprintf(), FT_GRAPH_BEGIN, FT_NODE_BEGIN, FT_NODE_END, DaVinci::IO::Out_Fmt(), and Usage_Ok().
Referenced by draw_expr(), and draw_stmt().

| void DaVinci::Node_End | ( | ) |
Definition at line 980 of file DaVinci.cxx.
References _io, FT_NODE_BEGIN, FT_NODE_END, FT_OUT_EDGE, DaVinci::IO::Out_Fmt(), and Usage_Ok().
Referenced by draw_expr(), and draw_stmt().

| void DaVinci::operator= | ( | const DaVinci & | ) |
| void DaVinci::Out_Edge | ( | const EDGE_ID & | edge_id, | |
| const EDGE_TYPE & | edge_type, | |||
| const NODE_ID | dest_id | |||
| ) |
Definition at line 961 of file DaVinci.cxx.
References _edge_cnt, _io, _node_ref_set, EDGE_TYPE::_type_name, _usage_check, EDGE_ID::dst, Emit_Attr(), FT_NODE_BEGIN, FT_OUT_EDGE, DaVinci::IO::Out_Fmt(), EDGE_ID::src, and Usage_Ok().
Referenced by draw_expr(), and draw_stmt().

| bool DaVinci::Parse_Event | ( | const char * | line, | |
| EVENT_T * | event | |||
| ) | [private] |
Definition at line 459 of file DaVinci.cxx.
References EK_COM_ERROR, EK_OK, EK_QUIT, EK_SEL_EDGE, EK_SEL_MENU, EK_SEL_NODES, Event_Tbl, fprintf(), INT, EVENT_T::kind, N_EVENT, name, NULL, Parse_Edge_Id(), Parse_Menu_Label(), Parse_Node_Ids(), EVENT_T::sel_nodes, and EVENT_T::u.
Referenced by Event_Loop(), and Wait_For_Ack().

| const char * DaVinci::Parse_Menu_Label | ( | const char * | epfx | ) | [private] |
Definition at line 424 of file DaVinci.cxx.
References _menu_state, Menu_info::Add(), fprintf(), INT, len, MAX_MENU_LABEL_LEN, and NULL.
Referenced by Parse_Event().

Definition at line 360 of file DaVinci.cxx.
References _m, CXX_NEW_ARRAY, fprintf(), INT, NULL, and sp.
Referenced by Parse_Event().

| DA_ACK DaVinci::Show_Message | ( | const char * | msg | ) |
Definition at line 880 of file DaVinci.cxx.
References _io, BASE_SET, FT_SHOW_MESSAGE, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().

| DA_ACK DaVinci::Show_Status | ( | const char * | status | ) |
Definition at line 871 of file DaVinci.cxx.
References _io, BASE_SET, FT_SHOW_STATUS, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().

| DA_ACK DaVinci::Title | ( | const char * | title | ) |
Definition at line 862 of file DaVinci.cxx.
References _io, BASE_SET, FT_TITLE, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().
Referenced by dV_view_whirl().

| void DaVinci::Update_Begin | ( | ) |
Definition at line 1045 of file DaVinci.cxx.
References _edge_cnt, _io, _node_cnt, BASE_SET, FT_UPDATE_BEGIN, DaVinci::IO::Out_Fmt(), and Usage_Ok().

| DA_ACK DaVinci::Update_End | ( | ) |
Definition at line 1091 of file DaVinci.cxx.
References _edge_cnt, _io, FT_NEW_EDGE, FT_NEW_NODE, FT_UPDATE_BEGIN, FT_UPDATE_END, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().

Definition at line 308 of file DaVinci.cxx.
References _display_ok, _ftag_last, comma, fprintf(), FT_DAVINCI, and Ft_Str().
Referenced by Usage_Ok().

Definition at line 422 of file DaVinci.h.
References _display_ok, _ftag_last, and Usage_Error().
Referenced by Change_Attr(), Graph_Begin(), Graph_End(), Menu_Activate(), Menu_Create(), Menu_Deactivate(), New_Edge(), New_Node(), Node_Begin(), Node_End(), Out_Edge(), Show_Message(), Show_Status(), Title(), Update_Begin(), and Update_End().

| DA_ACK DaVinci::Wait_For_Ack | ( | ) | [private] |
Definition at line 330 of file DaVinci.cxx.
References _display_ok, _event_q, _io, EK_COM_ERROR, EK_OK, DaVinci::IO::In_Line(), EVENT_T::kind, NULL, and Parse_Event().
Referenced by Change_Attr(), DaVinci(), Emit_Ack(), Graph_End(), Menu_Create(), Menu_Set_Active(), Show_Message(), Show_Status(), Title(), and Update_End().

bool DaVinci::_basic_menu_added [private] |
Definition at line 410 of file DaVinci.h.
Referenced by DaVinci(), and Event_Loop().
bool DaVinci::_display_ok [private] |
Definition at line 412 of file DaVinci.h.
Referenced by DaVinci(), Event_Loop(), is_ok(), Kill_Davinci(), Usage_Error(), Usage_Ok(), and Wait_For_Ack().
INT DaVinci::_edge_cnt [private] |
Definition at line 416 of file DaVinci.h.
Referenced by DaVinci(), New_Edge(), New_Node(), Node_Begin(), Out_Edge(), Update_Begin(), and Update_End().
queue<EVENT_T> DaVinci::_event_q [private] |
Definition at line 405 of file DaVinci.h.
Referenced by Event_Loop(), and Wait_For_Ack().
FTAG DaVinci::_ftag_last [private] |
Definition at line 414 of file DaVinci.h.
Referenced by DaVinci(), Usage_Error(), and Usage_Ok().
bool DaVinci::_in_event_loop [private] |
Definition at line 411 of file DaVinci.h.
Referenced by DaVinci(), Event_Loop(), and Exit_Event_Loop().
IO DaVinci::_io [private] |
Definition at line 402 of file DaVinci.h.
Referenced by Change_Attr(), DaVinci(), Emit_Ack(), Emit_Attr(), Emit_Menu(), Event_Loop(), Graph_Begin(), Graph_End(), Kill_Davinci(), Menu_Create(), Menu_Set_Active(), New_Edge(), New_Node(), Node_Begin(), Node_End(), Out_Edge(), Show_Message(), Show_Status(), Title(), Update_Begin(), Update_End(), and Wait_For_Ack().
MEM_POOL* DaVinci::_m [private] |
Definition at line 403 of file DaVinci.h.
Referenced by DaVinci(), and Parse_Node_Ids().
Menu_info DaVinci::_menu_state [private] |
Definition at line 409 of file DaVinci.h.
Referenced by Emit_Menu(), Menu_Activate(), Menu_Deactivate(), Menu_Set_Active(), and Parse_Menu_Label().
INT DaVinci::_node_cnt [private] |
Definition at line 415 of file DaVinci.h.
Referenced by DaVinci(), Graph_Begin(), New_Node(), Node_Begin(), and Update_Begin().
set<NODE_ID> DaVinci::_node_def_set [private] |
Definition at line 407 of file DaVinci.h.
Referenced by Graph_End(), and Node_Begin().
set<NODE_ID> DaVinci::_node_ref_set [private] |
Definition at line 408 of file DaVinci.h.
Referenced by Graph_End(), and Out_Edge().
pid_t DaVinci::_pid [private] |
Definition at line 417 of file DaVinci.h.
Referenced by DaVinci(), and Kill_Davinci().
bool DaVinci::_usage_check [private] |
Definition at line 413 of file DaVinci.h.
Referenced by DaVinci(), Graph_End(), Node_Begin(), and Out_Edge().
1.6.1