Manual

Main API Commands Overview

# API Commands Overview

Help about API syntax.

API commands are built by applying the following rules. A single API command uDG_command can be sent to the API, i.e. one after the other. A list of API commands uDG_commands is used in an initialization file that can be loaded in uDraw(Graph) with command-line option -init.

## Grammar with Syntax Rules

uDG_commands ::= | List of API commands.
| [uDG_commands1]. |
uDG_commands1::= |
| uDG_command | uDG_command,uDG_commands1.
uDG_command ::= | Commands of the API (top-level).
| graph(graph_cmd) | Graph category. Details.
| | multi(multi_cmd) | Multi category. Details.
| | menu(menu_cmd) | Menu category. Details.
| | app_menu(app_menu_cmd) | Appl. menu category. Details.
| | gui(gui_cmd) | GUI category. Details.
| | set(set_cmd) | Set category. Details.
| | window(window_cmd) | Window category. Details.
| | tcl(tcl_cmd) | Tcl category. Details.
| | special(special_cmd) | Special category. Details.
| | visual(visual_cmd) | Visual category. Details.
| | drag_and_drop(drag_and_drop_cmd) | Drag and Drop category. Details.
| | nothing. | No operation, for synchronization.
graph_cmd ::= | Send and update graphs. Details.
| new(graphterm) | Send new graph. Details.
| | new_placed(graphterm) | As above, but with better layout. Details.
| | update(node_updates,edge_updates) | Send graph updates. Details.
| | mixed_update(mixed_updates) | Node / edges in a list. Details.
| | change_attr(attr_changes) | Change attributes. Details.
| | update_and_change_attr(node_updates,edge_updates,attr_changes)
Combination of both. Details.
| | mixed_update_and_change_attr(mixed_updates,attr_changes)
Node / edges in a list. Details.
| | change_type(type_changes). | Change type. Details.
multi_cmd ::= | For multi-graph mode. Details.
| new_context | Open graph context. Details.
| | open_context(context_id) | As above, but ID is given. Details.
| | set_context(context_id). | Switch to context. Details.
| | set_context(context_id,window_id). | Switch to context+window. Details.
menu_cmd ::= | Call functions of menu. Details.
| file(file_menu_cmd) | File menu category. Details.
| | view(view_menu_cmd) | View menu category. Details.
| | navigation(navigation_menu_cmd) | Navigation menu category. Details.
| | abstraction(abstraction_menu_cmd) | Abstraction menu category. Details.
| | layout(layout_menu_cmd) | Layout menu category. Details.
| | option(option_menu_cmd). | Option menu category. Details.
file_menu_cmd ::= | File menu functions. Details.
| new | Clear graph. Get Details.
| | open_graph(filename) | Load graph from file. Details.
| | open_graph_placed(filename) | As above, but with better layout. Details.
| | open_status(filename) | Load status from file. Details.
| | save_graph(filename) | Save graph as term. Details.
| | save_status(filename) | Save graph as status. Details.
| | print(filename) | Save as PostScript. Details.
| | print_to_printer | Print graph on printer. Details.
| | print | Open print dialog. Details.
| | export(boolean,string,filename) | Export graph to file. Details.
| | export | Open export dialog. Details.
| | close | Close graph window. Details.
| | exit. | Exit uDraw(Graph). Details.
view_menu_cmd ::= | View menu functions. Details.
| open_new_view | Open additional view. Details.
| | open_survey_view | Open survey view. Details.
| | full_scale | Set scale to 100%. Details.
| | fit_scale_to_window | Set scale to fit. Details.
| | scale(integer) | Set scale to integer. Details.
| | scale | Open Scale dialog. Details.
| | graph_info | Open Graph Info dialog. Details.
| | uDrawGraph_info. | Open uDraw(Graph) Info dialog. Details.
navigation_menu_cmd ::= | Navigation menu functions. Details.
| select_parents(node_ids) | Select parents of nodes. Details.
| | select_parent(edge_id) | Select parent of edge. Details.
| | select_siblings(node_ids) | Select siblings of nodes. Details.
| | select_children(node_ids) | Select children of nodes. Details.
| | select_child(edge_id) | Select child of edge. Details.
| | navigator(node_id,direction,boolean) | Navigate in graph. Details.
| | navigator | Open Navigator dialog. Details.
| | find(string,boolean,boolean) | Find a node. Details.
| | find. | Open Find dialog. Details.
abstraction_menu_cmd ::= | Abstraction menu functions. Details.
| hide_subgraph(node_ids) | Hide subgraphs of nodes. Details.
| | show_subgraph(node_ids) | Show subgraphs of nodes. Details.
| | restore_all_subgraphs | Show all hidden subgraphs. Details.
| | hide_edges(node_ids) | Hide edges of nodes. Details.
| | show_edges(node_ids) | Show edges of nodes. Details.
| | restore_all_edges. | Show all hidden edges. Details.
layout_menu_cmd ::= | Layout menu functions. Details.
| improve_all | Start layout algorithm. Details.
| | improve_edges | As above, but only dummy nodes. Details.
| | improve_spacing | As above, but keeps node order. Details.
| | improve_selected | As above, but only selected nodes. Details.
| | improve_nodes(node_ids) | As above, but only supplied nodes. Details.
| | improve_spacing | Compact graph layout. Details.
| | orientation(orientation). | Switch orientation. Details.
option_menu_cmd ::= | Option menu functions. Details.
| layout_algorithm | Open this option dialog. Details.
| | layout_settings | Open this option dialog. Details.
| | general_settings | Open this option dialog. Details.
| | save. | Save options. Details.
app_menu_cmd ::= | Create menus / icons. Details.
| create_menus(menus) | Add menus in Edit. Details.
| | create_icons(icons) | Add icons in icon-bar. Details.
| | activate_menus(menu_ids) | Enable menus. Details.
| | activate_icons(icon_ids) | Enable icons. Details.
| | control_file_events. | Get events of File menu. Details.
gui_cmd ::= | Configure user interface. Details.
| configure(filename) | Read configuration file. Details.
| | activate_menus(menu_ids) | Enable menus. Details.
| | set_radio_menus(menu_ids) | Set value in radio menus. Details.
| | activate_icons(icon_ids) | Enable icons. Details.
| | set_radio_icons(icon_ids). | Set value in radio icons. Details.
set_cmd ::= | Set options. Details.
| layout_accuracy(integer) | Layout algorithm param. Details.
| | keep_nodes_at_levels(boolean) | Keep nodes at levels. Details.
| | manual_layout(manual_constraints) | Manual layout constraints. Details.
| | font_size(integer) | Font size of nodes. Details.
| | edge_style(spline_drawing) | Draw splines or not. Details.
| | edge_text_black(boolean) | Draw unselected edges black or not. Details.
| | gap_width(integer) | Min. node distance. Details.
| | gap_height(integer) | Min. level distance. Details.
| | multi_edge_gap(integer) | Distance for multi-edges. Details.
| | self_edge_radius(integer) | Distance for self-edges. Details.
| | scrolling_on_selection(boolean) | Auto focusing node. Details.
| | animation_speed(integer) | Speed of animation. Details.
| | browser(string) | Browser path. Details.
| | documentation(string) | Online documentation URL. Details.
| | print(string) | Print command. Details.
| | measure(measures) | Measures in cm or inch. Details.
| | tooltip_delay(integer) | Delay for tooltips in ms. Details.
| | rules_first(boolean). | Attr. evaluation order. Details
window_cmd ::= | Control windows. Details.
| title(string) | Set window title. Details.
| | show_message(lang_string) | Show text in left footer. Details.
| | show_status(lang_string) | Show text in right footer. Details.
| | position(integer,integer) | Window origin x / y. Details.
| | size(integer,integer) | Window width / height. Details.
| | raise | Bring window to top. Details.
| | iconify | Hide window. Details.
| | deiconify | Show window again. Details.
| | activate | Enable interaction. Details.
| | deactivate | Disable interaction. Details.
| | background(string) | Window background color. Details.
| | file_browser(boolean,lang_string,lang_string,string,string,btypes,boolean).
Show file browser. Details.
tcl_cmd ::= | Tcl / Tk interface. Details.
| eval(string) | Eval Tcl / Tk script. Details.
| | eval_file(filename). | As above, but reads script from file. Details.
special_cmd ::= | Special commands. Details.
| select_nodes(node_ids) | Select specified nodes. Details.
| | select_edge(edge_id) | Select specified edge. Details.
| | focus_node(node_id) | Scroll to specified node. Details.
| | focus_node_animated(node_id) | As above, but with animation. Details.
| | show_url(string) | Show HTML page in browser. Details.
| | add_language(filename) | Add language file. Details.
| | version. | Return version info. Details.
visual_cmd ::= | Visualization definitions. Details.
| new_rules(visual_rules) | Define new rules. Details.
| | add_rules(visual_rules). | Add or overwrite rules. Details.
drag_and_drop_cmd ::= | Drag and Drop. Details.
| dragging_on | Switch drag and drop on. Details.
| | dragging_off | Switch drag and drop off. Details.
| | new_node_at_coord(node_update) | New node at drop pos. Details.
| | new_edge_and_node_at_coord(node_update,edge_update).
New node and edge at drop position. Details.