m_vis.putAction( FULL_PAINT_ACTION, fullPaint );
// animate paint change
//ActionList animatePaint = new ActionList( 0 );
ActionList animatePaint = new ActionList();
animatePaint.add( new ColorAnimator( GRAPH_NODES ) );
animatePaint.add( new RepaintAction() );
m_vis.putAction( ANIMATE_PAINT_ACTION, animatePaint );
// create the GRAPH layout action
NodeLinkTreeLayout treeLayout = new NodeLinkTreeLayout( GRAPH, orientation, 40, 0, 8 );
treeLayout.setLayoutAnchor( new Point2D.Double( 25, 300 ) );
m_vis.putAction( LAYOUT_ACTION, treeLayout );
CollapsedSubtreeLayout subLayout = new CollapsedSubtreeLayout( GRAPH, orientation );
m_vis.putAction( SUB_LAYOUT_ACTION, subLayout );
// create the filtering and layout
ActionList filter = new ActionList();
filter.add( new ExtendedFisheyeTreeFilter( GRAPH, 2 ) );
filter.add( new FontAction( GRAPH_NODES, FontLib.getFont( "Tahoma", 14 ) ) );
filter.add( treeLayout );
filter.add( subLayout );
filter.add( textColor );
filter.add( nodeColor );
filter.add( edgeColor );
filter.add( usesColor );
filter.add( usesArrow );
m_vis.putAction( FILTER_ACTION, filter );
// animated transition
AutoPanAction autoPan = new AutoPanAction();
ActionList animate = new ActionList( 750 );
animate.setPacingFunction( new SlowInSlowOutPacer() );
animate.add( autoPan );
animate.add( new QualityControlAnimator() );
animate.add( new VisibilityAnimator( GRAPH ) );
animate.add( new LocationAnimator( GRAPH_NODES ) );
animate.add( new ColorAnimator( GRAPH_NODES ) );
animate.add( new RepaintAction() );
m_vis.putAction( ANIMATE_ACTION, animate );
m_vis.alwaysRunAfter( FILTER_ACTION, ANIMATE_ACTION );
m_vis.putAction( AUTO_ZOOM_ACTION, new AutoZoomAction() );