@on_trait_change("<STR_LIT>")<EOL><INDENT>def redraw_canvas(self):<DEDENT>
from xdot_parser import XdotAttrParser<EOL>xdot_parser = XdotAttrParser()<EOL>canvas = self._component_default()<EOL>for node in self.nodes:<EOL><INDENT>components = xdot_parser.parse_xdot_data( node._draw_ )<EOL>canvas.add( *components )<EOL>components = xdot_parser.parse_xdot_data( node._ldraw_ )<EOL>canvas.add( *components )<EOL><DEDENT>for edge in self.edges:<EOL><INDENT>components = xdot_parser.parse_xdot_data( edge._draw_ )<EOL>canvas.add( *components )<EOL>components = xdot_parser.parse_xdot_data( edge._ldraw_ )<EOL>canvas.add( *components )<EOL>components = xdot_parser.parse_xdot_data( edge._hdraw_ )<EOL>canvas.add( *components )<EOL>components = xdot_parser.parse_xdot_data( edge._tdraw_ )<EOL>canvas.add( *components )<EOL>components = xdot_parser.parse_xdot_data( edge._hldraw_ )<EOL>canvas.add( *components )<EOL>components = xdot_parser.parse_xdot_data( edge._tldraw_ )<EOL>canvas.add( *components )<EOL><DEDENT>self.component = canvas<EOL>self.vp.request_redraw()<EOL>
Parses the Xdot attributes of all graph components and adds
            the components to a new canvas.