The XmGraph widget provides the application developer with the ability to display any group of widgets as a graph, with each widget representing a node. The graph can be disconnected, as well as contain cycles. The arcs used to connect the nodes are instances of an XmArc widget, developed specifically for use with the XmGraph widget. Arcs may be undirected, directed or bi-directed.