001    // GraphLab Project: http://graphlab.sharif.edu
002    // Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology
003    // Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/
004    
005    package graphlab.plugins.visualization.corebasics.extension;
006    
007    import graphlab.graph.atributeset.GraphAttrSet;
008    import graphlab.graph.graph.GraphModel;
009    import graphlab.platform.core.BlackBoard;
010    import graphlab.plugins.visualization.corebasics.animator.GeneralAnimator;
011    import graphlab.ui.AbstractExtensionAction;
012    
013    /**
014     * @author Rouzbeh Ebrahimi
015     * Email: ruzbehus@gmail.com
016     */
017    public class VisualizationExtensionAction extends AbstractExtensionAction<VisualizationExtension> {
018        public VisualizationExtensionAction(BlackBoard bb, VisualizationExtension sp) {
019            super(bb, sp);
020        }
021    
022        public String getParentMenuName() {
023            return "Visualization";
024        }
025    
026        public void performExtension() {
027            GeneralAnimator t;
028            VisualizationExtension ve = getTarget();
029            GraphModel g = (GraphModel) blackboard.getData(GraphAttrSet.name);
030            ve.setWorkingGraph(g);
031            t = new GeneralAnimator(ve.getNewVertexPlaces(), g, blackboard);
032            t.start();
033        }
034    }